【Blender】人型キャラクターをUnityに移しアニメーションさせる【Humanoid】


Blender2.79b
Unity2019.1.0f2
Windows10

人体骨格Humanoid/トップ

ここ3ヶ月ほど、毎朝Blenderでコツコツ作業し、ついに人体骨格が完成しました。

人体骨格Humanoid/Blender

今回はこれをBlenderからUnityに移しセットアップする方法を紹介します。
UnityのアニメーションシステムのMecanimにはHumanoidというAnimation Typeがあり、それに設定するとHumanoid用のアニメーションを使い回すことができます。
この人体骨格もHumanoidにし、ユニティちゃんのアニメーションをさせてみました。

選択したオブジェクトをFBXファイルにする

まずはUnityに持っていきたいオブジェクトを選択します。
次にFBXファイルにエクスポートします。

ファイル > エクスポート > FBX(.fbx)

人体骨格Humanoid/ファイル 人体骨格Humanoid/エクスポート/FBXファイル

そうすると画面が変わるので任意のファイル名と保存場所を設定してもらうのですが、大事なのは左下のFBXをエクスポートです。
そこのメインの選択したオブジェクトにチェックを入れてください。
そうしないとBlender内のCameraやライト、選択していないオブジェクトまでセットになってUnityに入れることになってしまいます。

人体骨格Humanoid/FBXをエクスポート

ちなみにアニメーションだけを移したいのならアーマチュアのでフォームボーンのみにチェックを入れます。

人体骨格Humanoid/FBXをエクスポート/アーマチュア

最後は右上のFBXをエクスポートをクリックするとFBXファイルが出来上がります。

人体骨格Humanoid/FBXをエクスポート/保存

そのファイルを入れたいUnityのプロジェクトファイルのAssetsのフォルダか、開いたUnityのAssetsの欄にドラッグ&ドロップするとUnityに入れられます。

UnityでHumanoidに設定する

まずはProjectビューのAssetsフォルダの中のインポートしたFBXファイルをクリックします。

人体骨格Humanoid/Assetsフォルダ

次にInspectorを見てください。
そこでRigを選び、Animation TypeをHumanoidにしてからApplyをクリックします。
問題がなければConfigureにレ点が出ます。

人体骨格Humanoid/Rig/Animation Type

ダメだった場合はConfigureをクリックしてMuscles & Settingsの画面でボーンを当てはめるか、Blenderに戻ってボーンを修正します。

人体骨格Humanoid/Muscles & Settings

この人体骨格を初めてUnityでHumanoidにしようとした時は、手がまったく合わず真っ赤っかになっていました。
この画面でボーンをひとつずつ合わせて行ってもダメでがっかりしましたが、Blenderで手のボーンを足したらこのようにオールグリーンになってほっとします。
腕から直接指のボーンを出していたのが悪かった、というオチでした。

人体骨格Humanoid/Muscles & Settings/Left Hand

スポンサーリンク

Humanoidのオブジェクトにアニメーションをさせる

次はBlenderから持って行ったアニメーションを使います。
それはAssetsフォルダにあるオブジェクトの三角マークをクリックすると開き、その中にオブジェクトのパーツやマテリアル、そしてアニメーションクリップがあります。

人体骨格Humanoid/AnimationClipの在り処

そのアニメーションクリップのアイコンをクリック、Inspectorの右上のEditボタンを押すと、先ほどの人体骨格と同じようにHumanoidに編集することができます。
しかし人体骨格をHumanoidにしているとアニメーションは新たに設定する必要はありません。
アニメーションだけをHumanoidに適応させる時は編集する必要があります。

人体骨格Humanoid/AnimationClip編集

人体骨格Humanoid/AnimationClip編集/Rig/Animation Type

あとはAnimatorControllerにそのアニメーションクリップを放り込み、Animatorコンポーネントにセットすれば出来上がりです。
再生すると私がBlenderで作った通りのポーズをします。

人体骨格Humanoid/Blender製ポーズ

そしてHumanoidに設定された他のオブジェクトにも使えます。

人体骨格Humanoid/Blender製ポーズ/ユニティちゃんと

最後は逆にユニティちゃんのアニメーションを人体骨格にやらせてみました。

人体骨格Humanoid/ユニティちゃんと走る

人体骨格もちゃんと走りました。

Pivotに切り替える

Pivotとは回転などをさせる時のポイントになる部分なのですが、そこが人体骨格の位置とずれていて困りました。
画像のギズモ(矢印)が合わさっている部分です。

人体骨格Humanoid/Centerのずれ

Blenderではきちんと足元に中点があり、どうしてそうなるのか分かりません。
ですが、CenterをPivotに切り替えることで一応解決しました。

人体骨格Humanoid/CenterからPivotへ

Pivotに切り替えたところで無事Blenderでの中点と同じ位置が中心になります。

人体骨格Humanoid/Pivot/真上

人体骨格Humanoid/Pivot/真正面

CenterとPivotの違いですが、Centerは親子のオブジェクトの中心で、Pivotはそのオブジェクトの中心か基準の位置だそうです。

関連記事

「Blender標準テクニック」でアニメ美少女作成に挑戦!その成果を発表します

【Blender】UnityのHumanoidに設定するとアニメーションで骨盤だけが動かない件

【Blender】倒れるアニメーション、Unityだと浮かんでいる件

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

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

スポンサーリンク

目次に戻る