Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der Windows Mixed Reality-API wird das Benutzerkoordinatensystem in einen SpatialStationaryFrameOfReference umschlossen.
Tipp
Ein einfaches Beispiel finden Sie in den Remote- und Playerbeispielen im GitHub-Repository für Holographic Remoting-Beispiele.
Heben Sie die Auskommentierung #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE innerhalb der Dateien SampleRemoteApp.h und SamplePlayerMain.h auf, um den Beispielcode zu aktivieren.
Festlegen und Aktualisieren des Benutzerkoordinatensystems in der Player-App
Um das Benutzerkoordinatensystem festzulegen und zu aktualisieren, rufen Sie UpdateUserSpatialFrameOfReference im Playerkontext auf, und übergeben Sie ein SpatialCoordinateSystem an diesen.
Ein SpatialCoordinateSystem kann z. B. ein SpatialStationaryFrameOfReference, SpatialLocatorAttachedFrameOfReference oder SpatialAnchor sein.
// 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 (...)
{
}
Hinweis
Mit dem Beispiel SpatialStationaryFrameOfReference muss in einem regelmäßigen Intervall aufgerufen werden, UpdateUserSpatialFrameOfReference um Verschiebungen nach verlust der Gerätenachverfolgung zu vermeiden, auch wenn das Benutzerkoordinatensystem nicht geändert wurde!
Abrufen des Benutzerkoordinatensystems in der Remote-App
Um auf das Benutzerkoordinatensystem zuzugreifen, rufen Sie GetUserSpatialFrameOfReference im Remotekontext auf.
GetUserSpatialFrameOfReference gibt einen SpatialStationaryFrameOfReference zurück, der das Benutzerkoordinatensystem darstellt.
// In the Remote app:
winrt::Windows::Perception::Spatial::SpatialStationaryFrameOfReference spatialUserFrameOfReference = m_remoteContext.GetUserSpatialFrameOfReference();