Unity5-----------之GI设置简介

GI

global illumination 全局照明
indirect illumination 间接照明
模拟出光线追踪的效果

实现方法:
1.ssao系列 
2.lightmap、辐射度
3.PBRT

实时GI:
LPV cryengine 《Cascaded Light Propagation Volumes for Real-Time Indirect Illumination》
SVO ue4 《Interactive Indirect Illumination Using Voxel Cone Tracing》 补充:UE4现在出来了,还是用的LPV,SVO应该跑不了!
KlayGE中用到的:VPL MSII RSM(reflective shadow map) 《Multiresolution Splatting for Indirect Illumination》

GI操作:

  全局光照的特点在于能够捕捉间接光照,所以5以后,除开原来的direct light的效果,增加indirect light的效果,简单来说,就是除开光源之后,然后模型本身做为光源,幅射到别的模型上,层层递归后的效果。现不管是预计算实时GI还是烘培GI都只是针对静态模型。预计算Gi的实时光源与烘陪对应的烘培光源里的强度与反射强度都会影响幅射图与方向图的内容。需要注意,预计算Gi针对的是实时方向光,而烘培GI针对的是烘培方向光。

全局光源

  Skybox :天空盒,参考材质Skybox/Cubemap,如果全局光源与全局反射探头都选择Skybox模式,则会把Skybox当做一个Cubemap,场景所有模型,静态与非静态的一部分光源从这个Cubemap反射上得到。

  Sun:Skybox选择一个方向光,以这个方向光的方向做方向,这个方向光如颜色与强度不影响全局本身,如果没有设置方向光,选择强度最大的那个方向光源。

  Ambient Source:全局光源,如果设置天空盒,但是天空盒本身没有设置,自动选择下面的全局颜色设置,全局反射探头以Ambient Source当做光源。

  Ambient Intensity:全局光源强度,越高越亮,为0时,光源不起作用。

  Ambient GI:当预计算GI与烘培GI二个都选择后,这个可以选择是用实时还是烘培。

  Reflection Source:Unity默认放入的全局反射探头,选择Skybox会以Ambient Source里提供的光源颜色做反射,同时也可以自己提供cubemap当做反射源。

  Resolution:反射探头解析度,应该是对应RTT的cubemap六张纹理的分辨率。

  Compression:是否压缩。

  Reflection Intensity:Reflection Source针对所有模型反射强度,值越大,相应的模型面上显示越清晰的Reflection Source。

  Reflection Bounces:当设置多个Reflection Probe时,互相反射对方信息的次数,如二面镜子。

GI设置

  Precomputed Realtime GI

  预计算实时GI,针对实时静态物体之间的幅射光,故相应的幅射图与方向图都是低分辨率下的。动态物体可以使用光照探头来得到相应反射光源信息,注意动态模型与光探头的距离。

  Realtime Resolution:预计算实时GI,把场景分成许多格,得到每个格的幅射信息。那么这个值越高,计算量将以平方增加,最终值还将和General GI里的光源参数里的Resolution相乘。

  CPU Usage:生成相应GI的数据时,在游戏运行时分配多少CPU计算能力。

  Baked GI

  烘培GI,因此能得到更精确的模型之间的反射光信息,但是不能运行时更改相应的光源信息,如颜色,方向,预计算实时GI没有这个问题。

  Baked Resolution:一般来说,是Realtime Resolution 10+,因为相应的幅射图与方向图精确度要高很多。

  Baked Padding:网上说是光照贴图中分隔的距离,还需要验证。

  Compressed:是否压缩

  Ambient Occlusion:值越高,遮挡地区得到的光比差越大。

  Final Gather:用FG技术来产生烘培数据,这种技术时间会长一些。参考http://blog.sina.com.cn/s/blog_46c56d9a0100gqbv.html

  Ray Count:Final Gather所用的光线追踪光线数目。

  Atlas Size:图集里贴图的大小,越低实际占用越精确也就是越小,但是贴图产生越多,应该选择一个合适的大小。   

  General GI

  预计算实时GI还是烘培如何生成.

  Direction Mode:幅射图/带方向光/加镜面,具体看Shader分析,其中预计算实时GI与烘培GI在这生成的相应幅射图,方向图等有所不同,后面会提到。

  

  Indirect Intensity:间接光的强度。

  Default Parameters:生成相应贴图所需要的信息。

  其中全局预计算GI,烘培GI,全局反射探头相应的改动需要重新烘培,如果选择自动,相关改动会自动在后台烘培。

  上面这些说实话,写这么操作没啥用,自己对着每项实践一篇,什么都清楚了。

