Физический объект не движется правильно на низкой скорости в Unity - PullRequest
0 голосов
/ 12 февраля 2019

Я сталкиваюсь с проблемой, когда когда мяч с физикой движется медленно, он не отскакивает от объектов правильно.Я сделал видео, чтобы проиллюстрировать проблему

https://youtu.be/9T1hkir7sCo

По сути, мяч должен попасть в неподвижный шар, а стационарный - отскочить.Это работает, когда скорость достаточно высокая, но ниже порога они оба начинают двигаться вместе, что выглядит странно.

Что происходит с этим, и как я могу заставить его правильно реагировать?

Детали эксперимента (одинаковые для обоих объектов):

RigidBody

  • Масса: 1
  • Перетаскивание: 0
  • Угловое перетаскивание: 0
  • Использование силы тяжести: ложь

Физический материал:

  • Динамическое трение: 0
  • Статическое трение: 0
  • Надежность: 1

1 Ответ

0 голосов
/ 13 февраля 2019

Unity по умолчанию Bounce Threshold для распознавания отскоков - это скорость > 2

Установите значение скорости.Если два сталкивающихся объекта имеют относительную скорость ниже этого значения, они не отражаются друг от друга.Это значение также уменьшает джиттер, поэтому не рекомендуется устанавливать его на очень низкое значение.


Вы можете изменить это Bounce Threshold в PhysicsManager ( Редактировать *)1015 * -> Настройки проекта -> Физика ):

enter image description here

или через скрипт во время выполнения (см. Physics.bounceThreshold )

Physics.bounceThreshold = 1;

Сделайте его настолько маленьким, насколько вам нужно ... но обратите внимание

Это значение также уменьшает дрожаниепоэтому не рекомендуется устанавливать его на очень низкое значение.

enter image description here

...