遊戲內 UI 容器包含 GuiObjects,這些物件您希望在遊戲的 3D 世界中顯示。
- SurfaceGui 允許在 3D 世界中將 UI 物件渲染到部件的表面上,同時也允許基本的用戶互動發生。
- BillboardGui 是一個容器,用於在 3D 空間中顯示 UI 物件,但始終面向相機。
表面 UI
類似於 Decals 和 Textures,附加到 SurfaceGui 的 UI 物件,如 TextLabels 和 ImageLabels,面向它們所處的表面方向,這可以通過 SurfaceGui.Face 屬性進行編輯。

要將 SurfaceGui 應用於遊戲內的 BasePart,只需將其附加到該部件並設置 SurfaceGui.Face 屬性。子 UI 物件將顯示在父部件的該面上。


或者,您可以將 SurfaceGui 放置在像 StarterGui 這樣的容器中,然後將其 Adornee 屬性設置為任何 BasePart,以及目標 Face。設置 Adornee 會覆蓋直接的父級關聯,允許在放置上有更多的靈活性,因為它可以在運行時通過腳本設置。


大小和位置
SurfaceGui 的 "畫布" 佔據父部件或 Adornee 部件的整個 Face。作為最佳實踐,建議您對子 UI 物件(如 ImageLabels)的 大小 和 位置 使用 比例 值。您還可以對 SurfaceGui 的子物件應用 UIAspectRatioConstraint,以保持其所需的長寬比,無論面大小如何。
遮擋模式
AlwaysOnTop 屬性決定 SurfaceGui 是否會在 3D 內容上方渲染或被其遮擋。當設置為 false(默認值)時,SurfaceGui 像其他 3D 內容一樣渲染,並被其他 3D 物件遮擋。當設置為 true 時,它始終在 3D 內容上方渲染,並且不受 3D 環境中的 亮度/光線 影響。
亮度和光線影響
Brightness 和 LightInfluence 共同作用,以決定環境光如何影響 SurfaceGui 的 UI 內容。
Brightness 決定發射光的縮放因子,範圍為 0 到 1000,讓您可以將 SurfaceGui 與其環境匹配。例如,通過將 Brightness 增加到 10,可以在黑暗的房間中使視頻廣告牌變得更亮。
LightInfluence 控制 SurfaceGui 受到場景中光照影響的程度,範圍從 0 到 1。將其設置為 1 意味著周圍的光照完全控制外觀,而設置為 0 則意味著光照沒有影響。

距離可見性
MaxDistance 控制 SurfaceGui 將在距離相機多遠的地方顯示,然後停止渲染。值為 0 意味著沒有限制,將無限遠地渲染。默認值 1000 在大多數情況下運行良好。
對於出現在戶外的 SurfaceGuis,建議將 MaxDistance 設置得足夠高,以確保容器的 UI 在出現或消失時在螢幕上足夠小,從而最小化突兀的進出效果。
顯示順序
如果在同一面上存在多個 SurfaceGui 容器,您可以通過其 ZOffset 屬性按 Z 索引進行分層(更改此屬性不會在視覺上“抬起”或“沉入”容器)。
廣告牌 UI
BillboardGui 容器在 3D 空間中顯示 UI 物件,但與 SurfaceGui 不同,BillboardGui 的子物件始終面向相機。這個容器對於在遊戲物件上方顯示面向前方的信息(例如健康計量或玩家角色的名稱、指引玩家到 3D 世界中的物件的標記等)非常有用。

要將 BillboardGui 連結到遊戲內的 BasePart 或 Attachment,只需將其附加到該部件或附件上,並根據需要調整其 大小/位置。


或者,您可以將 BillboardGui 放置在像 StarterGui 這樣的容器中,然後將其 Adornee 屬性設置為任何 BasePart 或 Attachment。這種方法提供了更多的放置靈活性,因為 Adornee 可以在運行時通過腳本設置,例如在運行時將 BillboardGui 放置在玩家角色的頭上。
大小和位置
對於廣告牌大小,Size 屬性的 比例 組件設置廣告牌在 3D 空間中的尺寸。例如,設置為 {10, 0},{2, 0} (UDim2.fromScale(10, 2)) 形成一個具有 10:2 長寬比的廣告牌,根據其與相機的距離而變大或變小。
對於定位,StudsOffset 屬性在 X 軸(左/右)、Y 軸(上/下)和 Z 軸(前/後)相對於相機移動廣告牌畫布。
遮擋模式
AlwaysOnTop 屬性決定 BillboardGui 是否會在 3D 內容上方渲染或被其遮擋。當設置為 false(默認值)時,BillboardGui 像其他 3D 內容一樣渲染,並被其他 3D 物件遮擋。當設置為 true 時,它始終在 3D 內容上方渲染,並且不受 3D 環境中的 亮度/光線 影響。
亮度和光線影響
Brightness 和 LightInfluence 共同作用,以決定環境光如何影響 BillboardGui 的 UI 內容。
Brightness 決定發射光的縮放因子,範圍為 0 到 1000,讓您可以將 BillboardGui 與其環境匹配。例如,通過將 Brightness 增加到 10,可以在黑暗的房間中使視頻廣告牌變得更亮。
LightInfluence 控制 BillboardGui 受到場景中光照影響的程度,範圍從 0 到 1。將其設置為 1 意味著周圍的光照完全控制外觀,而設置為 0 則意味著光照沒有影響。

距離可見性
MaxDistance 控制 BillboardGui 將在距離相機多遠的地方顯示,然後停止渲染。值為 0 或 inf(默認值)意味著沒有限制,將無限遠地渲染。