diff --git a/crates/editor_ui/src/camera_view.rs b/crates/editor_ui/src/camera_view.rs index 93bf3196..66df77d6 100644 --- a/crates/editor_ui/src/camera_view.rs +++ b/crates/editor_ui/src/camera_view.rs @@ -298,7 +298,10 @@ fn set_camera_viewport( mut local: Local, mut ui_state: ResMut, primary_window: Query<&mut Window, With>, - mut cameras: Query<(&mut Camera, &mut GlobalTransform), Without>, + mut cameras: Query< + (&mut Camera, &mut GlobalTransform, &mut Transform), + Without, + >, mut ctxs: EguiContexts, images: Res>, ) { @@ -325,10 +328,11 @@ fn set_camera_viewport( ui_state.need_reinit_egui_tex = false; } - let Ok([(mut real_cam, mut real_cam_transform), (watch_cam, camera_transform)]) = - cameras.get_many_mut([real_cam_entity, camera_entity]) + let Ok( + [(mut real_cam, _, mut real_cam_local_transform), (watch_cam, camera_transform, _)], + ) = cameras.get_many_mut([real_cam_entity, camera_entity]) else { - if let Ok((mut real_cam, _)) = cameras.get_mut(real_cam_entity) { + if let Ok((mut real_cam, _, _)) = cameras.get_mut(real_cam_entity) { real_cam.is_active = false; ui_state.camera_entity = None; } @@ -355,7 +359,7 @@ fn set_camera_viewport( }; real_cam.target = RenderTarget::Image(target_handle.clone()); - *real_cam_transform = *camera_transform; + *real_cam_local_transform = camera_transform.compute_transform(); local.0 = Some(viewport_rect);