Применить гравитацию к физике автомобилей - PullRequest
0 голосов
/ 07 марта 2019

Я перемещал машину по городу в своей игре. Перемещение автомобиля с применением непрерывной скорости:

  appliedSpeed += Time.deltaTime * 10f;
  appliedSpeed = Mathf.Min(appliedSpeed, speed);
  myRigidbody.velocity = transform.forward * appliedSpeed;

Теперь проблема гравитации не затронута. Хотя в настройках физика гравитации установлена ​​на -9,8. Значения инспектора жестких кузовов моего плеера приведены ниже.

enter image description here

В настоящее время автомобиль игрока может ездить и над акваторией. Я не хочу, чтобы это, естественно, требовало упасть в воду. Я хочу эту реализацию, что мне нужно делать?

1 Ответ

1 голос
/ 07 марта 2019

Вы должны использовать rigidbody.AddForce() вместо непосредственного изменения .velocity.

Вы эффективно перекрываете эффекты гравитации, когда устанавливаете .velocity, и поэтому он не имеет эффекта.


Дополнительный совет:

Если вы используете ForceMode, представляющий непрерывную силу (Force для учета массы и Acceleration для игнорирования массы) и .AddForce() внутри FixedUpdate вам не нужно масштабировать силу к дельта-времени.Двигатель сделает это за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...