Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą interfejsu API Windows Mixed Reality system współrzędnych użytkownika jest opakowany w element SpatialStationaryFrameOfReference.
Porada
Prosty przykład można znaleźć w przykładach zdalnych i odtwarzaczy w repozytorium GitHub przykładów holographic Remoting.
Usuń komentarz #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE wewnątrz plików SampleRemoteApp.h i SamplePlayerMain.h, aby włączyć przykładowy kod.
Ustawianie i aktualizowanie systemu współrzędnych użytkownika w aplikacji odtwarzacza
Aby ustawić i zaktualizować system współrzędnych użytkownika, wywołaj UpdateUserSpatialFrameOfReference kontekst odtwarzacza i przekaż do niego element SpatialCoordinateSystem .
Element SpatialCoordinateSystem może na przykład być elementem SpatialStationaryFrameOfReference, SpatialLocatorAttachedFrameOfReference lub SpatialAnchor.
// In the Player app:
// Create a stationary frame of reference
winrt::Windows::Perception::Spatial::SpatialStationaryFrameOfReference spatialFrameOfReference = nullptr;
winrt::Windows::Perception::Spatial::SpatialLocator spatialLocator = winrt::Windows::Perception::Spatial::SpatialLocator::GetDefault();
if (spatialLocator != nullptr)
{
spatialFrameOfReference = spatialLocator.CreateStationaryFrameOfReferenceAtCurrentLocation(float3(0.0f, 0.0f, 0.0f), quaternion(0, 0, 0, 1), 0.0);
}
...
// Update the user coordinate system with the coordinate system of the spatial frame of reference
try
{
SpatialCoordinateSystem userCoordinateSystem = spatialFrameOfReference.CoordinateSystem();
m_playerContext.UpdateUserSpatialFrameOfReference(userCoordinateSystem);
}
catch (...)
{
}
Uwaga
W przypadku przykładowego elementu SpatialStationaryFrameOfReference należy wywołać w regularnym interwale, UpdateUserSpatialFrameOfReference aby uniknąć dryfowania po utracie śledzenia urządzeń, nawet jeśli system współrzędnych użytkownika nie uległ zmianie.
Pobieranie systemu współrzędnych użytkownika w aplikacji zdalnej
Aby uzyskać dostęp do systemu współrzędnych użytkownika, wywołaj GetUserSpatialFrameOfReference kontekst zdalny.
GetUserSpatialFrameOfReference zwraca element SpatialStationaryFrameOfReference, który reprezentuje układ współrzędnych użytkownika.
// In the Remote app:
winrt::Windows::Perception::Spatial::SpatialStationaryFrameOfReference spatialUserFrameOfReference = m_remoteContext.GetUserSpatialFrameOfReference();