Returning to Root pose once a thread is stopped
by Jared Schnelle · in Torque Game Engine · 01/30/2003 (2:17 am) · 3 replies
I am working on the animations for a player I've recently created.
Some people in IRC told me to have the animation go through the root pose at frame 0, so everything lines up. I didnt fully realize that importance until I started working more with the animation today.
Here's my problem:
-I created the animation for the arms moving back and forth, for use while the player is running. Since the animation will cycle over and over, while the player runs, I obviously want this to be a fluid movement. I animated the arms, as follows:
:: Frame 0 :: The Left elbow is back, right elbow forward
:: Frame 16 :: The Right elbow is back, left elbow forward
:: Frame 32 :: All positions returned to be the same as Frame 0.
This animates great; however, if I .stopThread(threadnum); on the arm animation, it returns the character to the location specified by :: Frame 0 ::, this is left elbow back. So, once I stop running, my left elbow is back, and my idle animation then plays funky.
What are some alternatives? How can you model a looping arm animation that passes through the root pose, ever? How would it not have a hitch at Frame 0, if you included the root?
This brings me to another question. I was talking to someone in IRC earlier today about an idea. What if we could treat the .dsq somewhat like a .dts with animations exported within the .dts? To explain further, Animate Frame 0->1 to be the root pose. Frames 2->34 would then be my running animation for the arms. I would then add 2 scene objects. The first would be for frames 0->1 and I'd call it Arms_Root, then for frames 2->34 I would place another and call it Arms_Run.
Then I could make some internal source changes to look for a Root pose in the .dsq, and if it is, the cycles only use frames 2-> and on to cycle, but when you shut it off, it would still return to frame 0, the correct root pose.
I dont know if this is currently possible without source changes, but if any suggestions are out there, I'd like them.
Thanks,
Jared
Some people in IRC told me to have the animation go through the root pose at frame 0, so everything lines up. I didnt fully realize that importance until I started working more with the animation today.
Here's my problem:
-I created the animation for the arms moving back and forth, for use while the player is running. Since the animation will cycle over and over, while the player runs, I obviously want this to be a fluid movement. I animated the arms, as follows:
:: Frame 0 :: The Left elbow is back, right elbow forward
:: Frame 16 :: The Right elbow is back, left elbow forward
:: Frame 32 :: All positions returned to be the same as Frame 0.
This animates great; however, if I .stopThread(threadnum); on the arm animation, it returns the character to the location specified by :: Frame 0 ::, this is left elbow back. So, once I stop running, my left elbow is back, and my idle animation then plays funky.
What are some alternatives? How can you model a looping arm animation that passes through the root pose, ever? How would it not have a hitch at Frame 0, if you included the root?
This brings me to another question. I was talking to someone in IRC earlier today about an idea. What if we could treat the .dsq somewhat like a .dts with animations exported within the .dts? To explain further, Animate Frame 0->1 to be the root pose. Frames 2->34 would then be my running animation for the arms. I would then add 2 scene objects. The first would be for frames 0->1 and I'd call it Arms_Root, then for frames 2->34 I would place another and call it Arms_Run.
Then I could make some internal source changes to look for a Root pose in the .dsq, and if it is, the cycles only use frames 2-> and on to cycle, but when you shut it off, it would still return to frame 0, the correct root pose.
I dont know if this is currently possible without source changes, but if any suggestions are out there, I'd like them.
Thanks,
Jared
About the author
#2
Hopefully this picture explains it.
www.rykos.net/idle.jpg
-Jared
01/30/2003 (1:10 pm)
The animation loops correctly with how I have it set up, but it's simply not returning to the root pose.Hopefully this picture explains it.
www.rykos.net/idle.jpg
-Jared
#3
Ok removed this post, because it was wrong. Through my carelessness I thought it was performing a certian way when it was not.
So far the only way I've found to reset the arms back to the root position is manually calling a .playThread(0, "root");
This seems really lame, so I'd appreciate any other ideas.
-Jared
01/30/2003 (2:29 pm)
**Edit**Ok removed this post, because it was wrong. Through my carelessness I thought it was performing a certian way when it was not.
So far the only way I've found to reset the arms back to the root position is manually calling a .playThread(0, "root");
This seems really lame, so I'd appreciate any other ideas.
-Jared
Torque 3D Owner Michael Cozzolino
Big Monk Games