Type: concept
Confidence: 0.90
Created: 2026-04-16
Updated: 2026-04-16
Tags: 游戏引擎UrhoXLuaAPI节点变换游戏开发

UrhoX节点系统API

概述

UrhoX Node 继承自 Animatable,是场景树的基本单元,封装了 3D/2D 变换(位置/旋转/缩放)、父子层级管理和组件容器,坐标系为 Y-up 左手系,单位为米。

关键内容

  1. 变换体系:区分 Local(父节点相对)和 World(世界绝对)两套接口——SetPosition/SetWorldPosition、GetTransform/GetWorldTransform;2D 游戏使用 SetPosition2D/SetRotation2D/SetScale2D 对应接口。
  2. 旋转操作:Translate/Rotate 支持 TransformSpace(TS_LOCAL / TS_WORLD / TS_PARENT)指定参考系;Pitch/Yaw/Roll 分别绕 X/Y/Z 轴旋转;LookAt(target, upAxis, space) 使节点朝向目标。
  3. 坐标转换:LocalToWorld/WorldToLocal(支持 Vector3 和 Vector4 齐次坐标)实现空间转换,是射线投射和相机映射的基础。
  4. 父子管理:CreateChild(name, mode, id) 创建子节点;AddChild/RemoveChild/RemoveAllChildren;Clone(mode) 深拷贝子树;SetParent 重挂父节点;GetChild(name/hash/index, recursive) 递归查找。
  5. 组件管理:CreateComponent(type, mode, id)/GetOrCreateComponent/RemoveComponent;GetComponent(type, recursive) 向下递归查找;GetParentComponent(type, recursive) 向上查找;支持按类型批量操作 RemoveComponents(type)。
  6. 标签系统:AddTag/RemoveTag/HasTag/GetTags 管理节点标签;配合 Scene::GetNodesWithTag 实现按标签批量查询(如"enemy"、"pickup")。
  7. Lua 脚本对象:CreateScriptObject(type) 在节点上附加 Lua 脚本组件;GetScriptObject() 取回 Lua 表。

来源

相关