qxxxb 1 Posted December 29, 2020 Hi, there seems to be a bug in the `GetGazeRay` function of the SRanipal Unity package (specifically, the function at line 265 in SRanipal_Eye.cs). origin = eyesData[(int)gazeIndex].gaze_origin_mm * 0.001f; direction = eyesData[(int)gazeIndex].gaze_direction_normalized; origin.x *= -1; // Adding this line fixes the bug direction.x *= -1; This issue has been mentioned in this post as well. Here is a demo script to illustrate the bug: GazeRays.cs This will render a blue ray from the left eye and a red ray from the right eye. Without the fix, the rays will appear swapped like so: With the fix, the rays will appear in the correct eye like so: If someone could confirm whether this bug is valid, I would appreciate it. Thanks! Share this post Link to post Share on other sites
qxxxb 1 Posted January 4 Sorry to bump the topic, but if someone could evaluate the bug and see if the fix I mentioned resolves it, that's be great. Thanks! Share this post Link to post Share on other sites
jboss 1 Posted Wednesday at 11:05 AM The same bug applies to the combined gazeray. When I move my gaze to the left the ray goes to the right and vice versa. Up/down is fine. If gaze_orgin_C is the measured combined origin and gaze_direct_C the measured combined direction you need to do the below calculation to use it: fixed_gaze_origin_C = new Vector3(gaze_origin_C.x*-1f, gaze_origin_C.y, gaze_origin_C.z)/1000f, fixed_gaze_direction_C = new Vector3(gaze_direct_C.x*-1f, gaze_direct_C.y, gaze_direct_C.z), Note the division by 1000, as I'm using version 2 of the eyetracking API and there the measured values are in mm and Unity units are meters. Share this post Link to post Share on other sites
Corvus 33 Posted yesterday at 06:25 PM @qxxxb @jboss Thanks for reporting this bug. The team will look into it. Share this post Link to post Share on other sites