无法使用Unity + Oculus Rift显示矩形

时间:2015-10-08 08:40:34

标签: c# unity3d oculus

我试图在我的OVRPlayerController相机前面显示一个简单的矩形,但这似乎是不可能的。 我认为这可能与Rect是2D并且我的环境是3D这一事实有关。这有意义吗?

代码如下(我已经省略了不必要的东西):

 @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getActionMasked()) {
            case MotionEvent.ACTION_DOWN:
                mStartX = event.getX();
                mStartY = event.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                if (mStartY - event.getY() > DELTA_DISTANCE)
                    toDrug(v, getActivity());
                if (Math.abs(mStartX - event.getX()) > DELTA_DISTANCE / 2)
                    return true;
                break;
            case MotionEvent.ACTION_CANCEL:
            case MotionEvent.ACTION_UP:
                mStartX = -1;
                mStartY = -1;
        }
        return false;
    }

访问了这些功能,但矩形没有显示出来。你看错了吗?也许它与Oculus Rift有关?

1 个答案:

答案 0 :(得分:0)

VR模式下不支持OnGUI和Screen-space Canvas。这是因为无法处理立体渲染。 (注意:它们将呈现给用户PC上的重复显示)。

如果您想在用户的相机前面渲染(如HUD),您可以:

使用画布:

创建画布,然后添加UI,并在世界空间中设置画布。将画布指向VR Camera游戏对象,并将其缩小(默认为非常大)并旋转它以使其面向相机。

或者,使用3D:

创建一个3d对象(平面,立方体,四边形,无论如何!)并将其作为VR Camera的父级。您可以使用标准的3D技术来更新它的纹理或渲染纹理。