1

一般的な質問: 現在広く使用されている、3d モデルをロードするための安定した JSON 形式は何ですか?

拡張質問:

私は、特にElm プログラミング言語を使用して、いくつかの WebGL を行うプログラマーです。私はさまざまなモデル形式を検討してきましたが、three.js JSON 形式を一種の標準として使用することは、私のプロジェクトにとって (そしておそらく一般的な言語にとって) 非常に理にかなっているようです。

ただし、three.js github では、モデル言語のバージョン 3 がまもなく非推奨になると書かれています。

ですから、変換する前にモデル形式の現在の状態を知りたいのです。バージョン 3 は当分の間安定していますか? バージョン4はリリースされましたか?バージョン 4 のモデル形式はありますか? それともジオメトリ形式に置き換えられますか? 今後の変更は非常に破壊的であり、現時点でフォーマットを採用することは悪い考えですか?

新しい ObjectLoader クラスを見てきましたが、これらは Json メッシュ形式とどのように関連していますか? .obj を変換できる形式ですか?

4

2 に答える 2

2

私のgithub投稿をフォローアップするには:

正直に言うと、バージョン 3 が決して安定していなかったと言うのは安全ではないと思います。3 には常に問題があり、サポートする SceneLoader クラスは維持するのがやや不親切になりました。現在、4 はかなり安定していますが、テクスチャのサポートが不足しています。オブジェクト、ジオメトリ、およびマテリアルには問題ありませんが、エクスポーターはまだありません (私が認識していること)。

今、あなたが最も興味を持っていると思うのは、実際のモデル形式です

正直なところ、実際のジオメトリ形式は、私が知る限り、あまり変わっていません。3 と 4 の間の大きな変更点 (これまでのところ) は、シーンのフォーマットです。実際、ジオメトリは JSONLoader クラスで解析されます。実際、私は数日間、dev ブランチに、msgpack で圧縮された JSON シーンの新しいサンプル ファイルをコミットしました。 https://github.com/mrdoob/three.js/blob/dev/examples/webgl_loader_msgpack.html

msgpack は単なる JSON 圧縮であるため、デコードすると JSON オブジェクトになります。この msgpack ファイルは three.js/blob/dev/examples/scenes/robo_pigeon.js から変換されました

このシーンは、バージョン 4 のシーン形式です。「ジオメトリ」テーブルの各エントリは、実際には埋め込まれたジオメトリ形式です。この形式は、外部ファイルにも存在できます。最初のリンクと比較すると、フォーマットが同じであることがわかります。ジオメトリ ファイルは、JSONLoader を使用してシーンに個別に読み込むことができます。

コンバーターについて質問されました: convert_obj_three.py をちらりと見ると、ドキュメントに「JSON モデル バージョン」と書かれているので、シーン形式ではなく基本的なジオメトリ モデル形式を吐き出しているので、これが使用できる可能性があると推測します。Blender のエクスポーターでさえ、互換性のあるジオメトリ シーンをエクスポートできます (「Scene」オプションをオフのままにしておきます)。どうすればわかりますか?robo_pigeon.js に使用したジオメトリはそのエクスポーターから取得したため、手動でバージョン 4 のシーンを構築する必要がありました。

これであなたの質問に答え始めましたか?

于 2014-05-21T03:54:42.053 に答える