Blenderを使ってUnityにアニメーションを追加する手順


アイキャッチ_ユニティちゃん_2

たくさんのアニメーションがデフォルトでついているUnityちゃん。動かしているだけでとても楽しいですよね。

そんなUnityちゃんを動かしているうちに、「自分で別のアニメーションを増やしてみたい」と感じるようになった方もいるのではないでしょうか。

今回は「Blender」を用いたUnityちゃんのアニメーション追加手順についてご紹介します。

今回はこちらの記事を参考にさせていただいております。

  1. Blenderで人型用のアニメーションを自作して、Unity上のモデルに適用するまでの流れ
  2. Mecanim で humanoid をインポートするとき、はまらないためには

 

ユニティちゃんライセンス

本稿はユニティちゃんライセンス条項の元に提供されています。

下準備

Blenderを起動したらまずUI設定を施していきます。手順は次の通りです。

1.[File]->[User Preferences]の手順でUI設定画面を開く。

下準備_UI設定_開く
UI設定

2.「System」画面を開き少し下にスクロールしたら、「Language」右側にあるタブを開き言語選択を行う。
3.「Interface」と「Tooltips」をクリックし日本語化。
4.「ユーザー設定の保存」を選択し設定の保存を行う。

UI日本語化手順
UI日本語化手順

次に標準で配置されている「Cube」を削除します。アウトライナーウィンドウで「Cube」を右クリックした後、削除を選択してください。

Cube_削除
Cube 削除

以上で簡単な下準備は終了です。

アニメーション作成手順

人型アーマーチュア追加

今回はUnityちゃんのアニメーションを作成していくため人型のアーマーチュア(モデルの骨組み)を使います。Blenderはデフォルトの設定では単一ボーンしか利用できません。

アーマーチュア_デフォルト
単一ボーン

利用できるボーンに「人型ボーン」を追加していきます。手順は以下の通りです。

  1. [ファイル]->[ユーザー設定]の手順でUI設定画面を開く。
  2. アドオン」画面を開き下にスクロールし、「リギング」という項目を選択する。
  3. 上にスクロールし「Rigging:Rigify」左側にあるチェックボックスをクリック
  4. 設定を保存。
人型ボーン追加_UI設定1
人型ボーン追加手順

UI設定が済んだら[追加]->[アーマーチュア]->[Human(Meta-Rig)]の手順で人型ボーンをシーンビューに追加していきます。

これで人型アーマーチュアの追加は完了です。

アニメーション作成

どういった手法でアニメーションを追加していくかというとタイムラインに「キーフレーム」を追加して行くといった手法になります。

Unityにおいてもアニメーションクリップを作成する際にはキーフレームを用いてアニメーション作成を行います。

アニメーションクリップについてはこちら

キーフレームについて簡単に説明すると、まずアニメーションの軸となるフレーム(キーフレーム)でオブジェクの「位置」「大きさ」「角度」を調整します。

アニメーションはこのあらかじめ用意されたキーフレームに向かって変遷を行っていきます。

キーフレーム_説明1
キーフレームについて

アニメーション作成というと、例えばクレイアニメーションの様なコマ撮りをイメージしがちかもしれません。キーフレームを用いれば簡単にアニメーション変遷を実現することができます。

*もし思った通りの変遷しない場合はキーフレームとキーフレームの間にさらにキーフレームを追加することで、アニメーション変遷の矯正を行ってください。

では実際にアニメーションを追加していきます。このままではボーンのポーズを動かすことができないので「オブジェクトモード」から「ポーズモード」に切り替えていきます。

ポーズモード_切り替え
ポーズモード

ポーズモードにするとボーンが青くなっていることが確認できます。これはボーンを全選択していることを意味します。

ポーズモード_ボーン
ポーズモード ボーン

このデフォルトのポーズをキーフレームに保存しておきます。理由としましてはUnityにエクスポートした際に適用しやすくするためです。詳細は後ほど述べます。

保存方法は次の通りです。

  1. キーボードより「A」キーを押しボーンを全選択する。
  2. 「I」キーを押しキーフレーム挿入メニューより「位置/回転」を選択する。
  3. 緑色のバーが配置されていたフレームにキーフレームが追加される。
デフォポーズ_キーフレーム追加
キーフレーム追加手順

*黄色いバーが追加されたキーフレームです。

この手順で好きなフレームを選択し、ボーンに好きなポーズをとらせ、キーフレームを追加していきます。

ポーズの取らせ方は、まず動かしたい部位を右クリックで選択します。その後「R」キーを押しカーソルを動かして好きな角度に調整し左クリックを押してポーズを固定します。

ポーズ_調整方法
ポーズ調整方法

「R」キーを押した後「X」「Y」「Z」のいずれかのキーを押すと軸を固定してポーズ調整ができます。

ポーズ_軸固定_調整方法
軸固定 調整方法

*複数同時に動かしたい場合は「Shift」キーを押しながら右クリックすると複数選択可能です。

以上の手順でキーフレームを追加していってください。本稿で使うアニメーションは以下のものになります。

アニメーション_ジャンプ_通し_Blender
アニメーション

Blender→Unityエクスポート手順

