Unity中的Lod
http://blog.csdn.net/bigpaolee/article/details/48521371
LOD是( Level of Detail)的缩写,表示细节级别。
这里注意下,Lodgroup的百分比是这个对象占用视图的百分比(猜测跟相机张开角度,相机远近移动的缩放比例有关)
LODGroup
- 使用这个技术,一般是在解决运行时流畅度的问题,采用的是空间换时间的方式
- 根据摄像机离对象的远近,切换不同细节级别的对象,达到一种目的:近处的对象细节丰富,远处的对象忽略很多细节,从而减少渲染计算,提高流畅度。
- 流畅度的提高,是靠切换不同级别的对象,这就使的原来一个对象,现在需要几种不同级别的对象,这增加了运行时内存的使用,也增加了美术的工作量
- 使用方法:mfc11的专栏 Unity3D LOD Group
- 执行unity编辑器菜单:Edit > Project Settings > Quality,会打开Quality Setting窗口
- 参考 : 官方文档
Quality Setting
- LOD Bias主要控制根据物体才屏幕中的百分比来控制LOD的变化,表现用大白话描述即是:如果该值小那么,摄像机离物体距离稍微有些变化,不同细节物体即会切换,该值大,那么摄像机需要与物体有很大的距离才会切换。
- 目的:就是控制整个场景的细节。当应用运行的平台比较好,会倾向使用较高级别的画质,这时就把离摄像机虽然很远(相对来说)的物体也让他以好的级别渲染,这样整体画质更好;反之,设备较差,那么,会希望离摄像机最近时才展示最好级别的物体对象,具体稍微远(相对来说)立马切换成稍差级别的物体。这样在整体画质级别不变的情况下,保持流畅。
Shader LOD
- 这个是另外一种控制细节级别的技术
- 在一个Shader当中,可以给不同的subshader指定不同的LOD属性,例如:
SubShader {
LOD 200
Pass {
//insert shader pass here
}
}
SubShader {
LOD 100
Pass {
//insert shader pass here
}
SubShader {
LOD 0
Pass {
//insert shader pass here
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 然后,就可以在脚本代码中指定一次全局
Shader.globalMaximumLOD
值,该值是LOD所执行的最大值,也就是说所有shader中的subshader的LOD值小于该全局值,该subshader才被执行。当然,也可以单独设置Shader.maximumLOD
控制个别shader(??这里有疑问) - 参考:Unity Technologies - jonas echterhoff
globalMaximumLOD来达到兼顾性能的最佳显示效果。
VertexLit kind of shaders = 100
Decal, Reflective VertexLit = 150
Diffuse = 200
Diffuse Detail, Reflective Bumped Unlit, Reflective Bumped VertexLit = 250
Bumped, Specular = 300
Bumped Specular = 400
Parallax = 500
Parallax Specular = 600
在Unity3D->Project Setting->QualitySettings中的Maximum LODLevel可以设置最大LOD等级,Shader的LOD值是小于所设定的LOD值,才会被编译使用。Maximum LODLevel的等级可以设置7个级别,例如设置为1,则表示把最大LOD值设置为100,等级2,则最大LOD值为200,以此类推,若设置为0,则表示不进行LOD判断,任何LOD值的Shader都会被使用。
Unity中的Lod的更多相关文章
- Unity教程之再谈Unity中的优化技术
这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体 这一步主要是为了针对性能瓶颈中的”顶点 ...
- 【Unity技巧】Unity中的优化技术
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得 ...
- 在Unity中高效工作(下)
原地址:http://www.unity蛮牛.com/thread-20005-1-1.html Tips for Creating Better Games and Working More Eff ...
- 如何在Unity中分别实现Flat Shading(平面着色)、Gouraud Shading(高洛德着色)、Phong Shading(冯氏着色)
写在前面: 先说一下为什么决定写这篇文章,我也是这两年开始学习3D物体的光照还有着色方式的,对这个特别感兴趣,在Wiki还有NVIDIA官网看了相关资料后,基本掌握了渲染物体时的渲染管道(The re ...
- Unity 中的坐标系
说明: 注意几点: 0 行向量右乘矩阵与列向量左乘矩阵,两个矩阵互为逆矩阵 1 法线转换与mul,mul函数左乘矩阵当列矩阵计算,右乘当行矩阵计算 2 叉乘与左右手系,左手系用左手,右手系用右手,ax ...
- Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术
转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某 ...
- Unity中播放带有alpha通道格式为Mp4的视频
问题: Unity中实现播放透明的MP4视频时出现黑点 解决办法: 使用Unity自带的shader去除黑点 1:shader代码如下所示 Shader "Unlit/NewUnlit ...
- Unity中的优化技术
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/candycat1992/article/ ...
- Unity中实现网格轮廓效果,选中边框效果
问题背景: 最近要实现选中实体的高亮效果,要那种类似于unity中Outline的效果,网格轮廓高亮效果. 效果图: 具体代码: OutlineEffect.cs 实体高亮效果类: 轮廓边总控制类,该 ...
随机推荐
- 在RedHat Linux系统中安装和配置snmp服务
检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-dev ...
- Halcon下载、安装
下载地址: 官网:http://www.halcon.com/halcon/download/ Halcon学习网:http://www.ihalcon.com/read.php?tid=56 { 最 ...
- Bootstrap——全局CSS样式
1.栅格系统 containter:用于固定宽度并支持响应式布局的容器 container-fluid:用于100%宽度,占据全部视口(viewport)的容器 row:行,必须在container或 ...
- 使用viewholder优化listview,减少findViewById的次数
- js调试笔记
js调试方法很多,今天总结一下最实用的的断点方法: debugger断点 这个很常见,但许多人不知道其实可以添加条件判断 if(something){debugger;} source断点 这个最为常 ...
- Memcached HA架构探索
https://code.google.com/p/memagent/ 标签:memcached magent 高可用 HA 架构原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者 ...
- OpenCV——PS滤镜之 波浪效果 wave
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
- HihoCoder1677 : 翻转字符串(Splay)(区间翻转)
描述 给定一个字符串S,小Hi希望对S进行K次翻转操作. 每次翻转小Hi会指定两个整数Li和Ri,表示要将S[Li..Ri]进行翻转.(S下标从0开始,即S[0]是第一个字母) 例如对于S=" ...
- Data Grip 使用--->创建数据库连接
1. 简介 Data Grip 是一款类似于Workbench的数据库设计工具,可以用来对常用的数据管理系统(MySQL/Oracle/Postgresql...)进行操作. 2. 利用DataG ...
- javaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作?
通过"javaCV入门指南:序章 "大家知道了处理音视频流媒体的前置基本知识,基本知识包含了像素格式.编解码格式.封装格式.网络协议以及一些音视频专业名词,专业名词不会赘述,自行搜 ...