Jump to content

JCorvinus

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by JCorvinus

  1. I think I've found a bug in GetGazeRay(), specifically in the origin output. Look at the code below: if (gazeIndex == GazeIndex.COMBINE) { valid = eyesData[(int)GazeIndex.COMBINE].GetValidity(SingleEyeDataValidity.SINGLE_EYE_DATA_GAZE_DIRECTION_VALIDITY); if (valid) { origin = eyesData[(int)GazeIndex.COMBINE].gaze_origin_mm * 0.001f; direction = eyesData[(int)GazeIndex.COMBINE].gaze_direction_normalized; direction.x *= -1; } } else if (gazeIndex == GazeIndex.LEFT || gazeIndex == GazeIndex.RIGHT) { valid = eyesData[(int)gazeIndex].GetValidity(SingleEyeDataValidity.SINGLE_EYE_DATA_GAZE_DIRECTION_VALIDITY); if (valid) { origin = eyesData[(int)gazeIndex].gaze_origin_mm * 0.001f; direction = eyesData[(int)gazeIndex].gaze_direction_normalized; direction.x *= -1; } } Notice that the direction vector's x component gets flipped as a coordinate system conversion, but the origin of the ray does not. This video shows that the ray's orientation gets applied to the opposite eye: Video For reference, Left is red, right is blue. You can see that the origin is coming from the closed eye, but the direction is coming from the open one Applying the flip to the origin as well as the direction results in the following: Video @Daniel_Y @Andy.YC_Wang @Corvus @Jad
×
×
  • Create New...