SurfaceGui

顯示已棄用項目

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

允許在 3D 世界上將 GUI 元素渲染到零件的表面,並允許基本使用者發生動。 表面Guis 必須是PlayerGui 的後代,才能知道哪個玩家與它互動。

為了提高性能,靜態 UI 的儲存

使用者介面的外觀會在下列事件發生時儲存:

  • 一個子孫是添加到 Gui。
  • 一個子孫從 Gui 移除。
  • 一個 Gui 的子孫的屬性。
  • GUI 的屬性變更。

如果發生任何一項事件,GUI 的外觀將在它渲染的下一個框架中重新計算。

概要

屬性

屬性 繼承自 SurfaceGuiBase屬性 繼承自 LayerCollector屬性 繼承自 GuiBase2d

活動

活動 繼承自 GuiBase2d

屬性

AlwaysOnTop

平行讀取

決定 SurfaceGui 是否會在 3D 內容上重疊,或者被它覆蓋。

設為 false 時,表面導覽器會像其他 3D 內容一樣渲染,並且會被其他 3D 對象遮蔽。

設為真的時候,它總是在 3D 內容上重新渲染,並且外觀變更大幅:

Brightness

平行讀取

光澤 決定GUI的發射光的比例。 預設值為 1 ,可以設置為範圍內的任何數字。

通過修改此屬性,可以更好地與環境相匹配。 例個體、實例,如果在 Times Square 找到的視頻廣告牌亮度足夠,它就可以在明亮的一天變得更明亮。

這個屬性在下列情況下不會發生任何效果:

  • AlwaysOnTop 是真的時,每個畫素的顏色都會顯示在畫面上。
  • Class.SurfaceGui.LightInfluence|LightInfluence 是 1 時,所有從 GUI 發射的光都會反射從環境反射到環境而不會發射。

CanvasSize

平行讀取

'Virtual Screen' 的尺寸,以 'Virtual Pixel' 表示,使 SurfaceGuis 與 ScreenGuis 兼容。

ClipsDescendants

平行讀取

設定為"真"時,在 SurfaceGui 的畫布邊緣之外的 GuiObjects 將不會顯示。

即使這個屬性是 false ,但在 SurfaceGui 的畫布外的對象將不會成像。

LightInfluence

平行讀取

控制 SurfaceGui 是否受到遊戲世界中的照明影響。

MaxDistance

平行讀取

控制表面導航可以顯示的距離,直到停止渲染。 值 0 表示沒有限制,它會在無限遠處 render 。

對於有許多 SurfaceGuis 的體驗,建議將其設置為每個 SurfaceGui 的合適值。 Studio 中插入 SurfaceGui 時的預設值是 1000,這應該對大多數使用者沒關係。

對於戶外的 UI,您應該設置最大距離遠足夠遠,讓螢幕上的 UI 在彈出時小,約 10 畫素。這使它在彈出時較少可被注意到。

您可以通過添加類似的裝飾減少彈出效果,或者通過將零件顏色變更為與界面外觀顏色相匹配的顏色來降低彈出效果。

對於室內空間,建議將 MaxDistance 設置稍微大一點,以便玩家在不同的房間時 UI 不會渲染。

PixelsPerStud

平行讀取

PixelsPerStud 決定每個世界範圍的 stud 使用的像素密度,以便渲染 SurfaceGui 的內容。

更高的值會讓各 GuiObject 內的元素縮小,如果保持相同的大小。反之,更

平行讀取

當設為 Enum.SurfaceGuiSizingMode.FixedSize 時,SurfaceGui 會使用 SurfaceGui.CanvasSize 設定的固定尺寸來渲染。

當設為 Enum.SurfaceGuiSizingMode.PixelsPerStud 時,SurfaceGui 會以 SurfaceGui.PixelsPerStud 和 SurfaceGui 的大小在 studs 中變更。

ToolPunchThroughDistance

平行讀取

設定在表面導覽器上單擊時開始作用的距離,而不是持有的工具。如果角色位於此表面導覽器的距離,則工具在單擊時不會啟動。

ZOffset

平行讀取

將 SurfaceGui 對應到它所屬的表面。

方法

活動