Create() static public method

Add the Touchpad game object into the scene.
static public Create ( ) : void
return void
Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        OVRTouchpad.Create();
        OVRTouchpad.TouchHandler += UpdateInput;
        _playerActions            = GetComponent <PlayerActions>();

        Cursor.visible = false;

        Debug.Log("InputManagerStarted");
    }
Ejemplo n.º 2
0
    private void Start()
    {
        m_clampValueMin         = new Vector3(-450, 0, -600);
        m_clampValueMax         = new Vector3(350, 0, 600);
        initialDis              = m_mainCam.position - m_transform.position;
        m_rigidbody.isKinematic = true;

        OVRTouchpad.Create();
        OVRTouchpad.TouchHandler += HandleTouchHandler;
    }
Ejemplo n.º 3
0
    void Start()
    {
        // 기존 화면에 있던 오브젝트 비활성화
        prefab_bullt_.SetActive(false);

        // 유니티 화면이 꺼지지 않게 설정
#if UNITY_ANDROID
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
#elif UNITY_IOS
        iPhoneSettings.screenCanDarken = false;
#endif

        OVRTouchpad.Create();
        OVRTouchpad.TouchHandler += HandleTouchHandler;
    }
Ejemplo n.º 4
0
    // Use this for initialization
    void Start()
    {
        cams     = new Camera[5];
        cams [0] = cam1;
        cams [1] = cam2;
        cams [2] = cam3;
        cams [3] = cam4;
        cams [4] = cam5;

        foreach (Camera c in cams)
        {
            c.enabled = false;
        }
        cams[activeCam].enabled = true;

        OVRTouchpad.Create();
        OVRTouchpad.TouchHandler += HandleTouchHandler;
    }
Ejemplo n.º 5
0
 public override void InstanceInitiate(StateMachine checkMachine)
 {
     InputMachine.instance = this;
     if (thisCamera == null)
     {
         thisCamera = GetComponent <Camera> ();
     }
     OVRTouchpad.Create();
     swipeUp      = StateMaster.instance.inputUI;
     swipeDown    = StateMaster.instance.inputInteract;
     swipeForward = StateMaster.instance.inputTeleport;
     swipeBack    = StateMaster.instance.inputInteract;
     UpdateState(StateMaster.instance.inputTeleport, this);
     EventSystem.current.sendNavigationEvents = false;
     thisCamera.layerCullSpherical            = true;
     Application.targetFrameRate = 240;
     HOTween.To(blackoutDip, 5f, new TweenParms().Prop("color", new Color(0f, 0f, 0f, 0f)));
     StartCoroutine("InitialCheckObjects");
 }
Ejemplo n.º 6
0
 // Token: 0x06003A86 RID: 14982 RVA: 0x00127500 File Offset: 0x00125900
 private void Awake()
 {
     if (OVRLipSync.sInstance == null)
     {
         OVRLipSync.sInstance = this;
         int outputSampleRate = AudioSettings.outputSampleRate;
         int num;
         int num2;
         AudioSettings.GetDSPBufferSize(out num, out num2);
         string message = string.Format("OvrLipSync Awake: Queried SampleRate: {0:F0} BufferSize: {1:F0}", outputSampleRate, num);
         Debug.LogWarning(message);
         OVRLipSync.sOVRLipSyncInit = OVRLipSync.ovrLipSyncDll_Initialize(outputSampleRate, num);
         if (OVRLipSync.sOVRLipSyncInit != 0)
         {
             Debug.LogWarning(string.Format("OvrLipSync Awake: Failed to init Speech Rec library", new object[0]));
         }
         OVRTouchpad.Create();
         return;
     }
     Debug.LogWarning(string.Format("OVRLipSync Awake: Only one instance of OVRPLipSync can exist in the scene.", new object[0]));
 }
Ejemplo n.º 7
0
    // * * * * * * * * * * * * *
    // MonoBehaviour overrides

    /// <summary>
    /// Awake this instance.
    /// </summary>
    void Awake()
    {
        // We can only have one instance of OVRLipSync in a scene (use this for local property query)
        if (sInstance == null)
        {
            sInstance = this;
        }
        else
        {
            Debug.LogWarning(System.String.Format("OVRVoiceMod Awake: Only one instance of OVRVoiceMod can exist in the scene."));
            return;
        }

        int samplerate;
        int bufsize;
        int numbuf;

        // Get the current sample rate
        samplerate = AudioSettings.outputSampleRate;
        // Get the current buffer size and number of buffers
        AudioSettings.GetDSPBufferSize(out bufsize, out numbuf);

        String str = System.String.Format
                         ("OvrVoiceMod Awake: Queried SampleRate: {0:F0} BufferSize: {1:F0}", samplerate, bufsize);

        Debug.LogWarning(str);

        sOVRVoiceModInit = ovrVoiceModDll_Initialize(samplerate, bufsize);

        if (sOVRVoiceModInit != ovrVoiceModSuccess)
        {
            Debug.LogWarning(System.String.Format
                                 ("OvrVoiceMod Awake: Failed to init VoiceMod library"));
        }

        // Important: Use the touchpad mechanism for input, call Create on the OVRTouchpad helper class
        OVRTouchpad.Create();
    }
