-
Posts
313 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Blogs
Events
Store
Downloads
Posts posted by Corvus
-
-
@mtownsend Can you post or DM me your android manifest?
-
-
@JD Wilder Thanks for reporting this issue. It has been shared with the SDK engineers and they will try to get a bugfix in the next release or follow up here.
-
@SinnStudio @Maze Theory @Survios Yes, there is now a CLI tool you can access via the dev console (Binary Build page). Here is the documentation: https://developer.viveport.com/documents/viveport-uploader-document.pdf
QuoteNew CLI tool is available now!Upload your build with the latest CLI tool - if you're using version lower than 1.0.0.2, please download the latest version to start uploading.Upload builds faster via the Viveport Command Line Interface Tool which enables resumable uploads and supports faster upload speeds when compared to the browser interface.For more information, refer to the Viveport CLI tool's documentation -
@ShutterBox The Vive Trackers require base stations to function.
-
@wdsfdghnghj Thanks for sharing, the team will review and follow up. Also, to send a DM you can click on the username and then the "message" button.
-
@wdsfdghnghj Can you please post or send me a SteamVR report and the SRanipal log files?
-
@adamcboyd DM sent.
-
@Fangh There are discussions about supporting OpenXR via the Wave SDK but nothing to announce yet.
-
@neomimiz No, access to the raw eye camera is not provided.
-
-
@eugie Debug.Log is a UnityEngine api and cannot be used in the callback.
Note: Unity is not thread-safe and cannot call any UnityEngine api from within callback thread.
-
@eugie You will likely need to use Unity to build a 360 video player and integrate the eye tracking SDK to access the data needed. There are guides/sample projects available to help you get started with a 360 video player with Unity.
- 1
-
@mattia.barbieri91 Yes it is possible, please see the documentation for more information.
-
Yes, that should work if you are using v1 data. If you are using v2 make sure to use 'SRanipal_Eye_v2'.
// make sure the framework status is WORKING SRanipal_Eye_Framework.Status == SRanipal_Eye_Framework.FrameworkStatus.WORKING // pass the verbose data SRanipal_Eye.GetVerboseData(out verboseData); // v1 // SRanipal_Eye_v2.GetVerboseData(out verboseData); // v2 // read the necessary data pupilDiameterLeft = verboseData.left.pupil_diameter_mm; pupilDiameterRight = verboseData.right.pupil_diameter_mm;
-
You need to update the eyeData with GetVerboseData(). Please check the sample code. Also can be helpful to check the framework status is working before updating the data.
SRanipal_Eye.GetVerboseData(out verboseData);
-
@egeelg There is a timestamp API in the eye tracking SDK. Developers can also use the Tobii XR SDK with the VIVE eye tracking SDK.
-
@neomimiz Can you share the full code snippet? Is the demo application working properly for you?
-
@apellisscot I don't think this is an issue with the system specs. Make sure you're running in Performance mode and all battery optimizations are off (and laptop plugged in). Maybe create a SteamVR system report and share that to be sure.
-
@Federica Pupil position in sensor area is mostly used for calibration. It sounds like you are trying to measure gaze positions which can be done with gaze vectors.
-
@apellisscot Demo attached (rename .zip).
-
@apellisscot Here are my specs and I'm getting 8/9ms updates (~120hz). DM me if you would like a build to test/verify with.
- Windows 10
- Intel i7-9750H
- 16GB Ram
- RTX 2070 Max-Q
- Unity 2019.4.17f1
using UnityEngine; using ViveSR.anipal.Eye; using System.Runtime.InteropServices; using UnityEngine.UI; /// <summary> /// Example usage for eye tracking callback /// Note: Callback runs on a separate thread to report at ~120hz. /// Unity is not threadsafe and cannot call any UnityEngine api from within callback thread. /// </summary> public class test120hz : MonoBehaviour { private static EyeData eyeData = new EyeData(); private static bool eye_callback_registered = false; public Text uiText; private float updateSpeed = 0; private static float lastTime, currentTime; void Update() { if (SRanipal_Eye_Framework.Status != SRanipal_Eye_Framework.FrameworkStatus.WORKING) return; if (SRanipal_Eye_Framework.Instance.EnableEyeDataCallback == true && eye_callback_registered == false) { SRanipal_Eye.WrapperRegisterEyeDataCallback(Marshal.GetFunctionPointerForDelegate((SRanipal_Eye.CallbackBasic)EyeCallback)); eye_callback_registered = true; } else if (SRanipal_Eye_Framework.Instance.EnableEyeDataCallback == false && eye_callback_registered == true) { SRanipal_Eye.WrapperUnRegisterEyeDataCallback(Marshal.GetFunctionPointerForDelegate((SRanipal_Eye.CallbackBasic)EyeCallback)); eye_callback_registered = false; } updateSpeed = currentTime - lastTime; uiText.text = updateSpeed.ToString() + " ms"; } private void OnDisable() { Release(); } void OnApplicationQuit() { Release(); } /// <summary> /// Release callback thread when disabled or quit /// </summary> private static void Release() { if (eye_callback_registered == true) { SRanipal_Eye.WrapperUnRegisterEyeDataCallback(Marshal.GetFunctionPointerForDelegate((SRanipal_Eye.CallbackBasic)EyeCallback)); eye_callback_registered = false; } } /// <summary> /// Required class for IL2CPP scripting backend support /// </summary> internal class MonoPInvokeCallbackAttribute : System.Attribute { public MonoPInvokeCallbackAttribute() { } } /// <summary> /// Eye tracking data callback thread. /// Reports data at ~120hz /// MonoPInvokeCallback attribute required for IL2CPP scripting backend /// </summary> /// <param name="eye_data">Reference to latest eye_data</param> [MonoPInvokeCallback] private static void EyeCallback(ref EyeData eye_data) { eyeData = eye_data; // do stuff with eyeData... lastTime = currentTime; currentTime = eyeData.timestamp; } }
-
@apellisscot I have gotten 120hz on similar specs but will try to verify/send a build for you to test. Also, can you share any info about your "EyeMeasureDataWriter"? If it's running on the Unity main thread it will be limited to the update loop hz.
-
v2 added more face blend morphs (EyeExpression expression_data) but otherwise SHOULD be the same. There was a report recently of v2 eyedata timestamp reporting differently than v1 timestamp, if so that would be a bug and will try to get fixed in next release.
Cannot download SPanipal Unity Eye (1.3.3.0) documentation
in VIVE Eye and Facial Tracking SDK
Posted
@Bishy01 Thanks for reporting this. The downloads have been fixed.