Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Windows Mixed Reality-API:et omsluts systemet för användarkoordinat i en SpatialStationaryFrameOfReference.
Tips
Ett enkelt exempel finns i fjärr- och spelarexemplen i github-lagringsplatsen Holographic Remoting Samples.
Ta bort kommentarer #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE
i SampleRemoteApp.h- och SamplePlayerMain.h-filerna för att aktivera exempelkoden.
Ange och uppdatera systemet för användarkoordinat i player-appen
Om du vill ange och uppdatera systemet för användarkoordinat anropar UpdateUserSpatialFrameOfReference
du spelarkontexten och skickar ett SpatialCoordinateSystem till det.
Ett SpatialCoordinateSystem kan till exempel vara en SpatialStationaryFrameOfReference, SpatialLocatorAttachedFrameOfReference eller en 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 (...)
{
}
Anteckning
Med exemplet SpatialStationaryFrameOfReferenceUpdateUserSpatialFrameOfReference
måste anropas med jämna mellanrum för att undvika drifting efter förlust av enhetsspårning, även om systemet för användarkoordinat inte har ändrats!
Hämta systemet för användarkoordinat i fjärrappen
Om du vill komma åt systemet för användarkoordinat anropar GetUserSpatialFrameOfReference
du fjärrkontexten.
GetUserSpatialFrameOfReference
returnerar en SpatialStationaryFrameOfReference som representerar användarens koordinatsystem.
// In the Remote app:
winrt::Windows::Perception::Spatial::SpatialStationaryFrameOfReference spatialUserFrameOfReference = m_remoteContext.GetUserSpatialFrameOfReference();