Add Meta full-body support to lovr.headset.getSkeleton('body') - #1003
Add Meta full-body support to lovr.headset.getSkeleton('body')#1003jsepulveda-nvidia wants to merge 2 commits into
Conversation
Previously getSkeleton('body') only ever queried the BD tracker
(XR_BD_body_tracking, 24 fixed joints), ignoring the FB/Meta tracker
entirely even when XR_META_body_tracking_full_body was active. It now
prefers the Meta full-body tracker (84 joints, positions +
orientations) when active, falling back to BD otherwise, and reports
the actual joint count and source ("bd"/"meta") back to Lua instead of
assuming a fixed 24.
|
Thanks for the PR. I don't think it's very good to return 3 different kinds of skeletons from Instead, we probably need to massage the underlying data into a consistent format, either by picking a lowest-common-denominator skeleton or returning empty data for unsupported joints. Alternatively, we could continue the current strategy of doing nothing and waiting for an EXT extension 😄 It's probably worth opening an issue to discuss what the universal body skeleton should look like. I'd be interested in contributing to it when I have time. |
|
There's also this old body tracking issue that could get resurrected #840 |
HTC body skeleton support will not be pursued in the near term. Drops the HTC body tracker creation/destruction, extension registration, XrSystemBodyTrackingPropertiesHTC query, and the htc output of lovrHeadsetGetBodyTrackingProviders(), keeping BD and Meta full-body tracking.
Previously getSkeleton('body') only ever queried the BD tracker (XR_BD_body_tracking, 24 fixed joints), ignoring the FB/Meta tracker entirely even when XR_META_body_tracking_full_body was active. It now prefers the Meta full-body tracker (84 joints, positions + orientations) when active, falling back to BD otherwise, and reports the actual joint count and source ("bd"/"meta") back to Lua instead of assuming a fixed 24.