ゲークリ向け資料第2弾です。
今回は商用利用可能な人間型3Dモデルのアニメーションが揃っている、
Adobeが提供しているMixamoというサービスの利用方法をお伝えします。
UnityAssetStoreにAnimationがついてないorz
「AssetStoreでよさげなモデル見つけた!でもAnimationがついてない…」
こんなとき、Mixamoを使えばなんとかなるかもしれません。
注意
AnimationTypeがHumanoidである場合に限ります。
Step1.アセットを選ぶ
今回はたまたま手元にあった、Adventure Characterというアセットを使用します。
早速アセットをプロジェクトにインポートします。
…Animationがありません。
Prefabにもついていません。
ストアページによると、
I present to you a character, in the style of adventure
The character has a little customization.
The character has no animations, but has a humanoid rigg.
とのことです。
Humanoid riggがある点は救いですね。
早速Mixamoでアニメーションを用意してみましょう。
Step2. MixamoでAnimationをダウンロードしよう
Mixamoに接続して、SignInしてください。Adobeアカウントがない場合はSignUpからアカウントを作成してください。
Mixamoではもともと提供されている100体以上のモデルが存在し、それらに任意のAnimationをつけた状態でダウンロードしてUnityで使用することも可能です。
今回は、持参のモデルを使用する場合のやり方を説明します。
まず、画面左上のAnimationsをクリックします。
この画面では、Humanoidモデルに対応した複数のアニメーションをプレビューで確認することができます。
まず、画面右の[Upload Character]から、使用するアセットのFBXファイルをアップロードしてみましょう。
今回のAdventure Characterでは[Mesh]フォルダ内にありました。
アップロードが完了しました。
画像のように、マテリアルが真っ白の状態でプレビューに配置されます。
ここで、左のアニメーションを選ぶと、アップロードしたモデルでアニメーションが再生されます。
今回は投げるアニメーションが欲しいので、検索窓にThrowと入力します。
ちょうどよいアニメーションがあったのでこの[Throw]を使用します。
右に調整可能なパラメーターがあります。
Overdrive...アニメーションの速度を変更できます。
Character Arm Space...腕の広げ具合を調整できます。
Trim...アニメーションの再生位置をトリミングできます。
Mirror...アニメーションを左右反転できます。
また、今回はありませんが、
Speed...アニメーションの速度を変更できます。Overdriveと併存しています。この辺はよくわからん。
In Place...その場でアニメーションさせるようにします。
他にもアニメーション毎に操作できるパラメーターがそれぞれ増減します。
自分でいろいろ確認してみてね。
調整が完了したら今度はダウンロードします。
右上の橙色の[DOWNLOAD]をクリックすると、ウィンドウが表示されます。
Formatを[FBX for Unity(.fbx)]に、Skinを[Without Skin]に変更してダウンロードします。
これでアニメーションの準備は完了です。
Step3. Unityへのインポート
ダウンロードしたファイルをUnityのAssetフォルダ内の任意の場所に入れます。
今回はインポートしたアセットのフォルダ内にAnimationというフォルダを作成し、そこに入れました。
ダンポールのようなアイコンの右にある三角マークを押すと、rootファイルとAnimation Clipが入っていることがわかりますね。
インポートしたFBXのAnimationTypeを変更する
この工程が躓きポイントです。
まずさっき入れたダンボールをクリックします。
すると、Inspector上に画像のようなメニューが表示されます。
[Rig]をクリックし、Animationt Typeの項目を[Generic]->[Humanoid]へ変更します。
最後に[Apply]を押して完了です。
すると、このようにfbxファイルAvatarが生成されます。
AnimationClip以外に用はないので、AnimationClipを選択してCtrl+D(もしくはCommand+D)でAnimationClipのみ残してFBXファイルは削除します。
スッキリ!
Step4. 動かす
あとは元のアセットに入ってるPrefabにAnimatorコンポーネントをアタッチして元のアセットに入ってるAvatarと適当にAnimator Controller作ってアタッチして
Animation Clipぶち込んでトリガーとか諸々設定したら
動いた!
このような感じでMixamoを使用すると簡単に高クオリティなアニメーションを実装することができるのでぜひ試してみてください。
最後のほうに出てきたAnimator Controllerは深みにはまるとかなり沼なので
詳しくなりたい人は根気強く頑張ってください。
Unity Learning Materialsのこの資料がかなり有用なのでおいておきます。
こんがらがったAnimationControllerを整理する
環境
Unity Editor Version 2022.3.1f1