slight cleaning
This commit is contained in:
@@ -271,8 +271,7 @@ pub fn update_hand_states(
|
||||
}
|
||||
}
|
||||
|
||||
fn draw_skeleton_hands(
|
||||
mut gizmos: Gizmos,
|
||||
fn update_emulated_hand_skeletons(
|
||||
right_controller_query: Query<(&GlobalTransform, With<OpenXRRightController>)>,
|
||||
left_controller_query: Query<(&GlobalTransform, With<OpenXRLeftController>)>,
|
||||
hand_states_option: Option<ResMut<HandStatesResource>>,
|
||||
@@ -285,8 +284,7 @@ fn draw_skeleton_hands(
|
||||
.unwrap()
|
||||
.0
|
||||
.compute_transform();
|
||||
draw_hand_bones(
|
||||
&mut gizmos,
|
||||
update_hand_bones_emulated(
|
||||
left_hand_transform,
|
||||
Hand::Left,
|
||||
hands.left,
|
||||
@@ -297,9 +295,7 @@ fn draw_skeleton_hands(
|
||||
.unwrap()
|
||||
.0
|
||||
.compute_transform();
|
||||
// draw_hand(&mut gizmos, right_hand_transform, Hand::Right);
|
||||
draw_hand_bones(
|
||||
&mut gizmos,
|
||||
update_hand_bones_emulated(
|
||||
right_hand_transform,
|
||||
Hand::Right,
|
||||
hands.right,
|
||||
@@ -474,8 +470,7 @@ fn get_bone_gizmo_style(hand_bone: &HandBone) -> (f32, Color) {
|
||||
}
|
||||
}
|
||||
|
||||
fn draw_hand_bones(
|
||||
mut gizmos: &mut Gizmos,
|
||||
fn update_hand_bones_emulated(
|
||||
controller_transform: Transform,
|
||||
hand: Hand,
|
||||
hand_state: HandState,
|
||||
@@ -503,49 +498,26 @@ fn draw_hand_bones(
|
||||
let grip_curl = hand_state.grip;
|
||||
let index_curl = hand_state.get_index_curl();
|
||||
let thumb_curl = hand_state.get_thumb_curl();
|
||||
//get paml quat
|
||||
//get palm quat
|
||||
let y = Quat::from_rotation_y(-90.0 * PI / 180.0);
|
||||
let x = Quat::from_rotation_x(-90.0 * PI / 180.0);
|
||||
let palm_quat = controller_quat.mul_quat(y).mul_quat(x);
|
||||
//draw debug rays
|
||||
// gizmos.ray(
|
||||
// hand_translation,
|
||||
// palm_quat.mul_vec3(Vec3::Z * 0.2),
|
||||
// Color::BLUE,
|
||||
// );
|
||||
// gizmos.ray(
|
||||
// hand_translation,
|
||||
// palm_quat.mul_vec3(Vec3::Y * 0.2),
|
||||
// Color::GREEN,
|
||||
// );
|
||||
// gizmos.ray(
|
||||
// hand_translation,
|
||||
// palm_quat.mul_vec3(Vec3::X * 0.2),
|
||||
// Color::RED,
|
||||
// );
|
||||
//get simulated bones
|
||||
let hand_transform_array: [Transform; 26] = get_simulated_open_hand_transforms(hand);
|
||||
//draw controller-palm bone(should be zero length)
|
||||
//palm
|
||||
let palm = hand_transform_array[HandJoint::PALM];
|
||||
gizmos.ray(hand_translation, palm.translation, Color::WHITE);
|
||||
calc_transforms[HandJoint::PALM] = Transform {
|
||||
translation: hand_translation + palm.translation,
|
||||
..default()
|
||||
};
|
||||
//draw palm-wrist
|
||||
//wrist
|
||||
let wrist = hand_transform_array[HandJoint::WRIST];
|
||||
gizmos.ray(
|
||||
hand_translation + palm.translation,
|
||||
palm_quat.mul_vec3(wrist.translation),
|
||||
Color::GRAY,
|
||||
);
|
||||
calc_transforms[HandJoint::WRIST] = Transform {
|
||||
translation: hand_translation + palm.translation + palm_quat.mul_vec3(wrist.translation),
|
||||
..default()
|
||||
};
|
||||
|
||||
//thumb
|
||||
//better finger drawing?
|
||||
let thumb_joints = [
|
||||
HandJoint::THUMB_METACARPAL,
|
||||
HandJoint::THUMB_PROXIMAL,
|
||||
@@ -555,7 +527,6 @@ fn draw_hand_bones(
|
||||
let mut prior_start: Option<Vec3> = None;
|
||||
let mut prior_quat: Option<Quat> = None;
|
||||
let mut prior_vector: Option<Vec3> = None;
|
||||
let color = Color::RED;
|
||||
let splay = Quat::from_rotation_y(splay_direction * 30.0 * PI / 180.0);
|
||||
let huh = Quat::from_rotation_x(-35.0 * PI / 180.0);
|
||||
let splay_quat = palm_quat.mul_quat(huh).mul_quat(splay);
|
||||
@@ -568,7 +539,6 @@ fn draw_hand_bones(
|
||||
let thumb_prox = hand_transform_array[*bone];
|
||||
let tp_start = start + prior_vector.unwrap();
|
||||
let tp_vector = tp_quat.mul_vec3(thumb_prox.translation);
|
||||
gizmos.ray(tp_start, tp_vector, color);
|
||||
prior_start = Some(tp_start);
|
||||
prior_quat = Some(tp_quat);
|
||||
prior_vector = Some(tp_vector);
|
||||
@@ -584,7 +554,6 @@ fn draw_hand_bones(
|
||||
+ palm_quat.mul_vec3(palm.translation)
|
||||
+ palm_quat.mul_vec3(wrist.translation);
|
||||
let tm_vector = palm_quat.mul_vec3(thumb_meta.translation);
|
||||
gizmos.ray(tm_start, tm_vector, color);
|
||||
prior_start = Some(tm_start);
|
||||
prior_quat = Some(splay_quat);
|
||||
prior_vector = Some(tm_vector);
|
||||
@@ -598,7 +567,6 @@ fn draw_hand_bones(
|
||||
}
|
||||
|
||||
//index
|
||||
//better finger drawing?
|
||||
let thumb_joints = [
|
||||
HandJoint::INDEX_METACARPAL,
|
||||
HandJoint::INDEX_PROXIMAL,
|
||||
@@ -609,7 +577,6 @@ fn draw_hand_bones(
|
||||
let mut prior_start: Option<Vec3> = None;
|
||||
let mut prior_quat: Option<Quat> = None;
|
||||
let mut prior_vector: Option<Vec3> = None;
|
||||
let color = Color::ORANGE;
|
||||
let splay = Quat::from_rotation_y(splay_direction * 10.0 * PI / 180.0);
|
||||
let splay_quat = palm_quat.mul_quat(splay);
|
||||
for bone in thumb_joints.iter() {
|
||||
@@ -621,7 +588,6 @@ fn draw_hand_bones(
|
||||
let thumb_prox = hand_transform_array[*bone];
|
||||
let tp_start = start + prior_vector.unwrap();
|
||||
let tp_vector = tp_quat.mul_vec3(thumb_prox.translation);
|
||||
gizmos.ray(tp_start, tp_vector, color);
|
||||
prior_start = Some(tp_start);
|
||||
prior_quat = Some(tp_quat);
|
||||
prior_vector = Some(tp_vector);
|
||||
@@ -637,7 +603,6 @@ fn draw_hand_bones(
|
||||
+ palm_quat.mul_vec3(palm.translation)
|
||||
+ palm_quat.mul_vec3(wrist.translation);
|
||||
let tm_vector = palm_quat.mul_vec3(thumb_meta.translation);
|
||||
gizmos.ray(tm_start, tm_vector, color);
|
||||
prior_start = Some(tm_start);
|
||||
prior_quat = Some(splay_quat);
|
||||
prior_vector = Some(tm_vector);
|
||||
@@ -650,7 +615,7 @@ fn draw_hand_bones(
|
||||
}
|
||||
}
|
||||
|
||||
//better finger drawing?
|
||||
//middle
|
||||
let thumb_joints = [
|
||||
HandJoint::MIDDLE_METACARPAL,
|
||||
HandJoint::MIDDLE_PROXIMAL,
|
||||
@@ -661,7 +626,6 @@ fn draw_hand_bones(
|
||||
let mut prior_start: Option<Vec3> = None;
|
||||
let mut prior_quat: Option<Quat> = None;
|
||||
let mut prior_vector: Option<Vec3> = None;
|
||||
let color = Color::YELLOW;
|
||||
let splay = Quat::from_rotation_y(splay_direction * 0.0 * PI / 180.0);
|
||||
let splay_quat = palm_quat.mul_quat(splay);
|
||||
for bone in thumb_joints.iter() {
|
||||
@@ -673,7 +637,6 @@ fn draw_hand_bones(
|
||||
let thumb_prox = hand_transform_array[*bone];
|
||||
let tp_start = start + prior_vector.unwrap();
|
||||
let tp_vector = tp_quat.mul_vec3(thumb_prox.translation);
|
||||
gizmos.ray(tp_start, tp_vector, color);
|
||||
prior_start = Some(tp_start);
|
||||
prior_quat = Some(tp_quat);
|
||||
prior_vector = Some(tp_vector);
|
||||
@@ -689,7 +652,6 @@ fn draw_hand_bones(
|
||||
+ palm_quat.mul_vec3(palm.translation)
|
||||
+ palm_quat.mul_vec3(wrist.translation);
|
||||
let tm_vector = palm_quat.mul_vec3(thumb_meta.translation);
|
||||
gizmos.ray(tm_start, tm_vector, color);
|
||||
prior_start = Some(tm_start);
|
||||
prior_quat = Some(splay_quat);
|
||||
prior_vector = Some(tm_vector);
|
||||
@@ -701,7 +663,7 @@ fn draw_hand_bones(
|
||||
}
|
||||
}
|
||||
}
|
||||
//better finger drawing?
|
||||
//ring
|
||||
let thumb_joints = [
|
||||
HandJoint::RING_METACARPAL,
|
||||
HandJoint::RING_PROXIMAL,
|
||||
@@ -712,7 +674,6 @@ fn draw_hand_bones(
|
||||
let mut prior_start: Option<Vec3> = None;
|
||||
let mut prior_quat: Option<Quat> = None;
|
||||
let mut prior_vector: Option<Vec3> = None;
|
||||
let color = Color::GREEN;
|
||||
let splay = Quat::from_rotation_y(splay_direction * -10.0 * PI / 180.0);
|
||||
let splay_quat = palm_quat.mul_quat(splay);
|
||||
for bone in thumb_joints.iter() {
|
||||
@@ -724,7 +685,6 @@ fn draw_hand_bones(
|
||||
let thumb_prox = hand_transform_array[*bone];
|
||||
let tp_start = start + prior_vector.unwrap();
|
||||
let tp_vector = tp_quat.mul_vec3(thumb_prox.translation);
|
||||
gizmos.ray(tp_start, tp_vector, color);
|
||||
prior_start = Some(tp_start);
|
||||
prior_quat = Some(tp_quat);
|
||||
prior_vector = Some(tp_vector);
|
||||
@@ -740,7 +700,6 @@ fn draw_hand_bones(
|
||||
+ palm_quat.mul_vec3(palm.translation)
|
||||
+ palm_quat.mul_vec3(wrist.translation);
|
||||
let tm_vector = palm_quat.mul_vec3(thumb_meta.translation);
|
||||
gizmos.ray(tm_start, tm_vector, color);
|
||||
prior_start = Some(tm_start);
|
||||
prior_quat = Some(splay_quat);
|
||||
prior_vector = Some(tm_vector);
|
||||
@@ -753,7 +712,7 @@ fn draw_hand_bones(
|
||||
}
|
||||
}
|
||||
|
||||
//better finger drawing?
|
||||
//little
|
||||
let thumb_joints = [
|
||||
HandJoint::LITTLE_METACARPAL,
|
||||
HandJoint::LITTLE_PROXIMAL,
|
||||
@@ -764,7 +723,6 @@ fn draw_hand_bones(
|
||||
let mut prior_start: Option<Vec3> = None;
|
||||
let mut prior_quat: Option<Quat> = None;
|
||||
let mut prior_vector: Option<Vec3> = None;
|
||||
let color = Color::BLUE;
|
||||
let splay = Quat::from_rotation_y(splay_direction * -20.0 * PI / 180.0);
|
||||
let splay_quat = palm_quat.mul_quat(splay);
|
||||
for bone in thumb_joints.iter() {
|
||||
@@ -776,7 +734,6 @@ fn draw_hand_bones(
|
||||
let thumb_prox = hand_transform_array[*bone];
|
||||
let tp_start = start + prior_vector.unwrap();
|
||||
let tp_vector = tp_quat.mul_vec3(thumb_prox.translation);
|
||||
gizmos.ray(tp_start, tp_vector, color);
|
||||
prior_start = Some(tp_start);
|
||||
prior_quat = Some(tp_quat);
|
||||
prior_vector = Some(tp_vector);
|
||||
@@ -792,7 +749,6 @@ fn draw_hand_bones(
|
||||
+ palm_quat.mul_vec3(palm.translation)
|
||||
+ palm_quat.mul_vec3(wrist.translation);
|
||||
let tm_vector = palm_quat.mul_vec3(thumb_meta.translation);
|
||||
gizmos.ray(tm_start, tm_vector, color);
|
||||
prior_start = Some(tm_start);
|
||||
prior_quat = Some(splay_quat);
|
||||
prior_vector = Some(tm_vector);
|
||||
|
||||
Reference in New Issue
Block a user