问题标签 [virtual-reality]
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.
architecture - MMORPG / VR架构
任何人都可以提供文章/博客的链接,讨论 MMORPG 或虚拟现实服务器或其他具有丰富 3D 客户端的系统的架构。
html - 如何在 HTML 页面中嵌入 QuickTime VR “东西”?
send-me-the-codez
如果愿意,请标记此内容。我被要求协助将 Quicktime VR东西(因为缺乏更好的术语。电影?小程序?)放在 HTML 页面中。我该怎么办?非常感谢在线示例的指针。
注意:我查看了 Apple 的 iPhone 360 度视图,(我认为)这是我在互联网上看到的唯一 QuickTime VR 示例。Apple 的样本充满了 JavaScript,看起来像是可怕的矫枉过正。
flash - HTML5全景
我正在使用这个 Flash 全景查看器 ( http://flashpanoramas.com/player/ )。但是对于不支持 Flash 的设备,有没有好的 HTML 替代品?它需要支持适当的 3d 全景图,例如谷歌街景。
ios - 构建 Safari HTML5 全景图的教程?
有没有像 Apple 技术演示中介绍的那样构建基于 HTML5 的 VR 全景图的教程?我之所以问,是因为很少有搜索结果或关于再现 VR 效果的教程。这是链接:
javascript - 将 2D 画布(图像 + 文本)应用到 3D 表面并进行 360 度旋转/动画 - 可以使用 HTML5/CSS3/Javascript 或 Flash 进行此操作吗?
我正在考虑(如果可能的话,或者)我将如何在浏览器中实现以下功能:
我正在尝试设计一个 Web 应用程序,该应用程序将允许用户自定义设计(添加图像 + 文本)到浏览器中的 3D 表面。设计可以在(2D)画布/编辑器上进行,这将允许用户拖放图像并添加文本等。然后,最好是实时地,将设计转换并应用于 3D 形状/表面。用户可以通过旋转 3D 表面进行预览。
它需要在 iOS 中工作,所以 Flash 已淘汰。对于这种应用程序是否可以避免使用 WebGL - 需要广泛的浏览器覆盖范围(IE8 需要支持相关的画布垫片)。
有什么东西已经这样做了吗?是否可以在客户端(HTML5/Javascript)中专门实现这一点?
hardware - 多显示器物理设置的描述文件
我需要多显示器和 VR 设置的机器可读描述,例如简单的双屏计算机、Powerwalls和Caves。此描述必须包括物理空间中所有输出(显示或投影)的大小和位置。
远的目标是将用户(头部)跟踪、移动设备的设备跟踪等与多显示器环境相结合。
- 最简单的问题是要注意多显示器设置的屏幕之间的间隙,因为展示柜的边框。
- 最复杂的设置可能是具有多边形或弯曲投影表面的洞穴。
我的印象是,那里的每个 VR 软件都定义了自己的 setup-config-crackpot-text-file-format。我缺少一个共同的标准或惯例吗?
javascript - 如何替换objective-c中的java脚本参数?
我试图在我的示例项目中使用Apple HTML5 VR ...
这个示例代码看起来很好。
threesixty.js
它加载 Seq_v04_640x378_01.jpg ~ Seq_v04_640x378_72.jpg
但我很好奇,如果我想添加另一张图片来显示 360
怎么改图片名???
感谢您的任何回复或回答:)
韦伯
/编辑 - 添加 Projec 词典截图/ “优化”词典中有 72 张图片
c++ - 用于桌面 VR 的 OpenGL 非对称截锥体
我正在制作一个 OpenGL c++ 应用程序来跟踪用户相对于屏幕的位置,然后将渲染场景更新为用户的视角。这被称为“桌面 VR”,或者您可以将屏幕视为立体模型或鱼缸。我对 OpenGL 相当陌生,到目前为止只定义了一个非常简单的场景,只是一个立方体,并且最初是正确渲染的。
问题是当我开始移动并想要重新渲染立方体场景时,投影平面似乎被平移了,我看不到我认为我应该看到的内容。我想把这架飞机修好。如果我正在编写光线追踪器,我的窗口将始终是固定的,但我的眼睛可以随意移动。有人可以向我解释如何在让我的相机/眼睛在非原点坐标处徘徊的同时达到我想要的效果(固定观察窗)吗?
我发现的所有示例都要求相机/眼睛位于原点,但这在概念上对我来说并不方便。另外,因为这是一个“鱼缸”,我将我的 d_near 设置为 xy 平面,其中 z = 0。
在屏幕/世界空间中,我将屏幕中心分配给 (0,0,0) 并将其 4 个角分配给:TL(-44.25, 25, 0) TR( 44.25, 25, 0) BR( 44.25,-25 , 0) BL(-44.25,-25, 0) 对于 16x9 显示器,这些值以厘米为单位。
然后,我使用 POSIT 计算用户的眼睛(实际上是我脸上的网络摄像头),通常在 (+/-40, +/-40, 40-250) 的范围内。我的 POSIT 方法是准确的。
我正在为透视和查看变换以及使用着色器定义自己的矩阵。
我初始化如下:
根据我在网上收集的信息,我的 view_dir 及以上内容将保持不变。这意味着我只需要更新 d_near 和 d_far 以及 d_x、d_y 和 d_y?我在我的 glutIdleFunc(idle);
这是我的着色器代码:
好的,我对代码进行了一些更改,但没有成功。当我在顶点着色器中使用 V 代替 MV 时,一切看起来都如我所愿,透视正确且对象大小合适,但是,场景是通过相机的位移来平移的。
当使用 C 和 V 获得 MV 时,我的场景是从观察者的角度直接渲染的,渲染的场景会按应有的方式填充窗口,但眼睛/相机的视角会丢失。
真的,我想要的是通过眼睛/相机的适当 x 和 y 值来平移 2D 像素,投影平面,以便将对象的中心(其 xy 中心为(0,0))保持在渲染图像的中心。我以教科书“交互式计算机图形学:基于着色器的 OpenGL(第 6 版)的自顶向下方法”中的示例为指导。使用网络上免费提供的与本书配对的文件,我将继续使用行主要方法。
以下图像是在不使用矩阵 C 创建 MV 时拍摄的。当我确实使用 C 创建 MV 时,所有场景看起来都像下面的第一张图片。我不希望在 z 中进行翻译,所以我将其保留为 0。
因为投影平面和我的相机平面是平行的,所以从一个坐标系到另一个坐标系的转换只是简单的平移和inv(T) ~ -T。
这是我在 (0,0,50) 处的眼睛图像:
这是我在 (56,-16,50) 的眼睛图像:
3d - 使用四元数围绕最初以欧拉角表示的轴旋转矢量
我目前正在开发一个X-Plane 插件以添加对 Oculus Rift 的支持,但我在使用四元数进行旋转时遇到了问题。我以前用旋转矩阵或欧拉角做过这种事情,但由于四元数似乎是现在要走的路,我借此机会学习它们。四元数也是 Oculus SDK 似乎在本地使用的,因此使用它们是阻力最小的路径。
我要解决的问题是将相机放置在哪里,以便在飞机本身在飞行中改变其方向时,它位于飞行员头部的位置。这对我来说似乎很简单。我有一个向量表示飞行员头到飞机重心的相对位置,我想围绕飞机z向量旋转滚动度数。
这是我现在拥有的代码。我认为这是正确的,但是运行此代码会产生一个太高的位置......在飞机屋顶上方的某个地方,并且随着飞机方向的变化以圆形模式移动。此外,如果我尝试将头部矢量旋转 0 度(通过将phi设置为 0),我会得到相同(或至少相似)的奇怪结果,所以我必须设置我的 quat 或有什么问题。
TIA 的帮助。
kinect - 使用 kinect 进行位置跟踪 - 如何确定封闭 3d 空间中的头部位置
我想 kinect 的标准使用方式是把这个设备放在某个固定的位置,让它进行计算,例如跟踪在它前面移动的人的头部跟踪。
但我的用例不同。我需要做的是改变参考框架 - 将 kinect 连接到头部并开始在房间周围移动。然后我需要计算它在房间内的位置(我已经将房间映射到内存中)。
因此,现在应该根据当前设备位置本身及其与房间墙壁、地板和天花板的关系进行跟踪。据我了解,kinect 应该能够反射墙壁上的光并给出深度 - 我目前与墙壁的距离等。如果这甚至可能实现,我需要获取一些信息。
您能否为我提供一些建设性的参考资料,让我可以更深入地探讨该主题,以便能够开始实施所需的行为?