一个 天空盒 是由六个独立图像组成的立方体,在体验中创建了沉浸式天空背景。当图像设计成完全对齐时,天空盒似乎没有被置于立方体内的印象。这使体验感觉比真实大小要大,并为您的气氛增加深度,例如模拟深空或水下环境。
此外,Sky 对象包括动态显示、上升和设置的天体,例如太阳、月亮和星星,这些天体基于 TimeOfDay 或 ClockTime 来出现、上升和设置。
最后,Sky 对象可以用作反射镜的立方图在 ViewportFrames 。详情请参阅视窗框架。
天空盒建造
如果你创建了自己的天空盒图像,你必须先导入它们到 Roblox,才能在天空盒中使用它们。每个图像必须在“折叠”成立方体时,沿 所有边缘 无缝地融入邻近图像。

要创建天空盒:
选择新的 Sky 对象,然后在 属性窗口 中为以下每个天空属性分配纹理:
- SkyboxBk — 天空箱的 后方 正方形。
- SkyboxDn — 天空箱的 向下 方块。
- SkyboxFt — 天空箱的 正面 方块。
- SkyboxLf — 天空箱的左 方块 。
- SkyboxRt — 天空箱的 右侧 正方形。
- SkyboxUp — 天空盒的上 上 方块。
天体
默认情况下,Sky 对象包括太阳、月亮和星星等天体。这些身体会动态出现、上升并设置,根据 TimeOfDay 或 ClockTime 属性值进行。
您可以通过以下属性来自定义天体:
- SunTextureId — 设置太阳的纹理。
- SunAngularSize — 设置太阳相对尺寸以度。
- MoonTextureId — 设置月亮的纹理。
- MoonAngularSize — 设置月亮的相对尺寸以度。
- StarCount — 设置天空盒中星星数量。
定向
SkyboxOrientation 属性改变了天空盒表面的方向。属性在典型的 XYZ 顺序中采取一个度值的 ,但旋转首先在 Y 轴上应用,然后 X ,然后 Z 以允许对复杂运动进行预测控制。
一个简单的方法是围绕 Y 轴旋转导航动画(保持水平),然后通过设置 X 和 Z 为固定值来倾斜这个轴。以下脚本,例如,动画 Y 轴以旋转,同时保持 X 轴上的一致 30° 倾斜。
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)
请注意,天空盒的方向是一个低成本功能,可以无缝地在所有平台和视觉质量等级上工作。因此,一些有意的例外包括:
- 如果天空在打开窗户的室内反射中可见,例如镜面,那么特定反射的视图不会旋转。实现这一点需要昂贵的重新渲染和卷积立方体地图,这将显著影响性能和广泛可用性。
- 只有天空盒表面旋转;天体不受此属性影响。