Aracılığıyla paylaş


Hızlı Başlangıç: Ayrıntılı MRTK kılavuzu

Bu kılavuz, Azure Object Anchors MRTK Unity örnek uygulamasının kapsamlı bir kapsamını sağlar. Örneğin tasarımı hakkında içgörü sağlamak için tasarlanmıştır. Geliştiriciler bu kılavuzu okuyarak örnekteki temel Azure Object Anchors kavramlarını anlamalarını hızlandırabilir.

Proje düzeni

Azure Object Anchors MRTK Unity örneği için oluşturulan varlıklar içinde Assets\MixedReality.AzureObjectAnchorsdepolanır. Alt klasörler aşağıdaki gibidir:

  • Simgeler
    • Kullanıcıya yönelik menüde kullanılan bazı özel simgeleri içerir.
  • Malzemeler
    • Yüzey yeniden yapılandırma görselleştirmesi için gölgelendiriciler ve malzemeler ve metin etrafında hologram dengelemeye yardımcı olmak için derinlik arabelleğine yazan yalnızca derinlik gölgelendiricisi içerir.
  • Prefabs
    • Yeniden kullanılabilir Unity GameObjectsiçerir. Özellikle, TrackableObjectPrefab Azure Object Anchors bir nesne algıladığında oluşturulan nesneyi temsil eder.
  • Profiller
    • Uygulamayı etkinleştirmek için MRTK'nin gereken en düşük işlevselliğini açıklayan özelleştirilmiş MRTK profilleri içerir.
  • Sahne
    • Örnekteki AOASampleTestScenebirincil sahne olan öğesini içerir.
  • Betikler
    • Örnek için yazılmış betikleri içerir.

Unity sahnesi

Karma Gerçeklik Oyun Alanı – Çoğunlukla ortak MRTK

  • Unity için MRTK ile tanışın.
  • Kameraya eklenmiş olan ve Azure Object Anchors'ın genel durumunun ayrıntılarını gösteren bir kullanıcı arabirimi vardır (Bkz OverlayDebugText.cs. ).

Nesne Karma Gerçeklik Oynatma Alanı – Çoğunlukla Azure Object Anchors ile ilgili ancak bazı MRTK denetimleri vardır. Üst öğeye bağlı olan ve ObjectTrackerolmak üzere iki betikTrackableObjectSearch, Azure Object Anchors ile birincil arabirimi temsil eder.

  • Menü
    • Öncelikle MRTK kodu, ancak kullanıcı arabirimi etkileşimleri Azure Object Anchors işlevselliğine yönlendirilir.
    • Ekli TrackableObjectMenu betik, MRTK UI olaylarını uygun Azure Object Anchors çağrılarına yönlendirmenin birincil işini yapar.
    • MRTK el menüsü.
  • WorkspaceBoundingBox
    • Sınırlayıcı kutuyu denetlemeyle ilişkili MRTK betiklerini içerir.
    • Ayrıca, karmaşık algılamalar sırasında hizalamaya yardımcı olmak için bir ModelVis algılama gerçekleşmeden önce Azure Object Anchors modelini görselleştirmek için kullanılan bir alt nesne içerir.

Betiklere geçmeden önce menü öğelerini inceleyelim. Bu şekilde, bu menü öğelerinin betiklerle nasıl etkileşim kurabileceğine başvurabiliriz.

mrtk menüleri

Alt ve sağ alt menüler otomatik olarak görünmez, ancak sırasıyla ve Tracker Settingsile Search Area Settings değiştirilir.

  • Aramayı Başlat
    • Belirtilen arama alanındaki nesneleri aramaya başlar.
  • Uzamsal Eşlemeyi Aç/Kapat
    • Arama sırasında uzamsal eşlemeyi gösterme, her zaman uzamsal eşlemeyi gösterme ve uzamsal eşlemeyi hiçbir zaman gösterme arasında döngüler.
  • İzleyici Ayarları / Arama Alanı Ayarları
    • İlgili alt menülerini değiştirir.
  • İzlemeyi Başlat/İzlemeyi Durdur
    • Tanılama izlemeyi başlatır veya sonlandırır.
  • Karşıya Yükleme İzleme
    • Hata ayıklama analizi için tanılama izlemeyi Microsoft'a yükler.

