阿赵UE学习笔记——14、LOD

阿赵UE学习笔记目录
  大家好,我是阿赵。
  继续学习虚幻引擎的用法。这次看看虚幻引擎的Level Of Detail(LOD)的用法。

一、测试场景准备

  用植物系统,在地形上面刷了好多草:
在这里插入图片描述

  这个时候看一下网格,会发现网格比较多和密集。
在这里插入图片描述

二、LOD系统的测试

  接下来,对这个草的模型的LOD进行一下调整,先找到使用在植物系统的这棵草的模型:
在这里插入图片描述

  在打开的网格体编辑窗口,为了看到模型的布线,我暂时改成了线框模式。然后前后移动一下摄像机,会看到左上角的信息发生变化,一开始是LOD等级0,三角形数是1352,这时候当前屏幕大小是0.6左右:
在这里插入图片描述

  拉远一点之后,会发现LOD等级变成1,三角形数变成了676,当屏幕大小是0.24左右:
在这里插入图片描述

  再拉远一点,会发现LOD等级变成2,三角形数变成338,当前屏幕大小是0.01左右:
在这里插入图片描述

  这说明了UE的网格已经自带了LOD功能。不过由于LOD的参数都是默认的,所以效果并没有很理想。接下来我对LOD的设置进行一定的修改。
  在右边的细节面板里面,可以找到LOD选取器,默认是LOD Auto,意思是根据当前的模型占屏幕大小来显示LOD:
在这里插入图片描述

  把下拉框点开之后,就可以选取不同的LOD等级,然后进行编辑:
在这里插入图片描述

三、调整LOD生效范围

  从刚才的实验可以知道,看起来LOD好像是根据距离来生效,但实际上来说,并不是距离,而是模型占屏幕的大小来让LOD产生效果的,所以调节屏幕尺寸,会让不同的LOD等级在不同的显示大小时生效:
在这里插入图片描述

  在LOD设置里面,还有一个自动计算LOD距离的选项,如果把这个选项勾上了,那么上面的LOD等级的屏幕尺寸就会变成不可编辑状态。
我调整一下LOD1的屏幕尺寸,把它改成0.6:
在这里插入图片描述

  那么当屏幕尺寸小于0.6的时候,LOD1就会生效了:
在这里插入图片描述

  我们一直都是用着同一个静态网格模型来进行LOD变化的,并不会像Unity那样不同的LOD等级一定要自己做一个低边模型放进去。因为UE的LOD,是有自动减面的功能。
  所以在简化设置里面,会有一个三角形百分比。我们可以通过调整这个百分比,来决定当前的LOD等级生效时,网格模型会被简化成什么样子。
在这里插入图片描述

  百分比调得越低,三角面就越少,而同样的模型的细节就会越少。
在这里插入图片描述

四、不同LOD使用不同材质实例

  由于在前面的文章里面,我已经把草加上了随风摆动的效果。但到了这个LOD调整的时候,我想达到的目的是,只有最近一层的草,才会有风摆动动画,后面的等级都不需要动画。
  由于之前的学习知道,风摆动动画是在材质实例里面设置了风的参数,那么如果有不需要风的时候,就必须要复制一个材质实例了:
在这里插入图片描述

  然后把风的选项勾选去掉
在这里插入图片描述

  回到草的静态网格编辑,找到材质插槽,新增一个插槽,并且把刚才的noWind材质实例拖进去
在这里插入图片描述

  这个时候,在指定LOD等级的编辑里面,就可以选择不同的材质球使用了,我把LOD1和LOD2的材质都换成noWind的。
在这里插入图片描述

  这样设置之后,我的目的已经达到了,只有最近的一层是有风摆动的动画了。

五、自定义LOD模型

  如果觉得UE的减面效果不好,想像Unity一样自己替换模型来做LOD,也是可以的,在LOD设置里面,找到重新导入LOD级别的选项:
在这里插入图片描述

  就可以重新选择一个模型导入到该LOD级别:
在这里插入图片描述

  做完了上面的设置之后,再回到场景里面看看,会发现LOD已经是调整过后的效果了。
在这里插入图片描述