主题
EUISceneNode
EUISceneNode 是用于把 UI 放到三维世界中的场景界面节点,可设置世界坐标,也可挂接到 Unit 的指定 socket。
概览
EUISceneNode 是用于把 UI 放到三维世界中的场景界面节点,可设置世界坐标,也可挂接到 Unit 的指定 socket。
继承自
EUINodeBase;可通过World:CreateUnit("EUISceneNode", ...)创建;返回单个单位
函数
AttachUnit
签名:AttachUnit(unit: Unit, socket: String)
将当前场景 UI 节点绑定到指定 Unit 的挂点;unit 是目标单位,socket 是该单位上的挂点名称。绑定后,UI 节点随目标单位移动。
| 参数 | 类型 | 说明 |
|---|---|---|
unit | Unit | 要挂接的目标 Unit 实例。 |
socket | String | 目标 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属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Position | Vector3 | [0, 0, 0] | 场景节点的世界坐标;可在 CreateSceneNodeAtPosition 创建时传入,也可通过公开属性赋值更新。 |
BindSocket | String | "" | BindSocket 是 EUISceneNode 上的字符串属性,用于指定该节点绑定到 Unit 上的位置(socket)名称。默认值为空字符串。 |
InheritVisible | Bool | false | InheritVisible 是 EUISceneNode 上的布尔属性,用于控制该场景节点是否跟随所绑定 Unit 的显隐状态。默认值为 false。 |
MaxVisibleDistance | Float | -1 | MaxVisibleDistance 是 EUISceneNode 上的浮点属性,表示节点相对于摄像机的最大可见距离,取负数时表示永远可见。默认值为 -1。 |
AutoScaleEnabled | Bool | true | AutoScaleEnabled 是 EUISceneNode 上的布尔属性,用于控制该场景节点是否开启自动缩放(近大远小)。默认值为 true,可在节点实例上读取或修改。 |
