EasyAR のヘッドセットと glasses のサポート
EasyAR SDK は強力なクロスプラットフォーム AR 機能を提供し、その設計思想は新しい spatial computing デバイスである headset にも適しています。この記事では、EasyAR が headset デバイスをどのようにサポートするか、また開発者がこれらの機能を使って immersive experience を構築する方法を説明します。
用語の説明
この文書でいう "headset" または "Headset" は、頭に装着し、immersive または see-through のインタラクションをサポートするタイプのコンピューティングデバイスを指します。これらのデバイスは、ユーザーの目の前に virtual content を表示し、augmented reality (AR) や mixed reality (MR) の体験を可能にします。これには次のものが含まれます。
- Optical See-Through, OST Headset: 半透明レンズ越しに現実世界を直接見ることができます。
- Video See-Through, VST Headset: camera で現実世界を取得し、video stream として表示します。 一般に headset は AR glasses、MR glasses、または VR helmet とも呼ばれます。名称は vendor やデバイス種別によって異なりますが、この記事ではこの種のデバイスを一貫して "headset" と呼びます。
headset の基本動作原理
EasyAR が headset をどのようにサポートするかを理解するには、まず headset デバイスの基本的な動作フローを把握する必要があります。
- 環境認識: 複数の内蔵 camera、depth sensor(iToF など)、inertial measurement unit (IMU) により、周囲環境の幾何構造、光条件、物体表面をリアルタイムに把握します。
- spatial computing: センサーデータに基づき、SLAM system がユーザーの 6DoF pose(位置 + 向き)をリアルタイムで追跡します。
- コンテンツの rendering と表示: デバイス pose に応じて 3D content(モデルやエフェクトなど)を render し、画面に投影します。VR mode では純粋な virtual image のみを表示し、AR/MR mode では virtual image を現実環境(VST camera image または OST see-through background)と合成します。
- インタラクション system: ユーザーの指示を受け取り、controller、gesture recognition、音声、eye tracking などで応答します。
EasyAR による headset サポートの原理
EasyAR は headset の native spatial tracking や rendering pipeline を置き換えるのではなく、それらと協調して動作する "spatial computing enhancer" です。専門的な AR algorithm engine として、さまざまな AR シナリオに対する spatial perception と computing capabilities を提供し、デバイス本体のシステムと効率よく連携します。
| Scope of Responsibility | Role Division |
|---|---|
| 6DOF head tracking、display rendering、basic interaction など | headset の native SDK/runtime |
| image/object recognition や tracking、large-scale spatial positioning などの高度な認識機能 | EasyAR SDK |
EasyAR SDK は、image/object recognition、sparse reconstruction、dense reconstruction、large-scale spatial positioning など、世界を理解するための AR コア機能を提供します。これは、世界を「理解」し、headset アプリケーションに virtual content をどこに置くべきかを知らせる役割です。
EasyAR SDK は、通常 Unity や Unreal などの headset アプリ開発フレームワークに plugin または library として統合されます。デバイスシステムから生のデータストリームを受け取り、処理・計算したうえで、デバイスの spatial coordinate system に対する pose matrix を出力します。最終的には、headset の rendering pipeline が virtual object を正しい位置に描画します。
サポート状況と実装方法
EasyAR は主要な headset 開発 platform を包括的にサポートしており、主に次の 2 つの方法で実装されます。
- Unity/Unreal Engine 経由: これが最も一般的で推奨される方法です。headset vendor は通常、専用の Unity/Unreal plugin や XR SDK を提供しています。EasyAR はそれらの SDK にシームレスに統合できます。
- Native platform 経由: 高い性能が必要な場合や特定の native 開発が必要な場合は、EasyAR の native interface を C++、Java、Objective-C で利用できます。通常は、デバイスの低レベルデータとの interface docking を開発者自身で行う必要があります。
EasyAR は Unity を通じて、すでに複数の主要 headset platform でテストと検証を行っています。現在サポートが確認されているデバイスは次のとおりです。
| ヘッドセットデバイスモデル | Vendor SDK and version requirement | System and firmware version requirement |
|---|---|---|
| Apple Vision Pro | ARKit in visionOS | visionOS 2 以降 |
| PICO 4 Ultra1 | PICO Unity Integration SDK 3.4.0 以降 | ベンダー SDK がサポート対象として宣言するバージョン2 |
| PICO Space Pro1 | PICO Unity Integration SDK 3.4.0 以降 | ベンダー SDK がサポート対象として宣言するバージョン2 |
| Meta Quest 3/3S3 | Meta MRUK (Mixed Reality Utility Kit) 201 以降 | ベンダー SDK がサポート対象として宣言するバージョン2 |
| Rokid Max Pro (Rokid AR Studio or other officially supported Rokid usage methods) |
Rokid Unity OpenXR Plugin 3.0.3 以降 | ベンダー SDK がサポート対象として宣言するバージョン2 |
| XREAL Air2 Ultra | XREAL SDK 3.1 以降 | ベンダー SDK がサポート対象として宣言するバージョン2 |
| Xrany X1 | Xrany Yuanni SDK | ベンダー SDK がサポート対象として宣言するバージョン2 |
注記
Rokid Max Pro は Rokid Unity OpenXR Plugin を通じて Rokid UXR 3 をサポートできますが、特に cross-device 利用では XR Interaction Toolkit の使用が推奨されます。
重要
Apple Vision Pro と XREAL の両方に、利用にはそれぞれの enterprise authorization が必要です。ご不明な点があれば営業までお問い合わせください。
- Apple Vision Pro の interface authorization 制限により、Apple enterprise API license を持つデバイスのみサポートされます。
- XREAL の interface authorization 制限により、enterprise authorization を持つデバイスのみサポートされます。
上記に含まれない他社製 headset デバイスについては、EasyAR は custom camera のような拡張アクセス方法を提供しています。接続については Create an EasyAR Headset Extension Package を参照し、統合を自力で完了できます。
これは通常、次の手順を含みます。
- デバイス開発権限を取得する: 対象 headset の developer account と SDK documentation を申請します。
- センサーデータストリームを取得する: デバイス SDK から camera images(video frames)や camera parameters など必要なデータを取得します。
- EasyAR API を呼び出す: EasyAR の low-level API を使って、取得した sensor data を EasyAR
FrameSourceに渡して処理します。 - 計算結果を取得して適用する: EasyAR engine から計算結果(camera pose)を取得し、3D rendering engine に適用します。
このプロセスを支援するために、詳細な開発ガイドと sample code を用意しています。統合作業中に問題が発生した場合は、developer community で技術サポートをご利用ください。
利用可能な主要機能
headset デバイスでは、EasyAR の機能マトリクスを最大限に活用して、豊かな spatial application を構築できます。
- Planar Image Tracking: 事前に登録した画像を認識・追跡し、その上に動的な動画や 3D モデルを重ねます。
- 3D Object Tracking: 玩具や製品箱のような事前定義された 3D モデルを認識・追跡し、virtual content と相互作用させます。
- Sparse Spatial Map: 周囲環境をスキャンして 3D visual map を生成し、visual positioning と tracking を提供します。生成したマップは保存したり、複数デバイス間でリアルタイム共有したりできます。
- Dense Spatial Map: 環境をスキャンして dense point cloud map と mesh model (Mesh) を生成し、virtual object と real object の physical occlusion を実現して、没入感を大きく高めます。
- Cloud Image Recognition: EasyAR の cloud database に接続して大量の画像を認識・管理でき、展示や教育などのシナリオに適しています。
- Mega Large-Scale Spatial Positioning: 都市規模の spatial computing solution で、EasyAR の cloud positioning service に接続し、安定・高速・高精度な positioning と tracking を実現して、AR 体験の適用範囲を大きく広げます。
プラットフォーム別ガイド
特定 platform ですぐに始められるように、詳細な multi-platform integration guides を用意しています。下のタブをクリックして、対象 platform の quick-start tutorial を確認してください。
- Introduction
- Using Headset Samples
- Enabling Headset Support
- Project Configuration
- Create an EasyAR Headset Extension Package
-
EasyAR Sense Unity Plugin PICO Extension 4000.1 以降 + EasyAR Sense Unity Plugin 4003.1 以降を使用する必要があります。以前のバージョンは PICO 4 Ultra Enterprise デバイスのみをサポートし、PICO の enterprise interface authorization が必要です。↩↩
-
システムおよびファームウェアの互換性はベンダーが管理します。EasyAR はベンダー SDK への互換性サポートのみを提供します。↩↩↩↩↩↩
-
EasyAR Sense Unity Plugin 4003.1.1 以降が必要です。↩