fix late latching?
This commit is contained in:
@@ -25,6 +25,7 @@ use bevy::render::extract_resource::ExtractResourcePlugin;
|
|||||||
use bevy::render::pipelined_rendering::PipelinedRenderingPlugin;
|
use bevy::render::pipelined_rendering::PipelinedRenderingPlugin;
|
||||||
use bevy::render::renderer::{render_system, RenderInstance};
|
use bevy::render::renderer::{render_system, RenderInstance};
|
||||||
use bevy::render::settings::RenderCreation;
|
use bevy::render::settings::RenderCreation;
|
||||||
|
use bevy::render::view::ExtractedView;
|
||||||
use bevy::render::{Render, RenderApp, RenderPlugin, RenderSet};
|
use bevy::render::{Render, RenderApp, RenderPlugin, RenderSet};
|
||||||
use bevy::tasks::available_parallelism;
|
use bevy::tasks::available_parallelism;
|
||||||
use bevy::transform::systems::{propagate_transforms, sync_simple_transforms};
|
use bevy::transform::systems::{propagate_transforms, sync_simple_transforms};
|
||||||
@@ -160,6 +161,7 @@ impl Plugin for OpenXrPlugin {
|
|||||||
xr_input::xr_camera::xr_camera_head_sync,
|
xr_input::xr_camera::xr_camera_head_sync,
|
||||||
sync_simple_transforms,
|
sync_simple_transforms,
|
||||||
propagate_transforms,
|
propagate_transforms,
|
||||||
|
update_cam_views,
|
||||||
)
|
)
|
||||||
.chain()
|
.chain()
|
||||||
.run_if(xr_only())
|
.run_if(xr_only())
|
||||||
@@ -185,6 +187,12 @@ impl Plugin for OpenXrPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn update_cam_views(mut query: Query<(&mut ExtractedView, &GlobalTransform)>) {
|
||||||
|
for (mut view, transform) in &mut query {
|
||||||
|
view.transform = *transform;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn xr_skip_frame(
|
fn xr_skip_frame(
|
||||||
xr_swapchain: Res<XrSwapchain>,
|
xr_swapchain: Res<XrSwapchain>,
|
||||||
xr_frame_state: Res<XrFrameState>,
|
xr_frame_state: Res<XrFrameState>,
|
||||||
|
|||||||
@@ -65,6 +65,20 @@ impl ExtractComponent for TransformExtract {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Component)]
|
||||||
|
pub(super) struct GlobalTransformExtract;
|
||||||
|
|
||||||
|
impl ExtractComponent for GlobalTransformExtract {
|
||||||
|
type Query = Read<GlobalTransform>;
|
||||||
|
|
||||||
|
type Filter = ();
|
||||||
|
|
||||||
|
type Out = GlobalTransform;
|
||||||
|
|
||||||
|
fn extract_component(item: bevy::ecs::query::QueryItem<'_, Self::Query>) -> Option<Self::Out> {
|
||||||
|
Some(*item)
|
||||||
|
}
|
||||||
|
}
|
||||||
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
|
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
|
||||||
pub enum Eye {
|
pub enum Eye {
|
||||||
Left = 0,
|
Left = 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user