public override void CognitiveVR_Init(Error initError) { base.CognitiveVR_Init(initError); #if CVR_OCULUS //TODO add oculus audio changed events Instrumentation.updateDeviceState(new Dictionary <string, object>() { { "cvr.vr.headphonespresent", OVRPlugin.headphonesPresent } }); #elif CVR_STEAMVR //TODO could check SteamVR_Ears if using speaker? #endif }
public override void CognitiveVR_Init(Error initError) { base.CognitiveVR_Init(initError); #if CVR_STEAMVR float roomX = 0; float roomY = 0; if (Valve.VR.OpenVR.Chaperone == null || !Valve.VR.OpenVR.Chaperone.GetPlayAreaSize(ref roomX, ref roomY)) { Instrumentation.updateDeviceState(new Dictionary <string, object>() { { "cvr.vr.roomsize", "0 x 0" }, { "cvr.vr.roomscale", false } }); } else { bool seated = Mathf.Approximately(roomX, 1f) && roomX == roomY; Instrumentation.updateDeviceState(new Dictionary <string, object>() { { "cvr.vr.roomsize", string.Format("{0:0.0} x {1:0.0}", roomX, roomY) }, { "cvr.vr.roomscale", !seated } }); } #elif CVR_OCULUS if (OVRManager.tracker.isPresent) { Instrumentation.updateDeviceState(new Dictionary <string, object>() { { "cvr.vr.frustrumFOV", OVRManager.tracker.GetFrustum().fov }, { "cvr.vr.frustrumNear", OVRManager.tracker.GetFrustum().nearZ }, { "cvr.vr.frustrumFar", OVRManager.tracker.GetFrustum().farZ } }); } else { Util.logDebug("OVRManager tracker is not present!"); } #endif }