示例#1
0
    public void SetTransformToTrackedDevice(Transform t, uint ind)
    {
        var pose = new OVR_Utils.RigidTransform(poses[ind].mDeviceToAbsoluteTracking);

        t.position = pose.pos;
        t.rotation = pose.rot;
    }
示例#2
0
    public Quaternion GetPosRotation(uint ind)
    {
        var pose = new OVR_Utils.RigidTransform(poses[ind].mDeviceToAbsoluteTracking);
        var mat  = Matrix4x4.TRS(pose.pos, pose.rot, Vector3.one);
        var rot  = OVR_Utils.GetRotation(mat);

        return(rot);
    }
示例#3
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 (!dontForceRenderTexCam)
            {
                cameraForTexture.enabled = false;
            }

            cameraTexture = new RenderTexture(width, height, 24);

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

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

            overlayTexture = cameraTexture;
        }

        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;
    }
示例#4
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;
            }
        }
    }
示例#5
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;
            }
        }
    }