fix openvr space drag
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user