新版unity2019.3 全局光照GI 系统以及反射探针的详细说明教程

unity放话在2021年以前全面放弃Enlighten。

关于虚幻4和unity的光照渲染问题

两个软件各启动5分钟,只要眼睛还在,就能立即分辨出优劣。但需要说明的是虽然虚幻的渲染算法是公认的强,但unity也有主动示弱的嫌疑。在虚幻四中,默认自动开启全局渲染和光照探针,而在unity中需要自己设置这些。虽然同样情况下表现还是虚幻4更好一些,但绝不是那种过分的差距。

关于全局光照

由于目前的硬件技术限制,实时全局光照的性能十分有限,仅限于小规模渲染之中,而且噪点抑制效果并不如意。目前绝大部分项目都在使用预计算全局光照。这是一种将直接光线和间接光线保存到光照贴图中,在渲染时与光源光线再计算的一种巧妙方法。
但是这种技术只能应用到静态物体,因为他会提前生成光照贴图,如果移动了物体,物体附近的其他表面会留下光照贴图的光线阴影。
所以这种技术一般应用在静态场景的渲染上。
解决动态物体光照计算的方式是使用光照探针,它可以存储附近物体的反射光,当动态物体经过时,供给动态物体结合光源使用

关于光追

光追需要硬件提供支持,最低需要gtx2060显卡,2019年下旬出的gtx1650、1660系列虽然性能不错,但是阉割了光追的支持,价格再香也要慎买!!!。
光追的实现方式是将直接或间接光线的路径保存下来,再与场景中的光源合并计算。相比全局光照不需要预计算,也不需要保存光照贴图。在超级显卡的加持下性能与效果表现直线上升。nvdia官网有一段实时渲染的光追视频,几乎算是史诗级的仿真。
如果想使用unity进行光追开发,需要在github下载光追版本的unity编辑器,并且保证显卡是gtx2060以上。

光源设置

光源的Inspector中,Mode的设置决定了该光源的计算状态。

属性说明Lighting窗口中的对应设置
Realtime运行时计算光源光照,不将该光源引入预计算Realtime Light
Mixed部分光源可以预计算Mixed Lighting
Baked引擎计算该光源所有的进行bakeLightmapping settings

[此处设置图片与详解]

开启全局照明

unity 默认的光线是互相不影响的,如果需要启动全局照明,需要在lighting->scene中的Realtime Light 的 Realtime GlobalIllumination 勾选
1
Environment:环境的参数设置
Skybox Material:天空盒材质
Sun Source:设置太阳,可以指定一个平行光作为太阳,然后该平行光的旋转角度会影响其亮度和颜色

Environment Lighting:环境光照的设置
Source:环境光照来源

Skybox:源于天空盒
Gradient:源于一个从地平线到穹顶的颜色渐变
Color:来源于单色

Intensity Multiplier:环境光照明强度强化
Ambient Mode:环境光照明模式

Baked:烘焙在光照贴图中
Realtime:实时

Environment Reflections:环境反射的设置
Source:环境反射来源

Skybox:来源于天空盒
Custom:来源于一个自定义的Cubemap(方盒贴图)

Resolution:环境反射贴图分辨率
Compression:是否压缩环境反射贴图
Intensity Multiplier:环境反射强度强化
Bounces:环境反射计算次数

Realtime Lighting:关于实时光照烘焙的设置
Realtime Global Illumination:是否进行实时光照烘焙

Mixed Lighting:关于混合光照烘焙的设置
Baked Global Illumination:是否进行混合光照烘焙
Lighting Mode:光照模式

Baked Indirect
Distance Shadowmask
Shadowmask
Subtractive

Lightmapping Settings:关于光照烘焙的通用设定
Lightmapper:选择光照烘焙器

Enlighten:这是常用的一种烘焙器,unity声称2021年完全删除该烘焙器
Progressive CPU:这是新版的一种烘焙器,它会先烘焙摄影机可见区域,再烘焙其他区域,所以预览较快
Progressive GPU(Preview):

Indirect Resolution:间接光照分辨率(每单位长度多少体素(texel)),数值越高,光照细节越高
Lightmap Resolution:光照贴图分辨率(每单位长度多少体素),通常设置为Indirect Resolution的10倍左右
Lightmap Padding:修正两个物体的Lightmap之间的距离,以避免颜色渗透
Lightmap Size:光照贴图大小(最大4096)
Compress Lightmaps:是否压缩光照贴图
Ambient Occlusion:是否烘焙环境光遮罩
Final Gather:是否对最后一次GI光线反射后的光照结果再进行一次FG计算,勾选上会有较好的质量表现,但烘焙时间会增加
Directional Mode:

 Directional:
 non-directional:

Indirect Intensity:间接光照的强度
Albedo Boost:
Lightmap Parameters:设置详细的光照贴图参数(可以使用几个默认值,或者创建新设置,应该是给熟手用的吧)
Other Settings:其他设置
Fog:添加场景雾效

Color:雾效颜色
Mode:雾效衰减模式
Density:雾效密度

Halo Texture:
Halo Strength:
Flare FadeSpeed

光源设置

在这里插入图片描述
Type : 光源类型

属性说明范围
Point light点光源以自身为中心的球体
Spot light聚光灯自身为顶点的锥形
Directonal light有向平行光全局
Area区域光,需要bake比如灯箱,属于有型发光体

