見出し画像

[Unity] liltoonで眉を髪の前に出しつつfake syadowで肌に落ちる髪の影も出す


つまりこういうこと。

眉とか睫毛とかが髪を貫通しつつ、髪の影が肌に落ちて良い感じになっている。

この2つの情報を組合わせる。


髪のマテリアルに関しては最終的にこんな感じになる。最初に髪、次に透明度調整用の半透明影の髪、最後にFakeShadowマテリアル。

上記の記事を引用しつつ一部改変する。眉を前に出し、髪の影を肌に載せる場合、下記になる。

1. 眉毛のマテリアルを選択
2. 詳細設定からステンシル設定を開く
3. Refの数値を0以外にし、PassをReplaceにする(輪郭線も使ってる場合は同様にする)
4. 髪のマテリアルを選択
5. Refの数値を眉で設定したものに合わせ、CompをNotEqualにする
6. レンダリング設定からRenderQueueの数値を肌のマテリアルより大きい数値にする
7. 髪のマテリアルを複製
8. 髪のメッシュのMaterialsのSizeを2に増やし、Element 1の方に複製したマテリアルを割り当てる
9. 複製したマテリアルを選択
10. 透過モードを半透明にする
11. シェーダーを_lil/[Optional] lilToonOverlayに変更
12. Refの数値を眉で設定したものに合わせ、CompをEqualにする
13. 透明度を調整する

これでまず髪の半透明化が完了する。次に髪の影を肌に乗せる。基本はマネしていく。

1.FakeShadow用に髪のマテリアルを複製し、シェーダーをFakeShadowに。髪メッシュに3つめのマテリアルスロットを作り適応する。
2.FakeShadowマテリアルのステンシル設定のRefを肌と同じ値に。CompをEqualに。私の場合は肌とFakeShadowのRefは1に、眉や髪のRefは2にしている。
3.RenderQueueを髪よりも上に設定。
4.この時点で前髪の描写が壊れる。前髪マテリアルのpassをzeroに(keepだと壊れるくさい)。

壊れた状態

あとは記事の通りに設定していく。先人達の知恵に感謝


この記事が気に入ったらサポートをしてみませんか?