搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
代码吟游诗人2
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
深度学习记录--Batch Norm
2
matlab基于遗传算法的多目标优化算法(附代码获取方法)_多目标遗传算法matlab程序
3
Ubuntu系统下电脑驱动的安装(wifi无线网卡)
4
【小吉测评】高效简洁的数据库管控平台—CloudQuery_数据库 统一纳管平台
5
Python基础(二)--数据类型,运算符与流程控制_sys.float_info.min
6
学IT毕业后该去哪个城市?哪个岗位薪资高?哪些公司待遇好?_上海 武汉哪个地方更适合计算机行业
7
ModuleNotFoundError: No module named ‘xxx ’问题解决方法
8
基于微信山西太原某大学球馆预约预约小程序系统设计与实现 研究背景和意义、国内外现状
9
基于掩蔽生成知识蒸馏(MGD)的钢铁表面缺陷检测_masked generative distillation代码
10
蓝桥杯2019 第十届 c/c++ c组第3题 求切割方形(30行代码 简洁!)_c语言一个人找到一块a×b的板子切割成需要的n×n的正方形,至多可以切几块
当前位置:
article
> 正文
Unity3D 实用技巧 - LOD·应用篇
作者:代码吟游诗人2 | 2024-02-05 09:29:45
赞
踩
unity lod组件
一、明晰概念
LOD:多细节层次,是最常用的游戏优化技术。通过精度不同建模,在镜头离该物体近的时候使用精度高的建模展示细节,在镜头离得远的时候放上精度较低的建模来加快整体场景的渲染速度。即根据摄像机与物体距离,Unity会自动切换模型,从而达到性能优化的目的。
优缺点: 高效率优化GPU,但是因为同一套模型需要准备多个(高中低)模型,所以内存占用会增多,相当于用内存换取减轻GPU性能负担,提高GPU效率,从而达到一个高效率的渲染效果。
官方文档:
https://docs.unity3d.com/Manual/LevelOfDetail.html
LOD 维基:
https://zh.wikipedia.org/wiki/细节层次
二、实战应用
1、快速学会基础配置。
1.1 严格设定命名规则 ,为了统一管理资源和识别使用,模型名称高中低:_LOD0、_LOD1、_LOD2,Culled(模型在场景消失),数字序号最低,复杂程度越高。
1.2 设置层次细节组 ,定义一个空对象,添加LODGroup组件。
1.3 拖拽不同精度的模型在LODGroup组件对应级别上 (高精度:LOD0(相机最近显示)、中精度:LOD1、低精度:LOD2)
2、Project Settings中与LOD组件相关参数。
LOD Bias :LOD的偏移值,预先设置的【LOD百分⽐】 / Lod Bias = 当前LOD的百分⽐,当设置⼀个最⾼效果,如果Lod Bias数值越⼤时,那么【LOD百分⽐】越⼩,此时兼容的物体越远,这时细节不变。在真实的环境中这样理解,在⾼配置机器上,设置了⾼画质,并设置对应的Lod Bias⾮常⼤,那么物体的细节就不会根据摄像机距离进⾏变化,反之设置低配置时,Lod Bias设置越⼩,那么细节变化就会⾮常明显。
Maximum LOD Level :最大LOD级别,表示游戏中使用的最高LOD级别。在该级别以上的模型不会被使用,并且在编译时忽略。(这将节省存储空间和内存空间)。
3、学会在Unity Shader中设置LOD。
Shader会有一个LOD值,每个SubShader有一个LOD值,当SubShader的LOD值小于此Shader的LOD值时,SubShader才能工作。默认情况下一个Shader允许的LOD层级是无限大的,也就是只要硬件支持的Shader就可以工作。并且也可以利用Shader的细节表现提升游戏的性能。
(1)Shader的LOD可以使用Shader.maximumLOD来控制单独的Shader,也可以使Shader.globalMaximumLOD控制全局所有的Shader。
(2)在SubShader中可以使用LOD命令指定不同的LOD属性,所以可以通过代码动态修改某一个Shader的LOD(注意:当游戏运行修改Shader LOD,结束游戏后保存Shader在LOD中,所以我们在游戏修改就是引用实际的Shader 资源,并且当Shader代码被修改重新编译,LOD值也会被重置)
ShaderLad为子着色器指定LOD值:
https://docs.unity3d.com/cn/current/Manual/SL-ShaderLOD.html
4、参数 Fade Mode(淡化模式)
三、LOD 优化策略
我们都知道一套好的LOD系统需要美术在资源上做大量的资源分级工作,同时需要程序搭建完善的LOD框架和辅助工具,每增加一个功能模块都需要把LOD考虑进来。并且在一般情况,我们还需要根据手机机型的不同采用不同的渲染LOD。如安卓系统低端机上使用更为简单的材质,从而来降低低端设备的GPU压力。
基础LOD使用原则:
1、高精度复杂物体(面数高、顶点数高)需应用LOD。
2、远景物件适用。
3、大面积重复的物体适用。
确定项目的LOD分档,细节模块分级:
四、三方资源优秀分享
1、按需制作LOD(自动生成LOD插件:Poly Few、Mantis LOD Editor、Ultimate LOD System MT)
2、自动生成LOD插件 AutoLod:
https://assetstore.unity.com/packages/tools/utilities/autolod-impostors-199759
3、自动生成LOD插件(Github):
https://github.com/manaporkun/Automatic-LOD-Generator
4、自动减面工具:
https://github.com/huailiang/lod
5、草、树(地形)Lod生成:
https://github.com/Tiggilyboo/UnityQuadTreePlanet
地形生成:
https://github.com/barrettotte/Terrain-Generation-Study
6、在Unity3D中加载Max3D文件:
https://github.com/ProjSEED/Unity-3mx
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/代码吟游诗人2/article/detail/60210
推荐阅读
article
Unity3D
2018
安装
教程...
安装
步骤:
安装
前先关闭杀毒软件和360卫士,注意
安装
路径不能有中文,
安装
包路径也不要有中文。试装系统:win10 64b...
赞
踩
article
【
Unity3D
Debug
】如何在
不
改变
物体
自身
Transform
的情况下,
令其绕
特定
物体
进行
旋转
...
【
Unity3D
Debug
】如何在
不
改变
物体
自身
Transform
的情况下,
令其绕
特定
物体
进行
旋转
(含方法可行性
证明
)...
赞
踩
article
Unity3D
相机绕对象
旋转
和调整
距离
_
unity
围绕
物体
旋转
距离
保持不变...
using UnityEngine;public class MouseFollowRotation : MonoBeh...
赞
踩
article
【
unity
3D】
unity
的
基本知识
...
希望我记录的内容可以帮到刚入门的你
unity
3d ...
赞
踩
article
【
Unity3D
进阶4-12】
Unity3D
对话
系统
_
topicsystem
unity
...
一、目录【
Unity3D
从入门到进阶】文章目录及设置这个专栏的初衷
_
topicsystem
unity
topicsyst...
赞
踩
article
unity
3d
-导出到
ios
报错
_
unity
转
ios
接入
taptap
防沉迷
报错
...
Unity-iPhone is automatically signed for development, but a ...
赞
踩
article
【
实用技巧
】
更改
ArduinoIDE
默认库
文件
位置
,解放系统盘,将
Arduino15
中的库
文件
移动到...
本文主要介绍
更改
Arduino IDE (含2.0以上版本)默认库
文件
位置
的方法。Arduino IDE 默认将软件包安...
赞
踩
article
【
Unity
3D
】
Unity
游戏
画面
帧
更新
(
游戏
帧
相关概念 |
MonoBehaviour
#U...
一、
游戏
帧
相关概念、二、
MonoBehaviour
#
Update
()
帧
更新
方法、三、
帧
更新
时间统计、四、 设置游...
赞
踩
article
Unity3D
Update
和Fixed
Update
的区别及深入探讨_
unity
update
fi...
注:本文禁止一切形式的转载大多数对
Update
和Fixed
Update
进行说明的文章都只说明了
Update
是每帧更新、F...
赞
踩
article
unity3d
动态
合批
设置_
Unity
技术分享(82)|
动态
合批
|渲染模块|animationcl...
我们将从日常技术交流中精选若干个开发相关的问题,建议阅读时间15分钟,认真读完必有收获。如果您有任何独到的见解或者发现也...
赞
踩
article
Unity3D
-- 自动
生成
动画
(
AnimationClip
)_
unity
2021 animat...
我们一个Prefab有很多个子物体,而且当前prefab使用了大量的
动画
状态,假如想将该Prefab
动画
更改过的属性在I...
赞
踩
article
Unity3D
官方
文档
平台
特殊化之
IOS
_
unity
ios
网络请求...
版本:
unity
5.6 语言:C# 总起:
IOS
平台
在做第三方对接的时候,除了XCode这个IDE有点弱,提示错误内容...
赞
踩
article
unity3d
动态
合批
设置
_[
Unity3d
手游开发笔记]捏脸贴花的
实现
...
在上篇文章游戏码农:[
Unity3d
手游开发笔记]角色捏脸的
实现
zhuanlan.zhihu.com讲述了捏脸中通过调...
赞
踩
article
[
Unity3d
]
Player
Settings
导出
设置
...
Player
Settings
is where you define various parameters (platf...
赞
踩
article
Unity3D
UGUI
系列之
合批
_
unityui
元素
合批
是
什么
意思...
在正式开始之前,咱们先做个准备工作:创建一个新场景,然后把自带的平行光给删除,讲相机的Clear Flags改为Soli...
赞
踩
article
Unity3D
UGUI
系列之
合批
_
unity
ui
合批
...
详细介绍了
UGUI
合批
的规则及原理,并给出了Demo分析。同时,附带介绍了Frame Debugger和Profiler...
赞
踩
article
Unity3D
for
iOS
初级教程:
Part
1/3...
转自Unity 3d
for
ios这篇文章还可以在这里找到英语Learn how to use Unity to ma...
赞
踩
article
实用技巧
:嵌入式人员使用
http
服务模拟工具模拟
http
服务器
测试
客户端
get
和
post
请求_
局域网
...
开发Qt中需要使用到
http
的
post
请求,但是需要自行模拟
局域网
测试
,因为我们开发主要为嵌入式和桌面软件开发,对于we...
赞
踩
article
项目
02
《
游戏
-
04
-开发》
Unity3D
...
重置前三阶段,更新资源前三集结合项目
02
《
游戏
-
04
-开发》
Unity3D
基于 &...
赞
踩
相关标签
unity
unity3D
游戏开发
unity3d
FPS手臂
几何证明
RotateAround
抬头低头
Unity3D
学习
游戏引擎
游戏
对话系统
UI
嵌入式硬件
c#
游戏帧
帧率
unity3d 动态合批设置
编辑器
自动生成动画
文档
ios
官方文档