虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系

虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系

code review!

文章目录

1. 什么是Pawn?

  • Pawn 是UE中的一种Actor,代表可以被玩家或AI控制的角色或实体。
  • Pawn 本身并不包含具体的外形或碰撞体,需要通过组件(如Mesh、碰撞体等)来实现。

2. 什么是胶囊体(Capsule Component)?

  • 胶囊体(CapsuleComponent) 是UE常用的碰撞组件,形状像药丸(圆柱体两头带半球)。
  • 主要用于角色的物理碰撞检测,因为其形状适合大多数站立的人物、动物等。

3. Pawn与胶囊体的具体关系

(1)Pawn通常会包含一个胶囊体组件

  • 在UE5中,尤其是Character类(继承自Pawn)会在其根组件(Root Component)上添加一个UCapsuleComponent
  • 这个胶囊体用于:
    • 碰撞检测(防止角色穿墙、掉下地面等)
    • 物理模拟(推动、阻挡等)
    • 触发事件(如被击中、进入特定区域)

(2)胶囊体通常是Pawn的根组件

  • 在大多数情况下(如ACharacter),胶囊体是根组件,所有其他组件(如Mesh、摄像机等)都附着在它上面。
  • 这样,无论胶囊体如何移动,整个Pawn都会跟着动。

(3)为什么选择胶囊体?

  • 性能高:胶囊体计算效率高,适合实时游戏。
  • 形状适中:对人形角色来说,胶囊体既能覆盖大部分体积,又不会出现卡住角落的问题。

(4)Pawn必须有胶囊体吗?

  • 不是所有Pawn都必须有胶囊体,但如果希望Pawn能与世界有物理交互(碰撞、阻挡等),通常会添加一个碰撞体(最常见就是胶囊体)。
  • 也可以使用Box、Sphere等其他碰撞体,但胶囊体是角色类(Character)默认的选择。

4. 代码示例

cpp 复制代码
// 以Character为例(Character继承自Pawn)

ACharacter::ACharacter()
{
    // 创建胶囊体并设置为根组件
    CapsuleComponent = CreateDefaultSubobject<UCapsuleComponent>(TEXT("CapsuleComponent"));
    RootComponent = CapsuleComponent;

    // 添加Mesh并附着在胶囊体上
    Mesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("Mesh"));
    Mesh->SetupAttachment(CapsuleComponent);
}

5. 总结

  • Pawn 是可被控制的实体,胶囊体是常见的碰撞体组件。
  • 胶囊体一般作为Pawn/Character的根组件,负责物理碰撞和触发检测。
  • 选择胶囊体是因为其适合角色形状、性能高、易于处理。

简化理解

UE5的Pawn通常"穿"着一个胶囊体,胶囊体负责碰撞检测和物理交互,是Pawn与世界互动的物理壳子。

相关推荐
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
OBiO20138 小时前
Cell | 突破AAV载体容量限制!路中华/姜玉武/刘太安团队开发AAVLINK系统实现大基因递送
笔记
智者知已应修善业9 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
sakiko_9 小时前
UIKit学习笔记5-使用UITableView制作聊天页面
笔记·学习·swift·uikit
Alice-YUE10 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
小陈phd11 小时前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀11 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
handler0112 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
其实防守也摸鱼12 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
05候补工程师14 小时前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人