1. Sebelum memulai
Geospatial Creator di Unity, yang didukung oleh ARCore dan Petak 3D Fotorealistik dari Google Maps Platform, memungkinkan Anda membangun dan memvisualisasikan pengalaman augmented reality (AR) dengan cepat untuk lintang dan bujur tertentu, semuanya dalam Editor Unity. Hal ini dapat mengurangi waktu yang diperlukan untuk membangun satu adegan AR bergeolokasi untuk aplikasi Anda secara signifikan, tetapi bagaimana jika Anda ingin membuat beberapa pengalaman serupa di lokasi yang berbeda? Dengan menggunakan C# API di Geospatial Creator, Anda juga dapat melakukannya.
Dalam codelab ini, Anda akan menulis kode C# yang menggunakan Geospatial Creator dan Places API dari Google Maps Platform untuk membuat beberapa pengalaman geospasial menggunakan template awal. Pengalaman yang dihasilkan dapat dieksplorasi dan disesuaikan di Unity Editor sebelum dikompilasi menjadi aplikasi.

Prasyarat
- Pengetahuan dasar tentang AR
- Pengetahuan dasar tentang ARCore Geospatial API
Yang akan Anda pelajari
- Cara menggunakan API di Geospatial Creator untuk membuat dan memvisualisasikan satu pengalaman yang berlokasi geografis di beberapa lokasi.
- Cara menggunakan Places API dari Google Maps Platform untuk menemukan lokasi tempat.
- Cara menjalankan pengalaman AR di perangkat.
Yang Anda butuhkan
2. Menyiapkan lingkungan Anda
Untuk menggunakan Geospatial Creator, Anda harus menyiapkan otorisasi untuk mengakses Photorealistic 3D Tiles, layanan ARCore di Google Cloud, dan Places API dari Google Maps Platform.
Menyiapkan project Google Cloud
Codelab ini memerlukan project Google Cloud dengan penagihan yang diaktifkan untuk mengakses API server Google. Penyiapan penagihan diperlukan untuk codelab ini, tetapi Anda hanya akan ditagih jika project melebihi kuota layanan tanpa biaya.
Untuk menyiapkan project di Google Cloud, ikuti langkah-langkah berikut:
- Buat project di Konsol Google Cloud.

- Di kotak teks Project name, masukkan nama yang sesuai, misalnya
ARCore Geospatial Project, lalu pilih sebuah lokasi. - Klik Buat.
- Di Konsol Google Cloud di halaman pemilih project, klik Create Project.
- Lihat Mengaktifkan penagihan, dan tinjau harga untuk Photorealistic 3D Tiles dan harga untuk Places API (Baru).
Mengaktifkan Map Tiles API
Map Tiles API menyediakan Photorealistic 3D Tiles, yang terlihat di Unity Editor.
Mengaktifkan ARCore API
ARCore API di Google Cloud memungkinkan Anda mengakses ARCore Geospatial API di perangkat target.
Aktifkan Places API
Places API dari Google Maps Platform memungkinkan Anda mendapatkan data lokasi untuk lebih dari 200 juta tempat, yang akan Anda gunakan dalam codelab untuk menemukan tempat terkait. API ini memberikan hasil penelusuran dan koordinat geografis untuk tempat.
Membuat kunci API untuk project Anda
Untuk menggunakan autentikasi kunci API guna mengautentikasi aplikasi Anda dengan layanan Google Cloud jarak jauh, ikuti langkah-langkah berikut:
- Di Konsol Google Cloud, di bagian APIs & services, pilih Credentials.
- Di bagian atas halaman, klik Create Credentials, lalu pilih API Key.
- Catat kunci ini karena Anda akan memerlukannya untuk langkah berikutnya.
Menyiapkan software
Untuk mulai menggunakan software Geospatial Creator, ikuti langkah-langkah berikut:
- Clone repositori ini.
- Download Unity Hub dan gunakan untuk menginstal Unity versi 2022.3. Pastikan Anda menginstal alat build opsional Android atau iOS.
- Di Unity Hub, tekan Add > Add project from disk.
- Di panel Hierarchy, pilih AR Geospatial Creator Origin.
- Di kotak teks Google Maps Tile API Key, masukkan kunci API, lalu tekan
Enter(ataureturndi macOS).
- Di Edit > Project Settings > XR Plug-in Management > ARCore Extensions, gunakan autentikasi Kunci API untuk Android atau iOS, lalu masukkan Kunci API.
- Di File > Build Settings, alihkan platform target ke Android atau iOS.
3. Membuat penanda pertama Anda
Dalam codelab ini, Anda akan membuat anchor AR yang dapat digunakan di beberapa lokasi. Anda menggunakan perpustakaan umum di San Francisco, California, sebagai contoh, tetapi Anda dapat menggunakan lokasi di dekat Anda.
Tentang komponen Origin Geospatial Creator
Setiap adegan Unity yang dibuat dengan Geospatial Creator memerlukan tepat satu Asal Geospatial Creator. Objek game ini adalah titik referensi untuk mengonversi nilai lintang, bujur, dan ketinggian dunia nyata ke koordinat game Unity.
Contoh project berisi Geospatial Creator Origin, yang menggunakan Cesium untuk merender Petak 3D Fotorealistik dalam tampilan Scene Editor dan memungkinkan Anda memvisualisasikan dengan tepat di mana konten AR Anda akan muncul di dunia.
Memindahkan Asal
Pindahkan asal Geospatial Creator ke garis lintang dan bujur cabang perpustakaan utama San Francisco.
Untuk menggunakan integrasi bawaan Geospatial Creator dengan Places API guna memindahkan asal secara otomatis ke lokasi yang benar, ikuti langkah-langkah berikut:
- Di panel Hierarchy, pilih objek game Geospatial Creator Origin.
- Di panel Inspector, klik Search for Location.
- Di dialog penelusuran, ketik
San Francisco Public Library. Hasil pertama harus berada di 100 Larkin Street. - Klik Terapkan ke objek untuk menerapkan hasil penelusuran ke asal. Anda akan melihat bahwa lintang dan bujur asal diperbarui ke koordinat baru.

