问题标签 [webxr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - WebXR - Android 11 上的“dom-overlay”可选功能
我正在玩 WebXR 并实现了一个带有一些 AR 体验控件的 dom-overlay。
在 Android 10 上一切正常,但在 Android 11 上,覆盖不再透明。
除了当然更新到 Android 11 之外,我没有进行任何更改。
在另一部手机上,仍然使用 Android 10,它仍然可以工作。
我使用的 Chrome 版本是 85.0.4182.101。
我该如何解决?这是一个已知的错误?
有没有其他选择?
非常感谢!
ios - 非越狱ios上的mozilla webxr-viewer远程调试
webxr 查看器是一个支持 webxr 的 iOS 浏览器。
到目前为止效果很好,但现在我需要调试我的场景。
我可以将手机连接到 mac 并调试 safari,有没有办法为 webxr-viewer 应用程序获得相同的功能?
查看器本身有一个“webxr 调试”按钮,所以我猜开发人员考虑过这种可能性,但没有文档提到如何实际连接到 mac 上的调试 ui/应用程序。
我是否正确地假设我必须从firefox-ios github下载 webxr 分支并自己构建它?
有没有办法直接调试arkit?
three.js - 如何修复用于宽 FOV 显示的 Threejs webxr 示例?
Threejs 有一些 webxr 示例,但它们似乎都假设用户将使用小型 FOV 耳机并使用平行投影。当您在带有倾斜显示器(如 Pimax)的宽视野头显上查看它们时,左/右眼的 3D 对象不会对齐。这可以通过在 PiTools 中启用并行投影兼容性来解决,但这会导致性能下降。
这是执行此操作的示例:https ://threejs.org/examples/?q=WebXR#webxr_vr_cubes
有人告诉我,较新的游戏引擎没有这个问题,因为它们不再假设将使用窄 FOV 头显并进行适当的调整。
我的问题是需要对演示的示例代码进行哪些更改以支持 Pimax 或其他宽视场耳机?
electron - WebXR 在 Electron 中的地位如何?
在过去的几年里,各个地方都有关于 Electron 中的 WebVR 的帖子,答案一直是(非常合理地)它不是 Chromium 的核心部分,因此在 Electron 中不受支持。
然而,WebXR 现在是 Chromium 的核心部分。只要您安装了 OpenXR,Chromium 就可以运行 WebXR,而无需特殊的命令行选项或标志。但是,基于这些 Chromium 版本的 Electron 版本仍然不允许 XR。navigator.xr 存在,但尝试获取 webXR 会话总是失败。是否有任何关于我们何时可以希望获得 WebXR 支持的信息?
javascript - 我们如何使用 three.js 为 WebXR 使用 equirectangular 图像?
我正在使用 Three.js 创建一个 Web 应用程序,其中我必须使用等距矩形图像进行全景游览。我想像 React360 和 AFrame 一样添加一个在普通模式和 VR 模式之间切换的功能。我不想使用 React360 和 AFrame,因为我的应用程序已经在使用 Three.js。
我检查了 three.js 示例,但没有一个示例使用 VR 的 equirectangular 图像。有没有办法将 equirectangular 图像转换为 CubeMap,那么,我可以用它在普通模式和 VR 模式之间切换吗?
three.js - 将多个 VR 应用程序整合到一个网页中
我有多个不同的、独立的 VR 应用程序在不同的服务器上运行(我可以访问所有这些应用程序)。他们还使用不同的框架:babylon.js、three.js 和 a-frame。现在的想法是能够从其他 VR 网页(基本上是导航)中进入每个应用程序。我已将它们中的每一个加载到 iframe 中,并且可以在它们之间切换。
这工作正常,直到使用移动设备的 VR 模式,因为它与桌面网页的全屏不同。我不介意短暂退出并重新进入 VR,但由于缺少用户的同意,我无法执行负责执行此操作的功能。它将返回:the requested session requires user activation
。
有没有办法绕过用户激活?
有没有其他方法可以在 vr 应用程序之间切换?
感谢您提供的任何帮助:D
javascript - 如何在 A-Frame 中使用 Chart.js?
我在 A-Frame 场景中添加 Chart.js 画布图时遇到问题。
你可以在这个Glitch 项目中看到我的问题和源代码,或者你可以在这里查看图像:
您可以在左侧看到原始画布图,在右侧,该图作为 A-Frame 场景内图像的纹理。这张图全是小故障,我不明白为什么。
有没有办法修复纹理?或者另一种在场景中添加 2D Chart.js 图形的方法?
谢谢你。
javascript - 如何检查 Chrome 移动浏览器中是否授予/阻止了增强现实权限?
问题:
Chrome 浏览器中的 WebXR 需要明确的用户同意(权限)才能进行空间跟踪,但我们遇到了阻止它的用户的问题。因此,为了向有此问题的用户提供相关的用户体验(而不是可能发生的其他错误),我们需要检查 Chrome 中的权限(增强现实)是否被授予,如下图所示:
我尝试过的:
尽管“xr”权限描述符名称未在权限注册表中列出,但在WebXR 设备 API 规范 14.2中对其进行了描述。但是,以下代码返回错误。
错误(我想这是预期的,因为它不在权限注册表中,我只是认为 Chrome 可能以某种方式对其进行了扩展):
我也尝试过 'immersive-ar'、'xr-spatial-tracking' 等,但没有成功。'xr-spatial-tracking' 是一项功能策略,但如果我理解正确,功能策略的目的不是授予权限,而是限制页面上某些元素的权限(例如 iframe)。
WebXR 还使用相机和最有可能的陀螺仪和加速度计,但这些权限不受“允许/阻止增强现实”的影响。我认为这是由于相机/跟踪部分在设备上本地运行,而不是在浏览器中运行(我可能弄错了)。
示例:
您可以在 Chrome 浏览器上使用移动设备访问此 three.js 示例,以查看 url 旁边的 tabblock 按钮下的“允许/阻止增强现实”权限。
如何检查这些权限是被授予还是被阻止?我不是在问如何用权限请求提示用户,只是权限状态的只读值会是完美的。
谢谢!
augmented-reality - AR 模式 A 帧中的点击事件
我对 AR 很陌生,所以这个问题的答案可能很简单。我编写了一个简单的组件,一旦单击它就会改变框的颜色。这个组件在 VR 模式下工作,但是当我在手机上点击屏幕时,它在 AR 模式下根本不起作用。
augmented-reality - 您可以在 A-Frame 上使用 raycaster 与在 AR 模式下创建的对象相交吗?
我正在制作一个以 A-Frame 的 AR 模式堆叠块的 Web 应用程序。
在 AR 模式下新创建的块对象不会响应 Raycaster。
我想知道方块和 Raycaster 相交的地方。
它对最初放置的对象(Hello a-frame 对象)做出反应。