一個 天空盒 是由六個獨立圖像組成的立方體,在體驗中創建了身臨其境的天空背景。當圖像設計為完全對齊時,天空盒似乎是無印象地全景,而不是在立方體內。這會讓體驗感覺比真的大小還要大,並為你的氛圍增加深度,例如模擬深空環境或水下環境。
此外, 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)
請注意,天空盒的方向是一項低成本功能,可以無縫地在所有平台和視覺品質等級上運行。因此,一些有意的例外包括:
- 如果天空在開啟窗戶的室內反射中,如鏡面,可見,那個特定反射的視圖不會旋轉。要達到這一點需要昂貴的重新渲染和融合立方體地圖,這將對性能和廣泛可用性產生重大影響。
- 只有天空盒表面旋轉;天體不受此屬性影響。