问题标签 [oculus]
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.
oculus - 是否有一个模拟器可以在没有硬件的情况下测试 ocusdk?
刚刚下载了 OCUSDK 并一直在阅读它。我还没有DK2。是否可以在没有耳机的情况下为任何模拟器运行示例代码?我只想在我的 Windows 7 PC 屏幕上查看图像。
如果这是可能的,请给我一个提示。谢谢!!!
javascript - 在 iframe 中的画布上绘图不会全屏显示
描述
您好,我创建了一个 sketchfab 帐户并上传了一个 3D 头骨。Sketchfab 创建了一种通过 Oculus rift 来查看这个 3D 模型的方法,只需添加/embed?oculus=2
(对于我拥有的 dk2 版本)
(在您继续阅读之前,请阅读以下内容:当我说眼裂时.. 它所做的只是并排创建这个 3D 头骨的两个图像并将其全屏显示。就是这样。不需要任何配置使用 oculus rift(除了标准设置..我已经做过))
一切似乎都在工作,除非我把它全屏显示。这是结果:
请注意,画布会全屏显示,但 3D 模型的绘图不会分成两部分。由于某种原因,它停留在最左边的角落。
嵌入代码
我试过的
我正在使用mac,我已经尝试过chrome, safari, firefox
,结果完全相同。
我曾尝试更改iframe
尺寸但收效甚微。
我已经更改它以dk1
查看是否有差异,没有。
问题
为什么头骨在全屏canvas
内不绘制?iframe
我怎样才能在画布上画出这个头骨来全屏显示?
一个完整而完整的答案会很酷,但是表明我需要做什么就足够了。谢谢你。
编辑:值得注意的事情
If I use the original embed ( meaning /embed
instead of /embed?oculus=2
) and put it in full screen it works with no problems.
testing - 在开发计算机上玩测试 GearVR 游戏
如何在我的开发计算机上测试我的 GearVR 游戏,而无需在手机上构建和运行?
我正在寻找使用虚幻引擎或 Unity3D 构建的游戏的答案。
unity3d - 查看物体是否出现在相机上
我正在制作一个用于研究目的的 VR 模拟,我需要在模拟过程中收集一些数据。如:
- 是一个被观察的物体(所以它应该在相机的中心)
- 如果是,查看多长时间
- 用户看到这个对象后正在看什么对象。
我没有太多时间进行试验和错误,我需要一些指示我应该使用什么方法。
我应该在对象本身上放什么脚本,应该在相机上放什么脚本。我不需要代码块(尽管它们会有所帮助),只需要我应该使用什么以及我应该如何将所有东西放在一起的一些想法。
我正在使用 Oculus Rift,所以我知道有关相机的一些内容可能会有所不同,但我认为适用于一个相机的东西也适用于 Oculus 使用的两个相机。
谢谢!
c# - 相对于相机旋转滚动球体
我正在为 Oculus Rift 开发一种新的控制方案,该方案利用耳机的倾斜来移动播放器。意思是,你前后倾斜你的头来向前和向后,从一边到另一边扫射。相机被绑在一个滚动的球体上,因为这给了它一种很好的加速感,感觉有点像飞来飞去。到目前为止,它运行良好,但仅在全局轴上。所以如果你向左转头向前倾斜,你仍然按照起始位置向前走(如果你面向左边意味着你会向右走)。我正在尝试修复它,以便您可以相对于相机所面对的方向前进和扫射,但没有运气。我有一种强烈的感觉,这是一件简单得可笑的事情,但我似乎找不到它。
这是我现在在滚动球体上的内容:
directx - 在简单的 DirectX 引擎中集成 Oculus SDK Distortion
我在一个非常简单的 DirectX11 渲染引擎上工作了一段时间。今天,我设法为我的 Oculus Rift 集成设置了立体渲染(将场景两次渲染到纹理中)。
[目前] 所以我目前基本上在做的是:
- 我有一个 1280 x 800 的窗口
- 将整个场景渲染到 RenderTargetViewLeft_ (1280 x 800)
- 将 RenderTargetViewLeft_ 的内容渲染为“EyeWindow”(如教程中所示)到屏幕左侧 (640 x 800)
- 将整个场景渲染到 RenderTargetViewRight_ (1280 x 800)
- 将 RenderTargetViewRight_ 的内容渲染为“EyeWindow”(如教程中所示)到屏幕右侧 (640 x 800)
所以到目前为止所有这些工作,我将场景渲染两次到单独的纹理中,最终在分屏中结束。
[DirectX11 渲染循环]
[我现在想做什么] 现在我正在尝试使用 Oculus SDK 实现桶形失真。目前我不关心第二张图像的不同虚拟相机,现在只想实现桶形失真。
我已阅读开发人员指南 [1] 并尝试查看 TinyRoom 演示,但我不完全了解现在在我已经工作的 DirectX 引擎中使用 SDK 实现失真的必要条件。
在 Developers Guide Render Texture Initialization中,他们展示了如何为 API 创建纹理。我想这意味着,我需要使用相应的 API 大小设置我的所有 RendertargetViews(渲染目标当前大小为 1280 x 800) - 甚至我猜也要更改 DepthStencilView 和 Backbuffer。
渲染循环看起来像这样:
我觉得少了点什么,所以我确定我没有做对。
[更新] 所以,我使用 Oculus API 实现了用桶形失真渲染场景。虽然左右图像的多边形分离得太远,但这可能是由于使用我的默认 1280 x 800 纹理大小作为渲染目标造成的。移动 HMD 时,CameraStream 似乎也没有与屏幕正交。要做一些进一步的测试;)
[1] - Oculus 开发者指南:https ://developer.oculus.com/documentation/
textures - OpenTK 中纹理的 8 位亮度值位图
我正在接收来自检测器(Leap Motion)的 8 位亮度数据。这是有关Leap Motion 相机图像的一些信息。我想将这些图像加载到位图,然后每帧加载到纹理,这样我就可以创建透视视频的错觉。我想坚持使用 OpenGL 1.0,既因为我之前没有使用过着色器,也因为我正在为 Oculus Rift 使用 OpenTK 端口,这是一个早期的 alpha 版本,还不支持 OpenGL 2.0 及更高版本。另外,总的来说,我是 OpenGL 的新手,在这种特殊情况下,颜色格式也是如此,所以我有点迷茫。我正在使用OpenTK 加载纹理示例,并尝试将其与 Leap Motion 文档中的上述说明结合使用。
这是我使用检测器图像数据创建位图并将其加载到纹理中的代码(我在 OnUpdateFrame 方法中执行此操作):
这就是我在 OnRenderFrame 加载纹理的方式:
当我运行代码时,我得到的是一个白框,应该是纹理,并且代码因 System.AccessViolationException 而崩溃。我认为它与PixelFormat
纹理和位图有关,但我不确定如何解决它。什么是合适的参数GL.TexImage2D()
?
此外,我是否有更好的方法来逐帧处理数据?
processing - Oculus Rift 和处理 2.0
我正在尝试让 Oculus Rift 进行处理。我正在使用由 Max Rheiner 创建的名为“SimpleOculusRift”的库。但是,每当我运行示例草图时,我都会收到此错误:
dyld:惰性符号绑定失败:找不到符号:___sincos_stret
引用自:/Users/jasontibi/CalArts/Spring 2015/Processing/libraries/SimpleOculusRift/library/libSimpleOculusRift.jnilib 预期在:/usr/lib/libSystem.B.dylibdyld:找不到符号:___sincos_stret 引用自:/Users/jasontibi/CalArts/Spring 2015/Processing/libraries/SimpleOculusRift/library/libSimpleOculusRift.jnilib 预期在:/usr/lib/libSystem.B.dylib
无法运行草图(目标 VM 无法初始化)。有关详细信息,请阅读 revisions.txt 和帮助 → 故障排除。
我正在运行 Mac OS 10.8.5 我正在使用 Oculus Rift DK1 我正在使用最新固件并且我使用的是 64 位英特尔酷睿 i7
知道发生了什么吗?草图只是崩溃并说处理意外退出。
谢谢!
three.js - LEAP MOTION + OCULUS + THREE.JS:无法让“optimizeHMD = true”工作(头戴式)
我将 Leap Motion 传感器连接到 Oculus Rift SDK2 设备,以便在 Three.js 场景中通过“头戴式”模式识别我的手。
但我认为“optimizeHMD = true”行被忽略了,跳跃传感器仍然像在桌面模式下一样识别我的手。
我会很感激一些帮助!
unity3d - 在 Unity 中更改 OVRPlayer 相机
背景:我有 3 个 Oculus OVRPlayerControllers 我想在它们之间移动。OVRPlayers 由计时器从堆栈中加载,例如每 10 秒加载新的播放器,而旧的播放器是SetActive(false)
.
我有两种可能的解决方案:
但它们都不起作用。新角色控制器已正确加载并且 IO 工作正常,但相机处于非活动状态,只是一个黑色视图。任何想法如何重新分配 OVRPlayer 摄像机?
编辑:Unity 将第一个 OVRPlayer 注册为 main 或类似的东西,因为稍后当我在编辑器中手动重新启用它时,我也可以使用它的游戏视图。但我需要重新定义这个“主要或类似的东西”。