Mehrere Keysets

hanswurst123

Grünschnabel
hiho, ich hätte eine kurze und einfache Frage. Ich beschäftige mich eigentlich mehr mit Programmierung, hab mir aber ein maxscript geschrieben mit dem ich mir models in mein Format exportieren kann. Das klappt sehr gut mitsamt bones und den passenden Keys dazu. Nun ist es aber so, dass z.B ein Spiel-Charakter mehrere, voneinander unabhängige Animationen (gehen, laufen, greifen was auch immer) braucht. Ich habe aber leider nicht die geringste Ahnung, wie man das bewerkstelligt. Mein script geht die Bones durch und holt sich z.B so die Rotation Keys:
Code:
                        for u = 1 to aKeys do
                        (
                            ktime = lebone.rotation.controller.keys[u].time
                            ....
                        )
Wie ich des hinkriegen soll, dass ich Keys für verschiedene Animationen unterscheiden kann ist mir schleierhaft. Daher wäre ich schon sehr dankbar, wenn mir allgemein mal jemand sagen könnte, wie man in 3d max mehrere Animationen für ein Model macht, die man einzeln aber auch zusammen abspielen kann. (z.B gehen und winken). Vielen Dank schonmal.
 
Das animiert man entweder in separate files oder man fügt die Animationen hintereinander und exportiert alles in ein file. Man muss sich einfach notieren (oder in deinem format gleich mitspeichern) von welchem zu welchem frame eine bestimmte Animation abläuft.

Das zusammenfügen und überblenden machst du dann in deiner engine. Per Keyblending für die bones bzw. überlagern von keys für bestimmte bones, wenn du z.b. laufen und winken möchtest.
 
danke für die Antwort. Der Vorschlag mit mehreren Animationen hintereinander ist nicht schlecht, das ist gut machbar man kann ja beim Exportieren angeben von wo bis wo die Animationen gehen. Aber irgendwie ist das ganze auch etwas provisorisch. Wird das bei gängigen Spiele-Modeln auch so gehandhabt?
 
Ja das wird bei allen mir bekannten engines so oder ähnlich gehandhabt. Und ich finde das überhaupt nicht provisorisch . . . ist sogar ziemlich flexibel - aber hängt natürlich von deiner Implementation ab.
 

Neue Beiträge

Zurück