SurfaceGui 允許在 3D 世界上將 UI 對象渲染到零件表面,同時也允許基本用戶互動發生。與 和 > 類似,用戶介面對象,例如 和 會面向相同方向的表面,可以通過 屬性編輯。

請注意,如 和 內的互動用戶介面元素只會收到用戶輸入,如果它們屬於 ,通常是通過將 放置在 內來實現的。Adornee 屬性可用於在 3D 世界中標記零件,而 SurfaceGui 本身仍留在 PlayerGui 中。
請參閱體驗內的用戶介面以獲得與SurfaceGui工作的指南。
緩存行為
為了幫助改善履約,SurfaceGui 的外觀將被緩存,直到下列情況之一發生,然後在下一個渲染框中重新計算其外觀。
- 子孫被添加到或從 SurfaceGui 中移除。
- 一個孫孫的 SurfaceGui 變更的屬性。
- SurfaceGui 本身的屬性發生變化。
概要
屬性
決定是否會將 SurfaceGui 永遠渲染在其他 3D 物件之上。
決定容器 SurfaceGui 的光在 LightInfluence 時縮放的因子,當 0 時縮放的因子。
在「虛擬畫素」中的「虛擬螢幕」大小,使 SurfaceGuis 像素與 ScreenGuis 相容。
是否繪製外部的 畫布邊界的一部分。
控制 SurfaceGui 是否受環境光線影響過多。
控制 SurfaceGui 在停止渲染之前可以顯示多遠。
決定每個世界空間點渲染內容的像素密度 SurfaceGui 。
決定是否在固定尺寸或磚格尺寸上渲染 SurfaceGui,其尺寸以磚格為單位。
設置左鍵開始作用的距離,在 SurfaceGui 而不是持有的 Tool 上。
將這個 SurfaceGui 與其他 SurfaceGuis 在同一面上關聯。
BasePart 在哪裡應用 SurfaceGui,覆蓋預設父子關係。
Enum.NormalId 面上應用 SurfaceGui 。
切換此 LayerCollector 的可見度。
決定是否在玩家的角色重生每次時,LayerCollector 重設 (刪除自己並重新複製到玩家的角色中的 PlayerGui)。
控制如何 GuiObject.ZIndex 在這個 LayerCollector 的所有子孫上行為。
活動
活動 繼承自 GuiBase2d- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
當遊戲控制器選擇移動到、離開或變更連接的 GuiBase2d 或任何子控制器 GuiObjects 時發生火災。
屬性
AlwaysOnTop
此屬性決定是否 SurfaceGui 將永遠渲染在其他 3D 物件之上。
當設為 false (預設值) 時,SurfaceGui 會像其他 3D 內容一樣渲染,並被其他 3D 對象遮蓋。當設為 true 時,SurfaceGui 總是在 3D 內容上渲染,外觀變化非常顯著:
- 顏色與在 ScreenGui 內出現的方式相匹配。
- 文字在高 DPI 裝置上可能會更鋒利。
- LightInfluence 被視為是 0 。
- Brightness 沒有效果。
Brightness
此屬性決定了當 容器的光被縮放時, 容器的亮度會被縮放的因子。預設值為 1 ,可設為 0 和 1000 之間的任何數字。修改此屬性可以使 SurfaceGui 的顯示亮度更匹配環境。例個體、實例,一個視頻廣告牌可以在黑暗房間內亮起,通過增加 Brightness 到 10 來提高亮度。
請注意, 在 Studio 無法使用,且當 或 是 時沒有效果。
ClipsDescendants
當設為 true (預設值) 時,會繪製外部的 GuiObjects 畫布邊界之外的 SurfaceGui 部分。
即使當此屬性是 false , GuiObjects 那些在畫布外完全 **** 的東西也不會成像。
MaxDistance
此屬性控制 SurfaceGui 在停止渲染之前會顯示多遠的相機。值 0 表示沒有限制,並且會無限遠地渲染。預設值 1000 對大多數情況來說都很好。
對於在室外出現的 SurfaceGuis ,建議 MaxDistance 高度足夠,以確保容器的用戶介面在出現或消失時在畫面上足夠小,最大限度地減少突然出現/消失的效果。
PixelsPerStud
此屬性決定每個世界空間單元用於渲染 SurfaceGui 內容的像素密度。更高的值會導致內部的各種 GuiObjects 變小,如果保持相同的尺寸。相反,較低的值會導致物件看起來更大。然而,如果 GuiObjects 通過使用 UIScale 、 GuiObject.Size 、 TextLabel.TextSize 或類似來進行比例縮放,此屬性允許使用更高的定義。
選擇值時,要根據你希望玩家看到 SurfaceGui 的距離來進行選擇。請注意,大型像素密度可能會對性能產生負面影響,如果裝飾的部件的面積足夠大。
SizingMode
當設為 Enum.SurfaceGuiSizingMode.PixelsPerStud (預設值) 時,SurfaceGui 會以 PixelsPerStud 和表面尺寸在點數上的變量尺寸渲染。
當設為 Enum.SurfaceGuiSizingMode.FixedSize 時,SurfaceGui 會以固定的尺寸通過 CanvasSize 渲染。
ToolPunchThroughDistance
設置左鍵開始作用的距離,在 SurfaceGui 而不是持有的 Tool 上。如果角色在 SurfaceGui 的距離內,Tool 將在點擊時不會激活。