Substance 3D Painter にて、ある位置(Position)を基準にして色を塗りたいことがある。
Position マップを作成する
- F8 キーを押下する
(もしくは、テクスチャセットの設定にて、「メッシュマップをベイク」をクリックする) - メッシュマップベイカーにて Position にチェックが入っていることを確認する
- パラメータを調整する
- モードを「1つの軸」に設定する
- 軸を「Y」に設定する
- スケールの正規化を「Per Material」に設定する
(他のマテリアルと高さを合わせる必要があれば、「シーン内のすべて」のままにする)
- ベイクする
- 「ペインティングモードに戻る」をクリックする(もしくは、F9 キーを押下する)

グラデーションに塗る
- 適当に下塗りする

- 塗りつぶしレイヤーを追加する
(参考画像では、ふんわりとした発光を表現したいので、Blend モードを Screen に設定している) - 適当な色を設定する
- 黒のマスクを追加する
- 黒のマスクに塗りつぶしを追加する
- 塗りつぶしのグレースケールに Position マップを設定する

- Gradient Dynamic フィルタを追加する
- 画像の入力にて、適当なプロシージャルテクスチャを設定する
(参考画像では、「Gradient Linear 3」を利用している) - パラメータを調整する

所感
Gradient Dynamic ではなく Gradient フィルタを利用する方法もあるが、パラメータの調整が非常に難しく、頭が混乱する。そのため、個人的に、Gradient Dynamic フィルタでグラデーションのプロシージャルテクスチャを利用する方法を多用している。