correct pipelining
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
// a simple example showing basic actions using the xr utils actions
|
||||
use bevy::{math::vec3, prelude::*};
|
||||
use bevy_openxr::{
|
||||
add_xr_plugins, helper_traits::ToQuat, init::OxrTrackingRoot, resources::OxrViews,
|
||||
};
|
||||
use bevy_openxr::{add_xr_plugins, helper_traits::ToQuat, resources::OxrViews};
|
||||
use bevy_xr::session::XrTrackingRoot;
|
||||
use bevy_xr_utils::xr_utils_actions::{
|
||||
ActiveSet, XRUtilsAction, XRUtilsActionSet, XRUtilsActionState, XRUtilsActionSystemSet,
|
||||
XRUtilsActionsPlugin, XRUtilsBinding,
|
||||
@@ -114,7 +113,7 @@ fn read_action_with_marker_component(
|
||||
//lets add some flycam stuff
|
||||
fn handle_flight_input(
|
||||
action_query: Query<&XRUtilsActionState, With<FlightActionMarker>>,
|
||||
mut oxr_root: Query<&mut Transform, With<OxrTrackingRoot>>,
|
||||
mut oxr_root: Query<&mut Transform, With<XrTrackingRoot>>,
|
||||
time: Res<Time>,
|
||||
//use the views for hmd orientation
|
||||
views: ResMut<OxrViews>,
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
use bevy::prelude::*;
|
||||
use bevy_openxr::{add_xr_plugins, init::OxrInitPlugin, types::OxrExtensions};
|
||||
use bevy_xr::session::XrStatus;
|
||||
use openxr::EnvironmentBlendMode;
|
||||
use wgpu::TextureFormat;
|
||||
use bevy_xr::session::XrState;
|
||||
// use openxr::EnvironmentBlendMode;
|
||||
// use wgpu::TextureFormat;
|
||||
|
||||
fn main() {
|
||||
App::new()
|
||||
@@ -40,11 +40,12 @@ fn main() {
|
||||
|
||||
fn handle_input(
|
||||
keys: Res<ButtonInput<KeyCode>>,
|
||||
mut end: EventWriter<bevy_xr::session::EndXrSession>,
|
||||
mut _destroy: EventWriter<bevy_xr::session::DestroyXrSession>,
|
||||
mut _begin: EventWriter<bevy_xr::session::BeginXrSession>,
|
||||
mut create: EventWriter<bevy_xr::session::CreateXrSession>,
|
||||
state: Res<XrStatus>,
|
||||
mut end: EventWriter<bevy_xr::session::XrEndSessionEvent>,
|
||||
mut destroy: EventWriter<bevy_xr::session::XrDestroySessionEvent>,
|
||||
mut begin: EventWriter<bevy_xr::session::XrBeginSessionEvent>,
|
||||
mut create: EventWriter<bevy_xr::session::XrCreateSessionEvent>,
|
||||
mut request_exit: EventWriter<bevy_xr::session::XrRequestExitEvent>,
|
||||
state: Res<XrState>,
|
||||
) {
|
||||
if keys.just_pressed(KeyCode::KeyE) {
|
||||
info!("sending end");
|
||||
@@ -54,6 +55,18 @@ fn handle_input(
|
||||
info!("sending create");
|
||||
create.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyD) {
|
||||
info!("sending destroy");
|
||||
destroy.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyB) {
|
||||
info!("sending begin");
|
||||
begin.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyR) {
|
||||
info!("sending request exit");
|
||||
request_exit.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyI) {
|
||||
info!("current state: {:?}", *state);
|
||||
}
|
||||
|
||||
@@ -6,13 +6,13 @@ use bevy_openxr::{
|
||||
action_set_attaching::OxrAttachActionSet,
|
||||
action_set_syncing::{OxrActionSetSyncSet, OxrSyncActionSet},
|
||||
add_xr_plugins,
|
||||
init::OxrTrackingRoot,
|
||||
init::create_xr_session,
|
||||
resources::OxrInstance,
|
||||
session::OxrSession,
|
||||
spaces::OxrSpaceExt,
|
||||
};
|
||||
use bevy_xr::{
|
||||
session::{session_available, XrSessionCreated},
|
||||
session::{session_available, XrCreateSession, XrTrackingRoot},
|
||||
spaces::XrSpace,
|
||||
types::XrPose,
|
||||
};
|
||||
@@ -21,8 +21,8 @@ use openxr::Posef;
|
||||
fn main() {
|
||||
let mut app = App::new();
|
||||
app.add_plugins(add_xr_plugins(DefaultPlugins));
|
||||
app.add_systems(XrSessionCreated, spawn_hands);
|
||||
app.add_systems(XrSessionCreated, attach_set);
|
||||
app.add_systems(XrCreateSession, spawn_hands.after(create_xr_session));
|
||||
app.add_systems(XrCreateSession, attach_set.after(create_xr_session));
|
||||
app.add_systems(PreUpdate, sync_actions.before(OxrActionSetSyncSet));
|
||||
app.add_systems(OxrSendActionBindings, suggest_action_bindings);
|
||||
app.add_systems(Startup, create_actions.run_if(session_available));
|
||||
@@ -108,7 +108,7 @@ fn create_actions(instance: Res<OxrInstance>, mut cmds: Commands) {
|
||||
fn spawn_hands(
|
||||
actions: Res<ControllerActions>,
|
||||
mut cmds: Commands,
|
||||
root: Query<Entity, With<OxrTrackingRoot>>,
|
||||
root: Query<Entity, With<XrTrackingRoot>>,
|
||||
session: Res<OxrSession>,
|
||||
mut meshes: ResMut<Assets<Mesh>>,
|
||||
mut materials: ResMut<Assets<StandardMaterial>>,
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
use bevy::prelude::*;
|
||||
use bevy_openxr::add_xr_plugins;
|
||||
use bevy_xr::session::{ XrStatus};
|
||||
use bevy_xr::session::{XrSessionPlugin, XrState};
|
||||
|
||||
fn main() {
|
||||
App::new()
|
||||
.add_plugins(add_xr_plugins(DefaultPlugins))
|
||||
.add_plugins(add_xr_plugins(DefaultPlugins).set(XrSessionPlugin { auto_handle: false }))
|
||||
.add_plugins(bevy_xr_utils::hand_gizmos::HandGizmosPlugin)
|
||||
.add_systems(Startup, setup)
|
||||
.add_systems(Update, handle_input)
|
||||
@@ -16,11 +16,12 @@ fn main() {
|
||||
|
||||
fn handle_input(
|
||||
keys: Res<ButtonInput<KeyCode>>,
|
||||
mut end: EventWriter<bevy_xr::session::EndXrSession>,
|
||||
mut _destroy: EventWriter<bevy_xr::session::DestroyXrSession>,
|
||||
mut _begin: EventWriter<bevy_xr::session::BeginXrSession>,
|
||||
mut create: EventWriter<bevy_xr::session::CreateXrSession>,
|
||||
state: Res<XrStatus>,
|
||||
mut end: EventWriter<bevy_xr::session::XrEndSessionEvent>,
|
||||
mut destroy: EventWriter<bevy_xr::session::XrDestroySessionEvent>,
|
||||
mut begin: EventWriter<bevy_xr::session::XrBeginSessionEvent>,
|
||||
mut create: EventWriter<bevy_xr::session::XrCreateSessionEvent>,
|
||||
mut request_exit: EventWriter<bevy_xr::session::XrRequestExitEvent>,
|
||||
state: Res<XrState>,
|
||||
) {
|
||||
if keys.just_pressed(KeyCode::KeyE) {
|
||||
info!("sending end");
|
||||
@@ -30,6 +31,18 @@ fn handle_input(
|
||||
info!("sending create");
|
||||
create.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyD) {
|
||||
info!("sending destroy");
|
||||
destroy.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyB) {
|
||||
info!("sending begin");
|
||||
begin.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyR) {
|
||||
info!("sending request exit");
|
||||
request_exit.send_default();
|
||||
}
|
||||
if keys.just_pressed(KeyCode::KeyI) {
|
||||
info!("current state: {:?}", *state);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user