Menambahkan penanda Geospatial Creator ke adegan
Setelah Origin ada, tambahkan anchor Geospatial Creator menggunakan GameObject > XR > AR Geospatial Creator Anchor. Secara default, anchor akan ditempatkan bersama dengan asal.
Gunakan penanda ini untuk memosisikan konten AR 3D kami. Model 3D buku disertakan dengan project contoh.
Untuk menempatkan buku di adegan Anda, ikuti langkah-langkah berikut:
- Di panel Project, tarik model Book ke panel tampilan Editor.
- Di panel Hierarchy, pastikan Book adalah turunan dari anchor yang Anda buat sebelumnya. Objek game turunan dari penanda Geospatial Creator akan diposisikan relatif terhadap penanda.
- Di panel Hierarchy, pilih Book. Tetapkan nilai posisinya ke 0, 0, 0.

Saat melihat model ini dalam tampilan Editor, jelas ada yang salah: Ketinggian default penanda berada di bawah permukaan atap perpustakaan, padahal seharusnya mengapung tinggi di atasnya.
Meskipun Anda dapat memindahkan objek di editor untuk menemukan perkiraan ketinggian WGS84, sebaiknya konfigurasikan penanda Geospatial sebagai penanda Atap dalam situasi ini agar ketinggiannya otomatis diperbaiki relatif terhadap atap struktur di atasnya.
- Untuk melakukannya, buka panel inspektur penanda dan tetapkan properti
Altitude TypekeRooftop.

Setelah melakukannya, perhatikan bahwa ketinggian penanda tidak berubah dalam tampilan Editor. Hal ini karena ketinggian anchor ditentukan saat runtime saat anchor diselesaikan untuk anchor Atap dan Medan. Untuk memvisualisasikan penanda di atap dalam tampilan Scene, Anda dapat menggunakan tombol Paskan ke Petak. Tindakan ini menetapkan ketinggian penahan agar sesuai dengan petak dalam tampilan Scene, sekaligus tidak memengaruhi ketinggian penahan yang diselesaikan saat runtime.
- Agar model mengambang di atas atap perpustakaan, bukan berada di atasnya, ubah parameter
Altitude relative to rooftopmenjadi 15 meter di atas atap.
Model kini mengambang dengan baik di atas library.

