unity-game-engine - Unity + Oculus Rift : show both eyes?

标签 unity-game-engine oculus

我希望能够在 Unity 5 中看到双眼的输出。使用最新的 OVR 插件,unity 只显示单眼​​。此外,它似乎甚至在耳机上也呈现单视场效果。

我想要一个例子,它可以让我在左眼上显示蓝色矩形,在右眼上显示红色矩形,并在主显示器上看到两者(蓝色和红色)。

建议?

最佳答案

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

(伪代码)

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;
}

立体渲染要求每只眼睛的 View /投影矩阵都不同。眼睛被有效地视为单独的相机,稍微偏移以反射(reflect)用户的 IPD。所以,游戏循环是这样运行的:

  1. Update() 所有游戏对象
  2. Render() 左眼的所有内容
  3. Render() 右眼的所有内容
  4. 在主显示器上渲染()游戏 View (如果启用)。
  5. 转到1

每次 VR 更新时,您总是会获得至少两个渲染。

关于unity-game-engine - Unity + Oculus Rift : show both eyes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32568512/

相关文章:

unity3d - 如何将文件写入 Oculus Quest 内部存储

nvidia - 将设备注册为支持直接模式? (VR 耳机开发者 [GameWorks VR])

youtube - 自动将球形jpeg图像(360x360 View )转换为YouTube的电影序列

ios - Unity3D 4.1 导致 Everyplay 损坏 - "iPhone_GlesSupport.h"丢失

c# - Unity 插件内的 C# 脚本中未触发回调

unity-game-engine - TextMesh Pro 的检查器中的公共(public)变量名称从何而来?

unity-game-engine - Unity自定义天空盒就像Unity天空盒一样

javascript - 为什么我不能让背景中的山脉以视差方式移动?

javascript - 如何使用 WebVR 使 THREE.Mesh 看起来有立体感?

android - 无缝异步场景和纹理加载 - Unity 和 GearVR