2021-09-21 (火)
一昨日のやつ.FBX読み込んでマテリアル周りをそれっぽくしたので,とりあえずUnityのシーンをglTFに変換できるようになった.
複数のマテリアルを持つメッシュをUnityにインポートしたときの MeshRenderer 上での Materials の順序.インポート元ファイルのマテリアルの順序でもなく,FBXのGeometryが参照しているLayerElementMaterialのインデックスでもなく,Meshデータ内で参照される順序に依存するのか.
- https://forum.unity.com/threads/multi-material-id.27738/#post-3270351
- http://soucolle.jp/sort_material_order_of_unity_in_blender/
forumのスレッドの#24のポストの説明が正しかった.
普通に考えるとそんな扱いにくい仕様にするわけないと思うのだけど,実際にそういう挙動っぽい...想像でしかないけど,importerがマテリアル単位のデータを作っていて,そのときの生成順序がそのまま使われている気がする.
メッシュ内の面の順番変わるだけで壊れるし,Geometryを読まないとマテリアルの割当が分からなくて面倒.