0%

Unity-探索LOD

前言

LOD 也是性能优化的一项技术之一,会根据摄像机的距离展示不同精度的模型。也是一个以空间换性能的例子。
本文将会展示 LOD 的使用方法,以及注意事项

简介

LOD(Level of Detail)多细节层次,LOD技术根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

使用示例

  1. 首先我在场景中创建三个模型分别是:红色立方体,绿色球体和黄色胶囊体,分别表示高精度,中等精度,低精度模型。

1
2
2. 接下来创建一个空对象,这里命名为 TestLOD ,并添加 LODLayer(LOD层)组件。

3
3. 可以看到组件面板中最显眼的条形图。LOD 分层从小到大依次是模型精度从高到低。上面的摄像机图标就是模拟的摄像机与模型的距离,最左端为最近距离,因此从左到右,LOD 0~?数字越大,表示相机距离远,表示模型精度越低。Culled 表示模型不展示的层。

7
4. 这里设置的是 0-2 层,使用方法是,点击 LOD 的一层,比如 LOD0,点击下面的 Add 选择我们的高精度模型,此时会有弹窗表示这回改变对象的层次结构,选择 yes,Reparent,后面的依此操作。

4
5
6
5. 添加好后,我们可以点击不同的 LOD 层,此时场景窗口就会调整到相对应的距离,现实对应的效果。我们可以调整距离参数,来达到我们需要的分层效果。
7
8
8.1
6. 添加好模型后,会发现这些模型都成了 TestLOD 的子对象。最后我们将不同精度模型的坐标重置。

9
10

  1. 最后的演示,可以看出随着相机距离模型越来越近,相机试图中的模型从胶囊体→球体→立方体。

11

(无法流畅观看图片时,右击图片,选择“查看图片” 或"在新选项卡中打开图片")

补充

在 edit -> project setting -> quility 中的 other 标签下会发现关于 LOD 的设计项。
12

  • Lod Bias:LOD偏移,LOD级别基于物体在屏幕上的大小。当物体大小在两个LOD级别之间,可以选择使用低细节模型或高细节模型。数值取值范围为0-1,数值越接近0,越偏向于选择低细节模型。即是:如果该值小,那么摄像机离物体距离稍微有些变化,不同细节物体即会切换,该值大,那么摄像机需要与物体有很大的距离才会切换。
  • Maximum LOD Level:最大LOD级别,表示游戏中使用的最高LOD级别。在该级别以上的模型不会被使用,并且在编译时忽略。(这将节省存储空间和内存空间)。

参考

LOD初探——简书——笛音夏扇