Unity上で動く履帯の作り方 in Blender 2.82
はじめに
こんにちは、部員の杉山です。今回は新入生向けコンテンツを作り始めた際にひっかかった所を記事にしていきます。
事の起こり
履帯を作るにあたり私はいつも通りArrayモディファイアとCurveモディファイアを併用していました。そしてリグを打ち、ポーズモードでアニメーションを作るぞ!と思ったとき。
履帯が丸ごと動いてしまうことに気づきました、これではいけませんね。
本題
この問題を解決するにあたり、Youtubeで検索したところこのような動画が!
ここからは動画を参考に作っていきます。
動画 0:35~ 履帯部分作成
キューブの中心にループカットを挿入して、下半分を削除、面を作成し埋めます。
こうすることで、キューブの中心座標を下面に合わせているんですね。
上面を移動ツールで下げ、スケールツールでⅹ軸方向の厚みを調整。(筆者はY軸方向に厚み調節しました)
この時、Ctrl キーを押しながらだと綺麗に動かせます。
動画 1:23~ ボーンと関連付け
Amatureを作成し、CubeをBoneのTailに中心部分が重なるように移動させます。(キューブを動かす際は3Dカーソルを使うとうまく動かせます、Shift+Sのショートカットを上手く使いましょう)
移動出来たら、Shift キーを押しながらCube→Armatureの順で選択し、Ctrl+P、「自動のウェイト」を選択
動画 1:50~ 複製
平行投影で作業するのがよいでしょう。先ほど作成したArmatureとCubeのセットを選択、Shift+D で複製し動画の通りに並べていきます。数はお好きに。
動画 5:10~ アニメーション作成
今しがた作ったArmatureをすべて選択してPoseModeにし、履帯の動きを作っていきましょう。ここも動画の通りにしていれば問題ありません。
動画 8:22~ 複製
履帯を複製します。ObjectModeに戻し、全選択した後、複製しましょう。
動画 8:45~ 後退アニメーション
先ほど作ったアニメーションに後退を追加します。画面を増やして、DopeSheetに変更しましょう。開始時のモーションをShift+Dで複製し等間隔に配置します。
動画 10:13~ ループアニメーション
ここまで作ったアニメーションを再生するとゆっくりと加速減速し、ループ感が出ません。画面をGraphEditorに切り替えます。グラフが緩やかな曲線を描いているのが見て取れると思います。Aキーで全選択した後に、Vキーを押し「ベクトル」の項目を選択しましょう。再生すると直線的な緩急のない動きになったと思います。
動画 11:10~ FBX書き出し
FBX形式で書き出しします。
動画 11:23~ Unityに持っていく
ここからはUnityでの作業になります。出力したFBX形式のファイルをUnity上に持っていき、Scene上に配置します。Scene上に配置したモデルにAnimatorControllerを設定しておきましょう。
動画 11:40~ アニメーション
Unityに持ってきたモデルのPrefabを選択し、InspectorビューでAnimationの長さを調整します。前進部分のみを選択しLoopTimeにチェックを入れてください。分かりやすい様に名前を付けたらApplyを押しましょう。次に+マークを押し同じように後退のアニメーションも切り抜きます。
動画 13:40~ アニメーションコントロール
Animatorビューを開き、先程作った前進のアニメーションをドラッグ&ドロップしましょう。綺麗に前進できていますか?できていたら成功です。
まとめ
動画で紹介されているのはここまででしたが、自分で調べて動画終わりのように挙動に合わせた履帯の動きも作れればいいなと思います。