Корректировка начального угла пули в соответствии с заданным пользователем расстоянием (нулевая область) (для математических богов)

Так что мой вопрос довольно специфичен, а это значит, что было довольно сложно найти что-нибудь, что могло бы помочь мне в Google или stackru.

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

Поскольку я не знаю, какую формулу использовать, я просто начал возиться с некоторыми числами с этой формулой, которую я нашел:

(This formula applies to actual sniper)  
Range = 1000 * ActualTargetHeight/TargetHeightInMils(on the scope)   
BulletDrop = BulletDropSpeed*Range^2/2*VelocityOfTheBullet      
MilsToRaiseScope = 1000 * BulletDrop * RangeToTarget

Я просто заменил Range на любой ноль, на котором находится пользователь. У меня такое чувство, что я бы просто бросил MilsToRaiseScope в функцию тригонометрии. Но я не уверен.

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

Извините за длинный вопрос, просто хочу убедиться, что все понимают!:)

1 ответ

Mils соответствует (военной) угловой единице измерения 1/1000 радиана, так что это готовый к использованию угол

Вторая формула выглядит странно. Потеря высоты зависит от времени полета:

dH = g*t^2/2 = g * (Range / VelocityOfTheBullet)^2 / 2

где g составляет 9,81 м / с ^2

Я использую 2D-таблицу для поиска.

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

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

Также обсуждается этот специфический для игры вопрос.

Для вдохновения этот анимированный гиф отлично подходит.

Другие вопросы по тегам