Bones animation übernehemen

Faller

Erfahrenes Mitglied
Ich Programmiere ein kleines 3d Spiel auf c++ und für dieses Spiel benötige ich einige 3d Models
Das darstellen und direkt animationen von meinen erstellten Kreaturen funktionieren bereits

Nun hat man mir erzählt das die animations Arbeit erleichtert werden könnte indem man mit Bones arbeitet hab damit auch gute ergebnisse erziehlt(nur im 3ds max).

Nun ist aber das Problem wenn ich ein Mesh (BOX) über Bones bewege dann ändert sich nicht die Verschiebungskoordinaten der Box sie bleiben immer an ihrem erstellungs Punkt und nur über den Bone werden die Boxen bewegt.

Ich benötige die Verschiebungsangaben der Box allerdings direkt für die Box wie werden die Verschiebungen von dem Bone auf die Box übergeben ?

Dies liegt an dem Umwandlungs Programm was benutz werden muss um die Daten aus den 3ds Max Datein (3ds) in für mich lesbare x files umzufandeln

Ich benutze eine Engliche version von 3ds max und würde wenn man mir helfen könnte die englischen Begriffe

Die version meines 3ds max ist 7.

mfg ein hilfesuchender Programmierer
 
Zuletzt bearbeitet:

Faller

Erfahrenes Mitglied
Nun da ich jetze schon ein wenige länger daran arbeite.

Wie könnte ich es schaffen die Animationen der Bones zu kopieren um diese Animationsschritte auf meine Boxen zu legen

mfg faller
 

cycovery

Erfahrenes Mitglied
deine frage ergibt nicht viel sinn. Wenn du kein vertexskinning verwendest, kannst du ja einfach die animationsdaten des jeweiligen bone verwenden. Wenn du vertexskinning verwendest, verändern sich die koordinaten des eigentlichen objekts natürlich nicht (da es ja keine verschiebung des objekts, sondern eine verformung der vertices ist). Wenn du einen charakter herumlaufen lassen willst - kannst du ihn auf der stelle laufen lassen und im programm die charakterkoordinaten verändern.
 

Faller

Erfahrenes Mitglied
Nun ich versuche meine Frage besser zu stellen

Ich habe für jedes Körperteil einen eignen grundkörper zb eine box
nun füge ich die Bones hinzu und lege mit "skin" einen bone fest welche box sich mitbewegen soll.

Wenn ich nun in der Animation den Bone bewege begt sich meine Box mit.
Die Box hat aber trotz das sie sich bewegt keine Veränderung in ihren "Bewegungskordinaten".
und der bone hat die richtigen Bewegungskordinaten aber ich habe nicht lust 120 einselne x y z und Drehungen zu kopieren wie bekomme ich die animationen des Bone auf meine Box so das sich dann dort die koordinaten verändern

ausser jeden einselnen Veränderung zu kopieren.

Hoffe man kann jetze meine fratge verstehen und mir helfen.

Warum so kompliziert nun im 3ds format werden nämlich die funktion "skin" net mitgenommen und dadurch auch net in meinem Umwandlungsprogramm

und in meinem Spiel dann wohl auch nicht
 

cycovery

Erfahrenes Mitglied
Ich habe für jedes Körperteil einen eignen grundkörper zb eine box
nun füge ich die Bones hinzu und lege mit "skin" einen bone fest welche box sich mitbewegen soll.
Wozu skin wenn du bloss boxen hast? skin macht erst sinn, wenn du ein sich verformendes surface hast. Link deine boxen doch einfach an die bones.

Wenn ich nun in der Animation den Bone bewege begt sich meine Box mit.
Die Box hat aber trotz das sie sich bewegt keine Veränderung in ihren "Bewegungskordinaten".
Natürlich, denn die Box bewegt sich auch gar nicht, nur die einzelnen vertices ändern ihre lokalen koordinaten

und der bone hat die richtigen Bewegungskordinaten aber ich habe nicht lust 120 einselne x y z und Drehungen zu kopieren wie bekomme ich die animationen des Bone auf meine Box so das sich dann dort die koordinaten verändern

Wieso kopieren? die bones werden auch ins .X format exportiert - ausserdem hast du die möglichkeit die keyframes als transformationsmatrizen zu exportieren.

Hoffe man kann jetze meine fratge verstehen und mir helfen.
geht so...


Warum so kompliziert nun im 3ds format werden nämlich die funktion "skin" net mitgenommen und dadurch auch net in meinem Umwandlungsprogramm
hat ja niemand was von kompliziert gesagt - kompliziert ist höchstens dass du skinning verwendest obwohls nicht nötig wäre für deine boxen.
 

Faller

Erfahrenes Mitglied
Und wie linke ich das das zusammen gehört
ich hab nen tutorial gelesen und da hat der das da so gemacht wie sag ich dem(3dsmax) deiner meinung nach das das zusammen gehört
Ich such mal im netz was linken heist.

wäre abertrotzdem net wenn es mir jemand Verrät und wie man das Macht.
 

Faller

Erfahrenes Mitglied
Ok selbst über das verlinken hat sich mein problem net gelöst.
Ich würde gerne meine animationen mit Bones machen. Da dies sehr simpel ist.
um es aber in meinem Spiel richtig darzustellen brauche ich die Bones net mehr das heist wenn alles fertig aniert ist fürde ich gerne die Animatoinen übernehmen und dann die bones löschen und habe dann meinen fertigen anierten Kreatur.
Das Problem ist das das format .3ds keine abhängigkeiten oder funktionen speichert und Xfiles auch nicht.
Also wie bekomme ich die Animation von den Bones auf mene Boxen.

mfg faller
 

cycovery

Erfahrenes Mitglied
in jeder vernünftigen 3D engine hat man objekt/transformations hierarchien - und das ist die art, wie man vernünftig etwas animiert / objekte im 3D raum bewegt. Falls Du das in Deiner Engine nicht hast, rate ich Dir stark an, es zu implementieren. Falls Du es nicht machst und für die einzelteile Globale animationen haben möchtest, bleibt dir nichts anderes übrig als ein max-script zu schreiben, welches die globalen Koordinaten von allen deinen Boxen plottet (und zwar für jedes Frame! denn die globalen animationen die aus der animierten hierarchie entstehen lassen sich selten über mehrere frames interpolieren) und sie dann auf die boxen überträgt. Das ist aber nicht nur mühsam sondern auch extrem unsauber.
 

Faller

Erfahrenes Mitglied
Ich hab mal ein bischen über goggel gesucht
aber die ergbnisse sind nicht gerade das was ich mir vorstelle.
Ich suche nach informationen über dieses Skripts von 3ds max hab noch nie was dafon gehört allso wenn möglich absuluter grund.

Wiso solte es schlechter ausehen wenn ich das die animationen festmache.
Es sind doch noch die selben animationen oder

wäre net wenn mir jemand seiten zeigt wo ich was über dieses skript herbekomme.

Und wenn jemand schon ne ahnung hat davon könnte man mir auch die befehle geben wie ich sone animation übernehme
thx im voraus Faller