🔆

もうライティングに困らないNDMF系ツールの紹介・導入解説

に公開

ライティングについて気にしたことはありますか?
私の周りのフレンドさんで、顔と髪の毛などのライティングが統一されていない、色味が違う人を結構見かけます。
でも、ほとんどの人はなぜ色合いが違うのか、どう統一すれば良いのかわからないと思います。
そこで、この記事ではその原因と解決方法を書いていきますので、よければ見に行ってください🌟
原因とか別に知らなくて良いって人はすぐ下の部分だけ読んでね

ライティングの統一方法

まず必要なツール群を挙げます

これらをプロジェクトにインポートしてください。

プロジェクトを開いたら、

  • アバター本体を選択し、[Add component]から[MA Mesh Settings]を追加します。
    キプの例キプの例
  • [Anchor Override]及び[ルートボーン]の箇所に、アバターのHipボーンをドラッグ・アンド・ドロップしてください。
    Hipsおしり
  • [YozoLab_Items/lilycalInventory-template]から、「[liltoon] Fix Lighting」プレハブをアバター直下にドラッグ・アンド・ドロップしてください。
    色々あるけど...色々あるけど...
    D&DしたよD&Dしたよ

これで、おしまいです。お疲れ様でした!

発展・原理

MA Mesh Settingsについて

このコンポーネントは、ModularAvatarの付属コンポーネントであり、(原則)このコンポーネントの付いたオブジェクト配下のすべてのオブジェクトに対して、設定されたバウンズとライトプローブアンカーを適用します。
例外として、配下のオブジェクトに[MA Mesh Settings]があり、設定モードが「設定」である場合にのみ上書きが発生しません。何か高度なギミックのある衣装である以外は気にすることの無い項目だと思います。
↓詳しいことは公式ドキュメントをお読みください↓
https://modular-avatar.nadena.dev/ja/docs/reference/mesh-settings

lilycalInventory及びテンプレート、[liltoon] Fix Lightingについて

lilycalInventoryはliltoonの作者さん、lilさんが作ったNDMF系ツールであり、主にアバターのExメニューを作成するツールなのですが、付属する「マテリアルのプロパティを操作する」系のコンポーネントが非常に強力です。
今回使った「[liltoon] Fix Lighting」は、アバターのすべてのマテリアルに対して
指定されたマテリアルの指定されたプロパティで上書きするという物です。

これがとて~~~~~~~~~~~~も便利!
発展した活用法として、「アバターの距離フェード統一」「アバターのアウトライン統一」「アバターのRimShade統一」がこのコンポーネント一つで実現可能です。
そして、それらを可能にしてあとちょっと色々できるようにしたのが「lilycalInventory テンプレート」です。
逆光ライトもメニューで作って調節することができるのでとても重宝しています。

機能的にはLight Limit Changer For MAと同じですね、無料で使えるLLC。
ただ、LLCは追加でPoiyomiとUnlitWFに対応していて、消費パラメーター圧縮ギミックもあるみたいですね。
ただまあlilycalInventoryもPoiyomiとか弄れるのかなぁ、マテリアルプロパティだし...

また、lilycalInventoryは他のメニュー生成系ツールともう一つ違う利点があります。
それが、DirctBlendTreeを使ったレイヤー圧縮機能!
実は、MAにもあるExMenu生成機能ですが、これは特に設定しない限り一つのオブジェクトに対して一つのアニメーションレイヤーが生成されます。
アニメーションレイヤーはその数の分負荷が大きくなるので、たくさんあるのは避けたいところ...
ですが、lilycalInventoryで作ったExMenuならいくらオブジェクトを増やしても
1レイヤーで済みます。つまり、負荷が軽くなる!!!DBT便利。

以上を踏まえて、今回の手順で実行したのは
・アバターの全MeshRendererにルートボーンとAnchorOverrideの上書き
・アバターの全liltoonマテリアルのライティング設定を上書き
をすることでライティングの統一をしています。

ただし!!!!!!!!!!!!!
これはライティングの統一であって、影などでまた色味が違ったりしてきます。
それもlilycalInventoryを使えばどうにかなる場合がありますが、試行錯誤してみてください!

よきVRChatライフを~🌟

Discussion