【仕事/Live2D/メモ】1つのパーツを2つ以上のand条件でマスクする
Live2Dモデリングの備忘録。
あるパーツを他のパーツ上だけで表示したい時はマスクを使用するが、1つのパーツを2つ以上のパーツが同時に重なる箇所でのみ表示したい場合は少々手順が複雑になる。
まずは瞳を白目の上でだけ表示したい場合など、1:1のパターン。
この場合は瞳関連のパーツに、白目でマスクをかけると解決する。
1:1のマスクならばこれでいいのだが、ここに条件となるパーツが
加わると途端にややこしくなる。
この場合は「瞳の上でだけ表示されるパーツ」として影を用意する。
単純に瞳でマスクしても、影が白目からはみ出してしまう。
条件はあくまで「瞳のパーツがある範囲上のみに影を表示する」であり、白目は無視されてしまった。
では、白目と瞳の両方でマスクするとどうなるか。
これはCubismEditorの内部処理では、マスクの同時指定はorで繋がってしまうことが原因。
つまり、以下の状態。
こちらの意図としては、両方の条件を満たす箇所にのみ表示して欲しい。
残念ながら現在のCubismEditorでは、マスクのand条件は指定できないため、設定の変更のみでは解決できない。
ただし以下のようなパーツを2つほど追加することで、正しくマスクすることができる。
各パーツに、このマスク用パーツをマスク反転で指定する。
また、マスク用パーツは不透明度を0%に設定。
すると条件と結果は以下のようになる。
無事、理想の結果となった。
ただし瞳の移動や瞬きの動きをつける際、マスク用パーツも対応させる必要がある。
欲を言えばCubismEditor側にマスク指定の自由度を上げて欲しいところだが、他の機能がばんばん強化されているのでこれくらいは手元で対応したい。
使いこなせば自由度の高くなるテクニックなので、目以外でも活用できる箇所は多いと思う。
他にand条件マスクで有用なテクニックがあれば、コメントいただけると嬉しい。
この記事が気に入ったらサポートをしてみませんか?