@@ -528,22 +528,25 @@ public void UpdateDeviceInput(IVRModuleDeviceStateRW state, bool isLeft)
528528
529529 var indexCurl = GetFingerCurl ( state , HandJointName . IndexTip ) ;
530530 var middleCurl = GetFingerCurl ( state , HandJointName . MiddleTip ) ;
531- var ringCurl = GetFingerCurl ( state , HandJointName . MiddleTip ) ;
531+ var ringCurl = GetFingerCurl ( state , HandJointName . RingTip ) ;
532532 var pinkyCurl = GetFingerCurl ( state , HandJointName . PinkyTip ) ;
533+ var curlAvg = ( indexCurl + middleCurl + ringCurl + pinkyCurl ) * 0.25f ;
534+
533535 state . SetAxisValue ( VRModuleRawAxis . IndexCurl , indexCurl ) ;
534536 state . SetAxisValue ( VRModuleRawAxis . MiddleCurl , middleCurl ) ;
535537 state . SetAxisValue ( VRModuleRawAxis . RingCurl , ringCurl ) ;
536538 state . SetAxisValue ( VRModuleRawAxis . PinkyCurl , pinkyCurl ) ;
537- state . SetAxisValue ( VRModuleRawAxis . CapSenseGrip , ( indexCurl + middleCurl + ringCurl + pinkyCurl ) * 0.25f ) ;
538- state . SetButtonPress ( VRModuleRawButton . Grip , indexCurl > 0.75f && middleCurl > 0.75f && ringCurl > 0.75f && pinkyCurl > 0.75f ) ;
539- state . SetButtonTouch ( VRModuleRawButton . Grip , indexCurl > 0.5f && middleCurl > 0.5f && ringCurl > 0.5f && pinkyCurl > 0.5f ) ;
539+ state . SetAxisValue ( VRModuleRawAxis . CapSenseGrip , curlAvg ) ;
540+ state . SetButtonPress ( VRModuleRawButton . Grip , curlAvg > 0.75f ) ;
541+ state . SetButtonTouch ( VRModuleRawButton . Grip , curlAvg > 0.50f ) ;
540542 }
541543
542544 private float GetFingerCurl ( IVRModuleDeviceStateRW state , HandJointName finger )
543545 {
544546 var palmDir = state . pose . forward ;
545547 var fingerDir = state . handJoints [ finger ] . pose . forward ;
546- var angle = Vector3 . SignedAngle ( palmDir , fingerDir , state . handJoints [ finger ] . pose . right ) ;
548+ var angle = Vector3 . SignedAngle ( palmDir , fingerDir , state . pose . right ) ;
549+ if ( angle < - 90f ) { angle += 360f ; }
547550 return Mathf . InverseLerp ( 0f , 180f , angle ) ;
548551 }
549552
0 commit comments