Light Probe:

  对于GI来说,不管是预计算GI与烘培GI,都不会对非静态模型计算间接反射,光探头的加入,可以使非静态模型得到周围静态模型的幅射光,主要技术原理使用一种球谐光照的技术,注意light probe一般不会对静态模型有影响,你看到的影响,只是因为非静态模型的颜色变化大造成的反差。

  相关球谐光照的技术原理可以参见,本人也看不懂,只能说看了后有点印象是怎么回事:

  球谐光照(上)

  http://www.yasrt.org/shlighting/

  http://www.cppblog.com/init/archive/2012/09/19/191182.html

  一种2D傅立叶级数的球形推广,可以把光照函数展开成SH基函数的叠加,类似傅立叶变换能把任何函数展开成正弦波的叠加,对光照图来说一般只用2 bands = 4 RGB textures,通过丢失高频细节来压缩存储。  

Reflection Probe:

  定义一个Cubemap用来影响周围模型的镜面反射,给镜面高光模型使用。

  一般来说,我们想得到一个实时场景的Cubemap,只需要在一个点,用摄像机对着前后,左右,上下,各拍摄一次,形成6个面,组合成Cubemap.

  Type:烘培,用户,自动。其中,烘培就是用户来控制生成一个当前的场景cubemap,用户就是用户自己提供一个cubemap,实时就是不断更新这个cubemap以映射最新的场景。

  当选择实时,Refresh mode:On  awake启动时,每桢,用户脚本控制,当每桢时,如下选择。

  Time slicing:一桢先生成6个面,后面8桢每桢生成一个mipmap,一共9桢。

  Individual face:6面6桢,加后面8桢每个mipmap,一共14桢。

  No time slicing:一桢内把mipmap与cubemap全部生成。

  Importance:当多个反射探头影响一个模型时,这个参数影响这个反射探头的比重。

  Intensity:间接光强度,强度影响镜面反射,镜面反射越亮。

  Box Projection:从着色代码来看,应该根据当前反射探头的源点与AABB影响是模型原来法线。

  Size:大小,范围内的模型使用这个。

  Probe Origin:原点。

  Cubemap capture sttings:

  Resolution:cubempa材质的大小。

  HDR:高光。

  Shadow Distance:阴影距离,数值越少,阴影越近。

  下面就是RTT对应摄像机的属性。

时间: 2024-12-27 14:40:40

Unity5-----------之GI设置简介的相关文章

Windows7防火墙设置简介

1.打开 "控制面板 --> 系统和安全 -->  Windows 防火墙" 进入如下界面: 其中描述了基本的防火墙状态.在左边菜单栏的 '打开或关闭windows防火墙'可以设置是否启用防火墙. 2.点击左边菜单栏里的'高级设置',进入如下界面: 中间的部分是关于防火墙基本描述,有关于不同网络位置(域,专用,公用)的配置文件.可以选择默认.此处为了演示,需要对配置文件做修改. 3.选择配置文件 下方的 ' Windows防火墙属性' 弹出如下对话框: 我们在此处将 '公用

平台新版定时任务设置简介

1.给固定的人员发送相同的邮件内容  2.给不同人员发送不同的邮件内容  详细介绍,请看后期更新的文档 原文地址:http://bbs.delit.cn/thread-1098-1-1.html 转载请注明出处: 撰写人:度量科技http://www.delit.cn

