castle-engine / castle-engine

Cross-platform (desktop, mobile, console) 3D and 2D game engine. Powerful visual editor. Support for glTF, X3D, Spine and more. Fast clean code using modern Pascal. Free and open-source.
https://castle-engine.io/
Other
907 stars 125 forks source link

[Editor] Allow to switch gizmo to "Global" (World) coordinates instead of default "Local" #420

Open Grabli66 opened 1 year ago

Grabli66 commented 1 year ago

It's hard to use it after rotations. I think gizmo vectors must always show X, Y, Z axis. And it seems to me that this behavior is accepted in many 3D editors and game engines.

michaliskambi commented 1 year ago

The gizmos show local coordinate system. I.e. after rotating the object, your arrows to translate are rotated too.

Sometimes using local coordinate system is more comfortable, sometimes world coordinate system is better. In general 3D applications including game engines have both options, with various defaults -- Blender allows to switch to "Local" orientation, and Unity actually has it by default (though you can switch to "Global").

Zrzut ekranu z 2022-12-03 02-05-20 screenshot 2022-12-03 02:07:07 select

We should have an option to switch to "Global" coordinate system. By default IMHO we should continue to have "Local", just like Unity -- although there is no "perfect" option (whether global or local are better depends on what you want to do), I usually found "Local" to be more useful.