uscenecomponent
USceneComponent
🏛 Unreal Engine - USceneComponent
📚 定义
USceneComponent 是 所有具有空间变换(位置、旋转、缩放)的组件基类。
它为 组件的三维空间定位与层级管理 提供支持,是 场景树系统的核心。
在 Unreal 中,任何需要在 3D 世界中拥有 Transform(位置、旋转、缩放) 的组件,通常都会继承自 USceneComponent。
🏷 类继承
UObject
└── UActorComponent
└── USceneComponent
UObject→ 最底层对象系统UActorComponent→ 提供生命周期与逻辑管理USceneComponent→ 增加 Transform 与层级关系- 常见子类包括:
UPrimitiveComponent、UCameraComponent、UMeshComponent
⚡ 关键特性
- ✅ Transform 支持:
Location、Rotation、Scale - ✅ 层级系统:Parent / Child 关系(SceneComponent 可以附加到另一个 SceneComponent)
- ✅ Attach/Detach 支持:可在运行时改变组件层级
- ✅ Socket/Attachment Rules:支持相对/绝对变换的挂载规则
- ✅ 更新与传播:变换可自动传递给子组件
- ✅ 物理与渲染的基础:许多渲染和物理组件都继承自
USceneComponent
⚙️ 常见配置
RelativeLocation/RelativeRotation/RelativeScale3D→ 相对父组件的变换WorldLocation/WorldRotation/WorldScale→ 世界空间下的变换AttachParent→ 指定父级 SceneComponentAttachChildren→ 当前组件的子组件列表Mobility→ 移动性设置- Static:不可移动
- Stationary:部分可变(如灯光强度)
- Movable:完全可移动
🛠️ 使用方法
🔗 创建与挂载
| |
🔄 获取与修改 Transform
| |
🧩 附加/分离组件
| |
🏊 典型应用场景
- 🎮 构建 Actor 层级结构:例如角色的 根组件 → 骨骼网格体 → 武器挂点
- 🏗 蓝图节点系统:场景中的各种可视化节点都继承
USceneComponent - 📸 相机/灯光组件:常见的相机、聚光灯、点光源都是
USceneComponent的子类 - ⚙️ 挂载机制:例如武器附着到角色手上
🤖 与其他组件对比
- UActorComponent
- 只提供逻辑功能,无 Transform
- USceneComponent
- 增加空间变换与层级支持
- UPrimitiveComponent
- 继承自
USceneComponent,并增加 渲染 & 碰撞 能力
- 继承自
- UMeshComponent
- 专门用于渲染网格
📝 小结
USceneComponent是 场景层级与空间变换的核心基类。- 提供 Transform(位置、旋转、缩放)管理,并支持 父子层级关系。
- 是许多常用组件(Mesh、Camera、Light)的基础。
- 在构建复杂 Actor 组件树 和 挂载系统 时必不可少。