Sky · 06

夜空

星星的两种贴图来源、极光的两种渲染方式、夜间辉光与光污染,以及用太空层在天空中加入行星、卫星和星云。

星空与极光太空层需 DBuffer

星星(Stars)

星星默认用一张可平铺的纹理映射到天空材质上,可以在 Stars 分类里通过 Tiling Stars 变量替换。

如果在 Simulation 分类启用了 Simulate Real Stars,则会改用一张高分辨率 360 度星空图, 对应 Real Stars 变量——两张纹理互不影响,可以分别替换。

同一个分类里还有星星的颜色、强度,以及模拟大气闪烁(twinkling)程度的参数。

极光(Aurora)

UDS 有两种极光表现,共用 Aurora 分类里的大部分颜色与运动参数:

类型开启方式特点
2D 极光 在 Aurora 分类勾选 Use Auroras;Sky Mode 不能是 Volumetric Aurora,且需要是支持 2D 极光的模式。 天空材质里用纹理绘制的着色器效果,开销低。绘制方式的细节在分类的 Advanced 折叠区。
体积极光 把 Basic Controls 里的 Sky Mode 改为 Volumetric Aurora。 用体积云组件渲染的完整 3D 效果,镜头可以进入其中或飞到上方;代价是放弃云层。

天空辉光(Sky Glow)

这个分类提供不依赖日月的夜间补光,用来避免“没有月亮的夜晚一片死黑”。

设置效果
Night Sky Glow 给天空材质加一层均匀的光,并从上方轻微照亮体积云。用来模拟星光与大气自身的微光,也可以调高当作夜间的最低照度。
Light Pollution 给天空材质加光,并从下方柔和照亮体积云,模拟城市灯光映在天空上的效果。

太空层:行星、卫星与星云

UDS 可以在天空里额外渲染行星与卫星,合成顺序是正确的:它们会挡住星星,但会被云和极光遮住。 相关设置都在 Space Layer 分类。

可以直接往 Planets / Moons 数组里手动添加,也可以从 Add Planet / Moon Preset 里选一个预设作为起点。数组里每个元素的参数都有提示,几个关键的:

参数说明
Parent 决定行星跟随谁移动:太阳、月亮,或者不设父级(不动)。不设父级时,也可以在运行时通过操作 UDS 上 Space Roots 数组里组件的变换来手动移动它。
Relative Rotation相对父级的朝向旋转。
Scale视觉大小。
Terminator 晨昏线相关设置,即行星被照亮面与暗面的分界。
Light Vector 决定明暗面的光源方向:来自太阳、月亮,或自定义向量。
Glow 在行星周围额外渲染一圈弥散的大气辉光。亮度取决于被照亮面朝向相机的比例,整体再由 Space Layer 分类里的 Space Glow Brightness 缩放。
前置条件

太空层是通过 DBuffer 把行星画进天空材质的,所以项目里必须启用 Dbuffer Decals (移动端渲染器对应 Mobile DBuffer Decals),且目标平台要支持,否则行星不会显示。

除了内置的行星设置,也可以用 Custom Space Layer Decals 数组放入自己的贴花材质, 直接渲染到太空层里。

同一分类里还有星云(Nebula)开关。星云同样通过天空材质渲染,效果基于噪声, 噪声参数、颜色与强度都可以调。

B 站 · 点击播放BV1LyoTBREKQ