问题标签 [webvr]
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 - ThreeJS: Using a Sprite with the OculusRiftEffect
I'm developing for the OculusRift using the OculusRiftEffect from https://github.com/mrdoob/three.js/blob/master/examples/js/effects/OculusRiftEffect.js and am using Sprites. The problem is the sprites don't appear in the correct position in each eye as in the screenshot. You can see the house sprite is in different positions in each eye and causes a 'double vision' effect in the oculus. While playing around with the code (have a demo plunker here) you can notice that near the edges of the screen the positioning is more accurate but I need it nearer the center of the screen where the positioning is off. I assume this has something to do with the shading/rendering in OculusRiftEffect but don't know enough about it to break it down, any direction would be appreciated, thanks!
Sample code:
javascript - WebVR - PositionSensorVRDevice 没有方向或位置
我正在尝试让 Oculus Rift DK2 方向输入与 WebVR 一起使用 - 使用 Three.js 的 VRControls ( examples/js/controls/VRControls.js
) 或直接从PositionSensorVRDevice
.
但是的PositionSensorVRDevice
状态值始终是(Firefox) 或 VRPoint3D/4Ds,x,y,z = 0 (Chrome),因此相机方向永远不会改变。orientation
position
null
我一直在尝试的 Firefox 和 Chrome VR 版本是:
它正在获取 PositionSensorVRDevice OK,尽管它看起来可能不是真实的,因为 Chrome 将其报告为:
- 设备ID:调试-0
- 设备名称:Moculus Rift
- hardwareUnitId:调试-0
FF 将其报告为:
- deviceId:某个设备
- 设备名称:HMD定位设备
- hardwareUnitId:未知HMDInfo-0x1351d4000
Leap Motion VR Quickstart demo和Three.js WebGL Effects VR demo得到了相同的结果。我在几个月前做过的演示中也得到了同样的结果——它不使用 VRControls,而是直接处理 PositionSensorVRDevice。
毋庸置疑,Rift 已全部连接,来自 Oculus Rift Config Util 的演示场景运行良好。我在固件版本 2.12 上。
VRControls 中的相关代码是更新方法——我一直在检查state.orientation
and的值state.position
:
任何建议都感激不尽!
webgl - 使用 Oculus rift 显示 Web 应用程序输出
我有一个使用 WebGL 生成 3D 场景的 Web 应用程序。我想知道是否可以使用 Oculus rift 来展示这个场景?有多难?
oculus - WebVR - 相对于跟踪器摄像头的耳机位置?
使用当前的 WebVR API,我可以获得相对于 zeroState 的耳机位置和方向数据。
但是如何确定耳机相对于定位跟踪器摄像头的位置?我想在虚拟世界中绘制跟踪器的 3D 模型以及 FOV 约束,就像 Oculus Config 演示场景一样。
javascript - 无法使用 krpano 项目进入 VR 模式
描述
您好,我目前正在关注krpano oculus rift 教程。关于 krpano 的一切都在工作,除了我无法让它在 VR 模式下运行。
我试过的
要使用 Oculus Rift 在 VR 模式下运行 html,我需要:
- 下载并安装其中一款实验性网络浏览器。我选择了 FirefoxNightly(它可以与krpanos 在线演示一起使用)。
- 添加“进入 VR”按钮并添加 onclick 以运行
enterVR
我还检查了 webvr 插件,并且每晚在我的 Firefox 上安装并激活。
错误
在我的控制台中,当我单击按钮时出现此错误。
ReferenceError: enterVR 未定义
问题
我在做什么错/错过了它的工作?
教程的这一部分我不太明白。
立体渲染支持(输出端):立体渲染将在使用 WebVR 插件并调用 enterVR() 操作时自动启用...
WeBVR 插件是一个链接到此页面的可点击元素。他们开始讨论webvr.js
xml 页面的可能属性。
webvr 插件(firefoxnightly 附带的插件)是否包含以上所有内容?如果没有,我如何找到它webvr.js
以及如何将它包含在我的项目(或 firefoxnightly )和 xml 文件中?
这些可能是非常简单的问题,但我已经花了很多时间试图弄清楚但没有成功。我很感激任何帮助。谢谢。
webgl - 在 WebVR 模式下同步渲染鼠标 (WebGL) 和指针锁定坐标
我正在尝试将渲染的鼠标与指针锁定坐标同步。指针锁隐藏了鼠标光标,所以我需要单独绘制它。我有一个带有原始鼠标指针的 3D 场景。我使用广告牌在 (0,0, -1) 处绘制鼠标光标,所以它看起来像这个 3D 空间中的 2D 对象,很好。
到目前为止,一切都很好。为了计算基于指针锁的 x 和 y 坐标,我使用这个:
第一个问题是,我不知道我最初必须如何设置 x 和 y 坐标。当您进入 VR 模式时,光标设置为 (0,0, -1),因此它们必须在 2D 空间中同步。由于两只眼睛,我认为它类似于 width/2 或 width/4,但这不起作用。另外我需要一个正确的渲染加速因子,因为鼠标太快了。我猜又是有宽度的东西。
javascript - ThreeJs 中的门户
嗨,有没有人能够在 ThreeJS 中制作门户类型的东西?
我想在我的 VR 论文中使用不可能的建筑,我一直在尝试制作一个小方形房子,当你透过门看时,你会发现房子里面是一个不可能容纳的大走廊在房子里。
我想通过在连接到另一个场景的门上制作一个“门户”来做到这一点,我尝试通过将相机渲染到像这个例子这样的纹理上来做到这一点(http://stemkoski.github.io/Three.js /Camera-Texture.html)并使用 .setViewOffset 尝试裁剪,但我只是迷路了。它不工作......
任何帮助将不胜感激;http://sanschaise.com/thesis是我目前拥有的..
javascript - 使用three.js,如何将EffectComposer与OculusRiftEffect、VREffect或VRRenderer集成?
使用three.js,类OculusRiftEffect、VREffect或VRRenderer允许程序员将他们的场景渲染到 Oculus Rift。
EffectComposer是另一个three.js类,它允许程序员组合多个不同的场景以由单个渲染器显示。
我的问题是,如何使用 Rift 显示EffectComposer的合成输出?
问题如下:
OculusRiftEffect、VREffect或VRRenderer类必须使用诸如 WebGLRenderer 之类的渲染器进行初始化。在渲染循环中,必须按如下方式调用该类,从而使场景显示在 Rift 上:
EffectComposer还必须使用诸如 WebGLRenderer 之类的渲染器进行初始化。在渲染循环中,必须按如下方式调用EffectComposer,从而使合成的场景由渲染器显示:
但是,无法使用OculusRiftEffect、VREffect或VRRenderer来代替WebGLRenderer来初始化EffectComposer。
问题是如何将EffectComposer连接到 Rift 类之一进行渲染?
非常感谢!
three.js - Three.js - VRControls 集成 - 如何在场景中移动?
我使用 Three.js 在一个小场景中渲染和移动(我的 orbitControl 更改了 camera.position)。
现在我有眼裂。所以我添加了 VRControls 和 VREffect。
移动头部没有问题。
但是我不能再在场景中移动,因为 VRControls 会覆盖相机参数:
我认为这很容易纠正:我只需要更新相机而不是覆盖它:
但它不起作用:它渲染了一个移动的轻弹场景。VRControls 和 orbitControl 似乎在打架……
您能告诉我如何将 VRControls 集成到现有项目中吗?如果您有更新代码(我真的不知道四元数...),那将非常有帮助。
谢谢
windows - DK2 头部跟踪不工作 Windows 上的“HMD 已关闭,检查 HDMI 连接”
第 1 部分 - 问题描述
我有DK2
,我正在做一个VR
项目。该项目使用 FirefoxNightly。我已经下载并安装了WebVR Enabler Add-On
从http://mozvr.com/downloads/得到这个
我还从https://developer.oculus.com/downloads/下载并安装了适用于 Windows 的最新 SDK 和运行时
我也在 Oculus 配置实用程序上得到了这个(当插入 oculus 时):
但是,我已经在另一台装有 Windows 的计算机上安装了所有东西,就像在这台 Windows 计算机上一样,它清楚地显示 Oculus Rift 连接正确,但头部跟踪仍然无法正常工作。
编辑:我刚刚尝试将 oculus rift 连接到这台“第二”台电脑(戴尔笔记本电脑),现在它甚至无法识别 oculus rift。仍然没有头部跟踪。
编辑 2:我尝试在第三台 PC 上安装所有内容但没有成功。我在 Oculus 配置实用程序中显示“服务不可用”
我的显示模式设置如图所示。
第 2 部分 - 问题
我究竟做错了什么?有没有我忘记做的步骤?奇怪的是,我在 Mac 上运行相同的项目没有任何问题。是的,在 Windows 上,我可以通过头部检测看到屏幕,oculus rift
但只是不存在头部检测。
第 3 部分 - 可能无效的修复列表
这篇 reddit 帖子讨论了防火墙问题,但是我尝试了 oculus rift,但未成功禁用防火墙。
这篇 reddit 帖子通过重新安装所有内容并更新某些驱动程序来讨论可能的修复。但是我一步一步地遵循了这个修复,但没有成功。
这个 oculus 论坛帖子讨论了这个问题,一个人提出了一个对他/她有用的修复程序。我遵循了修复但没有成功。
第 4 部分 - 系统信息
如果您需要特定的翻译,请告诉我。它是法语的。
第 5 部分 - 我尝试过的事情清单
- 我已经重新安装了所有东西。SDK(实际上甚至不需要)、runtime、firefoxnightly、webvr add-on 多次
- 我已经多次重启我的电脑
- 我尝试了不同的
Rift Display Mode
- mozvr.com 和其他基于 webvr 的项目的基本演示工作正常,但头部跟踪不起作用。
- 我的 Oculus 没有坏(可能适用于 windows),它适用于 Mac。
- 我尝试使用不同的 HDMI 电缆和不同的 minUSB-USB 电缆,但没有成功。
第 6 部分 - 来自论坛的报价
这听起来与我们很多人在 0.5 和 0.6 版本中遇到的相同问题。这不是电缆有问题,而是运行时本身有问题。直接模式完美运行,在扩展模式下,裂缝仍然显示图片,尽管运行时没有任何跟踪等。希望下次更新能修复。