Table of Contents

Dukungan headset EasyAR di Unity

Dokumen ini menjelaskan arsitektur keseluruhan dan pertimbangan untuk dukungan headset EasyAR di Unity.

Sebelum memulai

  • Baca Dukungan headset EasyAR untuk memahami tipe headset yang didukung EasyAR dan fitur EasyAR yang dapat berjalan di headset.

Ikhtisar dukungan headset

EasyAR mendukung headset di Unity dengan cara yang fleksibel, umumnya ada dua pendekatan:

  • Dukungan bawaan: Biasanya melibatkan integrasi langsung dengan SDK perangkat di pustaka EasyAR Sense, dan menyediakan antarmuka terkait di Unity (misalnya Apple Vision Pro)
  • Dukungan ekstensi: Melalui paket ekstensi headset Unity yang terhubung ke SDK perangkat (misalnya Pico)
block
  columns 4
  block:groupApp:4
    block:groupAppWrapper
      space
      App1["EasyAR + Device A<br>App"]
      space
      App2["EasyAR<br>App"]
      space
      App3["EasyAR + Device B<br>App"]
    end
  end
  
  block:groupSensePluginExtension
    columns 1
    SensePluginExtension["EasyAR Sense Unity Plugin<br>Extension for Device A"]
    space
  end
  block:groupSensePlugin
    columns 1
    SensePlugin["EasyAR Sense Unity Plugin"]
    space
  end
  block:groupXRI
    columns 1
    XRI["XR Interaction Toolkit"]
    space
  end
  block:groupARF
    columns 1
    ARF["AR Foundation"]
    space
  end
  
  block:groupDeviceAUnity
    columns 1
    DeviceAUnity["Device A<br>Unity SDK"]
    space
  end
  block:groupSense
    columns 1
    Sense["EasyAR Sense"]
    block:groupSenseWrapper
      MDeviceB["Device B<br>CameraDevice"]
      Others["..."]
    end
  end
  block:groupXRSubsystem:2
    columns 1
    XRSubsystem["XR Subsystems"]
    XRSDK["Unity XR SDK"]
  end

  block:groupSystem:4
    columns 1
    System["Native Library"]
    block:groupSystemWrapper
      space
      DeviceA["Device A<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"]
      space
      space
      DeviceB["Device B<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"]
      space
    end
  end
  
  SensePluginExtension --> App1
  SensePlugin --> App1
  SensePlugin --> App2
  SensePlugin --> App3
  ARF --> App3
  XRI --> App1
  XRI --> App3
  groupSense --> SensePlugin
  groupDeviceAUnity --> SensePluginExtension
  SensePlugin --> SensePluginExtension
  DeviceA --> groupDeviceAUnity
  DeviceA --> XRSDK
  XRSubsystem --> ARF
  XRSubsystem --> XRI
  DeviceB --> MDeviceB
  DeviceB --> XRSDK
  
  style groupApp fill:none,stroke:none,stroke-width:0px
  style groupAppWrapper fill:none,stroke:none,stroke-width:0px
  style groupSensePlugin fill:none,stroke:none,stroke-width:0px
  style groupARF fill:none,stroke:none,stroke-width:0px
  style groupXRI fill:none,stroke:none,stroke-width:0px
  style DeviceAUnity fill:none,stroke:none,stroke-width:0px,color:#fff
  style Sense fill:none,stroke:none,stroke-width:0px,color:#fff
  style groupSenseWrapper fill:none,stroke:none,stroke-width:0px
  style XRSubsystem fill:none,stroke:none,stroke-width:0px,color
  style System fill:none,stroke:none,stroke-width:0px
  style groupSystemWrapper fill:none,stroke:none,stroke-width:0px
  style groupSensePluginExtension fill:none,stroke:none,stroke-width:0px  

  classDef EasyAR fill:#6e6ce6,stroke:#333,color:#fff
  class groupSense EasyAR
  class SensePlugin EasyAR
  class SensePluginExtension EasyAR

  classDef Device fill:#636,stroke:#333,color:#fff
  class groupDeviceAUnity Device
  class DeviceB Device
  class DeviceA Device

Dalam diagram:

  • Perangkat A termasuk dukungan ekstensi

    Dalam praktiknya, Perangkat A biasanya memiliki SDK Unity terkait, digunakan untuk berintegrasi dengan Unity XR SDK atau mengimplementasikan kemampuan render headset secara independen.

    Paket ekstensi headset Perangkat A bertanggung jawab untuk menghubungkan EasyAR Sense Unity Plugin dengan SDK Unity Perangkat A, sehingga memungkinkan EasyAR berjalan di Perangkat A. Paket dukungan ini mungkin disediakan oleh EasyAR atau oleh vendor perangkat.

  • Perangkat B termasuk dukungan bawaan

    Dalam praktiknya, Perangkat B mungkin memiliki atau tidak memiliki SDK Unity terkait, tergantung pada implementasi vendor perangkat. Misalnya, Apple Vision Pro tidak memiliki SDK Unity terkait, sedangkan XREAL memilikinya.

Headset dengan dukungan bawaan dan ekstensi keduanya mendukung penggunaan kamera khusus.

Penting

Saat menggunakan produk percobaan (lisensi Personal, lisensi XR Trial, atau layanan Mega Trial, dll.) pada kamera kustom atau headset, EasyAR Sense akan berhenti merespons setelah 100 detik (pengguna Mega dapat menyesuaikan durasi melalui EasyAR Business setelah persetujuan) setiap kali dimulai. Versi berbayar dari EasyAR Sense dan layanan EasyAR Mega berbayar tidak memiliki batasan ini.

Di Unity, rendering kamera virtual, matriks proyeksi, transform, dan sebagainya tidak dikendalikan oleh EasyAR. Biasanya ini dikendalikan oleh SDK perangkat atau Unity XR SDK. Fungsi bawaan perangkat, seperti pengenalan gestur, pelacakan mata, dan sebagainya, tetap disediakan oleh perangkat dan SDK-nya. Saat digunakan, biasanya perlu menggunakan EasyAR dan SDK perangkat secara bersamaan.

Langkah selanjutnya