Jump to content

Corvus

Verified Members
  • Posts

    313
  • Joined

  • Last visited

Everything posted by Corvus

  1. @Ihshan Gumilar What version of the eye tracking SDK & Runtime are you using? There are bug fixes in the latest release that fixed timestamp issues.
  2. @Davey I will try to look into the research to see if there have been tests of eye tracking with strabismus/esotropia conditions, it may also be helpful for you to contact Tobii about this inquiry. The SDK does report gaze direction for each eye independently.
  3. @Davey @nbhatia Calibration is 3 step process that requires both eyes. Step 1 is HMD placement, Step 2 is IPD adjustment, Step 3 is the gaze dots. Can the calibration be done with only one eye? No, the calibration will not complete without both eyes. can I modify the calibration data? No, currently not possible but a number of devs have requested this feature so we can re-examine. can I skip the calibration? For accurate eye-tracking the calibration is performed for each user when they use the HMD. Every face and HMD placement is different so calibration optimizes for this variance. If calibration is skipped the eye-tracking usually funcitons but is less accurate. is the data produced by each eye then assumed to be relative to the sensors with the assumption that the HMD and sensors are centered perfectly over the eyes?(obviously never the case). The calibration and runtime report the eye position relative to the HMD (usually not perfectly centered but ideally close). Feel free to check the documentation included with the SDK or the webinars/guides for information about the calibration specifics.
  4. @Emagnetto Thanks for sharing your feedback. Foveated rendering does not support the new Unity render pipelines (HDRP & URP). We will post in the forums if we have any updates to the roadmap or release schedule that we can share publicly. Also, if any other developers would like the plugin to support this feature in a future release please share your feedback here.
  5. For any devs experiencing error 50001 it is usually either the wrong app ID/Key copied from the dev console or not being logged into the Viveport PC client with the main developer account (that created the title listing). Most Viveport SDK api calls don't actually work fully with beta testers yet (only the DRM function fully works). If anyone else is experiencing these issue please post on the forums or contact support.
  6. @jaalto1 You can find some helpful steps in the SRanipal get started guide included with the SDK download. Download the SRanipal SDK Import the Unity plugin (.unitypackage) into the Unity project Open the sample scene and play in editor or build Check eye tracking works in sample scene and robot eyes are green in notification tray
  7. @adamsmitt For best accuracy (for example when doing research/training) ideally calibration would be done every time the user puts on the HMD (since every time it is placed and adjusted it can be a slightly different position). For other use cases (gaming or development) where eye tracking accuracy is less necessary I rarely have to calibrate unless switching users.
  8. @Federica Here is the documentation about SRWorks Pass Through to get you started: https://hub.vive.com/storage/srworks/srworks_unity/plugin_guide/unity_passthrough.html
  9. @LochoChoco Can you try running the UninstallSranipal.exe in the install folder (C:\Program Files\VIVE\SRanipal). Also, make sure you are trying to install the latest runtime installer (VIVE_SRanipalInstaller_1.3.1.1.msi).
  10. @Federica Here is the SRWorks pass through documentation to help get you started: https://hub.vive.com/storage/srworks/srworks_unity/plugin_guide/unity_passthrough.html
  11. @Ihshan Gumilar Sorry, EyeTool is a helper toolkit/library/demo I'm working on for using the eye tracking SDK. For now you can just use the block of code that corresponds to the SRanipal Eye version you are using (SRanipal_Eye vs SRanipal_Eye_v2).
  12. @C3D Yes, the callback should probably be static anyways and adding the "MonoPInvokeCallback" attribute will be required for IL2CPP scripting backend support. I tested with stripping level on high and had no issues with the static callback & attribute. Also, if you are having issues between Unity editor and builds it can be helpful to check "Development Build" in the Unity Build Settings to attach the log console and easily see errors. Let us know if you have any further feedback or errors.
  13. @Ihshan Gumilar Please see my response here for help using the Focus api: Note that the callback runs on a separate thread than the Unity main thread to get eye tracking data faster than the framerate. Unity is not thread safe and you cannot call the Unity api from a separate thread (ex. you cannot call "UnityEngine.Debug.Log" within EyeCallback). https://support.unity.com/hc/en-us/articles/208707516-Why-should-I-use-Threads-instead-of-Coroutines-#
  14. @Ihshan Gumilar Here is a sample for using the Focus api in Unity to get the current gameobject and it's name with FocusName(). Also, make sure you have the SRanipal_Eye_Framework script attached to a gameobject in the scene with "Enable Eye" checked. This method will only report gameobjects with colliders attached. And as @C3D mentioned you will need the MainCamera tag to prevent the NullReferenceException errors. private static Ray testRay; private static FocusInfo focusInfo; /// <summary> /// Checks for current object in focus. /// </summary> public static GameObject Focus() { if (EyeTool.GetVersion() == 1) { if (SRanipal_Eye.Focus(GazeIndex.COMBINE, out testRay, out focusInfo)) { } else if (SRanipal_Eye.Focus(GazeIndex.LEFT, out testRay, out focusInfo)) { } else if (SRanipal_Eye.Focus(GazeIndex.RIGHT, out testRay, out focusInfo)) { } else return null; } else if (EyeTool.GetVersion() == 2) { if (SRanipal_Eye_v2.Focus(GazeIndex.COMBINE, out testRay, out focusInfo)) { } else if (SRanipal_Eye_v2.Focus(GazeIndex.LEFT, out testRay, out focusInfo)) { } else if (SRanipal_Eye_v2.Focus(GazeIndex.RIGHT, out testRay, out focusInfo)) { } else return null; } return focusInfo.collider.gameObject; } /// <summary> /// Checks name for current object in focus. /// </summary> public static string FocusName() { if (Focus() is null) return ""; else return Focus().name; }
  15. @Asish Head position and rotation will be reported by SteamVR. In Unity you can get this data from the Main Camera game object.
  16. @saad salman https://github.com/googlevr/tilt-brush-toolkit https://github.com/googlearchive/poly-toolkit-unity
  17. @Ihshan Gumilar Please check the SDK documentation included with the SDK download for helpful information on how to get gaze data.
  18. @rio315 Can you share more information about the test you are using? What is the test built with or what is the methodology.
  19. @PTrottier Thanks for the feedback. What language are you interested in translating to?
  20. @Tesi Have you downloaded the VIVE eye tracking sdk (sranipal)? In the SDK there is documentation and in the Unity plugin there are samples. What data are you wanting to extract and what is your use case? https://developer.vive.com/resources/vive-sense/sdk/vive-eye-tracking-sdk-sranipal/ PS: I've moved your post to the eye tracking sdk forum, feel free to check other posts here for helpful eye tracking information.
  21. @DeanCode There is sample code for Unity/Unreal here: https://developer.vive.com/resources/viveport/sdk/documentation/english/viveport-sdk/apis/-app-purchase-iap-api/sample-code/ What engine are you using? With Unity the current flow is to Viveport Init, check IAP is ready, add items, create Request (with price), and send Purchase. ... Api.Init(InitStatusHandler, VIVEPORT_ID); ... IAPurchase.IsReady(mListener, API_KEY); mListener.mItem.items = new string[3]; mListener.mItem.items[0] = "sword"; mListener.mItem.items[1] = "knife"; mListener.mItem.items[2] = "medicine"; IAPurchase.Request(mListener, "1"); ... IAPurchase.Purchase(mListener, mListener.mItem.ticket); ...
  22. @mbrownwaracle Currently the eye tracking SDK does not support calibration customization. Can you share your use case so we can better understand the need for this feature?
  23. @DeanCode For Viveport non-subscription IAP you will implement it via code not the dev console. IAP management via dev console is on the roadmap for later release. https://developer.vive.com/resources/viveport/sdk/documentation/english/viveport-sdk/apis/-app-purchase-iap-api/function-usage/
  24. @VirtiLukas Are you deploying a PC or mobile beta build? If mobile, can you share the manifest with me? (via reply or DM works).
×
×
  • Create New...