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/SetWorldPositionGetTransform/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/RemoveAllChildrenClone(mode) 深拷贝子树;SetParent 重挂父节点;GetChild(name/hash/index, recursive) 递归查找。
  5. 组件管理CreateComponent(type, mode, id)/GetOrCreateComponent/RemoveComponentGetComponent(type, recursive) 向下递归查找;GetParentComponent(type, recursive) 向上查找;支持按类型批量操作 RemoveComponents(type)
  6. 标签系统AddTag/RemoveTag/HasTag/GetTags 管理节点标签;配合 Scene::GetNodesWithTag 实现按标签批量查询(如"enemy"、"pickup")。
  7. Lua 脚本对象CreateScriptObject(type) 在节点上附加 Lua 脚本组件;GetScriptObject() 取回 Lua 表

来源

相关