今回試した線の強弱のやり方なんかを。
基本はstrokeFXを使用して入力ソースに応じて太さを変えてます。
その入力ソースは何を使うかとなると、法線やジオメトリ値では運任せな結果になってしまって自由にコントロールできない。
そこでオブジェクトにウェイトマップを作ってやり、そのウェイト値を入力ソースにすれば任意に太さをコントロールできるはず。
というわけでまずはモデルにウェイトマップを設定。
アゴやヒジ、ヒザのように比較的急角度になる部分は線が細くなるようにウェイトを100%に、逆にまっすぐな部分は太くなるように-100%を入れたりしてますが結構いいかげんです。
作成したモデルをレイアウトに持っていき、まずはサーフェイスの設定。
strokeFXの入力ソースにはウェイトマップは無いので、ウェイト値を別のサーフェイスパラメータに出力してやる必要があります。
今回選んだのはサーフェイス色。
サーフェイス色のテクスチャを開き、ウェイトマップのグラディエントを作成。
-100%で黒、100%で白になるように設定します。
この状態で試しにレンダリングするとこんな感じに。
また、線を出すためにEdgeTracerをセットするのも忘れずに。
あとはToonTracerの設定パネルを開き、ペン太さのstrokeFXを設定。
グラディエントの入力ソースに「レンダイメージの輝度」を選択し、キーを設定。
今回は0.0の部分で2.5px、0.5で1.5px、1.0で0.5pxに設定。
あとはオプションで出力をアルファに設定、アンチエイリアスをx4にしてレンダリングすればウェイトに応じて強弱のついた線が出来上がり。
ただ、この方法だとレンダリングイメージを入力ソースにしてしまっているので、このあとCelPainterをセットして再度イメージだけレンダリングしないといけないのが面倒。
スペシャルバッファが使えれば一番いいんだけど、今のLWではスペシャルバッファにテクスチャやエンベロープが無いのでなんとも……
シェーダーから書き込みもできないし、数も4つ固定だったりとなぜかここだけ5.6の頃の仕様を引きずってるようで使いにくい。
このへんは何とかできないかと思案中……