[转]unity之LOD
LOD技术有点类似于Mipmap技术,不同的是,LOD是对模型建立了一个模型金字塔,根据摄像机距离对象的远近,选择使用不同精度的模型。
它的好处是可以在适当的时候大量减少需要绘制的顶点数目。
它的缺点同样是需要占用更多的内存,而且如果没有调整好距离的话,可能会造成模型的突变。
通过一个例子来说明他的用处:
我们使用了3dsmax来说明LOD模型的制作,下载附件后打开场景文件,里面是三个面数不同的油桶造型,由左到右分别代表了高模,一般与低模的模型结构。

选择左边的油桶模型,如图所示,这个模型的数据为三角面712,顶点数358。

选择右边的模型,这个低模的数据很符合我们的要求,一般来说,用三个模型来制作LOD的效果就很足够了,例如建筑场景里面,最远端的房子只能看到类似盒子的效果,而镜头前面的楼房则是可以清楚的看到里面的许多细节,但是镜头推进到远处的楼房时,原来的盒子立即换成另一个可以战胜细节的模型,这个就是LOD的运作原理。

将模型保存为FBX后,导入Unity进行测试,命名的方式建议是在物件的后面加上LOD的层级代号,这样比较方便我们直接用名称来选择高模与低模。

在制作LOD之前,我们需要注意一个事情,那就是将不同面数的模型放在同一个位置,否则会发生模型位置错乱的情况,如图所示,使用Reset方式将中间的模型与低模移到与高模相同的位置。

接着建立一个空的Game Object,将其命名为prop_Barrell,我们准备用在这个空组件上面添加LOD的属性。

选择Component > Rendering > LODGroup,然后就可以对LOD开始进行设置的工作。

在LODGroup的设置里面列出了LOD的层级,底下的Add用来添加LOD所对应的模型,操作方法是先选择LOD : 0,按下Add,选择场景里面的prop_barell_LOD0模型。

系统弹出一个提示,询问是否将这个选择的模型设置子物体,选择Yes,Reparent即可。

如图所示,在选择Reparent后,LOD0的模型自动的设置为prop_Barell的子物件。

设置完成LOD:0的层级后,选择LOD:1,按下Add,选择场景内的prop_barell_LOD1,接着选择LOD:2,按下Add,选择prop_barell_LOD2后即可完成整个LOD的设置。

现在滑动LODGroup上方的相机图标来测试LOD的效果,模型在近处时使用的是LOD0所设置的高模,移到LOD1时则是显示为一般进度的模型,而在LOD3的层级时,模型就换为低模,移到最后的Culled插件,模型已经完全的消失了。


此外,我们还可以任意的修改每一个层级的作用范围,只要拖动LOD分隔的线段即可,然后再根据相机的预览来调整出最合适的LOD效果。