Color:灯光颜色
Intensity:灯光强度
Indirect Multiplier:在计算该灯光所产生的间接光照时的强度倍乘
Shadow Type: 阴影设置

Soft Shadows  使用带虚化边缘的阴影
Hard Shadows 使用普通阴影
No Shadows 无阴影

Baked Shadow Angle:烘焙阴影的角度
Realtime Shadows:实时阴影

 Strength:实时阴影强度
 Resolution:阴影贴图分辨率
 Bias:阴影偏移,当增加这个值来修正一些阴影的artifact
 Normal Bias:法线偏移,通常适当减少这个值来修正一些阴影的artifact(不同于Bias的使用场合)
 Near Plane:阴影剪切平面,对于与摄影机距离小于这个距离的场景物体不产生阴影

Cookie:Cookie相当于在灯光上贴黑白图,用来模拟一些阴影效果,比如贴上网格图模拟窗户栅格效果
Cookie Size:调整Cookie贴图大小
Draw Halo:灯光是否显示辉光,不显示辉光的灯本身是看不见的
Flare:Flare可以使用一张黑白贴图来模拟灯光在镜头中的“星状辉光”效果
Render Mode:渲染模式
Culling Mask:遮罩,对哪些物体层起作用

使用静态全局光照的步骤

  1. 开启灯光全局参考,设置光源Inspector面板中的Mode 为 Mixed 或 Bake
  2. 将受影响物体的static勾选,将其变为静态物体。
  3. 打开Lighting窗口->Scene, 勾选Mixed Lighting与Realtime Lighting中的 Global Illumination
  4. 点击Lighting窗口最下方的 Generate Light 生成光照贴图。(如果是反复修改,可以先选择清空贴图)

光照探针 使用动态全局光照的步骤 Probes

  1. 开启灯光全局参考,设置光源Inspector面板中的Mode 为 Mixed 或 Bake
  2. 打开Lighting窗口->Scene, 勾选Mixed Lighting与Realtime Lighting中的 Global Illumination
  3. 将受影响的物体Inspector中的Contribute Global勾选,然后设定Receive Global Illumination为Light Probes
  4. 在场景中的某个物体上添加Light Probe Group组件,并点击Edit Light Probes,将那些光线拾取器放置在恰当位置
  5. 点击Lighting窗口最下方的 Generate Light 生成光照贴图。(最好先选择清空贴图,再生成)

反射探针 使用步骤

关于探针点的放置,这篇文章不错
https://www.jianshu.com/p/39b3fcee1370
这篇是关于探针代理的用法
https://www.jianshu.com/p/2967b5a188c2

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Unity 2019.4.x中文文档是指为Unity 2019.4.x版本提供的中文版文档。这份文档是Unity官方提供的开发指南,旨在帮助开发人员使用Unity游戏引擎来创建游戏和应用程序。 Unity 2019.4.x中文文档覆盖了各个方面的内容,包括Unity界面的介绍,项目管理,场景编辑,游戏对象的创建与编辑,材质和纹理的应用,光照和阴影的处理,物理引擎的使用,动画的创建与控制,音频的处理,以及用户界面的设计等等。 这份文档提供了详细说明和示例,以帮助开发人员了解和掌握各个功能和工具的使用方法。通过阅读文档,开发人员可以学习如何使用Unity的各种组件和系统来实现自己的游戏或应用程序的需求。 同时,Unity 2019.4.x中文文档也提供了大量的编程接口文档,涵盖了Unity中的各种类和函数的用法和说明。这些接口文档使开发人员能够更好地理解Unity引擎的内部结构和工作原理,以便更加高效和灵活地进行开发工作。 总之,Unity 2019.4.x中文文档是Unity官方提供的重要参考资料,对于想要使用Unity引擎进行游戏和应用程序开发的开发人员来说,是一份不可或缺的指南和学习资料。 ### 回答2: Unity 2019.4.x中提供了全面的中文文档支持,为用户提供了更方便、直观的学习和使用体验。 首先,Unity的中文文档涵盖了各个方面的内容,包括引擎的各个模块、功能的使用、编辑器的操作指南等。无论是初学者还是有一定经验的开发者,都能够在中文文档中找到自己需要的信息,帮助他们更好地了解和使用Unity。 其次,Unity的中文文档以详细说明和示例来解释每个功能和概念。无论是脚本编程、场景编辑、粒子系统还是动画制作,中文文档中都会提供清晰的步骤和例子,帮助用户理解和掌握各种功能。 另外,Unity的中文文档还会根据官方版本进行及时的更新,保持与最新版本的Unity保持同步。这意味着用户可以始终获得最新的特性和改进的详细解释,帮助他们更好地利用Unity的最新功能进行开发。 最后,Unity的中文文档还提供了丰富的教程和案例,使用户可以通过实际操作来学习。这些教程和案例涵盖了不同类型的游戏和应用开发,供用户参考和借鉴。用户可以通过这些实例来加深对Unity的理解,并且可以根据自己的实际需求进行修改和扩展。 总的来说,Unity 2019.4.x中文文档为用户提供了全面、详细的学习和使用指南,帮助他们更好地掌握Unity的各种功能和技术。这些文档的存在使得Unity成为了一个广受欢迎的开发工具,为用户创造了更好的开发环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千年奇葩

从来没受过打赏,这玩意好吃吗?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值