From User Bug Submission:
When an actor/component (e. g. a camera) rotates around another object using the rotation lag of USpringArmComponent, it cannot rotate to the top or the bottom. At these positions, the attached camera swerves around the poles as if there is an invisible cylinder with small radius, that has to be avoided. The higher the camera rotation lag speed, the smaller the evasive movement, until it finally vanishes.
I suppose the error is to be found in lines 101 and 107 of file SpringArmComponent.cpp, what leads to line 2359 of file UnrealMath.cpp: The single parts pitch/yaw/roll of the rotators are just linear interpolated, but that is obviously not a correct solution. You probably have to use Quaternions.
Test Project Attached
1. Create an empty project and ideally delete all disturbing objects that are in the default level.
2. Create a blueprint PitchTesterBP that inherits from Actor. Add a SpringArm as root component and attach a child component, e. g. a Sphere.
3. Enable CameraRotationLag of the SpringArm.
4. Let PitchTesterBP permanently rotate around its Y, e. g. by adding a Rotation Movement Component with Rotation Rate (0, 180, 0) to it.
5. Place a PitchTesterBP object in the level, start it, and watch the sphere.
How do I set a material as a post-processing material?
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
How to delete some elements correctly when deleting an array loop?
UMG RichText not appear image when packaged
What is the difference between Camera and CineCamera?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-54222 in the post.
5 |
Component | UE - Gameplay |
---|---|
Affects Versions | 4.18.3 |
Target Fix | 4.21 |
Created | Jan 19, 2018 |
---|---|
Resolved | Aug 14, 2018 |
Updated | Oct 2, 2018 |