CloverPaint雑記

CloverPaintの解説・開発状況・内部仕様・利用法などについてつらつらと

ブラシ作成指南(その3) ~動的パラメータ設定

すでに概観で少し触れていますが、今回は動的パラメータ設定について少し詳しく見ていくことにします。

f:id:CloverPaint:20131112175224p:plain

この 図ではパラメータ設定用のボタンの左上が点灯しています。

これは内部に有効な関数カーブが存在する事を示しています。

 

 

動的パラメータ設定とは、各種パラメータをストローク中にアニメーション(動的に変化)させることができる機能です。

ただし、パラメータの右端に図のような赤丸で囲んだボタンが付いているパラメータに限られます。

動的パラメータ設定では、筆圧やストローク速度等の入力値に対して、どのようにアニメーションさせるか(そのパラメータの出力値を変化させるか)を関数のカーブとして設定します。

これとは別に、アニメーションには特に何の入力もなくても自動的に起きるものがありますが、これはジッターと呼び、Clover Paintでは別に扱います。

 

関数カーブの入力側に使われる外部トリガには以下のものが利用できます。

f:id:CloverPaint:20131116215353p:plain

・筆圧(通常は筆圧検知に対応したデジタイザーが必要)

・速度(ストロークの速度)

・傾き(現状Androidで利用できるのはCintiq Companion Hybridのみ)

・エッジ(入り効果)

・時間(入り効果)

・移動距離(入り効果)

・エッジ(抜き効果)

・時間(抜き効果)

・移動距離(抜き効果)

・ストローク時間位置(入り抜き効果)

・ストローク移動位置(入り抜き効果)

 

普通、よく使われるのは筆圧でしょう。

「ペン太さ」パラメータに対して「筆圧」 のカーブを設定すれば、「筆圧」の入力によって「ペン太さ」の出力を変化させることができるわけです。

エッジとはストローク中ペン座標の末端ポイント2点を結んだ線分にかかる効果です。

 

関数カーブは複数同時に設定することができます。そのとき、最終的な出力値はそれらの関数カーブをすべて乗算したものになります。 

 

カーブ指定方法

CBSv1では効果のかかる比率と、効果のかかり方の硬さ(指数関数を使ったカーブ)のパラメータ指定による簡単な指定方法しかなかったのですが、CBSv2ではスプラインや自由曲線によりS字型やより複雑なカーブを指定できるようになっています。

ただし、ブラシデータのコンパクトさとしては

硬さ指定>>スプライン>自由曲線

となりますので、特に必要なければ硬さ指定で済ませるのが良いでしょう。 

 

ちなみにスプライン・自由曲線での指定では、グラフを直接触ってカーブの編集ができます(スプラインでの直接編集はAndorid 4.0以降+デジタイザーが必要)

 

2-passストローク

一部入力に使われる外部トリガの利用には、2-passストロークスイッチをONにする必要があります。(関連性が高いため内部に入っていますが、これは選択したペン太さ等のパラメータに対するスイッチではなく、ブラシ全体に対する設定となります)

これはストローク全体の最終的な(または終了地点からの)長さや時間を利用して、その中の位置でアニメーションさせるために、ストロークが終わるまで計算が始められないタイプの外部トリガです。

2-passストロークを有効にすると、リアルタイムでの正確なストローク描画はなくなり、ポリゴンで近似した内容が描画され、ペンを離した時点で再度最初からストロークを描画するようになります。

 

最小値制限

出力値がここで指定した数値以下にならないよう、制限をかけることができます。比率設定で最低値制限に0.2を指定すれば、ペン太さが50の場合、50*0.2=10以下にならないようになります。絶対値設定と両方指定する事もできます。

ただし、最小値制限は入り抜き系の効果には適用されません。

 

 

最後に

動的パラメータ設定のカーブは書き味に大きく影響します。

私はGALAXY Note 10.1を開発機として利用し、スタイラス設定でマスター筆圧カーブを少し硬めにした上で組み込みブラシを作成していますが、同じような電磁誘導式スタイラスでも端末毎に筆圧カーブの特性は大きく異なるのが通常です。

システム標準の組み込みブラシはあくまでサンプルとして考え、自分が使い易いよう関数カーブを触ってみることをおすすめします。設定がある部分はボタンが点灯していますので、それを開いてみて自分好みに調整するだけのことです。