Unity 性能优化之LOD技术(十)

2024-05-08 07:44
文章标签 技术 优化 性能 unity lod

本文主要是介绍Unity 性能优化之LOD技术(十),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:仅供参考,有误之处,麻烦大佬指出,不胜感激!

文章目录

  • LOD技术效果
  • 一、LOD技术是什么?
  • 二、LODGroup组件介绍
  • 三、LODGroup组件使用步骤
    • 添加组件
    • 添加模型
  • 四、Project Settings中与LOD组件相关参数
  • 总结


LOD技术效果

使用远、中、近三种情况来实现效果,当距离很远的时候模型就会隐藏不可见(视频没有录制到这种情况,不影响),如下视频:

LOD技术效果

一、LOD技术是什么?

LOD是Level of Detail的简称,意思是细节层次,它是一种优化技术。
LOD的原理,就是我们可以为一个游戏对象设定多个模型,这些模型消耗的游戏性能由高到低排列。会根据摄像机距离模型的远近自动显示对应的模型。
近的时候显示最精细的模型,距离中等的时候显示没那么精细的模型,远的时候显示粗糙的模型,最远的时候可以隐藏该模型。
使用LOD技术能起到优化渲染性能的效果。但是使用LOD技术也会增加内存占用

二、LODGroup组件介绍

有三种模式可以选择,None 、Cross Fade 和 Speed Tree
在这里插入图片描述
None 就是一个默认模式,不作处理。
Cross Fade为交叉淡入淡出,在这个选下还有一个可变属性叫Fade Transition Width(淡入淡出过渡宽度)Fade Transition Width 是一个从0~1之间的值,代表淡入淡出的过渡区域占当前LOD级别的比例。如果值较小的话,可以延迟两个LOD级别混合的开始并且过渡更快,因为Unity通常使用的是屏幕空间抖动或透明度来实现交叉渐变。
在这里插入图片描述
peed Tree 只需要物体提供0~1的状态,然后两个LOD级别的混合是从0开始到1结束的,也就是开始时是与前一级别的LOD一致,转换结束时就与后一个LOD级别完全匹配了。

三、LODGroup组件使用步骤

添加组件

把LODGroup组件添加在一个空物体身上。这个空物体身上不添加MeshRenderer组件,也不添加MeshFilter组件,但可以添加碰撞器。如果要添加刚体、脚本等,也可以添加到这个空物体身上的。
右击它们中的一个,点击Insert Before可以添加一个新的LOD级别到渲染条上。
右击它们中的一个,点击Delete,则可以删除该LOD级别。
鼠标悬停在两个LOD级别之间,按住鼠标左键,左右拖动,可以调整LOD级别的范围。

添加模型

LOD级别LOD 0、LOD 1、LOD 2分别表示摄像机从近处看、从中等距离处看、从远处看时,所使用的模型的信息。Culled表示不渲染该模型。
点开下方的LOD 0、LOD 1、LOD 2,点击+号可以添加在这种情况下要显示的模型
在该空物体的LODGroup组件中,点击选中要设置的LOD级别,在Renderers下方点击Add可以选择要显示的游戏对象,点击-号可以移除该游戏对象。
在这里插入图片描述

四、Project Settings中与LOD组件相关参数

Edit——Project Settings——Quality,中有控制整个项目LOD的参数。
LOD Bias的值小,则摄像机离物体的距离稍微有些变化,则不同的LOD级别就会切换。如果LOD Bias的值大,则摄像机需要与物体有比较大的距离变化,不同的LOD级别才会切换。

Maximum LOD Level表示所有LOD Group组件最大能使用LOD级别,超过这个限制的LOD级别的模型不会显示。注意,LOD级别0大于LOD级别1,LOD级别1大于LOD级别2,依次类推。例如把这个值设置为1,则即使摄像机到物体的距离达到了LOD级别为0的范围,则也不会切换到LOD级别为0的模型来显示。例如把这个值设置为2,则即使摄像机到物体的距离达到了LOD级别为0或者LOD级别为1的范围,则也不会切换到这些模型来显示。
在这里插入图片描述

总结

好记性不如烂笔头!
上一章:链接: 性能优化之UI和模型优化(九)
下一章:

这篇关于Unity 性能优化之LOD技术(十)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969726

相关文章

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

C#实现高性能Excel百万数据导出优化实战指南

《C#实现高性能Excel百万数据导出优化实战指南》在日常工作中,Excel数据导出是一个常见的需求,然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈,下面我们看看C#如何结合EPPl... 目录一、技术方案核心对比二、各方案选型建议三、性能对比数据四、核心代码实现1. MiniExcel

Java的"伪泛型"变"真泛型"后对性能的影响

《Java的伪泛型变真泛型后对性能的影响》泛型擦除本质上就是擦除与泛型相关的一切信息,例如参数化类型、类型变量等,Javac还将在需要时进行类型检查及强制类型转换,甚至在必要时会合成桥方法,这篇文章主... 目录1、真假泛型2、性能影响泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(ty