前提・実現したいこと
1つのAnimatorにおいて、アニメーションごとに、
アニメーションでの座標移動とスクリプトでの座標移動というようにルートモーションを切り分けたいのですが、
スクリプトでの座標移動の設定を試みているアニメーションで、
意図した動きにならない状態です。ご教示お願いします。
試したこと
こちらのサイトを参考にしました。
アイドル、歩行、ジャンプという簡単なステートマシンを組んでみました。
スクリプトはアニメーションの切り替えのみ処理しています。
歩行アニメーションの遷移条件が、forward>0で、ジャンプアニメーションの遷移条件がトリガー型でtrueのシンプルなものです。
C#
1 void Update() 2 { 3 if (Keyboard.current.upArrowKey.isPressed) { 4 animator.SetFloat(forward, 1); 5 }else if(Keyboard.current.upArrowKey.wasReleasedThisFrame){ 6 animator.SetFloat(forward, 0); 7 } 8 if(Keyboard.current.spaceKey.wasPressedThisFrame) { 9 animator.SetTrigger(jump); 10 } 11 }
まず、Apply Root Motionをオンにして、全てのアニメーションのRoot Motion NodeをRootのままに
しておいたところ、歩行もジャンプもアニメーションのみで座標移動されることが確認できました。
ジャンプアニメーションは、アニメーションのみの座標移動にしたいので、このままにしておきます。
※また、この設定での(アニメーションのみの座標移動での)歩行アニメーションは、 アニメーションをループ再生している間、全く問題なく、ずっと歩行して前進し続けていることを確認しています。
続いて、歩行アニメーションの方をスクリプト移動させたいので、
Root Motion NodeをRoot Transformに設定します。
スクリプトは前回のものと同じままで、アニメーションの切り替えのみ行います。
想定としては、歩行アニメーションを再生した際、その場で足踏みするように、歩行の足の動きだけして、
前進はしない(座標移動しない)ことを考えていたのですが、
実際に試したところ、以下のように、前進してしまい、ループされる度に初期位置にリセットされるという、
繰り返し運動になってしまいます。
しかも、前回のアニメーションのみの座標移動では背中に担いでいる武器もキャラクターと共に移動したのですが、
今回のケースではその場に残ってしまいます。
・開始時。
・再生中。
歩行アニメーションの再生中、次のループに入ったタイミングで、開始時の位置に瞬時に戻ってしまいます。
また、アニメーションのアセットの構造もよくわからなく、
複数のアニメーションが以下のようにひとまとまりになっていて、その中の1つの歩行アニメーションを
Animatorにドラッグすると、ステートとして配置できるので、それを使っています。
このアニメーションがひとまとまりになっている構造はどういう仕組みとなっているのでしょうか?
さらに、このひとまとまりの中の個々のアニメーションのインスペクタでは、Motionの項目がなく、
そもそもそのインスペクタでアニメーションの設定ができません。
これより、そのひとまとまりのルートの部分のインスペクタにおいて、Motionの項目のRoot Motion NodeをRoot Transformに設定しています。
この構造だと、個々のアニメーションで個別にRoot Motion Nodeを設定できないということでしょうか?
個別のインスペクタでは、以下のようにMotionの項目がなく、設定もできません。
ルート部分でしか設定できませんでした。
補足情報(FW/ツールのバージョンなど)
・歩行モーションで使用しているアセット。
Walk Animset Basic(Kubold)
追記
Apply Root Motionをオフにしたら、歩行アニメーションはその場で足踏みをするように、
座標移動せずに歩行の動きをするという、意図通りのアニメーションとなりました。
しかし、これでは全体のアニメーションに適用されてしまうため、ジャンプアニメーションも
座標移動しなくなってしまいます。
ジャンプアニメーションは座標移動をさせたいと思っています。
ただ、歩行アニメーションにおいて、意図通りのアニメーションが再生されるということだけわかりました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/07/17 13:27
2021/07/18 01:11
退会済みユーザー
2021/07/18 09:53 編集
2021/07/18 12:10
退会済みユーザー
2021/07/18 14:41