Unity中多细节层次LOD技术的使用
发表于2018-07-22
LOD技术:即Levels of Detail的简称,意为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
把模型根绝距相机远近进行分配:据摄像机近,用面数多细节高的模型,据摄像机远,用面数少细节少的模型。
在插件InstantOC中有三个模型,可用作Lod:

查看这三个模型,发现他们的模型面数不同:



面数多的在相机附近用,面数少的分配在离相机较远的地方。
使用方式:
1.新建一个空物体,把这三个物体变成空物体的子物体,并把Transform reset

2.把这三个子物体重命名(这是插件所决定的)

3.设置插件的 Lod 1 distance 和 Lod 2 distance

含义:
物体与相机的间距 a:
1.如果 a < Lod 1 distance,显示模型 Lod_0
2.如果 Lod 1 distance < a < Lod 2 distance,显示模型 Lod_1
3.如果 a > Lod 2 distance,显示模型 Lod_2
该插件的使用和其他设置见:Unity中遮挡剔除 插件InstantOC使用
既然使用该插件,则这三个物体也需要经过遮挡剔除:
更改父物体的 Layers 和 Tag


给父物体添加一个box collider
关于优化:
1.首先优化DrawCall
2.优化顶点数、面数
LOD优点:减少顶点数、面数(为了显卡)
LOD缺点:① 增加CPU计算 ② 内存占用率大(因为有3个物体,Hierarchy中的每个物体都占一块内存)
手游不需要,虚拟现实、PC需要
存在面数较高物体,且有时近有时远的时候用