Is it typical to use an animtree for the arms in a fps?

I’m looking at the UT example code and it doesn’t look like it uses a animTree for the weapon class.

I’m asking because my weapon class uses an AnimNodeSequence to play anims for the players arms (firing, reloading, etc). When attempting to smooth-up the transitions between the animations I realized that there doesn’t seem to be any blendIn/blendOut functionality on AnimNodeSequence.

I want to simply add some blends between anims for my fps arms, but not sure how I should proceed. Should i switch it over to using an anim tree?

Thanks in advance.

This may not help in your instance, we are not using a tree (I guess it works?) but use at times additional anims (e.g. test if rifle raised, if so play a lower rifle anim then the reload anim) or you could even lower arms below camera then transition if it was a major blend issue.

Thanks for your response. Is anyone else using an anim tree for their player arms? I just feel it would be way more flexible for blending between states. For example starting to sprint from a weapon raised position, idle position or firing position would all require different anims just for the transition.

Not directly for the player arms but I believe the Rocket Launcher uses an AnimTree (for loading up multiple shots?). So using an animtree for the arms as well should be fine.

Thanks for the response. So I’m switching over to using an anim-tree. The tree handles the idle/sprinting animation blending. I have an AnimNodeSlot which I use to play the majority of the custom animations (reload, firing, equipping, etc).

One question I have is: Is it possible to get the current playing anim from an AnimNodeSlot, it’s rate and playback time-remaining? These seem to be absent from the class (unlike AnimNodeSequecne)…

See udn.epicgames.com/Three/AnimationNodes.html
Try:


AnimNode.GetTimeLeft()

and


GetPlayedAnimation()

Used in our game are timers where if we know the length of an anim then set a timer to run at the point you might want to do something else

Thanks for the help guys :slight_smile: