Game Development Community

Bad blends

by Kjell Iversen · in Torque Game Engine · 06/22/2005 (9:38 am) · 9 replies

I'm having a major problem getting blends to work.

the screen shots included show an upper body blend anim, blended with a lower body run. both animations are being told to exclude their upper or lower body bones respectively.

the problem seems to be that the upper body animations transforms are there, and working fine, but set back as if the spine is still in the root pose (the animation was created from a standing pose).

the lower body (as shown from the front), seems to be at an offset as a result of the upper body rotation.

is it even possible to blend two such animations? or am i going to have to animate a series of "looks" and "reloads" for every single state? (i.e: run reload, walk reload, crouch reload, side reload, back reload, etc.)

My programmer suggests that I keep the run with the body straight up (as in the root pose), but this looks extremely silly to me and nothing like a run actually looks.

any suggestions or help would be greatly appreciated as this is seriously putting a major dent in my productivity.

#1
06/22/2005 (9:39 am)
i6.photobucket.com/albums/y204/DeadSeraph/screen1.jpg
i6.photobucket.com/albums/y204/DeadSeraph/screen2.jpg
#2
06/22/2005 (11:46 am)
This is just a guess but have you tried including the upper body in the run animation?
#3
06/22/2005 (12:18 pm)
I have. if i do include the upper body in the run, the entire character is bent at even more of an angle (such as in the second shot taken from the front), and the upper body is in place, but the arms are all crazy. here is a screenshot of what that looks like from the side.

I should add that both anims look great on their own.

i6.photobucket.com/albums/y204/DeadSeraph/screen3.jpg
#4
06/22/2005 (12:23 pm)
I should also add that both animations are referencing the root pose at frame 0.
#5
06/22/2005 (12:32 pm)
It's very hard to tell from what you've posted what it is you're trying to achieve. From what I can tell, you want to be able to have reload, recoil, etc. animations playing on the arms regardless of what the rest of the body is doing. This is very possible. What you need to do is animate the run (or walk or whatever), export the legs and body and head only, then the arms only. When you are running normally you will be playing the run.body animation and the run.arms animation at the same time. Then you need to make some other animations for the arms, like the reload animation. When you want to reload, you will have to switch to the reload.arms animation, then back to whatever it was doing before. You don't really need to use blends in this case... just separate threads. The reason your animation is going crazy is that blending is a compound process. It is applying the blend animation in addition to the other animation, not instead of it. Hope this helps.
#6
06/22/2005 (12:42 pm)
I should also add that both animations are referencing the root pose at frame 0.
#7
06/22/2005 (1:06 pm)
Well, basicly what im trying to do is get as many animations licked with blends as possible, to minimize the amount of anims i have to do.

I'd ideally like to have one reload animation, thats all upper body, that i can blend over my run, walk, side, or back animations. same thing for the "look" animation.

from what im understanding of your reply jeff, I might as well just use maya's trax editor and set up a reload or look anim for every state, rather than writing up 50 cfg files and having to make my programmer insert a bunch of new animation threads into the code?
#8
06/22/2005 (2:39 pm)
I think the problem is that you misunderstand how blend animations work.

Quote:
I'd ideally like to have one reload animation, thats all upper body, that i can blend over my run, walk, side, or back animations. same thing for the "look" animation.

The thing is, if you're going to do this with blend animations, you have to set the reference frame to a pose that the character will be at when she starts her reload animation. If you have the reference at frame 0 (the root pose, with arms out I'm guessing?), you will get the crazy arms because it is blending too far.

Maybe this will help: A blend animation does not rotate the bones to the absolute rotational values that you have set keys at. It rotates the bones an amount that is equal to the difference between the value at the reference pose and the value at the key you set.

So if the upper body poses for your run, walk, side, and back animations are the same or very similar, using blends will probably work alright. Otherwise I would recommend keeping the spine as part of the main animations and using a separate thread for the arms, so you can directly play any animation on the arm thread that you want. If you really need the spine to be part of the reload animation, you may have to get even more creative/complicated about your setup.
#9
06/22/2005 (2:46 pm)
That helps clarify some things for me alot.

thanks for your help jeff.