アニメーションが完成したらUnityにエクスポートしていきます。[ファイル]->[エクスポート]->[FBX]の手順でファイル形式を選択してください。

エクスポート_FBX選択
エクスポート FBX選択

続いて以下の手順でエクスポート設定を施してください。

  1. 保存先のフォルダを選択。
  2. 「メイン」タブを開きエクスポートするオブジェクト(アーマチュア、メッシュ)を選択。
  3. 「アーマチュア」タブを開き「デフォームボーンのみ」を適用、「リーフボーン追加」を解除。
  4. 「FBXをエクスポート」をクリック。
Bleder_Unity_エクスポート手順 (1)
エクスポート手順

*エクスポートしたいUnityのアセットフォルダに直接エクスポートすると楽です。

カメラやランプ等のオブジェクトは必要ないため「アーマチュア」と「メッシュ」のみをエクスポートするように設定します。

以上でBlender側で行う操作は終了です。作成したアニメーションは保存しておきましょう。

Unityちゃんにアニメーションを適用する

それではUnityちゃんを動かしていきます。先ほどBlenderからアニメーションファイルをエクスポートしたフォルダを確認してみてください。
以下の画像がエクスポートされたファイルのアイコンです。

FBXアイコン
アイコン

ファイルの設定をしていきます。手順は以下の通りです。

  1. ファイルを選択したらInspectorウィンドウで「Rig」のタブを選択します。
  2. Animation Typeを「Humanoid」に変更。
  3. 「Apply」をクリック。
Rig設定_Humanoid化2
Rig設定 Humanoid化

これでアニメーションタイプが人型であると認識されました。

今回エクスポートしたファイル横にある三角形をクリックしてみてください。そこに今回作成したアニメーションクリップが組み込まれています。

FBXファイル_アニメーションクリップ2
FBXファイル アニメーションクリップ

このアニメーションクリップを用いてUnityちゃんを動かしていきましょう。今回はタイムラインにアニメーションクリップを追加して動かしていきます。

タイムラインにおけるアニメーションクリップ追加方法はこちら

タイムラインにアニメーションクリップを追加できたらゲームを実行、もしくはタイムラインの再生ボタンを押してみましょう。

Unityちゃん_ジャンプ_通し_T字補正前
Unityちゃん アニメーション

若干Unityちゃんのポーズがぎこちなくなっていることに気づいた方もいらっしゃるかもしれません。

Unityちゃん_ジャンプ_通し_問題点
問題点

Blenderで指定したキーフレームにおける各ポーズが少しずれてしまっています(もし問題がなかった場合は以下の工程は無視していただいて構いません。)。

もう一度エクスポートファイルを選択しInspectorウィンドウで「Configure」をクリックしてください。

Inspector_configure2
Configure
ポップアップ_セーブ
ポップアップ

*ポップアップはSaveを選択しておきましょう。

この画面はボーンがどのように割り振られているのかといったことを確認できる画面になっています。

リグ_ボーン割り振り
リグ

シーンビューを確認すると以下の画像のようなエラーが表示されていると思います。

Configure_Tpose_補正前
ポーズエラー

これが作成したUnityちゃんのアニメーションに、わずかなずれを生じさせている原因です。モデルをTポーズに補正しましょう。
手順は次の通りです。

  1. [Pose]->[Enforce T-Pose]でTポーズに補正。
  2. [Apply]で適用。
  3. [Done]でConfigureモードを終了。
リグ_Tポーズ補正_手順
Tポーズ補正手順

先ほどBlenderでアニメーションを作成した際に、一番最初のキーフレームにデフォルトのポーズを追加したのはこのためです。

複雑なポーズだと複数回「Enforce T-Pose」しないと、Tポーズがうまく反映されません。

反映されたとしても綺麗なTポーズにはならず、アニメーションの動きにわずかなずれが生じるものになってしまいます。

*例えば…最初のキーフレームがかがんでいるポーズ(10フレーム目のポーズ)だった場合

T-Pose_失敗例
Tポーズ 失敗例

すこし横道に逸れました。アニメーションを再生してみましょう。

Unityちゃん_ジャンプ_通し_T字補正後
Unityちゃん補正後
Unityちゃん_ジャンプ_通し_改善部分
改善部分

各キーフレームで指定したポーズがしっかりと反映されています。

 

*おまけ

Unityちゃん_キック_おまけ2
おまけ

合計フレーム数、キーフレーム数を追加すればこういったアニメーションも簡単に作成で来ます。

まとめ

いかがでしたでしょうか。今回はBlenderで作成したアニメーションをUnityちゃんに適応させる方法についてご紹介してきました。

アニメーション作成となると手間がかかると思われやすいかもしれません。しかし、キーフレームという機能のおかげでアニメーション作成は手軽なものになっています。

Unityちゃん以外にも様々なアセットでこの手順は応用可能です。好きなモデルをガシガシ動かしてみたら面白いかもしれません。

Blenderにおけるアニメーション作成、Unityのアニメーション機能について興味を持った方はこちら↓

モデリングに興味を持った方はこちら↓


アイキャッチ_ユニティちゃん_

この記事はいかがでしたか?よければシェアをお願いします。

Massuuuu