monetl
Verified Members-
Posts
10 -
Joined
-
Last visited
Reputation
0 NeutralRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Hi, You should maybe find some answers here: Or on this search article: https://www.researchgate.net/publication/346058398_Assessing_Saccadic_Eye_Movements_With_Head-Mounted_Display_Virtual_Reality_Technology Good luck. And if you have again questions, I will try to do a more accuracy answer as I worked also on vive pro eye for my master's degree internship.
-
Hi, I have some questions about eye tracking , if you want you can try to help me to find answers or confirm what I done : 1-About « SRanipal_Eye_v2.Focus » method , I saw it uses sphere cast but like I want to use it to find object in an Attention area, I need to get a sphere with different radius size according to the distance which there is between my eye and my combined eye, and not a fixed size ? It exists a mean to send raycast with this mecanisms ? Currently I use just rayCast and draw a sphere according to distance between my combined eye and the impact of raycast, and fixing an angle to find radius of attention area. 2-About IPD , currently I found how get this value , making difference between the postion of my two eyes, but I though also IPD was linked with virtual camera in Unity, but currently It’s not the case because when I try to get a similar IPD with my two screens in the headset, virtual camera doesn’t move in Unity ? Is it normal or it’s possible also to modify distance betweens virtual cameras ? 3-About CallBack eye data enabled, CallBack function can be called 120 times per second, compare to Update where it’s just each frame it’s called, is it correct ? 4-In my different test « convergence_distance_mm « attribute continue to doesn‘t work because combined.convergence_distance_validity is always false, is it normal ? 5-I saw few months "timestamp" attribute didn't work correctly and it was better to use frameCount, now "timestamp" works well ? 6-When I display a line renderer to show trajectory of my combined eye, I see that the result is often wrong because start position change very often ? Do you get the same issue ? I have the issue with « localPosition » in SRanipal_Eye_v2.GetGazeRay(GazeIndex.COMBINE, out localPosition , ….) So now just I take the middle of both pupils positions to get a result very stable, is it a good alternative ? 7-Is it possible to get an image of our eyes with this eye tracking, or it’s necessary to ask licence or another thing to use for search ? 8-Do you know how to use parameter.gaze_ray_parameter.sensitive_factor, because it’s seems to be an interesting parameter before to do calibration but I am not sure I use it correctly ? Currently I use it each time before to do a calibration : EyeParameter parameter = new EyeParameter { gaze_ray_parameter = new GazeRayParameter(), }; Error error = SRanipal_Eye_API.GetEyeParameter(ref parameter); Debug.Log("GetEyeParameter: " + error + "\n" + "sensitive_factor: " + parameter.gaze_ray_parameter.sensitive_factor); parameter.gaze_ray_parameter.sensitive_factor = parameter.gaze_ray_parameter.sensitive_factor == 1 ? 0.015f : 1; 9-Eye tracking use Right coordinate system but unity Left, so is it good to do : leftCoordLocalPosition = new Vector3(-1 * rightCoordLocalPostion.x, rightCoordLocalPostion.y, rightCoordLocalPostion.z); Without this methods, my left eye is to the right and my right eye is to the left in my global position in the Unity 3D scene. 10-With eye tracking we can get pupil position but not eye center position, so is it possible to do : centerEye= pupilPosition- eyeDirection*0.0125f because in average the diameter of an eye is 0.025 cm, so the radius is 0.025/2.
-
@Daniel_Y @jboss I don't know if you already watch this article, but you should find answers here: https://www.frontiersin.org/articles/10.3389/fpsyt.2020.572938/full because app they created used 120hz eye tracking using EyeCallBack, while and coroutines: "We particularly visualized the sampling interval of the first 3600 samples that we recorded; we assumed 30 s of recording time at the sampling frequency of 120 Hz" . And here the git of project : https://github.com/MotorControlLearning/SaccadeVR-mobile and here the script to use 120hz: https://github.com/MotorControlLearning/SaccadeVR-mobile/blob/master/SaccadeVR_ViveProEye/Assets/Scripts/Saccade_measure_rev1.cs "Measure eye movements at the frequency of 120Hz until framecount reaches the maxframe count set"
-
ViveSR_Sample problem: black screen and white square
monetl replied to uantwerpenFTI's topic in VIVE SRWorks SDK
You downloaded and launched SR Works Runtime and no SR Runtime? You talk about "FormatException: Input string was not in a correct format" ? The method I used remove this error but I don't know if it's the right solution . Also I have not install new version of SR work since august 2020, so maybe trying last update of SRWork It will work, I will try if I find the time because currently I don't use this library in my project. -
@Daniel_Y In my case I used also camera.transform.position for "system origin". I think It could be better if It was written in the documentation if this affirmation is good. It could be better also to indicate that origin of eyes is a local position compared to "system origin", because before to read previous posts, I thought it was compared to lens origin left and right. Also like you use right coordinate system whereas Unity uses left coordinate system, it's necessary to do new Vector3(-1 * gazeEyeOrigin.x, gazeEyeOrigin.y, gazeEyeOriginl.z) to get position of an eye, because without make that left eye position and right eye position are inversed. @jboss About "It still would be great to get world coordinates...": you talk about something like that ? : Vector3 GazeDirectionEyeLeft = Camera.main.transform.TransformDirection(GazeDirectionEyeLeftLocal); visualLineLeftEye.SetPosition(0, leftEyeSystemOrigin.transform.position); visualLineLeftEye.SetPosition(1, leftEyeSystemOrigin.transform.position + GazeDirectionEyeLeft *lenghtEyeleftLine);
-
ViveSR_Sample problem: black screen and white square
monetl replied to uantwerpenFTI's topic in VIVE SRWorks SDK
Is it an issue to correct on your sdk or I am wrong on method to avoid this issue: FormatException: Input string was not in a correct format ? -
ViveSR_Sample problem: black screen and white square
monetl replied to uantwerpenFTI's topic in VIVE SRWorks SDK
I found another issue but I found why. Like I am french Unity software uses "," and not "." for float value. So I written in ViveSR_DualCameraCalibrationTool line 196: return float.Parse(angle_array[angle_index].Replace(".",",")); Here what was my issue : FormatException: Input string was not in a correct format. System.Number.ParseSingle (System.String value, System.Globalization.NumberStyles options, System.Globalization.NumberFormatInfo numfmt) (at <437ba245d8404784b9fbab9b439ac908>:0) System.Single.Parse (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) (at <437ba245d8404784b9fbab9b439ac908>:0) System.Single.Parse (System.String s) (at <437ba245d8404784b9fbab9b439ac908>:0) Vive.Plugin.SR.ViveSR_DualCameraCalibrationTool.LoadParamsValue (System.Int32 angle_index, System.Single default_value) (at Assets/ViveSR/Scripts/ViveSR_DualCameraCalibrationTool.cs:196) Vive.Plugin.SR.ViveSR_DualCameraCalibrationTool.LoadDeviceParameter () (at Assets/ViveSR/Scripts/ViveSR_DualCameraCalibrationTool.cs:136) Vive.Plugin.SR.ViveSR_DualCameraRig.Initial () (at Assets/ViveSR/Scripts/ViveSR_DualCameraRig.cs:179) Vive.Plugin.SR.ViveSR.UpdateWhileWorking () (at Assets/ViveSR/Scripts/ViveSR.cs:328) Vive.Plugin.SR.ViveSR.Update () (at Assets/ViveSR/Scripts/ViveSR.cs:175) -
ViveSR_Sample problem: black screen and white square
monetl replied to uantwerpenFTI's topic in VIVE SRWorks SDK
-
ViveSR_Sample problem: black screen and white square
monetl replied to uantwerpenFTI's topic in VIVE SRWorks SDK
SR_logs.zip