.Xを読み込んでみる2(解析編2)

それでは、前回の続きでテクスチャを設定してUVと法線を出力する
ようにしてXファイルを作りました。
例によってテンプレート部分は除去しています。

xof 0302txt 0064

Header{
1;
0;
1;
}

Mesh {
 3;
 1.08418;-0.00726;0.62110;,
 -1.10385;-0.70444;-1.10694;,
 -1.38258;1.10387;-0.06233;;
 
 1;
 3;0,1,2;;
 
 MeshMaterialList {
  1;
  1;
  0;;
  Material {
   0.800000;0.800000;0.800000;1.000000;;
   5.000000;
   0.000000;0.000000;0.000000;;
   0.000000;0.000000;0.000000;;
   TextureFilename {
    "test.png";
   }
  }
 }
 MeshNormals {
  1;
  0.433013;0.500000;-0.750000;;
  1;
  3;0,0,0;;
 }
 MeshTextureCoords {
  3;
  1.071833;0.796245;,
  -0.080744;0.992188;,
  0.163045;-0.121574;;
 }
}

端的に解説すると以下のようになります。

xof 0302txt 0064  //マジックコード

Header{  //ヘッダー、数値はモデルのバージョン
1; //メジャー
0; //マイナー
1; //フラグ
}

Mesh { //メッシュ
 3; //頂点数 以下は頂点情報
 1.08418;-0.00726;0.62110;, //頂点のXYZ座標;,
 -1.10385;-0.70444;-1.10694;,
 -1.38258;1.10387;-0.06233;;
 
 1;  //頂点インデックス数 以下は面を構成する頂点インデックス
 3;0,1,2;; //面を構成する頂点数;インデックス1,インデックス2,インデックス3;;
 
 MeshMaterialList { //マテリアルリスト
  1; //マテリアル数
  1; //マテリアルインデックス数
  0;; //適用するマテリアルナンバー(0番)
  Material { //マテリアルの情報
   0.800000;0.800000;0.800000;1.000000;; //ディフューズ
   5.000000; //SHININESS
   0.000000;0.000000;0.000000;; //スペキュラー
   0.000000;0.000000;0.000000;; //アンビエント
   TextureFilename { //テクスチャ名
    "test.png";
   }
  }
 }
 MeshNormals { //法線
  1; //法線の数
  0.433013;0.500000;-0.750000;; //法線のXYZ座標
  1; //法線インデックス数
  3;0,0,0;; //面を構成する頂点数;法線インデックス1,法線インデックス2,法線インデックス3;;
 }
 MeshTextureCoords { //UV情報 頂点インデックスと一対一で対応
  3; //UV数
  1.071833;0.796245;, //UV座標
  -0.080744;0.992188;,
  0.163045;-0.121574;;
 }
}

 

今回はスタティックメッシュ編なので、ここまでの情報が読み込めれば表示できます。
それでは読み込み編で読み込んでみましょう。

 

最終更新:2011年03月30日 20:37
添付ファイル