はじめに
Unityではカメラに写っていなくても、当たり判定自体は有効なため、画面外にColliderが付いたオブジェクトが大量にあると処理が重くなる事があります。
画面外でも当たり判定を継続したいのなら別ですが、そうでないのなら無駄だなーという事で画面外の当たり判定を消してみました。
IsRendered.cs
カメラに写っているかは以前書いた↓と同じ方法を使います。
これに当たり判定を消すコードを追加したものが以下になります。
3Dでも2Dでも使えるようにColliderとCollider2Dの双方に大して処理を行っています。
確認
上記のスクリプトとコリダーを付けてみたのが以下の画像になります。
また、分かり易いように当たり判定を大きくしています。
画面外に出た時に当り判定(緑の線)が薄くなり、無効化されているのが分かるかと思います。
おわりに
いざ記事にしてみたら思った以上に書く事無かったパターンのやつ_(:3ノ ∠)_
そしてせっかく書いたし公開しちゃうパターンのやつ(:3[____]