问题标签 [openxr]

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 回答
285 浏览

android - hello_xr (Openxr) 示例如何检索 Oculus Quest 的 Vulkan API 指针?

我一直认为在 android 平台上我们应该使用dlopen()and加载指向 Vulkan 库的指针dlsym()(类似这样:

(来源:https ://github.com/SaschaWillems/Vulkan/blob/master/base/VulkanAndroid.cpp )

)

或使用“vulkan_wrapper.h”动态加载器(如谷歌的 Vulkan Android 示例https://github.com/googlesamples/android-vulkan-tutorials

感谢 Gayan Ediriweera 的博客 ( https://gayanediriweera.github.io/code/2021/04/06/how-to-run-helloxr-on- ),我能够在 oculus 任务中构建和运行 hello_xr 示例oculus-quest.html )

但是,当我查看 vulkan 的 hello_xr 示例的代码时,我没有看到对 dlopen() 或 dlsym() 的调用。例如在第 1287 行(https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/master/src/tests/hello_xr/graphicsplugin_vulkan.cpp),示例调用vkEnumerateInstanceLayerProperties,但我没有看到指针在哪里这个基本功能已加载,这让我感到困惑。

这里发生了什么黑魔法?OpenXR 运行时是在后台加载这些还是我在代码中遗漏了什么?

提前感谢您对此的任何帮助

0 投票
1 回答
138 浏览

c++ - OpenXR - 未解析的外部符号

我一直在xrCreateSpatialGraphNodeSpaceMSFT上得到未解析的外部符号,此时我已经用尽了我可以尝试使这件事工作的东西。我无论如何都不会称自己为经验丰富的程序员,所以我想我很可能只是在做一些非常愚蠢的事情。我会非常感谢任何形式的回应。

我尝试使用 NuGet 包中的标头和 Microsoft/OpenXR-MixedReality 上的标头。

至于加载器,我已经尝试过 NuGet 包之一,并自己从 KhronosGroup/OpenXR-SDK 构建了一个。

我对这些都没有任何运气(再次,这可能是因为我做错了什么或者只是愚蠢..)。

这里的代码仅供参考。

0 投票
1 回答
196 浏览

visual-studio - 使用 Unity 构建后通过 USB 部署到 Hololens 1 时出错

我正在尝试使用 Unity 通过 USB 将 Hololens 1 应用程序部署和运行到设备。

我遵循本教程(以及之前在 YouTube 上的更多内容): https ://docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/tutorials/mr-learning-base-02?tabs= openxr

我什至尝试使用两种不同的 Hololens 1 设备!(但我只用了一根电缆)

统一版本:2020.3.13f1

当我将 Hololens 插入 PC 时,我听到有东西连接时的窗口声音(但连接后看不到 Hololens 的存储)并且 Hololens 正在充电。

我在 windows 和 Hololens 上处于开发者模式。我将 Hololens 与 Visual Studio 中的正确 pin 码配对。

在此处输入图像描述

输出:

我不知道接下来要尝试什么。我不明白错误以及来自哪里。我认为它可能由于某种原因 Windows 无法发送到设备或进入设备的存储。

谢谢!

0 投票
0 回答
70 浏览

unity3d - XR 交互工具包 1.0 中没有偏移抓取脚本

我之前使用 XR 交互工具包 0.9 开发 VR 应用,刚刚切换到使用 1.0。但是注意到偏移抓取脚本不再可用,有没有更新的方法来实现它?

0 投票
1 回答
190 浏览

unity3d - World Locking Tools for Unity 是否支持 OpenXR 插件

我正在寻找在我的应用程序中实现空间锚的最佳解决方案(Azure 空间锚对于我的用例来说不是一个可行的解决方案)。我发现了 Unity 的 World Locking Tools,但我不确定它是否支持使用 OpenXR 插件的 Unity 2020.3(https://docs.microsoft.com/en-us/windows/mixed-reality/develop/unity /spatial-anchors-in-unity?tabs=wlt#choosing-your-world-locking-approach -> 这个文档说在这种情况下应该使用 ARAnchorManager)。有人可以说这个文档是准确的还是添加了对 OpenXR 插件的支持?

0 投票
1 回答
156 浏览

unity3d - 如何在 Unity 中使用 OpenXR 获取 SteamVR 输入?

我在 Unity 中启用了 OpenXR VR 模式。 在此处输入图像描述

然后我启用了 HTC Vive 交互配置文件和其他 在此处输入图像描述

之后我可以看到世界,我可以得到 HTC Vive 控制器的手位置,但我不能得到任何输入,我怎样才能得到例如触发按钮按下事件?

在此处输入图像描述

我正在使用以下代码:

这是正确的代码吗?,我怎样才能获得触发按下事件?

0 投票
1 回答
48 浏览

opengl-es - 渲染独立骨骼

我正在尝试根据XR_EXT_hand_tracking扩展中的XrHandJointLocationEXT数组给出的位置在 3D 空间中渲染手的模型。我正在使用Valve 的两个 GTLF 手模型,它们具有正确数量的骨骼以匹配XrHandJointEXT枚举中 OpenXR 规范定义的关节。

我的渲染如下:

每一帧我通过将其当前变换与从 GLTF 模型中检索到的逆绑定矩阵相乘来独立更新每个关节。XrPosef相对于 3D 空间的中心。我正在使用cglm来处理所有的矩阵计算。

然后将该数组与为每个HMD 计算的矩阵bones一起上传到顶点着色器。view-projeye

计算方法是否正确?我得到了不错但“有问题”的结果。正如您在以下屏幕截图中看到的那样,我在手部模型上渲染了两个独立关节,您可以看到拇指上的故障。

截屏

在计算我的骨骼变换时我应该考虑到父骨骼吗?

0 投票
1 回答
161 浏览

android-studio - 使用 Android Studio 进行 Oculus 开发的最佳示例应用?

任何人都可以推荐一个我可以用于 Oculus Quest 2 的工作 Android Studio 示例应用程序,最好有好的文档吗?我正在寻找可以构建和运行的东西来开始使用他们的OpenXR Mobile SDK

我在运行 macOS Big Sur 的 Intel Macbook Pro 上,并尝试使用最新的稳定 Android Studio 版本(Arctic Fox)。

到目前为止,我已经尝试了两种不同的样本:

  1. VrSamples/VrCubeworld_Framework- 来自 Oculus 官方文档:

完成所有步骤后,我一直遇到此错误:

我确信我的 NDK 已安装:

ndk_installed

ndk_settings

我相信我已经尝试了流行的 Stackoverflow 问题和链接的 Google 问题中列出的所有解决方法。

  1. hello_xr- 对 Oculus 论坛的评论链接到这篇有用的博客文章,其中包含比Oculus 官方文档更详细的说明。不幸的是,在遵循这些之后,我遇到了这个构建错误:

下似乎没有include文件夹,顶级文件夹中src也没有。openxr.hinclude/openxr

更新:在 Jherico 的建议下,我下载了 Oculus OpenXR Mobile SDK v1.0.13OpenXR-SDK-Source release-1.0.13,并再次按照说明与博客文章中使用的版本完全匹配,最终我确实让它工作了!

我创建了https://github.com/daj/OculusHelloXR来快照我的工作 Android Studio 项目及其所有依赖项,并为我遵循的每个步骤单独提交(我必须对博客文章中的步骤进行一些更改以让它工作)。

我在这篇博文中写下了所有内容:https ://daj.medium.com/oculus-vr-for-android-developers-a38134c759b0

0 投票
1 回答
66 浏览

unity3d - 原始 HTC Vive 输入不适用于 Unit 的 OpenXR

我创建了一个使用 Unity 的 OpenXR 的游戏。我正在尝试使游戏与 Oculus 和 HTC Vive 兼容。

在下面的代码中,我只是想检测用户何时按下右主按钮。这在 Oculus 上工作得很好,但我有很多 Vive 用户说这不起作用。

请注意,在 HTC Vive 和 Oculus 上都可以很好地检测到触发器和手柄。Vive 不支持辅助按钮,所以我假设 device.TryGetFeatureValue(CommonUsages.secondaryButton, out newSecondary) 总是返回 false。这只是给我一个意想不到的问题的主要按钮。

现在根据统一 ( https://docs.unity3d.com/Manual/xr_input.html ),支持 Vive 的主按钮。

有谁知道为什么上述实现无法识别 Vive 的主按钮被按下?另外,有没有什么方法可以用统一的 OpenXR 检测 Vive 播放器的菜单按钮?上面的链接说不支持菜单按钮,但是有一个额外的按钮可以使用会很有用。

先感谢您!

0 投票
0 回答
22 浏览

c# - 抓取时奇怪的游戏对象物理

我在抓取大物体时注意到奇怪的相互作用。我正在使用自定义脚本来启用双臂抓取,该脚本主要基于 XRGrabInteractable 脚本。如果我将运动类型设置为瞬时或运动,代码工作正常。但是,当运动类型 = 速度跟踪时,对象会在施加向上或向下的力(不旋转我的手臂)时围绕它自身旋转。

}

我试图限制它的约束(发生了不同的错误)。我试图施加更大的阻力,问题仍然存在。我正在尝试模拟现实生活中的工作环境,所以..对象物理必须到位。谁能想到解决方法?

**PS:我不知道如何添加视频,所以我附上了脚本和提到的对象。 在此处输入图像描述 在此处 输入图像描述