Hey everyone!
I’m pretty new to Unreal Engine, and I’m working on creating a smooth turning system and “turn in place” functionality for animal movement in my project. I’d love some feedback to see if my approach is on the right track because it’s not as smooth as I’d like it to be.
Here’s what I’m trying to achieve:
Dynamic Speed Adjustment: I want the movement capsule to slow down dynamically based on the turning angle.
Adaptive Animation Speed: I’d like the animation playback rate to adjust based on the movement capsule’s speed (though I haven’t scripted this part yet).
Here’s my setup so far in the Character Blueprint:
I created a custom rotator, Movement Rotation Target, to control the character’s rotation based on the Forward and Right Vectors.
Using an RInterp To node, I’m blending the capsule’s rotation smoothly toward the control rotation (where the controller is facing).
Then, I calculate the desired rotation angle with my Movement Rotation Target, finding the yaw difference between Get Actor Rotation and the target rotation using Delta Rotator, then extracting the yaw with Break Rotator.
To control movement speed based on the turning angle:
I used the Map Range Clamped node to link this yaw difference to the Max Walk Speed (set to 840 for normal movement) and a slower Turn in Place Speed (20).
Finally, I used the output from Map Range Clamped to dynamically set the character’s Max Walk Speed based on the turning angle.
As a beginner, I’d love any advice or suggestions on how to improve this setup! I’m especially interested in making it feel smoother, and it’s been challenging finding tutorials specifically for an animal-based controller.
Thanks so much for taking the time to read and help!