Unity

【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

執筆者:


comment

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

関連記事

【Unity】キャラクター操作その4 –  レーザーソードを持たせてON/OFFする

Contents1 概要2 環境3 Step1 : レーザーソードの調達4 Step2 : レーザーソードを持たせる5 Step3 : レーザーソードをON/OFFする6 まとめ 概要 前回はRobo …

【Unity】キャラクターが近づいたら自動ドアが開閉するようにする

Contents1 概要1.1 実現例2 使用アセット3 Step 1 : Doorオブジェクトの配置4 Step2 : Colliderの設定5 Step3 : アニメーションとスクリプト 概要 U …

UnityでAnimationEvent ‘Hit’ on animation ‘Attack1’ has no receiver! が出た時の対処

Contents1 概要2 環境3 発生事象4 対処法4.1 Animationのコピー4.2 Hitイベントの削除4.3 再度Gameで確認 概要 Unity Asset StoreでFreeのAn …

【Unity】ゲームパッド(logicool F310)でキャラクターを操作する

Contents1 概要2 環境3 使用したゲームパッドについて4 Step1 : PCへのF310の接続5 Step2 : UnityのInput Managerの設定5.1 「走る」の設定5.2 …

【Unity】他オブジェクトのスクリプトのメソッドがどうしても取ってこれない原因と対処法

Contents1 概要2 環境3 まず最初に確認すべきこと4 結論:名前空間を指定していなかった5 エラーの実例5.1 原因6 まとめ 概要 Unityでほかのスクリプトで定義されているObject …

言語切り替え

カテゴリー