天空箱

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

一個 天空盒 是由六個獨立圖像組成的立方體,在體驗中創建了身臨其境的天空背景。當圖像設計為完全對齊時,天空盒似乎是無印象地全景,而不是在立方體內。這會讓體驗感覺比真的大小還要大,並為你的氛圍增加深度,例如模擬深空環境或水下環境。

此外, Sky 對象包括動態出現、上升和設置的天體,例如太陽、月亮和星星,這些天體基於 TimeOfDayClockTime 來出現、上升和設置。

最後, Sky 對象可以用作ViewportFrames中的立方圖,以便進行反射。詳情請參閱視窗框架

天空盒建造

如果你創建了自己的天空盒圖像,你必須先匯入它們到Roblox,才能在天空盒中使用它們。每張圖像必須在 所有邊緣 上無縫地融入鄰近圖像,當它被折疊成立方體時。


要創建天空盒:

  1. 導航器 窗口中,插入 Sky 對象到 Lighting 服務。

  2. 選擇新的 Sky 對象,然後在 屬性 視窗中,為下列天空屬性分配紋理:

    • SkyboxBk — 天空盒的 後方 正方形。
    • SkyboxDn — 天空箱的 方塊。
    • SkyboxFt — 天空箱的 前方 正方形。
    • SkyboxLf — 天空箱的 方。
    • SkyboxRt — 天空箱的 右方 正方形。
    • SkyboxUp — 天空箱的 方塊。

天體

預設情況下, Sky 對象包括太陽、月亮和星星等天體。這些身體會動態出現、上升並設置,取決於 TimeOfDayClockTime 屬性值。

您可以通過以下屬性來自訂天體:

方向

SkyboxOrientation 屬性會改變天空盒表面的方向。屬性會在典型的 XYZ 順序中消耗度值的一部分,但旋轉會應用在Y軸上,然後X,然後Z在允許預測控制複雜運動的情況下。

一個簡單的方法是將方向動畫轉到 Y 軸上(保持水平),然後將此軸調整為固定值,通過設置 XZ 為固定值來傾斜此軸。以下腳本,例如,動畫 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)

請注意,天空盒的方向是一項低成本功能,可以無縫地在所有平台和視覺品質等級上運行。因此,一些有意的例外包括:

  • 如果天空在開啟窗戶的室內反射中,如鏡面,可見,那個特定反射的視圖不會旋轉。要達到這一點需要昂貴的重新渲染和融合立方體地圖,這將對性能和廣泛可用性產生重大影響。
  • 只有天空盒表面旋轉;天體不受此屬性影響。
  • 如果您在 Sky 內使用一個 ViewportFrame ,它將反映全球 SkyboxOrientation 值。您無法調整每個 ViewportFrame 角度。
  • 動態雲 功能下的 Terrain 不受影響。