0


0

.VTXファイル形式?

最近、DirectXに飛びついて、Anim8orを少しいじり、テキストベースのモデルをエクスポートできるファイルタイプをいくつか発見しました。 私は特にVTXファイルを取り上げました。 私はそれからいくつかの基本を解析する方法を学びましたが、明らかにいくつかのことを見逃しています。

「.Faceset」で始まり、すぐに(同じ行で)ファイルのメッシュ数が続きます。

各メッシュには、その順序で1つの .Vertex`セクションと1つの .Index`セクションがあり、 .Vertex /` .Index`セクションの最初のペアは最初のメッシュ、2番目のセットは2番目のメッシュ、あなたが期待するように。

ファイルの `.Vertex`セクションには、1行に8つの数字と未定義の行があります(Anim8orがセクションの直前に付けたコメントを信頼したい場合を除き、仕様の一部ではないようです)ファイルの、ちょうどAnim8orが親切です)。 最初の3つの数字は、後で頂点として使用される特定のポイントのX、Y、およびZ座標に対応し、他の5つの数字はわかりません。 ほとんどの場合、最後の2つの数値は両方とも0ですが、常に真ではなく、通常は真であることに気付きました。

次に、一致する `.Index`セクションがあります。 このセクションには4つの数字があります。 最初の3つは、前述の頂点への参照番号であり、3つの点はモデル内の三角形を示します。 0は最初に言及された頂点を意味し、1は次の頂点を意味します。 4番目の数字は常に-1であるように見えますが、その重要性を理解することはできず、常に-1であると約束することはできません。 あなたが言うことができない場合には、私はこのファイルタイプの何かについてあまり確信がありません。

また、このファイルには、私は新しく、あまりにも複雑になりすぎたくないので、今無視することを選択している情報もあります。 すべての `.Index`セクションが次のようになっている場合:

.Brdf
// Ambient color
0.431 0.431 0.431
// Diffuse color
0.431 0.431 0.431
// Specular color and exponent
1 1 1 2
// Kspecular = 0.5
// end of .Brdf

これは、今説明したメッシュの表面に関するものだと思われます。 しかし、メッシュの配置には必要ないので、今のところそれを通り過ぎました。

実際の問題に移ります…​ VTXファイルにメッシュが1つしかない場合( `.FaceSet`が1であることを意味します)にVTXファイルをロードできます。 複数のメッシュを持つVTXファイルをほぼ正常にロードできます。各メッシュは正常に構造化されていますが、他のメッシュに対して適切に配置されていません。 フォーラムのAnim8orスレッドからAT-ATモデルをダウンロードしました。これは344メッシュで構成されており、これまでに言及した仕様を使用してファイルをロードすると、AT-ATが爆発したように見えます作成方法の図でした(Anim8orにロードすると、すべての部品が近くにあり、完全に組み立てられたAT-ATに似ています)。 すべてのピースは正しい方向を向いており、同じ上方向を持っていますが、ピースの間に余分なスペースがたくさんあります。

誰かがVTXファイルを適切に読み取る方法を知っていますか? または、他の数字の意味を説明するウェブサイトを知っていますか?

編集する

ファイル拡張子.VTXは、さまざまな用途に使用され、予想される用途に応じて、さまざまな構造を持っています。 Valve、Visio、Anim8or、および他のいくつかはVTXを使用しています。Anim8orがエクスポートするVTXファイルとそれが使用する構造にのみ興味があります。

2 Answer


1


いくつかのグーグルに基づいて、あなたはパイプラインの間違った終わりにいるようです。 私が理解しているように:VTXファイルはhttp://developer.valvesoftware.com/wiki/VTX[Valve Proprietary File Format]であり、一連のステップの_結果_です。

_ _ 各半減期モデルのStudiomdlの最終出力は、Game Engineで使用する準備ができているgamedirectory / modelsフォルダー内のファイルのグループです。

  • モデルの構造を定義する.MDLファイル アニメーション、バウンディングボックス、ヒットボックス、マテリアル、メッシュ、LOD情報、

  • 骨の位置に依存しないフラットデータを格納する.VVDファイル 現在、MDLが使用するウェイト、法線、頂点、接線、およびテクスチャ座標

  • 3つの異なるタイプのVTXファイル:

  • .sw.vtx(ソフトウェア)、

  • .dx80.vtx(DirectX 8.0)および

  • .dx90.vtx(DirectX 9.0)は、ハードウェアに最適化された素材を保存します。 MDLの各メッシュの各LODのスキニングおよび三角形ストリップ/ファン情報、

  • 多くの場合、リジッドまたはジョイント(ラグドール)コリジョンを含む.PHYファイル モデル、そして時々

  • To Do用の.ANIファイル:モデルアニメーションに関連するもの _ _

現在、Valve Source SDKには、VTXを読み取るためのユーティリティが含まれている場合があります(とにかくそれらを作成する機能があるようです)。 一部の人々はサードパーティのツールを作成したり、それらを読み取るコードを持っているかもしれませんが、すべてのファイルで動作しない可能性があります。 また、http://gmc.yoyogames.com/?showtopic = 72947 [この投稿]を見つけたことがあります。


1


私は自分で3Dモデリングプログラムに取り組んでおり、簡単な形式でオブジェクトをエディターに取り込み、多数の頂点と面を使用して描画ルーチンの速度をテストできるようにしたいと考えていました。 モデルをすばやく入手して.vtx形式を見つけられる簡単な方法を探していました。 私はそれをグーグルで検索し、あなたの質問を見つけました。 インターネットでフォーマットを見つけることができなかったとき、私は遊んで、.OBJエクスポートを.vtxエクスポートと比較しました。 (たぶん、Anim8or専用に作成されたのでしょうか?)ここに私が見つけたものがあります:

{空} 1)はい、頂点の各行に8つの数字があります。 最初の3つは、ご想像のとおり、x、y、およびz座標です。 次の3つは頂点法線、nx、ny、nzです。 各頂点は、それを含む面ごとに異なる法線で複数回表示されることがあります。 最後の2つの数値はテクスチャ座標です。

{空} 2)顔に関しては、あなたと同じ結論に達しました。 最初の3つの数字は、上記の頂点リストへのインデックスです。 最後の数字は常に-1であるように見えます。 私はそれが顔の向きに関係していると仮定します。 (例えば。 ほとんどのモデルは面がすべて適切に面するように作成されているため、これがすべての面で同じ数になるのは当然のことです。

3)もう1つの注意:.objと.vtxを比較すると、頂点の位置が変わっていることに気付きました。 これは、.an8ファイルと比較した場合にも当てはまりました。 これは、各頂点とすべてのファイルで同じ量だけオフセットされている限り、「大きな」問題ではありません。 少なくともそれで補うことができた。

objファイル形式の使用を検討しましたか? テキストベースであり、解析や理解が極端に難しくありません。 オンラインでそれに関するかなりの情報があります。

数時間の検査の後、Anim8orのvtxエクスポートが壊れているようです。 あなたがしたのと同じ問題を経験しましたが、ピースが適切に配置されていません。 私の想定では、anim8orは各メッシュのローカル座標を使用してこれらのオブジェクトをエクスポートし、適用された変換は考慮しません。 また、vtxファイルをインポートしないことに注意してください…​