真面目な3DCGTips - 複数のレイヤーでマスクを共有する

SubstancePainterにおいて複数のレイヤーに対してマスクを共有(同期)させる方法

コピーペーストでもマスクを使い回すことはできますが、マスク調整する度にコピペしなおすのは面倒です。
下記の方法であればマスク情報を共有しつつ片方のマスクには補正を掛けてマスク調整するといったこともできます。

結論から先に知りたい人のためのまとめ

  • マスクにAnchorPointを設定
  • 別レイヤーのマスクに塗りつぶしを設定
  • 塗りつぶしに上記のAnchorPointを指定

ベースのシーン

塗りつぶしレイヤーのマスクにペイントしてHeight情報を持たせています。


カラーを塗る

Heightをペイントした所にColorも適用してみます。
Heightのレイヤーにカラーをそのまま適用するとボケのせいで塗装の輪郭もぼやけてしまいます。
そこでHeightはボケたまま、Colorはクッキリ出るようにしてみます。

HeightのマスクにAnchorPointを追加

Heightレイヤーのマスクを右クリックして、一番下の「アンカーポイントを追加」をクリック

マスクに錨マークのアンカーポイントができます。

Colorのマスクに塗りつぶしを追加

塗りつぶしレイヤーを新たに追加し、マスクにも塗りつぶしを追加します。

マスクの塗りつぶしプロパティでAnchorPointを指定

マスクの方の塗りつぶしプロパティにある、grayscale 均一カラーという所をクリック。
AnchorPointのタブに移動し、先程追加したAnchorPointを指定します。

これでマスクがHeightレイヤーのマスクを参照するようになりました。

Colorレイヤーのみマスク調整

プロパティにレベル補正の設定が出ますので、これでマスクの強弱を調整することができます。
もちろんマスクにフィルターを追加して調整を行うことも可能です。

Heightレイヤーのマスクに描き込む

AnchorPointで同期していますので、Heightレイヤーのマスク情報が変わればColorレイヤーのマスクにも反映されます。

逆に反映させたくない情報はAnchorPointの上に追加すればOKです。