Coordinare la sincronizzazione del sistema con Holographic Remoting e l'API OpenXR
Con l'API OpenXR, il sistema di coordinate utente viene sottoposto a wrapping in uno spazio di riferimento di tipo XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT
.
Suggerimento
Un semplice esempio può essere trovato negli esempi di lettore e remoti all'interno del repository github di esempi di Holographic Remoting.
Annullare ilcomment #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE
all'interno dei file OpenXrProgramm.cpp e SamplePlayerMain.h per abilitare il codice di esempio.
Importante
Per informazioni sull'API di estensione OpenXR Holographic Remoting, vedere la specifica che è possibile trovare nel repository github di esempi di Holographic Remoting.
Impostare e aggiornare il sistema di coordinate utente nell'app Player
La comunicazione remota holographic supporta attualmente solo la scrittura di un lettore personalizzato con l'API Windows Mixed Reality. Un lettore scritto con l'API Windows Mixed Reality può essere usato con un remote OpenXR! Pertanto, è necessario impostare il sistema di coordinate utente dal lettore Windows Mixed Reality. Per altre informazioni, vedere Coordinare la sincronizzazione del sistema con la comunicazione remota holographic e l'API Windows Mixed Reality.
Ottenere il sistema di coordinate utente nell'app remota
Per creare il sistema di coordinate utente nella chiamata xrCreateReferenceSpace
all'app remota con l'argomento 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()));