Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
助力快速理解 Unity中多层次细节组的具体用法 为新手节省宝贵的时间,避免采坑! |
Chinar 教程效果:
1
Level of detail —— 多层次细节
性能优化时,我们有时需要对物体进行处理,来让游戏跑起来更流畅
多层次细节处理,就是让一个物体,在相机距离不同的情况下,显示不同的模型,从而节省性能的开销
开发者做个非常精致的房子,顶点数/面数一定很多
玩家在游戏中,控制人物相机视角离一座房子近的时候,看起来非常精致好看!游戏体验很好!(假设性能开销为100)
当玩家走远的时候,这座房子还在那里,但已经走了很远了,房子看起来不是那么清晰了
但由于房子的模型精度太高无论远近,模型的顶点和面数都不变
Gpu都需要去处理,并绘制房子的图形效果。性能开销还是100
那么就有些浪费性能了,当玩家走远的时候,我们只需要让玩家看到一个房子还在那里即可,因为无论精细度多高,玩家看起来房子都很小,看不清
这是一个房子还好说,现如今没有什么cpu绘制不了这么一个房子。但游戏对象肯定不止一个,大型游戏可能有一堆,几百个,上千个物体
所以作为开发者,我们无需把一个精度那么高的模型,还放在那里,给CPU GPU增加工作量
这时候我们就可以用 LOD 技术,来对模型进行 分层级显示
视角离近时,我们让物体显示精细度高的模型
视角离远时,我们让物体显示精细度低的模型
这就是 Level of detail 多层次细节优化
2
Example —— Unity 层次优化例子
Unity 为我们提供了一个组件 LOD Group
开发者可以极为方便创建,并进行 LOD 优化
在层次面板中创建一个空物体,并创建3个子物体: Cube 、 Sphere 、 Capsule
3
Set LOD Group —— 添加设置层次细节组
Add ComPonent 添加组件 LOD Group
并将 3 个子物体,对应设置到组件相应的参数的层级中
注意:
其实游戏开发时,多数都是在参数中直接关联 预设物 ,而并非层次面板中的游戏对象
所以,LOD技术带来性能优化的同时,存在的一个 缺点就是会增大程序包的体积
因为本来一个模型,现在要准备起码2个/3个/4个,打包时自然而然程序包体积就会增大!
4
Ultimate Impact —— 最终效果
现在你可以缩放镜头,来查看效果了,就这么简单
LOD Group 组件会根据你设置的 距离百分比,来显示相应的游戏对象
5
Set Parameter —— 设置参数
层级显示的距离的远近,可以通过调节组件上方的显示百分比来调节
LOD Group 组件会根据你设置的 距离百分比,来显示相应的游戏对象
下边演示了,绑定预设物与设置距离的具体操作步骤
至此:LOD教程基本用法完美结束
支持
May Be —— 搞开发,总有一天要做的事!
Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑! |
先点击领取 —— 阿里全产品优惠券 (享受最低优惠)
1 —— 云服务器超全购买流程 (新手必备!)
2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)
3—— Windows 服务器配置、运行、建站一条龙 !
4 —— Linux 服务器配置、运行、建站一条龙 !
技术交流群:806091680 ! Chinar 欢迎你的加入
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址