これが謎過ぎて本当に困ったのに、原因は別に難しいやつじゃなかったパターン。Unityはそういうのだらけ過ぎる。知識がないので単語の表現が間違っているかもしれないのである程度はニュアンスでお願いします。
(私の場合は)IKが全ての原因だった
IK(逆運動学)とは、Unityにおいて3Dキャラクターのアニメーションをより自然に制御するための技術です。具体的には、キャラクターの末端部分(手や足など)の位置を指定することで、その位置に到達するために必要な他の関節(肘や膝など)の角度を自動的に計算して調整します。(AI生成)
脚にIKがあるとIKを動かすだけで他の部分を調整しなくても自動で動いてくれるシステム(?)なんだけど、IKを使うLayersでIKがオフの状態でAnimationタブでモーションを修正してしまった結果、どんなに修正してもIKが自動で使われて全然モーションが変わらなかったという無知故の事件。言語化が難しい。
これに関しては調べても全然分からないし、AIも全然分からないみたいでかなりの時間困ってた。最終的にはもう何でもボタン押したれって感じでIKに辿り着いた。知識としてIKは知っていたのにUnityの仕様が難解過ぎた。
UnityのAnimationのモーションのIKについて
AnimatorタブのLayersのレイヤーの右上に「IK」ってのがあったらこのレイヤーのモーションはIKが適用されるって事だと思います。
そしてアニメーションなどの再生ができるPreviewタブの右上にある「IK」ボタン。ここを押すとモーションにIKが適用されます(画像の白い状態がオン)。私の場合はこれがオフになっていた事でIKがない状態でモーションを調整してしまっていたという事です。
で実際にテストでモーションを確認すると自動でIKが適用されるので、IKがない状態で調整したモーションは勝手にIKによって調整されて「なんでモーションが更新されないんだ…?」ってなったわけ。
気をつけようね…。Animationタブでモーションを修正する際には「IK」に気をつけて。何故かIKのオンオフはPreviewタブのボタンで出来る仕様なので…。
実際のAnimationでのモーションの調整はただ既存のモーションを調整するだけなら点のDopesheetではなく、点と線のCurvesの方で調整した方が圧倒的に楽です。ただ部位の名称が分からなさ過ぎるのが難点。だからそういう専用のアセットを使った方がいいけど、別にバニラの状態でも多少調整するだけなら出来ると思う。頑張って。英語的にこれかな?って思う部分を範囲選択して上下に動かしてPreviewのキャラの動きを見て調整するんだ。
コメント