首页 > 解决方案 > 如何获得墙壁物理的正确 2D 弹跳球?而且它也适用于低fps?

问题描述

我想要 2D 弹力球物理。它与 Unity Physics 2D 一起使用。我设置了弹性 1 和摩擦力 0。我在平坦的地板上对其进行了测试,以下是我看到的问题:

  1. 球不断跳得越来越高。
  2. 球卡在墙上。跳到 0:40,您会看到有几个球失去了 X 运动并垂直停留在右墙上。

Ball: Ball Rigidbody2D & Collider2D screenshot components , Ball 物理材质截图

墙壁: Wall Collider2D 截图

显示球的视频(从 0:06 开始) https://www.youtube.com/watch?v=fIo84AMMbgI&feature=emb_logo

我应该怎么办?具有

  1. 球不会开始跳得越来越高。我试图设置像 0.99 这样的弹性,但它的工作原理与较低 fps 的滞后不同。所以这似乎不是一个解决方案。
  2. 球不会失去墙壁的 X 运动。

标签: unity3d2dgame-physics

解决方案


Unity 论坛上的一个人告诉说,球停在墙上可能是Physics2D.velocityThreshold设置在零以上。我们检查并解决了球在墙壁附近停止 X 运动的问题。他还说 box2d 只能工作大约所以也许没有办法让球反弹 100% 精确。所以也许我将不得不忘记 100% 的弹力球。


推荐阅读