物理天空

此着色器可实现各类 Hosek-Wilkie 天空辐射模型,包括直接太阳辐射函数。您可以将其插入到环境中,或插入到天穹灯光的颜色输入(得益于高效的重要性采样,向太阳附近的明亮区域发送更多光线),也可以将其直接添加为环境着色器。当前,此着色器对 GI 漫反射和镜面反射光线不可见。要将其用作光源,您必须将其连接至 skydome_light,并设置足够的分辨率来捕捉较小的太阳圆盘。

注意:

这是一个实验性的着色器。尽管经过了广泛测试,但在用于生产环境时还是要小心谨慎。

如果在动画期间出现闪烁,很可能是因为 skydome_light 分辨率太低而无法捕捉太阳。尝试增加 skydome_light分辨率

物理天空使用极坐标系。仰角的角度介于 0 到 180 度之间(日出到日落)。90 度时,太阳位于天顶。方位角的角度介于 0 到 360 度之间。

浑浊度(Turbidity)

浑浊度确定空气中的总体气溶胶含量(灰尘、湿气、冰、雾)。可以使用它轻松定义天空外观,而且它会影响太阳和天空的颜色。

浑浊度值范围为 1 到 10:

2:产生类似于北极地区非常晴朗的天空。

3(默认值):温和气候下的晴朗天空。

6:温暖、潮湿天气下的天空。

10:稍微有点雾蒙蒙的天空。

地面反照率(Ground Albedo)

从地球表面反射回大气的灯光量。这是一个介于 0 和 1 之间的 RGB 值,其中 0 0 0 对应于黑色地面,而 1 1 1 对应于白色地面。请注意,这是一个细微的效果(在下图顶部边角较为明显)。

仰角(Elevation)

太阳与可观测到的地平线之间的角度。范围介于 0 到 180 度(90 到 180 度是 0 到 90 度的镜像反射)之间。

方位角(Azimuth)

太阳绕地平线的角度。从北方开始度量,并朝东方逐渐增加(0 到 360 度)。

强度(Intensity)

“强度”(Intensity)是天空辐射的标量倍增。此值类似于 *sky_tint。但是,*sky_tint 使用 RGB 值,而“强度”(Intensity)使用标量值(更易于调整)。

天空染色(Sky Tint)

用于设置一种颜色对天空颜色进行染色。天空染色应该用于小幅度细微着色调整。例如,让天空具有稍微深一点的蓝色。

太阳染色(Sun Tint)

用于设置一种颜色对太阳颜色进行染色。这是用于小幅度细微着色调整的 RGB 倍增。大幅度着色调整将产生物理上不准确的结果,并会导致太阳与天空颜色不一致(除非两种染色完全相同)。

太阳大小(Sun Size)

设置可见太阳圆盘的大小。可以出于“美感”方面的考虑更改太阳大小。但是,0.51 是从地面观测时太阳的立体角(度)。增加此值会增加太阳的面积大小,进而产生更加柔和的阴影。

启用太阳(Enable Sun)

启用/禁用太阳可见性的切换开关。

启用天空(Enable Sky)

启用/禁用天空可见性的切换开关。

两个 physical_sky 灯光(一个禁用了 enable_sky

方向 XYZ(Orientation XYZ)

在某些情况下,更改 physical_sky 的方向可能会很有用。例如,将场景上方向映射到 +Z 而不是 +Y。

高亮杂点

使用玻璃曲面和 physical_sky 着色器渲染场景时,可能会出现高亮杂点。它们是由连接到背景physical_sky 中明亮的太阳圆盘造成的。解决方法是将另一个 physical_sky 连接到已禁用 enable_sun背景

注意:背景已被弃用,将在未来版本中删除。您应该将 physical_sky 连接到 skydome_light。

更多示例