U++ 碰撞预设

发布时间:2026/7/17 16:45:40
U++ 碰撞预设 碰撞预设├─ Collision Enabled 是否参与查询或物理模拟├─ Object Type 自己属于哪一类物体└─ Collision Responses 遇到不同类型时如何响应├─ Ignore├─ Overlap└─ Block碰撞预设的三个核心部分一、Collision EnableComponent-SetCollisionEnabled( ECollisionEnabled::NoCollision );决定这个组件是否参与碰撞以及参与哪一种碰撞系统。1.No Collision表示组件完全不参与碰撞不会参与以下Line TraceSweepOverlap 查询物理模拟刚体碰撞Hit 检测它不进入碰撞查询结构和物理模拟结构所以通常是性能开销最低的设置。2.Query Only只参与查询不参与刚体物理模拟它可以检测玩家是否进入但本身不作为一个受力、受重力影响的刚体。查询主要包括Line TraceSphere TraceBox TraceSweepOverlap角色移动时的碰撞查询官方文档将Query Only定义为只用于射线、Sweep 和 Overlap 等空间查询不用于刚体及约束模拟。3.Physisc Only只参与物理模拟不参与普通空间查询。这种模式相对少见更多用于一些只需要物理模拟、不需要游戏查询的对象或次级运动系统。它可以参与刚体模拟物理约束物理接触但不能用于Line TraceSweep 查询Overlap 查询4.Query and Physics表示既参与空间查询也参与物理模拟。适合于可被碰撞检测的带有物理属性的物体。二、ObjectTypeComponent-SetCollisionObjectType(ECC_Pawn);表示该组件再碰撞系统中被归类为什么物体1.WorldStatic表示不会移动的世界物体如地面、墙壁、固定场景静态网格体。建议将不会移动的 Actor例如大部分场景静态网格体设置为WorldStatic。2.WorldDynamic表示会通过动画、程序逻辑移动的世界物体例如自动门升降平台旋转机关移动墙壁触发区域通过代码移动的方块3.Pawn代表玩家、AI或其他Pawn类型的实体一般来说ACharacter 的胶囊体会使用 Pawn 类型。4.PhysicsBody表示由物理模拟驱动的物体。可以滚动的球可以推动的箱子开启物理模拟的木桶可掉落道具5.Vehicle代表载具6.Destructible代表可被破坏的物体。可破坏墙壁可碎裂物体Chaos 破坏对象三、Collision ResponseComponent-SetCollisionResponseToChannel( ECC_Pawn, ECR_Ignore );1.Ignore表示忽略想过通常是不阻挡不产生 Overlap不产生 Hit可以直接穿过2.Overlap表示允许穿过但可以产生重叠事件。不阻挡不产生 Overlap不产生 Hit可以直接穿过3.Block表示阻挡玩家不能穿过可能发生阻挡碰撞可以产生 Hit 事件Sweep 运动时可能停止在碰撞位置