質問

ワイヤーフレームモデルに使用する簡単なファイル形式を探しています。 VRML、u3Dなどは知っていますが、これらは私のニーズにとっては重いようです。私のクリテアは:

  • 明確な仕様が必要です。開いているか、非常に確立/文書化されている。
  • 単純なモデル(頂点とエッジ)のみが必要です。顔やオブジェクトを扱いたくありません。形式がより多くをサポートする場合、それらを無視できる限りそれは問題ありません。
  • エンドユーザーツールは必須ではありませんが、素晴らしいでしょう。そうでない場合は、人間が読める形式である必要があります(単純なモデルでは編集可能である必要があります)。
  • 注釈を付けるか、少なくともノードにラベルを付けることができると便利ですが、必要ではありません。
  • 使用している言語は問題ではありませんが、可能性のあるオプションはJava / C ++&です。 OpenGL

または、頂点/エッジリストをテキストファイルに書き込んで、それで完了しますか?

役に立ちましたか?

解決

ワイヤーフレームビューをアクティブにターゲットとする形式は知りません。 (エッジ/頂点のみ)ほとんどの場合、少なくとも顔を処理する必要があります。幸いなことに、非常に具体的なニーズがない限り、エッジリストのワイヤフレームレンダリングは、フェイスリストのほぼすべてのAPIで実行できます。

フォーマットに関しては、 OBJ は、少し時代遅れ。また、ドキュメントを見つけるのに最も簡単な形式です。 MicrosoftのXファイルは、高速でダーティなレンダリングに適していますが、私は常にQuakeフォーマットに多少の偏りがあります。ただし、それらは非常にゲーム指向である傾向があるため、おそらく必要のない情報が多く含まれています。

これらのどれもあなたのニーズを満たさない場合は、 COLLADA を調べてください。おそらくそれ自体では機能しませんが、エッジ/頂点情報のみを含む独自のフォーマットにクイックエクスポーターを書くことができ、その時点であなたは本質的に地球上のすべてのモデリングパッケージをサポートしています:)

他のヒント

Wavefront OBJは3Dモデルを保存するための非常にシンプルなテキストファイル形式であり、すべての3Dモデリングアプリケーション(maya、3dsmax、lightwaveなど)でサポートされているため、モデルを非常に簡単にエクスポートおよびインポートできます。

詳細と仕様についてはこちらをご覧ください:

http://www.fileformat.info/format/wavefrontobj/

独自のファイル形式を作成しないことをお勧めします。 Wavefront OBJは、取得するのと同じくらい簡単で、明確に指定されています。

2x2プレーンの例です。 v は頂点座標用、 f は面の説明(どの頂点が接続されているか):

v -0.500000 -0.000000 0.500000
v 0.000000 -0.000000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.500000 0.000000 0.000000
v -0.500000 0.000000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
v -0.500000 -0.000000 0.500000
v 0.000000 -0.000000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.500000 0.000000 0.000000
v -0.500000 0.000000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
f 1/1 2/2 5/5 4/4
f 2/2 3/3 6/6 5/5
f 4/4 5/5 8/8 7/7
f 5/5 6/6 9/9 8/8
f 10/10 11/11 14/14 13/13
f 11/11 12/12 15/15 14/14
f 13/13 14/14 17/17 16/16
f 14/14 15/15 18/18 17/17

テキストファイルでこれらのリストを実行する方が簡単な場合があります。それが最初に頭に浮かんだことです!

POV-Rayの RAW三角形形式が私です最もシンプルであると考えてください。私の意見では、これ以上簡単なことはできません。ほんの数分でこれの負荷を実装しました-それは本当にシンプルなフォーマットです。

OBJは最も広く普及している最も単純なものですが、頂点の位置、法線、および単一のテクスチャ座標以外のものが必要な場合は故障します。それはまったく拡張できません。また、テキストベースなので、大きなメッシュで問題が発生します。

GTOは新しい交換形式として登場しています。シンプル、高速、拡張性があり、それらを読み書きするための生産実績のあるオープンソースコードがあります。

Gtoファイル形式

これはいくつかのVFXおよびゲームスタジオでの制作に使用されていますが、ローダーをOBJファイルと書くのとほぼ同じ量の作業です(サンプルの1つはOBJからGTOへのコンバーターです)。

チェックして、Collada bloat-virusの拡散を阻止してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top