-
-
Notifications
You must be signed in to change notification settings - Fork 224
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
Add different 3D navigation styles #455
base: master
Are you sure you want to change the base?
Conversation
I forgot to mention that it would be nice if this setting would be saved when closing Material Maker, but I could not figure out how to do this for now. |
Nice! I'll have a look at this when I'm done with EasySDF update... |
I also think turntable navigation should be the default as it is way more common in other programs and also more intuitive. In that case I would keep the current default navigation method under a name like "Classic" or something like that. |
Made some final touches to this PR:
It is now ready for merge |
Completed the Godot4 port of this PR and resolved all merge conflicts that occurred because of that, so it's now fully compatible again. Once again, it's ready to merge. |
Problem description:
As every 3D software uses it's own navigation style in 3D I find it hard to transition from one software to another as I always have to rethink navigation in 3D space. I therefore thought it would be nice to let users choose which way to navigate the 3D viewport by choosing navigation styles. Right now the default ist something similar to (but not the same as) Blenders "Trackball" orbit method. Many other software - Godot included - on the other hand uses something similar to Blenders "Turntable" orbit method.
What I implemented:
I've implemented something similar to the "Turntable" style navigation and created a submenu under the "Environment" popup menu for changing it. I think this would be a nice addition as I would definitely prefer the turntable-styled navigation.
Moving around is similar to the default navigation style:
How it is implemented:
As the navigation code was very long I implemented it in a strategy like pattern. The new way of implementation allows for a more modular approach as many navigation styles can be added later as the navigation and UI logic are now strictly separated. The default navigation code was moved to it's own class but remains mostly untouched.
Edit: This addresses #97 somehow