纳金网
标题:
三分钟了解LOD在游戏里面的运用
[打印本页]
作者:
艾西格亚
时间:
2014-4-24 23:18
标题:
三分钟了解LOD在游戏里面的运用
LOD为Levels of Detail的简称,简单来说即为多细节层次,不少朋友经常听到这个名称,但是并不知道如何把这个技术运用在游戏里面,如果用百度查到的说法是:LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
以上的解释可能很多人看了是一头雾水,还是不了解LOD的实际运用,以下让我们通过一个简单的案例来说明LOD的巧妙之处。
我们使用了3dsMax来说明LOD模型的制作,下载附件后打开场景文件,里面是三个面数不同的油桶造型,由左到右分别代表了高模,一般与低模的模型结构。
2014-4-24 22:39 上传
下载附件
(95.02 KB)
选择左边的油桶模型,如图所示,这个模型的数据为三角面712,顶点数358。
2014-4-24 22:39 上传
下载附件
(95.57 KB)
选择右边的模型,这个低模的数据很符合我们的要求,一般来说,用三个模型来制作LOD的效果就很足够了,例如建筑场景里面,最远端的房子只能看到类似盒子的效果,而镜头前面的楼房则是可以清楚的看到里面的许多细节,但是镜头推进到远处的楼房时,原来的盒子立即换成另一个可以战胜细节的模型,这个就是LOD的运作原理。
2014-4-24 22:39 上传
下载附件
(97.65 KB)
将模型保存为FBX后,导入Unity进行测试,命名的方式建议是在物件的后面加上LOD的层级代号,这样比较方便我们直接用名称来选择高模与低模。
2014-4-24 22:40 上传
下载附件
(5.06 KB)
在制作LOD之前,我们需要注意一个事情,那就是将不同面数的模型放在同一个位置,否则会发生模型位置错乱的情况,如图所示,使用Reset方式将中间的模型与低模移到与高模相同的位置。
2014-4-24 22:40 上传
下载附件
(72.17 KB)
2014-4-24 22:40 上传
下载附件
(50.23 KB)
接着建立一个空的Game Object,将其命名为prop_Barrell,我们准备用在这个空组件上面添加LOD的属性。
2014-4-24 22:40 上传
下载附件
(5.38 KB)
选择Component > Rendering > LODGroup,然后就可以对LOD开始进行设置的工作。
2014-4-24 22:40 上传
下载附件
(21.2 KB)
在LODGroup的设置里面列出了LOD的层级,底下的Add用来添加LOD所对应的模型,操作方法是先选择LOD : 0,按下Add,选择场景里面的prop_barell_LOD0模型。
2014-4-24 22:40 上传
下载附件
(42.02 KB)
系统弹出一个提示,询问是否将这个选择的模型设置子物体,选择Yes,Reparent即可。
2014-4-24 22:40 上传
下载附件
(26.51 KB)
如图所示,在选择Reparent后,LOD0的模型自动的设置为prop_Barell的子物件。
2014-4-24 22:40 上传
下载附件
(5.77 KB)
设置完成LOD:0的层级后,选择LOD:1,按下Add,选择场景内的prop_barell_LOD1,接着选择LOD:2,按下Add,选择prop_barell_LOD2后即可完成整个LOD的设置。
2014-4-24 22:40 上传
下载附件
(14.54 KB)
现在滑动LODGroup上方的相机图标来测试LOD的效果,模型在近处时使用的是LOD0所设置的高模,移到LOD1时则是显示为一般进度的模型,而在LOD3的层级时,模型就换为低模,移到最后的Culled插件,模型已经完全的消失了。
2014-4-24 22:40 上传
下载附件
(101.08 KB)
2014-4-24 22:40 上传
下载附件
(55.97 KB)
2014-4-24 22:40 上传
下载附件
(41.84 KB)
此外,我们还可以任意的修改每一个层级的作用范围,只要拖动LOD分隔的线段即可,然后再根据相机的预览来调整出最合适的LOD效果。
2014-4-24 22:40 上传
下载附件
(16.09 KB)
Unity的资源商店也提供了功能更为强大的LOD设置插件,以下为试用版的位置,如果是用于商业项目,请支持正版。
Smart LOD 1.0 - 大场景的优化神器
http://www.narkii.com/club/thread-320869-1.html
更多的技术交流与分享请加入:
纳金网Unity技术交流群 - 218689657
纳金网
3dsmax
技术交流群 - 284146304
Models.zip
2014-4-24 22:41 上传
点击文件名下载附件
5.4 MB, 下载次数: 1146
作者:
hyui
时间:
2014-4-24 23:37
Thank you for this tutorial!
作者:
狂风大尉
时间:
2014-4-24 23:45
不错,一下就知道了这个玩意的用途
作者:
我没有过去
时间:
2014-4-25 00:05
好教程,感谢
作者:
huhumark
时间:
2014-4-25 07:34
楼主,Lod 2级别可以用一个平板的,而不要用立体模型
作者:
run0006
时间:
2014-4-27 22:46
Thank you for sharing.
作者:
Kadina
时间:
2014-5-13 15:24
thank you thanks sharing
作者:
641120784
时间:
2014-5-25 02:44
学习了,谢谢分享您的心得
作者:
cclove
时间:
2014-5-25 07:44
只说一句 果断牛逼。。希望多写点技术方面的教程。
作者:
ZackD
时间:
2014-5-26 04:03
好贴需要顶啊
作者:
shotdead
时间:
2014-5-28 06:36
谢谢, 非常好
作者:
通宵虫
时间:
2015-5-10 14:05
Unity内置的LODGroup组件,楼主这里介绍的很清楚了。使用起来也比较简单。
关于那个Smart LOD,我也看了一下。没看出来它比LODGroup更高级好用呢。
在AssetStore上我看了SmartLOD的介绍,我觉得应该是在LODGroup推出之前用的吧。
作者:
daodaohu123
时间:
2015-11-23 18:07
正在找怎么替换LOD 的模型的示例
作者:
daodaohu123
时间:
2015-11-23 18:08
楼主的帖子真的很详细 还带mode
作者:
Larry_Liang
时间:
2016-2-24 19:11
附件模型是max文件。。。
作者:
掩耳之势
时间:
2016-3-11 17:07
谢谢你的教程哦~
作者:
mflyskym
时间:
2017-1-11 10:48
挺好,感谢分享,学习了!
作者:
cs562981849
时间:
2017-2-16 14:02
不错给力强大啊
作者:
15026004956
时间:
2017-3-13 13:41
感谢分享,学习一下!!!!!!!
欢迎光临 纳金网 (http://old.narkii.com/club/)
Powered by Discuz! X2.5