先把“视锥体”这俩字用一句人话说死:
Unity 里的视锥体(Frustum),就是摄像机能看到的那一块 3D 空间——
长得像一个被削了尖的“斜着的方锥体”,
里面的东西能被照进屏幕,外面的东西对摄像机来说就“看不见”。
整个 Unity 渲染、剔除、选中物体、后处理特效里,
这个视锥体一直在默默干活。
这篇文章会用大白话把它拆开讲清楚:
- 视锥体到底长啥样、由什么决定
- Unity 摄像机的参数怎么影响视锥体
- 视锥体里最重要的 6 个平面是啥
- 怎么在代码里拿到这些平面、做“在视野里/不在视野里”的判断
- 游戏里的典型应用:
- 视锥裁剪(性能优化)
- 物体是否可见
- 自定义摄像机 / 小地图 / 镜子
- 特效、雾效、选中框等
整个过程尽量不堆公式,多用画面感 + Unity 示例代码。
一、先用画面感建立:视锥体到底是个啥形状?
1.1 摄像机 = 拿着一个“视野小盒子”
想象你用