Alıştırma - Çözücülerle akıllı nesne yerleşimleri oluşturma

Tamamlandı

Çözücüler, Karma Gerçeklik Araç Seti'nin (MRTK) bileşenlerinden biridir. şimdi iki tür çözücüye ve bunların ilgili işlevlerine göz atalım.

MRTK'daki çözücülerin konumu

MRTK'nin çözücüleri MRTK SDK klasöründe bulunur. Projenizdeki kullanılabilir çözücüleri görmek için Proje penceresinde Paketler>MRTK Uzamsal Düzenleme>Çözücüleri'ne gidin.

Screenshot that shows the location of the solvers folder.

Yön Göstergesi çözücü

Kullanıcıyı nesnelere yönlendirmek için Yön Göstergesi çözücüyü kullanın. Şunu yapabilirsiniz:

  1. Proje penceresinde Varlıklar>MRTK'sına gidin. Tutorials.GettingStarted>Prefabs. Köşeli Çift Ayraç prefabını Hiyerarşi penceresine sürükleyin ve Dönüştürme Konumunu X = 0, Y = 1,5, Z = 2 olarak ayarlayarak RoverExplorer nesnesinin yakınına getirin.

    Screenshot that shows the newly added Chevron prefab selected.

  2. Yeni eklenen Köşeli Çift Ayraç nesnesini Gösterge olarak yeniden adlandırın. Ardından Denetçi penceresinde Bileşen Ekle'yi seçerek DirectionalIndicator'ı ekleyin.

    Screenshot that shows the DirectionalIndicator solver component added.

  3. DirectionalIndicator ve SolverHandler bileşenlerini aşağıdaki gibi yapılandırın:

    a. SolverHandler bileşeninin İzlenen Hedef Türü'nün Head olarak ayarlandığını doğrulayın.

    b. RoverExplorer'ı Hiyerarşiden Yok (Dönüşüm) alanına sürükleyerek DirectionalIndicator bileşeninin Yön Hedefi'ne atayın.

    c. Görünüm Uzaklığını 0,2 olarak değiştirin.

    Screenshot that shows the DirectionalIndicator solver component configured.

  4. Oyun moduna geçmek için Oynat'a basın. Bakışınızın yönünü döndürmek için farenizi sola veya sağa doğru hareket ettirirken sağ fare düğmesini basılı tutun.

    RoverExplorer nesnesinden uzağa baktığınızda Indicator nesnesinin görüneceğine ve RoverExplorer nesnesine işaret edeceğine dikkat edin.

    Screenshot that shows the Play mode split view with DirectionalIndicator solver in use.

Yerleştir'e Dokunun çözücü

Nesneleri yeniden konumlandırmak için Yerleştirmek için Dokun çözücüyü kullanın. Şunu yapabilirsiniz:

  1. Hiyerarşi penceresinde RoverExplorer>RoverAssembly nesnesini seçin. Ardından Denetçi'de, Yerleştir'e Dokun bileşenini eklemek için Bileşen Ekle'yi kullanın. Bileşeni aşağıdaki gibi yapılandırın:

    a. SolverHandler bileşeninin İzlenen Hedef Türü'nün Head olarak ayarlandığını doğrulayın.

    b. Varsayılan Surface Normal Uzaklığını Kullan seçeneğinin işaretini kaldırın ve Surface Normal Uzaklığı'nın 0 olarak ayarlandığından emin olun.

    c. Yönlendirmeyi Dikey Tut onay kutusunu seçin.

    Screenshot that shows the Tap To Place solver component added and configured.

  2. Ardından, Durum Bilgisi Olan Etkileşimli bileşen eklemek için Bileşen Ekle'yi kullanın. Denetçi penceresinde TıklananLarda () olayını bulun. + Yeni olay eklemek için simgeyi seçin. Olayı aşağıdaki gibi yapılandırın:

    a. RoverAssembly nesnesini Hiyerarşiden Yok (Nesne) alanına sürükleyerek Tıklanan () olayının dinleyicisi olarak atayın.

    b. olay tetiklendiğinde bu yöntemi çağırmak için İşlev Yok açılan listesinden TapToPlace>StartPlacement() öğesini seçin.

    Screenshot that shows the Tap To Place On Placing Started event configured.

  3. Hiyerarşi penceresinde RoverAssembly nesnesi seçili durumdayken, Denetçi penceresinde Başlarken () olayını bulun. + Yeni olay eklemek için simgeyi seçin.

    Screenshot that shows the Tap To Place On Placing Started event added.

  4. Olayı aşağıdaki gibi yapılandırın:

    a. RoverAssembly nesnesini Hiyerarşiden Yok (Nesne) alanına sürükleyerek Başlarken () olayı için dinleyici olarak atayın.

    b. olay tetiklendiğinde SurfaceNormalOffset özellik değerini güncelleştirmek için İşlev Yok açılan listesinden TapToPlace>float SurfaceNormalOffset'i seçin.

    c. Bağımsız değişkenin 0 olarak ayarlandığını doğrulayın.

    Screenshot that shows the Tap To Place On Placing Started event configured.

  5. Hiyerarşi'de boş bir noktaya sağ tıklayın. Zemini temsil eden geçici bir nesne oluşturmak için 3B Nesne>Küpü'ne tıklayın ve Transform bileşenini aşağıdaki gibi yapılandırın:

    • Konum: X = 0, Y = 0,15, Z = 6
    • Döndürme: X = 0, Y = 0, Z = 0
    • Ölçek: X = 10, Y = 0,2, Z = 10

    Screenshot that shows the temporary ground Cube object added and positioned.

  6. Oyun moduna geçmek için Oynat'a basın. Ardından, bakış RoverAssembly nesnesine çarpana kadar farenizi aşağı doğru hareket ettirirken sağ fare düğmesini basılı tutun.

    Screenshot that shows the Play mode split view, with gaze hitting the RoverAssembly object.

  7. Boşluk çubuğunu basılı tutun ve sol fare düğmesine tıklayarak havadan dokunma yapın ve yerden yere dokunma işlemini başlatın.

    Screenshot that shows the Play mode split view, with placing started.

  8. Bakışınızın yönünü döndürmek için farenizi sola veya sağa doğru hareket ettirirken sağ fare düğmesini basılı tutun. Yerleştirmeden memnun olduğunuzda, boşluk çubuğunu basılı tutun ve sol fare düğmesine tıklayarak son bir hava dokunması yapın.

    Screenshot that shows the Play mode split view, with placing ended.

  9. Oyun modunda özelliği test etme işlemini tamamladığınızda Küp nesnesine sağ tıklayın ve sil'i seçerek sahneden kaldırın.

    Screenshot that shows how to delete the temporary ground Cube.