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.AzureObjectAnchors
depolanı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
GameObjects
içerir. Özellikle,TrackableObjectPrefab
Azure Object Anchors bir nesne algıladığında oluşturulan nesneyi temsil eder.
- Yeniden kullanılabilir Unity
-
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
AOASampleTestScene
birincil sahne olan öğesini içerir.
- Örnekteki
-
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 ObjectTracker
olmak ü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.
Menü kılavuzu
Betiklere geçmeden önce menü öğelerini inceleyelim. Bu şekilde, bu menü öğelerinin betiklerle nasıl etkileşim kurabileceğine başvurabiliriz.
Alt ve sağ alt menüler otomatik olarak görünmez, ancak sırasıyla ve Tracker Settings
ile Search Area Settings
değiştirilir.
Ana Menü
-
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ırHighLatencyAccuratePosition
. - Devre dışı bırakıldığında olarak
ObjectInstanceTrackingMode
ayarlanırLowLatencyCoarsePosition
.
- Etkinleştirildiğinde,
-
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
.
- Etkinleştirildiğinde 10 dereceye ayarlar
-
Ö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
.
- Etkinleştirildiğinde 0,1 olarak ayarlar
-
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.
- Algılanabilir nesneler için
Betikler
-
OtonomSearchArea.cs
- Bu betik öğesine
WorkspaceBoundingBox
eklenir. Betik, öğesini otomatik olarak ölçeklendirmeye ve yerleştirmeyeWorkspaceBoundingBox
çalışır. etkinleştirildiğindeAuto-Adjust Search Area
etkinleştirilir.
- Bu betik öğesine
-
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.
- Bu betik, Azure Object Anchors'ın
-
SearchAreaModelVisualization.cs
- Bu betik altında
Cycle Mesh
Search Area Settings
işlevselliği etkinleştirir.
- Bu betik altında
-
SpatialMappingController.cs
- Bu betik, altındaki ile
Toggle Spatial Mapping
etkileşime bağlı olarak uzamsal eşlemenin ne zaman etkinleştirilmesiMain Menu
gerektiğini yönetir.
- Bu betik, altındaki ile
-
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
.ou
TrackableObjectData
dönüştürme işini yapar.
- Bu betik, dosyaları yükleyip öğelere
-
TrackableObjectMenu.cs
- Kullanıcı etkileşimlerinin çoğu kullanıcı arabiriminden bu betikten sonra uygun betike akar. Örneğin ,
TrackableObjectMenu
öğesine yönlendirilenSpatialMappingController
öğesine sahiptirToggleSpatialMapping
.
- Kullanıcı etkileşimlerinin çoğu kullanıcı arabiriminden bu betikten sonra uygun betike akar. Örneğin ,
-
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
TrackableObjectPrefab
birincil betik. Azure Object Anchors tarafından algılanan bir nesnenin görselleştirme durumunu korur.
- üzerindeki
-
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,
LogicalCenter
nesnenin 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.
- AzureObjectAnchors tarafından bir nesne algılandığında oluşturulan prefab. Bu prefabun alt öğesi,