Ejemplo n.º 8
0
    // Use this for initialization
    void Start()
    {
        StartCoroutine(startVideoFeed());

        OVRTouchpad.Create();
        OVRTouchpad.TouchHandler += HandleTouchHandler;

        /* // on start
         * Debug.Log("Sending position");
         *
         * HTTPRequest request = new HTTPRequest(new Uri("http://api-m2x.att.com/v2/devices/8e8402aaa6c97bc7e2f9d5bd6a454fa2/streams/position/value"), HTTPMethods.Put, callback);
         *
         * JSONClass data = new JSONClass();
         *
         * data["value"] = ;
         *
         * request.AddHeader("X-M2X-KEY", "9fc7996ea7f03fccc6ef3978f2a4d012");
         * request.AddHeader("Content-Type", "application/json");
         *
         * request.RawData = Encoding.UTF8.GetBytes(data.ToString());
         * request.Send();
         *
         * Debug.Log("Sent");*/
    }
Ejemplo n.º 9
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

        Debug.Log("Unity v" + Application.unityVersion + ", " +
                  "Oculus Utilities v" + OVRPlugin.wrapperVersion + ", " +
                  "OVRPlugin v" + OVRPlugin.version + ", " +
                  "SDK v" + OVRPlugin.nativeSDKVersion + ".");

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        var supportedTypes =
            UnityEngine.Rendering.GraphicsDeviceType.Direct3D11.ToString() + ", " +
            UnityEngine.Rendering.GraphicsDeviceType.Direct3D12.ToString();

        if (!supportedTypes.Contains(SystemInfo.graphicsDeviceType.ToString()))
        {
            Debug.LogWarning("VR rendering requires one of the following device types: (" + supportedTypes + "). Your graphics device: " + SystemInfo.graphicsDeviceType.ToString());
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        //isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        // Turn off chromatic aberration by default to save texture bandwidth.
        chromatic = false;
#endif

#if UNITY_STANDALONE_WIN && !UNITY_EDITOR
        enableMixedReality = false;                     // we should never start the standalone game in MxR mode, unless the command-line parameter is provided
#endif

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        bool loadMrcConfig   = LoadMixedRealityCaptureConfigurationFileFromCmd();
        bool createMrcConfig = CreateMixedRealityCaptureConfigurationFileFromCmd();

        if (loadMrcConfig || createMrcConfig)
        {
            OVRMixedRealityCaptureSettings mrcSettings = ScriptableObject.CreateInstance <OVRMixedRealityCaptureSettings>();
            mrcSettings.ReadFrom(this);
            if (loadMrcConfig)
            {
                mrcSettings.CombineWithConfigurationFile();
                mrcSettings.ApplyTo(this);
            }
            if (createMrcConfig)
            {
                mrcSettings.WriteToConfigurationFile();
            }
            ScriptableObject.Destroy(mrcSettings);
        }

        if (MixedRealityEnabledFromCmd())
        {
            enableMixedReality = true;
        }

        if (enableMixedReality)
        {
            Debug.Log("OVR: Mixed Reality mode enabled");
            if (UseDirectCompositionFromCmd())
            {
                compositionMethod = CompositionMethod.Direct;
            }
            if (UseExternalCompositionFromCmd())
            {
                compositionMethod = CompositionMethod.External;
            }
            Debug.Log("OVR: CompositionMethod : " + compositionMethod);
        }
#endif

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        if (enableAdaptiveResolution && !OVRManager.IsAdaptiveResSupportedByEngine())
        {
            enableAdaptiveResolution = false;
            UnityEngine.Debug.LogError("Your current Unity Engine " + Application.unityVersion + " might have issues to support adaptive resolution, please disable it under OVRManager");
        }
#endif

        Initialize();

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        // Force OcculusionMesh on all the time, you can change the value to false if you really need it be off for some reasons,
        // be aware there are performance drops if you don't use occlusionMesh.
        OVRPlugin.occlusionMesh = true;
#endif
    }
Ejemplo n.º 10
0
 private void Start()
 {
     OVRTouchpad.Create();
     // OVRTouchpad.TouchHandler += HandleTouchHandler;
     txt.text = OVRInput.GetActiveController().ToString();
 }
