主题
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
- 属性:
Sky 是可完全定制的普通天空单元,用于替换或调整当前场景的天空表现。它既能通过 Template 直接套用内置天空模板,也能用 SkyboxTexture 指定背景贴图,并可通过 Orientation 与 YOffset 改变天空朝向和垂直位置,再用 DistortionEnabled、DistortionStrength、DistortionFrequency 控制天空扰动效果。实例挂载到 LightingService 后即会改变场景天空外观,移除后恢复默认天空。
适用场景
常用于天气切换、昼夜氛围变化或进入特定玩法区域时更换地图天空,例如把 Template 设为 Enums.SkyTemplate.Day 或 Enums.SkyTemplate.Night 切换昼夜,再配合扰动参数与偏移量营造特殊环境氛围。
使用要点
先用 game:CreateUnit("Sky", {}) 或 World:CreateUnit("Sky", config) 创建实例,并把实例的 Parent 指向 LightingService 使其生效;接着设置 Template 选定天空模板,再按需调整 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] | Sky 单位的旋转(朝向)属性,数据类型为 Vector3,默认值为 (0, 0, 0)。该属性可读可写,读取时返回一个 Vector3,赋值时需传入完整的 Vector3 值来替换原有朝向。 |
YOffset | Float | 0.0 | 天空在垂直方向上的偏移量。 |
DistortionEnabled | Bool | false | 是否启用天空扰动效果。 |
DistortionStrength | Float | 0.0 | 天空扰动效果的强度。 |
DistortionFrequency | Float | 0.0 | 天空扰动效果的频率。 |
