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;
}
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 rel_y = f32::atan2(
@@ -89,7 +90,7 @@ impl PlayspaceMover {
log::warn!("Can't space rotate - failed to get zero pose");
return;
};
let hand_pose = Quat::from_affine3(&pointer.raw_pose);
let hand_pose = Quat::from_affine3(&(mat * pointer.raw_pose));
self.rotate = Some(MoverData {
pose: mat,
hand: i,