Mecanimのアニメーション切り替え速度(補間時間)について

102 views
Skip to first unread message

aozora...@gmail.com

unread,
Jun 8, 2018, 6:17:36 PM6/8/18
to 宴ユーザーグループ
お世話になっております。
3Dプレハブで、Arg2にステート名を記入してMecanimでアニメーションを切り替えているのですが、
切り替わる前のアニメーションの再生時間によって、切り替え(モーションの補間時間)が早くなったり遅くなったりします。
例えば、サンプルのSD_unitychanの場合だとStanding@loopがあって、このアニメーションの時間はちょうどいい長さなので補間時間も問題ないのですが、これが別のモーションで時間が長かったりすると(またはStanding@loopのSpeedを0.1にして再生時間を10倍にしたりしても同様の現象が起きます)、Walking@loopやJumpToTopなどの他のアニメーションに切り替わるときの補間時間がとても長くなります。この時間は、切り替わる前のモーションの時間に比例して変わっていると思います。
Mecanimでステートの動きを確認したのですが、現在がAのステートだとして、Arg2でBのステートを切り替えても、Bは再生されるのですが、Aもずっと再生されている状態で、見た目的には、AとBのモーションが合わさっているような感じでした。
お手数お掛けしますが、対処法など御座いましたらご教授ください。

宴のバージョン:3.3.9
UnityのバージョンとOS:Unity2017.4.3f1 Windows

マッドネスラボ

unread,
Jun 9, 2018, 11:28:50 AM6/9/18
to 宴ユーザーグループ
Arg6が補完時間で、未入力の場合は0.2をデフォルト値として使っています。
内部的には、CrossFadeというものでアニメーションを切り替えています。
https://docs.unity3d.com/jp/530/ScriptReference/Animator.CrossFade.html

アニメーションによって時間が変わるとしたら、それはUnityの仕様だと思います。
たとえばSpeedが0.1というのは1/10のスピードで再生するというのがUnityの仕様なのだと思います。


aozora...@gmail.com

unread,
Jun 9, 2018, 10:15:37 PM6/9/18
to 宴ユーザーグループ
ご回答ありがとうございます。
CrossFadeで実装されていたんですね。非常に参考になりました。
Reply all
Reply to author
Forward
0 new messages