Единство — Как сохранить скорость автомобиля на уклонах?

#c# #unity3d #game-physics

Вопрос:

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

Поведение, с которым я сталкиваюсь, «нормально», если подумать о физике и гравитации: когда моя машина пытается подняться по наклону, она замедляется, а когда моя машина пытается спуститься по наклону, она ускоряется.

Но я хочу более мультяшную/нереалистичную физику, поддерживающую скорость автомобиля, когда он достигает уклона.

Поскольку я использую коллайдер для управления движением автомобиля, я подумал, что мне нужно увеличить/уменьшить крутящий момент двигателя на наклонах в соответствии с направлением (вверх или вниз), но не могу придумать лучший способ сделать это… Это просто идея, которая может быть очень, очень и очень неправильной.

Итак, может ли кто-нибудь помочь мне с этой проблемой?

Спасибо вам всем!

Комментарии:

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

2. @ps2goat отключение гравитации на транспортном средстве заставляет машину двигаться бесконечно и дальше, хахаха… когда пытаешься подняться, машина поднимается под углом и не может спуститься, а когда пытаешься спуститься, просто не можешь спуститься

Ответ №1:

Поскольку вы используете коллайдер, я предполагаю, что вы используете физическую систему Unity3D, чтобы заставить вашу машину двигаться. Если вы хотите, чтобы каждый автомобиль последовательно реагировал на склоны без ускорения и замедления, я считаю, что физическая система не позволит вам легко это сделать, и у вас может быть больше времени для кодирования вашей собственной системы движения автомобиля.

Однако, если бы вы все равно хотели продолжать использовать физическую систему Unity, я бы сказал, что гравитация-это то, что делает ваше движение непоследовательным.

Решением было бы отделить гравитацию ваших транспортных средств от гравитации мирового пространства.

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

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