removed uneeded redirections
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
use bevy_mod_openxr::{
|
use bevy_mod_openxr::{
|
||||||
action_binding::{OxrSendActionBindings, OxrSuggestActionBinding},
|
action_binding::{OxrSendActionBindings, OxrSuggestActionBinding},
|
||||||
@@ -7,7 +6,7 @@ use bevy_mod_openxr::{
|
|||||||
helper_traits::{ToQuat, ToVec3},
|
helper_traits::{ToQuat, ToVec3},
|
||||||
resources::{OxrFrameState, OxrInstance, Pipelined},
|
resources::{OxrFrameState, OxrInstance, Pipelined},
|
||||||
session::OxrSession,
|
session::OxrSession,
|
||||||
spaces::{ OxrSpaceLocationFlags, OxrSpaceSyncSet},
|
spaces::{OxrSpaceLocationFlags, OxrSpaceSyncSet},
|
||||||
};
|
};
|
||||||
use bevy_mod_xr::{
|
use bevy_mod_xr::{
|
||||||
session::{session_available, session_running, XrSessionCreated, XrTrackingRoot},
|
session::{session_available, session_running, XrSessionCreated, XrTrackingRoot},
|
||||||
@@ -55,16 +54,11 @@ impl Plugin for TrackingUtilitiesPlugin {
|
|||||||
app.add_systems(PreUpdate, update_view.after(update_head_transforms));
|
app.add_systems(PreUpdate, update_view.after(update_head_transforms));
|
||||||
|
|
||||||
//local floor transforms
|
//local floor transforms
|
||||||
//internal
|
|
||||||
app.add_systems(
|
app.add_systems(
|
||||||
PreUpdate,
|
PreUpdate,
|
||||||
update_local_floor_transforms.after(update_head_transforms),
|
update_local_floor_transforms.after(update_head_transforms),
|
||||||
);
|
);
|
||||||
//external
|
|
||||||
app.add_systems(
|
|
||||||
PreUpdate,
|
|
||||||
update_local_floor.after(update_local_floor_transforms),
|
|
||||||
);
|
|
||||||
//bindings
|
//bindings
|
||||||
app.add_systems(OxrSendActionBindings, suggest_action_bindings);
|
app.add_systems(OxrSendActionBindings, suggest_action_bindings);
|
||||||
//sync actions
|
//sync actions
|
||||||
@@ -78,13 +72,7 @@ impl Plugin for TrackingUtilitiesPlugin {
|
|||||||
app.add_systems(XrSessionCreated, attach_set);
|
app.add_systems(XrSessionCreated, attach_set);
|
||||||
//create actions
|
//create actions
|
||||||
app.add_systems(Startup, create_actions.run_if(session_available));
|
app.add_systems(Startup, create_actions.run_if(session_available));
|
||||||
//left grip
|
|
||||||
// .add_systems(
|
|
||||||
// PreUpdate,
|
|
||||||
// update_space_transforms
|
|
||||||
// .in_set(OxrSpaceSyncSet)
|
|
||||||
// .run_if(session_running),
|
|
||||||
// )
|
|
||||||
app.add_systems(PreUpdate, update_left_grip.after(OxrSpaceSyncSet));
|
app.add_systems(PreUpdate, update_left_grip.after(OxrSpaceSyncSet));
|
||||||
app.add_systems(PreUpdate, update_right_grip.after(OxrSpaceSyncSet));
|
app.add_systems(PreUpdate, update_right_grip.after(OxrSpaceSyncSet));
|
||||||
}
|
}
|
||||||
@@ -157,12 +145,9 @@ fn update_view(
|
|||||||
}
|
}
|
||||||
|
|
||||||
//local floor
|
//local floor
|
||||||
#[derive(Component)]
|
|
||||||
struct LocalFloor;
|
|
||||||
//internal
|
|
||||||
fn update_local_floor_transforms(
|
fn update_local_floor_transforms(
|
||||||
mut head_space: Query<&mut Transform, (With<HeadXRSpace>, Without<LocalFloor>)>,
|
mut head_space: Query<&mut Transform, (With<HeadXRSpace>, Without<XrTrackedLocalFloor>)>,
|
||||||
mut local_floor: Query<&mut Transform, (With<LocalFloor>, Without<HeadXRSpace>)>,
|
mut local_floor: Query<&mut Transform, (With<XrTrackedLocalFloor>, Without<HeadXRSpace>)>,
|
||||||
) {
|
) {
|
||||||
let head_transform = head_space.get_single_mut();
|
let head_transform = head_space.get_single_mut();
|
||||||
match head_transform {
|
match head_transform {
|
||||||
@@ -180,21 +165,6 @@ fn update_local_floor_transforms(
|
|||||||
Err(_) => (),
|
Err(_) => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//external
|
|
||||||
fn update_local_floor(
|
|
||||||
mut local_floor: Query<&mut Transform, (With<LocalFloor>, Without<XrTrackedLocalFloor>)>,
|
|
||||||
mut tracked_floor: Query<&mut Transform, (With<XrTrackedLocalFloor>, Without<LocalFloor>)>,
|
|
||||||
) {
|
|
||||||
let head_transform = local_floor.get_single_mut();
|
|
||||||
match head_transform {
|
|
||||||
Ok(head) => {
|
|
||||||
for (mut transform) in &mut tracked_floor {
|
|
||||||
*transform = head.clone();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Err(_) => (),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//left grip
|
//left grip
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
@@ -255,7 +225,7 @@ fn spawn_tracking_rig(
|
|||||||
let head = cmds
|
let head = cmds
|
||||||
.spawn((SpatialBundle::default(), HeadXRSpace(head_space)))
|
.spawn((SpatialBundle::default(), HeadXRSpace(head_space)))
|
||||||
.id();
|
.id();
|
||||||
let local_floor = cmds.spawn((SpatialBundle::default(), LocalFloor)).id();
|
// let local_floor = cmds.spawn((SpatialBundle::default(), LocalFloor)).id();
|
||||||
|
|
||||||
let left_space = session
|
let left_space = session
|
||||||
.create_action_space(&actions.left, openxr::Path::NULL, XrPose::IDENTITY)
|
.create_action_space(&actions.left, openxr::Path::NULL, XrPose::IDENTITY)
|
||||||
@@ -271,11 +241,11 @@ fn spawn_tracking_rig(
|
|||||||
.id();
|
.id();
|
||||||
|
|
||||||
cmds.entity(root.single())
|
cmds.entity(root.single())
|
||||||
.push_children(&[head, local_floor, left, right]);
|
.push_children(&[head, left, right]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//bindings
|
//bindings
|
||||||
//TODO figure out how to make these better
|
//TODO figure out how to make these better, specifically not be controller specific
|
||||||
fn suggest_action_bindings(
|
fn suggest_action_bindings(
|
||||||
actions: Res<ControllerActions>,
|
actions: Res<ControllerActions>,
|
||||||
mut bindings: EventWriter<OxrSuggestActionBinding>,
|
mut bindings: EventWriter<OxrSuggestActionBinding>,
|
||||||
|
|||||||
Reference in New Issue
Block a user