我试图在我的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有关?
答案 0 :(得分:0)
VR模式下不支持OnGUI和Screen-space Canvas。这是因为无法处理立体渲染。 (注意:它们将呈现给用户PC上的重复显示)。
如果您想在用户的相机前面渲染(如HUD),您可以:
使用画布:
创建画布,然后添加UI,并在世界空间中设置画布。将画布指向VR Camera游戏对象,并将其缩小(默认为非常大)并旋转它以使其面向相机。
或者,使用3D:
创建一个3d对象(平面,立方体,四边形,无论如何!)并将其作为VR Camera的父级。您可以使用标准的3D技术来更新它的纹理或渲染纹理。