private static IEnumerator InterpGaze(IMixedRealityEyeGazeProvider gazeProvider, float duration, Vector3 to) { var start = gazeProvider.LatestEyeGaze; return(Interp(duration, t => { var direction = Vector3.Slerp(start.direction, to, t); gazeProvider.UpdateEyeTrackingStatus(null, true); gazeProvider.UpdateEyeGaze(null, new Ray(start.origin, direction), DateTime.UtcNow); })); }
/// <summary> /// Gets the ray> representing the position and direction of the user's eyes. /// </summary> /// <param name="ray">The ray being returned</param> /// <returns> /// True if the ray is being returned, false otherwise. /// </returns> public static bool TryGetEyeGazeRay(out Ray ray) { ray = new Ray(); IMixedRealityEyeGazeProvider eyeGazeProvider = CoreServices.InputSystem?.EyeGazeProvider; if ((eyeGazeProvider == null) || !eyeGazeProvider.IsEyeGazeValid) { return(false); } ray.origin = eyeGazeProvider.GazeOrigin; ray.direction = eyeGazeProvider.GazeDirection; return(true); }
/// <summary> /// Gets the ray> representing the position and direction of the user's eyes. /// </summary> /// <param name="ray">The ray being returned</param> /// <returns> /// True if the ray is being returned, false otherwise. /// </returns> public static bool TryGetEyeGazeRay(out Ray ray) { ray = new Ray(); IMixedRealityEyeGazeProvider eyeGazeProvider = CoreServices.InputSystem?.EyeGazeProvider; if ((eyeGazeProvider == null) || !eyeGazeProvider.IsEyeTrackingDataValid) { return(false); } ray = eyeGazeProvider.LatestEyeGaze; return(true); }
//private var spatialAwarenessService = null; private void Start() { eyeGazeProvider = CoreServices.InputSystem?.EyeGazeProvider; notificationUpdate = GameObject.Find("Notification 3D").GetComponent <NotificationUpdate>(); GetComponent <NotificationUpdate>(); }
// Start is called before the first frame update void Start() { gazeProvider = CoreServices.InputSystem.EyeGazeProvider; CheckEyeGazeState(); }