BillboardGui

顯示已棄用項目

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

BillboardGuis 是 GuiObjects 在 3D 空間中出現的容器。BillboardGuis 總是面向攝影機,並且可以使用距離或保持尺寸來變更尺寸。基於 BillboardGui.Size 屬性,可以在屏幕上保持相同的尺寸,或者在距離上變更尺寸。

其位置相對於BillboardGui.Adornee。如果沒有設定Adornee,則BillboardGui的父親將會變成Adornee。對於BaseParts,父親將會變成Position。對於1>Class.

BillboardGui 的 Size 屬性與 GuiObject.Size 的屬性有點不同。 Offset 部分與 Class.Gui.Size 的大小相同,但 Scale 部分是用作 3D 空間中的尺寸。

UDim2.fromScale(4, 5) 的尺寸是 4x5 格子,並且在攝影機機距離越長,UI 就越小。UDim2.fromOffset(200, 100) 的尺寸會一直在畫面上,並且與距離無關。尺寸和 Offset 值可以

在創建尺寸大小為 BillboardGuis 時,需要確認所有的 UI 對象內部使用了尺寸變更,並且所有的文字都有 TextLabel.TextScaled 啟用,以確保正確的尺寸。

BillboardGui 和所有其子的相對位置是畫布的左上角,因此它的子孫 sempre 0, 0 對於 BillboardGui 實個體、實例。

為高效性統一溫存靜態介面

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

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

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

概要

屬性

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

活動

活動 繼承自 GuiBase2d

屬性

Active

平行讀取

控制子孫是否接收輸入事件。如果介面包含一個 GuiButton 按鈕,那個按鈕只會在兩個 BillboardGui 和按鈕上設為啟用,如果啟用設為 true 的話。

BillboardGuis 只會接受玩家輸入,如果它們與 PlayerGui 相關。BillboardGui.Adornee 屬性可以用來在工作區中瞄準零件,而玩家自己在 PlayerGui 中。

Adornee

平行讀取

設定廣告牌GUI 的位置相對於的目標零件或附件。如果沒有 Adornee 設置,則 Parent 會被使用。

AlwaysOnTop

平行讀取

決定是否要在 3D 內容上方顯示廣告導覽器,或是否被它遮蔽。

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

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

Brightness

平行讀取

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

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

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

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

ClipsDescendants

平行讀取

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

即使這個屬性是 false ,但在BillboardGui 的 canvas 外的物件將不會成像。

CurrentDistance

唯讀
未複製
平行讀取

Class.BillboardGui 的當前距離是從玩家的相攝影機發射的。變更的事件不會在此屬性發生,除非 BillboardGui.DistanceStep 的 gui 是更大的 0 以上。

DistanceLowerLimit

平行讀取

Class.BillboardGui 將在對玩家的目前攝影機相對於其大小進行縮放時停止縮放。如果 gui 的距離小於此值,它將不會縮放大於此值。此屬性的預設值為 0 格子。

DistanceStep

平行讀取

決定鏡頭移動到 BillboardGui.CurrentDistance 的距離增加和減少的尺寸。 此屬性預設為 0 並且從 BillboardGui 開始圓滿。 該屬性的預設值為 0 。 從 BillboardGui.DistanceLowerLimit 開始圓滿。

舉例來說,如果此屬性設為 0.5,玩家的相機從零開始移動,那麼當前距離會增加 0 -> 0.5 -> 1 -> 1.5 -> ... 等等。

DistanceUpperLimit

平行讀取

Class.BillboardGui 將縮放尺寸與玩家目前的攝影機相對而言變小。如果距離 Class.BillboardGui 超過此值,它將不會縮放到此距離。

此屬性在值為零以下時會被忽略。預設值為 -1,表示此屬性以預設方式被忽略。

ExtentsOffset

平行讀取

ExtentsOffset 決定BillboardGui 的BillboardGui.Adornee|Adornee 對Adornee 的方向和單位相對於模型的Camera - 對準框的尺寸是模型的0> Class.Camera0> 中的一方塊。

也看:

ExtentsOffsetWorldSpace

平行讀取

