無料3DCGソフト「Blender」でUnityと連携しよう


こんにちは。エンジニアのNHです。

Unityと連携する3DCGソフトといえば、主にAutodesk 3ds Max, Autodesk Mayaなどが挙げられますが、加えてBlenderも、選択肢の一つですね。




Blenderを採用するメリットとしては、

  • オープンソースである点
  • 統合環境である点
  • 開発スピードが速い点

などが考えられます。

企業としても、導入コストを下げ、スピーディーにプロジェクトを
進められる点が大きなメリットとなります。

BlenderからUnityへデータを受け渡す際にネックとなるのが、
データ互換性です。

6/26(木)にリリースされたばかりの、最新バージョン Blender 2.71では、
FBX Exporterが改善されています。

これについて個人的に気になりましたので、少しご紹介したいと思います。


■BlenderからUnityへデータを渡す方法


まず、Unityとやり取り(Blender→Unity)する際に、Blenderから出力する方法は
以下の2択になると思います。

選択肢1:Blender標準形式である「blend」ファイルでのやりとり


Unity が現在サポートしているのは、以下の6つです。

 ①位置、回転、スケールのあるすべてのノード。
 ②回転軸および名前
 ③頂点、ポリゴン、接線、UV および法線のあるメッシュ。
 ④ボーン
 ⑤スキン メッシュ
 ⑥アニメーション


これらのサポートは、内部的にBlenderのFBX Exporterを介して実現されていますが、
インポート時に、いくつか問題があります。

・テクスチャーとディフューズカラーは自動的に割り当てられないため、
Unity のシーン内で、手動で割り当てる手間が発生します。

・座標系の違いにより、インポート後、3Dデータの向きの修正が必要となります。
「Scale factor」の調整も必要になるかもしれません。


選択肢2:エクスポーターを用いた「FBX」ファイルでのやりとり

この場合、出力時に座標の向きを設定可能であり、上記問題は発生しませんが、
データの修正時に手間がかかります。



■新しい FBX Exporterについて


Blender 2.71に搭載されたFBX Exporterはというと。。
何と、バイナリー形式でFBX ファイルをエクスポートすることが可能です。

バイナリー形式で出力する場合のメリットは以下の通りです。


  • ファイルサイズの削減とエクスポート時間が短縮される
  • カスタムプロパティーのサポート
  • テクスチャのファイル埋め込みが可能となる
  • 「specular」,「 diffuse」マテリアル等のプロパティー自動リンク
  • オブジェクトの回転情報が保持される(現時点では静的なモデルのみ推奨)
  • 3Dデータの向きの修正・「Scale factor」の調整が不要になる


できないこととして、「Collision Mesh」のセットアップはUnity側で行う事になります。アニメーションについては、「Shape key」がエクスポートされないようです。
これらについては、ひとまず既存のASCII形式でエクスポートすることになりそうです。


■その他

2.71の追加要素はどれも非常に興味深いものばかりですが、
個人的に気になっているのが、上記「FBX Exporter」と、「Cycles Baking」です。
この「Cycles Baking」についても、今後まとめてみたいと思います。

以上です。

参考URL

Supporting Game Developers with Blender 2.71



トンガルマンWebサイト
https://tongullman.co.jp/index.php
facebook
https://www.facebook.com/Tongullman

0 件のコメント:

コメントを投稿