UnityちゃんをBlenderにインポートしてアニメーションを作成する


以前の記事でBlenderでアニメーションを作成してUnityにエクスポートする手順についてご紹介しました。よろしければ以下の記事もご覧ください。

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

Blender側で用意されている人型ボーンを用いればUnityちゃんの手足は簡単に動かすことができます。

しかしポーズを調整しているうちにボーンの角度が複雑になり、想像していたポーズ実際のポーズギャップが生まれてしまうことがあると思います。

今回はUnityちゃんをBlenderにインポートしてアニメーション作成を行っていく手順についてご紹介していきます。

Unityちゃんのモデルを読み込むことのメリットは、メッシュオブジェクトの実際の動きを確認しながらアニメーションを作成できることです。

今回は

  • UnityちゃんをBlenderにインポートする手順
  • UnityちゃんのBlender上でのTransform調整
  • ボーンの連動

についてご紹介していきます。

本稿は以下の記事様を参考に作成させていただきました。

 

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

UnityちゃんをBlenderにインポートする

まず最初にUnityちゃんをBlenderにインポートしていきます。

Unityちゃんのダウンロードについては以下のリンクへ飛んでください。

手順は次の通りです。

1.[ファイル][インポート][FBX.(.fbx)]の手順で選択。

FBX_インポート_手順1
手順1

2.アーマーチュアタブを開き、「リーフボーンを無視」「子を強制的に接続」を適用。
3.プライマリボーン軸を「X軸」セカンダリボーン軸を「Y軸」に設定。
4.Unityちゃんのファイルを選択。
5.「FBXをインポート」をクリック。

FBX_インポート_手順2_kai
手順2~5
FBX_インポート後
インポート後

インポート手順の重要な点は「子を強制的に接続」「軸設定」です。ここを設定しておかないと、Unityちゃんのボーンが乱れ、アニメーションをつくる際のポーズ決めに支障が出ます。

ボーン比較_ボーン方向の自動整列_無効
設定なし

上記のようにボーンの向きがバラバラになりポーズをとるのが困難になります。

また、リーフボーンを動かしてもオブジェクトに変化はないため、無駄を省く意味で「リーフボーンを無視」を適用しています。

リーフボーン_オブジェクト_非連動
リーフボーン

見た目的にもすっきりします。

足のボーンを見ると、少し回転が加わった状態がデフォルトになっていることが確認できます。

もしそれが気持ち悪いようでしたら、「子を強制接続」の設定を解除してください。

アニメーションを作成する際の動きに関してはどちらでも問題ないため、お好みで設定して下さい。

今回は子を強制接続している状態で設定していきます。

頭部オブジェクトの修正

UnityちゃんをBlenderにインポートして驚かれた方もいらっしゃるのではないでしょうか?

Unityちゃんの頭部を形成するオブジェクトだけ他のオブジェクトよりも大きくなってしまっています。

Unityちゃん_インポート後_オブジェクト調整前
Transform調整前

まずは大きさ・角度を合わせていきましょう。

調整を施していくオブジェクトは以下の通りです。

  • BLW_DEF
  • EL_DEF
  • EYE_DEF
  • MTH_DEF
  • eye_L_old
  • eye_R_old
  • eye_base_old
  • head_back
親オブジェクトからあぶれた子オブジェクト_Unityちゃん
要調整オブジェクト

それでは実際に調整していきます。手順は以下の通りです。

1.「Shiftキー+左クリック」でオブジェクトを複数選択。

Transform調整手順1_複数選択
手順1

2.「Altキー+Gキー」で位置のリセット。
3.「Altキー+Rキー」で回転のリセット。

Transform調整手順2~3_位置・回転矯正
手順2~3

4.「Sキー」を押した後「0.01」と入力し一括で拡大縮小を変更。

Transform調整手順4_拡大・縮小矯正
手順4

5.「Rキー」を押した後「Xキー」を押して軸を固定。その後「90」と入力して角度を調整。

Transform調整手順5_回転矯正
手順5

これで頭部オブジェクトを自然な位置に配置することができました。

アーマチュアとの関連付け・Transformの統一化

ここではアーマチュアの関連付けと、Transformを一定の値に適用していきます。

Unityちゃんの頭部オブジェクトの配置はできましたが、まだ他のオブジェクトとは連動する関係になく、それぞれバラバラのオブジェクトとして存在している状態にあります。

イメージとしては頭部オブジェクトをUnityちゃんの子オブジェクトにしていきます。

まずアーマチュアの関連付けを行っていきます。手順は次の通りです。

1.「Shiftキー+左クリック」で頭部オブジェクトと「Character1_Reference」を複数選択。
2.「Ctrlキー+Pキー」を押し、「アーマチュア変形」を選択。

