Unity Editor version: 2022.2.0b10 ML2 OS version:Build: B3E.220818.12-R.046-R.417 MLSDK version:29 Host OS: (Windows/MacOS) Windows
With ML1 I was able to tie a fixation point directly to the position of an object by assigning the value directly to the transform of an object and it followed my eyes well. With ML2 so far the FixationPoint is super low and very jumpy. I tested the confidence level and am receiving a confidence of 1... which I guess it means it's very sure that my eyes are looking at my feet? Is there a bug or is the FixationPoint no longer a world position as it was with ML1?
Hi, I checked with our engineers and we advise folks who are having issues with accuracy to go through the Custom Fit app again and make sure the device is fitting well.
Here's a couple resources you might find useful, please let me know if they help: Here's an an eye tracking example that uses fixation point to set the position of a transform in the scene.
Also, here's an example that shows how to Initialize, access and dispose of eye tracking input data.
And this example snippet can be used to debug a green ray from the user's eyes to the fixation point.
I ran through the Custom Fit app and calibrated my eyes multiple times and the examples listed are what I've based my code upon.
As for drawing the ray... I'm unsure how that example would even work with eye tracking. Please correct me if I'm wrong but Debug.DrawRay only works in Scene mode inside Unity (ie would not show up in the headset) and eye tracking only works within the Magic Leap headset.
The example script allows you to see the fixation gaze in the Unity Editor when testing your application using the Magic Leap App Simulator.
Similar to the Magic Leap 1, the Magic Leap 2's fixation point is provided in world space.
Regarding the poor eye tracking performance, are you using the headstrap when wearing the Magic Leap 2? Have you tried restarting your headset and re-running the custom fit app?
Right, so the simulator would not help as this is an issue inside of the Magic Leap 2 headset and not the simulator. In lieu of that I've added a small sphere to the scene and set it's position to match the fixation point in my update function.
No, I'm not using the headstrap and have rebooted and re-calibrated multiple times.
So the issue was, as you likely guessed, user error. In my haste is appears I was using the wrong XR Rig prefab. I did a search for XR Rig and didn't notice there were two. The one I was using was from com.unity.xr.legacyinputhelpers/Prefabs/XRRig.prefab. It was difficult to track down as it actually seems to function for base uses but fails spectacularly when used with eye tracking.