Penguncian dunia dan jangkar spasial di Unity

Gambar hero alat penguncian dunia

Membuat hologram Anda tetap di tempat, bergerak bersama Anda, atau dalam beberapa kasus memposisikan diri mereka relatif terhadap hologram lain adalah bagian besar dari membuat aplikasi Mixed Reality. Artikel ini akan membawa Anda melalui solusi yang direkomendasikan menggunakan Alat Penguncian Dunia, tetapi kami juga akan membahas pengaturan jangkar spasial secara manual dalam proyek Unity Anda. Sebelum kita melompat ke kode apa pun, penting untuk memahami bagaimana Unity menangani ruang koordinat dan jangkar di mesinnya sendiri.

Sistem koordinat skala dunia

Saat ini, saat menulis game, aplikasi visualisasi data, atau aplikasi realitas virtual, pendekatan umumnya adalah membangun satu sistem koordinat dunia absolut yang dapat dipetakan kembali oleh semua koordinat lainnya. Dalam lingkungan itu, Anda selalu dapat menemukan transformasi stabil yang mendefinisikan hubungan antara dua objek di dunia tersebut. Jika Anda tidak memindahkan objek tersebut, transformasi relatifnya akan selalu tetap sama. Sistem koordinat global semacam ini mudah didapatkan ketika merender dunia virtual murni di mana Anda mengetahui semua geometri terlebih dahulu. Aplikasi VR skala kamar saat ini biasanya membangun sistem koordinat skala ruangan absolut semacam ini dengan asalnya di lantai.

Sebaliknya, perangkat realitas campuran yang tidak terikat seperti HoloLens memiliki pemahaman berbasis sensor dinamis tentang dunia, terus menyesuaikan pengetahuannya dari waktu ke waktu di sekitar pengguna saat mereka berjalan berukuran banyak meter di seluruh lantai gedung. Dalam pengalaman skala dunia, jika Anda menempatkan semua hologram Anda dalam sistem koordinat kaku naif, hologram tersebut akan berakhir melayang dari waktu ke waktu, baik berdasarkan dunia atau relatif satu sama lain.

Misalnya, headset saat ini mungkin percaya dua lokasi di dunia terpisah 4 meter, dan kemudian memperbaiki pemahaman itu, mempelajari bahwa lokasi sebenarnya terpisah 3,9 meter. Jika hologram tersebut awalnya ditempatkan 4 meter terpisah dalam satu sistem koordinat yang kaku, salah satunya kemudian akan selalu muncul 0,1 meter dari dunia nyata.

Anda dapat menempatkan jangkar spasial secara manual di Unity untuk mempertahankan posisi hologram di dunia fisik saat pengguna bergerak. Namun, ini mengorbankan konsistensi diri dalam dunia virtual. Jangkar yang berbeda terus bergerak dalam kaitannya satu sama lain, dan juga bergerak melalui ruang koordinat global. Dalam skenario ini, tugas sederhana seperti tata letak menjadi sulit. Simulasi fisika juga bisa bermasalah.

World Locking Tools (WLT) memberi Anda yang terbaik dari kedua dunia, menstabilkan satu sistem koordinat yang kaku menggunakan pasokan internal jangkar spasial yang tersebar di seluruh adegan virtual saat pengguna bergerak. WLT menganalisis koordinat kamera dan jangkar spasial tersebut setiap bingkai. Alih-alih mengubah koordinat segala sesuatu di dunia untuk mengimbangi koreksi dalam koordinat kepala pengguna, WLT hanya memperbaiki koordinat kepala sebagai gantinya.

Pilih pendekatan penguncian dunia Anda

Jika memungkinkan, gunakan World Locking Tools untuk penempatan hologram.

World Locking Tools menyediakan sistem koordinat yang stabil yang meminimalkan inkonsistensi yang terlihat antara penanda dunia virtual dan nyata. Alat Penguncian Dunia mengunci seluruh adegan dengan kumpulan jangkar bersama, daripada mengunci setiap grup objek dengan jangkar individu grup sendiri.

