Alıştırma - Azure Spatial Anchors'ı kullanmaya başlama

Tamamlandı

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:

  1. Project Ayarlar Player > Yayımlama Ayarlar >Düzenle'ye > gidin.
  2. Ö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

  1. Menü çubuğunda Pencere> Paket Yöneticisi'yi seçin.

  2. AR Foundation sürüm 5.0.3 veya en son sürümün yüklü olduğunu doğrulayın.

    Screenshot of selections for verifying the AR Foundation version for Package Manager.

Öğretici varlıklarını içeri aktarma

  1. Bu öğreticiyi izleyerek projenize Azure Spatial Anchors SDK V2.12 veya en son sürümü ekleyin.

  2. Aşağıdaki Unity özel paketlerini bu sırayla indirin ve içeri aktarın:

    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.

  1. 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 Screenshot of prefabs added to the Hierarchy pane.

    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.

  2. Hiyerarşi penceresinde MRTK XR Rig> Kamera Uzaklığı'nı seçin.

  3. 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.

    Screenshot of adding AR Anchor Manager.

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.

  1. Hiyerarşi bölmesinde ButtonParent nesnesini genişletin ve ilk alt nesne olan StartAzureSession'ı seçin.

  2. Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin. Tıklanıldığında () olayı vardır.

  3. 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.

  4. İşlev Yok açılan listesini ve ardından AnchorModuleScript>StartAzureSession () öğesini seçin. Olay tetiklendiğinde bu işlev yürütülür.

    Screenshot that shows Unity with the StartAzureSession button's OnClick event configured.

  5. ButtonParent alt listesindeki Hiyerarşi bölmesinde DurdurAzureSession'ı seçin

  6. Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.

  7. 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.

  8. İşlev Yok açılan listesini ve ardından AnchorModuleScript>StopAzureSession () öğesini seçin.

    Screenshot of Unity with the StopAzureSession button's OnClick event configured.

  9. ButtonParent alt listesindeki Hiyerarşi bölmesinde OluşturAzureAnchor'u seçin.

  10. Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.

  11. 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.

  12. İşlev Yok açılan listesini seçin ve AnchorModuleScript>OluşturAzureAnchor'u seçin.

  13. ParentAnchor nesnesini yeniden seçin, ardından Denetçi'ye sürükleyin ve AnchorModuleScript.CreateAzureAnchor parametresine bırakın.

    Screenshot of Unity with the CreateAzureAnchor button's OnClick event configured.

  14. ButtonParent alt listesindeki Hiyerarşi bölmesinde RemoveLocalAnchor'u seçin.

  15. Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.

  16. 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.

  17. İşlev Yok açılan listesini ve ardından AnchorModuleScript>RemoveLocalAnchor'u seçin.

  18. ParentAnchor nesnesini yeniden seçin, ardından Denetçi'ye sürükleyin ve AnchorModuleScript.RemoveLocalAnchor parametresine bırakın.

    Screenshot of Unity with the RemoveLocalAnchor button's OnClick event configured.

  19. ButtonParent alt listesindeki Hiyerarşi bölmesinde BulAzureAnchor'u seçin.

  20. Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.

  21. 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.

  22. İşlev Yok açılan listesini ve ardından AnchorModuleScript>BulAzureAnchor'u seçin.

    Screenshot of Unity with the FindAzureAnchor button's OnClick event configured.

  23. ButtonParent alt listesindeki Hiyerarşi bölmesinde SilAzureAnchor'u seçin.

  24. Denetçi bölmesinde, Basılabilir Düğme bileşenine gidin.

  25. 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.

  26. İşlev Yok açılan listesini ve ardından AnchorModuleScript>DeleteAzureAnchor'u seçin.

    Screenshot of Unity with the DeleteAzureAnchor button's OnClick event configured.

Sahneyi Azure kaynağına Bağlan

  1. Hiyerarşi bölmesinde ParentAnchor nesnesini seçin.

  2. Denetçi bölmesinde Spatial Anchor Manager (Betik) bileşenini bulun.

  3. 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.

    Screenshot of Unity with the Spatial Anchor Manager configured.

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:

  1. Küpü farklı bir konuma taşıyın.
  2. Azure oturumu başlatın.
  3. Küp konumunda bir Azure bağlantısı oluşturun.
  4. Azure oturumunu durdurun.
  5. Kullanıcının küpü taşımasına izin vermek için yerel tutturucuyu kaldırın.
  6. Küpü başka bir yere taşıyın.
  7. Azure oturumu başlatın.
  8. Küpü 3. adımdaki konuma konumlandırmak için Azure tutturucuyu bulun.
  9. Azure tutturucuyu silin.
  10. 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.