Это сила воздушного сопротивления.
0.4 - это просто аэродинамический коэффициент.
curPressure - плотность воздуха на данной высоте (меняется с высотой). На уровне моря = 1.22
sq - площадь поперечного среза снаряда. Квадрат его диаметра умножил на число Пи. К примеру для 305 мм снаряда: 0.305^2*3.14 = 0,2920985 кв. метров.
curVelSq - квадрат текущей скорости. Меняется в процессе полета. Начальная скорость для примера = 720 м/с.
А потому curVelSq будет = 518400
И все это делю на массу снаряда, потому что 1 кг. снаряд летящий с начальной скорость 720 м/с и 1 тонный снаряд вылетевший с такой же скорость - будут рассекать воздух совсем иначе и тяжелый должен улететь дальше. Для примера возьмем, что масса снаряда = 650 кг. Хотя в оригинальной формуле, которую я взял из википедии, на массу ничего не делалось и она вообще никак не учитывалась.
ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B1%D0%BE%D0%B2%D0%BE%D0%B5_%D1%81%D0%BE%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5
Другие формулы даже не пробовал, т. к. они слишком сложные для моего понимания.
Вот сам скрипт полета снаряда в безвоздушном пространстве:
rb.velocity = (startingAngle * speed * Mathf.Cos(angle)) - (this.transform.up * Mathf.Sin(angle)) + (Physics.gravity * (t * t) / 2);
startingAngle - вектор начала движения снаряда. speed - начальная скорость снаряда (не меняется в процессе).
Mathf.Cos(angle) - косинус угла снаряда.
this.transform.up - вектор текущего направления полета снаряда.
Mathf.Sin(angle) - синус угла снаряда.
и прибавляем векторную скорость гравитации, чтобы снаряд падал. (Physics.gravity * (t * t) / 2);
Ускорение свободного падения как и везде, равно 9.81 м/с.
t - прошедшее время полета снаряда с момента выстрела.
В чем вопрос...
Скрипт полета снаряда работает прекрасно! Но только в безвоздушном пространстве. Т. е. снаряд описывает симметричную траекторию. Я хочу реализовать сопротивление воздуха, но понятия не имею как ее сюда применить. Мой скрипт воздушного сопротивления, которые я выложил выше, работает черт знает как. Я уже второй день пытаюсь методом тыка его куда-нить вставить, но куда бы я его не вставил, снаряд летит не правильно. Уже просто заипался с этим воздушным торможением. В гугле материала по этой теме много, но с математикой у меня очень плохо. Можно и забить вообще на это чертово сопротивление, но не хочу так быстро сдаваться.
Я хочу в итоге получить такую несимметричную траекторию:
