Skip to content

EUISceneNode ​

EUISceneNode 是用于把 UI 放到三维世界中的场景界面节点,可设置世界坐标,也可挂接到 Unit 的指定 socket。

概览 ​

EUISceneNode 是用于把 UI 放到三维世界中的场景界面节点,可设置世界坐标,也可挂接到 Unit 的指定 socket。

继承自 EUINodeBase;可通过 World:CreateUnit("EUISceneNode", ...) 创建;返回单个单位

函数 ​

AttachUnit ​

签名:AttachUnit(unit: Unit, socket: String)

将当前场景 UI 节点绑定到指定 Unit 的挂点;unit 是目标单位,socket 是该单位上的挂点名称。绑定后,UI 节点随目标单位移动。

参数类型说明
unitUnit要挂接的目标 Unit 实例。
socketString目标 Unit 上的挂点名称,例如 Head。

把场景 UI 绑定到已有目标单位

lua
-- @runtime client
local World = game:GetService("World")
local sceneNode = World:FindFirstChild("QuestMarkerUI", true)
local target = World:FindFirstChild("QuestTarget", true)
if sceneNode ~= nil and target ~= nil then
    sceneNode:AttachUnit(target, "Head")
end

属性 ​

名称类型默认值说明
PositionVector3[0, 0, 0]场景节点的世界坐标;可在 CreateSceneNodeAtPosition 创建时传入,也可通过公开属性赋值更新。
BindSocketString""BindSocket 是 EUISceneNode 上的字符串属性,用于指定该节点绑定到 Unit 上的位置(socket)名称。默认值为空字符串。
InheritVisibleBoolfalseInheritVisible 是 EUISceneNode 上的布尔属性,用于控制该场景节点是否跟随所绑定 Unit 的显隐状态。默认值为 false。
MaxVisibleDistanceFloat-1MaxVisibleDistance 是 EUISceneNode 上的浮点属性,表示节点相对于摄像机的最大可见距离,取负数时表示永远可见。默认值为 -1。
AutoScaleEnabledBooltrueAutoScaleEnabled 是 EUISceneNode 上的布尔属性,用于控制该场景节点是否开启自动缩放(近大远小)。默认值为 true,可在节点实例上读取或修改。