技術・開発関連
技術・開発関連 : Blender 2.71でのゲーム開発支援
投稿者 : yamyam 投稿日時: 2014年06月13日 (5439 ヒット)

元記事:Supporting Game Developers with Blender 2.71 | Blender Code

Moguri 氏による記事の翻訳です。(右図は同記事より抜粋)


2.71リリース用に、私たちは Blender と外部エンジンを使用したゲーム開発の支援を改善する作業を行ってきました。その終わりまで、Bastien Montagne 氏が新しい FBX エクスポータの作業を行い、そして私(訳注:Moguri 氏)は様々な外部エンジンのワークフローを評価してきました。Dalai Felinto 氏も Cycles のベイキングの作業に尽力してきました。以下に2.71のゲーム開発用の新しい機能の情報がいくつかあります。





新しいバイナリ FBX エクスポータ


Blender がバイナリ FBX ファイル(Ver.7.4)をエクスポートできるようになりました。この新しいエクスポータにより、以下のような恩恵があります。
[wiki]
-ファイルサイズの縮小

-エクスポートの高速化

-カスタムプロパティ

-マテリアルの各プロパティ(スペキュラやディフューズなど)にリンクしているテクスチャ付きのマテリアルのエクスポート

-テクスチャを(サブフォルダにコピーせず)FBX ファイルに直接添付可能

-新しい「※Apply Transform(トランスフォームを適用)」(現時点ではスタティックなモデルにのみ推奨、アニメーションする物でも動作はするかもしれませんが)。これにより、座標系(要は上/前の軸)がマッチしなくても、エクスポートデータと Blender 内で同じ回転値が得られます。そのため、例えば、Blender 空間(-Y, Z)で回転していない monkey が、Unityの(-Z, Y)空間にエクスポートされたとしても、このオプションにより、同じく回転なしの状態になります(言い換えると、矯正された回転がメッシュデータ自身に「ベイク」されているということです)。(※:元記事では「Bake Space Transform(空間トランスフォームのベイク))。

-FBX ファイルへの正しい軸とスケールデータの書き込み(他のアプリでこの情報を実際に使用している物はまだあまり多くはありません)

-メッシュのタンジェント空間データ(ノーマルとバイタンジェント(Bitangent)ベクトル)のエクスポート

-ボーンとオブジェクトアニメーションのベイク。注意:アニメーションの「ベイク」とは、Blender 内で再生される、すべての位置/回転/ポーズが記録されることで、その結果、すべての間接的なアニメーション、コンストレイントやドライバーを元にした複雑な物でさえも動作します(最終的なアニメーションはクリーンアップされ、不必要なキーフレームやカーブが除去されます)。以下の3つのアニメーションベイキングモードがあります。

--NLA Strip(NLA ストリップ)オプションが有効である場合、各ストリップが一つのアニメーションスタックとしてエクスポートされ、このストリップでアニメーションされるすべてが集められます(つまり、複数のオブジェクト用のアニメーションが生成可能ということです)。

--All Actions(すべてのアクション)オプションが有効である場合、各オブジェクトに対し各アクションがチェックされ、もしマッチするなら、そのアニメーションのあるオブジェクトに''のみ''影響する、アニメーションスタックが生成されます。

--もし上記のオプションがどれも有効でなければ(または何もアニメーションを生成しない場合)、シーン全体が単一のアニメーションスタックにベイクされます。
[/wiki]

新しいエクスポータのストレステストを行えるよう、いくつかのアセットを集め、シンプルなレベルといくつかのキャラクタを作成しました。そして、Unity、Unreal Development Kit(UDK)、Unreal Engine 4(UE4)にエクスポートしてみました。その結果を下記にまとめます。完全なメモは次のリンク先をチェックしてください:http://wiki.blender.org/index.php/User:Moguri/ExportDocs

(訳注:以下は図は省いていますので、元記事を参照してください)


Unity


動作可:
[wiki]
-スタティックメッシュ(UV含む)
-スケルタルメッシュ
-スケルタルメッシュアニメーション(IKコンストレイント含む)
-フラットとスムーズシェーディング
-nゴン
-レベル全体のエクスポート
-マテリアルのエクスポート(マテリアルは Unity 内でエクスポートしたマテリアルの名前と色で作成され、添付したディフューズテクスチャも設定されます)
[/wiki]

動作不可:
[wiki]
-コリジョンメッシュ(Unity 内で設定する必要あり)
-シェイプキーアニメーション
-オブジェクトアニメーション
[/wiki]

メモ:
デフォルトのスケールと軸オプションが上手く動作しました(Scale(拡大縮小): 1.00、Forward(前方): -Z が前方、Up(上): Y が上)。スケーリングのみ Unity で設定します(デフォルトは0.1)。


UDK


動作可:
[wiki]
-静的メッシュ(UV含む)

-マテリアルのエクスポート(マテリアルは UDK 内でエクスポートしたマテリアルの名前と色で作成され、添付したディフューズテクスチャも設定されます)

-コリジョンメッシュとしてのメッシュエクスポート(UCX_〜 の形式で名前を付ける必要あり。〜はコリジョンメッシュ名)
[/wiki]

動作不可:
[wiki]
-レベル全体のエクスポート(アセット毎にエクスポートし、UDK 内で一緒にする必要があります)

