UnityのHumanoidアニメーションがどのように動作しているのかが気になったので纏める。Unityのリファレンスを読み漁れば分かることなので浅い記事なのはご容赦願いたい。
Animationシステムについて
まずHumanoidアニメーションを行うには以下の項目が必要
- Animation Controller
- Animation Clip (自分で用意する)
- Model (自分で用意する)
- Avatar
- Animator
Animation ClipはHumanoidに対応したものを用意する。(自分で作成してもよい)
このAnimation ControllerはAnimation Clipの遷移を管理するステートマシン。そしてAvatarはモデルを抽象化するためのシステム。Avatarはモデルのボーンを部位ごとにマッピングしている。そしてAvatarとAnimation Controllerをシーン上に配置したモデルのAnimatorコンポーネントで関連づける。
アニメーションをモデルに設定する流れ
- アニメーションクリップとモデルをインポートする
- インポートしたモデルのInspector > Rigタブを選択しAnimation TypeをHumanoidに変更
- Avatar DefiniationはCreate From this Model
- ApplyするとModelと同じ階層にAvatarが生成される
- AvatarのInspectorを開きConfigure AvatarからMappingが正しくできてるかを確認
- アニメーションクリップを管理するためにアニメーションコントローラーを作成
- モデルをシーン上に配置し、Animatorコンポーネントを追加。AvatarとAnimation Controllerを関連付ける
アニメーションを別のヒューマノイドモデルで再利用する
アニメーションを別のヒューマノイドモデルで再利用するには、別のヒューマノイドモデルとAvatarを作成。シーン上にモデルを配置し、AnimatorコンポーネントでAnimation ControllerとAvatarを関連付ければOK。これをヒューマノイドアニメーションのリターゲッティングとUnityでは呼んでいるらしい。
コメント