8

OpenGL ES を使用して iPhone でアニメーションを作成しようとしています。Blender 3D ソフトウェアでアニメーションを実行できます。Blender から OpenGL に .obj ファイルとしてエクスポートでき、iPhone で動作します。

しかし、アニメーション作品を Blender 3D から OpenGL にエクスポートできません。誰でもこれを解決するのを手伝ってもらえますか?

4

5 に答える 5

1

Jeff LaMarche によるこの記事を見ると、3D モデルを C ヘッダー ファイルに出力する Blender スクリプトが見つかります。前述のスクリプトを改善するフォローアップ記事もあり ます。

スクリプトを実行した後は、ソースにヘッダーを含めて、描画関数を介して頂点の配列を渡すだけです。理想的には、実行時に任意のモデル ファイルをロードする方法が必要ですが、プロトタイプを作成する場合は、この方法が最も簡単に実装できます。

モデル(obj)をインポートする方法がすでにあるので、上記は当てはまらない場合があります。ただし、ブレンダー スクリプトを使用する利点は、必要に応じてスクリプトを変更できることです。おそらくボーン情報やモデルのキーフレームもエクスポートできます。

于 2010-10-26T21:42:04.057 に答える
1

まず、obj ファイル形式はアニメーションをサポートしておらず、静的な 3D モデルのみをサポートしているため、この目的には .obj をお勧めしません。そのため、obj と同時にロードする別のファイルとしてアニメーション データをエクスポートする必要があります。

どのファイル形式をお勧めするかは、アニメーションが正確に何であるかによって異なります。Blender がサポートするファイル形式を頭の中で思い出すことはできませんが、覚えている限りでは、最も一般的な推奨事項であるアニメーション付きの Collada ファイルをエクスポートしません。その他のオプションは、キャラクター アニメーション用の md2、または単純な「動き回る剛体オブジェクト」アニメーション用の 3ds です。Blender の FBX エクスポーターは機能すると思いますが、そのファイル形式はニーズに対して複雑すぎるかもしれません。


とはいえ、単純な剛体オブジェクトの動きだけが必要であると仮定すると、3D モデルの形状に .obj を使用し、単純な Python スクリプトを記述して、リストされたキーフレームにフレーム、位置、および各キーフレームの回転。次に、そのデータをコードに読み込み、それらのキーフレームを 3D モデルで再生します。

于 2011-06-13T22:03:26.967 に答える
0

SIO2もご覧ください。

于 2010-06-02T11:29:51.470 に答える
0

最近のバージョンの Blender は使用していませんが、メッシュ アニメーションを .obj ファイルのシーケンスとしてエクスポートすることをサポートしていると理解しています。アプリで単一の .obj を既に表示できる場合は、それらのいくつかを次々に表示すると、目的が達成されます。

各 .obj ファイルには多くの重複した情報が含まれるため、これはこのタイプのアニメーションをエクスポートする最も効率的な形式ではないことに注意してください。メッシュが時間の経過とともに固定されたままの場合 (つまり、頂点のみがポリゴン構造、UV 座標などすべて固定されて移動する)、最初の .obj 全体をインポートするだけで、残りから頂点配列を読み取ることができます。

これをさらに最適化する場合は、頂点配列を圧縮して、アニメーションの前のフレームとの差分のみを保存することができます。

編集: Blender 2.59 にはCOLLADAへのエクスポートがあるようです。Blender のマニュアルによると、オブジェクトの変換を書き出すことができ、リギングされたオブジェクトの焼き付けられたアニメーションも書き出すことができます。iPhone アプリで COLLADA 形式をサポートする利点は、ほとんどのツールがこの形式をエクスポートするため、アニメーション ツールを自由に切り替えられることです。

于 2011-10-15T18:55:08.063 に答える