【unity游戏开发——优化篇】Unity6.2新功能介绍——Mesh LOD的使用
文章目录
- 前言
- 一、Mesh LOD与LOD Group对比
- 二、实战
- 1、为网格生成Mesh LOD数据
- 2、预览效果
- 3、mesh renderer中的mesh lod
- 4、设置全局的mesh lod质量阈值
- 参考
- 专栏推荐
- 完结
前言
Unity6.2新功能介绍——Mesh LOD,在模型导入时根据尽量保留原始形状和避免视觉错误两个前提下确定需要合并和需要保留的三角形,并将三角形索引放到原始网格的索引缓冲区中,并做多次简化迭代生成多级LOD。
Mesh LOD简化细节
- 原始网格必须至少包含256个三角形才能开始简化
- 每次简化不会添加任何新顶点,所有LOD都会重复使用原始网格的顶点缓冲区
- 每个后续层级的LOD包含的索引数量大约是前一层级LOD的一半。
- 当三角形数量不足(小于64)、生成器不能再省略任何顶点或达到导入设置的LOD限制时停止简化。
一、Mesh LOD与LOD Group对比
之前我们已经介绍了LOD Group的使用:LOD技术根据物体与摄像机的距离来动态调整模型的细节程度——LODGroup的使用,Mesh LOD其实有点像LOD Group的升级版。
Mesh LOD | LOD Group |
---|---|
内存占用小 | 内存占用高 |
不会优化材质 | 可以优化指定层级LOD |
导入时创建LOD | 自定义创建LOD |
隐式控制LOD转换参数 | 需用户定义指明LOD层级参数 |
不支持Instancing、ParticalSystem与VFX | 全支持 |
仅在GPU Resident Drawer开启时支持Cross Fade | 支持Cross Fade |
仅支持三角形拓扑 | 不限 |
由于生成LOD时不考虑蒙皮权重和Morph形变对Skinned Mesh Rendererx对象支持有限制 | 由于是自定义创建可以规避变形影响 |
适用于高顶点密度相对平坦的平面,对于曲率较高或不相连的子网格可能带来不良效果 | 不受限制 |
注意
:每个模型对象最好选择Mesh LOD
或LOD Group
,不要两种混合在一起用,因为那样既浪费内存,也会影响效率。
二、实战
1、为网格生成Mesh LOD数据
我们在模型导入的inspector中,开启Generate Mesh LODs,再点击apply就可以为网格生成Mesh LOD了
- Discard Odd Levels可以丢弃奇数索引的LOD层,以此来减少LOD层级的数量。虽然此选项可以提高部分性能,但也会增加出现视觉误差的可能性。
- limited LODs:可以限制生成LOD层级数量,也就是生成多少层LOD后,跳出简化迭代
2、预览效果
开启这个选项后,需要可以前往网格窗口修改maximum level来定义最大限制级别数,预览不同级别的效果
3、mesh renderer中的mesh lod
生成mesh lod后,我们还可以在每个mesh renderer中,找到mesh lod标签
-
我们可以通过LOD Override来禁用mesh lod的自动选择,这样我们可以自定义为每个mesh renderer设置mesh lod层级
-
而LOD Selection Bias,侧是会被添加到计算LOD索引的值,增加Bias后LOD的索引值等于计算索引值加上BIOS值之后取floor,也就是向下取整来作为LOD的索引值
4、设置全局的mesh lod质量阈值
前面两种方法都可以自定义每个mesh rendererl的LOD,我们还可以在project settings中,为每个质量层级再设置全局的Mesh LOD质量阈值
这个值越小越倾向于更少的细节,这样做可以为不同平台设置不同的质量细节。
参考
https://www.bilibili.com/video/BV15zdEYsE12/
专栏推荐
地址 |
---|
【unity游戏开发入门到精通——C#篇】 |
【unity游戏开发入门到精通——unity通用篇】 |
【unity游戏开发入门到精通——unity3D篇】 |
【unity游戏开发入门到精通——unity2D篇】 |
【unity实战】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架/工具集开发】 |
【unity游戏开发——模型篇】 |
【unity游戏开发——InputSystem】 |
【unity游戏开发——Animator动画】 |
【unity游戏开发——UGUI】 |
【unity游戏开发——联网篇】 |
【unity游戏开发——优化篇】 |
【unity游戏开发——shader篇】 |
【unity游戏开发——编辑器扩展】 |
【unity游戏开发——热更新】 |
【unity游戏开发——网络】 |
完结
好了,我是向宇
,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!