Bläddra i källkod

Merge pull request #95154 from jsjtxietian/quit-freelook

Fix Pressing Escape doesn't exit freelook in the 3D editor
Rémi Verschelde 1 år sedan
förälder
incheckning
a7200cedbc
1 ändrade filer med 5 tillägg och 0 borttagningar
  1. 5 0
      editor/plugins/node_3d_editor_plugin.cpp

+ 5 - 0
editor/plugins/node_3d_editor_plugin.cpp

@@ -2254,6 +2254,11 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
 		}
 		}
 
 
 		if (_edit.mode == TRANSFORM_NONE) {
 		if (_edit.mode == TRANSFORM_NONE) {
+			if (_edit.gizmo.is_null() && is_freelook_active() && k->get_keycode() == Key::ESCAPE) {
+				set_freelook_active(false);
+				return;
+			}
+
 			if (_edit.gizmo.is_valid() && (k->get_keycode() == Key::ESCAPE || k->get_keycode() == Key::BACKSPACE)) {
 			if (_edit.gizmo.is_valid() && (k->get_keycode() == Key::ESCAPE || k->get_keycode() == Key::BACKSPACE)) {
 				// Restore.
 				// Restore.
 				_edit.gizmo->commit_handle(_edit.gizmo_handle, _edit.gizmo_handle_secondary, _edit.gizmo_initial_value, true);
 				_edit.gizmo->commit_handle(_edit.gizmo_handle, _edit.gizmo_handle_secondary, _edit.gizmo_initial_value, true);