Project Anda kini memiliki adegan AR Geospatial yang lengkap, termasuk semua komponen sistem AR yang diperlukan, Geospatial Creator Origin, dan satu penanda dengan model terlampir.
Selanjutnya, buat anchor duplikat di lokasi perpustakaan tambahan.
4. Menemukan lokasi penanda baru dengan Places API
Places API dari Google Maps Platform memungkinkan Anda mendapatkan data lokasi untuk lebih dari 200 juta tempat. Dalam codelab ini, Anda menggunakan API ini untuk menemukan cabang lain dari perpustakaan umum di San Francisco dan menggunakan hasil tersebut untuk membuat anchor Geospatial Creator untuk sepuluh hasil penelusuran berikutnya.
- Untuk memulai, klik Assets > Scripts > Editor, lalu buka file '
AnchorDuplicator.cs'. File ini menyediakan beberapa kode boilerplate yang membantu Anda memulai Places API dan mengurai hasilnya.
Melakukan autentikasi dengan Places API
- Temukan baris berikut di class
AnchorDuplicator:private const string API_KEY = "<YOUR_API_KEY_HERE>"; - Ganti <YOUR_API_KEY_HERE> dengan kunci yang diperoleh di langkah penyiapan.
Mengirim kueri Places API untuk istilah penelusuran
Setelah penyiapan otorisasi Places API selesai, Anda dapat menulis kode yang memulai permintaan POST.
- Untuk melakukannya, temukan metode
CreatePlacesRequestdan gunakan definisi metode berikut: Sekarang, saat metodestring postBody = "{ \"textQuery\": \"" + searchTerm + "\", " + " \"locationBias\": { \"circle\": { " + " \"center\": { \"latitude\": " + lat + ", \"longitude\": " + lon + " }, " + " \"radius\": 10000 }" + " }" + "}"; string url = "https://places.googleapis.com/v1/places:searchText"; UnityWebRequest request = UnityWebRequest.Post(url, postBody, "application/json"); request.SetRequestHeader("X-Goog-Api-Key", apiKey); request.SetRequestHeader("X-Goog-FieldMask", "places.displayName,places.location"); return request;CreatePlacesRequestdipanggil, permintaan akan dibuat yang menelusurisearchTermdalam lingkaran yang berpusat di sekitarlatdanlon.
Menguji hasil kerja Anda
Sebelum melanjutkan, Anda harus memverifikasi bahwa panggilan ke Places API berhasil.
- Jalankan fungsi di Unity Editor:
- Di Google AR Codelab, klik Run Places Request.
- Buka konsol Unity. Anda akan melihat hasil muncul.

5. Menambahkan anchor ke tempat secara terprogram
Setelah Anda memverifikasi bahwa Places API menemukan hasil, buat anchor Geospatial Creator baru di setiap lokasi yang ditentukan oleh hasil.
Membuat item menu
- Di class
AnchorDuplicator, temukan metodeCreateNewAnchorsFromPlacesdan gunakan definisi metode berikut: Item menu ini memeriksa permintaan yang dimulai sebelumnya dan menggunakanif (_places == null) { Debug.LogError("Cannot create anchors: Places has not been initialized."); return; } // You start with only one anchor in the scene, which you want to copy: var prototypeAnchorObject = GameObject .FindObjectOfType<ARGeospatialCreatorAnchor>() .gameObject; foreach (var place in _places) { var newAnchorObject = GameObject.Instantiate(prototypeAnchorObject); var anchor = newAnchorObject.GetComponent<ARGeospatialCreatorAnchor>(); anchor.Latitude = place.location.latitude; anchor.Longitude = place.location.longitude; newAnchorObject.name = place.displayName.text; }ARGeospatialCreatorAnchorpertama dalam adegan Anda sebagai prototipe untuk membuat anchor, satu per tempat dalam hasil Places API. - Gunakan item menu Create New Anchors from Places Response baru di Google AR Codelab untuk membuat anchor.
- Anda akan melihat beberapa penanda muncul di panel Hierarchy.
Memverifikasi posisi penanda
Untuk memverifikasi bahwa semua aset ditambatkan di lokasi yang benar sebelum Anda menjalankan aplikasi, ikuti langkah-langkah berikut:
- Klik penanda yang ditambahkan di panel Hierarchy.
- Tekan F.
- Periksa penanda di tampilan
Scene. - Jika penanda tidak berada di lokasi yang benar, klik Paskan ke Petak, atau ubah nilai
Latitude,Longitude, atauEditor Override Altitudesecara manual.
6. Melihat aset dalam AR
Untuk melihat aset dalam AR di perangkat Android atau iOS yang didukung ARCore, ikuti langkah-langkah berikut:
- Klik File > Build Settings, lalu pilih platform build Android atau iOS.
- Klik Ganti platform.
- Pastikan perangkat pengembangan Anda terhubung dan dikonfigurasi untuk pengembangan.
- Klik Build and run.
- Pastikan aplikasi berjalan di perangkat Anda.
- Kunjungi lokasi tempat Anda menyematkan konten. Jika Anda tidak mengubah contoh, lokasinya adalah perpustakaan umum di San Francisco.

7. Kesimpulan
Selamat! Anda telah menulis aplikasi Unity yang menggunakan Geospatial Creator dan Places API Google Maps Platform untuk membuat beberapa pengalaman geospasial menggunakan template awal. Semoga Anda dapat menggunakan pengetahuan ini untuk memperluas jangkauan konten Geospatial Creator Anda.