今回はBlenderでアニメーションを作り、Unityに取り込んで使ってみようと思います。
確認したBlenderのバージョンは2.76~2.79になります。
今回の記事を読み進める前にBlenderでリギングが済んでいる人型オブジェクトが必要になります。
もしくは
でRigifyの取りつけはなんとか出来ていると思うので?
それを使いましょう。
今回は銃を構えるアニメーションを作成していきます。
アニメーションを作成する時に動かすリグにIKの設定をする
メインウインドウでリグを右クリックで選択し、Object ModeからPose Modeに切り替えます。
上の画像のように右手のリグの部分、左手の同じ個所、両足首のリグを選択します。
(ひとつずつ処理しますので、同じ処理をそれぞれに加えてください)
選択する箇所は以下のような場所になります。
上の箇所を一つずつ選択し設定を変更していきます。
Tキーを押すと現れる上のタブ部分でRig Main PropertiesのFK/IKの所を右にドラッグし1に変更します。
すると右腕のそれぞれのリグで細かく動かす(肘だったり手首だったり)ようになっていたのがさきほど選択したリグを動かすと右手全体が動くようになります。
Rigifyのレイヤーを全部選択すると↑のように使わないものまで表示されます。
IKでアニメーションを作成する時にFK関連のリグが表示されていると邪魔なので
IKで動かす場合に使うレイヤーだけを選択し、FKは無効にしておきます。
↑のように表示されるリグが減りました。
右手、左手、右足、左足それぞれのIKの設定が出来たら、次はアニメーションの作成に入ります。
Blenderでアニメーション作成前の設定
Blenderでアニメーションを作成する前にウインドウの設定をしておきます。
メインのモデルが表示されているウインドウの左下のモードをDopeSheetに変更します。
↑の時計アイコンの部分をクリックしDopeSheetを選択します。
次にDopeSheetの右側のModeをActionEditorに変更します。
次にNewをクリックし、名前をShootに変更します。Fの部分をクリックします。
BlenderのアニメーションのフレームレートをUnityのフレームレートに合わせます。
↑のようにPropertiesウインドウのRenderのFrame Rateを24から60に変更します。
Blenderアニメーション作成時によく使う操作方法
Blenderでアニメーション作成時によく使う操作方法を確認しておきます。
となっています。
これらはPoseモード以外のObjectやEditモードでも共通になっているのでBlenderを使う時は覚えておいた方がいいです。
移動や角度の変更をX、Y、Zの方向に固定して変更したい場合もあると思います。
そんな時は、手首を移動する場合、手首を選択した状態でGキーを押します。
その後で固定したい方向(X、Y、Z)と同じキーを押せばその方向の軸に固定して移動するようになります。
マウスを動かすとフリーであちこち動くので移動しようと思った位置や角度になっていない事があります。
そんな時は固定移動を使うといいです。
銃を構えるアニメーションを作成する
銃を構えるアニメーションを作成していきましょう。
銃を構えるアニメーションを作る時に銃のモデルに合わせて指や手の位置を決定すると楽なので銃のモデルを用意します。
わたくしが作った適当なモデルを使いたい方は下のファイルをダウンロードして解凍し(zipで圧縮しています)、BlenderのFileメニューからImport→FBXでファイルを取り込んでください。
銃は銃を構え終わった時に位置しているであろう場所に移動させておきます(後から移動させるのも可能)。
アニメーションはただ立っている状態を初期状態として作り、銃を構える状態へ変わっていくように作ります。
フレームを1に合わせておきます。
上の画像のように両手、両足のIKを設定したリグを移動や回転させ、手をおろして立っている状態を作成します。
いったんここでモーションを保存しておきます。
Aキーを押して全部のリグを選択しIキーを押します。押したらLocRotを選択します。
LocRotを押すと選択したリグの位置や角度をキーフレームとして保存されます。
キーフレームはそのフレームでのリグの位置や角度を保存した場所になります。
動かす前と動かした後の間のフレームは補間、その名の通り間を補って勝手にアニメーションされます。
キーフレームを打つとDopeSheetに丸がいくつか表示されているはずです。
このキーフレームを作っていく事でアニメーションの動きが作れます。
手の指を銃を持っているように変更します。
右手の指先の四角いリグを全部選択し、角度を調整して何か持っているように変更してみます。
複数のリグを選択したい時はShiftキーを押しながら右クリックで選択します。
上のように指先を移動や回転をして調整し、何か物を持っているように変更します。
Iキー→LocRotして保存します。
これで初期状態の完成です。
次は銃を構える動作を作ります。
フレームを40フレームに移動させます。(フレームを選択するのは左クリック)
フレーム部分を左クリックからドラッグすれば細かな移動が出来ます。
フレーム40に移動したらモデルの右手手首にあるリグを選択し構えている状態まで移動&角度の調整をします。
調整したらそのまま(手首のリグだけ選択状態)Iキーを押してLocRotします。
これで40フレームでは右手首だけ前方に突き出した状態でキーフレームが打たれます。
これで1フレームから40フレームへ右手を前に出す状態に変化していきます。
キーフレームを打ち忘れるとまったく変わりませんので気を付けてください。
次に左足首のリグを固定して前に出します。また腰のリグを下にさげ重心を落とします。
調整が終了したらIキー&LocRotでキーフレームを打ってください。
最後に左手を右手をささえるているような形に移動させます。
うーん、なんだかごちゃごちゃして解りづらいですね・・・、指と手首、肩のリグを選択してIキー&LocRotします。
ここで手と指の位置と角度調整のために取り込んだ銃の簡易モデルを使います。
銃の簡易モデルに合わせて手の位置や指の位置を調整します。
左下のDopeSheetモードからTimelineに変更しアニメーションの変化を確認してみましょう。
以下のような銃を構えるアニメーションが出来ました。
出来上がったアニメーションをファイルに出力しUnityでインポート
出来上がったらアニメーションをモデル込みで出力します。
人型モデルとRigをShiftキーを押しながら選択します。
File→Export→FBXで出力設定にいき、Selected Objectsにチェックを入れ、ForwardをZ Forward、!EXPERIMENTAL! Apply Transformにチェックを入れます。
ArmaturesとMeshだけチェックします。
Armaturesタブを選択します。
Only Deform Boneにチェックを入れておきます。
ここでチェックを入れないと余計なものがいっぱいついてきます。
出力したFBXファイルをUnityで取り込みます。UnityのAssetsメニュー→Import New Assetで今出力したfbxファイルを選択し、インポートします。
インポートしたモデルのインスペクタでRig→Animation TypeをHumanoidに変更します。
Configureを選択し、Save、Applyします。
モデルを選択した状態でインスペクタのAnimationをクリックします。
アニメーションの3か所のBakeIntoPoseのチェックを入れます。
Humanoidにした事で他のHumanoidにしたキャラクターに今取り込んだモデルのアニメーションを適用する事が出来ます。
これでBlenderでアニメーションを作りそれをUnityに取り込む事が出来ました。
終わりに
自分の思い描いているアニメーションが配布サイトで見つからない時は自分で作ってしまう方がいいですね
今回は最低限のBlenderの機能を使ってアニメーションを作りました。
もっと色々な機能を使って楽に作成出来たらいいんですが、Unityに取り込んで使う事がメインなので、これでいいかなと思います。