ExtentsOffsetWorldSpace 決定BillboardGui 的 Offset 從其 Adornee 對全球軸和單位的尺寸是半個尺寸模型的軸對邊方塊。

也看:

LightInfluence

平行讀取

控制 BillboardGui 是否受到環境中的照明影響。

當設為 0 時,UI 會相同於 LCD 螢幕,作為自己的光源,且無論環境燈光如何。

設為 1 時,UI 會相當於一張紙片,只會反射其他來原始碼的光。

MaxDistance

平行讀取

Class.BillboardGui 的MaxDistance 屬性設定廣告牌可以從相機遠處多少時間才能從相機和廣告牌之間畫出。如果攝影機和廣告牌之間移動得越遠,廣告牌就越隱藏,無論是其他屬性或是在其中的任何GUI對象。 此屬性的預設值為無限。

如果此值設為小於或等於 0 ,最大距離將被視為無限,看板將永遠保持可畫。

範例


-- 等待預設視頻/控制指令碼載入
task.wait(5)
-- 宣告並初始化對象
local camera = workspace.CurrentCamera
local part = Instance.new("Part")
local billboard = Instance.new("BillboardGui")
local label = Instance.new("TextLabel")
-- 設定鏡頭類輸入
camera.CameraType = Enum.CameraType.Scriptable
-- 設定零件的位置並鎖空間
part.CFrame = CFrame.new(0, 10, 0)
part.Anchored = true
-- 設置廣告牌
billboard.MaxDistance = 10
billboard.Adornee = part
billboard.AlwaysOnTop = true
billboard.Size = UDim2.fromOffset(50, 50)
-- 設定標籤
label.Size = UDim2.fromScale(1, 1)
-- 設定對象的父親
label.Parent = billboard
billboard.Parent = part
part.Parent = workspace
-- 將相機移動到零件旁邊。稍等一會兒,然後移動攝影機
local cameraPosition0 = part.Position + Vector3.new(0, 0, 10)
local cameraPosition1 = part.Position + Vector3.new(0, 0, 20)
camera.CFrame = CFrame.lookAt(cameraPosition0, part.Position)
-- 看板內容將在此顯示
task.wait(2)
camera.CFrame = CFrame.lookAt(cameraPosition1, part.Position)
-- Contents of billboard will no longer be visible (outside MaxDistance)

PlayerToHideFrom

平行讀取

可用於從特定玩家隱藏 BillboardGui。

要將 UI 隱藏給超過一名玩家,請將 BillboardGui 放置在 StarterGui 中,並使用指定的 Class.BillboardGui

Size

平行讀取

控制 BillboardGui 在屏幕上的大小。

大小的比例項目以格子的大小解釋為格子的大小,並且UI將會自動縮放距離,如果使用了大小值。

大小的比例和偏移部分可以一起添加,並且可以一起使用。

SizeOffset

平行讀取

一個 2D 位置在尺寸相對單位中,作為錨定點使用。這可以與 GuiObject.AnchorPoint 屬性相同,但值是不同的。

通用值

| 大小錯誤 | 說明 | | :| 定義:| 0.0, 0.0 | 預設。 UI 將在其中央錨定。 | | 0.5, 0.5 | UI 將在左下角錨定。 | | 0.5, -0.5 | UI 將在右

也看:

StudsOffset

平行讀取

StudsOffset 決定BillboardGui 的 Offset 從其 AdorneeCamera 對象的相對位置,以單位在 studs 的單位來測量。

也看:

  • StudsOffsetWorldSpace , 其中偏移方向與全球軸對稱
  • ExtentsOffset,其中工作方式與單位不同,除非單位是模型的Camera-aligned bounding box的半尺寸

StudsOffsetWorldSpace

平行讀取

StudsOffsetWorldSpace 決定 BillboardGui 的 Offset 從其 Adornee 對全球軸的相對位置。

也看:

  • StudsOffset,其中偏移方向與 Camera 無關
  • ExtentsOffsetWorldSpace,其中單位的大小與模型的軸對邊界方塊的大小相同, except 單位的大小與模型的軸對邊界框的大小相同

方法

活動