@@ -70,7 +70,7 @@ public class GenericInputDevice : IInputDriver
7070
7171 // Idle pupil size in mm. Did you know the average human pupil size is between 4 and 6mm?
7272 // pupilSize is normalized from 0 to 1, so idle is 0.5 or ~3mm
73- public float userPupilDiameter = 0.06f ;
73+ public float userPupilDiameter = 0.065f ;
7474
7575 public void CollectDeviceInfos ( DataTreeList list )
7676 {
@@ -102,7 +102,10 @@ public void UpdateInputs(float deltaTime)
102102 eyes . LeftEye . RawPosition = ( float3 ) new double3 ( gazeData . leftEye . origin . x ,
103103 gazeData . leftEye . origin . y ,
104104 gazeData . leftEye . origin . z ) ;
105- eyes . LeftEye . PupilDiameter = ( float ) ( gazeData . leftPupilSize * userPupilDiameter ) ;
105+ if ( gazeData . leftStatus != GazeEyeStatus . Invalid )
106+ {
107+ eyes . LeftEye . PupilDiameter = ( float ) ( gazeData . leftPupilSize * userPupilDiameter ) ;
108+ }
106109 eyes . LeftEye . Openness = gazeData . leftStatus == GazeEyeStatus . Invalid ? 0f : 1f ;
107110 eyes . LeftEye . Widen = ( float ) MathX . Clamp01 ( gazeData . leftEye . forward . y ) ;
108111 eyes . LeftEye . Squeeze = 0f ;
@@ -117,7 +120,10 @@ public void UpdateInputs(float deltaTime)
117120 eyes . RightEye . RawPosition = ( float3 ) new double3 ( gazeData . rightEye . origin . x ,
118121 gazeData . rightEye . origin . y ,
119122 gazeData . rightEye . origin . z ) ;
120- eyes . RightEye . PupilDiameter = ( float ) ( gazeData . rightPupilSize * userPupilDiameter ) ;
123+ if ( gazeData . rightStatus != GazeEyeStatus . Invalid )
124+ {
125+ eyes . RightEye . PupilDiameter = ( float ) ( gazeData . rightPupilSize * userPupilDiameter ) ;
126+ }
121127 eyes . RightEye . Openness = gazeData . rightStatus == GazeEyeStatus . Invalid ? 0f : 1f ;
122128 eyes . RightEye . Widen = ( float ) MathX . Clamp01 ( gazeData . rightEye . forward . y ) ;
123129 eyes . RightEye . Squeeze = 0f ;
@@ -131,8 +137,12 @@ public void UpdateInputs(float deltaTime)
131137 eyes . CombinedEye . RawPosition = ( float3 ) new double3 ( gazeData . gaze . origin . x ,
132138 gazeData . gaze . origin . y ,
133139 gazeData . gaze . origin . z ) ;
134- eyes . CombinedEye . PupilDiameter = MathX . Average ( ( float ) ( gazeData . leftPupilSize * userPupilDiameter ) ,
135- ( float ) ( gazeData . rightPupilSize * userPupilDiameter ) ) ;
140+ if ( gazeData . leftStatus != GazeEyeStatus . Invalid &&
141+ gazeData . rightStatus != GazeEyeStatus . Invalid )
142+ {
143+ eyes . CombinedEye . PupilDiameter = MathX . Average ( ( float ) ( gazeData . leftPupilSize * userPupilDiameter ) ,
144+ ( float ) ( gazeData . rightPupilSize * userPupilDiameter ) ) ;
145+ }
136146 eyes . CombinedEye . Openness = gazeData . leftStatus == GazeEyeStatus . Invalid ||
137147 gazeData . rightStatus == GazeEyeStatus . Invalid ? 0f : 1f ;
138148 eyes . CombinedEye . Widen = ( float ) MathX . Clamp01 ( gazeData . gaze . forward . y ) ;
0 commit comments