AnimatorのCulling Modeでハマった話
概要
UnityのAnimatorの設定にCulling Mode
というものがあります。
Animatorコンポーネントをつけたときは、Always Animate
に設定されており、基本的にいじることはないと思います。
しかし、Asset Storeで購入したアセットによってはこれがCull Update Transforms
やCull Compltely
に設定されてることがあり、それを認識していなくてハマりました。
これらはカメラに映っていないときでもアニメーションするかどうかの設定です。
カメラに映っていないときにアニメーションを止めれば負荷が抑えられるのでこういった設定があります。
サンプル
極端な例ですが、Cubeを左右に動かすアニメーションを作ります。
Always Animate
で動かすとこうなります。
一方、Cull Compltely
にすると、カメラ外にCubeが移動するとそこでアニメーションが止まります。
シーンビューとの注意点
さらに注意しないといけない点があり、Cull Compltely
に設定していてもシーンビューに映っていれば、アニメーションが止まらないのです。
これがあるため、条件が複雑になり「たまにアニメーションが動かないことがある?」となり、ハマったという話でした。
確認バージョン
Unity 2018.4.12f1