blender2.76を使ってUnityで使うアニメーションを作成する

今回はblenderでアニメーションを作り、Unityに取り込んで使ってみようと思います。

それにはまずblenderでリギングが済んでいる人型オブジェクトが必要になります。

blender2.76bにmakehumanデータの取り込みとUnityへのインポート2
MakeHumanで作成したキャラクターをBlenderに取り込み、ボーンを設定しリグを取りつけます。Unityで使うアニメーションを作成する時に便利です

でRigifyの取りつけはなんとか出来ていると思うので?
それを使いましょう。

スポンサーリンク

記事を読み進める前にお詫びをさせて頂きます

まず最初にお断りをさせていただきます。この記事内で右足を前に出すという風に作っていますが、
実際は左足を前に出してください。記事を書き終わるまで気づきませんでした・・・・(+_+)

アニメーションを作成する時に動かす場所のリグにIKの設定をする

ブレンダーアニメ1


メインウインドウでリグを右クリックで選択し、Object ModeからPose Modeに切り替えます。

上の画像のように右手のリグの部分、左手の同じ個所、足首のリグを選択します。
(ひとつずつ処理しますので、同じ処理をそれぞれに加えてください)

ブレンダーアニメ2

Tキーを押すと現れる上のタブ部分でRig Main PropertiesのFK/IKの所を右にドラッグし1に変更します。

すると右腕のそれぞれのリグで細かく動かす(肘だったり手首だったり)ようになっていたのがさきほど選択したリグを動かすと右手全体が動くようになります。

リグを全表示

Rigifyのレイヤーを全部選択すると↑のように使わないものまで表示されます。
IKでアニメーションを作成する時にFK関連のリグが表示されていると邪魔なので

IKで使うリグだけ表示

IKで動かす場合に使うレイヤーだけを選択し、FKは無効にしておきます。

リグを選別した結果

↑のように表示されるリグが減りました。

右手、左手、右足、左足それぞれのIKの設定が出来たら、次はアニメーションの作成に入ります。

Blenderでアニメーションを作成する方法

メインのモデルが表示されているウインドウの左下のモードをDopeSheetに変更します。

ブレンダーアニメ3

↑の時計アイコンの部分をクリックしDopeSheetを選択します。

ブレンダーアニメ4

次にDopeSheetの右側のModeをActionEditorに変更します。

ブレンダーアニメ5

ブレンダーアニメ6

次にNewをクリックし、名前をShootに変更します。Fの部分をクリックします。
これで準備完了です。アニメーションを作成していきましょう。

Blenderアニメーション作成時によく使う操作方法

今回は銃を構えるアニメーションを作成します。まずただ立っている状態を初期状態として作り、銃を構えるアニメーションへ変わっていくように作ります。

まずはフレームを1に合わせます。

ブレンダーアニメ7

モデルが表示されているウインドウでPoseModeである事を確認したら、手首の部分を右クリックで選択し移動させます。

blenderの選択は右クリック
移動はGキー
角度の変更はRキー
リグの全選択はAキー、全解除もAキー
Bキーを押すと四角形が現れるので領域内のリグ等を選択出来ます。
モデルの確認などをする時に見ている角度を変更するのはマウスの真中のローラーをクリックしながらマウスの移動
見ている位置を変更するのはShiftキーを押しながらローラーをクリックして移動

となっています。

これらはPoseモード以外のObjectやEditモードでも共通になっているのでblenderを使う時は覚えておいた方がいいです。

Macだとどうなってるかわかりませんし、マウスの形状によってはローラー自体ない?
わたしの環境ではこうなっています・・・・(^_^;)

移動や角度をX、Y、Zの方向に固定して変更したい場合もあると思います。そんな時は、

手首を移動する場合、手首を選択した状態でGキーを押します。
その後で固定したい方向(X、Y、Z)と同じキーを押せばその方向に固定して移動するようになります。

マウスを動かすとフリーであちこち動くので移動しようと思った位置や角度になっていない事があります。

そんな時は固定移動を使うといいです。

銃を構えるアニメーションを作成する

