【问题标题】:Unity: collision detection too slow [duplicate]Unity:碰撞检测太慢[重复]
【发布时间】:2019-10-08 20:22:02
【问题描述】:

我有一个手机游戏,其中有隐形墙,屏幕边缘有一个碰撞器,这样里面的游戏对象只能在屏幕区域内,而不能在屏幕之外。然而,当我看到我的评论时,似乎里面的物体有时会离开这些墙,因为当你点击它们时,它们可能会突然开始快速移动,因此它们可能一帧在墙内,下一帧在墙外。 (主要在速度较慢的设备上)

现在的问题是:我应该如何处理这个问题。我应该让运动变慢还是实现一个功能来检查它是否仍然在墙上(看起来不那么优雅)或其他什么?

【问题讨论】:

  • 你用什么样的对撞机来做墙壁?另外,这是 2d 还是 3d 游戏?
  • @Ruzihm 这是一款 3D 游戏,墙壁上有一个盒子对撞机。这实际上只是没有渲染器的盒子,并且缩放到很长
  • 首先尝试的最简单的步骤是使盒子更大,以便它们延伸到更远的世界之外。这能解决你的问题吗?
  • 您是否在 RigidBody2Ds 上将碰撞检测类型设置为连续?
  • 您是在移动变换(=破坏物理)还是刚体?

标签: unity3d


【解决方案1】:

在移动对象刚体组件上,将碰撞检测类型从“离散”更改为“连续动态”。

【讨论】:

    【解决方案2】:

    PS:我还不能评论,所以我会把我的放在这里。

    • 你总是可以有一个双重障碍(不是一个优雅的解决方案,但会起作用)。
    • 进一步优化您的游戏,以便即使在最低规格下您的游戏也可以玩,而且不仅如此,如果游戏没有延迟,这可能有助于您的对撞机更快地检测到,对吧?
    • 如果它撞到墙上你可以设置一个重启点吗?

    只是一个可能有助于我猜测的建议。 好朋友:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多