0

本质上,我正在尝试使用 Google Daydream 和 GVR 眼睛类上的切换剔除蒙版枚举来渲染立体内容。在编辑器中一切正常。我分别为左右眼设置了内容,左右摄像头只显示放置在各自图层上的内容。

但是由于某种原因,当我构建到设备时,相机要么被替换,要么切换剔除蒙版值丢失。我不完全确定是哪个。有没有其他人尝试过类似的事情或遇到类似的问题?

这是我的 GVR 设置

我的主相机:

我的左眼(我的右眼是一样的,但切换剔除蒙版和眼睛属性颠倒了):

我只是以某种方式搞砸了设置吗?

4

1 回答 1

0

您应该首先更新到最新的 GVR SDK。
左/右眼仅用于编辑器显示。

在设备上,您应该在着色器中查询 unity_StereoEyeIndex,因为在引擎盖下,在本机 Unity 集成中,主摄像头现在直接渲染到 GVR 缓冲区 - 这提高了性能,但也使您尝试做的事情更多棘手。

最高效的方法是在基于 unity_StereoEyeIndex 的顶点着色器中偏移 UV 坐标。

例如,如果您在 Unity 中创建一个新的无光照着色器,您可以将顶点着色器修改为如下所示,以便进行左/右立体。

v2f vert (appdata v){
  v2f o;
  o.vertex = UnityObjectToClipPos(v.vertex);
  o.uv = v.uv;
  o.uv.x = 0.5*(o.uv.x + unity_StereoEyeIndex);
  return o;
}
于 2017-06-14T15:02:13.343 回答