Skip to content

Experimental: Meta Compatibility #1680

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

Merged
merged 7 commits into from
Apr 25, 2025
Merged

Conversation

rblenkinsopp
Copy link
Member

@rblenkinsopp rblenkinsopp commented Feb 25, 2025

Summary

This adds an experimental feature to the OpenXR provider to adapt data from Meta's OpenXR hand-tracking to better match LeapC positions. This enables Capsule hand to look more natural and fixes rigging issues with hand-models which expect LeapC data.

Contributor Tasks

  • Create or edit test cases here
  • Add a CHANGELOG entry for this change.
  • Ensure documentation requirements are met e.g., public API is commented.
  • Consider any licensing/other legal implications for this MR e.g. notices required by any new libraries.

Test Cycle

Link to the test cycle here.

Reviewer Tasks

  • Code reviewed.
  • Non-code assets e.g. Unity assets/scenes reviewed.
  • All tests must be ran and cover all scenarios (If not, add new tests to the cycle and run them).
  • Documentation has been reviewed.
  • Approve with a comment of any additional tests run or any observations.

Related JIRA Issues

If this MR closes any JIRA issues list them below in the form Closes PROJECT-#

Pull Request Templates

Switch template by going to preview and clicking the link - note it will not work if you've made any changes to the description.

You are currently using: default.md

Note: these links work by overwriting query parameters of the current url. If the current url contains any you may want to amend the url with &template=name.md instead of using the link. See query parameter docs for more information.

@rblenkinsopp rblenkinsopp self-assigned this Feb 25, 2025
@rblenkinsopp
Copy link
Member Author

External feedback from @Dwarph:

I can get capsule hands working, but rigged hands don't seem to be playing ball for me (e.g. Ghost Hands) as in not mapping to the hands whatsoever.

Added comment as to the source of the conversion factor values for converting data between LeapC and Meta (OpenXR data).
@MaxPalmer-UH
Copy link
Contributor

I'm happy with this, given its experimental state. Hand looks much better, with only a slight oddity at the base of the little finger but that could easily be the mesh/shader.

Copy link
Contributor

@MaxPalmer-UH MaxPalmer-UH left a comment

Choose a reason for hiding this comment

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

One minor fix to the header attribute location but otherwise good,

@MaxPalmer-UH
Copy link
Contributor

@rblenkinsopp do you want to take this out of draft?

@rblenkinsopp
Copy link
Member Author

rblenkinsopp commented Apr 25, 2025

Do you have a screenshot of the slight oddity you were referring to, if we are 90% there it would be nice to get the last 10% done as well:).

I take it you were unable to reproduce the issue that @Dwarph was seeing?

Either way I will take it out of draft as it's functional and we are just resolving any remaining issues.

@MaxPalmer-UH
Copy link
Contributor

MaxPalmer-UH commented Apr 25, 2025

I didn't need to re-rig anything for it to work. The existing mesh worked fine. I'll manually test it on Monday.

This is a video, to be honest it's not that significant - it just looked slightly odd from some angles, like the proximal joint was lower than expected. Probably a symptom of how the outline is rendering.

com.oculus.metacam-20250425-170615-0.mp4

@rblenkinsopp
Copy link
Member Author

rblenkinsopp commented Apr 25, 2025

Ah yes, I see what you mean. I think we should merge this as-is and we can look to improve on that if required.

@rblenkinsopp rblenkinsopp marked this pull request as ready for review April 25, 2025 16:59
@rblenkinsopp rblenkinsopp merged commit 4c24677 into develop Apr 25, 2025
@rblenkinsopp rblenkinsopp deleted the rcb/meta-compatibility branch April 25, 2025 19:46
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.

2 participants