AI Follow - AI does not move legs or arms. Floats in idle Pose

I am using the Paragon Characters, and a simple move AI to. The character just floats around in Idle Mode. it works on the UE4 Mannequin but not the Paragon Characters. Can’t figure it out. Any help is appreciated.

I read somewhere that maybe updating Speed Variable might fix? But not sure how to connect BP to Anim Speed.

First general issue. The mesh is not assigned to an animation blueprint.

Second general issue, the animation blueprint skeleton doesn’t match the mesh.

Third general issue,
the walking/running animations are somehow missing or use a different skeleton and are thus invalid.

If the issue was the speed you would get an idle pose sliding around, not necessarily a T (or A) pose.

I Am getting an idle pose sliding around. Not T or A pose.

I have Player Controlled the pawn and all the Animations work fine.

What node are you using for giving it movement instructions?
and a screenshot of the BP may help with that.

You can also add a print string to the AnimBP and print out the speed to see if it is ticking/reacting.

I used the Print String on the AnimBP, and it was returning while the Character was Chasing Player, so that does not seem to be the issue. Thanks for helping me rule that out! Does the ChasePlayer Picture answer your question of which node ?

Besides Speed, what other variables is the transition between the Idle state and the walk/run/job state depends on? Paragon chars usually depend on several variables, for example:

So, check the values of all those variables.

EvliCleric That’s a big step in the right direction for me. You are right. I checked the Transition Rule Variables and it looks like the Accelerating Variable is not being set. I tried to do some to troubleshoot it by simply removing Acceleration from the Transition Rule as seen in the photo, but that resulted in the same hovering, this time also while being Player controlled.

Any ideas how to update the Acceleration Variable? or maybe a way to remove it from the Transition rule without breaking the transition?

Really appreciate this help!. I’ve gotten more in these past few days, than the week I spent by myself.

I Changed the the AnimBP to set Is Accelerating to yes if Speed is > 0 Hopefully that doesnt break anything else. nothing so far! if you have better ideas I’m open to suggestion, if not thank you so much the help and getting me here!

So, normally you cast to the actual blueprint from trygetpawnowner - if you don’t you could potentially have issues.

Second, the velocity is normally derived from the movement component, not the actor/charter itself. GetLastUpdatededVelocity being the usual one.
I checked, this is not an option without a cast and extracting the actual movement component.

Opening an old project just to check what the default for is accelerating is, but I think it’s derived off an animation curve. The reason it’s not triggering could be the same, the lack of a cast / proper connection.

So despite having to move assets out of the folder to get the engine to open and having 20k plus shaders still compiling…
Twinblast anim BP is all predicated on try-get-pawn-owner being valid.
Otherwise the rest of the code isn’t processed. This is the default way the blueprint sets the “is accellerating” boolean:


As you can see by default it casts and uses the movement component.
The cast may need to be updated if you renamed the blueprint. this could be a possible issue as to why the acceleration boolean isn’t set.

Just run the game, set the debug distance within the Debug Filter of the animation BP to the instance you are causing to move with the AI node, and you can visually see where the hangup is.
IF there isn’t any, then the leading cause of the issue is that the skeleton between the used animation and the actual mesh is different. If you used the default twinblast this should not be possible. but it’s something to check on to further debug.

Other then that. I would suggest as i said before to use the cast to set the original speed as well…

Just a little observation. If you remove the IsAccelerating from the transition rule, don’t forget to check the disconnected pin, otherwise the resulting AND will be always false:

1.png

This is how I solved the issue without sacrificing any animation and state machine.

The problem:

The problem lies with IsAccelerating. When the AI is in control, there’s no input vector, which means, GetCurrentAcceleration is always zero, and therefore, IsAccelerating is always false, causing all the issues

How to solve it:

Use a differente approach to check is the character is accelerating or not. A simple method is to compare the current speed with an old one. So:

First remove the IsAccelerating in the AnimGraph:

Second, check the current speed with the previous one, and set the IsAccelerating variable:

This should solve all problems.

2 Likes