I have a blend space that regulates the typical walk / run animations for my enemy character. The enemy is moving towards a target point with a Simple Move To Actor. I set the acceleration and deceleration speeds in Default for the enemy and the blend space works great when the enemy accelerates but once the enemy has arrived at the target location speed drops to 0 immediately and there is not smooth blending of animations. The animation “jumps” back to idle. I wanted to add a timeline in the animation blueprint so the character slowly changes back to the other animation but that doesn’t work.
How can I prevent these animations from jumping? Is there a way that the character at least finishes playing the current animation?
Having a similar issue. I’m using Simple Move To Location and a NavMesh to move a ship around in a single plane. Acceleration works great, but I want the ship to “coast” to a stop using the same acceleration (or deceleration) instead of immediately setting it’s velocity to 0 once it reaches it’s goal.
I figured out the location speed dropping to 0. I’m not concerned with animation in my solution but maybe you can figure out the rest from what I used.
I used SimpleMoveToLocation to move a character around a NavMesh, as before, but this time checked every tick for when my character was close enough to it’s goal - then used StopMovement (to stop the SimpleMoveTo), Set Velocity (to restart the movement at the same velocity) and AddInputVector (with a Vector of 0,0,0) to finish out the movement to my goal adhering to the acceleration values I set in the Character Movement Component.
I put this logic in a function (called CoastToStopatHitLocation) pasted below. For you, veiovis, I assume you can start your transitioning-to-idle animation logic somewhere in here.
To compute the stopping distance I used a modified formula of “Energy of moving object” = “Work needed to stop the object” and solved for distance.