コード例 #1
0
        void UpdateModel(string filePath)
        {
            HmdColor_t col = new HmdColor_t();

            col.a = Opacity;
            col.r = 1;
            col.g = 1;
            col.b = 1;

            string ModelFilePath = Path.IsPathRooted(filePath) ? filePath : PathUtilities.GetTruePath(_parent.BasePath, filePath);

            EVROverlayError err = OpenVR.Overlay.SetOverlayRenderModel(_internalOverlay.Handle, ModelFilePath, ref col);

            if (err != EVROverlayError.None)
            {
                Logger.Error("[RENDERMODEL] Failed to set overlay render model: " + err.ToString());
            }
            else
            {
                err = OpenVR.Overlay.SetOverlayTexture(_internalOverlay.Handle, ref _onePixelTexture);

                if (err != EVROverlayError.None)
                {
                    Logger.Error("[RENDERMODEL] Failed to set overlay render model stub texture: " + err.ToString());
                }
                else if (CurrentAnimation == null) // Don't log if we're animating.
                {
                    Logger.Info("[RENDERMODEL] Set render model " + ModelFilePath + " and stub texture for " + _parent.DerivedKey + ".models." + Key);
                }
            }

            /*for(uint i = 0; i < OpenVR.RenderModels.GetRenderModelCount(); i++)
             * {
             *  StringBuilder renderModelName = new StringBuilder(255);
             *  StringBuilder renderModelPath = new StringBuilder(1024);
             *  OpenVR.RenderModels.GetRenderModelName(i, renderModelName, 255);
             *  EVRRenderModelError rerr = EVRRenderModelError.None;
             *  OpenVR.RenderModels.GetRenderModelOriginalPath(renderModelName.ToString().Trim(), renderModelPath, 1024, ref rerr);
             *
             *  Logger.Trace("Render Model: " + renderModelName.ToString().Trim() + ", path: " + renderModelPath.ToString().Trim() + ", Error: " + rerr.ToString());
             * }*/
        }
コード例 #2
0
    protected override void InitOVROverlay()
    {
        // if (overlay.validHandle) return;

        //overlay.SetTextureBounds(new VRTextureBounds_t {uMin = 0, vMin = 0, uMax = 1, vMax = 1});

        overlay.CreateAndApplyOverlay(startOverlayKey);

        HmdColor_t color = new HmdColor_t();

        color.a = renderModelColor.a;
        color.r = renderModelColor.r;
        color.g = renderModelColor.g;
        color.b = renderModelColor.b;

        overlay.SetVisible(true);

        Debug.Log("setting values");

        //OpenVR.Overlay.SetOverlayRenderModel(overlay.handle, pathToRenderModel, ref color);

        SetOverlayTransform(SteamVRManager.I.hmdTrans.position + SteamVRManager.I.hmdTrans.forward, SteamVRManager.I.hmdTrans.eulerAngles, true, true);

        //overlay.SetTexture(tempTex);
        currentTexture = tempTex;

        //OpenVR.Overlay.SetOverlayInputMethod(overlay.handle, VROverlayInputMethod.Mouse);
        //OpenVR.Overlay.SetOverlayFlag(overlay.handle, VROverlayFlags.HideLaserIntersection, true);

        //TODO: Look at  event
        //shouldCalculateInteractDesired = true;
        //lookAtEvent.AddListener(delegate(bool arg0) { isFocused = arg0; });

        hasBeenInitialized = true;


        Debug.Log(overlay.handle + " " + overlay.overlayKey);
    }
コード例 #3
0
ファイル: openvr_api.cs プロジェクト: billcrosbie/openvr
 public abstract void SetSceneColor(HmdColor_t color);
コード例 #4
0
ファイル: openvr_api.cs プロジェクト: billcrosbie/openvr
 public abstract void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors);
コード例 #5
0
ファイル: openvr_api.cs プロジェクト: billcrosbie/openvr
 public override void SetSceneColor(HmdColor_t color)
 {
     CheckIfUsable();
     VRNativeEntrypoints.VR_IVRChaperone_SetSceneColor(m_pVRChaperone,color);
 }
コード例 #6
0
ファイル: openvr_api.cs プロジェクト: billcrosbie/openvr
 public override void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors)
 {
     CheckIfUsable();
     VRNativeEntrypoints.VR_IVRChaperone_GetBoundsColor(m_pVRChaperone,ref pOutputColorArray,nNumOutputColors);
 }
コード例 #7
0
ファイル: openvr_api.cs プロジェクト: bigrpg/openvr
 public abstract void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor);
コード例 #8
0
ファイル: openvr_api.cs プロジェクト: bigrpg/openvr
 public override void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor)
 {
     CheckIfUsable();
     VRNativeEntrypoints.VR_IVRChaperone_GetBoundsColor(m_pVRChaperone,ref pOutputColorArray,nNumOutputColors,flCollisionBoundsFadeDistance,ref pOutputCameraColor);
 }