Unity学习-优化_LOD技术

 

最近项目的需求被策划那边卡流程了,在大改,没什么事情做

于是开始自己找点不会的东西来学一下了

这里会记录我得学习经历,采用费曼学习法来提示自己

 

LOD

Unity会根据摄像机的远近距离调整模型的显示效果

其中效果是需要我们去提供的

 

在给物体添加LOD Group组件之后  会出现有4块颜色不同的区域,这里就是告诉我们的层级权重关系

在scene视图下我们可以拖动上面的摄像机小图标可以预览实际效果

其中分为4个层级

1:LOD0 100% 权重显示

2:LOD1 60% 权重显示

3:LOD2 30%权重显示

4:这是看不到的位置,做剔除处理

这上面的30% 60% 100%不是一个具体参数,只是在告诉我们这个物体的距离和显示关系。越小越看不到

点击其中一个LOD

可以增加renderers,这里的检索范围是Hierachy里面的物体,也就是被创建出来的物体,而且只会检索带MeshRender组件的物体

我们在每一个阶段放一个CUBE,位置相同,颜色不同以作区分,因为在实际的用处中,这里会替换成实际的模型 ,3个显示等级

对应【1种物体的3种规格模型】,没一种规格的模型顶点,贴图都会做不同的精度设置 达到我们优化的目的

这里我们用3种颜色代替3种精度达到我们想要的效果

拖动摄像机,即可预览实际效果

 首先设置3种显示效果

1.创建3个CUBE

2.新建3个材质球,达到我们自定义CUBE颜色的目的

3.将材质球赋给各个CUBE

如图

cube1:

cube2:

 

cube3:

 

 

 

 

 

 当实际的摄像机和物体的距离在LOD1的阶段时显示为红色

 

在距离达到LOD1位置的生活,显示为黑色

LOD2的生活 显示为绿色

 

到这里,我们就可以从逻辑上面达到可以根据摄像机的距离,来控制物体的显示效果了

接下来就可以和美术沟通,如果对应实际需求了。

这样做有一个弊端,每个游戏物体都需要对应3套精度的模型,在效率上会增加,但是优化的效果不错。

而且在场景比较简单的情况下,实用LOD本身会占用一部分的开销,如果一个简单的场景,本身的开销并不大

实用LOD的开销甚至比优化掉的开销还打,就会得不偿失了。

至于具体决定使不使用就看小伙伴们的项目组啦~

 

posted on 2019-04-17 20:37  年轮下的  阅读(476)  评论(0编辑  收藏  举报

导航