今回は、Blender上でアニメーションを登録した3Dモデルをエクスポートして、Unityにインポートした後、Animator Controller機能を使ってアニメーションさせる方法を解説する。何度かの失敗を解決しながら最終的にアニメーションされることができた。
前回までで、Blender上で金魚オブジェクトにアニメーションさせることができた。
今回は、Blenderで作成した金魚アニメーションをUnity上で動かす。
タイムライン上にアニメーションを登録する方法は前回記事(以下)参照。
準備
デスクトップの“kinjo01”blenderファイルを開く。
前回スキニングを完了した状態が表示された。
![](https://nahbun50.com/wp-content/uploads/2022/09/795316b92fc766b0181f6fef074f03fa-500x145.png)
BlenderからUnity用のファイルをエクスポート
Unity用にエクスポートするときのファイル拡張子は .fbx。
画面上部メニューから「ファイル」→「エクスポート」を選択してクリック。
表示された拡張子メニューから「FBX(.fbx)」を選択してクリック。
![](https://nahbun50.com/wp-content/uploads/2022/09/2b530e80c7d0de90885e285c5d798063-800x336.png)
Blenderファイルビューウィンドウが表示される。
![](https://nahbun50.com/wp-content/uploads/2022/09/c8856789ec11ab8b1013037cef6929f9-500x318.png)
やること2つ
①ウィンドウの右メニューの“オブジェクトタ・・・”項目を“アーマチュア”と“メッシュ”のみに変更。
②“トランスフォーム”項目の“□トランスフォー・・・”項目にチェックを入れる(□→☑)。
他の項目はそのまま。
![](https://nahbun50.com/wp-content/uploads/2022/09/3a4f695a458cb0ac0aceaa2eb13ac2dd-800x455.png)
自動的に、保存場所はデスクトップ、ファイル名は“kinjo01.fbx”となっているので、そのまま右下の[FBXをエクスポート]ボタンをクリックする。
デスクトップに“kinjo01”ファイル(.fbx)が追加された。
次はこれをUnityにインポートする。
![](https://nahbun50.com/wp-content/uploads/2022/09/f96d9b4281f6d16b3c7589aed5a17be5-800x207.png)
Unityに3Dモデルをインポートする
この記事の時点では、UnityはまだMacにしか導入していなかったため、“kinjo01.fbx”ファイルをMacにインポートしてデスクトップに設置する。
補足:以前に作成したOBJフォルダ(MagicaVoxelからUnityあるいはBlender用にエクスポートした時に作成した、.mtl, .obj, .pngの3つのファイルが入ったフォルダ)がすでにMacにインポートされ、デスクトップに設置されていた。これが後で役に立った。
Unity起動
Unity HubアイコンをダブルクリックしてUnityを起動。
![](https://nahbun50.com/wp-content/uploads/2022/09/94ed160662be198949535a112047e9b4-800x304.png)
新規プロジェクト作成
“Projects”ウィンドウで[New project]ボタンをクリック。
“New project”ウィンドウで、“3D”を選択、右下のProject nameを入力し、[Create project]ボタンをクリック。
![](https://nahbun50.com/wp-content/uploads/2022/09/f4a1b0aed5dc02442c433030ff24c031-800x264.png)
新しいProjectの編集画面が表示される。
Unity新規プロジェクト内にモデルをインポート
デスクトップに設置した“kinjo01.fbx”ファイルを、Unity画面のProjectsウィンドウAssetsフォルダ内にドラッグ&ドロップする。
![](https://nahbun50.com/wp-content/uploads/2022/09/8aa09ea6d7822fbb10331635d428d488-800x461.png)
Sceneビューにモデルを表示させる
Assetsフォルダ内にインポートされた“kinjo01”ファイルを(そのまま丸ごと)、画面左のHierarchyウィンドウ内にドラッグ&ドロップする。
![](https://nahbun50.com/wp-content/uploads/2022/09/f36fc0458607842cbf0775516687491b-800x522.png)
Sceneビューに色の無い金魚オブジェクトが表示された。
どうやら .fbxファイルには色の情報が無いらしい。
ここからオブジェクトに色を付けるまで大変で、色々検索した。最終的に以下の解決方法が今回は正解と判断した。
インポートしたモデルに着色する
前述したOBJフォルダ(MagicaVoxelからエクスポートしたファイル群)内にある .pngファイルを、Assetsフォルダ内にドラッグ&ドロップする。
![](https://nahbun50.com/wp-content/uploads/2022/09/e99cc3808964d9e08ec8fb27d43842de-800x435.png)
そのまま待っていると、自動的に金魚に色が付いた。
簡単な解決方法だった。今後もこれで解決すればよいが。
![](https://nahbun50.com/wp-content/uploads/2022/09/b1db37a1df6c6332fc8bdf704e9d1e49-500x328.png)
続いてインポートした金魚を動かす。
アニメーション設定1 Animator Controller
新規Animator Controller作成
はじめにオブジェクトに“Animator Controller”というものを設定する。
画面上部メニューの「Assets」をクリック。表示メニューから「Create」クリック。
さらに表示されるメニューの中から「Animator Controller」をクリック。
![](https://nahbun50.com/wp-content/uploads/2022/09/1249f2682be7181f6a6266c99ee5cae6-800x232.png)
Assetsフォルダ内に“New Animator”という名前のファイルが追加された。このファイルがAnimator Controller。
![](https://nahbun50.com/wp-content/uploads/2022/09/ad328257df3c27d0237be29c2f1fd87c-800x256.png)
オブジェクトにAnimator Controllerを設定
Assetsフォルダ内のAnimator Controllerファイルをクリックして選択した後、Sceneビューにある金魚オブジェクトにドラッグ&ドロップする。
(Hierarhcyウィンドウのリストにあるオブジェクトにドラッグ&ドロップでは、今回はうまくいかなかった。)
![](https://nahbun50.com/wp-content/uploads/2022/09/90b0dfa136419ccc91fda6fec27764ca-500x328.png)
画面右にあるInspectorウィンドウで見てみると、Animator Controllerをドラッグ&ドロップすると、kinjo01オブジェクトに”☑ Animator”という項目が追加されている。
![](https://nahbun50.com/wp-content/uploads/2022/09/571a82aa9fa95e9dd03f724dc3a94890-800x508.png)
Animator Controllerウィンドウ内の設定
次は、Animator Controllerのウィンドウを開いて、アニメーションの設定を行う。
画面上部メニューの「Window」→「Animation」→「Animator」を選択してクリック。
![](https://nahbun50.com/wp-content/uploads/2022/09/1229c317e01c766a53c2709efe066b18-800x374.png)
Animator Controller(Animatorビュー)が表示された(あとで気付いたが、Scene, Gameタブの横にあるAnimatorタブをクリックするだけでもAnimatorビューは開ける)。
このAnimatorビュー内にアニメーションファイルを設置して挙動を設定することで、オブジェクトにアニメーションさせることができる。
![](https://nahbun50.com/wp-content/uploads/2022/09/085f435ecdb57e7076774ccbc381f72e-800x430.png)
アニメーションファイルをAnimator Controllerに登録
まずAnimatorビューに設置するアニメーションファイルはどこにあるのか。
Assetsフォルダ内の“kinjo01”ファイルを開くと、いくつかのファイルが表示される。
三角形が横に移動するアイコンがBlenderで作成したアニメーションのファイルである。
![](https://nahbun50.com/wp-content/uploads/2022/09/88ed93005e0cb97394dcb2f41037a9e6-800x384.png)
アニメーションのファイルをAnimatorビュー内にドラッグ&ドロップする。
![](https://nahbun50.com/wp-content/uploads/2022/09/485aac62cea3d548d1555ce3bfa037e6-500x328.png)
Animatorビュー内に、[アーマチュア|アーマチュアAction]というブロックが表示され、[Entry]と書かれたブロックと矢印で自動的に接続される。
(「アーマチュアAction」というのは、Blenderでアニメーションを作成した時の、アニメーションの名前である。自動で命名されていた。)
![](https://nahbun50.com/wp-content/uploads/2022/09/aeb80bad1055d60bd4b8dc8204f77f1c-500x279.png)
アニメーションの再生(1回きり)
画面上部中央の[▶]Playボタンをクリックすると、Gameビューとなり、金魚が左右に1回ずつ体をひねって・・・・止まった。1回だけ?
[▶]をもう一回クリックして停止させ(こうしないとちゃんと止まらない)、カメラの位置を変えて、金魚が良く見えるようにしてから、もう一度[▶]クリック。しかし、やはり左右1回ずつ動いて・・・止まった。なぜ?
![](https://nahbun50.com/wp-content/uploads/2022/09/51e8fc29fa61692e70bc4c925b602ad0-800x392.png)
繰り返しのアニメーション
1回きりのアニメーションを繰り返して実行するためには、Animatorビューにある[Exit]ブロックと矢印で連結させる。
・・・しかし・・・Animatorビュー内に[Exit]がない・・・!?
[Exit]ブロックを表示させる
ビュー内にマウスポインターを置いた状態で、マウスホイールを上下させると、ビュー内部の視点が拡大縮小された。視点を引いていったところ、離れた位置に[Exit]ブロックが存在していた。
![](https://nahbun50.com/wp-content/uploads/2022/09/4b820548ffdca22d08fbb3ba51ee22f3-800x400.png)
ブロックをつなぐ矢印の作成
矢印の始点としたいブロック(今回は[アーマチュア|アーマチュアAction])をクリックして選択。右クリックでメニューを表示。メニュー中から「Make Transition」をクリック。
![](https://nahbun50.com/wp-content/uploads/2022/09/92d57db0790a5fa5b8a0cc20858a9366-500x207.png)
ブロックから矢印が伸びるので、先端を目的のブロック(今回は[Exit])まで持っていき、左クリックで設置する。
![](https://nahbun50.com/wp-content/uploads/2022/09/c2dda1d20b57ad8d0298a15686591503-500x287.png)
アニメーションの再生
再度[▶]Playをクリック。
今度は金魚が繰り返し左右に体をひねるアニメーションが表示された。
アニメーション完成。
![](https://nahbun50.com/wp-content/uploads/2022/09/2daf4508ecfda0c22097a042b7d1c1b4-800x212.png)
保存
画面上部メニューから「File」→「Save」クリックして保存した。
![](https://nahbun50.com/wp-content/uploads/2022/09/2f18037bd1f8ce03c181f385b76816e3-800x258.png)
やっと、MagicaVoxelで作成した3Dオブジェクト(金魚)を、Blenderで編集(アーマチュア設置、アニメーション設定)し、Unityで動かすことができた。
色々と失敗もして大変だったが一応目標は達成。さて、これをどうしよう。
参考書籍:楽しく学ぶUnity3D超入門講座 森巧尚著