ECC_EngineTraceChannel6 UMETA(Hidden) } 可以看出 ECC_EngineTraceChannel1 - 18 为可以自定义通道,根据官方文档 Trace Channel 与 Object Channel 共有18 个可自定义通道类型 当新创建新的 Trace Channel / Obejct Channel 时 图3-1-1 进行EObjectTypeQuery UEngineTypes::ConvertToObjectType(ECollisionChannel...
UEngineTypes提供了转换函数,方便我们进行类型转换 /** Convert a trace type to a collision channel. */staticECollisionChannelConvertToCollisionChannel(ETraceTypeQueryTraceType);/** Convert an object type to a collision channel. */staticECollisionChannelConvertToCollisionChannel(EObjectTypeQueryObjectType);...
TimeChannel) UE_TRACE_CHANNEL_DEFINE(AnimationChannel); UE_TRACE_CHANNEL_DEFINE(PhysicsChannel); UE_TRACE_CHANNEL_DEFINE(NetChannel) UE_TRACE_CHANNEL_DEFINE(RenderCommandsChannel); UE_TRACE_CHANNEL_DEFINE(GpuChannel) UE_TRACE_CHANNEL_DEFINE(RHICommandsChannel); UE_TRACE_CHANNEL_DEFINE(SlateChannel) ...
设置为Ignore和Overlap就不会产生任何碰撞,但是overlap会产生overlap事件(蓝图以及代码中可以判断实体之间是否有重叠)。 6、trace response的理解。 除了碰撞的通道,还有trace通道。trace也是一种碰撞检测的方法,向一个方向位置发射一个射线,对射线击中的对象进行判断,进而采取进一步...
之后切换到“FirstPersonCharacter”的蓝图类的“武器拾取功能”图表,把节点“由通道检测线条”的引脚“Trace Channel”更改为“PickUp”(Trace Channel的默认值为Visibility,而蓝图类“PickUp_BP”中的组件M4A1的碰撞响应里,Visibility的碰撞响应为“忽略”,PickUp为“阻挡”,所以这里选“PickUp”) ...
此处的Channel指的是ECollisionChannel(可参考源码),而ObjectType指的是碰撞中的Object Type设置,如下图 当使用LineTraceSingleByObjectType函数是,对比的是ObjectType 而使用LineTraceSingleByChannel函数时,对比的是Channel,比如如下调用 constbool bHit = World->LineTraceSingleByChannel(Hit, Start, End, ECC_Visibi...
记录着该检测会与哪些碰撞信道(ECollisionChannel )进行检测 FCollisionObjectQueryParams::DefaultObjectQueryParam即所有碰撞信道均不参与碰撞检测,这时FCollisionObjectQueryParams的IsValid为false。 ECollisionQuery 当FCollisionObjectQueryParams的IsValid为false时,进行检测的ECollisionQuery为ECollisionQuery::TraceQuery,否则...
24LineTraceByChannel发射一条射线方法 25Break分解一个对象方法 26SpawnActor生成Actor方法 27GetControlRotation获得控制的旋转方法 28GetActorLocation获得Actor的位置方法 29AddMovementInput通过input输入添加位移方法 30SetCollisionEnabled设置碰撞器是否可用方法 ...
二、注意看 LineTracebyChannel的参数Trace Channel参数设置为“Camera”,那么如果角色是有胶囊体的,那么需要将角色胶囊体的碰撞预设中的“Camera”设置为Ignore(忽略),要不然射线都被胶囊体挡住了,Hit Bone name值就会出现为none的情况。 另外还要把角色模型碰撞预设将“Camera”设置为Block,不然也会接受不到射线。Coll...
24 LineTraceByChannel 发射一条射线 方法 25 Break 分解一个对象 方法 26 SpawnActor 生成Actor 方法 27 GetControlRotation 获得控制的旋转 方法 28 GetActorLocation 获得Actor的位置 方法 29 AddMovementInput 通过input输入添加位移 方法 30 SetCollisionEnabled 设置碰撞器是否可用 方法 ...