Blenderを使ってUnityにアニメーションを追加する手順
たくさんのアニメーションがデフォルトでついているUnityちゃん。動かしているだけでとても楽しいですよね。
そんなUnityちゃんを動かしているうちに、「自分で別のアニメーションを増やしてみたい」と感じるようになった方もいるのではないでしょうか。
今回は「Blender」を用いたUnityちゃんのアニメーション追加手順についてご紹介します。
今回はこちらの記事を参考にさせていただいております。
本稿はユニティちゃんライセンス条項の元に提供されています。
下準備
Blenderを起動したらまずUI設定を施していきます。手順は次の通りです。
1.[File]->[User Preferences]の手順でUI設定画面を開く。
![下準備_UI設定_開く](https://xr-hub.com/wp-content/uploads/2019/03/下準備_UI設定_開く.png)
2.「System」画面を開き少し下にスクロールしたら、「Language」右側にあるタブを開き言語選択を行う。
3.「Interface」と「Tooltips」をクリックし日本語化。
4.「ユーザー設定の保存」を選択し設定の保存を行う。
![UI日本語化手順](https://xr-hub.com/wp-content/uploads/2019/03/UI日本語化.gif)
次に標準で配置されている「Cube」を削除します。アウトライナーウィンドウで「Cube」を右クリックした後、削除を選択してください。
![Cube_削除](https://xr-hub.com/wp-content/uploads/2019/03/Cube_削除.gif)
以上で簡単な下準備は終了です。
アニメーション作成手順
人型アーマーチュア追加
今回はUnityちゃんのアニメーションを作成していくため人型のアーマーチュア(モデルの骨組み)を使います。Blenderはデフォルトの設定では単一ボーンしか利用できません。
![アーマーチュア_デフォルト](https://xr-hub.com/wp-content/uploads/2019/03/アーマーチュア_デフォルト.png)
利用できるボーンに「人型ボーン」を追加していきます。手順は以下の通りです。
- [ファイル]->[ユーザー設定]の手順でUI設定画面を開く。
- 「アドオン」画面を開き下にスクロールし、「リギング」という項目を選択する。
- 上にスクロールし「Rigging:Rigify」左側にあるチェックボックスをクリック
- 設定を保存。
![人型ボーン追加_UI設定1](https://xr-hub.com/wp-content/uploads/2019/03/人型ボーン追加_UI設定1.gif)
UI設定が済んだら[追加]->[アーマーチュア]->[Human(Meta-Rig)]の手順で人型ボーンをシーンビューに追加していきます。
これで人型アーマーチュアの追加は完了です。
アニメーション作成
どういった手法でアニメーションを追加していくかというとタイムラインに「キーフレーム」を追加して行くといった手法になります。
Unityにおいてもアニメーションクリップを作成する際にはキーフレームを用いてアニメーション作成を行います。
キーフレームについて簡単に説明すると、まずアニメーションの軸となるフレーム(キーフレーム)でオブジェクの「位置」「大きさ」「角度」を調整します。
アニメーションはこのあらかじめ用意されたキーフレームに向かって変遷を行っていきます。
![キーフレーム_説明1](https://xr-hub.com/wp-content/uploads/2019/03/キーフレーム_説明1.png)
アニメーション作成というと、例えばクレイアニメーションの様なコマ撮りをイメージしがちかもしれません。キーフレームを用いれば簡単にアニメーション変遷を実現することができます。
*もし思った通りの変遷しない場合はキーフレームとキーフレームの間にさらにキーフレームを追加することで、アニメーション変遷の矯正を行ってください。
では実際にアニメーションを追加していきます。このままではボーンのポーズを動かすことができないので「オブジェクトモード」から「ポーズモード」に切り替えていきます。
![ポーズモード_切り替え](https://xr-hub.com/wp-content/uploads/2019/03/ポーズモード_切り替え.png)
ポーズモードにするとボーンが青くなっていることが確認できます。これはボーンを全選択していることを意味します。
![ポーズモード_ボーン](https://xr-hub.com/wp-content/uploads/2019/03/ポーズモード_ボーン.png)
このデフォルトのポーズをキーフレームに保存しておきます。理由としましてはUnityにエクスポートした際に適用しやすくするためです。詳細は後ほど述べます。
保存方法は次の通りです。
- キーボードより「A」キーを押しボーンを全選択する。
- 「I」キーを押しキーフレーム挿入メニューより「位置/回転」を選択する。
- 緑色のバーが配置されていたフレームにキーフレームが追加される。
![デフォポーズ_キーフレーム追加](https://xr-hub.com/wp-content/uploads/2019/03/デフォポーズ_キーフレーム追加.gif)
*黄色いバーが追加されたキーフレームです。
この手順で好きなフレームを選択し、ボーンに好きなポーズをとらせ、キーフレームを追加していきます。
ポーズの取らせ方は、まず動かしたい部位を右クリックで選択します。その後「R」キーを押しカーソルを動かして好きな角度に調整し左クリックを押してポーズを固定します。
![ポーズ_調整方法](https://xr-hub.com/wp-content/uploads/2019/03/ポーズ_調整方法.gif)
「R」キーを押した後「X」「Y」「Z」のいずれかのキーを押すと軸を固定してポーズ調整ができます。
![ポーズ_軸固定_調整方法](https://xr-hub.com/wp-content/uploads/2019/03/ポーズ_軸固定_調整方法.gif)
*複数同時に動かしたい場合は「Shift」キーを押しながら右クリックすると複数選択可能です。
以上の手順でキーフレームを追加していってください。本稿で使うアニメーションは以下のものになります。
![アニメーション_ジャンプ_通し_Blender](https://xr-hub.com/wp-content/uploads/2019/03/アニメーション_ジャンプ_通し_Blender.gif)
Blender→Unityエクスポート手順
アニメーションが完成したらUnityにエクスポートしていきます。[ファイル]->[エクスポート]->[FBX]の手順でファイル形式を選択してください。
![エクスポート_FBX選択](https://xr-hub.com/wp-content/uploads/2019/03/エクスポート_FBX選択.png)
続いて以下の手順でエクスポート設定を施してください。
- 保存先のフォルダを選択。
- 「メイン」タブを開きエクスポートするオブジェクト(アーマチュア、メッシュ)を選択。
- 「アーマチュア」タブを開き「デフォームボーンのみ」を適用、「リーフボーン追加」を解除。
- 「FBXをエクスポート」をクリック。
![Bleder_Unity_エクスポート手順 (1)](https://xr-hub.com/wp-content/uploads/2019/03/Bleder_Unity_エクスポート手順-1.gif)
*エクスポートしたいUnityのアセットフォルダに直接エクスポートすると楽です。
カメラやランプ等のオブジェクトは必要ないため「アーマチュア」と「メッシュ」のみをエクスポートするように設定します。
以上でBlender側で行う操作は終了です。作成したアニメーションは保存しておきましょう。
Unityちゃんにアニメーションを適用する
それではUnityちゃんを動かしていきます。先ほどBlenderからアニメーションファイルをエクスポートしたフォルダを確認してみてください。
以下の画像がエクスポートされたファイルのアイコンです。
![FBXアイコン](https://xr-hub.com/wp-content/uploads/2019/03/FBXアイコン.png)
ファイルの設定をしていきます。手順は以下の通りです。
- ファイルを選択したらInspectorウィンドウで「Rig」のタブを選択します。
- Animation Typeを「Humanoid」に変更。
- 「Apply」をクリック。
![Rig設定_Humanoid化2](https://xr-hub.com/wp-content/uploads/2019/03/Rig設定_Humanoid化2.gif)
これでアニメーションタイプが人型であると認識されました。
今回エクスポートしたファイル横にある三角形をクリックしてみてください。そこに今回作成したアニメーションクリップが組み込まれています。
![FBXファイル_アニメーションクリップ2](https://xr-hub.com/wp-content/uploads/2019/03/FBXファイル_アニメーションクリップ2.png)
このアニメーションクリップを用いてUnityちゃんを動かしていきましょう。今回はタイムラインにアニメーションクリップを追加して動かしていきます。
タイムラインにアニメーションクリップを追加できたらゲームを実行、もしくはタイムラインの再生ボタンを押してみましょう。
![Unityちゃん_ジャンプ_通し_T字補正前](https://xr-hub.com/wp-content/uploads/2019/03/Unityちゃん_ジャンプ_通し_T字補正前.gif)
若干Unityちゃんのポーズがぎこちなくなっていることに気づいた方もいらっしゃるかもしれません。
![Unityちゃん_ジャンプ_通し_問題点](https://xr-hub.com/wp-content/uploads/2019/03/Unityちゃん_ジャンプ_通し_問題点.gif)
Blenderで指定したキーフレームにおける各ポーズが少しずれてしまっています(もし問題がなかった場合は以下の工程は無視していただいて構いません。)。
もう一度エクスポートファイルを選択しInspectorウィンドウで「Configure」をクリックしてください。
![Inspector_configure2](https://xr-hub.com/wp-content/uploads/2019/03/Inspector_configure2.png)
![ポップアップ_セーブ](https://xr-hub.com/wp-content/uploads/2019/03/ポップアップ_セーブ.png)
*ポップアップはSaveを選択しておきましょう。
この画面はボーンがどのように割り振られているのかといったことを確認できる画面になっています。
![リグ_ボーン割り振り](https://xr-hub.com/wp-content/uploads/2019/03/リグ_ボーン割り振り.png)
シーンビューを確認すると以下の画像のようなエラーが表示されていると思います。
![Configure_Tpose_補正前](https://xr-hub.com/wp-content/uploads/2019/03/Configure_Tpose_補正前.png)
これが作成したUnityちゃんのアニメーションに、わずかなずれを生じさせている原因です。モデルをTポーズに補正しましょう。
手順は次の通りです。
- [Pose]->[Enforce T-Pose]でTポーズに補正。
- [Apply]で適用。
- [Done]でConfigureモードを終了。
![リグ_Tポーズ補正_手順](https://xr-hub.com/wp-content/uploads/2019/03/リグ_Tポーズ補正_手順.gif)
先ほどBlenderでアニメーションを作成した際に、一番最初のキーフレームにデフォルトのポーズを追加したのはこのためです。
複雑なポーズだと複数回「Enforce T-Pose」しないと、Tポーズがうまく反映されません。
反映されたとしても綺麗なTポーズにはならず、アニメーションの動きにわずかなずれが生じるものになってしまいます。
*例えば…最初のキーフレームがかがんでいるポーズ(10フレーム目のポーズ)だった場合
![T-Pose_失敗例](https://xr-hub.com/wp-content/uploads/2019/03/T-Pose_失敗例.gif)
すこし横道に逸れました。アニメーションを再生してみましょう。
![Unityちゃん_ジャンプ_通し_T字補正後](https://xr-hub.com/wp-content/uploads/2019/03/Unityちゃん_ジャンプ_通し_T字補正後.gif)
![Unityちゃん_ジャンプ_通し_改善部分](https://xr-hub.com/wp-content/uploads/2019/03/Unityちゃん_ジャンプ_通し_改善部分.gif)
各キーフレームで指定したポーズがしっかりと反映されています。
*おまけ
![Unityちゃん_キック_おまけ2](https://xr-hub.com/wp-content/uploads/2019/03/Unityちゃん_キック_おまけ2.gif)
合計フレーム数、キーフレーム数を追加すればこういったアニメーションも簡単に作成で来ます。
まとめ
いかがでしたでしょうか。今回はBlenderで作成したアニメーションをUnityちゃんに適応させる方法についてご紹介してきました。
アニメーション作成となると手間がかかると思われやすいかもしれません。しかし、キーフレームという機能のおかげでアニメーション作成は手軽なものになっています。
Unityちゃん以外にも様々なアセットでこの手順は応用可能です。好きなモデルをガシガシ動かしてみたら面白いかもしれません。
Blenderにおけるアニメーション作成、Unityのアニメーション機能について興味を持った方はこちら↓
モデリングに興味を持った方はこちら↓
![アイキャッチ_ユニティちゃん_](https://xr-hub.com/wp-content/uploads/2019/03/アイキャッチ_ユニティちゃん_-300x173.png)
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!