Animationen in Blitz selber und veränderbaren Werten

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

onkelz89

Betreff: Animationen in Blitz selber und veränderbaren Werten

BeitragMo, Jun 11, 2007 8:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Hab mir das mit SetAnimKey() angeschaut (Beitrag unter dem hier), klingt soweit gut, aber ich habe spezielle Animationen und zwar möchte ich beispielsweise, dass sich 2 Personen zur Begrüßung die Hand geben.

Habe für eine Person folgende Gelenke als (später unsichtbare) Cubes erstellt:

Hals
Schultern
Ellbogen
Hand
usw (das sind nur die interessanten jetzt)

Soweit klar, bisher auf diese Art:
Code: [AUSKLAPPEN]
If NextPositionAr=1 Then ;Ausgangsstellung
      ok=0
      If EntityPitch(Roberarm)<-13 Then
         TurnEntity Roberarm,5,0,0
      Else
         If EntityPitch(Roberarm)<-11 Then TurnEntity Roberarm,1,0,0 Else ok=ok+1
      EndIf
      If EntityPitch(Roberarm)>13 Then
         TurnEntity Roberarm,-5,0,0
      Else
         If EntityPitch(Roberarm)>11 Then TurnEntity Roberarm,-1,0,0 Else ok=ok+1
      EndIf
      If EntityPitch(Loberarm)<-13 Then
         TurnEntity Loberarm,5,0,0
      Else
         If EntityPitch(Loberarm)<-11 Then TurnEntity Loberarm,1,0,0 Else ok=ok+1
      EndIf
      If EntityPitch(Loberarm)>13 Then
         TurnEntity Loberarm,-5,0,0
      Else
         If EntityPitch(Loberarm)>11 Then TurnEntity Loberarm,-1,0,0 Else ok=ok+1
      EndIf
      If EntityYaw(Roberarm)<72 Then
         TurnEntity Roberarm,0,5,0
      Else
         If EntityYaw(Roberarm)<74 Then TurnEntity Roberarm,0,1,0 Else ok=ok+1
      EndIf
      If EntityYaw(Roberarm)>78 Then
         TurnEntity Roberarm,0,-5,0
      Else
         If EntityYaw(Roberarm)>76 Then TurnEntity Roberarm,0,-1,0 Else ok=ok+1
      EndIf
      If EntityYaw(Loberarm)<-78 Then
         TurnEntity Loberarm,0,5,0
      Else
         If EntityYaw(Loberarm)<-76 Then TurnEntity Loberarm,0,1,0 Else ok=ok+1
      EndIf
      If EntityYaw(Loberarm)>-72 Then
         TurnEntity Loberarm,0,-5,0
      Else
         If EntityYaw(Loberarm)>-74 Then TurnEntity Loberarm,0,-1,0 Else ok=ok+1
      EndIf
      If EntityRoll(Roberarm)<-43 Then
         TurnEntity Roberarm,0,0,5
      Else
         If EntityRoll(Roberarm)<-41 Then TurnEntity Roberarm,0,0,1 Else ok=ok+1
      EndIf
      If EntityRoll(Roberarm)>-37 Then
         TurnEntity Roberarm,0,0,-5
      Else
         If EntityRoll(Roberarm)>-39 Then TurnEntity Roberarm,0,0,-1 Else ok=ok+1
      EndIf
      If EntityRoll(Loberarm)<-43 Then
         TurnEntity Loberarm,0,0,5
      Else
          If EntityRoll(Loberarm)<-41 Then TurnEntity Loberarm,0,0,1 Else ok=ok+1
      EndIf
      If EntityRoll(Loberarm)>-37 Then
         TurnEntity Loberarm,0,0,-5
      Else
          If EntityRoll(Loberarm)>-39 Then TurnEntity Loberarm,0,0,-1 Else ok=ok+1
      EndIf
      If RunterarmWinkelMOM<90 Then TurnEntity Runterarm,0,speed,0 RunterarmWinkelMOM=RunterarmWinkelMOM+speed Else ok=ok+1
      If RunterarmWinkelMOM>90 Then TurnEntity Runterarm,0,-speed,0 RunterarmWinkelMOM=RunterarmWinkelMOM-speed Else ok=ok+1
      If LunterarmWinkelMOM<-90 Then TurnEntity Lunterarm,0,speed,0 LunterarmWinkelMOM=LunterarmWinkelMOM+speed Else ok=ok+1
      If LunterarmWinkelMOM>-90 Then TurnEntity Lunterarm,0,-speed,0 LunterarmWinkelMOM=LunterarmWinkelMOM-speed Else ok=ok+1
      If ok=16 Then NextPositionAr=2
   EndIf


Habe ich die Bewegungen durchgeführt (ich hoffe es gibt da bessere Methoden)

Positiv hierbei ist aber, dass man einfach weitere Abfragen einbringen kann, um zu testen ob zB eine weitere Hand in der Nähe ist und man animiert dann das "Hand geben".

Gibt es bessere und einfachere Methoden???

Vielen Dank im Vorraus
 

V4LL3

BeitragMi, Jun 20, 2007 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wüsste da nur eine Einfachere Methode...
1. Du moddelst 2 Figuren und erstellst alles im Moddelinprogramm (sprich die Bones etc. für die Animation)
2. Lade das ganze und anmire das ganze in B3D
3. Benutze aber nur die erstellten Figuren für deine Abfragen

=> Nachteil... Das "Handschütteln" könnte etwas ungenau bzw. unkoordiniert werden, da du bei diesem einfachen Beispiel jetzt auch von hinten die Hand geben kannst ^^

aber den Bereich kannst du ja noch unter der Figur einschränken...

Ich hoffe, dass das verständlich ist...
wenn nicht, spamt mich zu oder schlagt mich dafür :p
Meine HP http://vallerockt.ohost.de/
Verbesserungsvorschläge für die HP bitte als PN an mich Smile

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group