Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Avec l’API OpenXR, le système de coordonnées utilisateur est encapsulé dans un espace de référence de type XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT.
Conseil
Vous trouverez un exemple simple dans les exemples de lecteur et à distance à l’intérieur du référentiel github d’exemples de communication à distance Holographic.
Supprimez les marques de #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE commentaire dans les fichiers OpenXrProgramm.cpp et SamplePlayerMain.h pour activer l’exemple de code.
Importante
Pour en savoir plus sur l’API d’extension Holographic Remoting OpenXR, case activée la spécification qui se trouve dans le référentiel github d’exemples de communication à distance holographique.
Définir et mettre à jour le système de coordonnées utilisateur dans l’application lecteur
Actuellement, la communication à distance holographique prend uniquement en charge l’écriture d’un lecteur personnalisé avec l’API Windows Mixed Reality. Un lecteur écrit avec l’API Windows Mixed Reality peut être utilisé avec une télécommande OpenXR ! Par conséquent, vous devez définir le système de coordonnées utilisateur à partir du lecteur Windows Mixed Reality. Pour plus d’informations, consultez Synchronisation du système de coordonnées avec la communication à distance holographique et l’API Windows Mixed Reality.
Obtenir le système de coordonnées utilisateur dans l’application distante
Pour créer le système de coordonnées utilisateur dans l’application distante, appelez xrCreateReferenceSpace avec l’argument 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()));