Jump to content

All Activity

This stream auto-updates

  1. Today
  2. Hi @DDD_KK Yes, for initial state of your project, you need to copy the script and remove the #if clause. If you don't want to change the script, another solution is to install Unity XR packages (while keeping SteamVR plugin). SteamVR will setup UnityXR for you.
  3. Hi @zzy I misunderstood that I remove SteamVR Plugin and install OpenXR. Am I correct in assuming that I remove the #if clause at beginning of WindowsPlayModeMonitor.cs from the unity project state of my initial post? That means I don't have to delete SteamVR Plugin.
  4. Hi @DDD_KK You are using OpenXR, not OpenVR. If you are using SteamVR Unity Plugin v2.7.3 on Unity 2020, it should install OpenVR support for Unity XR automatically. See it's release note here: https://github.com/ValveSoftware/steamvr_unity_plugin/releases/tag/2.7.3
  5. Hi @zzy I followed the "Getting started" instructions in the following URL to install OpenXR. https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.2/manual/index.html However, I haven't been able to try your suggestion because VIVE pro is still in SteamVR Home when I enter Play mode. Do you know of any solutions?
  6. Hi @DDD_KK I'm sure if UnityXR supports tracker. You can try to copy the WindowsPlayModeMonitor.cs editor script to your project and remove the #if clause in the file. That should fix your problem.
  7. Thank you very much for your response. I want to use HandTracking and VIVE Tracker in the same time, does UnityXR support these?.
  8. Yesterday
  9. Having the same issue here - black/blank screen. When mirroring VR screen on my machine, then can see that tracking works, controllers also work. What I have done so far: * clean windows 10 install * 4 SteamVR removals/reinstalls * 3 (at least) Vive console setups * Have 3 DP ports on my GPU - tried them all multiple times * Have tried at least 4 different USB3 ports If used in "Direct mode" then the Vive Console shows error "H413: Display in use" and the image is upside down. Probably will try to sell this device after spending a whole day trying to get this thing working. Highly frustrating.
  10. Having just installed my new facial tracker onto my Vive Pro 2, I'm getting a similar if not the same issue where the camera feed seems to run at something like 5 FPS which effectively renders it unusable. Please advise of a fix. I've tried the old version of the Sranipal driver, I've tried getting rid of anything that could feasibly interfere with the video stream (K-Lite codec pack ect) and nothing works. Everything else (trackers/headset/controllers) is perfectly fine.
  11. I just had this problem for the first time with my Vive Pro. The solution for me was to go to control panel->sound It had set my sound blaster to the default communications device. I switched that to the vive pro and the distortion was gone.
  12. can the Headset cable for VIVE Pro 2 be repaired,or if anyone can do it say £50ish im sure someone must,it would be a very profitable buisness,i think a new one is seriously overpriced,and its about 6 inches that need removing. ta graham
  13. Last week
  14. Hi All, I am fairly new to VR eye tracking and have run into a block, I am trying to output some data into a file and every time that I test this out Unity seems to freeze up I also get errors with System.IO and I could really use some help. (I have included my code to make it easier) Thank you in advance using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using System; using System.IO; using Valve.VR; using Valve.VR.InteractionSystem; using ViveSR.anipal.Eye; using System.Runtime.InteropServices; using TMPro; public class TrackPlayer : MonoBehaviour { // Object references for use public GameObject playerObj = null; public GameObject attractorRef = null; public Rigidbody attractorrb; public Camera playercamera; // Participant Order public string UserID; public static string participantName; public static string Path = Directory.GetCurrentDirectory(); string File_Path; // Distance between variable public float DistanceBetweenAandB; // Attractor animation controls private float speed = 0f; public Animator deerAnimator; // Eye data variables private static EyeData eyeData = new EyeData(); private static bool eye_callback_registered = false; //Debug text display public TMP_Text uiText; private float updateSpeed = 0; private static float lastTime, currentTime; // Gaze Directon varibales private static Vector3 Eyeposition; // private static UInt64 eye_valid_L, eye_valid_R; // The bits explaining the validity of eye data. private static float openness_L, openness_R; // The level of eye openness. private static float pupil_diameter_L, pupil_diameter_R; // Diameter of pupil dilation. private static Vector2 pos_sensor_L, pos_sensor_R; // Positions of pupils. // Focus information vairables private static Ray testRay; private static FocusInfo focusInfo; // Variables that control how fast to report data back private float nextActionTime = 0.0f; public float period = .08f; private static int cnt_callback = 0; private const int maxframe_count = 120 * 1800; private void Start() { UserID = participantName; SRanipal_Eye_v2.LaunchEyeCalibration(); // Perform calibration for eye tracking just before running actual experiement. File_Path = Directory.GetCurrentDirectory() + "\\Test_" + participantName + ".txt"; Debug.Log(File_Path); if (participantName == "") { participantName = "Blank"; // make sure to fill in particpant ID } if (File.Exists(File_Path)) { Debug.Log("File with the same UserID already exists. Please change the UserID in the C# code."); // When the same file name is found, we stop playing Unity. if (UnityEditor.EditorApplication.isPlaying) { UnityEditor.EditorApplication.isPlaying = false; } } } // Update is called once per frame void Update() { //PlayerPositionTracking(); 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; } Vector3 GazeOriginCombinedLocal, GazeDirectionCombinedLocal; if (eye_callback_registered) { if (SRanipal_Eye.GetGazeRay(GazeIndex.COMBINE, out GazeOriginCombinedLocal, out GazeDirectionCombinedLocal, eyeData)) { } else if (SRanipal_Eye.GetGazeRay(GazeIndex.LEFT, out GazeOriginCombinedLocal, out GazeDirectionCombinedLocal, eyeData)) { } else if (SRanipal_Eye.GetGazeRay(GazeIndex.RIGHT, out GazeOriginCombinedLocal, out GazeDirectionCombinedLocal, eyeData)) { } else return; } else { if (SRanipal_Eye.GetGazeRay(GazeIndex.COMBINE, out GazeOriginCombinedLocal, out GazeDirectionCombinedLocal)) { } else if (SRanipal_Eye.GetGazeRay(GazeIndex.LEFT, out GazeOriginCombinedLocal, out GazeDirectionCombinedLocal)) { } else if (SRanipal_Eye.GetGazeRay(GazeIndex.RIGHT, out GazeOriginCombinedLocal, out GazeDirectionCombinedLocal)) { } else return; } Eyeposition = Camera.main.transform.TransformDirection(GazeDirectionCombinedLocal); Focus(); FocusName(); if (Time.time > nextActionTime) { nextActionTime += period; //Debug.Log(nextActionTime); // execute block of code here //uiText.text = Eyeposition.ToString(); //PlayerPositionTracking(); //AddPlayerEYELocationDataToFile(); AddPlayerLocationDataToFile(); AddCueLocationDataToFile(); //Debug.Log(FocusName()); //PLAYER HEAD ROTATION //Debug.Log("Player X ROTATION: " + playercamera.transform.rotation.x); //Debug.Log("Player Y ROTATION: " + playercamera.transform.rotation.y); } } 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... while (cnt_callback < maxframe_count) { openness_L = eyeData.verbose_data.left.eye_openness; openness_R = eyeData.verbose_data.right.eye_openness; pupil_diameter_L = eyeData.verbose_data.left.pupil_diameter_mm; pupil_diameter_R = eyeData.verbose_data.right.pupil_diameter_mm; pos_sensor_L = eyeData.verbose_data.left.pupil_position_in_sensor_area; pos_sensor_R = eyeData.verbose_data.right.pupil_position_in_sensor_area; eye_valid_L = eyeData.verbose_data.left.eye_data_validata_bit_mask; eye_valid_R = eyeData.verbose_data.right.eye_data_validata_bit_mask; lastTime = currentTime; currentTime = eyeData.timestamp; //Player location variables and arrays string playerEyeX = Eyeposition.x.ToString(); string playerEyeY = Eyeposition.y.ToString(); string playerEyeZ = Eyeposition.z.ToString(); string playerEyeOpen_Left = openness_L.ToString(); string playerEyeOpen_Right = openness_R.ToString(); string playerEyeDiameter_Left = pupil_diameter_L.ToString(); string playerEyeDiameter_Right = pupil_diameter_R.ToString(); string playerEyePosInSenSorArea_Left_X = pos_sensor_L.x.ToString(); string playerEyePosInSenSorArea_Left_Y = pos_sensor_L.y.ToString(); string playerEyePosInSenSorArea_Right_X = pos_sensor_R.x.ToString(); string playerEyePosInSenSorArea_Right_Y = pos_sensor_R.y.ToString(); string playerEyeValid_Left = eye_valid_L.ToString(); string playerEyeValid_Right = eye_valid_R.ToString(); //string objectBeingLookedAt = FocusName(); string value = playerEyeX + "," + playerEyeY + "," + playerEyeZ + "," + playerEyeOpen_Left + "," + playerEyeOpen_Right + "," + playerEyeDiameter_Left + "," + playerEyeDiameter_Right + "," + playerEyePosInSenSorArea_Left_X + "," + playerEyePosInSenSorArea_Left_Y + "," + playerEyePosInSenSorArea_Right_X + "," + playerEyePosInSenSorArea_Right_Y + "," + playerEyeValid_Left + "," + playerEyeValid_Right + "," + //objectBeingLookedAt + DateTime.Now.ToString() + Environment.NewLine; File.AppendAllText("Test_" + participantName + ".txt", value); cnt_callback++; //string[] playerEYEData = { "\n" + "X = " + playerEyeX + ",", "" + "Y = " + playerEyeY + ",", "" + "Z = " + playerEyeZ + ",", //"" + "Eye Openess_L = " + playerEyeOpen_Left + ",", "" + "Eye Openess_R = " + playerEyeOpen_Right + ",", //"" + "Eye Diameter_L = " + playerEyeDiameter_Left + ",", "" + "Eye Diameter_R = " + playerEyeDiameter_Right + ",", //"" + "Eye Position In Sense Area_Left_X = " + playerEyePosInSenSorArea_Left_X + ",", "" + "Eye Position In Sense Area_Left_Y = " + playerEyePosInSenSorArea_Left_Y + ",", //"" + "Eye Position In Sense Area_Right_X = " + playerEyePosInSenSorArea_Right_X + ",", "" + "Eye Position In Sense Area_Right_Y = " + playerEyePosInSenSorArea_Right_Y + ",", //"" + "Eye Validation Bit Mask_Left = " + playerEyeValid_Left + ",", //"" + "Eye Validation Bit Mask_Rigth = " + playerEyeValid_Right + ",", //"" + "OBJECT = " + objectBeingLookedAt + "," + " " + System.DateTime.Now.ToString() }; // Content of the file // foreach (string playerInfo in playerEYEData) // { //File.AppendAllText(path, playerInfo); //} } } /// <summary> /// Checks for current object in focus. /// </summary> public static GameObject Focus() { if (eye_callback_registered == true) { 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; } if(focusInfo.collider.name != "Body Collider") { return focusInfo.collider.gameObject; } else return null; } /// <summary> /// Checks name for current object in focus. /// </summary> public static string FocusName() { if (Focus() is null) return ""; else return Focus().name; } TrackPlayer.cs
  15. Hey, so i just bought the vive pro 2 and when i loaded up a game i noticed that the game was extremely blurry I've measured the ipd multiple times to get the ipd accurate so that shouldn't be the problem. it is so blurry i can barely read the text that is on the screen not only that but the vive headset and the controllers are vibrating, shaking in-game. wonder what's causing that. wondering if anyone got a fix or know whats causing this
  16. Hi @Lusther Good to know the install succeeded. As for the prefab location, the document was written for the old unitypackage plugin. The package installed from scoped registry are indeed having different paths. You can just replace “Assets/ViveHandTracking" by "Packages/com.htc.upm.vivehandtracking/Runtime".
  17. I am very crazy about Vive Pro 2 Kit. Can someone tell me about the exact shipping date of HTC Vive Pro 2 Kit.
  18. I'm 100% convinced your camera is broken from the repair. When they repaired mine 2 weeks ago, they ditched/broke the tracking sensors of the HMD after repair, I tested everything and I have 2 computers and a vive for cross testing... At least my failure is more obvious but yeah I had to return the headset a 3rd time(actually yesterday), I can objectively say that the repair team at CTDI for HTC has issues doing their jobs properly, it's not an insult by any means just a clear and straight fact, not even an opinion just look at your own case. They don't seem to do any tests at all or they are really slovenly doing it, it's not serious and really disrespectful at this point. They don't encounter the possibility of someone from far away having to return the headset and the money for shipping it costs for that, at least, please tell the repair to do some effort and deeply test every features of the headset, I can understand that they skipped the camera test, but the tracking test ? How can you even miss this ? @C.T. I would like help from you too, but seems like when someone is exposing the truth he's just going to be ignored. Happy that the team is helping you bud, I asked for my retailer to replace it with another brand new one HTC would now deal with my retailer, I'm tired and all of this should have never happened. Have a good day. H.M (RE)
  19. The other reddit poster has confirmed, it's another z390 motherboard. @C.T.can you find out how many reports of "black screens" you've had for Vive Console software users... see how many of those are z390 motherboards. I think there is an issue with the Vive Console software and z390 motherboards, as this isn't just the Vive Pro 2 now, it's Vive Cosmos Elite and anything that uses Vive Console...it's actually the software compatability with z390 motherboards. When you turn the PC on from a cold boot, go into VR and 10 minutes into the session the screen goes black for 1 second. Sometimes it can black screen and never recover, which means restarting the whole thing again. If you keep the PC turned on, leave SteamVR and go back into VR, no black screen. If you cold boot the PC (leave it off about 5 minutes) then turn it back on, go into VR and you will get a black screen.
  20. Thanks for the answer, I just installed it following the guide. Just one quick note, I tried following the Basic Usage guide but i couldn't found the skeleton model at their proper place (https://hub.vive.com/storage/tracking/unity/usage.html#draw-detected-hands-as-skeletons). With Unity, I found it under the following path : "Packages/com.htc.upm.vivehandtracking/Runtime/Prefab/RightHandRenderer.prefab" (instead of "Assets\ViveHandTracking\Prefab") I'm not sure if it's a mistake of the documentation or a problem of installation on my side.
  21. One thing I forgot to mention is that I am using the VIVE Pro Eye 2 for this task.
  22. There is a 3rd guy posting on reddit with the exact same issue he is getting for over 7 months on his Vive Cosmos. Black screen 10 minutes into the VR session, just like us. We're not alone, as I stated I wonder how many others get this 1 second black screen, but think it's normal and just never post about it. It only does it after a PC cold boot. I don't know what motherboard he has, waiting for him to reply. My Vive Pro 2 cameras aren't working in SteamVR since repair anyway, plus with black screens, HTC have offered a replacement. This will be 3rd time I'm sending the Vive Pro 2 back. 1st repair completely broken display not switching on. 2nd repair was much better with most issues fixed as per OP. 3rd is to get it replaced. When it works, it's great.
  23. Hi @Lusther The scoped registry was down temporarily, it's up and running now. Please have a try. It's recommended to install from scoped registry for Unity 2019 or newer.
  24. how i can turn off the VR cameras ? or i have to unplug it from electricity when i finsh playing?
  25. I am the other guy on Reddit as mentioned in AmazingTechVR's post. I have literally done everything to try and debug this issue. Reinstalled windows, different cables, sent in the Vive Pro 2 and received another unit back and the issue persisted. I also own the Vive, Vive Pro, Oculus Rift, and the Valve Index and none of the other HMDs had this black screen issue. Like AmazingTechVR mentioned, it happens after every cold boot and the black screen lasts for about a second most times, but unfortunately for me quite often the game doesn't come back and I have to close the game, SteamVR, and Vive Console and restart them to get the game to come back. After that initial black screen I have no more issues until the link box has sat powered off for over 10 minutes or so. My support ticket was finally elevated to higher level support after I had dealt with numerous different support people that kept repeating the same debug steps instead of actually looking at my support history to see what I had been through. This higher level support basically told me that they have seen a 'warm up period' on the extreme mode of the Vive Pro 2 and they sometimes noticed issues until the headset had warmed up. AmazingTechVR mentioned he had the same issue in non-extreme modes and wireless mode so that doesn't seem to be the case. To me, this HMD is was in the higher price range of current VR products without going to the extreme of the Varjo and Pimax 8k, so I expected a less-buggy experience. But when it is working it is the best HMD I own as far as FOV and picture quality so I will be sticking with it until something better comes along.
  26. Hi, I followed the tutorial and tried to install the SRanipal, but I failed the first time as my account is not a admin. But the second time when I am using an admin account, I encountered the Error 1001 problem. It turns out I am not the only one who got this problems. Other users have similar situation as shown here I think @nickie123 gives a pretty clear explanation. The problem is likely due to the incomplete installation or uninstallation. I have tried all the solutions I can find online but still have no luck. I really don't wanna reinstall my computer just for this SDK. Any advice would be appreciated.
  27. Hi there! Are you looking to stream from Vive sync or something similar? I will test this out today, but I think one could simply run it without the sdk, and the mappings should work well. This is how vr apps that don't include the sdk are able to use something like Vive Sync to run on the f3 headset with usb or wifi. I see this is unreal 4.26 and I'll double check to see if there are other libraries/options needed to make sure that steamvr starts when the app starts, which is usually where any issues could crop up when building a standard pc app for use with vive sync can come up. Always glad to hear from our devs and help out! Thanks, Alex
  28. Hello, I'm trying to import the hand tracking SDK on the latest LTS version of Unity (2020.3.20f1) by adding the scoped registries following this guide instructions (https://hub.vive.com/storage/tracking/unity/setup.html) I filled in the following settings : Unfortunately it doesn't seem to work and I'm getting errors from the unity console. Are those registries still working ? Is there any way to make it work ? (I tried installing the package manually but the link I found to download the SDK was also a 502 error (link : https://developer.vive.com/resources/vive-sense/sdk/vive-hand-tracking-sdk/100/)) Thanks in advance for any help provided
  1. Load more activity
  • Create New...