私の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 のシーンを構築する必要がありました。
これであなたの質問に答え始めましたか?