Sky

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Sky 对象放置在 Lighting 内时,将改变体验天空的默认外观。这个对象的 天空盒 由六个面组成,像一个立方体。天空盒的旋转可以通过 SkyboxOrientation 来更改。

除非您关闭 CelestialBodiesShown 属性,否则天空盒的太阳、月亮和其他天体物体仍然可见。通过调整 StarCount 属性,您可以改变夜空中出现多少颗星。

此对象还可以用作 ViewportFrames 中的立方图进行反射,在此情况下,仅使用 Sky 对象的六面体 Skybox[…] 属性。了解详细信息,请参阅视窗框

概要

属性

  • 设置太阳、月亮和星星是否会显示。

  • 使用此天空盒时月亮的感知角度,以度计。

  • MoonTextureId:ContentId
    读取并联

    使用此天空盒时月亮的纹理。

  • SkyboxBk:ContentId
    读取并联

    天空后表面的图像的 URL 链接。

  • SkyboxDn:ContentId
    读取并联

    天空盒的底部表面的资产 ID。

  • SkyboxFt:ContentId
    读取并联

    天空盒的前表面资产 ID。

  • SkyboxLf:ContentId
    读取并联

    天空盒左表面的资产 ID。

  • 天空盒的角度,以度计,具有旋转顺序 YXZ

  • SkyboxRt:ContentId
    读取并联

    天空盒右侧表面的资产 ID。

  • SkyboxUp:ContentId
    读取并联

    天空盒顶部表面的资产 ID。

  • 读取并联

    天空盒中显示了多少星星。

  • 使用此天空盒时,太阳的感知角度,以度计。

  • SunTextureId:ContentId
    读取并联

    使用此天空盒时太阳的纹理。

属性

CelestialBodiesShown

读取并联

设置太阳、月亮和星星是否会显示。

MoonAngularSize

读取并联

使用此天空盒时月亮的感知角度,以度计。

MoonTextureId

ContentId
读取并联

使用此天空盒时月亮的纹理。

SkyboxBk

ContentId
读取并联

天空后表面的图像的 URL 链接。

SkyboxDn

ContentId
读取并联

天空盒的底部表面的资产 ID。

SkyboxFt

ContentId
读取并联

天空盒的前表面资产 ID。

SkyboxLf

ContentId
读取并联

天空盒左表面的资产 ID。

SkyboxOrientation

读取并联

改变天空盒表面的方向。这个属性在典型的 XYZ 顺序中需要一个 度值 的值,但旋转首先在 Y 轴上应用,然后 X ,然后 Z 以允许对复杂运动进行预测控制。

一个简单的方法是围绕 Y 轴旋转导航动画(保持水平),然后通过设置 XZ 为固定值来倾斜这个轴:


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.

Skybox Orientation with Tween

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

ContentId
读取并联

天空盒右侧表面的资产 ID。

SkyboxUp

ContentId
读取并联

天空盒顶部表面的资产 ID。

StarCount

读取并联

天空盒中显示了多少星星。仅在 CelestialBodiesShowntrue 时有效。

SunAngularSize

读取并联

使用此天空盒时,太阳的感知角度,以度计。

SunTextureId

ContentId
读取并联

使用此天空盒时太阳的纹理。

方法

活动