1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-22 15:06:45 +00:00

Fix freelook in 3D when multiple viewports are open

This commit is contained in:
Robert Yevdokimov
2025-06-14 14:10:23 +04:00
parent 1218a16de5
commit 7e5ccada9c
2 changed files with 46 additions and 1 deletions

View File

@@ -560,6 +560,7 @@ public:
SubViewport *get_viewport_node() { return viewport; }
Camera3D *get_camera_3d() { return camera; } // return the default camera object.
Control *get_surface() { return surface; }
Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p_index);
~Node3DEditorViewport();
@@ -825,6 +826,8 @@ private:
Node3D *selected = nullptr;
Node3DEditorViewport *freelook_viewport = nullptr;
void _request_gizmo(Object *p_obj);
void _request_gizmo_for_id(ObjectID p_id);
void _set_subgizmo_selection(Object *p_obj, Ref<Node3DGizmo> p_gizmo, int p_id, Transform3D p_transform = Transform3D());
@@ -1025,6 +1028,9 @@ public:
}
Node3DEditorViewport *get_last_used_viewport();
void set_freelook_viewport(Node3DEditorViewport *p_viewport) { freelook_viewport = p_viewport; }
Node3DEditorViewport *get_freelook_viewport() const { return freelook_viewport; }
void add_gizmo_plugin(Ref<EditorNode3DGizmoPlugin> p_plugin);
void remove_gizmo_plugin(Ref<EditorNode3DGizmoPlugin> p_plugin);