[ input 2.0 ] Support hand tracking skeleton inputs override gesture animations
tracked
Anten
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:
- 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;
- 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:
- 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.
- 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.
- 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.
Log In
Kung
tracked
Kung
Thank you for the detailed report. As you've noted it's true that you are able to avoid this by disabling gestures, but it's also true that this will disable everything that depends on the gesture parameters. Because our default SDK example doesn't have tracking control state behaviors on the hand states, for now we consider that these were added manually by creators and the function of the tracking control is to override tracking with animation if specified, so this would be considered working as intended.
It's understandable that creators may have been setting the tracking control to override with animation due to the lower fidelity of skeletal tracking available in the past (not expecting high fidelity hand tracking for creating accurate poses like peace sign with finger spread etc) and so they felt the need to override with animation, and so this is a new situation now that higher fidelity skeletal tracking may be becoming more normal. We'll continue to observe if this requires some new custom behavior, so thank you for creating this feedback post.
For the near term we consider the tracking control when set to override tracking with animation as working as intended. So for now the recommended action would be either to disable gestures or to upload the avatar without setting tracking control to animation.
Anten
Kung Thanks for reply! yeah, some avatar creators may set to Animation so Victory, Open, RocknRoll gestures will be more pretty in game. But for now high-percision hand tracking are also triggering gesture parameters.
- The first time I realized this issue is the time input 2.0 comes to OB, and I realized that how it widely affected legacy avatars when I do some check before I purchase my gloves. My girlfriend also wish one but she met the problem with animated hand gestures. At last she give up. So personally I wish this "client behavior" can come to live.
Anten
Update 1 : My friend tell me that I can simply disable avatar gesture in MainMenu / Settings / Avatar. Ah… sounds it should can be work. But also it means I can't use gesture emote anyway.