あなたがしたい場合:
次に:
一般的に言って、私は優先事項としてシンプルさを求めています。つまり、アートとコンピュータサイエンスの両方のバックグラウンドを組み合わせることから始めるのに役立ちます。私はUMassでコンピューターサイエンスを専攻していると同時に、大学でグラフィックデザインの選択科目を受講したり、夏/冬のセッション中にボストン美術館でクラスを受講したりして、アートの「疑似」ダブルメジャーのようなものをしています。言い換えれば、私は完全な初心者ではありませんが、同時に、基本的なデモンストレーションプロジェクトを開始するのが非常に困難になる、クレイジーな高度な構成で過負荷になるオプションは本当に必要ありません。つまり、これら2つの世界の間のギャップを埋める方法を理解するための最初のステップとして。ユーザーが操作できる3Dキャラクターをフィーチャーしたプログラムを作成します。
[〜#〜] collada [〜#〜](最後に「ah」を付けて言っています)、および Assimp (ple as that)。
では、なぜCOLLADAなのか?シンプル:
インポーターライブラリーには、Assimpを強くお勧めします。どうして?
まず、 ここ 推奨されるモデルの読み込みについて読むことができますlbs.Lib Assimp 本当に優れており、多くの形式をサポートしています。推奨される形式については、Collada-そのためお勧めしません解析に時間がかかるXML(テキスト)ベースの形式です。 Obj形式も普及していますが、Colladaと同じ問題があります。構造が非常に単純なので、独自のパーサーを作成する場合でも問題はありませんが、代わりにバイナリの3Dをお勧めします。アニメーションはサポートされていません。静的メッシュとアニメーションの両方をサポートする今日最も人気のある形式はFBXです。 無料でダウンロード オートデスクからFBX SDKを使用して、エンジンに接続できます。FBXを選択する理由は、SDKとフォーマットは非常に堅牢です。たとえば、FBXには、ジオメトリやアニメーションだけでなく、ライトやカメラなどのシーンオブジェクトも埋め込むことができます。オートデスクのドキュメントも非常に便利です。それが役に立てば幸い。
基本的に、プログラムで使用される頂点バッファとインデックスバッファのバイナリダンプである独自のカスタム形式を使用することをお勧めします。 (そこでd3d用語を使用すると、openglの概念は同じですが、名前が異なるかどうかを思い出せません)。
次に、ほとんどすべての形式を取り、カスタム形式でファイルを書き出すassimpを使用して別のプログラムを作成します。次に、colladaなどを使用して実際のモデルを保存できますが、実行時にその形式をロードする際の複雑さと速度の低下はありません。