Re: モーション付きのモデルのunityへの出力

投稿ツリー


このトピックの投稿一覧へ

通常 Re: モーション付きのモデルのunityへの出力

msg# 1.1.1.1
depth:
3
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012/1/22 13:14
tueda  新米   投稿数: 1
タイムリーな話題なので補足しておきます。

BlenderからUnityへ持って行くには、BlenderでFBX形式でエクスポートしてUnityで「Import New Asset」を行うのが基本です。
自分で試した限り現在の最新バージョンBlender 2.61、Unity 3.4で何の問題もありません。

実はUnityには上記の手順を自動でやってくれるスクリプト(Unity-BlenderToFBX.py)が付属していてBlenderがインストールされていれば.blendファイルを直接インポートすることができます(裏でUnityがBlender起動してます)。
Unityに含まれているUnity-BlenderToFBX.pyは少し古く2.61に対応していないのでこちらから最新版をダウンロードして取り替える必要があります。
私はさらにオプション指定の仕方をこんな感じに修正しています。
		io_scene_fbx.export_fbx.save(FakeOp(), bpy.context, filepath=outfile, 
			global_matrix=Matrix.Rotation(-math.pi / 2.0, 4, 'X'),
			use_selection=False,
			object_types={'ARMATURE', 'EMPTY', 'MESH'},
			use_mesh_modifiers=True,
			use_anim=True,
			use_anim_action_all=True,
			use_default_take=False,
			use_anim_optimize=True,
			anim_optimize_precision=6,
			batch_mode='OFF')
指定できるオプションはここにあります。

テクスチャーが行方不明になるのは仕様です。あとから手動でテクスチャーをインポートしマテリアルに設定します。
それはめんどうなので.blendをインポートする前にAssetフォルダー直下に使用するテクスチャーを全部インポートしておくと
.blendをインポートした時に自動でセットしてくれて楽です。

ゲームで使うためにArmatureに複数のアクションを指定している時は注意が必要です。
Blender上でアクションは全て「F」(Save this datablock even if it has nousers)を押して強制的に保存される状態にしておます(こうしないと自動インポートした時にカレント以外消えてなくなる)。
上記のスクリプトは、デフォルトテイクは要らないのでOFF(use_default_take=False)、全てのアクションを使用をON(use_anim_action_all=True)に設定します。
これで全てのアクションが取り込まれUnityのアニメーションクリップになります。

FAQ: Getting skinned animated models from Blender to Unity3Dあたりが参考になります。

まだそれほどヘビーには使っていないのですが、私は今のところこれで.blendファイルを自動で一発インポートできています。
WindowsXP 32bit, Blender 2.61, Unity 3.4です。



投票数:8 平均点:2.50

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki