Ergebnis 1 bis 16 von 16

Thema: 2D Bone Animation?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Achso, das hab ich irgendwie nicht ganz rausgelesen, dass du meintest, ich solle wirklich auf die Joint ohne wirkliche Bones setzen ( Die Joints bilden indirekt ja die Bones ).

    Hm, jetzt hab ich mal so angefangen, und bin auf ein ziemliches Problem gestoßen.
    Nämlich gibt es bei Freebasic, dass ich benutze keine Linked-List. Das ist erstmal nicht weiter schlimm, da ich mir dafür was geschrieben hab.
    Das Funktioniert so, dass ein Makro aufrufe, dem ich den Datentyp der Liste und den Namen übergebe und in dem Makro eine Struktur mit eben jenem Datentyp als Speicherinhalt erstellt.

    Jetzt ist in der Struktur der Bones ja eine Liste mit den Children Bones. Sprich, in der bone Struktur ist wieder ein Bone drin.

    Allerdings kann ich das Makro erst benutzen, wenn die Struktur schon erstellt ist, also kann ich in die Struktur die Liste nicht einfügen.

    Leider gibt es auch noch keine dynamischen Arrays innerhalb von Strukturen. Ich könnte natürlich ein Array mit fester Größe und Counter benutzen, aber ich find das immer nicht so schön und nicht sehr flexibel...

    Jetzt weiß ich nicht ganz weiter, ob ich vielleicht eine einfache Integerliste habe, die nur die IDs oder so speichert, oder aber ich arbeite Any Pointern, Also Pointer, die auf jeden Datentyp zeigen können. Allerdings hab ich da immer meine Probleme mit...

    Hilfe! ;_;

    Geändert von Teflo (06.03.2010 um 10:48 Uhr)

  2. #2
    Ist FreeBasic objektorientiert? Das würde vieles einfacher machen und du könntest dir ganz einfach selbst eine Linked-List bauen indem du eine Klasse für die Listen-Elemente erzeugst und da dynamisch neue Objekte generierst und mit den vorherigen Elementen verkettest.

    Ansonsten - über den Tellerrand blicken und auf C/ C++ umsteigen.

  3. #3
    Ja, ich glaub schon, dass das Objektorientiert ist. Zumindest habe ich da "User defined Types" in welchen mehrere Variablen und funktionen etc. zusammengefasst sind.
    Und so eine Linked List hatte ich mir zwar schon geschrieben, aber um eine Linked List zu erstellen, muss das jeweilige Objekt ersteinmal existieren, daher funktioniert das nicht schon beim erstellen des Objektes.

    Naja, ich hatte mir an der Stelle auch gedacht, ob ich nicht endlich nach C# mit XNA wechseln soll, weil da vieles sehr einfach ist...

    Ich glaub, ich setz mich sogar jetzt einmal ein bisschen daran!

  4. #4
    Naja, also gibt es dort Klassen und Methoden, Vererbung, Operatoren-Überladung, dynamische Erzeugung von Objekten etc? Letzteres ist wichtig für eine selbstgebaute Linked-List, damit du Listenelemente als Objekte anlegen kannst, vom Typ einer Klasse, welche die Daten beinhaltet.

    Also so Pseudocode-mäßig könnte es so aussehen:

    Klasse Element_Joint {
    Element_Joint *Parent; //Enthält Referenz auf Parent-Element
    Element_Vertex Vertex; //Erstes Listenelement einer Vertex-Liste
    Element_Joint Child; //Erstes Element einer neuen Joint-Liste für die Childs
    };

    Jetzt musst du nur noch ein erstes Element vom Typ Element_Joint erzeugen. Dieses hat als Parent natürlich Null, weil es die höchste Hierachie ist. Vertex kann eine leere Liste sein, wo beim Wichten nachher die Elemente mit Punkten und deren Wichtungswert gefüllt werden. Child ist eine neue Liste vom gleichen Typ Element_Joint, welche die Children enthält.

    Ich bin mir jetzt aber garnicht sicher, ob man bei der Definition der Klasse bereits die Klasse selbst als Datentyp für die Daten innerhalb nutzen kann. Ist sicher Programmiersprachen-Abhängig. Wenn nicht muss man sich etwas anderes überlegen, wie man mehrfach auf seinen eigenen Typ referenzieren kann.

  5. #5
    Ich kenn mich zwar mit free basic nicht aus, aber ich denke, Pointer waeren die beste Idee.

    Alternativ kannst du auch mit Arrays arbeiten und zur Verlinkung Indices speichern. Duerfte aber langsamer sein, und du hast probleme, wenn du mal die Arrays umsortierst.

    Insgesammt ein sehr interessantes Projekt. Wenn es mal fertig ist, stellst du es hoffentlich der Community zur Verfuegung. Koennten sicherlich einige Leute aus dem RM2k Bereich gut zum Animieren von Charas und Monstern verwenden ^__^

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •