ようやくXファイルの自作読み込みでマテリアルが読み込めるようになりました。
ついさきほど表示できたんですが、表示できたときは
「キターー」と思いました。うれしいなぁ。
ちなみにXフォーマットにあまり詳しくない人のために、
たかだかマテリアルの読み込みになぜここまで手間取ったのか
少しばかり説明しようかと思います。
Xフォーマットはタグテンプレートと呼ばれる要素単位で
テキストで保存されていて、マテリアル情報はMaterialというタグに、
メッシュとマテリアルとの関連付け情報はMeshMaterialListという
タグに登録されているのですが。
問題なのが、こいつらの登録方法がエクスポートするソフトによって
仕様がいくつも存在してしまうんです。
例えばMaterialListの中に直接Materialを登録しているXファイルもあれば、
MaterialListの外にMaterialListを登録して、MaterialListの下に
マテリアルインデックスの順番通りのマテリアル名だけ
記述しているものもあったり。
さらにはマテリアル名を登録しているXファイルもあれば、
マテリアル名を登録していないものもあったり。
駄目押しに、マテリアルインデックスが0からはじまるXファイルもあれば、
1からはじまったり、インデックスの途中でまた0を
はさんだりするXファイルもあったり。
それらの仕様に対応するようにこちらでプログラムを組まなきゃいけない訳です。
正直、「仕様をひとつにまとめんかい!」と毒づきたくもなりました。
自作読み込みをする上では、面倒なことこの上ないです、Xファイル。
しかし、それもようやくクリアできたのでとりあえず一安心です。