three.js - Gear VR 上的 Aframe 双重视觉与立体
问题描述
我在 Samsung Gear VR 上的 aframe 上有一个奇怪的问题(在 Chrome 中通过 Cordova 应用程序)。
通常一切都很好,直到我使用立体声组件加载立体声视频
这里的视频很好,但是场景中的光标和任何其他 3D 元素在 VR 耳机中显示为双倍。
您可以在此屏幕截图中看到光标、文本和暂停按钮与后面的人没有对齐,即右侧的光标在他的衬衫上。这部分是因为立体效果,但如果没有立体效果,光标和其他 3D 元素会排成一行,并且在耳机中是清晰的。凭借立体声效果,它们在耳机中都加倍。
光标在这里
{/* Camera */}
<Entity rotation={defaultCameraRotation}>
<Entity primitive='a-camera' id='camera' mouse-zoom wasd-controls={wasdControls} stereocam="eye:left">
{
isVrEnabled &&
<Entity position="0 0 -1"
geometry="primitive: ring; radiusInner: 0.02; radiusOuter: 0.026;"
material={cursorMaterial}
scale={cursorFuseScale}
cursor={cursorAttributes}>
<a-animation {...cursorClickAnimation} />
<a-animation {...cursorFuseAnimation} />
<Entity position="0 0 0"
geometry="primitive: ring; radiusInner: 0.01; radiusOuter: 0.015;"
material="color:white; shader: flat; opacity:0.7;"/>
</Entity>
}
</Entity>
</Entity>
看侧面或背面都没有这个问题,只有在面对3D视频时。即如果你转向侧面看边缘,光标会对齐。
解决方案
你需要一个支持原生 WebVR 的浏览器,比如 Oculus Browser 或 Samsung Internet。Polyfill WebVR 在 Gear VR 中无法正常工作。不幸的是,Cordova 似乎不兼容 WebVR。
Chrome 提供 WebVR,但仅在支持 Daydream的手机上提供,并且不支持 GearVR。如果您有三星 S8 / S9 和白日梦视图,您可以启用 WebVR chrome://flags
,立体对齐应该是正确的。
推荐阅读
- node.js - 在 Apollo GraphQL 中跨本地和远程模式的嵌套数组中建模数据的最佳方法?
- swiper - SwiperJS Swiper Slider 在缩放时禁用滑动,但允许单击缩略图
- docker - 使用 Ansible 重启多个 Docker 容器
- android - 当我删除项目时,Recyclerview 没有更新
- python - ImportError:DLL 加载失败,pybind11 和 PCL
- python-3.x - 数组的双曲正弦和余弦
- javascript - 如何在javascript中以度数显示风向?
- javascript - 无法从节点模块包加载 css
- r - 有没有办法根据文件的存在而不是特定时间来触发 cron 作业运行?
- javascript - 是否有 JavaScript 代码自动点击下一步