This is a simple way to add different amounts of rotation lag to the different axes of a spring arm. Just check the order that the rotators are combined (added), because with rotators it does matter. I found the order of ‘roll + pitch + yaw’ works fine:
Especially handy if you have many cameras. Camera Target is the player controller’s current View Target; have the interface return pertinent data and one can handle all kind of behaviours in a single dedicated BP without cluttering pawns’ script.
The obvious, common-sense choice of using ‘Get Actor Rotation’, will give you a hitch going beyond 90 degrees in pitch. It’s not a bug, it’s actually useful to have several format options… as long as people are aware of them… described in link below:
Forgot to mention Base Aim Rotation which is what the server uses. If you want client and server traces to hit really close and use the cameras replication location you have to use Base Aim Rotation and Camera Manager → Camera Location.
Without using these two you can get the following. Camera is attached to head bone. (server is purple trace)
Ah, it’s ok! Though in that post I was just outlining about the 3 different rotator formats that UE5 blueprints uses under the hood.
It sure is worth mentioning here though, because it’s related: ‘Get Base Rotation’ uses the standard format. Applying this format would cause a hitch at +/- when mashing together the three above-pictured 'Rinterp’s together in such an unconventional way.
But combining the control rotation and normalized control rotation formats to the three Rinterps into a frankensteined rotator that stays buttery smooth through 360 degrees does work. For reference, here are the 3 different formats I’ve come across:
Standard rotation:
Roll: +/- 0 to 180
Pitch: +/- 0 to 90 (this is a bit confusing, but it goes up and back down)
Yaw: +/- 0 to 180
Control rotation:
Roll: 0 to 360
Pitch: 0 to 360
Yaw: 0 to 360
Normalized control rotation:
Roll: +/- 0 to 180
Pitch: +/- 0 to 180
Yaw: +/- 0 to 180