当 Sky 对象放置在 Lighting 内时,将改变体验天空的默认外观。这个对象的 天空盒 由六个面组成,像一个立方体。天空盒的旋转可以通过 SkyboxOrientation 来更改。
除非您关闭 CelestialBodiesShown 属性,否则天空盒的太阳、月亮和其他天体物体仍然可见。通过调整 StarCount 属性,您可以改变夜空中出现多少颗星。
此对象还可以用作 ViewportFrames 中的立方图进行反射,在此情况下,仅使用 Sky 对象的六面体 Skybox[…] 属性。了解详细信息,请参阅视窗框。
概要
属性
设置太阳、月亮和星星是否会显示。
使用此天空盒时月亮的感知角度,以度计。
使用此天空盒时月亮的纹理。
天空后表面的图像的 URL 链接。
天空盒的底部表面的资产 ID。
天空盒的前表面资产 ID。
天空盒左表面的资产 ID。
天空盒的角度,以度计,具有旋转顺序 Y 、 X 、 Z 。
天空盒右侧表面的资产 ID。
天空盒顶部表面的资产 ID。
天空盒中显示了多少星星。
使用此天空盒时,太阳的感知角度,以度计。
使用此天空盒时太阳的纹理。
属性
MoonTextureId
使用此天空盒时月亮的纹理。
SkyboxBk
天空后表面的图像的 URL 链接。
SkyboxDn
天空盒的底部表面的资产 ID。
SkyboxFt
天空盒的前表面资产 ID。
SkyboxLf
天空盒左表面的资产 ID。
SkyboxOrientation
改变天空盒表面的方向。这个属性在典型的 XYZ 顺序中需要一个 度值 的值,但旋转首先在 Y 轴上应用,然后 X ,然后 Z 以允许对复杂运动进行预测控制。
一个简单的方法是围绕 Y 轴旋转导航动画(保持水平),然后通过设置 X 和 Z 为固定值来倾斜这个轴:
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- 每秒度数
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)
请参阅这里获取更多信息和限制。
代码示例
This script uses TweenService to create an oscillating tween on the X axis and RunService to apply the tween's motion plus rotation around the Y axis.
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 4 -- In degrees per second
local MAX_TILT = 2 -- In degrees
local TILT_SPEED = 4
local currentTilt = Instance.new("NumberValue")
currentTilt.Value = -MAX_TILT
local tweenGoal = { Value = MAX_TILT }
local tweenInfo = TweenInfo.new(TILT_SPEED, Enum.EasingStyle.Cubic, Enum.EasingDirection.InOut, -1, true)
local tween = TweenService:Create(currentTilt, tweenInfo, tweenGoal)
tween:Play()
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation =
Vector3.new(currentTilt.Value, (sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360, 0)
end)
SkyboxRt
天空盒右侧表面的资产 ID。
SkyboxUp
天空盒顶部表面的资产 ID。
SunTextureId
使用此天空盒时太阳的纹理。