Download

Quick questions about Blend Spaces

I am kinda new with Unreal and trying to wrap my head around blend spaces. I have a 3rd person player character and setting up the Animation Blueprint and Blend Spaces for this character. Following animations I want to use for movements:

  1. Idle and a second idle for case the player doesn’t move for a while
  2. Walking
  3. Running
  4. Jumping

So for movement I have 5 different animations. Generally, I get it working, but I am not sure if I should use one or two blend spaces. See questions below.

Questions:

  1. Do I need two different Blend Spaces? One for Running and one for walking?
  2. I only have one running and one walking animation (no sideways walking or running). Do I use blendspace or blendspace1d. Also, what is the difference between the two? And which one should I use in my case?
  3. How would I set up the animation for the jumping (is there a different way than using the “isFalling” function?
  4. One last question: I have two idle animations. the first I want to use as my standard idle and the second I want to use when the player doesn’t move the player character for a certain time and then keep alternating between idle 1 and idle 2 until the player runs or walk. How would I set this up…no complete explanation needed, but if someone could hint me in the right directions.

Thank you!!!

Hello,
If you look at how the TPP template is done, you can see it uses a 1D blendspace for idle/walk/run. It blends animations on one axis only (one value, here the speed), which is what you need since you don’t plan to add sidewalk. In the case of sidewalk you would blend with two value, speed and direction that is the 2D blendspace advantage.

I also plan on adding another iddle animation so I’ve though a bit about it. It is not possible to change dynamically the animation inside a blendspace (or at least I haven’t found a way, but I’m really not an expert) but it is possible to separate things. The blendspace will still have idle walk and run but will be used only when moving. For this I will create 2 states, one for idle and one for the blendspace. First thing is to detect if the character is moving and create a boolean for that :

Now inside the idle state, it is possible to set dynamically which anim to use :

The idea is now to set the variable inside the event graph, but first I would add a notify at the end of the idle anim (assuming your 2 idle anims have the same first pose), then call the anim notify with some logic.
First on initialization:

Then the notify call :

Now for your jump, you can use the character movement but it will still relies on “is falling”, but the transition to jump start will use also the z velocity(positive), it will prevent the character from playing jump start when falling from a ledge (and you can also delete the IsInAir variable):


At the end, add another transition beetween the blendspace and the fall loop, so it will goes directly to fall loop when falling from a ledge :

​​​​​​​
As I told you I’m not an expert and there is probably a better way to handle all this, but it works so waiting for a better answer I hope it will help :wink:

Thank you, for your replay.

I think I came up with a way to switch between two different idle states. I just thought of it this Morning in the car. I will try it out tonight. If it works I will post the solution here