IMaterialDescriptorGenerator
glTF => IMaterialDescriptorGenerator => MaterialDescriptor => UnityEngine.Material
IMaterialDescriptorGenerator
を実装して importer に渡すことで, Material の生成をカスタマイズできます。
UniGLTF/Runtime/UniGLTF/IO/MaterialIO/Import/IMaterialDescriptorGenerator.cs
get...
UniGLTF/Runtime/UniGLTF/IO/MaterialIO/Import/MaterialDescriptor.cs
get...
IMaterialDescriptorGenerator.Get の実装
IMaterialDescriptorGenerator.Get
は glTF の material 情報から MaterialDescriptor を生成する責務があります。
以下の2stepを実装します。
MToon, unlit, pbr のどれを生成するのか判断する
- VRM material であれば MToon を作る
- unlit であれば Unlit を作る
- PBR であれば PBR を作る
- その他であれば null を反す。
注記
前ページのサンプルは、分岐せずに PBR を作成しました。
MaterialGenerateAsyncFunc による Material 構築を記述する
masterVRM10_Samples/VRM10Viewer/MaterialImporter/TinyPbrMaterialImporter.cs
get...