World Locking Tools secara otomatis menangani pembuatan internal dan manajemen jangkar spasial. Anda tidak perlu berinteraksi dengan ARAnchorManager atau WorldAnchor untuk menjaga hologram Anda tetap terkunci di dunia.

  • Untuk Unity 2019/2020 menggunakan OpenXR atau Plugin Windows XR, gunakan ARAnchorManager.
  • Untuk versi Unity atau proyek WSA yang lebih lama, gunakan WorldAnchor.

Menyiapkan penguncian dunia

Untuk mulai menggunakan World Locking Tools, unduh Alat Fitur Mixed Reality. Untuk mempelajari selengkapnya tentang dasar-dasarnya, lihat halaman dokumentasi Alat Penguncian Dunia utama untuk tautan ke Gambaran Umum, Mulai Cepat, dan topik berguna lainnya.

Penyiapan otomatis

Saat proyek Anda siap digunakan, jalankan utilitas konfigurasi adegan dari Mixed Reality > World Locking Tools:

Editor Unity dengan menu toolkit Mixed Reality dipilih

Penting

Utilitas Konfigurasi adegan dapat dijalankan ulang kapan saja. Misalnya, harus dijalankan ulang jika target AR telah diubah dari Warisan ke XR SDK. Jika adegan sudah dikonfigurasi dengan benar, menjalankan utilitas tidak berpengaruh.

Visualizer

Selama pengembangan awal, menambahkan visualizer dapat membantu untuk memastikan WLT disiapkan dan berfungsi dengan baik. Mereka dapat dihapus untuk performa produksi, atau jika karena alasan apa pun tidak lagi diperlukan, menggunakan utilitas Hapus visualizer. Detail selengkapnya tentang visualizer dapat ditemukan di dokumentasi Alat.

Penguncian dunia persisten

Jangkar spasial menghemat hologram di ruang dunia nyata di antara sesi aplikasi. Setelah disimpan di toko jangkar HoloLens, jangkar spasial dapat ditemukan dan dimuat dalam sesi yang berbeda dan merupakan fallback yang ideal ketika tidak ada konektivitas internet.

Penting

Jangkar lokal disimpan di perangkat, sementara Azure Spatial Anchors disimpan di cloud. Anda dapat memiliki jangkar lokal dan Azure dalam proyek yang sama tanpa konflik. Untuk informasi selengkapnya tentang mengintegrasikan layanan cloud Azure untuk menyimpan jangkar Anda, lihat Azure Spatial Anchors.

Secara default, World Locking Tools memulihkan sistem koordinat Unity relatif terhadap dunia fisik di seluruh sesi pada perangkat yang mendukung persistensi jangkar spasial lokal. Agar hologram muncul di tempat yang sama di dunia fisik setelah berhenti dan menjalankan ulang aplikasi, aplikasi hanya perlu memulihkan pose yang sama ke hologram.

Komponen konteks penguncian dunia di inspektur Unity

Jika aplikasi memerlukan kontrol yang lebih halus, Anda dapat menonaktifkan Simpan Otomatis dan Muat Otomatis di inspektur, dan mengelola persistensi dari skrip. Untuk informasi selengkapnya, lihat Mempertahankan sistem koordinat spasial.

World Locking Tools mendukung persistensi jangkar lokal hanya pada perangkat HoloLens. Untuk perangkat Android, iOS, dan HoloLens, integrasikan dengan Azure Spatial Anchors untuk mendukung persistensi dan berbagi ruang koordinat di seluruh sesi dan perangkat. Untuk informasi selengkapnya dan sampel menggunakan Alat Penguncian Dunia dengan Azure Spatial Anchors, lihat World Locking Tools (WLT) yang dikombinasikan dengan Azure Spatial Anchors (ASA).

Langkah berikutnya

Bagikan ruang koordinat yang terkunci di dunia:

Pelajari tentang pemetaan spasial:

Kembali ke titik pemeriksaan pengembangan Unity:

Lihat juga