与全息远程处理和 OpenXR API 的坐标系同步

使用 OpenXR API,用户坐标系将包装到 类型的 XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT引用空间中。

提示

可以在 全息远程处理示例 github 存储库中的远程和玩家示例中找到一个简单的示例。 取消注释 #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE OpenXrProgramm.cpp 和 SamplePlayerMain.h 文件以启用示例代码。

重要

若要了解全息远程处理 OpenXR 扩展 API,检查可在全息远程处理示例 github 存储库中找到的规范

在播放器应用中设置和更新用户坐标系

全息远程处理目前仅支持使用 Windows Mixed Reality API 编写自定义播放器。 使用 Windows Mixed Reality API 编写的玩家可与 OpenXR 远程配合使用! 因此,必须从Windows Mixed Reality播放器设置用户坐标系。 有关详细信息,请参阅坐标系同步与全息远程处理和Windows Mixed Reality API

在远程应用中获取用户坐标系统

若要在远程应用中创建用户坐标系统,请使用 参数调用xrCreateReferenceSpaceXR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT

xr::SpaceHandle space;
XrReferenceSpaceCreateInfo createInfo{XR_TYPE_REFERENCE_SPACE_CREATE_INFO};
createInfo.referenceSpaceType = static_cast<XrReferenceSpaceType>(XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT);
createInfo.poseInReferenceSpace = xr::math::Pose::Translation({0.0f, 0.0f, 0.0f});
CHECK_XRCMD(xrCreateReferenceSpace(m_session.Get(), &createInfo, space.Put()));

另请参阅