问题标签 [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.

0 投票
1 回答
305 浏览

aframe - 有没有办法在 WebVR - A-Frame 上模拟 VR 输入设备?

我目前正在使用 A-Frame 构建 WebXR (WebVR) 应用程序,但并不总是能够随身携带控制器(Oculus Touch、Vive Controls)来测试它们。有没有办法“模拟”不同控制器发出的事件?

0 投票
1 回答
132 浏览

aframe - 如何控制跨组件执行的刻度方法的顺序?

我有多个定义tick方法的组件,我需要控制执行顺序。具有以下组件:

以及以下实体:

我想保证下面的滴答顺序:component-a, component-b, component-c

0 投票
0 回答
166 浏览

aframe - AframeVR Aframe Oculus Go 从 altspace vr 应用程序复制控制器功能

我想在 Altspace VR Oculus Go 应用中复制控制器功能。

如何使 Oculus Go 控制器触发为单击,同时按下触控板触发弧形传送,触摸触摸板上的左或右触发右转或左转,按下触控板触控板触发向后移动,点击后退按钮会触发一个菜单,其中包含在 Oculus 浏览器中退出 webvr 模式的选项。

请尝试该应用程序,以进一步了解我想要完成的工作。

0 投票
1 回答
187 浏览

entity - Aframe:我如何链接实体,以便用户可以链接/取消链接实体,因此实体将一起动画,并一起交互

我如何将多个实体链接和取消链接在一起,以便它们可以一起动画。

一个例子是有一小堆实体。当我点击这个堆时,它会散开并向上浮向用户,所以它不再是一堆,而是一系列谨慎的实体,每个实体都相隔一小段距离。

该堆存在 3 个实体 A、B 和 C

如果我单击 ID A 的实体,那么它们都会缩放/定位/旋转回一堆。

如果我单击实体 ID B,则所有实体都向左移动。如果我单击实体 C,则 C 离开桩,它的运动不再与桩相关联。

还有另一堆实体 X、Y 和 Z

如果实体 X、Y 或 Z 靠近实体 C,则实体 C 加入 X、Y、Z 堆。如果用户点击实体 Z 并将其拖到实体 A 或 B 附近,则实体 Z 加入桩 A 和 B,

因此,如果单击实体 A,则 A、B 和 Z 将一起缩放、旋转和定位。

0 投票
1 回答
2498 浏览

javascript - WebVR 不适用于最新版本的 Firefox

在最新版本的 Firefox 中使用 WebVR 项目的 VR 功能时,我遇到了问题。通常在启动 VR 后不到一分钟,SteamVR 将开始在响应和无响应之间闪烁,同时帧率下降。重新启动 SteamVR 并重新加载项目有时会解决问题,有时则需要完全重新安装 SteamVR。即使这样,问题也会以与以前相同的方式返回,导致 VR 功能无法使用。

我注意到 2018 年 6 月的旧版本 Firefox,尤其是这里的这个,没有同样的问题,并且可以毫无问题地运行 VR。WebVR API 有什么变化吗?

我在这里为我的项目创建了一个版本,你可以在这里找到一个实时版本。要使用 VR 功能,请先单击 VR 图标,然后按“v”键进入和退出跟踪。

0 投票
1 回答
508 浏览

babylonjs - 在 Babylon.js 中可以使用透明对象来遮挡对象

我正在使用 Babylon.js 开发一个 AR 应用程序。我需要使用透明网格将虚拟对象隐藏在真实对象后面,就像关于 Three.js 的这个问题所描述的那样:three.js transparent object occlusion

是否有可能用 Babylon.js 做这样的事情,我无法弄清楚?

0 投票
2 回答
281 浏览

augmented-reality - 从 AR 应用程序 (WebXR) 检测房间中的真实物体

让我们想象一个真实的绘画画廊,参观者可以在绘画附近使用手机浏览器,以便(通过 AR)查看有关该绘画的一些信息。

如何使用 WebXR 做到这一点?可能硬编码每幅画的 GPS 位置不够准确,尤其是在室内。每幅画打印和粘贴的 OpenCV arUco 标记,并通过 WebXR 应用程序检测它们,是最好的解决方案吗?如果您距离标记超过 1m,它们似乎无法正常工作。

0 投票
1 回答
215 浏览

webgl - 将帧缓冲区数据从一个 WebGLRenderingContext 复制到另一个?

如果以下内容没有多大意义,请参阅下面的背景部分,我省略了大部分上下文以使问题尽可能清楚。

我有两个具有以下特征的 WebGLRenderingContexts:

  • WebGLRenderingContext:InputGL(允许对其帧缓冲区进行读写操作。)
  • WebGLRenderingContext:OutputGL(只允许对其帧缓冲区进行写操作。)

目标:在移动设备上,在 33 毫秒 (30fps) 内定期将 InputGL 的渲染叠加到 OutputGL 的渲染上。

InputGL 和 OutputGL 的帧缓冲区都来自不同的进程。两者都在一个 window.requestAnimationFrame 回调中可用(并且具有完整的帧缓冲区)。由于 InputGL 需要读操作,而 OutputGL 只支持写操作,所以 InputGL 和 OutputGL 不能合并为一个 WebGLRenderingContext。

因此,我想在每个 window.requestAnimationFrame 回调中将帧缓冲区内容从 InputGL 复制到 OutputGL。这使我可以在 InputGL 上保持读/写支持,并且只在 OutputGL 上使用 write。它们都没有附加(常规)画布,因此画布覆盖是不可能的。我有以下代码:

我不确定这是否需要以某种特定的顺序绑定,或者某种类型的纹理操作,对此的任何帮助将不胜感激。

背景:我正在尝试将 Unity WebGL 与未发布的WebXR API结合使用。WebXR 使用其自己的、修改过的 WebGLRenderingContext,它不允许从其缓冲区中读取(出于隐私考虑)。但是,Unity WebGL 需要从其缓冲区中读取。两者都在同一个 WebGLRenderingContext 上运行会导致 Unity 的读取操作出错,这意味着它们需要分开。这个想法是定期将 Unity 的帧缓冲区数据叠加到 WebXR 的帧缓冲区上。

如果需要,也支持 WebGL2。

0 投票
1 回答
330 浏览

augmented-reality - 您可以使用 A-Frame 与 Web AR 场景进行交互吗?

您可以在 A-Frame 中与移动(魔术窗口)网络 AR 场景进行交互,就像您可以在下面链接的 8th Wall 演示中一样。

一个例子:在 Web AR 平面上放置三个按钮,你是否有用户按下其中一个按钮的事件?

第 8 墙演示:https ://8thwall.com/web

0 投票
0 回答
465 浏览

javascript - 使用 THREE.js 渲染 webXR AR 场景的正确方法是什么?

我对 THREE.js 和 webXR 很陌生。目前的规范让我很困惑。webXR API 示例没有显示任何使用 THREE.js 渲染器的方法,来自 Three 的示例似乎处于使用 webVR 与使用 webXR 的“中间”阶段。

我知道的当前方法是将 of 设置为sessionrenderer.vr请求的会话。虽然这样做确实让我获得了带有相机背景的 3d 场景,但当涉及到场景的实际功能时,我不知所措。在该会话上使用requestHitTest()似乎不起作用,我的默认立方体漂浮在地板下的某个地方。

当我在使用演示时记录相机的位置时,它也返回为 0,0。相机没有移动吗?

有没有什么好地方可以获取有关如何使这些功能起作用的准确示例?