Skip to content
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 keyboard shortcuts for resetting transforms (position, rotation, scale) #10612

Open
Ignawesome opened this issue Aug 30, 2024 · 1 comment

Comments

@Ignawesome
Copy link

Describe the project you are working on

I'm currently working on a 3D project.

Describe the problem or limitation you are having in your project

After instancing a scene, I usually use keyboard shortcuts such as ctrl+alt+0 to align with view and page down to move assets to the floor... However, they always end up rotated because the editor camera view is never aligned with the floor. So I need to open the inspector, go to the bottom, open the transform category and reset the rotation. This can become cumbersome and time-consuming, especially in scenes with many objects that need frequent adjustments. Switching from keyboard shortcuts to mouse navigation each time is kind of a hassle honestly.

Ensuring that objects are correctly aligned and reset to their original states is a common task, and having efficient tools for this would greatly enhance the workflow.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

I propose the addition of keyboard shortcuts similar to Blender’s Alt + G (reset position), Alt + R (reset rotation), and Alt + S (reset scale). These shortcuts would allow users to quickly reset an object's transforms to their default values, streamlining the process of correcting or adjusting object placements. This feature would significantly reduce the time spent navigating the Inspector and improve overall productivity.

As Godot has already added shortcut options that allow to manipulate transforms using blender's system, I believe this feature would follow naturally from that implementation.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

When the user selects an object in the 3D viewport:

Pressing Alt + G will reset the position of the selected object(s) to the origin (0, 0, 0).
Pressing Alt + R will reset the rotation of the selected object(s) to 0 degrees on all axes.
Pressing Alt + S will reset the scale of the selected object(s) to the default scale (1, 1, 1).

These shortcuts would be integrated into the existing input map within the Editor, allowing users to customize or disable them if necessary. The reset action would update the transform properties immediately in both the Inspector and the 3D viewport.

I guess the only problem is that Alt + S is already assigned to the bottom shader panel. My solution is to make them opt-in like the current "begin transformation" shortcuts adapted from Blender.

If this enhancement will not be used often, can it be worked around with a few lines of script?

While it is possible to script this behavior or create an editor plugin, having built-in shortcuts would provide a more seamless and accessible experience. Scripting this for every project or explaining it to team members can be inefficient, and integrating it directly into the core would standardize the workflow across projects.

Is there a reason why this should be core and not an add-on in the asset library?

This feature addresses a fundamental aspect of 3D asset manipulation that is commonly used in many types of projects. Making it a core feature ensures it is available out-of-the-box, reducing the need for third-party plugins and making it easier for developers to transition from other engines (like Blender) where such shortcuts are standard.

@Calinou
Copy link
Member

Calinou commented Aug 31, 2024

An easy way to implement this would be to make the Blender-style shortcuts do this automatically if you hold Alt while pressing their related key. It would also make the G/R/S change to match custom key settings as well.

The 2D editor does not have Blender-style manipulation shortcuts yet, so it would need a dedicated implementation.

@Calinou Calinou added topic:3d and removed topic:2d labels Aug 31, 2024
@Calinou Calinou changed the title Add Keyboard Shortcuts for Resetting Transforms (Position, Rotation, Scale) Add keyboard shortcuts for resetting transforms (position, rotation, scale) Aug 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants