Animation aus 2 Meshes erstellen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Weazle25

Betreff: Animation aus 2 Meshes erstellen

BeitragDo, März 03, 2005 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe 2 Meshes:
Mesh 1 -> Figur stehend
Mesh 2 -> Figur sitzend
Die Meshes haben keine Animationen und sind bis auf die Vertex-Koordinaten identisch.
Wie mach ich in B3D daraus eine Animation (Morphing)?


Gruss
Weazle
 

Weazle25

BeitragDi, März 08, 2005 22:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Weiss denn niemand wie man mit Blitz3D von einem Mesh zum anderen Mesh morphen kann?


Gruss
Weazle
 

Dreamora

BeitragDi, März 08, 2005 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Garnicht, wenn du über einen Befehl meinst.

Wenn dann müsstest du dir einen eigenen Morph Algorithmus implementieren, der die zwei Meshes in einander übergehen lässt. Geht aber nur mit nicht animierten Meshes.

-> Machs besser in einem 3D Animationsprogramm wo du inverse Kinematik etc hast.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

BIG BUG

BeitragDi, März 08, 2005 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das MD2-Format funktioniert so. Vielleicht kann man das ja in z.B. Milkshape aus mehreren Models zusammenschweißen?
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Weazle25

BeitragDi, März 08, 2005 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:

-> Machs besser in einem 3D Animationsprogramm wo du inverse Kinematik etc hast.


Das Problem ist das die Meshes bereits fertig sind und die Animationen aus je 2 Meshes erstellt werden müssten.

Mir kam aber gerade eine andere Idee:
Man könnte auch die Meshes laden, daraus manuell eine Animation basteln und als *.b3d speichern.
Dann muss man nur noch das b3d-File mit LoadAnimMesh() laden und die Animation abspielen.

Müsste doch gehen oder?


Gruss
Weazle

Edit: Gibt es schon ein Programm das das kann?

StarGazer

BeitragDo, März 10, 2005 0:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn Du aus den 2 Meshes jeweilis die VertexPositionen
Code: [AUSKLAPPEN]
VERTEXX#(surface,i)
VERTEXY#(surface,i)
VERTEXZ#(surface,i)

herrauslesen würdest,

und dann Verstexe aus dem erstem Mesh solange in der Position verschiebt,
Code: [AUSKLAPPEN]
VERTEXCOORDS surface,i,x,y,z

bis sie die Position der Verstexe aus dem Zweiten erreichen.

Habe es selber noch nicht gemacht, aber es müste funktionieren.
 

Dreamora

BeitragDo, März 10, 2005 1:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wo ist das Problem, dass die Meshes schon da sind?

Mesh 1 für den ersten KeyFrame
Mesh 2 für das zweite KeyFrame ( oder noch späteres, wird zwischenkeyframes brauchen, da es sonst sehr komisch aussehen wird )

und das dazwischen mit Bones, die du einfügen musst, animieren lassen ...

sollte eigentlich kein Problem sein, da du das Mesh ja schon hast.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Ayman

BeitragDo, März 10, 2005 2:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Dreamora hat recht, so würde ich's auch machen. Aber wenn du unbedingt von Hand morphen willst, dann schau mal hier rein: Morph-Beispielcode als BB-Source

Grüße
Ayman
uomini cercano uomini
 

Weazle25

BeitragSa, März 12, 2005 4:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für Eure Hilfe aber leider kann ich Eure Vorschläge nicht gebrauchen.
StarGazer hat Folgendes geschrieben:
Wenn Du aus den 2 Meshes jeweilis die VertexPositionen
Code: [AUSKLAPPEN]
VERTEXX#(surface,i)
VERTEXY#(surface,i)
VERTEXZ#(surface,i)

herrauslesen würdest,

und dann Verstexe aus dem erstem Mesh solange in der Position verschiebt,
Code: [AUSKLAPPEN]
VERTEXCOORDS surface,i,x,y,z

bis sie die Position der Verstexe aus dem Zweiten erreichen.

Habe es selber noch nicht gemacht, aber es müste funktionieren.


Hab ich schon ausprobiert aber bei 20 AniMesches mit jeweils bis zu 5000 Polys ist das einfach zu langsam.

Dreamora hat Folgendes geschrieben:
Und wo ist das Problem, dass die Meshes schon da sind?

Mesh 1 für den ersten KeyFrame
Mesh 2 für das zweite KeyFrame ( oder noch späteres, wird zwischenkeyframes brauchen, da es sonst sehr komisch aussehen wird )

und das dazwischen mit Bones, die du einfügen musst, animieren lassen ...

sollte eigentlich kein Problem sein, da du das Mesh ja schon hast.


Mit Bones würde es sehr kompliziert werden weil meistens mehrere Figuren in einem Mesh sind die alle gleichzeitig animiert werden sollen.
Bones sind auch nicht nötig denn ich arbeite gerade an einer einfachen AufbauSimu (wie Deep Sea Tycoon) und da ist der User relativ weit von den Figuren entfernt so das er die Bewegungen gar nicht so genau erkennen wird.
Durch die Animationen soll der User lediglich sehen können das sich da etwas bewegt.
Und da reichen eben einfache "Vorwärts-Rückwärts"-Animationen.

Ayman hat Folgendes geschrieben:
Hi

Dreamora hat recht, so würde ich's auch machen. Aber wenn du unbedingt von Hand morphen willst, dann schau mal hier rein: Morph-Beispielcode als BB-Source

Grüße
Ayman


Das ist mir viel zu kompliziert.
Ich mach es so wie ich oben beschrieben habe und exportiere die Animationen mit meinem Modell-Editor in's b3d-Format und im Game werden dann nurnoch die b3d-Anis abgespielt.
Das funktioniert auch schon (naja bis auf ein paar kleine Fehler).


Gruss
Weazle

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group