「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【UnityC#】アニメーションについてのメモ。

スクリプトからアニメーションを操作する際につまずいたのでメモを残します。

[ 現在再生中のアニメーションの名前 ]

Animator.GetCurrentAnimatorClipInfo(0)[0].clip.name

[ 現在再生中のアニメーションの長さ ]

Animator.GetCurrentAnimatorClipInfo(0)[0].clip.length

[ 現在再生中のアニメーションの正規化された再生時間 ]

アニメーションの長さに関わらず、下記は再生開始時が0、再生終了時が1になります。

Animator.GetCurrentAnimatorStateInfo(0).normalizedTime

[ 現在再生中のアニメーションの再生開始からの時間 ]

一周0.8秒のアニメーションが2周した時、下記は1.6になります。

Animator.GetCurrentAnimatorStateInfo(0).normalizedTime * Animator.GetCurrentAnimatorClipInfo(0)[0].clip.length

[ 現在再生中のアニメーションの再生時間 ]

(Animator.GetCurrentAnimatorStateInfo(0).normalizedTime * Animator.GetCurrentAnimatorClipInfo(0)[0].clip.length) % Animator.GetCurrentAnimatorClipInfo(0)[0].clip.length