Hallo zusammen!
Ich schreibe momentan gerade ein Plugin für einen Server. Da ist es auch möglich dem Clienten zu sagen, dass er ein Objekt "rumfliegen" lassen soll, in einem schiefen Wurf. Es ist möglich dem Clienten die horizontale und die vertikale Geschwindigkeit so wie die horizontale Geschwindigkeit anzugeben. Ich möchte aber eigentlich in meinem Plugin folgendes realisieren:
Der User wählt die Zielposition und die maximale Höhe und den Rest berechnet das Plugin.
Bedenken muss man, dass sich das ganze im 3-dimensionalen abspielt, die Zielposition kann in allen 3 Koordinate verschieden sein von der Ausgangsposition. Ich möchte nun gerne die Paramter für den direkten Weg berechnen. Mit dem direkten Weg meine ich, dass ich voraussetze, dass der User klug genug ist daran zu denken kein Hinderniss in den Weg zu stellen (das regelt der Client dann aber automatisch, denn wenn ein Objekt in ein Hinderniss prallt fällt es nach unten).
/EDIT:
Meine bisherigen Überlegungen:
Die totale Zeit berechnet sich ja grundsätzlich durch die gewünschte Endgeschwindigkeit (bei mir 7 Einheiten pro Sekunde) und der Distanz, die zurückgelegt werden soll. Also habe ich die Zeit berechnet, die das Objekt für die Differenz der Positionen benögit, das nenn ich jetzt t. In x-Richtung wird das Objekt ja dx zurücklegen, daher muss es mit dx / t Geschwindigkeit unterwegs sein, in y-Richtung mit dy / t Geschwindigkeit. In z-Richtung muss einerseits die Höhe und andererseits die z-Differenz zurückgelegt werden, daher muss das mit (dz + h) / t unterwegs sein.
Für die horizontale Geschw. ergibt das dann v_xy = sqrt(vx * vx + vy * vy);
Ich hoffe mir kann da jemand behilflich sein. Mit besten Grüssen
Cromon
Ich schreibe momentan gerade ein Plugin für einen Server. Da ist es auch möglich dem Clienten zu sagen, dass er ein Objekt "rumfliegen" lassen soll, in einem schiefen Wurf. Es ist möglich dem Clienten die horizontale und die vertikale Geschwindigkeit so wie die horizontale Geschwindigkeit anzugeben. Ich möchte aber eigentlich in meinem Plugin folgendes realisieren:
Der User wählt die Zielposition und die maximale Höhe und den Rest berechnet das Plugin.
Bedenken muss man, dass sich das ganze im 3-dimensionalen abspielt, die Zielposition kann in allen 3 Koordinate verschieden sein von der Ausgangsposition. Ich möchte nun gerne die Paramter für den direkten Weg berechnen. Mit dem direkten Weg meine ich, dass ich voraussetze, dass der User klug genug ist daran zu denken kein Hinderniss in den Weg zu stellen (das regelt der Client dann aber automatisch, denn wenn ein Objekt in ein Hinderniss prallt fällt es nach unten).
/EDIT:
Meine bisherigen Überlegungen:
Die totale Zeit berechnet sich ja grundsätzlich durch die gewünschte Endgeschwindigkeit (bei mir 7 Einheiten pro Sekunde) und der Distanz, die zurückgelegt werden soll. Also habe ich die Zeit berechnet, die das Objekt für die Differenz der Positionen benögit, das nenn ich jetzt t. In x-Richtung wird das Objekt ja dx zurücklegen, daher muss es mit dx / t Geschwindigkeit unterwegs sein, in y-Richtung mit dy / t Geschwindigkeit. In z-Richtung muss einerseits die Höhe und andererseits die z-Differenz zurückgelegt werden, daher muss das mit (dz + h) / t unterwegs sein.
Für die horizontale Geschw. ergibt das dann v_xy = sqrt(vx * vx + vy * vy);
Ich hoffe mir kann da jemand behilflich sein. Mit besten Grüssen
Cromon
Zuletzt bearbeitet: