環境
Unity2022.2.14f1
概要
ビューフラスタム(視錐台)を表示するデバッグ機能の使い方
コード
private void OnDrawGizmos() { Gizmos.color = Color.cyan; Gizmos.matrix = Matrix4x4.TRS(_camera.transform.position, _camera.transform.rotation, new Vector3(_camera.aspect, 1.0f, 1.0f)); Gizmos.DrawFrustum(Vector3.zero, _camera.fieldOfView, _camera.farClipPlane, _camera.nearClipPlane, 1.0f); // 指定距離のクリップ面のサイズ float height = _cameraDistance * Mathf.Tan(_camera.fieldOfView * 0.5f * Mathf.Deg2Rad) * 2.0f; Gizmos.DrawCube(Vector3.forward * _cameraDistance, new Vector3(height * _camera.aspect, height, 0.1f)); // クリップ面の高さから距離を求める float distance = height * 0.5f / Mathf.Tan(_camera.fieldOfView * 0.5f * Mathf.Deg2Rad); Gizmos.DrawLine(Vector3.zero, Vector3.forward * distance); }