When using hand tracking in PC VRChat, I noticed that some incorrect animator tracking control settings in Gesture Animator may results some not expected behavior.
Details:
  1. As the first screenshot, if you toggle "Animation" for left fingers in Animator Tracking Control, when user trigger a gesture on left controller in VRChat client, avatar will play a hand animation on hand skeletions;
  2. As the second screenshot, if you toggle "Tracking" for left fingers in Animator Tracking Control, when user trigger a gesture on left controller in VRChat client, avatar will keep following with the skeleton data and plays a gesture;
How does this feature relate to the topic of hand tracking?
  • As my personal reseach with avatars, normally, most avatars is "animation" in gesture controller layers (same scenario as the first screenshot). And this breaked the visual experience of hand tracking.
  • When using hand tracking with VD, avatar fingers play gesture animation when I trigger a gesture, but as I expected it should keep following my fingers and plays nothing;
  • After I toggle "Tracking" for all fingers in VRC Animator Tracking Control, and re-upload my avatar, it behaves normal and keep following with my fingers when I trigger a gesture animation.
Why not we just let the skeleton inputs directly override those animation behavior in gesture animator?
The reason I believe this is necessary:
  1. Most users owned a Meta Quest 2 or 3, and it has a good experience with hand tracking. This feature will be a big goods for these users. As is, multiple manufactors are developing gloves, PCVR users will need it too.
  2. It's very easy to make a work around in Unity, just modify Animator Tracking Control settings, but when we considering that many users still using public avatars, is not possible to ask them fix this by themselves.
  3. It could be a option in client, same as "FBT Locomotion Animation" in FBT settings. We can disable it in avatar descriptor, but also users can cancel it in client.