ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.11k stars 1.28k forks source link

[BUG] flFingerCurl in VRSkeletalSummaryData_t jumps to 1.0 when fingers bend backwards #1603

Open shinyquagsire23 opened 3 years ago

shinyquagsire23 commented 3 years ago

Summary Pretty much exactly what it says in the title. The finger curl generated from the VRBoneTransform does not account for fingers being bent backwards, which is particularly noticeable on a Full skeletal tracking setup. Notably, this causes Boneworks to randomly clench fingers in an open-palm pose, and the per-finger gauges on The Lab's hands will randomly flash full despite the hand being open.

Video recreation: https://www.youtube.com/watch?v=rmN0Y_hCm1E

Recreation instructions: The input device in question is https://github.com/shinyquagsire23/driver_leap with an Ultraleap IR170 and the v5 ("Gemini") version of tracking. v5 in particular has some improvements in backwards rotation, so it was something I had looked at in some SteamVR apps out of curiosity (as a side note, while I do work for Ultraleap, this particular driver is purely a personal endeavor, at least for now).

I also included in the repository a fork of the OpenGL sample which draws all the skeleton points+rotations and prints out the right hand's flFingerCurl values, as seen in the video.

shinyquagsire23 commented 2 years ago

still happening on SteamVR beta 1.22.6