UEC++ 如何知道有哪些UComponent?
在 Unreal Engine 里,所有可以附加到 Actor 上的“组件”(Component)都继承自 UActorComponent,而大多数可见、带变换的组件继承自 USceneComponent。
🧩 一、组件的继承结构(简化版)
UObject
└── UActorComponent ← 所有组件的基类(没有位置)
└── USceneComponent ← 有位置、旋转、缩放的组件(可附加)
├── UPrimitiveComponent ← 有可碰撞或可渲染形体的组件
│ ├── UStaticMeshComponent
│ ├── USkeletalMeshComponent
│ ├── UShapeComponent
│ │ ├── USphereComponent
│ │ ├── UBoxComponent
│ │ └── UCapsuleComponent
│ ├── UDecalComponent
│ ├── UNiagaraComponent
│ └── UParticleSystemComponent
├── USpringArmComponent
├── UCameraComponent
└── UArrowComponent
📦 二、常见 UComponent 类型汇总
| 组件类型 | 功能 | 典型用途 |
|---|---|---|
| UStaticMeshComponent | 渲染静态网格体 | 显示场景中的物体(建筑、道具) |
| USkeletalMeshComponent | 渲染骨骼动画网格 | 显示角色、怪物等 |
| USphereComponent / UBoxComponent / UCapsuleComponent | 形状碰撞体 | 用于触发区域或物理碰撞 |
| UCameraComponent | 摄像机视角 | 玩家视角、过场镜头 |
| USpringArmComponent | 摄像机摇臂 | 第三人称摄像机缓冲效果 |
| UArrowComponent | 箭头指示 | 可视化朝向(编辑器辅助) |
| UAudioComponent | 播放声音 | 播放 3D 环境音效 |
| UNiagaraComponent | 粒子特效(Niagara) | 火焰、爆炸、烟雾等 |
| UParticleSystemComponent | 旧版粒子(Cascade) | 与 Niagara 类似 |
| UDecalComponent | 贴花投射 | 在表面上显示血迹、标志、阴影等 |
| ULightComponent / UPointLightComponent / USpotLightComponent / URectLightComponent | 光源 | 点光、聚光、矩形光 |
| UWidgetComponent | 3D 世界中的 UI | 比如头顶血条、屏幕显示 |
| UTextRenderComponent | 3D 文本 | 在世界中显示文字 |
| UPhysicsConstraintComponent | 物理约束 | 铰链、弹簧、固定连接 |
| UChildActorComponent | 嵌套 Actor | 让一个 Actor 内部包含另一个 Actor |
| UPostProcessComponent | 后期处理 | 模糊、颜色校正等视觉效果 |
| USceneCaptureComponent2D/3D | 渲染场景到贴图 | 镜子、监控摄像头效果 |
🔍 三、如何在引擎里查看所有组件
✅ 方法 1:在编辑器中
打开任意 Actor 蓝图;
点击 “添加组件 (Add Component)” 按钮;
弹出的列表里就是所有可用组件;
鼠标悬停可以看到类名(比如 “Sphere Collision (USphereComponent)”)。
👉 这些就是所有继承自 UActorComponent 的类。
✅ 方法 2:在 C++ 里查看
在 Visual Studio / Rider 中输入
UActorComponent;按
F12(转到定义);查看它的子类结构;
也可以用“类视图(Class View)”或“Go to Derived Classes” 查看所有继承类。
✅ 方法 3:官方文档
🔗 Unreal 官方文档有完整分类表:
Unreal Engine Components Reference
包括每种组件的用途和继承关系。
🧠 小结
| 类别 | 说明 |
|---|---|
UActorComponent | 最基础组件,没有位置 |
USceneComponent | 有位置(Transform) |
UPrimitiveComponent | 可渲染 / 碰撞的形体组件 |
| 其它 | 各种功能组件:渲染、音效、UI、特效、灯光等 |
