Coordenar a sincronização do sistema com a comunicação remota holográfica e a API OpenXR
Com a API OpenXR, o sistema de coordenadas do usuário é encapsulado em um espaço de referência do tipo XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT
.
Dica
Um exemplo simples pode ser encontrado nos exemplos remoto e de player dentro do repositório github de exemplos de Comunicação Remota Holográfica.
Descompacte #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE
dentro dos arquivos OpenXrProgramm.cpp e SamplePlayerMain.h para habilitar o código de exemplo.
Importante
Para saber mais sobre a API de extensão OpenXR de Comunicação Remota Holográfica, marcar a especificação que pode ser encontrada no repositório github de exemplos de Comunicação Remota Holográfica.
Definir e atualizar o sistema de coordenadas do usuário no aplicativo Player
No momento, a Comunicação Remota Holográfica dá suporte apenas à gravação de um player personalizado com a API de Windows Mixed Reality. Um player escrito com a API de Windows Mixed Reality pode ser usado com um openxr remoto! Portanto, você precisa definir o Sistema de Coordenadas do Usuário do player de Windows Mixed Reality. Para obter mais informações, consulte Sincronização do sistema de coordenadas com a comunicação remota holográfica e a API de Windows Mixed Reality.
Obter o sistema de coordenadas do usuário no aplicativo remoto
Para criar o sistema de coordenadas do usuário na chamada de xrCreateReferenceSpace
aplicativo remoto com o XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT
argumento :
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()));