Alıştırma - Azure Spatial Anchors'ı kullanmaya başlama
Bu ünitede, aşağıdakiler için gereken adımları keşfedeceksiniz:
- Azure Spatial Anchors oturumlarını başlatın ve durdurun.
- Tek bir cihazda uzamsal tutturucular oluşturun, karşıya yükleyin ve indirin.
Bu öğrenme modülünün önkoşullarını tamamlamanın bir sonucu olarak, OpenXR ve MRTK3 için ayarlanmış ve yapılandırılmış bir Unity projeniz zaten olmalıdır. Bu projeyi açın, ardından uygun özelliklerin seçili olduğundan emin olun:
- Project Ayarlar Player > Yayımlama Ayarlar >Düzenle'ye > gidin.
- Özellikler bölümüne kadar aşağı kaydırın ve henüz seçili değilse aşağıdakileri seçin:
- SpatialPerception
- InternetClient
- PrivateNetworkClientServer
İşiniz bittiğinde Project Ayarlar penceresini kapatın ve sonraki adımlarla devam edin.
Yerleşik Unity paketlerini yükleme ve öğretici varlıklarını içeri aktarma
Menü çubuğunda Pencere> Paket Yöneticisi'yi seçin.
AR Foundation sürüm 5.0.3 veya en son sürümün yüklü olduğunu doğrulayın.
Öğretici varlıklarını içeri aktarma
Bu öğreticiyi izleyerek projenize Azure Spatial Anchors SDK V2.12 veya en son sürümü ekleyin.
Aşağıdaki Unity özel paketlerini bu sırayla indirin ve içeri aktarın:
- MRTK. HoloLens2.Unity.Tutorials.Assets.GettingStarted.3.0.0.unitypackage
- MRTK. HoloLens2.Unity.Tutorials.Assets.AzureSpatialAnchors.3.0.0.unitypackage
Dekont
ARFoundation paketi sürümü içeri aktarılan ARSubsystems sürümüyle eşleşmediğinde hem MRTK3 hem de ASA'nın içeri aktarılması hatalara neden olabilir. Bu sorun düzeltene kadar, geçici bir çözüm olarak projenin Paket Yöneticisi com.unity.xr.arsubsystems sürüm 5.0.2'yi el ile ekleyebilirsiniz.
ARSubsystems'ın kullanım dışı olduğuna dair bir uyarı alırsınız, ancak bunu yoksayabilirsiniz. "WorldAnchor.SetNativeSpatialAnchorPtr(IntPtr)" ifadesinin eski olduğunu belirten CS0618 uyarıları görürseniz, bunları da yoksayabilirsiniz.
Sahneyi hazırlama
Bu bölümde, öğretici önkoşullarından bazılarını ekleyerek sahneyi hazırlayacaksınız.
Proje bölmesinde Varlıklar>MRTK'sına gidin. Tutorials.AzureSpatialAnchors>Prefabs klasörü, ardından aşağıdaki önkoşulları Hiyerarşi bölmesine sürükleyerek bunları sahnenize ekleyin:
- ButtonParent prefabs
- Yönergeler ön ekleri
- ParentAnchor prefabs
- ButtonParent'in Tranform/Position değerlerini şu şekilde değiştirin: X = 0,0, Y = 1,6, Z = 0,6
- Yönergelerin Tranform/Konum değerlerini şu şekilde değiştirin: X = -0,8, Y = 2,0, Z = 2,0
- ParentAnchor Tranform /Position değerlerini şu şekilde değiştirin: X = -0,3, Y = 1,5, Z = 0,6
Bahşiş
Sahnenizdeki büyük simgeleri (örneğin, büyük çerçeveli "T" simgeleri) dikkat dağıtıcı bulursanız, Gizmos açılan menüsünü açıp tek tek nesneler için simgelerin görüntüsünü kapatarak bunları gizleyebilirsiniz.
Hiyerarşi penceresinde MRTK XR Rig> Kamera Uzaklığı'nı seçin.
Denetçi bölmesinde, Bileşen Ekle düğmesini kullanarak aşağıdaki bileşenleri ekleyin:
- AR Anchor Manager (Betik)
- DisableDiagnosticsSystem (Betik)
Dekont
AR Anchor Manager (Betik) bileşenini eklediğinizde, AR Anchor Manager (Betik) bileşeni gerektirdiğinden XR Kaynak bileşeni otomatik olarak eklenir.
Sahneyi çalıştırmak için düğmeleri yapılandırma
Bu bölümde, bir uygulamada hem yerel tutturucuların hem de uzamsal tutturucuların nasıl davrandığını gösteren bir dizi düğme olayı oluşturmak için sahneye betikler ekleyeceksiniz.
Hiyerarşi bölmesinde ButtonParent nesnesini genişletin ve ilk alt nesne olan StartAzureSession'ı seçin.
Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin. Tıklanıldığında () olayı vardır.
Hiyerarşi'de ParentAnchor nesnesini seçin ve ardından Denetçi'yesürükleyip Tıklandı() olayının Hiçbiri (Nesne) alanına bırakın.
İşlev Yok açılan listesini ve ardından AnchorModuleScript>StartAzureSession () öğesini seçin. Olay tetiklendiğinde bu işlev yürütülür.
ButtonParent alt listesindeki Hiyerarşi bölmesinde DurdurAzureSession'ı seçin
Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.
Hiyerarşi'de ParentAnchor nesnesini seçin, ardından Denetçi'ye sürükleyin ve Tıklandı() olayının None (Nesne) alanına bırakın.
İşlev Yok açılan listesini ve ardından AnchorModuleScript>StopAzureSession () öğesini seçin.
ButtonParent alt listesindeki Hiyerarşi bölmesinde OluşturAzureAnchor'u seçin.
Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.
Hiyerarşi'de ParentAnchor nesnesini seçin, ardından Denetçi'ye sürükleyin ve Tıklandı() olayının None (Nesne) alanına bırakın.
İşlev Yok açılan listesini seçin ve AnchorModuleScript>OluşturAzureAnchor'u seçin.
ParentAnchor nesnesini yeniden seçin, ardından Denetçi'ye sürükleyin ve AnchorModuleScript.CreateAzureAnchor parametresine bırakın.
ButtonParent alt listesindeki Hiyerarşi bölmesinde RemoveLocalAnchor'u seçin.
Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.
Hiyerarşi'de ParentAnchor nesnesini seçin, ardından Denetçi'ye sürükleyin ve Tıklandı() olayının None (Nesne) alanına bırakın.
İşlev Yok açılan listesini ve ardından AnchorModuleScript>RemoveLocalAnchor'u seçin.
ParentAnchor nesnesini yeniden seçin, ardından Denetçi'ye sürükleyin ve AnchorModuleScript.RemoveLocalAnchor parametresine bırakın.
ButtonParent alt listesindeki Hiyerarşi bölmesinde BulAzureAnchor'u seçin.
Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.
Hiyerarşi'de ParentAnchor nesnesini seçin, ardından Denetçi'ye sürükleyin ve Tıklandı() olayının None (Nesne) alanına bırakın.
İşlev Yok açılan listesini ve ardından AnchorModuleScript>BulAzureAnchor'u seçin.
ButtonParent alt listesindeki Hiyerarşi bölmesinde SilAzureAnchor'u seçin.
Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.
Hiyerarşi'de ParentAnchor nesnesini seçin, ardından Denetçi'ye sürükleyin ve Tıklandı() olayının None (Nesne) alanına bırakın.
İşlev Yok açılan listesini ve ardından AnchorModuleScript>DeleteAzureAnchor'u seçin.
Sahneyi Azure kaynağına Bağlan
Hiyerarşi bölmesinde ParentAnchor nesnesini seçin.
Denetçi bölmesinde Spatial Anchor Manager (Betik) bileşenini bulun.
Kimlik Bilgileri bölümünü, bu öğretici serisinin önkoşulları kapsamında oluşturduğunuz Azure Spatial Anchors hesabındaki kimlik bilgileriyle yapılandırın:
- Spatial Anchors Hesap Kimliği alanına Azure Spatial Anchors hesabınızdaki Hesap Kimliği değerini yapıştırın.
- Spatial Anchors Hesap Anahtarı alanına, Azure Spatial Anchors hesabınızdaki birincil veya ikincil Erişim Anahtarı değerini yapıştırın.
- Spatial Anchors Hesabı Etki Alanı alanına Azure Spatial Anchors hesabınızdan Hesap Etki Alanı değerini yapıştırın.
Azure Spatial Anchors'ın temel davranışlarını deneyin
Azure Spatial Anchors Unity'de çalıştırılamaz. Azure Spatial Anchors işlevselliğini test etmek için projeyi derlemeniz ve uygulamayı cihazınıza dağıtmanız gerekir.
Bahşiş
Unity projenizi derleme ve HoloLens 2'ye dağıtma hakkında bir anımsatıcı için (İsteğe bağlı) Uygulamayı derleme ve dağıtma bölümünden başlayarak Uygulamanızı HoloLens 2'ye derleme makalesine bakın.
Uygulama cihazınızda çalıştırıldığında, Azure Spatial Anchor Öğretici yönergeleri panelinde görüntülenen ekran yönergelerini izleyin:
- Küpü farklı bir konuma taşıyın.
- Azure oturumu başlatın.
- Küp konumunda bir Azure bağlantısı oluşturun.
- Azure oturumunu durdurun.
- Kullanıcının küpü taşımasına izin vermek için yerel tutturucuyu kaldırın.
- Küpü başka bir yere taşıyın.
- Azure oturumu başlatın.
- Küpü 3. adımdaki konuma konumlandırmak için Azure tutturucuyu bulun.
- Azure tutturucuyu silin.
- Azure oturumunu durdurun.
Dikkat
Azure Spatial Anchors, yer işareti verilerini kaydetmek ve yüklemek için İnternet'i kullanır. Cihazınızın İnternet'e bağlı olduğundan emin olun.