Example #1
0
    protected void Start()
    {
        MVRTools.Log(4, "[>] VR Manager Start.");

        m_Kernel.DeleteLateObjects();

#if !UNITY_3_4 && !UNITY_3_5 && !UNITY_4_0 && !UNITY_4_0_1 && !UNITY_4_1
        m_AllowRenderTargetAA = true;
#endif

        // Reset Manager's position so text display is correct.
        transform.position   = new UnityEngine.Vector3(0, 0, 0);
        transform.rotation   = new Quaternion();
        transform.localScale = new UnityEngine.Vector3(1, 1, 1);

        m_Wand = GameObject.Find("VRWand");

        m_VRMenu = GameObject.Find("VRMenu");

        ShowWandGeometry(ShowWand);

        _EnableProximityWarning(m_ShowScreenProximityWarnings);

        _EnableFPSDisplay(m_ShowFPS);

        _EnableNavigationFly(m_Fly);

        _EnableNavigationCollision(m_NavigationCollisions);

        _EnableManipulationReturnObjects(m_ManipulationReturnObjects);

        _EnableVRMenu(m_UseVRMenu);

        if (ForceQuality)
        {
            QualitySettings.SetQualityLevel(ForceQualityIndex);
        }

        // Manage VSync after the quality settings
        MVRTools.ManageVSync();

        // Set AA from vrx configuration file
        QualitySettings.antiAliasing = m_AntiAliasingLevel;

        // Check if MiddleVR Reset is needed
        if (!Application.isEditor && (ForceQuality || QualitySettings.antiAliasing > 1))
        {
            bool useOpenGLQuadbuffer = m_DisplayMgr.GetActiveViewport(0).GetStereo() && (m_DisplayMgr.GetActiveViewport(0).GetStereoMode() == 0); //VRStereoMode_QuadBuffer = 0
            if (useOpenGLQuadbuffer || m_ClusterMgr.GetForceOpenGLConversion())
            {
                m_NeedDelayedRenderingReset = true;
                m_RenderingResetDelay       = 1;
            }
        }

        m_QuitCommand = new vrCommand("VRManager.QuitApplicationCommand", _QuitApplicationCommandHandler);

        MVRTools.Log(4, "[<] End of VR Manager Start.");
    }