Mesh的层次细节(LOD)
这页包含了Mesh的LOD资讯,想要了解更多的Shader LOD的信息,可以参考SubShader LOD value。层次细节(LOD)是一种技术,这种技术可以减少GPU在渲染远处Mesh时的执行次数。
当场景中有一个离摄像机较远的游戏对象时,和该游戏物体位于摄像机近处时相比,你只会看到很少的细节。然而,默认情况下,unity在远近距离下都是使用同样数量的三角形进行渲染。这会导致白费GPU的操作,这会影响场景中的性能表现
对于游戏物体而言,LOD技术可以让unity依据游戏物体和摄像机之间的距离来减少需要渲染的三角形数量。若要使用LOD,游戏物体必须要有多个mesh,同时,这些mesh在它的几何结构中减少了对细节的表现。这些mesh我们称之为LOD细节模型。距离摄像机越远的游戏对象,unity渲染的LOD细节模型的细节就越少。对于较远的游戏物体,这个技术减少了硬件上的负载,因此可以提升渲染性能。
想要了解在unity中如何使用LOD,首先你必须了解的是什么是LOD模型,以及它们是如何工作的
LOD Levels
LOD Levels(LOD细节模型)是一个mesh,它定义unity渲染游戏物体的几何结构的精细程度。当游戏物体使用了LOD,unity会根据该游戏物体距离摄像机的远近,然后会使用合理的LOD细节模型取代该游戏物体进行显示。
每个LOD细节模型都是独立存在的,并且每个LOD细节模型都有一个用于显示它们自己的Mesh Render组件。对于想要渲染精细度较低的LOD而言,你可以使用Billboard Asset,Billboard Asset是unity用来替代3D mesh显示的等价物。unity可以按要求显示和隐藏这些游戏物体,另外,LOD细节模型必须作为与之相关联的游戏物体的子物体
在LOD 0中,摄像机显示了一个有着大量的小三角形的Mesh。在LOD1中,摄像机表现了一个有着非常少量的三角形的Mesh,但是三角形的尺寸会大得多
在Unity中构建LOD
要使用LOD,你必须得有一个有着LOD Group组件的游戏物体,对每个LOD细节模型而言,LOD Group组件就是一个控件,用于定义LOD在游戏物体上的表现,以及引用unity对每个LOD细节模型显示或隐藏的游戏物体。了解更多LOD Group组件属性的资讯,可以看这里 LOD Group
在unity中构建LOD有两种方式:
- 你可以在外部的3D建模软件中配置LOD细节模型,然后,unity可以自动的为你创建和配置所要求的游戏物体,可以参考这里获取更多关于正确配置的详情。
- 你可以手动地创建一个带有LOD Group组件的游戏物体,然后再手动的配置LOD细节模型
配置LOD细节模型
使用LOD Group component’s selection bar,手用配置每个LOD细节模型到摄像机的距离。
LOD Group组件最多可以有8个LOD细节模型。LOD0最靠近摄像机,同时也是精细度最高的模型
项目工程中的LOD设置
在Quality settings 窗口,你可以配置能够影响项目中所有游戏物体的LOD设置项
这里有两种你可以配置的LOD设置项:
- Maximum LOD Level: 在构建时排除大于规定的LOD level的mesh
imum LOD Level**: 在构建时排除大于规定的LOD level的mesh - LOD Bias: 确定在阈值距离处是支持较高的还是支持较低的LOD细节模型