本日はUnity枠です。
Unityでは[Humanoid Rig]と呼ばれる人型の3Dキャラクターを使用することができます。

これによってUnity内でアニメーションを別々のキャラクターで使いまわすことができます。
今回はHumanoidのAnimationを製作する際に問題が発生したので忘備録として記事にします。
〇UnityHumanoidとは?
3Dキャラクターモデルには実際の人間同様キャラクターの腕や足、頭などを動かすことができるようにボーン(骨)が入れられています。

HumanoidはUnityでボーンの構造を統一することであるHumanoidのキャラクターに作成したアニメーションを別のHumanoidのキャラクターで使用することができます。
〇Humanoidのアニメーションを作成する(失敗した話)
UnityではAnimationClipを作成してAnimationControllerに設定することでObjectやキャラクターにアニメーションを作成することができます。

通常はAnimationClipで[AddPropertiy]で動かしたいボーンやオブジェクトのRotation、Transformを追加してドープシートに沿って0秒目の値、x秒目の値をそれぞれ入力することで0~x秒目までの間緩やかにプロパティの値が変化するようなアニメーションが作成できます。
しかしHumanoidのキャラクターにアニメーションをアタッチすると


このようにキャラクターが鉛直軸(Y軸)に沈み込み変な格好になってしまいます。

通常ひとつづつ必要なプロパティを追加してアニメーションを付けますが、このままでは大変膨大な作業になりそうです。
〇Blenderでアニメーションを作成する。

Unityでアニメーションを作成することはとても大変なのでBlenderを使用してアニメーションを作成します。
Blenderを起動してHumanoidRigのキャラクターをインポートします。
[ポーズモード]に切り替えて動かしたいボーンを選択し[R]キーとマウスで骨を動かします。

ポーズを付けた状態で[ポーズモード]で[A]キーを押し、全選択状態にします。

次にマウスの右クリックを押し[キーフレームを挿入]をクリックします。 次に[キャラクター全体(選択したボーンのみ)]をクリックします。


これでこの状態のすべてのボーンの情報がキーフレームとして保存されました。
Blenderの下部にあるドープシートを展開して、時間軸を適当な場所に移動します。(ここでは100にしました。)

最初と同様ボーンを選択してポーズを付けキーフレームを挿入します。

二つ目のキーフレームを挿入することで一つ目のキーフレームのポーズから緩やかに二つ目のポーズへと変化するアニメーションが作成できました。

これでアニメーションが作成できました。
〇Unityへエクスポートする。

FBXとしてキャラクターをエクスポートします。
UnityのProjectウィンドウにインポートして、fbxを展開して中身を見てみるとアニメーションクリップが入っています。 これがBlenderで作成したアニメーションです。

インポートしたFbxを選択しInspectorウィンドウから[Rig]の[Animation Type]を[Humanoid]に変更します。(Applyすることを忘れず)

Humanoidに変更した状態でアニメーションクリップを選択し[Ctrl]キー+[D]キーで複製することでアニメーションクリップとして編集ができます。

複製したアニメーションクリップをAnimationControllerに設定しHumanoid のキャラクターのアニメーションとして設定し実行します。

Unity自体でアニメーションを付けることもできますが、すべてのパラメータを手打ちで行っていては大変です。
今回Blendereを用いることでボーン自体を可視化してポーズを付けることでより簡単にHumanoidのアニメーションが作成できました。