fix openvr space drag

This commit is contained in:
galister
2024-02-01 20:11:34 +01:00
parent c9ac5f5bb3
commit 279778d5a6
2 changed files with 4 additions and 3 deletions

View File

@@ -400,7 +400,7 @@ impl Pointer {
offset, offset,
grabbed_id: overlay.state.id, grabbed_id: overlay.state.id,
}); });
log::debug!("Hand {}: grabbed {}", self.idx, overlay.state.name); log::info!("Hand {}: grabbed {}", self.idx, overlay.state.name);
} }
fn handle_grabbed<O>(&mut self, overlay: &mut OverlayData<O>, hmd: &Affine3A) fn handle_grabbed<O>(&mut self, overlay: &mut OverlayData<O>, hmd: &Affine3A)

View File

@@ -35,14 +35,15 @@ impl PlayspaceMover {
} }
let hand_pos = state.input_state.pointers[hand].pose.translation; let hand_pos = state.input_state.pointers[hand].pose.translation;
let relative_pos = hand_pos - self.start_position;
overlays.iter_mut().for_each(|overlay| { overlays.iter_mut().for_each(|overlay| {
if overlay.state.grabbable { if overlay.state.grabbable {
overlay.state.transform.translation += hand_pos * -1.0; overlay.state.transform.translation += relative_pos * -1.0;
} }
}); });
self.offset += hand_pos; self.offset += relative_pos;
self.apply_offset(chaperone_mgr); self.apply_offset(chaperone_mgr);
} else { } else {
for (i, pointer) in state.input_state.pointers.iter().enumerate() { for (i, pointer) in state.input_state.pointers.iter().enumerate() {