openvr: smoother rotate

This commit is contained in:
galister
2024-03-10 20:56:13 +01:00
parent cb12357d68
commit 4679961cb2

View File

@@ -49,7 +49,8 @@ impl PlayspaceMover {
return; return;
} }
let new_hand = Quat::from_affine3(&state.input_state.pointers[data.hand].raw_pose); let new_hand =
Quat::from_affine3(&(data.pose * state.input_state.pointers[data.hand].raw_pose));
let dq = new_hand * data.hand_pose.conjugate(); let dq = new_hand * data.hand_pose.conjugate();
let rel_y = f32::atan2( let rel_y = f32::atan2(
@@ -89,7 +90,7 @@ impl PlayspaceMover {
log::warn!("Can't space rotate - failed to get zero pose"); log::warn!("Can't space rotate - failed to get zero pose");
return; return;
}; };
let hand_pose = Quat::from_affine3(&pointer.raw_pose); let hand_pose = Quat::from_affine3(&(mat * pointer.raw_pose));
self.rotate = Some(MoverData { self.rotate = Some(MoverData {
pose: mat, pose: mat,
hand: i, hand: i,