Unity5 GI与PBS渲染从用法到着色代码

本文主要介绍Untiy5以后的GI,PBS,以及光源探头,反射探头的用法以及在着色器代码中如何发挥作用,GI是如何影响渲染的,主要分成三个部分,最开始说明PBS需要的材质与相应概念,二是Unity 里相应GI的操作,三是对应着色器代码的理解.如果没有特殊声明,所有操作与代码都是针对Unity5.3. PBS材质与概念 简单来说,PBS的优点不同的照明下获得一致的外观,更容易实现,更直观的参数. PBS材质概念: 1.albedo 反照率 反照率贴图定义漫反射的基本颜色,与原来的漫反射贴图相比,不

【Unity】12.1 场景视图中的GI可视化

分类:Unity.C#.VS2015 创建日期:2016-05-19 一.简介 在场景视图中设计不同的场景内容时,可以根据需要勾选相关的渲染选项,以便让场景仅显示其中的一部分或者全部渲染效果. 在这些模式中,其中有一套模式能看到全局光照在干什么事.默认情况下,纹理模式是根据 GI 设置来完全照亮场景的. 其他与GI有关的模式还包括:反照率(Albedo).发射光(Emissive). UV 图表(UV Charts). 辐照度(Irradiance). 方向性(Directionality).

【Unity】12.2 通过Lighting Window设置相关参数

分类:Unity.C#.VS2015 创建日期:2016-05-19 一.简介 Unity 5.3.4的Lighting Window有3个选项卡:Object.Scene.Lightmaps. 二.Object(对象选项卡) 利用该选项卡,可以在场景中选择对象的子集并更改其设置,即选择哪些对象应该参与 GI 计算.这些选项设置将会始终应用于你选择的对象组. 1.All 选项卡的顶部是一组场景筛选按钮,即在层次视图中显示哪些类型 ︰ 灯光,渲染,地形.选择[All]将显示所有类型.如果选择其他按

HTTP错误500.23-检测到在集成的托管管道模式下不适用的ASP.NET设置

HTTP错误500.23-检测到在集成的托管管道模式下不适用的ASP.NET设置 简介: 今天在开发新的模块时,需要进行新的模块配置,由于项目是多域的,访问时出现了如图错误: 进入该域名发现打不开了,可见是服务器的问题 解决方案: 找到该域名的应用程序池,将托管管道模式由集成改为经典,就OK了,如图: HTTP错误500.23-检测到在集成的托管管道模式下不适用的ASP.NET设置,布布扣,bubuko.com

浅谈MyBatis-Plus学习之Oracle的主键Sequence设置

一.Oracle的主键Sequence设置简介 在Oracle数据库中不支持主键自增策略,它是通过Sequence序列来进行完成的,因此需要在MP中进行相关配置 二.相关配置如下 2.1.pom.xml 添加相关依赖 注意:由于oracle的授权问题,没办法从maven仓库中下载,因此可以手动从oracle官网中下载,并本地打包到仓库中 <!-- Oracle驱动: 因为Oracle授权的问题,不能从Maven的仓库中下载到Oracle驱动 --> <dependency> <

Unity LightmapParameters的使用

Unity5的烘培十分不好用,今天看官方demo时发现可以用LightmapParameters对模型的GI配置进行单独覆写,介绍一下 LightmapParameters可以把全局光照的配置做成预设,方便重复使用 名称虽然带Lightmap但不仅仅只能给Lightmap使用 可以设置为场景GI默认配置.也可以为单个对象进行覆写. 首先在右键菜单里创建LightmapParameters: 场景GI设置: 对象单独覆写: 对比下不同GI参数下的效果: 关于设置不同GI参数造成的影响,可以参考Un

正则表达式学习笔记---揭开正则表达式的神秘面纱

正则表达式学习笔记 如果我们问那些UNIX系统的爱好者他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八九的人会提到正则表达式:如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还会是正则表达式.那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文将就此展开介绍,希望能够对那些渴望了解和掌握正则表达式的读者有所助益. 入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到