[B3D]Animation
Übersicht

![]() |
N0XBetreff: [B3D]Animation |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich habe ein Mesh mit Animation. Auf Tastendruck "W" soll diese abgespielt werden. Klappt. Aber wenn ich loslasse, bleibt diese Animation bei genau diesem Frame stehen. Sie soll aber auf Frame 0 gesetzt werden. Wie mache ich das? Hier ein Code Ausschnitt: Code: [AUSKLAPPEN] If KeyDown(17) Then
MoveEntity player,0,0,.1 If Not Animating(player) Then Animate player,1,.3,1,1 EndIf EndIf If KeyDown(31) Then MoveEntity player,0,0,-.1 If Not Animating(player) Then Animate player,1,-0.3,1,1 EndIf EndIf If KeyDown(30) Then MoveEntity player,-.1,0,0 If KeyDown(32) Then MoveEntity player,.1,0,0 If Not (KeyDown(17) Or KeyDown(31)) Then Animate player,0,0,0,0 Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ChriseBetreff: Re: [B3D]Animation |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Befehl Animate player,0,0,0,0
stimmt meiner Meinung nach nicht. Weil ein Parameter auf Stop gestellt ist. |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, weil dort die Animation gestoppt wird.
(If NOT KeyDown ...) |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] If Not (KeyDown(17) Or KeyDown(31)) Then SetAnimTime player,0 Sollte so klappen. |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke!
Klappt ohne Probleme! ![]() //Edit: Jetzt möchte ich eine Idle-Animation einbauen. (d.h. wenn nichts gedrückt wird, eine Animation im Loop durchlaufen lassen.) Das habe ich schonmal versucht, bin daran aber gescheitert. Wie mache ich das? |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du unterteilst die animation in 2 Teile, eimal die animation an sich und den teil, wie die figur ausehen soll wenn sie steht. Das ganze tut man mit ExtractAnimSeq![]() Code: [AUSKLAPPEN] Dim seq(1)
seq(0) = ExtractAnimSeq(0,1) ; Stehen, Frame 0-1 ist normal seq(1) = ExtractAnimSeq(1,5) ; Laufen, Frame 1-5 durch 1-n ersetzten (n=Animationslänge) Jetzt animierst du das ganze mit Animate ![]() Code: [AUSKLAPPEN] If KeyDown(17) ; "W"
If AnimSeq(mesh) <> Seq(1) ; wenn die abgespielte Sequenz nicht der Laufen sequenz entspricht Animate mesh,1,0.3,Seq(1) EndIf Else ;wenn keine taste gedrückt If AnimSeq(mesh) <> Seq(0) ; wenn die abgespielte Sequenz nicht der stehen sequenz entspricht Animate mesh,1,0.3,Seq(0) EndIf EndIf mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
EwokonCrack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie funktionieren meine animationen nicht?! Hab den selben code benutzt und es will einfach nicht funktionieren.. arbeite da schon seit tagen dran und kriegs nicht hin. ich erstelle per interpolationskurve eine animation in blender; exportiere als *.b3d und lade den mesh mit loadanimmesh. wenn ichs jetzt animieren will passiert ganz einfach nichts.
*Edit: funktioniert auch mit keyframes nicht: entity has no animation |
||
- Zuletzt bearbeitet von EwokonCrack am Sa, Jun 20, 2009 16:47, insgesamt 2-mal bearbeitet
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
kp ob diese "interpolations"kurven exportiert werden oO
Wandle doch mal in Keyframes um oder machs gleich mit Keyframes. |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Animierst du das Mesh mit Bones, oder nur mit so Pos/Scale/Rot ? | ||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jetzt mal wieder zum eig. Problem.
Klappt mit dem Code von ToeB nicht, da er die Animationen nicht abspielt. (Sieht danach aus als würde er nur den 1.Frame zeigen und nicht weiter machen, danach schaltet er wieder in den Idle-Modus) Wieso das jetzt? |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du denn auch geschrieben Zitat: ExtractAnimSeq(Entity%,0,1)
ToeBs code kann nämlich nicht 1 zu 1 übernommen werden ^^ Wenn das nicht funktioniert, versuch mal sowas, einfach nur um zu testen, ob die Animationen überhaupt gehen: Code: [AUSKLAPPEN] Graphics3D 800,600,0,0
SetBuffer(Backbuffer()) Cam=Createcamera():MoveEntity Cam,0,0,-10 Light=Createlight() Entity=LoadAnimMesh("Blub.b3d") ExtractAnimSeq(Entity,1,20) Animate Entity,...... While Not Keydown(1) RenderWorld() Flip Wend |
||
Twitter
Download Jewel Snake! Windows|Android |
- Zuletzt bearbeitet von Tankbuster am So, Jun 21, 2009 11:01, insgesamt einmal bearbeitet
EwokonCrack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meine animation ist eine simple rot/loc animation.. | ||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na klar!
So doof bin ich jetzt auch nicht ![]() Und die Ani's klappen sonst super! |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nja, ich würde Animationen immer anders bewerkstelligen. Das mit AnimSeq(mesh) ist doch viel zu kompliziert ^^
Ich mach das immer so: Code: [AUSKLAPPEN] [...] old_anim=anim anim=1 ;das wäre z.b. die Stehen-Animation, die immer kommt, wenn man keine Taste drückt ;) If KeyDown(200) Then anim=2 ;Zum Beispiel die Laufen animation If MouseDown(1) Then anim=1 ;Und das zum Beispiel als Angriffs-Animation If anim<>old_anim Then Animate mesh,bla,bla,anim ;Und hier wird nur geschaut, ob sich die Animation geändert hat, und die neue wird -wenn dem so ist- gestartet. [...] Das ist natürlich nur ein Beispiel, aber so sollte man es meiner Meinung nach machen. Die Animation wird nur abgespielt, wenn sich die Animation an sich ändert. Mehr will man ja nicht |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Geil, das klappt bestens!
Danke! Sorry für späten Post. |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group