So, also das Projekt ist nicht stehengeblieben, ich hab ab und zu immer mal wieder dran gearbeitet. Nur musste ich recht oft nochmal von vorn anfangen, teils, weil ich bestimmte Sachen nur ausprobiert habe, teils, weil ich irgendwann an einen Punkt geraten bin, wo ich gemerkt habe, dass das Konzept hier und da nicht wirklich gut klappt.
An so einem Punkt bin ich jetzt mehr oder weniger wieder :'D
Also ich habe mich für folgenden Aufbau entscheiden:
-Alles bleibt 2D, in 3D müsste ich mich mit Matrizen und Quaternionen rumquälen, darauf hab ich noch keine Lust
-ich arbeite mit Joints, die jeweils einen Winkel und einen Offset-Vektor haben. Dazu dann noch ein Verweis auf den Parent, und auf die Childs ( im Moment ein Array bis 10, mehr sollte ein Joint nicht haben müssen )
So, und wenn ich jetzt zu den Keyframes komme, wirds knifflig.
Im Prinzip haben die auch nur einen Winkel und einen Offset. Dazu jetzt noch eine Variable für die Zeit.
Eine Animation ist jetzt einfach nur eine Folge von Keyframes, hab ich hier jetzt mit einer Linked List gemacht.
Und jetzt kam ich ins grübeln, wie ich denn so eine Animation am besten auf mein Modell anwende. Im Prinzip kann ich einer Animation genau einen Joint zuweisen, auf welchen diese dann angewand wird. Aber um eine Animation des gesamten Modells zu machen, müsste ich für jeden Joint eine Animationskette machen, in denen ja aber alle Keyframes die selbe Zeit haben.
Ich weiß nicht, mir erscheint das etwas zu umständlich alles. Daher hatte ich überlegt, ob ich nicht einfach jedem Jonit eine Animation zuweise.
So hatte ichs vorher
So wäre meine jetzige Idee:
Allerdings erscheint mir das auch wieder sehr unflexibel, weil einem Joint genau die eine Animation gegeben wird.
Meine dritte Idee wäre es, die Animationen so ähnlich aufzubauen, wie die Jonits, also auch in einer Hierarchie. Dabei wäre der Baum exakt so aufgebaut wie das Modell, und die Animationen würde man an der selben Stelle finden wie die Joints. Dann könnte man eine komplette Animation genauso laden und speichern, wie die Joints.
Ach, ich bin insgesamt einfach etwas durcheinander, vielleicht seh ich den Wald auch vor lauter Bäumen nicht, und ich habs eigentlich schon, erkenns nur nicht oder so. Ich würd nur gern mal eine andere Meinung dazu hören.