Gut, also eigentlich sollte das recht einfach sein da du die Flugbahn an sich gar nicht berechnen musst.
Du berechnest ja vermutlich jetzt schon die Zeitdifferenz dt von einem Frame zum nächsten und bewegst deine Objekte dann um die entsprechende Zeitspanne weiter. Mit deinen Projektilen kannst du das ganz gleich machen.
Jedes Projektil hat eine momentane Position und Geschwindigkeit. In jedem Frame bewegst du das Projektil entsprechend seiner aktuellen Geschwindigkeit und Beschleunigung weiter. Die momentane Beschleunigung bekommst du indem du die resultierende aller Kräfte die auf das Projektil wirken (Gewichtskraft + Luftwiderstand) durch die Projektilmasse teilst. Position, Geschwindigkeit und Beschleunigung sind normale 3D Vektoren.
Das weiterbewegen kannst du mit der altbekannten Formel:
p += v * dt + a * dt^2 / 2
machen. Das Geschwindigkeitsupdate schaut so aus:
v += a * dt
Den Luftwiderstand kannst du mit nem quadratischen oder linearen Widerstandsgesetz approximieren. Das quadratische entspricht eher dem physikalischen Modell, würd aber schaun was besser kommt:
Fw = k * v^2
oder
Fw = k * v
je nachdem, wobei k ein Widerstandsfaktor ist der die Form des Objektes und die Dichte der Luft berücksichtigt (wenn dus genauer wissen willst siehe
hier und
hier).
Damit solltest du eine schöne ballistische Kurve hinbekommen