Unity3d 统一+;眼睛裂痕:显示双眼?

Unity3d 统一+;眼睛裂痕:显示双眼?,unity3d,oculus,Unity3d,Oculus,我希望能够在Unity 5中看到两只眼睛的输出。使用最新的OVR插件,unity只显示一只眼睛。此外,它似乎是渲染monoscopic甚至对耳机 我想举一个例子,让我在左眼上显示一个蓝色的矩形,在右眼上显示红色,在主显示器上同时显示(蓝色和红色) 建议 不久前解决了这个问题。基本上,每帧有2个渲染和1个更新 (伪代码) 立体渲染要求每只眼睛的视图/投影矩阵不同。眼睛被有效地视为单独的摄像头,略微偏移以反映用户的IPD。因此,游戏循环如下: 更新()所有游戏对象 渲染()左眼的所有内容 渲染()右

我希望能够在Unity 5中看到两只眼睛的输出。使用最新的OVR插件,unity只显示一只眼睛。此外,它似乎是渲染monoscopic甚至对耳机

我想举一个例子,让我在左眼上显示一个蓝色的矩形,在右眼上显示红色,在主显示器上同时显示(蓝色和红色)


建议

不久前解决了这个问题。基本上,每帧有2个渲染和1个更新

(伪代码)

立体渲染要求每只眼睛的视图/投影矩阵不同。眼睛被有效地视为单独的摄像头,略微偏移以反映用户的IPD。因此,游戏循环如下:

  • 更新()所有游戏对象
  • 渲染()左眼的所有内容
  • 渲染()右眼的所有内容
  • 主显示器上的Render()游戏视图(如果启用)
  • 转到1
  • 在VR中,每次更新至少会得到两次渲染

    int Eye=0;
    
    Update()
    {
        // reset to left eye for this frame
        Eye=0;
    }
    
    Render()
    {
      // generate different content based on which view 
      // (eye, editor game view) is being rendering
      switch(Eye){
        case 0: renderLeft(); break;
        case 1: renderRight(); break;
        default: renderSomethingInEditor();
      }
    
      // increment to next view, will be used by next render in this frame.
      ++Eye;
    }