瀏覽代碼

Merge pull request #95154 from jsjtxietian/quit-freelook

Fix Pressing Escape doesn't exit freelook in the 3D editor
Rémi Verschelde 1 年之前
父節點
當前提交
a7200cedbc
共有 1 個文件被更改,包括 5 次插入0 次删除
  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.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)) {
 				// Restore.
 				_edit.gizmo->commit_handle(_edit.gizmo_handle, _edit.gizmo_handle_secondary, _edit.gizmo_initial_value, true);