Gravitation einzubringen ist so ziemlich die leichteste Aufgabe.
Einfach in jedem Bewegungsvektor einen Anteil nach unten hinzufügen.
Wozu brauchst du bitte Gewicht?
Du solltest dir überlegen, was du WIRKLICH brauchst, und ob manche Sachen nicht evtl überflüßig sind.
Reibung auf soliden Gegenständen ist auch kein Problem, da gibt es sogar beim "move" eine Einstellung dafür.
Luftreibung..naja...Luftreibung erhöht sich mit der Geschwindigkeit. Heißt du nimmst dir eine Variable mit deiner Geschwindigkeit, schaust im Internet die Formel zur Berechnung der Luftreibung nach, holst dir auch gleich die Reibungszahl von Luft (dein Ball bewegt sich durch Luft, oder?) und bringst das in deine Bewegung ein: fertig.
Wozu um Himmelswillen brauchst du Drehmoment?
Abpralleffekt ist auch machbar.
Bei Kollision mit einer Wand wird doch ein Event generiert. Dieses Event fängst du ab. Dann ermittelst du, wo du gegen gerast bist. Nimmst dir den Normalvektor dieser Fläche. Nimmst deinen eigenen Vektor. Aus den beiden kannst du Aufprallwinkel feststellen.
Dann: Aufprallwinkel ist gleich dem Abprallwinkel.
Gleichsetzen. Neuen eigenen Bewegungsvektor berechnen. Einsetzen. Fertig.
Wegen mit Physik:
Die Funktionen erwarten eine Kraft, die auf das Objekt dann angewandt wird.
Das heißt im Klartext:
Es funktioniert so nicht.
Denn, nehmen wir mal an, du drückst einmal rechts. Es wird eine Kraft auf das Objekt übertragen, das Objekt beschleunigt in eine GERADE Richtung. Diese Richtung bleibt auch gerade, solange du keine neue Kraft auf das Objekt einwirken lässt. Heißt: Ohne weitere Krafteinwirkung schmiert das Objekt davon.
Wie das lösbar wäre:
Du könntest nun natürlich immer bei einem Tastendruck eine Seitliche Kraft auf den Ball wirken lassen. Die Kraft müsste eine Tangente an den Kreis sein, auf dem sich der Ball bewegen soll.
Nur mit dieser einen Kraft passiert das oben beschriebene.
Jetzt führst du aber eine Überprüfung ein:
Ist der Ball vom Kreismittelpunkt weiter entfernt als Radius+Toleranzzone, dann lass eine Kraft auf den Ball einwirken.
Diese Kraft muss in Richtung Kreismittelpunkt zeigen!
Ist der Ball zu nahm am Kreismittelpunkt (Entfernung kleiner als Radius-Toleranzzone), lass eine Kraft auf den Ball einwirken, die weg vom Mittelpunkt wirkt.
Einfach ist das natürlich auch nicht gerade...
Und ich garantiere mal nicht, das es funktioniert.
Aber ich helfe gerne^^
MfG
Daniel