Javascript 手机上的摄像头控制不适用于虚拟现实
使用babylonJavascript 手机上的摄像头控制不适用于虚拟现实,javascript,virtual-reality,babylonjs,Javascript,Virtual Reality,Babylonjs,使用babylondefaultVRExperience 我不明白少了什么。我已经尝试了我所能想到的一切,但我找不到任何在运动场之外有效的例子 仅需几行代码即可在巴比伦游乐场完美运行的示例: 同一代码在巴比伦以外不起作用的示例: 这里有一个例子,我在一篇文章中找到了一些关于用巴比伦制作手机虚拟现实的东西。。也不起作用: 电话:含oxygenOS 9.0.9的1+5 浏览器:Chrome版本79.0.3945.93 从字面上说,任何帮助都将不胜感激 我假设您正在使用iphone safari 故事
defaultVRExperience
我不明白少了什么。我已经尝试了我所能想到的一切,但我找不到任何在运动场之外有效的例子
仅需几行代码即可在巴比伦游乐场完美运行的示例:
同一代码在巴比伦以外不起作用的示例:
这里有一个例子,我在一篇文章中找到了一些关于用巴比伦制作手机虚拟现实的东西。。也不起作用:
电话:含oxygenOS 9.0.9的1+5
浏览器:Chrome版本79.0.3945.93
从字面上说,任何帮助都将不胜感激 我假设您正在使用iphone safari 故事是,苹果正准备推出一款新产品 安全/隐私设置,以防止站点能够访问 设备的加速计和陀螺仪,这意味着一些VR/AR 你在网上遇到的东西可能要等到 你明确允许这样做 为了使用虚拟现实,我们应该要求用户使用以下代码允许访问运动和方向:
function onClick()
{
if (typeof DeviceMotionEvent.requestPermission === 'function')
{
DeviceMotionEvent.requestPermission()
.then(permissionState => {
if (permissionState === 'granted')
{
// DeviceMotionEvent.requestPermission() has been granted
}
})
.catch(console.error);
}
}
这里是巴比伦iphone在操场外工作的虚拟现实示例
在您的手机中打开此按钮,Chrome v76和forward已删除http的
DeviceMotionEvent
,这意味着Chrome的vr加速计控件仅在使用https时有效
资料来源:
这可以通过将我的示例链接切换到https来确认,然后他们就开始在我手机上的chrome上工作
如果你想支持safari,Mudin的答案很值得一看。你用的是什么手机?我的问题似乎是我没有使用https,如果我将示例链接更改为https,它们就会开始工作,你知道这是为什么吗?@Bobbzorzen通过http加载外部库可能会有问题。事实证明,chrome 76+中http调用的DeviceMotionEvent被删除,这意味着babylon在手机上处理摄像头控制的方式只能在https上工作。不过,感谢您的帮助,非常感谢您在这方面的一个补充说明-巴比伦已经将requestPermission调用集成到最新版本(4.1)中,该版本目前处于betaperfect中,您已经找到了