渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Unity SampleAnimationの負荷は約4倍

f:id:esakun:20150730215258g:plain

UnityのAnimationClip再生方法には単純にPlayではなく、指定秒数の状態にするSampleAnimationメソッドがあります。AnimatorControllerは不要で、AnimationClipだけで動かせます。

animationClip.SampleAnimation (gameObject, time);

アニメーションを任意のタイミングから実行したい、途中別アニメーションを挟んだ後、もとのアニメーションでリジュームさせたいなど特殊な挙動をさせる時に使えそうです。

ただ、使ってみて気づいたことがあります。
結構負荷高そうだということ。。。

f:id:esakun:20170616094128g:plain

恒例のユニティちゃんライブステージ! -Candy Rock Star-を使って検証します。

通常再生時

f:id:esakun:20170616094621p:plain

0.18ms

参考

SampleAnimation

f:id:esakun:20170616094800p:plain

0.69ms

約4倍の通常再生時よりSampleAnimationが重いようです。
下記のリファレンスにもあるように、特別なことが無い限りは普通にAnimatorを使用した再生が良さそうです。

Unity - スクリプトリファレンス: AnimationClip.SampleAnimation