分享一下我老师大神的人工智能教程!零基础,通俗易懂!
http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
Lightmass
可以创建光照贴图,该光照贴图具有像区域阴影和间接漫反射这样的复杂光照交互。能够预计算一部分静态和固定的光照的效果。
编辑器和 Lightmass 间的通信是通过
Swarm Agent
来进行处理的,它可以在本地管理光照构建,或将光照构建分布到远程机器上。 Swarm Agent 默认开启时在最小化的状态,它会更新光照构建的过程进度,并显示哪些机器当前在为光照构建工作,每台机器的进度是什么,每台机器在使用多少线程。
下面是一个 Swarm Agent 的截图(在底部附近的长条显示了光照构建完成情况。)
静态灯光和固定灯光的特性
间接漫反射
到目前为止,间接漫反射(Diffuse Interreflection)是在视觉效果上最重要的全局光照效果。光源默认使用 Lightmass 进行反射, 您的材质上的 Diffuse(漫反射)因素将会控制在各个方向上将反射多少光线(及什么颜色)。这个效果有时称为颜色扩散。 请记住间接漫反射是在所有方向均匀地反射的入射光线,这就意味着观看方向及位置的不同对于看到效果没有影响。
这里是一个使用单一的定向光源且仅显示直接光照的情况下使用 Lightmass 构建的场景。光源没有直接照射到的地方是黑色的。这便是没有全局光照的效果。
这是第一次漫反射全局光照的效果。请注意左侧椅子下面的阴影,这称为间接阴影,因为它是间接光照的阴影。漫反射的反射光线的亮度和颜色, 是由入射光线及同光源进行交互的材质的漫反射条件决定的。每次漫反射光线比上一次更暗,因为表面会吸收光源的某些光线,而不是将其反射回去。 由于柱子的基部更加靠近直接光源区域,所以它们比其它的表面获得了更多的间接光照。
这是第二次漫反射。光源已经变得更加的微弱,并且最终将会分散。
这里是组合了 4 次漫反射的场景。模拟的全局光照效果比手动放置补充光源更加详细并真实。尤其是间接阴影,这是使用补充光源所不能实现的。
反射光线获得底下材质的漫反射颜色,正如您在下面所看到的。这便是术语 颜色扩散(Color Bleeding) 产生的原因。 颜色扩散在使用高饱和颜色处是最明显的。您可以通过提高在物件、材质或关卡中的 DiffuseBoost 来夸大这个效果。
角色光照
Lightmass 在
Lightmass 重要体积
内均匀的 3D 网格中以较低的分辨率放置样本。 同时在角色可能会其上面行走的向上平面上以较高的分辨率放置样本。每个光照样本可以捕获各个方向的间接光照,但是不捕获直接光照。
第一个图片是地面上放置的光照样本在调试状态下呈现的效果,第二个图片是同一场景在带光照模式下的效果。注意在红色挂毯上的样本是如何获得红色的反射光线的。 样本看上去是单一的颜色,但它们确实在从各个方向捕获光照。
然后将使用 间接光照缓存 为可移动的物体的间接光照,根据捕获光照样本做插值计算。这些间接光照影响光照环境阴影的颜色,但不影响方向。 通过 显示(SHOW)->可视化(Visualize)->光照样本体积(Volume Lighting Samples)在视图中预览。
点击查看
间接光照缓存
文档来了解更多内容。
局限性
-
体积中的样本默认设置在大地图下会导致大量的样本数量。这最终会导致间接光照缓存的插值计算时间很长。采用静态光照等级来减少大地图中的样本数量。
-
在 Lightmass 重要体积 之外的可移动物体将具有黑色的间接光照。
环境遮挡
Lightmass 自动地计算详细的间接阴影,但是为了达到艺术目的或者提高场景中的真实程度,夸大间接阴影是有帮助的。
环境遮挡
是您从具有均匀光照的上半球上获得的间接阴影,就像阴暗的天空。Lightmass 支持计算环境遮挡,并可以把它应用到直接及间接光照上, 然后把它烘焙到光照贴图中。环境遮挡在默认情况下是开启的,可以在世界设置中的 Lightmass 设置下取消勾选 使用环境遮挡 来关闭。
第一个图片的场景是具有间接光照,但是没有环境遮挡的效果。第二个图片的场景还是和刚才一样的场景,但是它的直接和间接光照都应用了环境遮挡, 请注意查看物体结合处的地方变暗了。
无环境遮挡 | 有环境遮挡 |
环境遮挡的设置
Property | Description |
---|---|
是否显示环境遮挡 |
当构建光照时,仅使用遮挡因素覆盖光照贴图。这对查看具体的遮挡因素及比较不同的设置的效果是有用的。 |
最大遮挡距离 |
一个物体对另一个物体产生遮挡的最大距离。 |
完全被遮挡的样本片段 |
为了达到完全遮挡,所采样的必须遮挡的样本部分。注意还有一个基于每个图元的FullyOccludedSamplesFraction项,它允许控制一个对象对其他对象的遮挡程度。 |
遮挡指数 |
指数越高,对比越明显。 |
默认环境遮挡设置(最大遮挡距离为 200、完全被遮挡的样本片段为 1.0、遮挡指数为 1.0) | 最大遮挡距离为 5,删除了低频率遮挡,仅保留了角落处的遮挡。 | 完全被遮挡的样本片段的值为 0.8。遮挡在整个范围内逐渐变暗,遮挡范围大于等于 80% 的区域会设置为黑色。 | 遮挡指数为 2。遮挡从中间范围处快速地转换为饱和的黑色,遮挡被推向了角落处。 |
在间接光照计算次数大于0的情况下进行光照构建时,环境遮挡几乎没有性能消耗。
局限性
-
如果要使环境遮挡的效果看上去很好,则需要使用一个相当高的贴图分辨率,因为它在角落的变化很快。由于顶点通常在角落处,而这些地方的环境遮挡是最高的,从而使得网格物体的大部分区域都是黑色的,最终导致顶点光照贴图会产生奇怪的效果。
-
环境遮挡的在预览级别下进行构建的质量不会很好,因为环境遮挡需要很多密集的光照样本(就像间接阴影一样)。
蒙板阴影
Lightmass 在计算阴影时考虑了 BLEND_Masked 材质的不透明蒙板。在编辑器视口中剪掉的那部分材质也不会产生任何阴影,这允许从树木和植被获得更加详细的阴影。
仅对固定光照起效的特性
弯曲法线天空遮挡(Bent Normal Sky Occlusion)
当
天光
的移动类型设置为固定时,Lightmass 将以弯曲法线的方式生成直接遮挡。
距离场阴影贴图
Lightmass 为