【问题标题】:Collision Hit event only fires if the enemy is moving in Unreal?Collision Hit 事件仅在敌人在 Unreal 中移动时触发?
【发布时间】:2019-05-28 14:21:44
【问题描述】:

所以我尝试检查一个非常简单的碰撞,但我真的不确定它为什么不能正常工作。我有一个带有自定义手部演员的 VR 角色典当。我只是想检查双手何时击中敌人。每个手部 Actor 都有一个网格和一个胶囊碰撞组件,它们的设置与我的 pawn 相同。

我还设置了敌人,以检测与棋子的碰撞,如果他们遇到它并且无论敌人是静止还是移动都没有问题。

然而,我的手只有在敌人移动时才会触发敌人的 hit 事件。如果敌人静止不动,则不会触发手部碰撞的命中事件。

发生这种情况有什么原因吗?任何帮助将不胜感激。

【问题讨论】:

  • 这可能是由于敌人对 physx 没有“清醒”,这可能会妨碍其命中检测。如果你不想弄乱 PhysX 配置的东西,也许改变你的代码来检测手上的碰撞?奇怪的是,手与棋子的碰撞方式不同。也许检查一下手上的碰撞通道?
  • 手的碰撞设置与pawn相同,只要敌人在移动,碰撞就会在手上起作用。只有当它静止时它才不起作用。

标签: collision-detection unreal-engine4


【解决方案1】:

我不太确定为什么当敌人静止时我的棋子碰撞会起作用。但是,由于我的敌人是从 Character 类派生的,因此存在一些限制,不允许角色在静止时被“推”。我假设当角色移动或静止时,可能有一个变量会影响碰撞设置。

但是,我能够让它以我想象的方式工作。我没有在 Hit 事件中寻找手牌,而是将其更改为 Overlap 事件。这样做并不难,但也不是我正在寻找的解决方案。但是,它有效。

【讨论】:

    猜你喜欢
    • 2014-09-18
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多