Download

Proper animation / control tutorials?

Hey there. Does someone have tutorials or advice regarding communication between Controls and Animation?
Don’t link the documentation/Tutorials by Epic please. The Third Person Example is not a good Animation Example.
It just checks “Is Falling” If you want to jump. There’s no “Squat”-Animation or similar if you jump. The example just calls “jump” if you press spacebar and thats it.

What I’m aiming for is a control scheme similar to this:

https://www.youtube.com/watch?v=gThXi05-R40

As you can see - compared to the Character Movement in UE - the character doesn’t run immediately, but “prepares” to run (and also turns in place if the control direction is different than the Actor Rotation) and stops/turns around if the control direction changes while running.
If I press Jump, the character prepares to jump, and you can’t move the character around. I know I can forbid movement with simple booleans. but checking booleans is in my eyes a very dirty way to do this, simply because these booleans are checked every frame.
You can also see that the character does run more in a circular way. In UE4, the Movement Direction is immediately the one of the Input.
For example the character runs forward and after pressing and holding righ, the character takes a 90 Degress turn immediately.

What do you guys recommend (except for root motion, though) how to achieve a similar control scheme? How should I setup the blueprints for this?

Bump? :frowning:

I really don’t know how to start an animation scheme like this…

Uhm… Well I think the 3d character controller tutorial by epic is exactly what you need to start.
I made a controller like this after a few weeks of dabbling with ue4. And the biggest learning resource was that one tutorial series with the jump and such. From there its just about setting goals of features you want to achieve and then just doing research and development for that. Theres a million different things you can do for character controller, you cant expect there to be a step by step tutorial for exactly what you want to achieve…

But to not make this post completely irrelevant:

Prepare jump: Given you have the required animation, you can use the delay mode. I do that to delay the jump function to the point where the animation is at the point where the character takes off.
You will need booleans tho to block movement, but they dont have to be checked every frame, just whenever you input for movement.

Running circular can be adjusted in the movement component. You can specify the turn rate there in angles per second and you can base that value on whatever you want, i.e. current speed.

Turning animations can also be done by getting the character movement vector relative to its actor and base certain anims in a blendspace or such on that.

You see theres always a way. Just ask questions for specific behaviors you want to achieve and several people here are more than happy to help.

I already watched many tutorials. but none of them gives a solution.

The Turn Rate within the MovementComponent in the Character Class does rotate the character, but the character itself still moves into the direction the player wants to.
Let’s say the the Character is facing left (from the camera’s perspective). If the Player presses right. The Character already moves right, but rotates quite slowly towards the right direction. The Character slides.

Eh no, you can specify all that in the movementComponent. The 3rd person controller tutorial shows some of those options. The turn rate then defines how quickly you can turn. How the character is oriented to that movement depends on a setting you have in the BP. Cant remember the name, but its mentioned in that tutorial.
Also if you want a nice advanced tutorial have a look on youtube for razorflame’s rootmotion series for kubolds movement pack. Ive gone trough that and applied many of those techniques to my inPlace system and it works fairly well.