Animationen mit "Knochen" ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

GermannX

Betreff: Animationen mit "Knochen" ?

BeitragSo, Dez 21, 2008 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Nachdem ich jetzt eine Weile im Netz und auch hier im Forum gestöbert habe, meine ich gelernt zu haben, dass man zum Animieren von Spielfiguren eine Art Knochen verwendet, damit die Animationen möglichst realistisch aussehen. Zwar war mir das erstmal egal und ich habe es anders versucht, bin dann aber auf folgendes Problem gestoßen: Wenn ich z.B. einen Würfel mit mehr Vertices als nötig habe (also einfach noch ne Zwischenunterteilung) und ich dann in der Animation einen der Vertices so herausziehen will, dass sich am Würfel ein "Stachel" bildet, dann funzt das zwar in meinem 3D-Modellierproggy wunderbar, aber wenn ich das Ganze dann als .b3d exportiere und mit B3D lade nicht mehr. Hier der Code den ich zum Testen geschrieben habe:

Zitat:
Graphics3D 1024,768,32,2

Global GameTimer=CreateTimer(60)

Global Mesh=LoadAnimMesh("Objekte\!.b3d")
PositionEntity Mesh,0,0,25

Global Licht=CreateLight()

Global Kamera=CreateCamera()

Global AmAnimieren=0
Global Font1=LoadFont("TimesNewRoman",15,0,1,1)
SetFont Font1
Color 255,255,255

Repeat

Bewegen()
UpdateWorld
RenderWorld()
HUD()
Flip 0 WaitTimer(GameTimer)

Until KeyDown(1)=1

End



Function Bewegen()

If KeyDown(17) Or KeyDown(200) Then
MoveEntity Mesh,0,0,0.4
EndIf
If KeyDown(31) Or KeyDown(208) Then
MoveEntity Mesh,0,0,-0.4
EndIf
If KeyDown(30) Or KeyDown(203) Then
TurnEntity Mesh,0,-0.5,0
EndIf
If KeyDown(32) Or KeyDown(205) Then
TurnEntity Mesh,0,0.5,0
EndIf
If KeyDown(201) Then
MoveEntity Mesh,0,0.4,0
EndIf
If KeyDown(209) Then
MoveEntity Mesh,0,-0.4,0
EndIf
If KeyDown(57) Then
If AmAnimieren=0 Then
AmAnimieren=1
Animate Mesh,2,1,0,0
Else
AmAnimieren=0
Animate Mesh,0,1,0,0
EndIf
EndIf

End Function



Function HUD()
If AmAnimieren=0 Then
Text 20,20,"Animation gestoppt!"
Else
Text 20,20,"Animation läuft!"
EndIf
End Function


Habe ich da nen Fehler im Code (gut möglich, hab ja grade erst mit Animationen angefangen) oder muss man einfach diese "Knochen" verwenden, um einzelne Vertices animieren zu können? Falls dem so ist: Gibt es Tutorials darüber, von denen hier zuföllig jemand den Link parat hat? Wäre nett Smile

Danke im Vorraus

GermannX
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg!

ZaP

BeitragSo, Dez 21, 2008 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also Bones haben auf jedenfall den Vorteil, dass sie wie eine Art Parent für beliebige Vertices sind, d.h. man bewegt den Bone und der assoziierte Rest bewegt sich natürlich mit.
Starfare: Worklog, Website (download)
 

GermannX

BeitragSo, Dez 21, 2008 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, aber wie kann ich lernen wie ich sowas einrichte? denn die BB-Hilfe hat es leider nicht geschafft mir das klar zu machen^^.
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg!

ZaP

BeitragSo, Dez 21, 2008 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, also ich hatte dafür immer Milkshape 3D verwendet, es gibt da ein paar gute Tutorials dazu auf gargamel.de.
Starfare: Worklog, Website (download)
 

GermannX

BeitragMo, Dez 22, 2008 4:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke. Ich editiere jetzt meinen Beitrag schon zum zweiten mal, da ich durch viel Experimentieren alle mir aufgefallenen großen Probleme gelöst habe. Eine Frage bleibt aber: Sollte ich, wenn ich Knochen verwende, jeden Arm, jedes Bein usw. als einzelnes Objekt mit eigenen Knochen versehen und dann nur zusammen in einer Datei speichern, oder ist es üblicher ein komplettes Objekt mit einer Reihe von Knochen zu versehen (in dem Fall würde mich interessieren ob jemand weiss, wie ich Knochen dazu bringe nur einen Teil eines zusammenhängenden Objektes zu beeinflussen).
MfG
GermannX

Edit: Hat sich erledigt, Thread kann geschlossen werden (falls das hier im Forum üblich ist)
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group