Ejemplo n.º 11
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

        System.Version netVersion = OVRPlugin.wrapperVersion;
        System.Version ovrVersion = OVRPlugin.version;

        Debug.Log("Unity v" + Application.unityVersion + ", " +
                  "Oculus Integration v" + netVersion + ", " +
                  "OVRPlugin v" + ovrVersion + ".");

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;

        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if !UNITY_ANDROID || UNITY_EDITOR
        if (OVRUnityVersionChecker.hasBuiltInVR)
        {
            Debug.LogWarning("The Oculus Unity Legacy Integration is only supported in Unity 4.x releases. For Unity 5.x, please migrate to the Oculus Utilities for Unity package and use Unity's built-in VR support (available in Unity 5.1 and later).");
            isVRPresent = false;
        }
        else if (!ovrIsInitialized)
        {
            //HACK: For some reason, Unity doesn't call UnitySetGraphicsDevice until we make the first P/Invoke call.
            OVRPluginEvent.eventBase = OVRPluginEvent.eventBase;

#if !UNITY_ANDROID || UNITY_EDITOR
            //Handle all log messages
            OVR_FlushLog(OnLogMessage);
#endif

            // If unable to load the Oculus Runtime.
            if (!OVRPlugin.initialized)
            {
                bool isBadWinRenderer =
                    ((Application.platform == RuntimePlatform.WindowsEditor ||
                      Application.platform == RuntimePlatform.WindowsPlayer) &&
                     !SystemInfo.graphicsDeviceVersion.Contains("Direct3D 11"));

                if (isBadWinRenderer)
                {
                    Debug.LogWarning("Only D3D11 is supported on Windows.");
                }
                else
                {
                    Debug.LogWarning("Runtime is not present or no Rift attached. Running without VR.");
                }

                // Runtime is not installed if ovr_Initialize() fails.
                isVRPresent = false;
                // Go monoscopic in response.
                monoscopic = true;
            }
            else
            {
                OVRPluginEvent.Issue(RenderEventType.InitRenderThread);

                isVRPresent = true;

#if UNITY_EDITOR
                if (!OVRUnityVersionChecker.hasEditorVRSupport)
                {
                    // Only allow VR in standalones.
                    isVRPresent = false;
                    Debug.LogWarning("VR rendering is not supported in the editor. Please update to 4.6.7p4 or build a stand-alone player.");
                }
#endif
                if (netVersion.Major > ovrVersion.Major || netVersion.Major == ovrVersion.Major && netVersion.Minor > ovrVersion.Minor)
                {
                    isVRPresent = false;
                    Debug.LogWarning("Version check failed. Please make sure you are using OVRPlugin " +
                                     Ovr.Hmd.OVR_VERSION_STRING + " or newer.");
                }

                OVRPlugin.queueAheadFraction = 0f;

                ovrIsInitialized = true;
            }
        }

        SetEditorPlay(Application.isEditor);
#else // UNITY_ANDROID && !UNITY_EDITOR: Start of Android init.
        // Android integration does not dynamically load its runtime.
        isVRPresent = true;

        // log the unity version
        Debug.Log("Unity Version: " + Application.unityVersion);

        // don't allow the application to run if orientation is not landscape left.
        if (Screen.orientation != ScreenOrientation.LandscapeLeft)
        {
            Debug.LogError("********************************************************************************\n");
            Debug.LogError("***** Default screen orientation must be set to landscape left for VR.\n" +
                           "***** Stopping application.\n");
            Debug.LogError("********************************************************************************\n");

            Debug.Break();
            Application.Quit();
        }

        // don't enable gyro, it is not used and triggers expensive display calls
        if (Input.gyro.enabled)
        {
            Debug.LogError("*** Auto-disabling Gyroscope ***");
            Input.gyro.enabled = false;
        }

        // NOTE: On Adreno Lollipop, it is an error to have antiAliasing set on the
        // main window surface with front buffer rendering enabled. The view will
        // render black.
        // On Adreno KitKat, some tiling control modes will cause the view to render
        // black.
        if (QualitySettings.antiAliasing > 1)
        {
            Debug.LogError("*** Antialiasing must be disabled for Gear VR ***");
        }

        // we sync in the TimeWarp, so we don't want unity
        // syncing elsewhere
        QualitySettings.vSyncCount = 0;

        // try to render at 60fps
        Application.targetFrameRate = 60;
        // don't allow the app to run in the background
        Application.runInBackground = false;
        // Disable screen dimming
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        if (!androidJavaInit)
        {
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            activity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            // Prepare for the RenderThreadInit()
            SetInitVariables(activity.GetRawObject(), System.IntPtr.Zero);

#if USE_ENTITLEMENT_CHECK
            AndroidJavaObject entitlementChecker = new AndroidJavaObject("com.oculus.svclib.OVREntitlementChecker");
            entitlementChecker.CallStatic("doAutomatedCheck", activity);
#else
            Debug.Log("Inhibiting Entitlement Check!");
#endif

            androidJavaInit = true;
        }

        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        InitVolumeController();

        // set an event delegate like this if you wish to handle events like "reorient".
        //SetVrApiEventDelegate( VrApiEventDefaultDelegate );
