Mixamoで階段を下りるアニメーションをダウンロードして、Blenderで編集して、UnityでインポートしてAnimation TypeをHumanoidにしたら、片足が変な方向を向いていました。それにアニメーション全体もBlenderのアニメーションと少し違っていました。
RigタブのConfigureで、「character is not in T-pose」という赤文字が出ていて、Enforced T-poseを試してみましたが、改善しませんでした。
改善方法
BlenderでMixamoのFBXファイルをインポートすると、1フレーム目からアニメーションが始まりますが、0フレームでT-Poseにすると改善しました。
1BlenderのTimelineなどで0フレームに移動して、TimelineのAuto KeyingをOnにします。
2Armatureを選択して、Poseモードにします。
33D ViewportでAを押して、全てのRigを選択します。
4Pose > Clear Transform > All を押します。0フレームにT-Poseのキーが打たれていることを確認します。
5FBXファイルを出力して、Unityでインポートします。AnimationタブのStartを0から1に変更します。
おわりに
よくわかっていないのですが、Humanoidを使う場合、全てのアニメーションのファイルの0フレームでT-poseさせる必要があるのでしょうか…?調べてまた記事を書きます。
追記: 参考になるツイートを見つけました。
#unitytips Probably the most important one. Whenever you request a 3d modeler a humanoid anim, ask him to set frame 0 as the model in T-Pose and start the animation on frame 1. This will save you many interactions. Unity expects the model in T-Pose, on frame 0 or rest position. pic.twitter.com/GedAKOw4Hr
— Fernando Closs (@fcloss) May 14, 2022
#unitytips おそらく最も重要なことです。3Dモデラーにヒューマノイドアニメーションを要求するときはいつでも、フレーム0をTポーズのモデルとして設定し、フレーム1でアニメーションを開始するように依頼してください。これにより、多くの操作を節約できます。Unityは、フレーム0または静止位置にあるTポーズのモデルを想定しています。