传统的远景、中景、近景的概念
- 是指视距上的划分
- 远景:视距较远。主要用于表现一些开阔景物,为了渲染总体气氛和空间感,配合景深的表现可以让画面层次感更丰富,增加整体的意境。因此远景渲染我们不需要做具体的细节表现
- 中景:是指画面视觉中心的部分。一般用于进一步烘托整体场景气氛,需要一定的视觉和细节表现,但不需要过分强调,更多的是通过材质的颜色、质地、大范围的光影明暗来呈现
- 近景:是视距最近的画面部分。一般突出表现在具体某个物体或角色上,需要突出表现材质的细节,比如凹凸、光影细节、反射、折射、透视等高级效果,并且通过近景占屏幕比例多少,来与中景、远景形成更好的透视感
- 随着摄像机的移动,可能定义会出现一些重叠,近景的定义会更宽泛
- 如果对于需要在远景、中景、近景都需要出现的物体,可以将其LOD分为4级
- 0 —— 近景
- 1 —— 中景
- 2 —— 远景
- 3 —— 剔除
- 只需要出现在近景和中景中的物体,可以设置LOD为3级,2级为剔除
- 只需要在近景出现的物体,可以设置为2级,0级为近景,1级为简化模型或剔除
- 一般情况下,LOD级别设置最好不要超过5级
- 5级情况下
- 0 —— 原始模型
- 1 —— 1级简化模型
- 2 —— 2级简化模型
- 3 —— 替代体
- 4 —— 剔除
- 如果不需要使用替代体技术的话,我们可以选择不超过4级的LOD设置
- 减小阴影绘制阶段的压力:对场景中一些不必要的LOD级别上的模型不显示投影,只在LOD0级别原始模型下显示投影,其他LOD层级下的模型不显示投影
- 还有一些静态光照下的对象,已经在阴影体内了,也不需要渲染投影,毕竟还可以通过SSAO来显示接触面的暗部
替代体方案
- 首先,替代体方案不是没有开销的
- 虽然替代体方案比较适合第一视角,并且摄像机变化较慢的场景类型
- 但是选择目前Unity商店中任何一个插件实现,都必须要做一些资源和Shader上的调整,并且会带来一些未来插件更新的风险
- 因此该方案先搁置
- 毕竟优化是一个迭代的过程,先把一些风险小、开发工作不高,但收益大的优化方案优先来做。如果将常规手段用完后,性能还不能达到要求的,再上替代体方案
LOD Bias
- 这个参数主要是为了多平台LOD设置分级而使用的
- 值正好是1时,为工程内真实的设置
- 例:
- LOD0:100% —— 60%
- LOD1:60% —— 10%
- Culled:10%
- 当LOD Bias为0.7时,
- LOD0:100% —— 42%
- LOD1:42% —— 7%
- Culled:7%
- 当LOD Bias为2时,
- LOD0:100% —— 100%
- LOD1:100% —— 20%
- Culled:20%
- 也就是向更多的细节进行适配