はじめに
今回はAnimationClipのAnimationTypeをGenericからHumanoidに変更してみようという記事になります!
UnityRecorder
という公式アセットによりアニメーションを録画してAnimationClip
を作成したのですが、どうやらAnimationType
はGeneric
のみしか出力できないみたいでした。
ただ一応解決することはできたので、書き残しておきたいと思います。
AnimationTypeとは
AnimationType
にはLegacy
,Generic
,Humanoid
の3種類あります。
Legacy
は基本的に後方互換性のために残してあるだけなので、最近のプロジェクトでは使いません。
ちなみにAnimationコンポーネント
も同じく昔のものなので、今はAnimatorコンポーネント
を利用してください。
Generic
は人型の部位との対応づけをしない手法です。Humanoid
でない場合はこちらを選びます。
Humanoid
は人型のモデル専用のもので、部位との対応づけにより他の人型モデルにも適応できるようになっています。
今回はUnityちゃんのAnimationClip
をGeneric
からHumanoid
に変更していきたいと思います。
FBX Exporterをインポートする
まずはFBX Exporter
という公式のアセットをインポートする必要があります。
ただしFBX Exporter
はUnity2018?あたりからはPackageManager
からインポートしてください。
AnimatorControllerにAnimationClipを設定する
UnityちゃんのGameObjectを作成し、AnimatorController
を新規作成・設定をします。
目的のAnimationClip
をAnimationController
の中に入れてください。
fbxを出力する
ここまで設定できたら、GameObjectをfbxとして出力します。
UnityちゃんのGameObjectを右クリックし、Export To FBX....
をクリック。
名前や出力先のパスを好きなように設定し、Export
をクリックしてください。
AnimantionClipを取り出す
出力したfbxのImportSettingを開き、Rig -> AnimationType
をGeneric -> Humanoid
に変更してください。
これにより自動的に一緒に含まれているAnimationClip
がHumanoid
用に変換されます。
ただモデルと一緒にAnimationClip
が含まれているので、モーションのデータのみが欲しい場合には余分なデータが含まれています。
そこでこれらを分離するためには、AnimationClip
を選択してCrtl + D
を押して複製を行ってください。
さいごに
これでAnimationClip
のAnimationType
の変更ができたはずです。
特にFBX Exporter
をインポートしなければならないあたりがめんどくさいですが、良かったらやってみてください。
ではまた。