[Unity] Unity Bakery使用说明(二)灯光部分

查看:3610 |回复:0 | 2022-4-14 16:41:26

您需要 登录 才可以下载或查看,没有账号?注册

x
场景渲染中,灯光是十分重要的,Bakery定义了6种灯光分别是:

1.Directional Light  (直射光)

2.Skylight (环境光)

3.Point Light (点光)

4.Atea Light (区域光)

5.Spotlight (聚光)

6.Volume (体积烘焙)
image.png

Directional Light (直射光)
无限远的定向光(例如太阳)
image.png

Color:颜色。

Intensity:强度,线性颜色乘数。

Shadow spread: 阴影扩散,光源的大小,或者简单地说,阴影模糊度。0 = 最大锐利阴影,1 = 最大模糊阴影。从技术上讲,它从单条射线内插到更宽的射线锥。

Shadow samples:阴影样本,影响阴影质量。Shadow Spread 值越小,清晰图像所需的样本就越少。太阳阴影的典型值是从 1 到 16。将样本设置为 0 将使该光的阴影消失。

Bitmask:位掩码,用于排除此光源影响特定光照贴图组的切换列表。

Indirect intensity:间接强度,此灯的非物理 GI 乘数。对于自然光,应该为 1,但可以针对更多风格化的场景进行修改。

Texture projection:纹理投影,在光照上投影一个乘法平铺纹理。可用于模拟远处的云阴影。

如果同一个对象同时启用了 Unity 和 Bakery 光源,但它们不匹配,则会出现两个按钮:

将光照贴图与实时匹配:将通用设置从 Unity 灯光复制到 Bakery 灯光。

实时匹配光照贴图:将常用设置从 Bakery 灯复制到 Unity 灯。

​

Skylight (环境光)
无限远的阴影环境光(天空)。


Sky texture:天空纹理,可选的立方体贴图资源,例如 HDRI 全景图,以影响来自不同方向的照明颜色。

旋转天光的 GameObject 将相应地旋转立方体贴图中的光照。

Samples:样本,影响阴影质量。典型值为 8 到 32。

Hemispherical:半球,如果启用,照明将仅来自上方(上半球)。否则从各个方向。

如果天光的设置和当前场景的天空盒不匹配,会出现两个按钮:

将此灯光与场景天空盒匹配:将常用设置从活动天空盒材质复制到面包店天空灯。目前它只能匹配使用“Skybox/Cubemap”或“Skybox/Bakery 天空盒”着色器的天空盒。

将场景天空盒与此灯光匹配:将常见设置从面包店天空灯复制到场景天空盒。

Point Light (点光)
点光源,没有面积。尽管物理上不可能,但它对游戏很有用,并且是匹配 Unity 点光源和聚光灯的唯一方法。


Shadow spread:阴影扩散,阴影模糊。尽管点光源没有面积,但通常仍希望它们具有模糊的阴影。为此目的,模拟阴影,就好像它们是从球形区域光投射的一样。该参数定义了这种虚拟球体的半径,直接影响模糊度。

Phyaical falloff:物理衰减,如果启用,将使用正确的平方反比衰减,并在限制附近附加衰减。否则将尝试模仿 Unity 的衰减。

Falloff min size:衰减最小尺寸,在点光衰减部分了解更多信息。

Range:范围,如果禁用物理衰减,则等于 Unity 的光照范围。如果它被启用,只会稍微淡化边缘的物理衰减。

Samples:样本,影响阴影质量。典型值是从 1 到 512。将样本设置为 0 将使该灯光的阴影消失。

Projection mask:投影遮罩,遮罩/cookie 的类型。选项:

Omni:无遮罩,相当于Unity的Point Light。

Cookie:cookie 纹理投影。其他选项:Cookie 纹理:2D 纹理资源。Bakery 包含原始 Unity 的 Spot Light 纹理(名为 ftUnitySpotTexture),您可以使用它来模仿它。Angle:纹理投影角度(类似于Unity的Spot Light)。

Cubemap:立方体贴图 cookie 投影。其他选项:

投影立方体贴图:立方体贴图资源。

IES:照明由 IES 文件数据调制。其他选项,IES 文件:扩展名为 .ies 的文件。

如果同一个对象同时启用了 Unity 和 Bakery 光源,但它们不匹配,则会出现两个按钮:

将光照贴图与实时匹配:将通用设置从 Unity 灯光复制到 Bakery 灯光。

实时匹配光照贴图:将常用设置从 Bakery 灯复制到 Unity 灯。

Volume (体积烘焙)
生成 3D 纹理,存储每个体素的光探针(L1 球谐函数和阴影掩模),使其成为常规 Unity 光探针的可行替代品。



Bakery Volume 是一个与一组 3D 纹理(如果需要,3 个 SH 纹理和一个阴影蒙版)链接的边界框,使其非常易于使用和编写脚本。Volume可以在运行时轻松交换、移动、加载或卸载或链接到预制件。他们也不需要任何光探头组和手动探头放置;整个体积都充满了均匀的探针体素网格。与光照贴图相同的方式自动修复光/阴影泄漏(虽然薄的双面墙可能是大体素尺寸的问题,但可以通过在不同侧面使用不同的体积来避免)。由于体素网格的均匀性,还可以对它们应用类似光照贴图的去噪,这是常规光照探针无法做到的。此外,Bakery 着色器使用Geomerics 采样技巧为了完全消除“振铃”伪影,球谐函数有时会在高对比度 HDR 照明下产生。

因此,Volumes 可以为动态对象(即来自静态对象并影响动态对象的照明,而不是相反)生成干净、详细、高质量的烘焙照明。

Volume的唯一缺点是更高的每像素着色成本。成本类似于 LPPV(根据屏幕上受阴影体积影响的像素数量进行缩放),但与 LPPV 不同的是,Volume本身在烘焙后永远不会更新。可以通过稍微重叠它们来避免多个体积混合。

聚光和区域光和其他的光用法和原理是差不多的就不做解释。此外还有一种作为光源,在unity中就是物体自发光,bakery也定义了Light Mesh可以实现物体自发光的效果。但是他和材质自发光还是有区别的。

Bakery Light Mesh
任何形状的发射网格。应与 Mesh Renderer 组件或设置为区域模式的 Light 组件一起使用。


Light Mesh和自发光材质的区别
发光材料:

在 GI 计算期间传播光,因此是“免费的”,无论有多少网格是自发光的。

取决于 GI 样本数,小而亮的灯光可能会给出不准确的嘈杂结果。

由于面包店中 GI 的工作方式,必须占用光照贴图中的空间,因此可能会浪费它。这也意味着自发光对象需要有效的 UV 并启用“投射阴影”。

Light Mesh:

照明是为每个灯光单独计算的,因此比发射材料慢。

旨在为小而亮的灯光提供干净的效果,即使距离它们很远。

不占用光照贴图中的空间。
————————————————
版权声明:本文为CSDN博主「九本才」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/f402455894/article/details/123345670

2022-4-14 16:41:26  
 赞 赞 0

使用道具 登录

0个回答,把该问题分享到群,邀请大神一起回答。

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表