まず、他の2人の回答者に感謝します。また、basszeroはブレンドファイルについてあなたが正しいと思っていました。そして、私はWikipediaを最初にチェックしておきましょう! Blenderのメモリのバイナリダンプにはほとんど役に立たない。
この質問を書いた直後に、私はOBJローダーを書くことにしました。これは、1)3Dファイル形式の読み込みの経験があり、2)一般的に使用されているいいフォーマットのようでした。簡単にロードできます。それは私が実際にオブジェクトとグループの違いを知りませんでしたし、材料についてもあまり知りませんでした。それは私がこれらの3D構造のコードを確立するのを助けました。
両方の回答はXMLベースの形式を推奨します。私はXML形式を望んでいません。私はこれがXMLの正しい場所だとは思わない。 XMLは柔軟性があり、普遍的でスキーマの作成が簡単なため作成されたと思いますが、それは私が探しているものではありません。 XMLライブラリに頼るのではなく、読み込みが速い形式(XMLは、相対的に言えば)でなく、柔軟性があり、人間が読める形式でなくても、インポータを書くことができる形式が必要です。 basszeroは「XMLであることを犠牲にして」と言っていましたが、彼は完全に正しいです。それは私が負担に値すると感じていないコストです。
私のOBJローダが完了しました。私はそれを実際のモデルクラスから切り離し、MeshFactoryインターフェイスで実装しました。将来私が望むなら別のローダーを書くことができます...これは計画です。私は過去数日間、より多くの研究を行い、ms3d形式を決定しました。
ms3d形式は、骨格リギング(ジョイント)とキーフレーム骨格アニメーションをサポートし、テクスチャマップとアルファマップをサポートしています。さらに、人間が読めるタグやラベルなどでスペースを無駄にすることなく(XMLやOBJのように)簡単にコンピュータで読み取り可能なバイナリ形式です。
Blenderは、残念ながら、(作業中の)ms3dエクスポートスクリプトを持っていないので、私はそれを自分で作成します。幸いにも、それは難しいプロセスではなく、Blenderのドキュメントを読んで、他の輸出業者を例として使用することができます。私は私のPythonをブラッシュアップする必要がありますが、そうでなければ、私は他のスクリプトで見たことから、非常に簡単に思えます。
Javaサイドの方が簡単です。実際には、ms3dがより構造化されているため、OBJフォーマットよりも簡単です。私は、Cスタイル(天才!)でms3d形式のオンラインのspecificationsを見つけたので、彼らは信じられないほど自明であり、私はその形式についてさらに質問しません。私は後で自分のバリエーションを実装するかもしれませんが、私の実装をこの仕様から外すことになります。それは自分の輸入者と輸出業者を書いていることの大事なことですが、私が適合しているように書式を変更することができます。
私はこれが最良の解決策であると判断しました。
OBJローダーから見たように、basszeroさんは、「私がOBJローダから見たように、一度読み込んだら、データのリスト(表示リスト、テクスチャ、頂点配列、頂点バッファなど)レンダリングはまったく別の獣です」
Cruachan:私のためのJava3Dは、私はJOGLに固執しています。私は実際に彼がモデルをロードした方法を覚えていませんが、実際にはその本を所有しています(ただし、現時点ではアクセスできません)。しかし、私は彼がJava3D形式のローダーを自動的に使用することを確信しています。私が使用する予定のものではありません...申し訳ありません!
-Ricket
私は.objファイルについてとてもよく分からない、それは非常に非効率です。人間が読める形式は必要ありません。私はvrmlを大きくするものを見て、おそらく私自身のそれを調整したバージョンを作るでしょう、ありがとう! 誰ですか? :) – Ricket
Objは非効率ですが、それは非常に標準的です。また、Java3D、特にO'Reillyの「Killer Game Programming in Java」を参照してください。これは多くの質問に答えることができます。 – Cruachan