碰撞和追踪总结

关于碰撞的参数:


Simulation Generates Hit Events: 设置是否生成Hit事件。

Generate Overlap Events: 是否生成Overlap重叠事件。

碰撞预设值相当于定义好的模板数据一样,选择不同的预设值下面的碰撞信息不同。

每个Actor都有一个Object Type,值可以为:WorldStatic,WorldDynamic,Pawn,PhysicsBody,Vehicle,Destructible.

追溯响应:

这里设置的值的意思在于当程序调用LineTraceByChannel或者MultiLineTraceByChannel的时候(这两个函数需要指定Trace Channel,值为Visibility或者Camera,其实两个值就是两个通道而已),这里值对于不同Channel做出的不同的响应,忽略,重叠或者阻挡。

LineTraceByChannel 函数返回的是追踪线上第一个阻挡Actor信息,MultiLineTraceByChannel函数返回的是追踪线到第一次阻挡Actor之间的所有重叠(忽略的不管)actor信息(当然也包括那个阻挡的actor.);

重新回到Actor设置这个值的意义上:


这里设置不同的值就是告诉引擎,当有关于LineTraceByChannel或者MultiLineTraceByChannel查询的时候,我这个Actor关于不同的Channel的响应是什么样的。

 

物体响应:

这个好理解,用一个图举例:


这个ActorObjectTypeWorldDynamic,跟其他WorldStaticWorldDynamicPhysicsBody,Destructible是阻挡的,跟其他Pawn,或者Vehicle是可以重叠的。

碰撞的特殊情况:

  • 两个(或多个)设为 Block 的 Actors 之间将自然生成 阻挡(Blocking)。然而,执行 命中事件(Event Hit) 需启用 Simulation Generates Hit Events,此功能用于蓝图、可摧毁 Actor、触发器等资源中。
  • 将 Actors 设为 Overlap 通常看起来他们将 无视 对方。如未启用 Generate Overlap Events,两种设置在本质上相同。
  • 对两个(或多个)相互阻挡的模拟物体而言,需将两者设为对其各自的物体类型进行阻挡。
  • 对两个(或多个)模拟物体而言,如一个设为重叠,另一个设为阻挡,两者间将出现重叠,而非阻挡。
  •  在物体 阻挡 其他物体时,仍然 可以 产生重叠,尤其是在高速运动状态下。
  • 不推荐为物体同时设置碰撞和重叠事件。但可以进行手动调整。
  • 如一个物体设为无视,另一个设为重叠,将不会产生重叠事件。

利用LineTraceForObjects MultiLineTraceForObjects 可以追踪线上所有满足ObjectType条件的并且Collision Enabled支持查询的Actor(假如设置的是No Collision 或者Physics Only的话,是追踪不到的)。这两个函数只跟ActorObject Type和 Collision Enabled有关,跟Acotr与其他Actor是忽略,重叠还是阻挡是没有关系的。


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值