主题
Sky
概览
| 字段 | 值 |
|---|---|
| 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
- 属性:
天空单元,负责为场景提供可定制的背景天空。它支持通过 Template 属性从 SkyTemplate 枚举中挑选现成模板,也能直接指定 SkyboxTexture 背景贴图,并允许调整 Orientation 旋转、YOffset 垂直偏移以及 DistortionEnabled、DistortionStrength、DistortionFrequency 等扰动参数来营造动态天空效果。
适用场景
适用于项目需要统一或动态切换天空氛围的阶段,例如按照当前关卡的剧情进度把天空从白天切到黄昏或夜晚,再配合旋转与扰动参数增强画面的表现力。
使用要点
先通过 game:CreateUnit("Sky", {}) 或 World:CreateUnit("Sky", ...) 创建 Sky 实例,并将其 Parent 设置为灯光服务所在节点,使天空真正应用到场景。随后可读写 Template 属性并传入 Enums.SkyTemplate 枚举值来切换不同天空模板,同时配合 Orientation、YOffset、DistortionEnabled、DistortionStrength、DistortionFrequency 调整旋转、偏移和扰动效果。
注意事项
Sky 是完整的可定制天空单元,支持通过 SkyTemplate 枚举切换模板并自由调整 Orientation/YOffset/Distortion 等参数。与 PresetSky 相比,Sky 功能更全面、模板更丰富,新项目建议优先使用 Sky。Sky 实例必须挂载到 LightingService 下才能生效,调用 Destroy 或移除 Parent 会立即恢复默认天空。
代码示例
创建并配置普通天空
lua
-- @runtime client
local Lighting = game:GetService("LightingService")
local sky = game:CreateUnit("Sky", {
Template = Enums.SkyTemplate.Day,
Orientation = Vector3.New(0, 45, 0),
AffectedByFog = true,
})
sky.Parent = Lighting属性 (7)
| Name | 类型 | 默认值 | 说明 |
|---|---|---|---|
Template | SkyTemplate | Enums.SkyTemplate.Night | 天空模板属性,用于指定当前天空采用的预设模板类型。模板定义了天空的主要氛围风格,取值需来自 SkyTemplate 枚举,例如白天、夜晚、黄昏等不同场景模板。 |
SkyboxTexture | String | official://dds/1 | 天空盒背景贴图属性,用于指定当前天空所使用的背景纹理资源。当使用预设天空模板时,该属性通常会携带模板对应的贴图;也可以单独赋值以替换天空背景表现。 |
Orientation | Vector3 | [0, 0, 0] | 天空盒的旋转角度,以欧拉角(度)表示。 |
YOffset | Float | 0.0 | 天空在垂直方向上的偏移量。 |
DistortionEnabled | Bool | false | 是否启用天空扰动效果。 |
DistortionStrength | Float | 0.0 | 天空扰动效果的强度。 |
DistortionFrequency | Float | 0.0 | 天空扰动效果的频率。 |