Unity的资源商店也提供了功能更为强大的LOD设置插件,以下为试用版的链接,如果是用于商业项目,请支持正版。
Smart LOD 1.0 - 大场景的优化神器(比unity自带的优化效率更高!)
http://www.narkii.com/club/thread-320869-1.html
同样还有Simple LOD等
在资产的导入管线基于LOD的命名约定
为了简化LOD设置,Unity在模型导入时有一个命名约定。
简单地创建你网格,名称后缀为_LOD0,_LOD1,_LOD2等,会为你创建LOD组,并作出相应的设置。
请注意,该约定假定最高分辨率的网格的LOD后面的数字是最小的。
在质量设置你可以为每个平台条件LOD设置,特别是LOD偏移和最大LOD层次。
[转自] http://www.narkii.com/club/thread-321290-1.html
[转]unity之LOD的更多相关文章
- 关于Unity中LOD和渲染队列----渲染通道通用指令(一)
每个shader里面有很多的subshader,如果所以的subshader都不执行的话就,就执行fallback.每个subshader都可以设置一个LOD,整个shader也有一个LOD. 系统就 ...
- Unity优化方向——优化Unity游戏中的脚本(译)
原文地址:https://unity3d.com/cn/learn/tutorials/topics/performance-optimization/optimizing-scripts-unity ...
- Unity3d笔试题大全
1. [C#语言基础]请简述拆箱和装箱. 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程. 1.在堆中开辟内存空间. 2.将值类型的数据复制到堆中. ...
- Light Probes
LightProbes (光照探针,光探测器?) 提供了一种方法用于捕获和使用 穿过场景中空白空间的 光(light)的信息. 和光照贴图相似(lightmaps),Light Probes也存储关于 ...
- Unity 中实现粒子系统的 LOD
模型的 LOD 比较简单,直接使用 Unity 提供的组件 LODGroup 挂到模型物体上,然后分别指定不同 LOD 级别的 Renderer 即可. LODGroup 并不是用距离来控制 LOD, ...
- Unity3D for VR 学习(10): Unity LOD Group 组件
LOD (Level of Detail), 远小近大思想. LOD,在Unity中是用到了空间换时间的优化方法:即程序加载2套模型,导致包会增大:在运行时刻,远处的用面数少的模型–模糊一些,近处用面 ...
- Unity中的Lod
http://blog.csdn.net/bigpaolee/article/details/48521371 LOD是( Level of Detail)的缩写,表示细节级别. 这里注意下,Lodg ...
- Unity Lod
LOD是Level Of Detais 的简称,多细节层次,根据摄像机与物体距离,unity会自动切换模型.一般离摄像机近的时候显示高模,离摄像机远的时候显示低模,借此来提升性能. 如果你在Blend ...
- Unity性能优化——LOD技术
LOD,中文名多层次细节,是游戏中最常用的技术,它按照模型的位置和重要程度决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算.今天我们来实现使用它来做一个简单的优化例子. ...
随机推荐
- POJ-2151 Check the difficulty of problems---概率DP好题
题目链接: https://vjudge.net/problem/POJ-2151 题目大意: ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 问 每队至少解出一题且冠军队至少解出N ...
- 缓存验证Last-Modifie和Etag的使用
看这张图,是浏览器发出请求到请求缓存到过程,这么一个原理 那么http里面如何进行验证呢?主要有两个验证到http头 Last-Modified(上次修改时间) 主要配合If-Modified-Sin ...
- JavaEE权限管理系统的搭建(三)--------springmvc和mabatis整合环境搭建
本节介绍如何环境的搭建和配置: 首先要在父工程引入jar包依赖: <!-- 通过属性定义指定jar的版本 --> <properties> <spring.version ...
- Mybatis查询报错:There is no getter for property named '*' in 'class java.lang.String
问题: 执行查询时报错:There is no getter for property named '*' in 'class java.lang.String 原因: 传过去的参数为识别.本例为 p ...
- Status bar - iOS之状态栏
(一)设置状态栏显示和隐藏 1.通过 Info.plist 文件增加字段,控制状态栏全局显示和隐藏 在 Info.plist 文件中增加字段 Status bar is initially hidde ...
- 微信小程序开发踩坑与总结 -
原文链接:https://segmentfault.com/a/1190000008516296 前段时间把公司小程序项目开发完成了,所以来写写自己开发过程中碰到的问题和解决方法,以及用到的提高效率的 ...
- 网上商城_数据库jar包的使用
网上商城_数据库jar包的使用 0.导入数据库相关jar包 commons-dbutils-1.4.jar c3p0-0.9.1.2.jar 1.配置C3P0-config.xml文件 <?xm ...
- datatable中reload和load的区别
ajax.reload()用于datatable表某个数据的变化而重新加载 ajax.url(url).load() 用于切换url时,datatable重新获取数据,加载.
- datatable常用设置
bSort: false, // 是否排序功能 bFilter: false, // 过滤功能 bPaginate: true, // 翻页功能 bInfo: true, // 页脚信息 bProce ...
- 20145202马超 《Java程序设计》 实验一 实验报告
一.实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 二.实验内容 1.完成在Windows环境下对IDEA的配置: 2.实现求正整 ...