はじめに
AnimationControllerとTimeline、どちらでもアニメーションを管理したいときの備忘録です。
個人的はまりポイント
あるオブジェクトのアニメーションについて、通常はAnimationControllerで管理しているとします。
Idle状態から、スクリプトを経由してAttack状態になるとか、そんなやつです。
このオブジェクトについて、TimelineにAnimationTrackを作成し、一部Timeline上でアニメーションさせようとしたところ、AnimationControllerの管理部分がすべてガン無視されました。
原因はAnimationTrackに作成したClipの、AnimationExtrapolationという項目でした。
![](https://obecogames.com/wp-content/uploads/2023/08/animation_extrapolation.jpg)
この項目は、Clipの前後のAnimationをどのように補完するか設定する項目のようで、
(私の場合は)初期設定がHoldになっています。
![](https://obecogames.com/wp-content/uploads/2023/08/infinity_clip.jpg)
公式によると、上記画像の∞マークのところで、Clipの最初のフレームと最後のフレームがそれぞれ維持されているようです。
こちらの設定項目をNoneにすることで、∞マークがなくなり、その範囲内ではAnimationControllerによる制御の影響を受けるようになりました。
なお、AnimationExtrapolationには他にも選択できる項目があり、該当Clipをループさせる等、色々な使い方があるようです。
なんとなくでTimelineを使っていたので、勉強になりました。