【问题标题】:UE4 Objects overlap position after collisionUE4对象在碰撞后重叠位置
【发布时间】:2023-03-26 12:57:01
【问题描述】:

我是虚幻引擎的新手,我正在尝试使用盒子碰撞器向对象添加很大的力,但在它与其他对象(只是另一个实例)碰撞后,彼此之间的重叠并变得像一个对象并移动彼此。

有人解释他们的行为以及我应该如何解决这个问题?

【问题讨论】:

    标签: unreal-engine4 unreal-blueprint


    【解决方案1】:

    这里发生的是两个对象不断地相互碰撞。要解决此问题,您可以尝试停用重叠对象或碰撞对象上的 OnOverlap()-Event。

    在蓝图中,您可以通过将重叠对象的碰撞静态网格之一的Generate Overlap Events-Variable 设置为false 来实现这一点。

    在 C++ 中,您可以简单地删除其中一个碰撞对象的动态事件回调:

    CollidingComponent->OnComponentBeginOverlap.RemoveDynamic(this, &ACollidingActor::OnBeginOverlap);
    

    其中CollidingComponent 是您的对象的组件,它会触发重叠事件。

    【讨论】:

    • 不幸的是,这并不能解决我的问题!当它们发生碰撞时,我仍然会有一种奇怪的行为。有时它们碰撞得很好,而有时它们会出现奇怪的行为。
    【解决方案2】:

    就像@Alex 所说,它们一遍又一遍地相互重叠。如果您不知道,您可以向您的蓝图节点添加断点,就像在您的代码中一样,通过右键单击节点并选择启用断点 (或类似的东西)。您的游戏将在到达它时停止并切换到蓝图中的确切点。然后,您可以将鼠标悬停在该节点上,然后查看进出该节点的每个变量值。

    希望这有助于您学习使用虚幻引擎。

    【讨论】:

      猜你喜欢
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多