+1 vote

I have an animation for walking, an animation for walking with a gun and a transition animation. How can I go from the walk animation to the walk with gun going trough transition while keeping the legs sync and don't wait for the walk animation to finish. I though about making all animations with 2 layers, one for the upper body one for the lower, then mix when needed, but I don't know how to make that and I don't know if it's the best way.

Godot version 3.3.2
in Engine by (63 points)
edited by

1 Answer

0 votes

Hi,
the animation tree can do this for you. It's not that trivial in the first place, but its quite good.
check it out here:
https://docs.godotengine.org/de/stable/tutorials/animation/animation_tree.html
and you find some good video tutorials on yout tube too.

by (3,932 points)

Hi, could you explain a little more? I'm already using Animation tree, mainly the AnimationNoneStateMachine, but I still can't think this trough. Should I create an AnimationTree for the upper part of the animation and then create other tree for the lower part? then manage all separately on code? Like this:
state_machine_lowerbody.travel(idle) state_machine_upperbody.travel(idle)
Sounds messy

Hi,
have a look here
https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html#blend2-blend3

Blending can also use filters, i.e. you can control individually which tracks go through the blend function. This is very useful for layering animations on top of each other.

With the filter-option you can blend animation on specific bodyparts.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.