#endif // End of android init.

        prevEyeTextureAntiAliasing = OVRManager.instance.eyeTextureAntiAliasing;
        prevEyeTextureDepth        = OVRManager.instance.eyeTextureDepth;
        prevEyeTextureFormat       = OVRManager.instance.eyeTextureFormat;
        prevNativeTextureScale     = OVRManager.instance.nativeTextureScale;
        prevVirtualTextureScale    = OVRManager.instance.virtualTextureScale;
        prevMonoscopic             = OVRManager.instance.monoscopic;
        prevHdr = OVRManager.instance.hdr;

        if (tracker == null)
        {
            tracker = new OVRTracker();
        }

        if (display == null)
        {
            display = new OVRDisplay();
        }
        else
        {
            wasRecreated = true;
        }

        if (input == null)
        {
            input = new OVRInput();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

#if !UNITY_ANDROID || UNITY_EDITOR
        // Except for D3D9, SDK rendering forces vsync unless you pass ovrHmdCap_NoVSync to Hmd.SetEnabledCaps().
        if (timeWarp)
        {
            bool useUnityVSync = SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9");
            QualitySettings.vSyncCount      = useUnityVSync ? 1 : 0;
            QualitySettings.maxQueuedFrames = 0;
        }
#endif

#if UNITY_STANDALONE_WIN
        if (!OVRUnityVersionChecker.hasD3D9ExclusiveModeSupport && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9"))
        {
            MessageBox(0, "Direct3D 9 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }

        if (!OVRUnityVersionChecker.hasD3D11ExclusiveModeSupport && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 11"))
        {
            MessageBox(0, "Direct3D 11 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }
#endif
    }
Ejemplo n.º 12
0
 void Start()
 {
     OVRTouchpad.Create();
     OVRTouchpad.AddListener(LocalTouchEventCallback);
 }
Ejemplo n.º 13
0
 // Use this for initialization
 void Start()
 {
     OVRTouchpad.Create();
     OVRTouchpad.TouchHandler += HandleTouchHandler;
     HideReticle();
 }
Ejemplo n.º 14
0
 // Start is called before the first frame update
 void Start()
 {
     OVRTouchpad.Create();
     OVRTouchpad.AddListener(SwipeHandler);
 }
Ejemplo n.º 15
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

        var netVersion = new System.Version(OVRPlugin.WrapperVersion);

        System.Version ovrVersion    = new System.Version("0.0.0");
        var            versionString = OVRPlugin.version;
        var            success       = false;

        try {
            ovrVersion = new System.Version(versionString);
            success    = true;
        } catch (Exception e) {
            Debug.Log("Failed to parse Oculus version string \"" + versionString + "\" with message \"" + e.Message + "\".");
        }
        if (!success || netVersion > ovrVersion)
        {
            Debug.LogWarning("Version check failed. Please make sure you are using Oculus runtime " +
                             OVRPlugin.WrapperVersion + " or newer.");
        }

        Debug.Log("Unity v" + Application.unityVersion + ", " +
                  "Oculus Utilities v" + netVersion + ", " +
                  "OVRPlugin v" + ovrVersion + ".");

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        if (SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.Direct3D11)
        {
            Debug.LogWarning("VR rendering requires Direct3D11. Your graphics device: " + SystemInfo.graphicsDeviceType);
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        //isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        // Turn off chromatic aberration by default to save texture bandwidth.
        chromatic = false;
#endif

        InitVolumeController();

        if (display == null)
        {
            display = new OVRDisplay();
        }
        if (tracker == null)
        {
            tracker = new OVRTracker();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }
    }
Ejemplo n.º 16
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

#if !UNITY_ANDROID || UNITY_EDITOR
        var netVersion = new System.Version(Ovr.Hmd.OVR_VERSION_STRING);
        var ovrVersion = new System.Version(Ovr.Hmd.GetVersionString());
        if (netVersion > ovrVersion)
        {
            Debug.LogWarning("Using an older version of LibOVR.");
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        Application.targetFrameRate = 60;
        // don't allow the app to run in the background
        Application.runInBackground = false;
        // Disable screen dimming
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        if (!androidJavaInit)
        {
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            activity            = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            javaVrActivityClass = new AndroidJavaClass("com.oculusvr.vrlib.VrActivity");
            // Prepare for the RenderThreadInit()
            SetInitVariables(activity.GetRawObject(), javaVrActivityClass.GetRawClass());

            androidJavaInit = true;
        }

        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();
        // This will trigger the init on the render thread
        InitRenderThread();
#else
        SetEditorPlay(Application.isEditor);
#endif

        display = new OVRDisplay();
        tracker = new OVRTracker();

        // Except for D3D9, SDK rendering forces vsync unless you pass ovrHmdCap_NoVSync to Hmd.SetEnabledCaps().
        if (timeWarp)
        {
            bool useUnityVSync = SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9");
            QualitySettings.vSyncCount = useUnityVSync ? 1 : 0;
        }
    }
Ejemplo n.º 17
0
 void OnEnable()
 {
     OVRTouchpad.Create();
     OVRTouchpad.TouchHandler += GearTouchHandler;
 }
Ejemplo n.º 18
0
 // Use this for initialization
 void Start()
 {
     OVRTouchpad.Create();
     OVRTouchpad.TouchHandler += HandleTouchHandler;
 }
Ejemplo n.º 19
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

                #if !UNITY_ANDROID || UNITY_EDITOR
        if (!ovrIsInitialized)
        {
            OVR_Initialize();
            OVRPluginEvent.Issue(RenderEventType.Initialize);

            ovrIsInitialized = true;
        }

        var netVersion = new System.Version(Ovr.Hmd.OVR_VERSION_STRING);
        var ovrVersion = new System.Version(Ovr.Hmd.GetVersionString());
        if (netVersion > ovrVersion)
        {
            Debug.LogWarning("Using an older version of LibOVR.");
        }
                #endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

                #if UNITY_ANDROID && !UNITY_EDITOR
        // don't allow the application to run if orientation is not landscape left.
        if (Screen.orientation != ScreenOrientation.LandscapeLeft)
        {
            Debug.LogError("********************************************************************************\n");
            Debug.LogError("***** Default screen orientation must be set to landscape left for VR.\n" +
                           "***** Stopping application.\n");
            Debug.LogError("********************************************************************************\n");

            Debug.Break();
            Application.Quit();
        }

        // don't enable gyro, it is not used and triggers expensive display calls
        if (Input.gyro.enabled)
        {
            Debug.LogError("*** Auto-disabling Gyroscope ***");
            Input.gyro.enabled = false;
        }

        // NOTE: On Adreno Lollipop, it is an error to have antiAliasing set on the
        // main window surface with front buffer rendering enabled. The view will
        // render black.
        // On Adreno KitKat, some tiling control modes will cause the view to render
        // black.
        if (QualitySettings.antiAliasing > 1)
        {
            Debug.LogError("*** Antialiasing must be disabled for Gear VR ***");
        }

        // we sync in the TimeWarp, so we don't want unity
        // syncing elsewhere
        QualitySettings.vSyncCount = 0;

        // try to render at 60fps
        Application.targetFrameRate = 60;
        // don't allow the app to run in the background
        Application.runInBackground = false;
        // Disable screen dimming
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        if (!androidJavaInit)
        {
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            activity            = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            javaVrActivityClass = new AndroidJavaClass("com.oculusvr.vrlib.VrActivity");
            // Prepare for the RenderThreadInit()
            SetInitVariables(activity.GetRawObject(), javaVrActivityClass.GetRawClass());

                        #if !INHIBIT_ENTITLEMENT_CHECK
            AndroidJavaObject entitlementChecker = new AndroidJavaObject("com.oculus.svclib.OVREntitlementChecker");
            entitlementChecker.CallStatic("doAutomatedCheck", activity);
                        #else
            Debug.Log("Inhibiting Entitlement Check!");
                        #endif

            androidJavaInit = true;
        }

        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        InitVolumeController();
                #else
        SetEditorPlay(Application.isEditor);
                #endif

        prevEyeTextureAntiAliasing = OVRManager.instance.eyeTextureAntiAliasing;
        prevEyeTextureDepth        = OVRManager.instance.eyeTextureDepth;
        prevEyeTextureFormat       = OVRManager.instance.eyeTextureFormat;
        prevNativeTextureScale     = OVRManager.instance.nativeTextureScale;
        prevVirtualTextureScale    = OVRManager.instance.virtualTextureScale;
        prevMonoscopic             = OVRManager.instance.monoscopic;
        prevHdr = OVRManager.instance.hdr;

        if (display == null)
        {
            display = new OVRDisplay();
        }
        if (tracker == null)
        {
            tracker = new OVRTracker();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

                #if !UNITY_ANDROID || UNITY_EDITOR
        // Except for D3D9, SDK rendering forces vsync unless you pass ovrHmdCap_NoVSync to Hmd.SetEnabledCaps().
        if (timeWarp)
        {
            bool useUnityVSync = SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9");
            QualitySettings.vSyncCount = useUnityVSync ? 1 : 0;
        }
                #endif

                #if (UNITY_STANDALONE_WIN && (UNITY_4_6 || UNITY_4_5))
        bool unity_4_6   = false;
        bool unity_4_5_2 = false;
        bool unity_4_5_3 = false;
        bool unity_4_5_4 = false;
        bool unity_4_5_5 = false;

                #if (UNITY_4_6)
        unity_4_6 = true;
                #elif (UNITY_4_5_2)
        unity_4_5_2 = true;
                #elif (UNITY_4_5_3)
        unity_4_5_3 = true;
                #elif (UNITY_4_5_4)
        unity_4_5_4 = true;
                #elif (UNITY_4_5_5)
        unity_4_5_5 = true;
                #endif

        // Detect correct Unity releases which contain the fix for D3D11 exclusive mode.
        string version = Application.unityVersion;
        int    releaseNumber;
        bool   releaseNumberFound = Int32.TryParse(Regex.Match(version, @"\d+$").Value, out releaseNumber);

        // Exclusive mode was broken for D3D9 in Unity 4.5.2p2 - 4.5.4 and 4.6 builds prior to beta 21
        bool unsupportedExclusiveModeD3D9 = (unity_4_6 && version.Last(char.IsLetter) == 'b' && releaseNumberFound && releaseNumber < 21) ||
                                            (unity_4_5_2 && version.Last(char.IsLetter) == 'p' && releaseNumberFound && releaseNumber >= 2) ||
                                            (unity_4_5_3) ||
                                            (unity_4_5_4);

        // Exclusive mode was broken for D3D11 in Unity 4.5.2p2 - 4.5.5p2 and 4.6 builds prior to f1
        bool unsupportedExclusiveModeD3D11 = (unity_4_6 && version.Last(char.IsLetter) == 'b') ||
                                             (unity_4_5_2 && version.Last(char.IsLetter) == 'p' && releaseNumberFound && releaseNumber >= 2) ||
                                             (unity_4_5_3) ||
                                             (unity_4_5_4) ||
                                             (unity_4_5_5 && version.Last(char.IsLetter) == 'f') ||
                                             (unity_4_5_5 && version.Last(char.IsLetter) == 'p' && releaseNumberFound && releaseNumber < 3);

        if (unsupportedExclusiveModeD3D9 && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9"))
        {
            MessageBox(0, "Direct3D 9 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }

        if (unsupportedExclusiveModeD3D11 && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 11"))
        {
            MessageBox(0, "Direct3D 11 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }
                #endif
    }
Ejemplo n.º 20
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

        Debug.Log("Unity v" + Application.unityVersion + ", " +
                  "Oculus Utilities v" + OVRPlugin.wrapperVersion + ", " +
                  "OVRPlugin v" + OVRPlugin.version + ", " +
                  "SDK v" + OVRPlugin.nativeSDKVersion + ".");

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        if (SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.Direct3D11)
        {
            Debug.LogWarning("VR rendering requires Direct3D11. Your graphics device: " + SystemInfo.graphicsDeviceType);
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        //isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        // Turn off chromatic aberration by default to save texture bandwidth.
        chromatic = false;
#endif

        if (display == null)
        {
            display = new OVRDisplay();
        }
        if (tracker == null)
        {
            tracker = new OVRTracker();
        }
        if (boundary == null)
        {
            boundary = new OVRBoundary();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

        // Disable the occlusion mesh by default until open issues with the preview window are resolved.
        OVRPlugin.occlusionMesh = false;

        OVRPlugin.ignoreVrFocus = runInBackground;
    }
Ejemplo n.º 21
0
 // Use this for initialization
 void Start()
 {
     QualitySettings.antiAliasing = 4;
     OVRTouchpad.Create();
     OVRTouchpad.TouchHandler += HandleTouchHandler;
 }
Ejemplo n.º 22
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

#if !UNITY_ANDROID || UNITY_EDITOR
        var netVersion = new System.Version(Ovr.Hmd.OVR_VERSION_STRING);
        var ovrVersion = new System.Version(Ovr.Hmd.GetVersionString());
        if (netVersion > ovrVersion)
        {
            Debug.LogWarning("Using an older version of LibOVR.");
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        Application.targetFrameRate = 60;
        // don't allow the app to run in the background
        Application.runInBackground = false;
        // Disable screen dimming
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        if (!androidJavaInit)
        {
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            activity            = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            javaVrActivityClass = new AndroidJavaClass("com.oculusvr.vrlib.VrActivity");
            // Prepare for the RenderThreadInit()
            SetInitVariables(activity.GetRawObject(), javaVrActivityClass.GetRawClass());

            androidJavaInit = true;
        }

        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();
        // This will trigger the init on the render thread
        InitRenderThread();
#else
        SetEditorPlay(Application.isEditor);
#endif

        if (display == null)
        {
            display = new OVRDisplay();
        }
        if (tracker == null)
        {
            tracker = new OVRTracker();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

        // Except for D3D9, SDK rendering forces vsync unless you pass ovrHmdCap_NoVSync to Hmd.SetEnabledCaps().
        if (timeWarp)
        {
            bool useUnityVSync = SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9");
            QualitySettings.vSyncCount = useUnityVSync ? 1 : 0;
        }

#if (UNITY_STANDALONE_WIN && (UNITY_4_6 || UNITY_4_5))
        bool unity_4_6   = false;
        bool unity_4_5_2 = false;
        bool unity_4_5_3 = false;
        bool unity_4_5_4 = false;
        bool unity_4_5_5 = false;

#if (UNITY_4_6)
        unity_4_6 = true;
#elif (UNITY_4_5_2)
        unity_4_5_2 = true;
#elif (UNITY_4_5_3)
        unity_4_5_3 = true;
#elif (UNITY_4_5_4)
        unity_4_5_4 = true;
#elif (UNITY_4_5_5)
        unity_4_5_5 = true;
#endif

        // Detect correct Unity releases which contain the fix for D3D11 exclusive mode.
        string version = Application.unityVersion;
        int    releaseNumber;
        bool   releaseNumberFound = Int32.TryParse(Regex.Match(version, @"\d+$").Value, out releaseNumber);

        // Exclusive mode was broken for D3D9 in Unity 4.5.2p2 - 4.5.4 and 4.6 builds prior to beta 21
        bool unsupportedExclusiveModeD3D9 = (unity_4_6 && version.Last(char.IsLetter) == 'b' && releaseNumberFound && releaseNumber < 21) ||
                                            (unity_4_5_2 && version.Last(char.IsLetter) == 'p' && releaseNumberFound && releaseNumber >= 2) ||
                                            (unity_4_5_3) ||
                                            (unity_4_5_4);

        // Exclusive mode was broken for D3D11 in Unity 4.5.2p2 - 4.5.5p2 and 4.6 builds prior to f1
        bool unsupportedExclusiveModeD3D11 = (unity_4_6 && version.Last(char.IsLetter) == 'b') ||
                                             (unity_4_5_2 && version.Last(char.IsLetter) == 'p' && releaseNumberFound && releaseNumber >= 2) ||
                                             (unity_4_5_3) ||
                                             (unity_4_5_4) ||
                                             (unity_4_5_5 && version.Last(char.IsLetter) == 'f') ||
                                             (unity_4_5_5 && version.Last(char.IsLetter) == 'p' && releaseNumberFound && releaseNumber < 3);

        if (unsupportedExclusiveModeD3D9 && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9"))
        {
            MessageBox(0, "Direct3D 9 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }

        if (unsupportedExclusiveModeD3D11 && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 11"))
        {
            MessageBox(0, "Direct3D 11 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }
#endif
    }
Ejemplo n.º 23
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

        Debug.Log("Unity v" + Application.unityVersion + ", " +
                  "Oculus Utilities v" + OVRPlugin.wrapperVersion + ", " +
                  "OVRPlugin v" + OVRPlugin.version + ", " +
                  "SDK v" + OVRPlugin.nativeSDKVersion + ".");

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        var supportedTypes =
            UnityEngine.Rendering.GraphicsDeviceType.Direct3D11.ToString() + ", " +
            UnityEngine.Rendering.GraphicsDeviceType.Direct3D12.ToString();

        if (!supportedTypes.Contains(SystemInfo.graphicsDeviceType.ToString()))
        {
            Debug.LogWarning("VR rendering requires one of the following device types: (" + supportedTypes + "). Your graphics device: " + SystemInfo.graphicsDeviceType.ToString());
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        //isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        // Turn off chromatic aberration by default to save texture bandwidth.
        chromatic = false;
#endif

#if !UNITY_EDITOR
        enableMixedReality = false;                     // we should never start the standalone game in MxR mode, unless the command-line parameter is provided
#endif

        if (MixedRealityEnabledFromCmd())
        {
            Debug.Log("OVR: Mixed Reality mode enabled");
            enableMixedReality = true;
        }

        if (enableMixedReality)
        {
            if (UseDirectCompositionFromCmd())
            {
                useDirectComposition = true;
            }
            if (UseExternalCompositionFromCmd())
            {
                useDirectComposition = false;
            }
            Debug.Log("OVR: Direct Composition " + (useDirectComposition ? "on" : "off"));
        }

        Initialize();

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

        // Disable the occlusion mesh by default until open issues with the preview window are resolved.
        OVRPlugin.occlusionMesh = false;

#if UNITY_EDITOR
        EditorApplication.playmodeStateChanged += OnEditorApplicationPlaymodeStateChanged;
#endif
    }
Ejemplo n.º 24
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

#if !UNITY_ANDROID || UNITY_EDITOR
        if (!ovrIsInitialized)
        {
            OVR_Initialize();
            OVRPluginEvent.Issue(RenderEventType.Initialize);

            ovrIsInitialized = true;
        }

        var            netVersion    = new System.Version(Ovr.Hmd.OVR_VERSION_STRING);
        System.Version ovrVersion    = new System.Version("0.0.0");
        var            versionString = Ovr.Hmd.GetVersionString();
        var            success       = false;
        try {
            ovrVersion = new System.Version(versionString);
            success    = true;
        } catch (Exception e) {
            Debug.Log("Failed to parse Oculus version string \"" + versionString + "\" with message \"" + e.Message + "\".");
        }
        if (!success || netVersion > ovrVersion)
        {
            Debug.LogWarning("Version check failed. Please make sure you are using Oculus runtime " +
                             Ovr.Hmd.OVR_VERSION_STRING + " or newer.");
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        // log the unity version
        Debug.Log("Unity Version: " + Application.unityVersion);

        // don't allow the application to run if orientation is not landscape left.
        if (Screen.orientation != ScreenOrientation.LandscapeLeft)
        {
            Debug.LogError("********************************************************************************\n");
            Debug.LogError("***** Default screen orientation must be set to landscape left for VR.\n" +
                           "***** Stopping application.\n");
            Debug.LogError("********************************************************************************\n");

            Debug.Break();
            Application.Quit();
        }

        // don't enable gyro, it is not used and triggers expensive display calls
        if (Input.gyro.enabled)
        {
            Debug.LogError("*** Auto-disabling Gyroscope ***");
            Input.gyro.enabled = false;
        }

        // NOTE: On Adreno Lollipop, it is an error to have antiAliasing set on the
        // main window surface with front buffer rendering enabled. The view will
        // render black.
        // On Adreno KitKat, some tiling control modes will cause the view to render
        // black.
        if (QualitySettings.antiAliasing > 1)
        {
            Debug.LogError("*** Antialiasing must be disabled for Gear VR ***");
        }

        // we sync in the TimeWarp, so we don't want unity
        // syncing elsewhere
        QualitySettings.vSyncCount = 0;

        // try to render at 60fps
        Application.targetFrameRate = 60;
        // don't allow the app to run in the background
        Application.runInBackground = false;
        // Disable screen dimming
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        if (!androidJavaInit)
        {
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            activity            = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            javaVrActivityClass = new AndroidJavaClass("com.oculusvr.vrlib.VrActivity");
            // Prepare for the RenderThreadInit()
            SetInitVariables(activity.GetRawObject(), javaVrActivityClass.GetRawClass());

#if USE_ENTITLEMENT_CHECK
            AndroidJavaObject entitlementChecker = new AndroidJavaObject("com.oculus.svclib.OVREntitlementChecker");
            entitlementChecker.CallStatic("doAutomatedCheck", activity);
#else
            Debug.Log("Inhibiting Entitlement Check!");
#endif

            androidJavaInit = true;
        }

        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        InitVolumeController();

        // set an event delegate like this if you wish to handle events like "reorient".
        //SetVrApiEventDelegate( VrApiEventDefaultDelegate );
#else
        SetEditorPlay(Application.isEditor);
#endif

        prevEyeTextureAntiAliasing = OVRManager.instance.eyeTextureAntiAliasing;
        prevEyeTextureDepth        = OVRManager.instance.eyeTextureDepth;
        prevEyeTextureFormat       = OVRManager.instance.eyeTextureFormat;
        prevNativeTextureScale     = OVRManager.instance.nativeTextureScale;
        prevVirtualTextureScale    = OVRManager.instance.virtualTextureScale;
        prevMonoscopic             = OVRManager.instance.monoscopic;
        prevHdr = OVRManager.instance.hdr;

        if (display == null)
        {
            display = new OVRDisplay();
        }
        if (tracker == null)
        {
            tracker = new OVRTracker();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }

#if !UNITY_ANDROID || UNITY_EDITOR
        // Except for D3D9, SDK rendering forces vsync unless you pass ovrHmdCap_NoVSync to Hmd.SetEnabledCaps().
        if (timeWarp)
        {
            bool useUnityVSync = SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9");
            QualitySettings.vSyncCount = useUnityVSync ? 1 : 0;
        }
#endif

#if UNITY_STANDALONE_WIN
        if (!OVRUnityVersionChecker.hasD3D9ExclusiveModeSupport && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 9"))
        {
            MessageBox(0, "Direct3D 9 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }

        if (!OVRUnityVersionChecker.hasD3D11ExclusiveModeSupport && !display.isDirectMode && SystemInfo.graphicsDeviceVersion.Contains("Direct3D 11"))
        {
            MessageBox(0, "Direct3D 11 extended mode is not supported in this configuration. "
                       + "Please use direct display mode, a different graphics API, or rebuild the application with a newer Unity version."
                       , "VR Configuration Warning", 0);
        }
#endif
    }
Ejemplo n.º 25
0
    private void Awake()
    {
        // Only allow one instance at runtime.
        if (instance != null)
        {
            enabled = false;
            DestroyImmediate(this);
            return;
        }

        instance = this;

        System.Version netVersion = OVRPlugin.wrapperVersion;
        System.Version ovrVersion = OVRPlugin.version;

        //Debug.Log("Unity v" + Application.unityVersion + ", " +
        //          "Oculus Utilities v" + netVersion + ", " +
        //          "OVRPlugin v" + ovrVersion + ".");

#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
        if (SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.Direct3D11)
        {
            Debug.LogWarning("VR rendering requires Direct3D11. Your graphics device: " + SystemInfo.graphicsDeviceType);
        }
#endif

        // Detect whether this platform is a supported platform
        RuntimePlatform currPlatform = Application.platform;
        isSupportedPlatform |= currPlatform == RuntimePlatform.Android;
        //isSupportedPlatform |= currPlatform == RuntimePlatform.LinuxPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.OSXPlayer;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsEditor;
        isSupportedPlatform |= currPlatform == RuntimePlatform.WindowsPlayer;
        if (!isSupportedPlatform)
        {
            Debug.LogWarning("This platform is unsupported");
            return;
        }

#if UNITY_ANDROID && !UNITY_EDITOR
        // We want to set up our touchpad messaging system
        OVRTouchpad.Create();

        // Turn off chromatic aberration by default to save texture bandwidth.
        chromatic = false;
#endif

        InitVolumeController();

        if (display == null)
        {
            display = new OVRDisplay();
        }
        if (tracker == null)
        {
            tracker = new OVRTracker();
        }
        if (input == null)
        {
            input = new OVRInput();
        }

        if (resetTrackerOnLoad)
        {
            display.RecenterPose();
        }
    }
Ejemplo n.º 26
0
 // Update is called once per frame
 void Update()
 {
     OVRTouchpad.Create();
 }