Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ✨ Add eye and lip tracking on Vive #2695

Merged
merged 4 commits into from
Feb 23, 2025
Merged

feat: ✨ Add eye and lip tracking on Vive #2695

merged 4 commits into from
Feb 23, 2025

Conversation

zmerp
Copy link
Member

@zmerp zmerp commented Feb 10, 2025

Tested and working on the Focus Vision. because of a limitation of the runtime, the tracker objects can only be initialized at startup.

@zmerp zmerp force-pushed the htc-face-tracking branch from cd7f196 to 7172a49 Compare February 10, 2025 11:31
@zmerp zmerp force-pushed the htc-face-tracking branch from 7172a49 to 0bd3efc Compare February 10, 2025 11:32
@zmerp zmerp marked this pull request as ready for review February 16, 2025 01:20
Copy link
Collaborator

@The-personified-devil The-personified-devil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, apart from that one subjective nit

Comment on lines +35 to +46
let expression_count = if facial_tracking_type == sys::FacialTrackingTypeHTC::EYE_DEFAULT
&& props.support_eye_facial_tracking.into()
{
sys::FACIAL_EXPRESSION_EYE_COUNT_HTC
} else if facial_tracking_type == sys::FacialTrackingTypeHTC::LIP_DEFAULT
&& props.support_lip_facial_tracking.into()
{
sys::FACIAL_EXPRESSION_LIP_COUNT_HTC
} else {
return Err(sys::Result::ERROR_FEATURE_UNSUPPORTED);
};

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit hard to understand, maybe a match would be better? And/or actually nesting the conditions

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure you can make this any better with a match, we are checking different variables for each branch

@@ -64,6 +85,8 @@ impl FacialTrackerHTC {
))?;

if facial_expressions.is_active.into() {
weights.set_len(self.expression_count);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm truly surprised, but apparently this is the right way to do ffi with vectors 👍

@zmerp zmerp merged commit f3610e2 into master Feb 23, 2025
8 checks passed
@zmerp zmerp deleted the htc-face-tracking branch February 23, 2025 15:03
zmerp added a commit that referenced this pull request Mar 9, 2025
* feat: ✨ Add eye and lip tracking on Vive

* log htc face data in lobby

* undo debugging changes + minor refactoring

* force initialization at startup

---------

Co-authored-by: Awzri <[email protected]>
@zmerp zmerp mentioned this pull request Mar 9, 2025
zmerp added a commit that referenced this pull request Mar 11, 2025
* feat: ✨ Add eye and lip tracking on Vive

* log htc face data in lobby

* undo debugging changes + minor refactoring

* force initialization at startup

---------

Co-authored-by: Awzri <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants