-
Notifications
You must be signed in to change notification settings - Fork 458
Resolve Spring camera flip issues by adding pi when positive and subtracting pi when negative #5777
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…racting pi when negative
Converting to draft because I realized I haven't handled the "close to 0" edge case. |
I adjusted the comment. It remains wordy, but delves less into tangentially-relevant technical details of the Engine formula and focuses more on why the code behaves how it does. Is this an improvement or is it worse? 😅 |
…ve-spring-camera-flip-issues
Much improved. The cardinal lock feature could be recreated game-side easily, which could help in ironing out its quirks. Then, it would be even easier to selectively disable the feature from game code, as well. I think this is an improvement, regardless, so I'd approve the change. I think this solves the minor issue without getting into the weeds which is welcome. |
Work done
Investigate engine cardinal lock code and, based on these investigations, devise a better fix for the camera flip widget.
Addresses Issue(s)
#3767
This issue was not fully resolved. While the current widget works when camera
ry
is set to exactly 0, often, after manually rotating the Spring camera, using Alt+O to flip the camera does not flip the camera by exactly 180 degrees as expected.Setup
Start a skirmish and toggle to Spring camera (Ctrl+F6).
Test steps
ry
both before and after the camera flip.ry
is set to very close to 0 (i.e. between -0.1 and 0.1 radians), the camera rotation is still 180 degrees. A camerary
of 0 can be easily obtained by switching to Overhead camera (Ctrl+F5) then switching back to Spring camera (Ctrl+F6).