主题
QuadGradientSky
概览
| 字段 | 值 |
|---|---|
| Kind | Unit · 单位 Unit |
| Realm | common |
继承关系
继承成员
2 个来源 / 5 属性 / 25 函数 / 6 事件
- 来自 BaseSky(1 属性)
- 来自 Unit(4 属性 / 25 函数 / 6 事件)
- 属性:
AssetId、Name、Desc、Parent - 函数:
ClearAllChildren、GetChildren、GetDescendants、IsAncestorOf、IsDescendantOf、FindFirstAncestor、FindFirstAncestorWhichIsA、FindFirstAncestorOfClass、FindFirstChild、FindFirstChildWhichIsA、FindFirstChildOfClass、HasChildren、GetChildCount、GetChildAtIndex、SetAttribute、GetAttribute、GetAllProps、Clone、IsA、Destroy、GetPropertyChangedSignal、GetAttributeChangedSignal、FindFromPath、GetFullPath、GetDebugId - 事件:
ChildAdded、ChildRemoved、DescendantAdded、DescendantRemoving、AncestryChanged、Destroying
- 属性:
四色渐变天空通过天顶、偏上、偏下、天底四层颜色叠加生成完整的天空渐变,并用四个高度属性界定每一层颜色在天空中的分布位置,再由三段过渡柔度属性控制相邻层之间的融合程度。它还可以通过旋转属性整体调整渐变朝向,适合塑造霞光、极夜、幻境一类自定义环境氛围。
适用场景
当预设天空无法满足美术需求、需要逐层调配天空颜色时,例如制作黄昏霞光或奇幻色调的环境,可创建一个四色渐变天空并挂载到灯光服务下,再精细调节各层颜色、高度与过渡柔度。
使用要点
先调用 game:CreateUnit("QuadGradientSky", {}) 创建实例,并通过 Parent 属性将其挂载到 LightingService 下;随后依次赋值 ZenithColor、UpperColor、LowerColor、NadirColor,颜色使用 Color.New(...) 构造,再用 ZenithHeight、UpperHeight、LowerHeight、NadirHeight 调整四层颜色的分布位置,必要时通过 UpperToZenithSoftness、LowerToUpperSoftness、NadirToLowerSoftness 控制渐变柔度,并用 Orientation 配合 Vector3.New(...) 旋转整体朝向。
注意事项
实例必须通过 game:CreateUnit 或 World:CreateUnit 创建,不能使用 New 方法。高度值通常在 0 到 1 之间,0 代表天顶,1 代表天底。颜色属性接受 Color,可使用 Color.New(...) 或等价的 Color(...) 构造。
代码示例
创建并配置四色渐变天空
lua
-- @runtime client
local Lighting = game:GetService("LightingService")
local sky = game:CreateUnit("QuadGradientSky", {
ZenithColor = Color.New(24, 64, 180, 255),
UpperColor = Color.New(80, 140, 255, 255),
LowerColor = Color.New(255, 170, 120, 255),
NadirColor = Color.New(32, 38, 60, 255),
ZenithHeight = 0.2,
UpperHeight = 0.4,
LowerHeight = 0.7,
NadirHeight = 1.0,
})
sky.Parent = Lighting属性 (12)
| Name | 类型 | 默认值 | 说明 |
|---|---|---|---|
ZenithColor | Color | Color.New(0, 55, 255, 255) | 设置四色渐变天空天顶区域的颜色。 |
UpperColor | Color | Color.New(30, 97, 255, 255) | 设置四色渐变天空偏上区域的颜色。 |
LowerColor | Color | Color.New(255, 184, 162, 255) | 设置四色渐变天空偏下区域的颜色。 |
NadirColor | Color | Color.New(243, 255, 245, 255) | 设置四色渐变天空天底区域的颜色。 |
ZenithHeight | Float | 0.0 | 天空渐变中天顶层的高度位置,通常为 0.0 表示天顶。 |
UpperHeight | Float | 0.33 | 天空渐变中偏上层的高度位置,取值范围通常在天顶(0)到天底(1)之间。 |
LowerHeight | Float | 0.66 | 天空渐变中偏下层的高度位置,取值范围通常在天顶(0)到天底(1)之间。 |
NadirHeight | Float | 1.0 | 天空渐变中天底层的高度位置,通常为 1.0 表示天底。 |
Orientation | Vector3 | [0.0, 0.0, 0.0] | Orientation 是 QuadGradientSky(四段渐变天空单元)的旋转属性,数据类型为 Vector3,默认值为 (0, 0, 0)。该属性公开且可写,用于记录并设置该天空单元的朝向信息,与 ZenithColor、UpperColor、LowerColor、NadirColor 以及 ZenithHeight、UpperHeight、LowerHeight、NadirHeight 等属性一起构成四段渐变天空的外观配置。 |
UpperToZenithSoftness | Float | 0.5 | 控制偏上层与天顶层之间颜色过渡的柔和程度。 |
LowerToUpperSoftness | Float | 0.5 | 控制偏下层与偏上层之间颜色过渡的柔和程度。 |
NadirToLowerSoftness | Float | 0.5 | 控制天底层与偏下层之间颜色过渡的柔和程度。 |
