[Snake] Bewegung der 'Schwanzelemente'
-
Das mit dem Parallel ausrichten ist dann aber auch nur eine Näherung, welche immer ungenauer wird je weiter die Teile voneinander Entfernt sind.
Das mit dem Extruden hört sich für mich irgendwie an, als ob die Schlange ein einziger Zylinder (o.A) ist der nach einer (Leit)Kurve Extrudiert wird und hinten abgeschnitten wird.
-
B-Splines. Die SE sind die Kontrollpunkte.
-
Hab jetzt etwas gegooglt (B-Splines).
Mal schauen.
-
Eine Näherung an was? Du hast nicht genau definiert, wie genau die Teile ausgerichtet sein sollen.
Das mit dem Zylinder (bzw. ein Prisma da grundfläche Polygon) stimmt nur solange, wie die Schlange keine Kurve macht, aber ich glaub das meintest du. Ich denke das würde mit wenig Aufwand die besten Ergebnisse erzeugen.
Bye, TGGC (Hast du's drauf?)
-
Ich mach mal noch ne Skizze, damit du es dir besser vorstellen kanst.
zu b) Die Schlange als Prisma darzustellen (extrudieren und wegschneiden) ist nicht das was ich will. Wie du erkannt hast: was wäre bei einer Kurve? Ausserdem wäre die Schlange dann aus einem 'Stück' was ich auch nicht will.
Edit: Da jetzt eine Skizze zum besseren Verständnis: Da
Man sieht, dass die Abweichung zwischen tatsächlicher Bewegungslinie (Tangente an die Kurve) und direkter Verbindung schon groß sein kann.
-
Dann richte die Teile parallel zu "Bewegungslinie" aus.
Bye, TGGC \-/
-
Ja, und mein problem ist es auf die Bewegungslinie zu kommen...
Mit Splines müsste es doch gehen, oder?
Dann die Ableitung der Spline-Kurve an der entsprechenden Stelle ermitteln und das objekt parallel dazu ausrichten.
Jetzt muss ich mir nur noch in das Thema Splines einarbeiten.
-
Also falls OpenGL gibt es auf nehe ein Tut für Linephysics, ich glaube aber, wenn du sozusagen an einer krummen Schlange vorne ziehst, dann ziehst du sie gerade, hm...
-
Sollte bei Snake aber nicht sein.
Werde mir das tut mal anschauen. Das wird wohl kaum API-abhängig sein.
-
Und aus welchen Ausgangsdaten soll die Bewegungslinie berechnet werden.
Ich habe kein Flash.
Bye, TGGC \-/
-
Ist doch eigentlich ganz einfach. Also zumindest für mich mit meiner Leihenhaften Einschätzung.
Im Pinzip merkst du dir die Punkte welche der "Kopf" durchläuft und läufst mit jedem Element durch diesen Punkt...?
-junix
-
Ja, sowas ähnliches ist mir auch gerade geschossen.
Der Kopf speichert die Punkte die er durchläuft in eine Queue (o.Ä)(alle paar Frames). Jedes Schwanzstück berechnet dann 'wo' es sich in der Queue befindet, und bewegt sich dann in Richtung nächsten Punkt. Das Letzte Teil am Schwanz löscht dann die Punkte nacheinander aus der Queue die es durchfahren hat.Bei sehr niedrigen Frameraten leidet aber die Genauigkeit. - Na und.
Bei sehr hohen Frameraten leidet aber der Speicher. - Na und.
-
Jover schrieb:
Der Kopf speichert die Punkte die er durchläuft in eine Queue (o.Ä)(alle paar Frames).
Ja klar, wie sonst. Aber ich dachte es geht um die Ausrichtung an diesen Punkten?!
Bye, TGGC (Hast du's drauf?)
-
Ich richte Sie parallel zur Verbindungslinie aktueller Punkt - nächster Punkt in der Queue aus. Das ist dann auch eine Näherung, aber genauer als wenn ich sie parallel zur Verbindungslinie aktueller Punkt - punkt vom nächst vorderen Teil.
-
Liegt das jetzt an mir, wenn ich da den Unterschied nicht verstehe?
Bye, TGGC (Zu viele Primitive hier.)
-
TGGC schrieb:
Liegt das jetzt an mir, wenn ich da den Unterschied nicht verstehe?
Ja.
Das eine ist das Element IM MOMENT weiter vorne, das andere ist ein (gespeicherter) Punkt in der Queue...
-
Sgt. Nukem schrieb:
Das eine ist das Element IM MOMENT weiter vorne, das andere ist ein (gespeicherter) Punkt in der Queue...
Wenn, dann ist es der Mittelpunkt des Elements, und der stimmt doch mit den Punkten in der Queue überein?! Ich würde einfach an jeden der Punkte ein regelmäßiges n-Eck packen (n nach Grafikqualität wählen) und die Schlauchartig verbinden. Das hab ich nach einer Stunde fertig. Warum also so kompliziert?
Bye, TGGC \-/
-
TGGC schrieb:
Wenn, dann ist es der Mittelpunkt des Elements, und der stimmt doch mit den Punkten in der Queue überein?!
Nur in dem Fall daß gerade ein neuer "Shot" gemacht wird und ein Punkt zur Queue hinzukommt. Ansonsten ist das Element (und auch sein Mittelpunkt) schon n Pixel weiter (ggf. um eine Kurve). Warum er das aber jetzt so machen will hab' ich auch noch nicht so ganz mitbekomm'...?!
P.S.: Wo is' eigentlich "Tiie Ahrrr" Riker?! Is' der ins Ausland abgehauen und läßt uns hier im Stich, die Ratte?!?
-
Shot? Pixel? Bahnhof? Egal...
Bye, TGGC (Hast du's drauf?)