Aracılığıyla paylaş


Holografik Uzaktan İletişim ve Windows Mixed Reality API'siyle Sistem Eşitlemesini Koordine Etme

Windows Mixed Reality API'si ile kullanıcı koordinat sistemi SpatialStationaryFrameOfReference içine sarmalanır.

İpucu

Holographic Remoting örnekleri github deposunun içindeki uzak ve oyuncu örneklerinde basit bir örnek bulunabilir. #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE Örnek kodu etkinleştirmek için SampleRemoteApp.h ve SamplePlayerMain.h dosyalarının açıklamasını kaldırın.

Player Uygulamasında Kullanıcı Koordinat Sistemini Ayarlama ve Güncelleştirme

Kullanıcı koordinat sistemini ayarlamak ve güncelleştirmek için yürütücü bağlamında çağrısı UpdateUserSpatialFrameOfReference yapın ve içine bir SpatialCoordinateSystem geçirin. SpatialCoordinateSystem, örneğin SpatialStationaryFrameOfReference, SpatialLocatorAttachedFrameOfReference veya SpatialAnchor olabilir.

// 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 (...)
{
}

Not

Örnek SpatialStationaryFrameOfReference ile, UpdateUserSpatialFrameOfReference kullanıcı koordinat sistemi değişmemiş olsa bile cihaz izleme kaybından sonra kaymayı önlemek için düzenli aralıklarla çağrılmalıdır!

Uzak Uygulamada Kullanıcı Koordinat Sistemini Alma

Kullanıcı koordinat sistemine erişmek için uzak bağlamda öğesini çağırın GetUserSpatialFrameOfReference . GetUserSpatialFrameOfReference kullanıcı koordinat sistemini temsil eden spatialStationaryFrameOfReference döndürür.

// In the Remote app:
winrt::Windows::Perception::Spatial::SpatialStationaryFrameOfReference spatialUserFrameOfReference = m_remoteContext.GetUserSpatialFrameOfReference();

Ayrıca Bkz.