Menangani Anchor

Gunakan anchor untuk membuat objek virtual tampak tetap berada di tempatnya dalam adegan AR.

Mengapa menggunakan anchor?

Seiring dengan perubahan pemahaman lingkungan ARCore di seluruh pengalaman AR, objek virtual dapat tampak bergerak menjauh dari tempatnya. Hal ini dapat memengaruhi realisme dan pengalaman pengguna aplikasi Anda.

Anchor memastikan bahwa objek tetap berada pada posisi dan orientasi yang sama dalam ruang, sehingga membantu Anda mempertahankan ilusi objek virtual yang ditempatkan di dunia nyata.

Cara kerja anchor

Jika Anda baru menggunakan anchor, akan sangat membantu untuk meninjau ruang dan pose dunia.

  • Ruang dunia

    • Ruang koordinat tempat kamera dan objek diposisikan
    • Posisi kamera dan objek diperbarui di ruang dunia dari frame ke frame
  • Sikap

    • Mewakili posisi dan orientasi objek di ruang dunia
    • Disebut juga sebagai transformasi di iOS

Saat membuat anchor, Anda menggunakan pose yang menjelaskan posisi dan orientasi yang relatif terhadap perkiraan ruang dunia untuk frame saat ini.

Anda melampirkan satu atau beberapa objek ke anchor ini. Jangkar dan objek yang terpasang padanya tampak tetap berada di tempatnya di dunia. Karena pose anchor beradaptasi dengan pembaruan ruang dunia di setiap frame, anchor akan memperbarui pose objek sebagaimana mestinya.

Anda dapat memasang beberapa objek ke anchor yang sama untuk memastikan bahwa objek ini mempertahankan posisi dan orientasi relatifnya, bahkan saat pose anchor menyesuaikan.

Menggunakan anchor dalam scene

Untuk menggunakan anchor di scene, kode Anda harus:

  • Buat anchor dalam konteks Trackable (seperti Plane) atau Sesi ARCore.
  • Melampirkan satu atau beberapa objek ke anchor.

Anchor dapat mendukung berbagai jenis perilaku posisi pada objek adegan Anda.

Menentukan konteks anchor dan jumlah anchor yang diperlukan untuk objek suasana bergantung pada perilaku posisi yang diperlukan scene AR. Lihat bagian berikut untuk informasi selengkapnya.

Pilih konteks link

Tambahkan anchor ke scene menggunakan Sesi yang Dapat Dilacak atau ARCore.

Ketika Anda ingin objek Pasang anchor ke
Muncul "dilas" ke Trackable dan tunduk pada efek rotasi yang sama dengan Trackable.
Hal ini mencakup:
  • Tampaknya menempel pada permukaan Pesawat
  • Mempertahankan posisi relatif terhadap Trackable, seperti mengambang di atas atau di depannya
Dapat dilacak
Muncul dengan posisi yang sama di ruang dunia selama pengalaman pengguna Sesi ARCore

Menambatkan satu atau beberapa objek

Anda dapat melampirkan satu atau beberapa objek ke anchor. Umumnya, objek ini memiliki hubungan spasial dengan satu atau beberapa hal berikut:

  • Satu sama lain
  • Dapat Dilacak, seperti Plane
  • Sebuah posisi di ruang dunia

Panduan anchor

Realisme dan performa aplikasi Anda akan mendapatkan manfaat dari penggunaan anchor secara efektif dan efisien.

Objek yang dilampirkan ke anchor di sekitar tampak mempertahankan tempatnya secara realistis dan relatif terhadap satu sama lain selama pengalaman AR.

Menggunakan anchor saja yang Anda perlukan akan membantu mengurangi biaya CPU.

Gunakan kembali anchor jika memungkinkan

Pada umumnya, Anda harus menggunakan anchor yang sama untuk beberapa objek di sekitar, bukan membuat anchor baru untuk setiap objek.

Gunakan anchor baru untuk sebuah objek jika objek perlu mempertahankan hubungan spasial yang unik dengan Trackable atau posisi di ruang dunia.

Perlu diingat bahwa, jika setiap objek dalam scene memiliki anchor-nya sendiri, anchor ini akan menyesuaikan pose objek secara independen satu sama lain sebagai respons terhadap perkiraan ruang dunia ARCore di setiap frame. Objek yang ditambatkan secara terpisah dapat bergeser atau berputar relatif terhadap satu sama lain, mematahkan ilusi adegan AR tempat objek virtual harus tetap berada di tempatnya relatif terhadap satu sama lain.

Contoh
Misalnya, anggaplah aplikasi Anda memungkinkan pengguna menempatkan furnitur virtual di sekitar ruangan. Pengguna membuka aplikasi dan ARCore mulai melacak perangkat di atas meja dan lantai dalam ruangan sebagai Pesawat. Pengguna menempatkan lampu virtual di atas meja. Kemudian, pengguna meletakkan kursi virtual di lantai.

Pada titik ini, scene harus memiliki satu anchor yang dipasang ke Plane di atas meja dan satu anchor lain disematkan ke Pesawat lantai.

Jika pengguna menambahkan lampu virtual lain ke bagian atas meja, Anda dapat menggunakan kembali anchor yang sudah terpasang ke Plane di atas meja. Dengan cara ini, kedua lampu akan tampak menempel pada Pesawat di atas meja dan menjaga posisinya relatif terhadap satu sama lain. Kursi juga mempertahankan posisinya relatif terhadap Bidang lantai.

Dekatkan objek dengan anchor

Saat menambatkan objek, pastikan objek tersebut dekat dengan anchor yang Anda gunakan. Hindari menempatkan objek dengan jarak lebih dari delapan meter (8 m) atau dua puluh enam kaki (26 kaki) dari anchor untuk mencegah gerakan rotasi yang tidak terduga karena update ARCore pada koordinat ruang dunia.

Jika Anda perlu menempatkan objek dengan jarak lebih dari delapan meter dari anchor yang ada, buat anchor baru lebih dekat ke posisi ini dan pasang objek ke anchor baru.

Melepaskan anchor yang tidak digunakan

Lepaskan anchor yang tidak diperlukan lagi agar aplikasi Anda berperforma lebih baik.

Aplikasi Anda menimbulkan biaya CPU untuk setiap Trackable, dan ARCore tidak merilis Trackable yang memiliki anchor terpasang.

Jenis anchor

Jenis anchor dibedakan berdasarkan cakupan yang valid, dari lokal hingga seluruh dunia.

  • Anchor lokal disimpan dengan aplikasi secara lokal, dan hanya valid untuk instance aplikasi tersebut. Pengguna harus secara fisik berada di lokasi tempat mereka menempatkan anchor.

  • Cloud Anchors disimpan di Google Cloud dan dapat dibagikan antar-instance aplikasi. Pengguna harus secara fisik berada di lokasi penempatan anchor.

  • Anchor geospasial didasarkan pada lintang, bujur, dan ketinggian geodesi, serta data Sistem Pemosisi Visual (VPS) Google, untuk memberikan lokasi akurat hampir di mana saja di seluruh dunia. Pengguna dapat menempatkan anchor dari lokasi jarak jauh selama aplikasi terhubung ke internet dan dapat menggunakan VPS.