では銃を構えるアニメーションを作成していきましょう。
さきほどの画像のように手をおろして、立っている状態を作成します。

ブレンダーアニメ8

いったんここでモーションを保存しておきます。

Aキーを押して全部のリグを選択しIキーを押します。押したらLocRotを選択します。
LocRotを押すと選択したリグの位置や角度をキーフレームとして保存します。

キーフレームはそのフレームでのリグの位置や角度を保存した場所になります。
動かす前と動かした後の間のフレームは補間、その名の通り間を補って勝手にアニメーションされます。

キーフレームを打つとDopeSheetに丸がいくつか表示されているはずです。

このキーフレームを作っていく事でアニメーションの動きが作れます。

手の指を銃を持っているように変更します。

指先の四角いリグを全部選択し、角度を調整して何か持っているように変更してみます。
複数のリグを選択したい時はShiftキーを押しながら右クリックで選択します。

ブレンダーアニメ9

上のように指先を移動や回転をして調整し、何か物を持っているように変更します。
Iキー→LocRotして保存します。
これで初期状態の完成です。

次は銃を構える動作を作ります。
フレームを20フレームに移動させます。(フレームを選択するのは左クリック)
フレーム部分を左クリックからドラッグすれば細かな移動が出来ます。

ブレンダーアニメ10

フレーム20に移動したらモデルの右手手首にあるリグを選択し構えている状態まで移動&角度の調整をします。

調整したらそのまま(手首のリグだけ選択状態)Iキーを押してLocRotします。
これで20フレームでは手首だけ前方に突き出した状態でキーフレームが打たれます。
これで1フレームから20フレームへ右手を前に出す状態に変化していきます。

キーフレームを打ち忘れるとまったく変わりませんので気を付けてください。

ブレンダーアニメ11

次に右足首のリグを固定して前に出します。また腰のリグを下にさげ重心を落とします。

調整が終了したらIキー&LocRotでキーフレームを打ってください。

最後に左手を右手をささえるているような形に移動させます。

ブレンダーアニメ12

うーん、なんだかごちゃごちゃして解りづらいですね・・・、指と手首、肩のリグを選択してIキー&LocRotします。

ブレンダーアニメ13

左下のDopeSheetモードからTimelineに変更しアニメーションの変化を確認してみましょう。
上のような感じになりました。うまい具合に調整してみてください。

blenderのアニメーションのフレームレートをUnityのフレームレートに合わせます。

フレームレートをUnityに合わせる

↑のようにPropertiesのFrame Rateを24から60に変更します。

出来上がったアニメーションをファイルに出力しUnityでインポート

出来上がったらアニメーションをモデル込みで出力します。

File→Export→fbxで出力設定にいき、

fbx出力設定

人のメッシュとアーマチュアだけチェックを入れます。

Deform Boneだけを出力

Armaturesを選択しOnly Deform Boneにチェックを入れておきます。
ここでチェックを入れないと余計なものがいっぱいついてきます。

Export FBXのForwardをZ Forwardに変更し、出力します。

出力したFBXファイルをUnityで取り込みます。UnityのAssetsメニュー→Import New Assetで今出力したfbxファイルを選択し、インポートします。

インポートしたモデルのインスペクタでRig→Animation TypeをHumanoidに変更します。
Configureを選択し、Save、Applyします。

ブレンダーアニメ13

モデルを選択した状態でインスペクタのAnimationをクリックします。

ブレンダーアニメ14

アニメーションの3か所のBakeIntoPoseのチェックを入れます。
Humanoidにした事で他のキャラクターのアニメーションに今取り込んだモデルのアニメーションを適用する事が出来ます。

これでblenderでアニメーションを作りUnityに取り込む事が出来ます。
自分の思い描いているアニメーションが配布サイトで見つからない時は自分で作ってしまう方がいいですね

今回は最低限のblenderの機能を使ってアニメーションを作りました。
もっと色々な機能を使って楽に作成出来たらいいんですが、Unityに取り込んで使う事がメインなので、これでいいかなと思います。