本质上,我正在尝试使用 Google Daydream 和 GVR 眼睛类上的切换剔除蒙版枚举来渲染立体内容。在编辑器中一切正常。我分别为左右眼设置了内容,左右摄像头只显示放置在各自图层上的内容。
但是由于某种原因,当我构建到设备时,相机要么被替换,要么切换剔除蒙版值丢失。我不完全确定是哪个。有没有其他人尝试过类似的事情或遇到类似的问题?
这是我的 GVR 设置
我的主相机:
我的左眼(我的右眼是一样的,但切换剔除蒙版和眼睛属性颠倒了):
我只是以某种方式搞砸了设置吗?
您应该首先更新到最新的 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;
}