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> Library "]
space
space
DeviceB["Device B<br> Library "]
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.