アーマチュア_オブジェクト_ペアレント_手順
アーマチュア関連付け手順1~2

次に各オブジェクトのTransformを一定の値に調整します。今の状態だと先ほど修正した「頭部オブジェクト」と「その他のオブジェクト」ではTransform(回転・拡大縮小)の値がバラバラになっています。

Transformの値を調整していきます。手順は次の通りです。

1.マウスカーソルが3Dビュー上にある状態で「Aキー」を押してオブジェクト全選択する。
2.「オブジェクト」タブを開き「適用」ー>「回転と拡縮」の順で選択する。

アーマチュア_オブジェクト_ペアレント_手順
Transform適用手順1~2

以上でアーマチュアの関連付けとTransformの調整は完了です。

頭部オブジェクトとボーンの連動

「ボーンとオブジェクトの調整も済んだしアニメーションを作成していこう!」となった方、まだ調整が残っています。

このままの状態で動かそうすると頭部オブジェクトボーンが連動していないため、以下のようなずれたアニメーションが生まれてしまいます。

ボーン_顔オブジェクト_非連動
失敗例

頭部オブジェクト(先ほどTransformを修正したオブジェクト)とボーン(アーマチュア)を連動させていきます。

失敗例をよく見るとお分かりいただけると思いますがどうやら首のボーンまでは連動していることが確認できます。そこから連動させるボーンを割り出していきます。

頭部ボーン_首ボーン_割り出し
首ボーン・頭部ボーン

頭部オブジェクトに連動させるべきボーンは「Character1_Head」であることがわかりました。

それではボーンと頭部オブジェクトを連動させていきます。手順は次の通りです。

1.頭部オブジェクトのいずれか(例ではまつ毛のパーツである「EL_DEF」)を選択。
2.データタブ(逆三角形のマーク)を開く。
3.「頂点グループ」の「+」をクリック。
4.グループ名を頭部ボーンと同じ名前にする。

ボーン_頭部_連動_手順1~2
手順1~4

5.「編集モード」にモード変更。
6.「Aキー」を押して頂点を全選択(選択されていなかった場合)。
7.頂点グループの「ウェイト」を「1」に設定。
8.「割り当て」を選択。

ボーン_頭部_連動_手順5~_改
手順5~8

*頂点の全選択については念のため「Aキー」を押し全選択しなおしています。

上記の手順を他の頭部オブジェクトにも同様の手順で設定を施していきます。

  • BLW_DEF
  • EL_DEF
  • EYE_DEF
  • MTH_DEF
  • eye_L_old
  • eye_R_old
  • eye_base_old
  • head_back

設定が終了したら、連動して動くかどうか確認していきます。ボーンを選択してポーズモードにモード変更して動かしてみましょう。

連動して動くことが確認できました。

この段階に来ればUnityちゃんにポーズをつけてアニメーションを作成可能です。

アニメーション作成のコツ「ボーンの透過」

ここではアニメーションを作成するうえで覚えておくと楽になるコツについてご紹介していきます。

オブジェクトモードでボーンを選択した状態で「Shiftキー+Hキー」でメッシュオブジェクトを非表示にすることができます(「Altキー+Hキー」でメッシュを表示)。

メッシュ表示_非表示
メッシュ非表示・表示

そのあとボーンモードにモード変更してポーズをつけていくといった手順も考えられます。しかしそれでは手間がかかります。

そこで「ボーンを透過」していきます。

設定は簡単です。手順は以下の通りです。

  1. アーマチュアを選択しデータタブを開く。
  2. 「表示」の設定箇所で「レントゲン」チェックを入れる。
ボーン透過手順
ボーン透過手順

後は好きなようにポーズをとってアニメーションを作成していってください。

*Unity側のUnityちゃんは、今回Blenderで調整したものとはのUnityちゃんを用いています。

アニメーションの作成方法(ボーンの動かし方等)からUnityへのエクスポート手順については以下の記事をご覧ください。

その他Unity・Blenderにおけるアニメーションに関する記事は以下の記事でまとめています。よろしければご覧ください。

まとめ

いかがでしたでしょうか。今回はUnityちゃんをBlenderにインポートして、アニメーションを作成する手順についてご紹介してきました。

最初はその見た目から焦ることもあるかもしれませんが一つ一つ対処していけば、Unityちゃんを正常なものに設定しなおすことができます。落ち着いて設定を行っていきましょう。

また、今回はアニメーションを作成することがゴールであったため、Unityちゃんのマテリアル設定については触れていません。

色付け設定等についても気になった方は、よろしければ以下の記事をご覧になっていただけると幸いです。

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


Massuuuu