Skip to content

Commit eb47a3a

Browse files
committed
make pupils dilate only when eyes are open
1 parent e758509 commit eb47a3a

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

Interface/NeosVarjoEye.cs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)