-スケルタルメッシュとアニメーション(代わりにPSK/PSA エクスポートを使用してください。こちらの方がもっと信頼性が高いです)

-フラットとスムーズシェーディングは上手く動作しないようです

-オブジェクトアニメーション

-シェイプキーアニメーション
[/wiki]

メモ:
[wiki]
-テクスチャは2のn乗のサイズで、なおかつ対応する画像フォーマット(JPEGは不可、PNGは可)にする必要があります。

-デフォルトの軸オプションで動作(Forward(前方): -Z が前方、Up(上): Y が上)。

-Scale(拡大縮小)は100.0に設定してください。

-UDK は互換性のない FBX バージョンではエラーになります(UDK は7.3.0、Blender のエクスポートは7.4.0)。ただしモデルは読み込みます。

-コリジョンメッシュも UDK 内で作成可能です(つまり、コリジョンメッシュのインポートをあてにしてはいけないということです)。
[/wiki]


UE4


動作可:
[wiki]
-スタティックメッシュ(UV含む)
-スケルタルメッシュ
-スケルタルメッシュアニメーション(IKコンストレイント含む)
-フラットとスムーズシェーディング
-nゴン
-マテリアルのエクスポート(マテリアルは UE4内でエクスポートしたマテリアルの名前と色で作成され、添付したディフューズテクスチャも設定されます)
-コリジョンメッシュとしてのメッシュエクスポート(UCX_〜 の形式で名前を付ける必要あり。〜はコリジョンメッシュにするメッシュ名)
[/wiki]

動作不可:
[wiki]
-レベル全体のエクスポート(アセット毎にエクスポートし、UDK 内で一緒にする必要があります)
-シェイプキーアニメーション
-オブジェクトアニメーション
[/wiki]

メモ:
[wiki]
-テクスチャは2のn乗のサイズで、なおかつ対応する画像フォーマット(JPEGは不可、PNGは可)にする必要があります。

-デフォルトの軸オプションで動作(Forward(前方): -Z が前方、Up(上): Y が上)。

-Scale(拡大縮小)は100.0に設定してください。

-UDK は互換性のない FBX バージョンではエラーになります(UE4 は7.3.0、Blender のエクスポートは7.4.0)。ただし大抵は大丈夫です。

-コリジョンメッシュも UE4 内で作成可能です(つまり、コリジョンメッシュのインポートをあてにしてはいけないということです)。
[/wiki]


制限事項


現在判明している(ASCII版と比べた)制限は、バイナリエクスポータはシェイプキーをエクスポートできないということです。これは Unity 内に BlendShapes としてインポート可能です。


Cycles ベイキング


2.71には Cycles ベイキングもあります。すでに Cycles ベイキングについてはブログ記事(英文)があります。


支援をお願いします


Buildbot からビルドを入手し、Tracker に実行時の問題を報告してください。また、bf-gamedev メーリングリストにて、皆さんのワークフローを改善するのに私たちはどうすればいいのかを提案することもできます。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。

クイックリンク

2013/11/15版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- オープンプロジェクト
- 公式ストア

●マニュアルなど
公式マニュアル(途中)
JBDP2.5 Wiki
CGRad Project
Project-6B(6B計画)

●チュートリアルなど
公式チュート等
その他チュートリンク集
公式動画チュートリアル
Blender Cookie
Blenderで3DCG制作日記
BlenderVideos.com
Blender 3D: Noob to Pro
blenderguru

●日本語コミュニティ
Blender@2ch
BLUG.JP(FBページ)
(BLender User Group of JAPAN)

-旧BLUG.JP
-blugjpまとめ
ぶれんだちゃん*(ツイッター)

●実写合成(日本語)
CGCompo

●合成エフェクト(日本語)
tomo@web

●Cycles
Blender Cycles memo

●Freestyle(日本語)
公式マニュアル
使用例
スザンぬクラブ

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org
- フォーラム
- 記事検索
- New feature tests
- Model Repository

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Graphicall.org(非公式)
Buildbot(自動生成)

●開発関連
開発情報
開発ドキュメント
公式開発ブログ
Blender開発者サイト
- バグトラッカー
- 旧バグトラッカー(閲覧用)
- パッチトラッカー
- 旧パッチトラッカー(閲覧用)
SVNコミットログ

●GameBlender
公式マニュアル
専用API
バグトラッカーなど
旧バグトラッカー(閲覧用)
Bullet 物理演算ライブラリ

●外部レンダラ
YafRay
LuxRender 私家版資料
Mitsuba

●アドオン
公式スクリプトカタログ
BlenderArtists::python & plugins

●アドオン開発
最新 PythonAPI
Python Japan User's Group

●モデル&マテリアル
Blender Model Repository
Kator Legaz 3D Model
Blend Swap
blender-materials.org

●日本語化・翻訳サイト
Blender日本語化関連(blugjpまとめ)
日本語化の設定(2.4xのみ)

●2.4x用スクリプトとAPI
公式(日本語:下側参照)
L-System(2.5以降は同梱)
Python API リファレンス(2.4x用)

2.4x以前ではPythonフルセットが別途必要になることがあります。
旧Pythonバージョン

●2.4x用プラグイン(Python以外)
Blender Plugin Repository

ログイン

ユーザ名:

パスワード:



パスワード紛失