İzleyici Ayarları

  • Yüksek Doğruluk
    • Etkinleştirildiğinde, ObjectInstanceTrackingMode olarak ayarlanır HighLatencyAccuratePosition.
    • Devre dışı bırakıldığında olarak ObjectInstanceTrackingMode ayarlanır LowLatencyCoarsePosition.
  • Gevşek Dikey Hizalama
    • Etkinleştirildiğinde 10 dereceye ayarlar AllowedVerticalOrientationInDegrees . Bu özellik rampalarda bulunan nesnelerin algılanmasını sağlar.
    • Devre dışı bırakıldığında 0 dereceye ayarlar AllowedVerticalOrientationInDegrees .
  • Ölçek Değişikliğine İzin Ver
    • Etkinleştirildiğinde 0,1 olarak ayarlar MaxScaleChange . Bu özellik, Azure Object Anchors'ın HoloLens izleme ölçek ayarlamalarına göre nesnenin ölçeğini ayarlamasına olanak tanır.
    • Devre dışı bırakıldığında 0 olarak ayarlar MaxScaleChange .
  • Kapsam Oranı Kaydırıcısı
    • Bir eşleşmeyi dikkate almak için nesne algılama için gereken kapsam oranını ayarlar. Düşük değerler algılama sıklığını artırır. Bu özellik, zor nesnelerin algılanması için tercih edilebilir, ancak hatalı pozitif nesne algılamalarının artmasına da yol açabilir.

Arama Alanı Ayarları

  • Arama Alanını Kilitle
    • Etkinleştirildiğinde, kullanıcının arama alanını değiştirmesini engeller.
  • Arama Alanını Otomatik Ayarla
    • Etkinleştirildiğinde, betiklerin algılama işlemini geliştirmek için arama alanını taşımasına izin verir.
  • Döngü Ağı
    • Algılanabilir nesneler için .ou kafesler arasında döngüler oluşturur ve ağ yoktur.

Betikler

  • OtonomSearchArea.cs
    • Bu betik öğesine WorkspaceBoundingBoxeklenir. Betik, öğesini otomatik olarak ölçeklendirmeye ve yerleştirmeye WorkspaceBoundingBox çalışır. etkinleştirildiğinde Auto-Adjust Search Area etkinleştirilir.
  • ObjectAnchorsSubscription.cs
    • Bu betik, tanılama verilerini karşıya yüklemek için gereken bilgileri sarmalar.
  • ObjectTracker.cs
    • Bu betik, Unity ile Azure Object Anchors SDK'sının algılama yönleri arasında köprü oluşturur.
  • ObjectTrackerDiagnostics.cs
    • Bu betik, Azure Object Anchors SDK'sının tanılama özelliğini yönetir.
  • OverlayDebugText.cs
    • Bu betik ana kameraya eklenir. Örneğin genel durumunun ve Kullanıcıya Azure Object Anchors'ın görüntülenmesinden sorumludur.
  • PositionDebugInfo.cs
    • Bu betik, algılanan bir nesneye eklenen hata ayıklama metnini kullanıcıyla yüzleşmeye zorlar.
  • SearchAreaController.cs
    • Bu betik, Azure Object Anchors'ın WorkspaceBoundingBox nesneleri nerede araması gerektiğini belirtmek için kullanılan durumunu yönetir.
  • SearchAreaModelVisualization.cs
    • Bu betik altında Cycle MeshSearch Area Settingsişlevselliği etkinleştirir.
  • SpatialMappingController.cs
    • Bu betik, altındaki ile Toggle Spatial Mapping etkileşime bağlı olarak uzamsal eşlemenin ne zaman etkinleştirilmesi Main Menugerektiğini yönetir.
  • TextToSpeech.cs
    • Bu betik metni alır ve konuşmaya dönüştürür.
  • TrackableObjectData.cs
    • Bu betik, izlenebilen nesnelerin verilerini temsil eder.
  • TrackableObjectDataLoader.cs
    • Bu betik, dosyaları yükleyip öğelere .ouTrackableObjectData dönüştürme işini yapar.
  • TrackableObjectMenu.cs
    • Kullanıcı etkileşimlerinin çoğu kullanıcı arabiriminden bu betikten sonra uygun betike akar. Örneğin , TrackableObjectMenu öğesine yönlendirilen SpatialMappingControlleröğesine sahiptirToggleSpatialMapping.
  • TrackableObjectSearch.cs
    • Bu betik, arama alanının biraz basit yönetimini yapar. Özellikle, kullanıcının alana dokunduğu etkileşim ve arama kutusu kullanıcının önüne yerleştirilir. Ayrıca, tam işlemenin nesneyi engellemesini önlemek için arama kutusunun içini arama sırasında veya bir nesne algılanırken işlemez.
  • TrackedObject.cs
    • üzerindeki TrackableObjectPrefabbirincil betik. Azure Object Anchors tarafından algılanan bir nesnenin görselleştirme durumunu korur.
  • TrackedObjectData.cs
    • Bu betik, Azure Object Anchors'ın şu anda izlediği nesne hakkında bilgi içerir.

Prefabs

  • TrackableObjectPrefab
    • AzureObjectAnchors tarafından bir nesne algılandığında oluşturulan prefab. Bu prefabun alt öğesi, LogicalCenternesnenin merkezini temsil eder ve algılanan nesnelere alt içerik eklemeye çalışırken başlamak için uygun bir yerdir. Örnek tarafından görüntülenen bilgi metni bu mantıksal merkeze eklenir.

Sonraki adımlar

SSS