Mengaktifkan Geospatial API untuk aplikasi Unity (AR Foundation) yang menargetkan iOS

Konfigurasi setelan aplikasi agar dapat menggunakan Geospatial API.

Prasyarat

Pastikan Anda memahami konsep dasar AR dan cara mengonfigurasi sesi ARCore sebelum melanjutkan.

Lihat Pengantar Geospatial API untuk informasi selengkapnya informasi tentang Geospatial API.

Jika Anda baru pertama kali melakukan pengembangan dengan ARCore, lihat Memulai untuk informasi tentang persyaratan perangkat lunak dan perangkat keras, prasyarat dan informasi lain khusus untuk platform yang Anda gunakan.

Untuk menggunakan ARCore Geospatial API, project Anda harus mendukung Dasar-Dasar AR dan ARCore Extensions for AR Foundation.

Mengaktifkan ARCore API

Sebelum menggunakan Sistem Pemosisi Visual (VPS) di aplikasi, Anda harus terlebih dahulu mengaktifkan ARCore API di project Google Cloud baru atau yang sudah ada. Layanan ini bertanggung jawab untuk menghosting, menyimpan, dan me-resolve anchor Geospasial.

Otorisasi tanpa kunci lebih disukai, tetapi otorisasi Kunci API juga didukung.

Menambahkan library yang diperlukan ke aplikasi Anda

Setelah memberikan otorisasi pada aplikasi untuk memanggil ARCore API, Anda harus menambahkan library ke mengaktifkan fitur Geospasial di aplikasi Anda.

  1. Buka Edit > Setelan Project > Pengelolaan Plugin XR > Ekstensi ARCore. Pastikan iOS Support Enabled dipilih.
  2. Di bagian Fitur Opsional, pilih Geospasial.

Mengaktifkan kemampuan Geospasial dalam konfigurasi sesi

Setelah fungsi Geospasial diaktifkan di aplikasi, aktifkan kemampuan Geospasial di konfigurasi sesi AR aplikasi agar dapat berkomunikasi dengan ARCore API:

  1. Pastikan folder Assets project berisi objek yang dapat dibuat dengan skrip ARCoreExtensionsConfig. Untuk membuatnya, klik kanan di panel Assets, lalu pilih Create > XR > Konfigurasi Ekstensi ARCore.
  2. Pilih objek dengan skrip ARCoreExtensionsConfig di folder Assets Anda dan tetapkan Geospatial Mode ke Enabled.

  3. Konfigurasi objek game ARCore Extensions untuk menggunakan konfigurasi ARCoreExtensionsConfig. Di panel Hierarchy, cari objek game ARCore Extensions yang Anda buat saat pertama kali menyiapkan ARCore Extensions, dan hubungkan kolom ARCore Extensions Config ke objek yang dapat dibuat skrip ARCoreExtensionsConfig di folder Assets.

Minta pengguna untuk mengizinkan penggunaan data perangkat

Aplikasi yang menggunakan ARCore Geospatial API harus menampilkan perintah kepada pengguna untuk memahami dan mengizinkan penggunaan data dari perangkat mereka. Lihat Persyaratan privasi pengguna untuk informasi selengkapnya tidak akurat atau tidak sesuai.

Periksa kompatibilitas perangkat

Tidak semua perangkat yang mendukung ARCore juga mendukung Geospatial API. Untuk memeriksa perangkat pengguna untuk kompatibilitas, panggil AREarthManager.IsGeospatialModeSupported() Jika tindakan ini menampilkan FeatureSupported.Unsupported, jangan mencoba mengonfigurasi sesi.

Meminta izin akses lokasi kepada pengguna saat runtime

Untuk mengaktifkan layanan lokasi Unity dalam skrip yang memicu runtime permintaan izin, lakukan hal berikut:

  1. Setelah Project Settings > iOS > Other Settings > Location Usage Description, masukkan nama aplikasi yang meminta izin.

  2. Mengaktifkan layanan lokasi Unity untuk memicu runtime permintaan izin akses, sebagai berikut:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Lihat LocationService dokumentasi untuk informasi selengkapnya.

Memeriksa ketersediaan Geospasial di lokasi perangkat saat ini

Karena Geospatial API menggunakan kombinasi VPS dan GPS untuk menentukan pose Geospasial, API dapat digunakan selama perangkat dapat menentukan lokasinya. Di area dengan akurasi GPS rendah, seperti dalam ruangan dan lingkungan perkotaan yang padat, API ini akan bergantung pada cakupan VPS untuk menghasilkan pose dengan akurasi tinggi. Dalam kondisi umum, VPS dapat diharapkan memberikan akurasi posisi sekitar 5 meter, dan akurasi rotasi 5 derajat. Gunakan AREarthManager.CheckVpsAvailability() untuk menentukan apakah lokasi tertentu memiliki cakupan VPS.

Geospatial API juga dapat digunakan di area yang tidak memiliki cakupan VPS. Di lingkungan luar ruangan dengan sedikit atau tanpa penghalang di atas kepala, GPS mungkin cukup untuk membuat pose dengan akurasi tinggi.

Langkah berikutnya