public void Clear() { this.m_pVRSystem = null; this.m_pVRChaperone = null; this.m_pVRChaperoneSetup = null; this.m_pVRCompositor = null; this.m_pVROverlay = null; this.m_pVRRenderModels = null; this.m_pVRExtendedDisplay = null; this.m_pVRSettings = null; this.m_pVRApplications = null; }
public static bool GetBounds( Size size, ref HmdQuad_t pRect ) { if (size == Size.Calibrated) { var error = EVRInitError.None; if (!SteamVR.active) { OpenVR.Init(ref error, EVRApplicationType.VRApplication_Other); if (error != EVRInitError.None) return false; } var pChaperone = OpenVR.GetGenericInterface(OpenVR.IVRChaperone_Version, ref error); if (pChaperone == System.IntPtr.Zero || error != EVRInitError.None) { if (!SteamVR.active) OpenVR.Shutdown(); return false; } var chaperone = new CVRChaperone(pChaperone); bool success = chaperone.GetPlayAreaRect( ref pRect ); if (!success) Debug.LogWarning("Failed to get Calibrated Play Area bounds! Make sure you have tracking first, and that your space is calibrated."); if (!SteamVR.active) OpenVR.Shutdown(); return success; } else { try { var str = size.ToString().Substring(1); var arr = str.Split(new char[] {'x'}, 2); // convert to half size in meters (from cm) var x = float.Parse(arr[0]) / 200; var z = float.Parse(arr[1]) / 200; pRect.vCorners = new HmdVector3_t[ 4 ]; pRect.vCorners[ 0 ].v = new float[ 3 ] { x, 0, z }; pRect.vCorners[ 1 ].v = new float[ 3 ] { x, 0, -z }; pRect.vCorners[ 2 ].v = new float[ 3 ] { -x, 0, -z }; pRect.vCorners[ 3 ].v = new float[ 3 ] { -x, 0, z }; return true; } catch {} } return false; }
public CVRChaperone VRChaperone() { this.CheckClear(); if (this.m_pVRChaperone == null) { EVRInitError eVRInitError = EVRInitError.None; IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRChaperone_003", ref eVRInitError); if (genericInterface != IntPtr.Zero && eVRInitError == EVRInitError.None) { this.m_pVRChaperone = new CVRChaperone(genericInterface); } } return(this.m_pVRChaperone); }
IEnumerator UpdateBounds() { GetComponent<MeshFilter>().mesh = null; // clear existing var vr = SteamVR.instance; if (vr == null) yield break; var error = EVRInitError.None; var pChaperone = OpenVR.GetGenericInterface(OpenVR.IVRChaperone_Version, ref error); if (pChaperone == System.IntPtr.Zero || error != EVRInitError.None) yield break; var chaperone = new CVRChaperone(pChaperone); while (chaperone.GetCalibrationState() != ChaperoneCalibrationState.OK) yield return null; BuildMesh(); }
public CVRChaperone VRChaperone() { CheckClear(); if (m_pVRChaperone == null) { var eError = EVRInitError.None; var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperone_Version, ref eError); if (pInterface != IntPtr.Zero && eError == EVRInitError.None) m_pVRChaperone = new CVRChaperone(pInterface); } return m_pVRChaperone; }
public void Clear() { m_pVRSystem = null; m_pVRChaperone = null; m_pVRChaperoneSetup = null; m_pVRCompositor = null; m_pVROverlay = null; m_pVRRenderModels = null; m_pVRExtendedDisplay = null; m_pVRSettings = null; m_pVRApplications = null; }
public CVRChaperone VRChaperone() { this.CheckClear(); if (this.m_pVRChaperone == null) { EVRInitError eVRInitError = EVRInitError.None; IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRChaperone_003", ref eVRInitError); if (genericInterface != IntPtr.Zero && eVRInitError == EVRInitError.None) { this.m_pVRChaperone = new CVRChaperone(genericInterface); } } return this.m_pVRChaperone; }