Camera jerks with SpringArm and rotation lag enabled

I have an issue with the SpringArm component if CameraRotationLag is enabled. When parent component of the SpringArm rotates about the world Y-axis (or about any axis that close enough to it) and passes through the zenith or nadir the camera attached to the SpringArm jerks noticeably. Passing the zenith the rotator changes like this: from [P=88.9999 Y=0.0000 R=0.0000] to [P=87.9999 Y=179.9999 R=179.9999]. And passing the nadir the rotator changes like this: from [P=-88.9999 Y=0.0000 R=0.0000] to [P=-87.9999 Y=179.9999 R=179.9999]. There are no issues if the CameraRotationLag is disabled. It seems that internally SpringArm uses some rotation interpolation. I tried some little experiment with the RInterpTo and got the same issue with object jerks when rotation is performed about the world Y-axis. Any help and guidance are very appreciated!

youtube

The most simple solution is to use FQuat::Slerp method. Here some C++ methods using Slerp and exposed to the Blueprints

welcome… @zubetto! yes, as you’ve found… the spring arm component does this weird kicking thing at +/-90 degrees when lag is enabled. As you’ve found Pitch Rotation Glitch at +/- 90 degrees - YouTube

Oops! I should be more observant and replenish my vocabulary (I only searched for spring arm “issue” or “problem”).
You might be interested in the demo of my CameraSmartStick actor component which, I hope, will be approved for the marketplace soon:
Demo
Parameters overview

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.