【UE4】Collision碰撞预设值

博客介绍了UE4中的多种碰撞类型及处理方式,包括默认值、自定义、无碰撞等情况,还说明了不同碰撞类型下自身被视为的物体类型,如WorldStatic、WorldDynamic等,以及对不同物体的碰撞处理,如区块碰撞、重叠、忽视等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Default:默认值

Custom:自定义

No Collision:无碰撞
【自身视为WorldStatic】

BlockAll:对所有类型的物体进行 区块碰撞
【自身视为WorldStatic】

OverlapAll:对所有类型的物体进行 重叠
【自身视为WorldStatic】

BlockAllDynamic:对所有类型的物体进行 区块碰撞
【自身视为WorldDynamic】

OverAllDynamic:对所有类型的物体进行 重叠
【自身视为WorldDynamic】

IgnoreOnlyPawn:对碰撞类型为(除了Pawn,Vehicle(载具)) 的物体进行 区块碰撞
(Pawn,Vehicle(载具)进行忽视处理 )
【自身视为WorldDynamic】

OverlapOnlyPawn:对碰撞类型为(除了Pawn,Vehicle) 的物体进行 区块碰撞
(忽略Pawn,Vehicle(载具))
(Camera进行忽视处理)
【自身视为WorldDynamic】

Pawn:对所有碰撞类型的物体进行 区块碰撞
(忽略物体的可见性)
【自身视为Pawn】

Spectator:对所有碰撞类型为 “WorldStatic” 的物体进行 区块碰撞
(忽略其余的碰撞类型)
【自身视为Pawn】

CharacterMesh:对碰撞类型为(除了Pawn,Vehicle(载具)) 的物体进行 区块碰撞
(忽略Pawn,Vehicle(载具))
【自身视为Pawn】

PhysicalBody:对所有碰撞类型的物体进行 区块碰撞
【自身视为PhysicalBody】

Destructible(可破坏物):对所有碰撞类型的物体进行 区块碰撞
【自身视为Destructible】

InvisibleWall:对所有碰撞类型的物体进行 区块碰撞
(忽略物体的可见性)
【自身视为WorldStatic】

InvisibleWallDynamic:对所有碰撞类型的物体进行 区块碰撞
(忽略物体的可见性)
【自身视为WorldDynamic】

Trigger(触发器):对所有碰撞类型的物体进行 区块碰撞
(忽略物体的可见性)
【自身视为WorldDynamic】

Ragdoll(模拟骨架网格体组件):对碰撞类型为(除了Pawn) 的物体进行 区块碰撞
(忽略物体的可见性)
(忽略Pawn)
【自身视为PhysicalBody】

Vehicle:对所有碰撞类型的物体进行 区块碰撞
【自身视为Vehicle】

### UE4 碰撞检测勾选项设置教程 在 Unreal Engine 4 (UE4) 中,碰撞检测是一个重要的功能,用于判断物体之间是否发生接触或重叠。为了实现有效的碰撞检测,正确配置对象的碰撞属性至关重要。 #### 配置静态网格体(Static Mesh) 对于静态网格体而言,在其细节面板中存在多个与碰撞有关的选择项: - **Collision Presets**: 提供预设好的碰撞模式,如无碰撞、阻挡所有、仅触发器等。选择合适的预设能够快速设定基本行为[^1]。 - **Custom Collision Response to Channels**: 自定义响应通道允许开发者指定当特定类型的实体接近该物件时应如何反应——忽略(Ignore),阻挡(Block),还是作为触发(Overlap)。 #### 动态角色及其他可移动Actor 针对动态角色或者其他可能改变位置的对象来说,则需关注以下几个方面来调整碰撞特性: - **Character Movement Component Settings**: 如果涉及到人物模型的话,那么在其运动组件内也有专门用来控制地面检测以及楼梯攀爬等功能的相关参数调节空间[^2]。 - **Simulation Generates Hit Events**: 对于那些启用物理模拟的角色或其他物体,此选项决定了它们是否会因为与其他物体相碰而产生命中事件(Hit Event)。这有助于捕捉并处理碰撞瞬间的信息变化[^3]。 #### 编辑蓝图中的碰撞形状 除了上述提到的内容外,还可以通过编辑蓝图里的`Simple Collision Shape`来自由设计更精确复杂的碰撞边界。例如将默认盒形改为球形或者胶囊状以适应不同需求下的交互逻辑[^4]。 ```cpp // C++代码示例:为Actor添加简单的球形碰撞体积 USphereComponent* SphereComp; SphereComp = CreateDefaultSubobject<USphereComponent>(TEXT("SphereCollider")); RootComponent = SphereComp; // 设置半径大小 SphereComp->SetSphereRadius(50.f); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值