[無料]見えないエリアのオブジェクトを自動で非表示にできる軽量化ギミック




説明
プレイヤーがいるエリア以外のオブジェクトを、簡単に「見た目だけ」非表示にして、 ちょっとだけ軽量化できるギミックです。
各エリアの小物などをまとめた親オブジェクトを指定しておけば、 そのエリアから出たときにまとめて非表示になります。
エリアの判定は複数のコライダーで細かく分けられるので、 範囲を重ねておけば「同時に見える部分」も設定可能! さらに「常に表示したいオブジェクト」を個別に指定することもできます。
●分かる人向け補足 ------------------------------
Unityには標準で「フラスタムカリング」と「オクルージョンカリング」という機能がありますが、 ・ベイクするのが手間、かつVRだと調整が難しい ・Staticにしていないと重い(ダイナミックオクルージョンはリアルタイム計算のため) ・そもそも判定コストが発生する などの理由からもっと僅かでも軽くしたいなと思って作りました。 このギミックはGameObject自体を非アクティブにはしないので、他のギミックの動作には影響しません。
●2025/11/03アップデート! ------------------------------ ・初期エリアを複数跨いで指定可能に ・ギミック本体をOFFにすると無効化(全エリア表示) ONにすると再び有効化する機能を追加 ・ゾーンのON/OFFを反転化するトグルの追加 ・一度入ったら永続化するトグルを追加 ・他のプレイヤーの入室でも反応するトグルの追加