Синхронизация системы координат с голографическим удаленным взаимодействием и API OpenXR
С помощью API OpenXR система координат пользователя помещается в пространство ссылок типа XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT
.
Совет
Простой пример можно найти в примерах удаленного и проигрывателя в репозитории примеров голографического удаленного взаимодействия GitHub.
Раскомментируйте #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE
файлы OpenXrProgramm.cpp и SamplePlayerMain.h, чтобы включить пример кода.
Важно!
Чтобы узнать об API расширения OpenXR для голографического удаленного взаимодействия, проверка спецификацию, которую можно найти в репозитории примеров голографического удаленного взаимодействия на сайте GitHub.
Настройка и обновление системы координат пользователя в приложении проигрывателя
Голографическое удаленное взаимодействие в настоящее время поддерживает только запись пользовательского проигрывателя с помощью API Windows Mixed Reality. Проигрыватель, написанный с помощью API Windows Mixed Reality, можно использовать с пультом дистанционного управления OpenXR! Поэтому необходимо задать пользовательская система координат из проигрывателя Windows Mixed Reality. Дополнительные сведения см. в разделах Синхронизация системы координат с голографическим удаленным взаимодействием и API Windows Mixed Reality.
Получение пользовательской системы координат в удаленном приложении
Чтобы создать систему координат пользователя в удаленном приложении, вызовите xrCreateReferenceSpace
с аргументом :XR_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()));