From 3137e2114e1fb542cfff4058c2c2c4e73a8b86c5 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 28 Jan 2025 12:56:38 -0500 Subject: Mouth --- src/common/overlay.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/common/overlay.rs b/src/common/overlay.rs index d7a0d87..dd69040 100644 --- a/src/common/overlay.rs +++ b/src/common/overlay.rs @@ -16,6 +16,7 @@ pub struct Overlay { terminal: terminal::Terminal, fig: fig::Client, tracking_eyes: (f32, f32), + tracking_mouth: f32, tracking_neck: glam::Quat, } @@ -44,6 +45,7 @@ impl Overlay { sexp!((avatar tracking)), ]), tracking_eyes: (1.0, 1.0), + tracking_mouth: 0.0, tracking_neck: glam::Quat::IDENTITY, } } @@ -51,11 +53,13 @@ impl Overlay { let eyes = msg.data.get(0)?; let eye_left = eyes.get(0)?.as_str()?.parse::().ok()?; let eye_right = eyes.get(1)?.as_str()?.parse::().ok()?; - let euler = msg.data.get(1)?; + let mouth = msg.data.get(1)?.as_str()?.parse::().ok()?; + let euler = msg.data.get(2)?; let euler_x = euler.get(0)?.as_str()?.parse::().ok()?.to_radians(); let euler_y = PI - euler.get(1)?.as_str()?.parse::().ok()?.to_radians(); let euler_z = euler.get(2)?.as_str()?.parse::().ok()?.to_radians() + PI/2.0; self.tracking_eyes = (eye_left, eye_right); + self.tracking_mouth = mouth; self.tracking_neck = glam::Quat::from_euler(glam::EulerRot::XYZ, euler_x, euler_y, euler_z); Some(()) } -- cgit v1.2.3