Blender 2.71 And New Binary FBX Exporter



Blender 2.71がリリースされた。
ボクが注目するのは新しいNew Binary FBX Exporter。LibGDXとテストする予定でその結果はこの記事に追記する。
実はちょうど来週、BlenderからFBXをExportする予定だったのでタイミング良くテスト出来ることになる。 ここ1ヶ月ほどBlenderを触ることができなかったのでベータ版はテストできなかった。バグがないことを願う。
一番の注目点は、困っていたstatic objectの座標系がOpenGLやLibGDXに合わせた場合にデータ自身に反映されるか、だ。(2.71のDocumentには対応とある)  以前は変換が入っていただけのため静止MeshはBlenderの座標系で表示されてしまう不都合があったのだ。 アニメーション付きはアニメーションで変換されるので問題は発生しない。が、無駄処理なのはかわらない。

改良点は以下のサイトを参考に。
http://www.blender.org/features/2-71/

New Binary FBX Exporter
http://code.blender.org/index.php/2014/06/supporting-game-developers-with-blender-2-71/


libgdx forumへの私の質問の書き込みthread(現在検証中のため返信していない)
http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=15060
fbx-exporterのgithub
https://github.com/mont29/blender-io-fbx
開発者 mont29氏のBlog
http://mont29.wordpress.com/
バグレポート先
https://developer.blender.org/

検証経過報告1:
パッと試した結果は、あまり良くない。 いままで正しくコンバートされていたMeshもnode-rotationを入れる必要がないのにg3db/g3djに含まれてしまっている。  私の場合、Meshデータ自身をBulletやAIでも、使いたいため、rotation等(Scaleは1固定, transform:静止)は含めたくないのだ。  見てくれだけなら問題なさそうだが...
とはいえ、じっくり、テストしていないのでボクがどこか間違っているかもしれない。

検証経過報告2:
結果として、exportが正しく動作するようになって、私の使い方は、隙間をついて使っていただけの可能性もあり、Static Objecs(meshes)はCollision dataとして直接使えなくなったということか?
アニメーションのあるキャラクタは最新版を使うとして(Collisionデータはプリミティブなので制作不要) 、Static objectsはhttp://code.blender.org/index.php/2014/06/supporting-game-developers-with-blender-2-71/を読むとUnity 3DやUE4ではfbxから直接はcollisionデータとして使えないと記してある。
対策1:
ゲーム本体内部でcollision dataを作る。
変換プログラムが必要、モバイル向けは遅いし、リソース(量は検証不足で不明)を喰うので可能なら避けたい。 データ制作は直感的、容易でバグが入りにくいし、将来性もある。
対策2:
Collisionをfileとして持つ。 高速だ。
作業が乱雑になる欠点(バグが入りやすい)とデータ量が増えてしまう。
ツールを改造するか、自作する必要がある。
対策3:
static objectsのみ、古い Blenderのexporterをいままで通り、座標変換した形式でモデリングし、利用。
アニメーションの有るObjectsは新しいものを使う。 これも乱雑で、さらに将来性がない。

当然、人によって、要求は違うが、私の場合は、対策1が無難か? まぁ、もう少し考える...

PS
追記 Feb. 18 '15
Blender 2.71のfbx addonはアニメーションを複数出力できないバグがある。2.73はOpenGLやLibgdxの座標系とUP軸180度ずれるがアニメーションは複数出力できる。補正が必要だが2.73以降を使ったほうが良い。

コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.