Пример #1
0
    void Start()
    {
        matrixConverter = new OVR_Utils.RigidTransform(transform);

        ResetTexture();

        if (Application.isPlaying)
        {
            // Check for Unity_SteamVR_Handler
            Unity_SteamVR_Handler[] handlers = FindObjectsOfType(typeof(Unity_SteamVR_Handler)) as Unity_SteamVR_Handler[];
            if (handlers.Length < 1)
            {
                Instantiate(steamVRHandlerPrefab);
            }

            ovrHandler = OVR_Handler.instance;
            overlay    = new OVR_Overlay();

            matrixConverter = new OVR_Utils.RigidTransform(transform);

            overlay.overlayTextureType = SystemInfo.graphicsDeviceVersion.StartsWith("OpenGL") ? ETextureType.OpenGL : ETextureType.DirectX;

            overlay.overlayKey  = overlayKey;
            overlay.overlayName = overlayName;

            if (isDashboardOverlay)
            {
                overlay.overlayIsDashboard = true;
            }

            textureBounds.uMin = 0;
            textureBounds.vMin = 1;

            textureBounds.uMax = 1;
            textureBounds.vMax = 0;

            // Testing out some event based stuff
            overlay.onVisibilityChange += (b) => { ovrHandler.onOverlayAppChange(b); };

            overlay.onVisibilityChange   += OnVisChange;
            ovrHandler.onDashboardChange += OnDashBoardChange;

            if (canvasGraphicsCaster && cameraForTexture)
            {
                Canvas can = canvasGraphicsCaster.gameObject.GetComponent <Canvas>();
                can.worldCamera = cameraForTexture;
            }
        }
    }
Пример #2
0
 public bool DeregisterOverlay(OVR_Overlay overlay)
 {
     return(overlays.Remove(overlay));
 }
Пример #3
0
 public bool RegisterOverlay(OVR_Overlay overlay)
 {
     return(overlays.Add(overlay));
 }
Пример #4
0
    void Start()
    {
        matrixConverter = new OVR_Utils.RigidTransform(transform);

        if (cameraForTexture != null)
        {
            int width  = renderTexWidthOverride != 0 ? renderTexWidthOverride : (int)(cameraForTexture.pixelWidth);
            int height = renderTexHeightOverride != 0 ? renderTexHeightOverride : (int)(cameraForTexture.pixelHeight);

            if (!dontForceRenderTexture)
            {
                cameraForTexture.enabled = false;
            }

            cameraTexture      = new RenderTexture(width, height, 24);
            cameraTexture.name = "Overlay RenderTexture";

            if (highQualityRenderTex)
            {
                cameraTexture.antiAliasing = 8;
                cameraTexture.filterMode   = FilterMode.Trilinear;
            }

            if (!dontForceRenderTexture)
            {
                cameraForTexture.targetTexture = cameraTexture;
            }

            overlayTexture = cameraTexture;
        }

        if (Application.isPlaying)
        {
            // Check for Unity_SteamVR_Handler
            Unity_SteamVR_Handler[] handlers = FindObjectsOfType(typeof(Unity_SteamVR_Handler)) as Unity_SteamVR_Handler[];
            if (handlers.Length < 1)
            {
                Instantiate(steamVRHandlerPrefab);
            }

            ovrHandler = OVR_Handler.instance;
            overlay    = new OVR_Overlay();

            matrixConverter = new OVR_Utils.RigidTransform(transform);

            overlay.overlayTextureType = SystemInfo.graphicsDeviceVersion.StartsWith("OpenGL") ? ETextureType.OpenGL : ETextureType.DirectX;

            overlay.overlayKey  = overlayKey;
            overlay.overlayName = overlayName;

            if (isDashboardOverlay)
            {
                overlay.overlayIsDashboard = true;
            }

            textureBounds.uMin = 0;
            textureBounds.vMin = 1;

            textureBounds.uMax = 1;
            textureBounds.vMax = 0;

            // Testing out some event based stuff
            overlay.onVisibilityChange   += OnVisChange;
            ovrHandler.onDashboardChange += OnDashBoardChange;

            if (canvasGraphicsCaster && cameraForTexture)
            {
                Canvas can = canvasGraphicsCaster.gameObject.GetComponent <Canvas>();
                can.worldCamera = cameraForTexture;
            }
        }
    }