@@ -13,7 +13,8 @@ public class V2Mapper : BaseParamMapper
1313 "EyeX" ,
1414 "EyeY" ,
1515 "EyeLid" ,
16- "BrowExpression"
16+ "BrowExpression" ,
17+ "EyeSquint"
1718 } ;
1819
1920 private Dictionary < string , float > _parameterValues = new ( )
@@ -32,6 +33,11 @@ public class V2Mapper : BaseParamMapper
3233 { "BrowExpression" , 0.5f } ,
3334 { "BrowExpressionLeft" , 0.5f } ,
3435 { "BrowExpressionRight" , 0.5f } ,
36+ { "CheekSquintRight" , 0f } ,
37+ { "CheekSquintLeft" , 0f } ,
38+ { "EyeSquintRight" , 0f } ,
39+ { "EyeSquintLeft" , 0f } ,
40+ { "EyeSquint" , 0f } ,
3541 } ;
3642
3743 private readonly string [ ] _gazeParameters =
@@ -69,7 +75,10 @@ public override void HandleOSCMessage(OSCMessage message)
6975
7076 _parameterValues [ paramToMap ] = oscF . value ;
7177
72- _isSingleEye = _singleEyeParamNames . Contains ( paramToMap ) ;
78+ if ( paramToMap == "EyeX" || paramToMap == "EyeY" )
79+ _isSingleEye = true ;
80+ else if ( paramToMap == "EyeLeftX" || paramToMap == "EyeRightX" )
81+ _isSingleEye = false ;
7382 }
7483
7584 public override void UpdateVRCFTEyeData ( ref UnifiedEyeData eyeData , ref UnifiedExpressionShape [ ] eyeShapes )
@@ -78,9 +87,28 @@ public override void UpdateVRCFTEyeData(ref UnifiedEyeData eyeData, ref UnifiedE
7887 HandleEyeDilation ( ref eyeData ) ;
7988 HandleEyeOpenness ( ref eyeData , ref eyeShapes , _isSingleEye ) ;
8089 HandleEyebrows ( ref eyeShapes , _isSingleEye ) ;
90+ HandleSquints ( ref eyeShapes , _isSingleEye ) ;
8191 EmulateEyebrows ( ref eyeShapes , _isSingleEye ) ;
8292 }
8393
94+ private void HandleSquints ( ref UnifiedExpressionShape [ ] eyeShapes , bool isSingleEyeMode = false )
95+ {
96+ if ( isSingleEyeMode )
97+ {
98+ var eyeSquint = _parameterValues [ "EyeSquint" ] ;
99+ eyeShapes [ ( int ) UnifiedExpressions . EyeSquintRight ] . Weight = eyeSquint ;
100+ eyeShapes [ ( int ) UnifiedExpressions . EyeSquintLeft ] . Weight = eyeSquint ;
101+ }
102+ else
103+ {
104+ eyeShapes [ ( int ) UnifiedExpressions . EyeSquintRight ] . Weight = _parameterValues [ "EyeSquintRight" ] ;
105+ eyeShapes [ ( int ) UnifiedExpressions . EyeSquintLeft ] . Weight = _parameterValues [ "EyeSquintLeft" ] ;
106+ }
107+
108+ eyeShapes [ ( int ) UnifiedExpressions . CheekSquintRight ] . Weight = _parameterValues [ "CheekSquintRight" ] ;
109+ eyeShapes [ ( int ) UnifiedExpressions . CheekSquintLeft ] . Weight = _parameterValues [ "CheekSquintLeft" ] ;
110+ }
111+
84112 private void HandleEyebrows ( ref UnifiedExpressionShape [ ] eyeShapes , bool isSingleEyeMode = false )
85113 {
86114 if ( isSingleEyeMode )
0 commit comments