USpringArmComponent lag vars not abiding origin shifting (proto-fix included)
It seems that if you use bEnableCameraLag == true with the spring arm component, the internal state variables "PreviousDesiredLoc" and "PreviousArmOrigin" are not updated when the world origin shifts. The effect of this is a very unpleasant location snapping effect every time the world origin is reset, because the component tries to interpolate from what is now a very wrong previous location.
I was able to address this locally by subclassing the component and adding something like this:
Following that, the interpolated movement remains smooth on origin rebasing. I believe the original component should do this though; I can't think of any conceivable reason you'd want the weird behavior it exhibits now. I imagine it's a simple matter of hoisting the above code into the USpringArmComponent.
(Separately but relatedly, the TemporalAA has some origin rebasing artifacts, which I haven't investigated yet).
Other details: UE 4.8.3 on Linux
I've entered this into our system as a feature request, UE-21057, to be considered by our development staff.
answered Sep 14 '15 at 03:56 PM
I can see the jump you mention when moving the actor in game. Overriding the ApplyWorldOffset as you've done in your spring arm component is what needs to be done to correct this in custom classes as stated in the documentation. Doing the same thing in a custom camera class could help eliminate the jump/hitch more.
answered Sep 01 '15 at 06:32 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here