ue4蓝图碰撞检测的类型_UE4 C++ —— 碰撞检测

简述

UE4集成了PhysX物理引擎,用来模拟刚体的物理行为,包括常用的碰撞响应。

碰撞基础概念

碰撞对象通道

每个碰撞体都会设置一种(Object Responses)碰撞对象通道,碰撞对象通道可以是ue4默认的几种,也可以新建自定义的碰撞对象通道

新建自定义的碰撞对象通道,点击Project Settings->Collision

在Collision窗口里,找到Object Channelse项,点击New Object Channelse新建碰撞类型,设置名称和默认响应类型,这里新建两个碰撞对象类型Cube, Sphere

碰撞响应设置

类型

详解

NoCollision

无碰撞响应

Query Only(No Physics Collision)

只会触发Overlap(重叠)事件,无刚体碰撞响应

Physics Only(No Query Collision)

只有刚体碰撞响应,不触发Overlap(重叠)事件

Collision Enabled(Query and Physics )

刚体碰撞响应和Overlap(重叠)事件都可以

碰撞响应类型

两个物体发生碰撞时会产生不同的碰撞响应,

Block(碰撞),发生Block碰撞响应后,两个Actor之间会发生阻挡行为,并触发Hit事件

UFUNCTION()

void OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit);

Overlap(重叠) ,发生Overlap碰撞响应后,会触发Generate Overlap Events事件

UFUNCTION()

virtual void OnOverlayEnd(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);

UFUNCTION()

virtual void OnOverlayEnd(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);

Ignore(忽略),两个Actor忽略碰撞响应

碰撞响应

你可能感兴趣的:(ue4蓝图碰撞检测的类型)