Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
        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
        }