Table of Contents

Pengalihan otomatis objek Unity XR dalam adegan Unity

Komponen XR Unity (termasuk AR Foundation) memiliki dukungan perangkat yang terbatas. Untuk menggunakan AR Foundation pada perangkat yang didukung sambil mempertahankan fungsionalitas AR di banyak perangkat lain, EasyAR menyediakan fitur pengalihan otomatis objek Unity XR. Konten berikut menjelaskan modifikasi objek adegan dan metode penggunaan fitur ini.

Sebelum memulai

Fitur

Karena implementasi dasar AR Foundation Unity di ponsel adalah ARCore dan ARKit, yang hanya dapat digunakan pada perangkat terbatas, terutama di banyak ponsel Android China yang tidak mendukung, umumnya disarankan untuk mengaktifkan AR Foundation dan skrip fungsional terkait hanya pada perangkat yang didukung. Fitur pengalihan otomatis objek Unity XR mengimplementasikan operasi di atas, terutama dirancang untuk AR seluler, dan akan dinonaktifkan secara default di headset.

Saat fitur lengkap diaktifkan,

Dalam konfigurasi default, fitur diaktifkan berdasarkan kondisi berikut,

  • Diaktifkan di Windows/Mac.
  • Diaktifkan jika loader AR seluler (ARKit/ARCore) aktif saat switcher dimulai.
  • Dinonaktifkan jika ada loader selain AR seluler (ARKit/ARCore) saat switcher dimulai, tetapi tidak ada loader yang aktif.
Catatan

Komponen XR Interaction Toolkit tidak dikendalikan oleh fitur ini, tetapi ketersediaannya di EasyAR belum divalidasi. Secara teori, fitur yang hanya menggunakan GameObject Unity.XR.CoreUtils.XROrigin dan Kameranya seharusnya berfungsi normal. Jika terjadi perilaku tidak normal, coba atur ARSession.ARCenterMode ke ARSession.ARCenterMode.SessionOrigin. Jika masih tidak berfungsi, perlu diimplementasikan kontrol komponen XR Interaction Toolkit kustom, dengan menonaktifkan komponen terkait saat FrameSource bukan turunan dari ARFoundationFrameSource.

Metode konfigurasi

Fitur ini dapat diaktifkan atau dimatikan melalui opsi di Project Settings > EasyAR > Sense > Unity XR > Unity XR Auto Switch.

alt text

Opsi pada gambar mengonfigurasi perilaku fitur sebagai berikut:

  • Editor: Opsi mode edit
  • Player: Opsi mode runtime
    • Enable: Mengaktifkan kontrol runtime. Catatan: Saat opsi ini dimatikan, komponen yang dinonaktifkan dalam mode edit tidak akan dipulihkan saat runtime.
    • Enable If Desktop: Diaktifkan di Windows/Mac.
    • Enable If Mobile AR On Startup: Diaktifkan jika loader AR seluler (ARKit/ARCore) aktif saat switcher dimulai. Biasanya opsi ini memerlukan Initialize XR on Startup di Project Settings > XR Plug-in Management dicentang.
    • Disable If Non Mobile AR Post Startup: Dinonaktifkan jika ada loader selain AR seluler (ARKit/ARCore) saat switcher dimulai, tetapi tidak ada loader yang aktif. Biasanya opsi ini digunakan saat Initialize XR on Startup di Project Settings > XR Plug-in Management tidak dicentang.
    • Restore AR Session When Disabled: Saat fitur dinonaktifkan, memulihkan (mengaktifkan) semua UnityEngine.XR.ARFoundation.ARSession yang dinonaktifkan (terlepas dari apakah dinonaktifkan oleh EasyAR atau tidak). Opsi ini biasanya digunakan untuk memulihkan komponen yang dinonaktifkan saat mengedit.

Menggunakan metode kontrol kustom

Jika perlu menyesuaikan pengalihan komponen ini, atau perilaku EasyAR mengganggu kerja beberapa komponen, pastikan untuk menutup opsi ini, sambil menyesuaikan pengalihan komponen kustom berdasarkan aturan dasar berikut:

  1. Nonaktifkan UnityEngine.XR.ARFoundation.ARSession di editor (dieksekusi lebih awal dari semua skrip lain)
  2. Nonaktifkan semua komponen inti Unity XR, komponen AR Foundation, serta komponen atau fungsi terkait yang perlu dikontrol sebelum AR Foundation mulai bekerja
  3. Jika ARCoreARFoundationFrameSource atau ARKitARFoundationFrameSource dipilih selama proses easyar.ARSession.Assemble(), aktifkan semua komponen atau fungsi yang sebelumnya dinonaktifkan sebelum StartSession() selesai, biasanya disarankan untuk diselesaikan dalam respons peristiwa easyar.ARSession.AssembleUpdate
  4. Jika FrameSource lain digunakan selama proses easyar.ARSession.Assemble(), biarkan tidak berubah

Topik terkait