Unity关于层级细节(LOD)的使用

发表于2018-09-25
评论0 1.06w浏览
层次细节(LOD)是最常用的游戏优化技术,它是根据物体在游戏画面中所占视图的百分比来调用不同复杂度的模型的。简单而言,就是当一个物体距离摄像机比较远的时候使用低模,当物体距离摄像机比较近的时候使用高模。当然层次细节(LOD)也是有缺点的,容易占用大量内存。使用这个技术,一般是在解决运行时流畅度的问题,采用的是空间换时间的方式。

下面我们分步骤来构造一个最简单的LOD模型示例:

步骤一:准备3组模型,高精度模型,中精度模型,和低精度模型,并按照复杂程度自高向低的为模型命名,如“模型名称LODO0”、“模型名称LOD1”等,最后的数字序号越低,表示复杂程度越高。如图所示:

步骤二:定义一个空对象,添加LODGroup组件,如图所示:

步骤三:分别将刚刚准备好的三种不同精度的模型,拖拽到空对象的LODGroup组件的各个级别上。首先给LOD组件的“LOD 0”(LOD 0表示摄像机最近距离显示)添加对应的模型。(LOD 0对应高精度模型,然后拖拽到Add上面即可)如图所示:

步骤四:在LOD组件添加模型的过程中会弹出如图所示的提示信息,表明要把添加的模型作为LODGroup组件所属对象的子物体,单击"Yes,Reparent"按钮即可。

步骤五:为使构造的LOD游戏对象显示得更加自然,需要把LOD下的三个子物体进行”对齐“处理。(将其相对于父物体的坐标置为0)如图所示:

步骤六:在Scenes视图中,拖动摄像机分别近距离与远距离观察模型的变化。

注:Project Settings中与LOD组件相关参数

LOD Bias和Maximum LOD Level

-执行unity编辑器菜单:Edit>Project Settings>Quality,会打开Quality Setting窗口,找到Other下的参数,如图所示:

Maximum LOD Level:是最大LOD级别,表示游戏中使用的最高LOD级别。在该级别以上的模型不会被使用,并且在编译时忽略。(这将节省存储空间和内存空间)。

Bias LOD:LOD偏离,LOD级别基于物体在屏幕上的大小。当物体大小在两个LOD级别之间,可以选择使用低细节模型或高细节模型。数值取值范围为0-1,数值越接近0,越偏向于选择低细节模型。大白话描述即是:如果该值小那么,摄像机离物体距离稍微有些变化,不同细节物体即会切换,该值大,那么摄像机需要与物体有很大的距离才会切换。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引