Registriert: Di Aug 21, 2012 19:31 Beiträge: 173
Programmiersprache: C#
Hey,
ich habe mich bisher noch überhaupt nicht mit dem Thema Animation auseinandergesetzt und konnte zumindest hier auf DGL kein passendes Tutorial dazu finden (Vermutlich weil diese Arbeiten normalerweise von Artists o.Ä. durchgeführt werden!?).
Mich würde trotzdem interessieren, wie Animationen in openGL im Groben realisiert werden.
Ich hatte gestern eine Idee, die zumindest das Zusammenspiel von Einzelobjekten (eines Modells) betrifft. Man könnte Objekte in ihre beweglichen Teile zerlegen und so "zusammenbauen" das sie ein komplettes Modell darstellen. Man stelle sich eine Windmühle vor: der Turm bildet das Hauptobjekt und ist statisch da es sich kaum bewegen wird; der Kopf ist sozusagen drehend auf dem Turm gelagert und kann mittels glRotate in die passende position gedreht werden (um die Rotoren in den Wind zu drehen); die Rotoren wären ein Kind-Element des Kopfes, damit auch diese bei Wind durch glRotete bewegt werden. Zumindest wenn die Sub-Objekte nicht in sich animiert sein müssen, weil sich z.B. die Rotoren im Wind verbiegen, könnte man mit etwas Geschick mit glRotate und glTranslate und passendem Push- und PopMatrix was kleines zaubern lassen.
Registriert: Mi Apr 13, 2011 22:05 Beiträge: 218
Programmiersprache: Lazarus/FPC
Das kommt drauf an
Bei so einfachen Dingen wie im Video oder die Mühle ist das auf alle Fälle so, alles andere ist nur unnötig komplizierter. Wenn OpenGL schon so tolle Funktionen wie glRotate zur Verfügung stellt solltestdu sie auch so nutzen.
Animationen wie bei Personen-Modelle funktionieren anders, da verschiebst du die einzelnen Objektpunkte. Eine Animation besteht aus einer Reihe sogenannter keyframes. Das sind Speicherpunkte die den Zustand eines animierten Objektes beinhalten.
Stell dir eine einfache Handanimation vor. Hand offen....Hand geschlossen zu einer Faust. Das sind 2 keyframes, der erste gespeichert bei Sekunde 0 der Animation, der zweite bei Sekunde 2. Und alles dazwischen wird von der game engine fürs aktuelle Frame automatisch berechnet, sodass die Hand bei Sekunde 1 halb geöffnet ist.
verwirrt?
Das wird schon!!!
_________________ Ich teile manchmal heimlich durch Null. - Alber Einstein
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Ja das geht schon. Leider siehts nur wirklich bei "mechanischen" Modellen gut aus. Also zum Beispiel Windmühle oder Kampfroboter. Bei vielen organischen Strukturen musst du aber immer zwischen den "Gelenken" noch interpolieren (Stichwort: weighting). Mach dir am besten nen Vertexshader dann kannst du alle Fälle gut abdecken.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Es gibt Modell-Formate die speichern die Animationen mit. D.h. du animierst in einem Tool, deine Figur, und kannst diese Animation dann im Code auslösen. Hier im Forum haben einige Unerschrockene damals ein Format auf die Beine gestellt - hieß glaub ich Restless.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 20 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.