【Unity】mixamoのアニメーションが動かない場合の対処

概要

ハイクオリティな3Dキャラクターモデルやアニメーションがfreeでダウンロードできるありがたいサイトとしてmixamoがあります。(アカウント登録が必要です)

https://www.mixamo.com/#/

このmixamoからダウンロードしたanimationのfbxファイルをUnityのオブジェクトで使用するまでにすこし躓いたことがあったので、その方法についてメモします。

環境

Windows10
Unity 2020.1.1f1

最初にやったこと

FBXのダウンロード

mixamoで使いたいanimationを選択し、Downloadボタンから以下の設定でUnity用のfbxファイルをダウンロードします。今回は以下のリンク先のAnimationを使用しました。

https://www.mixamo.com/#/?page=1&query=one+hand&type=Motion%2CMotionPack

インポートとRigの設定

落としてきたfbxファイルをドラッグ&ドロップでProjectに取り込み、Animation ClipのInspectorからEditを押し、RigメニューでHumanoidを選択してApplyします。

あとはこのAnimation Clipを使用したいキャラクターのGameObjectで使用するだけだと思っていたのですが・・・

困ったこと

何故かわからないがこのようなくねくねした気持ち悪い動きになってしまっていた。

原因と対処方法

エラーとかは出ていないので、どうやらInspectorの設定のようです。Unityの他のAnimationClipと見比べてみるとどうやらAnimationの設定のところが怪しいことに気づきました。

Humanoidを選択したあとのAnimationタブ内のメニューのうち、Loop Time、Root Transform Rotation、Root Transform Postition、Root Transform Position XZのデフォルトは以下のようにいずれもチェックが入っていない状態でした。

ここを次の赤枠部のように変更し、Applyしました。

そしてその結果の動きがこれです。

なんかまだ調整代はありそうですが、デフォルトよりは大分マシになっている気がします。

分かったこと

どうやら、AnimatorでApply Root Motionを無効にしている場合はAnimation Clip側でLoop Time、Root Transform Rotation、Root Transform Postition、Root Transform Position XZなどを適切に設定してあげないと気持ち悪い動きになるようです。

mixamoは素晴らしい3Dモデルが沢山あるので、これからもこの辺をうまいこと調整しながら活用していきたい。

以上

Unityを一から学ぶのにおすすめの本はコチラ

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です