问题标签 [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 回答
58 浏览

node.js - 汇编脚本和 WebXR

所以到目前为止,我一直在使用 three.js 和 webXR 一段时间,并希望将其集成到汇编脚本中。我知道如何让 webXR 在 typescript 中工作,但是当我尝试在汇编脚本中使用它时,它会在导入时出错。这是 index.ts 代码和错误:

索引.ts:

错误:

asconfig.json

依赖项:

0 投票
0 回答
252 浏览

unity3d - Unity WebXR 错误:要使用 dlopen(),需要使用 Emscripten 的链接支持

我在 Unity 中有一个 VR 项目,效果非常好。我尝试在其上使用 WebXR,以便将其用作 Web 应用程序。我逐步添加了 WebXR 插件,但在运行构建后,我收到了附加错误:我没有找到解决方案,并且提到的 github 链接对我没有帮助。https://github.com/emscripten-core/emscripten/wiki/Linking

我正在使用 Unity 2019.4.19f1 和有线 Oculus Quest 2。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
38 浏览

shader - Threejs WebXR 和 GPGPU 问题,计算的纹理在 VR 中的某些角度变黑

我有一个问题,想知道是否有人可以提供帮助......我有一个反应扩散模拟着色器(在计算着色器上计算),我想在 VR 中,在浏览器中尝试它......所以,基于https:/ /threejs.org/examples/?q=vr#webxr_vr_ballshooter(进入 VR)和https://threejs.org/examples/webgl_gpgpu_birds.html(用于计算),我使用我的纹理编写了一个小应用程序并计算它在着色器上。

奇怪的结果:着色器正在工作,我可以进入 VR。但是当我进入 VR 时,纹理不稳定:在某些角度观看时会变黑。不在VR中移动相机没问题,纹理一致,但是在VR中会突然变黑。作为测试,我已将应用程序/着色器计算减少到最低限度,但结果是相同的:纹理在 VR 中某个角度变黑并在 GPGPU 上计算...

我使用 Firefox + WebXR API 模拟器(扩展以测试没有耳机的 VR 应用程序),但问题在 Chrome 和/或 Oculus 上是相同的。

您可以在此处尝试测试应用程序:https : //nicofolio.bitbucket.io/06_rd_VR_vrBug_simplified/ 只需将耳机(向上看)旋转 10 度或将其向前移动一点即可看到纹理变黑。如果您知道如何解决问题,请告诉我!我最终会检查 webXR 库以了解它们如何处理相机,但也许有人可以帮助/了解此类问题(并且可以节省我数小时的修补时间)......

干杯!

0 投票
0 回答
237 浏览

three.js - 如何在 WebXR AR A-Frame 场景中使用 dom-overlay 触摸与光线投射的 3D 对象进行交互?

在使用 WebXR 和 dom-overlay 时,我正在尝试在 a-frame AR 场景中实现与 3d 模型的一些交互。
所以我设法实现了命中测试,并且可以在检测到的平面上创建和放置 3d 对象。dom-overlay 也适用于添加普通的可交互 html/css 按钮。但是对我来说不能正常工作的是与创建的 3d 对象的交互。当触摸移动屏幕时,我尝试激活从相机位置到平移的 2D 点的光线投射。

我创建了一个将不同示例合并在一起的小示例(命中测试、dom-overlay、raycast-direction 的计算):https
://glitch.com/edit/#!/ Famous-outstanding-brother 所以,首先你需要检测到一个平面,一个标线会出现,你可以放置小盒子。当您切换左下角的开关时,命中测试将关闭,您应该“触摸”创建的框,以便它们改变颜色。要使用 a-frame raycaster,我会在“叠加层”上收听触摸事件(因为其他事件不会触发,我认为这是获取接触点的 ax/y 坐标的唯一方法)并自己设置方向. 在屏幕中央,它确实工作得很好。
GIF:Hit-Test 和来自屏幕中心接触点的光线投射效果很好

但是,您的触摸越靠近屏幕边缘,它就越不精确。如果 3d 对象离得更远一点,改变盒子颜色的正确接触点就会移位(你需要更靠近中心点触摸)。所以我猜光线投射方向的计算有点错误?!?
GIF:屏幕边缘的光线投射方向关闭

我在网上搜索,但找不到实际使用这些设置的示例。我只是在问自己,如果我只是盲目并且有简单的方法,或者是否真的有一些无法解决的问题(目前)。

所以任何帮助将不胜感激!

0 投票
0 回答
72 浏览

android - 如何在没有 WebXrviewer 的情况下在 iPhone 上进行 AR 开发

我们使用Webxrthreejs开发了一个WebAR体验,它适用于 android 手机和 chrome 浏览器,当我们尝试在 android 和 iPhone 的其他浏览器中进行测试时。

  1. iPhone 可与安装在其中的webxrviewer浏览器一起使用
  2. 在 android Chrome 浏览器中安装 ArCore 时工作
  3. 即使安装了ARcore,在 android 中也无法与任何其他浏览器一起使用。

当我们尝试使用 AR.js 时,我们从 Webxr 获得的体验并没有出现,其中 AR 体验也是基于标记的开发。

有没有其他选择,比如

  1. 任何其他提供 AR 体验的框架,例如适用于 iPhone 和 android的Webxr
  2. 我们可以为 iPhone 开发单独的应用程序吗

请提出解决方案..

0 投票
0 回答
32 浏览

three.js - 三个 js XRMediaBinding ( webXR ) - 如何在 equirectLayer 上添加自定义片段着色器?

在 ThreeJS 中,当在 equirectLayer 上显示 360 度 equirectangular 视频时,有谁知道如何将自定义片段着色器传递给图层,对视频进行一些后处理?

0 投票
1 回答
128 浏览

javascript - Google Model Viewer 在浏览器不支持 AR 时隐藏 AR 预览按钮

我正在使用谷歌模型查看器库。为电子商务网站提供 AR 支持。

自定义按钮在您的空间中查看

我想为那些没有 AR 功能的浏览器隐藏 AR 预览按钮(在您的空间中查看)。我还想显示支持“android”和“ios”的自定义“添加到购物车”按钮?

AR 中的“添加到购物车”按钮

我添加如下代码。它显示在android中但不在ios中

0 投票
0 回答
78 浏览

android - 如何创建由 Cordova 制作的 WebXR-AR 应用程序(IOS 和 Android)

对于应用程序的安装,我为 ios 设置了 xcode,为 android 设置了 android studio。不幸的是,增强现实不能出现在应用程序中,我想主要问题来自这部分代码:

当我尝试使用上面编写的代码开始会话时。它不起作用,因为我相信 xr 不受支持。我也尝试过 cordova-webxr-plugin。但是,它没有用。

有人对我的问题或任何相关建议有任何想法吗?

0 投票
0 回答
54 浏览

augmented-reality - 如何在 WebXR 的 hittest 中区分地板、墙壁和天花板

不幸的是,没有关于 Three.JS 的增强现实 (ARButton) 功能的文档。在示例中,对象没有被放置以区分地板或墙壁。您能否指导如何根据墙壁和地板更正添加对象的大小和旋转。这是由 ARCore 完成的,如此处所述但无法在 Three.JS 示例中执行此操作。

0 投票
0 回答
252 浏览

javascript - Panolens.js / Three.js 全景图像未出现

我不确定为什么没有图像出现。我正在使用端口 5050 的 Visual Studio 代码实时服务器扩展。

这是整个项目的源代码:https ://github.com/chamx2/Web360Sample.git

这是我的 index.html

这是我的 style.css 代码

这是我的 main.js 代码

我想知道出了什么问题,我的控制台上没有任何错误,除了警告:“审核 navigator.userAgent、navigator.appVersion 和 navigator.platform 的使用”我认为不相关或者我应该查看进入。