问题标签 [oculusquest]
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.
c# - 将 KeyCodes 设置为等于 OVRInput 按钮?
我对 C# 比较陌生,我想知道是否有什么方法可以让我的键码(空格键,它激活我拥有的光剑)等于握把触发器(Axis1D.PrimaryIndexTrigger)。我想做的是拥有它,所以如果我按下空格键,光剑就会打开,如果我再次按下相同的按钮,它就会关闭。基本上我不想根据 OVRInput 重写,因为它已经设置好了,但我不知道该怎么做。提前致谢!:)
另外:这不是我的所有代码,以防不明显......只包括重要的东西
编辑:这是我尝试过的,但没有用
c# - Unity3D 在前面的 VR 播放器中放置一个立方体,并随着播放器位置和旋转移动
我正在使用 Oculus Quest 开发 VR 场景。我需要在前面放置一个立方体,并在用户视线下方放置几个单位。当用户移动时,立方体必须移动。例如,如果用户转动或移动立方体,则用户通过始终保持在前面来确保其位置。我怎样才能做到这一点?
我应该采用 OVRCameraRig 位置和旋转并将其应用于立方体吗?但我从 StackOverflow 问题Unity3D Getting position of OVRCameraRig中读到 OVRCameraRig 不会移动,需要考虑 CenterEyeAnchor 细节。
我可以如下提取 CenterEyeAnchor 旋转和位置吗?
如果要解决此问题,如何将提取的 CenterEyeAnchor 药水和旋转应用于立方体游戏对象?
我尝试了以下脚本并将其添加到多维数据集,但多维数据集没有随着用户移动而移动。
此外,我看到“测试位置”日志,但没有“正常”或“转换”日志。
}
unity3d - 当头部左右移动时,Unity Oculus Quest 游戏卡顿/滞后
首先,我为 Quest 构建并检查了 Unity 分析器 - 一切似乎都很好。
奇怪的是,当我左右移动头部时,我在分析器中看不到任何帧速率下降,但我看到头显中有明显的卡顿/滞后。当我的头静止或什至只是旋转时,一切看起来都很好,根本没有口吃。
只有当我靠近我的 UI 并移动我的头时,才会出现这种口吃。当我的头静止或旋转时,一切都很好。如果我从 UI 移回,也不会出现口吃。
我不认为这是过于复杂的几何或材料的问题,因为这肯定会在分析器中显示为帧率下降。我猜是相机移动导致某种帧不匹配(出于某种奇怪的原因)没有出现在分析器中。
有人对可能导致这种情况的原因有任何想法吗?
unity3d - 超出着色器全局关键字的最大数量 (256),关键字 Unity
当我尝试编译我的 Unity 项目并在 Oculus Quest 上运行它时,我得到一个错误列表:
我刚刚将 Unity 更新到最后一个版本:2020.1.15f1
我怎样才能解决这个问题?
android - 在 Unity 中检测 Oculus Quest 1 和 2 耳机
我正在寻找一种方法来检测我的 VR 应用程序中使用的耳机名称。为了实现不同的控制器映射,我需要区分Quest 1 和 2 。XRDevice.model 或 OVRPlugin.productName 之类的方法在文档中没有提供任何名称列表,并且由于 quest 2 是一个新模型,我在任何地方都没有找到有关它的信息。任何帮助,将不胜感激。
android - 使用 VR 模式在 Oculus 上启动 Android 应用程序
我是 Oculus 开发的新手。我正在尝试在 Oculus Quest 2 中运行一个应用程序。现在该应用程序在 Oculus 的浮动窗口中运行。我想在 VR 模式下运行应用程序。任何人都可以请指导吗?
unity3d - 我需要使用 HTC Vive Cosmos Elite 测试 VR Unity 项目 - 但我们正在为 Quest 进行开发。我可以做些什么来区分这两者吗?
我在大学课堂上,我们在 Unity for VR 上进行开发。如果学生没有 Quest,他们会得到一个 Quest——而我自己有一个 Vive(基站跟踪)。结果,我不知道如何为任务开发,而我只有一个用于测试的 Vive。我们有小组项目,所以当他们加载构建时,我的贡献必须为 Quest 工作。我不相信我的合作伙伴想使用 oculus link 来运行 steamVR。
是否有可能开发一种基于用户区分 vive/quest 的方法?还是我们需要开发不同的构建?我的希望是通过任务资产或 SteamVR 资产(如果存在硬件)来生成角色。
由于 Quest 是 android,我担心这可能是不可能的。你怎么看?如果我可以用我的 Vive 模拟这个任务,那也是可以接受的。我们不需要提供 Vive 支持——我只需要一些东西来进行测试。
unity3d - Unity 中对 Oculus Quest 2 的手部追踪支持
我能够使用 Unity 2020.2 为 Oculus Quest 2 构建和运行我的应用程序。但是,我正在尝试使手部交互起作用。在 Oculus 集成包的 HandInteractionTrainScene 中,我告诉我需要启用手部跟踪。
我已经搜索了一下,这应该通过将 OVRCameraRig 中的“手部跟踪支持”设置为“仅限手部”来解决。问题是该字段被禁用,我不知道为什么。我已经为此苦苦挣扎了一段时间。
有没有人对根本原因有什么建议?
vulkan - 调用 vrapi_SubmitFrame2() 时的 SIGSEGV
我正在将游戏移植到 Quest,因此我的部分工作是连接引擎的 Vulkan 渲染器与 Oculus Mobile SDK。
我相信我正确设置了 SDK(我正在遵循 Oculus 文档中的示例和指南),但在尝试提交框架时仍然出现严重错误。
这是我目前正在做的事情的高级列表:
- 我初始化 API。
- 我创建了一个带有预期扩展的 Vulkan 实例和设备。
- 我获取每眼交换链并为他们的每个图像获取 Vulkan 处理程序。
- 我使用这些图像设置帧缓冲区和渲染通道。
- 我获得了一个原生的 android 窗口。
- 我进入 VR 模式(确保应用程序已恢复)。
然后在我的渲染循环结束时,我设置了一个ovrSubmitFrameDesc
然后调用vrapi_SubmitFrame2()
. 我还确保只有vrapi_SubmitFrame2()
在所有工作都提交给 GPU 后才调用(我目前在工作队列上使用栅栏)。
但是,正如我之前提到的,调用vrapi_SubmitFrame2()
失败。它目前在 Quest 的 Vulkan 驱动程序中引发了一个 SIGSEGV:
错误发生在内部vkQueueSubmit()
调用中的事实使我认为这与我使用命令队列的方式有关。但是即使我将一个单独的队列设置为同步队列并且不对它做任何事情(即,不要向它提交任何命令),我仍然会得到同样的错误。
有人知道我做错了什么吗?
PS (1),我尝试使用空白层,而不是适当的投影层,只是想看看我是否可以通过那个点,但这并没有帮助。
PS (2),我没有从验证层得到任何错误。
PS(3),我进入VR模式的线程和我调用的线程是同一个线程vrapi_SubmitFrame2()
。