RInterp not working as expected

Hello, I’m working on my first UE 5 game and I’m having some trouble smoothly rotating my third person character along the Z axis towards the current camera direction using the RInterp function.

What I’m seeing is that the character will only rotate to the camera direction if the Interp Speed is set to 0, if it’s a small value like 4.0, the character’s rotation will be constrained to just a few degrees of rotation.

Generally you’d get this functionality for free but I had to implement custom camera controls and movement mechanics because I have changed the gravity to work like a small planet. I am following the tutorial found here: https://www.youtube.com/watch?v=UkWiXYPRtD8. Check 14:06, for the point where I am at.

Here is my current blueprint, this is called on each tick event. FwdRoot represents the characters current direction:

Any help is very much appreciated. I can upload a video of what I’m seeing if it helps too. Thanks!

With interp, you have the current value, and the target value, so you’ll need these connected

because the current value has to actually be the real value.

Also, this all needs to be on tick for this to work.

Hey! Thanks for looking into my issue. Unfortunately attaching the XY location does not resolve my issue. For the mechanics of this game, the character’s direction (FwdRoot) actually doesn’t care about XY axis of the camera, the character rotation should only depend on the camera’s Z axis. And yes, this method is being called on each tick. Any ideas on why this would work with Interp Speed at 0, but with higher values the rotation is constrained? I noticed that if I used extremely large Interp Speeds it works, but the character will just snap to the camera position instead of smoothly rotating (so basically the same as at 0).

1 Like

I notice you’re only calling when the player is moving, you’ll probably need to call it all the time :slight_smile: