A new big update is available! Try AR Foundation Remote 2.0.
⌛ Time is money! Iterate faster on your AR projects without leaving Unity Editor. Save time and sanity developing AR apps.
In simple words: AR Foundation Remote = Unity Remote + AR Foundation support.
💡 Current workflow with AR Foundation 💡
1. Make a change to your AR project.
2. Build the project and run it on a real AR device.
3. Wait for the build to complete.
4. Wait a little bit more.
5. Test your app on a real device using only Debug.Log().
🔥 Improved workflow with AR Foundation Remote 🔥
1. Setup the AR Companion app once. The setup process takes less than a few minutes.
2. Just press play! Run and debug your AR app with full access to scene hierarchy and all object properties right in the Editor!
💡 This plugin is licensed on a per-seat basis, meaning that one license is required for each developer in your team. More Info.
⚡ Features ⚡
• Precisely replicates the behavior of a real AR device in Editor.
• Extensively tested with both ARKit and ARCore.
• Plug-and-play: no additional scene setup is needed, just run your AR scene in Editor with AR Companion running (minor code change may be needed).
• Streams video from Editor to real AR device so you can see how your app looks on it without making a build (see Limitations).
• Multi-touch input remoting: stream multi-touch from AR device or simulate touch using a mouse in Editor (see Limitations).
• Test Location Services (GPS), Gyroscope, and Compass right in the Editor.
• Written in pure C# with no third-party libraries. Full source code is available.
• Connect any AR Device to Windows PC or macOS via Wi-Fi: iOS + Windows PC, Android + macOS... any variation you can imagine!
• Compatible with Wikitude SDK Expert Edition.
• Compatible with VisionLib SDK.
⚡ Supported AR subsystems ⚡
• Meshing (ARMeshManager): physical environment mesh generation, ARKit mesh classification support.
• Occlusion (AROcclusionManager): ARKit depth/stencil human segmentation, ARKit/ARCore environment occlusion (see Limitations).
• Face Tracking: face mesh, face pose, eye tracking, ARKit Blendshapes.
• Body Tracking: ARKit 2D/3D body tracking, scale estimation.
• Plane Tracking: horizontal and vertical plane detection, boundary vertices, raycast support.
• Image Tracking: supports mutable image library and replacement of image library at runtime.
• Depth Tracking (ARPointCloudManager): feature points, raycast support.
• Camera: camera background video (see Limitations), camera position and rotation, facing direction, camera configurations.
• CPU images: camera and occlusion CPU images support (see Limitations).
• Anchors (ARAnchorManager): add/remove anchors, attach anchors to detected planes.
• Session subsystem: Pause/Resume, receive Tracking State, set Tracking Mode.
• Light Estimation: Average Light Intensity, Brightness, and Color Temperature; Main Light Direction, Color, and Intensity; Exposure Duration and Offset; Ambient Spherical Harmonics.
• Raycast subsystem: perform world-based raycasts against detected planes, point clouds, and the depth map.
• Object Tracking: ARKit object detection after scanning with scanning app (see Limitations).
• ARKit World Map: full support of ARWorldMap. Serialize the current world map, deserialize the saved world map and apply it to the current session.
💡 Requirements 💡
• Stable version of Unity 2019.4 or newer.
• AR Device (iPhone with ARKit support, Android with ARCore support, etc.).
• AR Device and Unity Editor should be on the same Wi-Fi network (a wired connection is supported with an additional setup).
• Verified version of AR Foundation 3.0.1 or newer.
👉 Limitations 👈
• Please check that your AR device supports the AR feature you want to test in Editor. For example, to test Meshing in Editor, your AR device should support Meshing.
• Video streaming and occlusion textures:
- Are supported with these Editor Graphics APIs: Direct3D11, Metal, and OpenGLCore.
- The framerate is around 15-20 FPS on high-end mobile devices. You can increase the framerate by decreasing the video resolution.
- Default video resolution scale is 0.33. You can increase the resolution in the plugin's Settings, but this will result in higher latency and lower framerate.
• Touch input remoting and simulation:
- UI can respond to touch simulation and remoting only if the Game View window is focused.
- Only Input Manager is supported (UnityEngine.Input).
• ARKit Object Tracking:
- Adding a new object reference library requires a new build of the AR Companion app.
• CPU images:
- Only one XRCpuImage can be acquired at a time for each CPU image type.
- Only one XRCpuImage.ConvertAsync() conversion is supported at a time.
FAQ
Forum
Support
迅速なイテレーションは開発に不可欠です。Unity Editor は現在 AR モッキングとテストをサポートしていないため、小さな変更でも新しいビルドを作成する必要があります。そして、小さなプロジェクトであってもビルドには非常に長い時間がかかります。
しかし、ソリューションが生まれました!
AR Foundation Editor Remote は、AR セッションデータを AR 対応デバイスから Unity Editor に送信できる Editor の拡張機能です。
機能:
1. すべての AR Foundation プラットフォームをサポート。ARKit と ARCore で広範にテスト済み。
2. プラグアンドプレイ:追加のシーンの設定は不要。ARCompanion アプリが接続されている Editor で AR シーンを実行するだけ。
AR Foundation Samples のリポジトリで広範にテスト済み。次のシーンは、100% Editor でサポートされています:AllPointCloudPoints、ARKitFaceBlendShapes(追加設定が必要)、Check Support、EyeLasers、EyePoses、FaceMesh、FacePose、FeatheredPlanes、FixationPoint、ImageTracking、LightEstimation、PlaneClassification、PlaneOcclusion、SampleUXScene、Scale、SimpleAR、TogglePlaneDetection。
3. マルチタッチ入力リモート:Editor でのマルチタッチ入力をテスト、またはマウスでのタッチをシミュレート。
4. Wi-Fi または有線接続がサポートされています。
5. 純粋な C# で書かれ、サードパーティのライブラリやネイティブコードはなし。本番環境でパフォーマンスオーバーヘッドの追加なし。
サポートされている AR サブシステム:
1. フェイストラッキング:フェイスメッシュ、フェイスポーズ、アイトラッキング、ARKit BlendShapes。
2. 平面トラッキング:水平と垂直平面検出、境界頂点、レイキャストサポート。
3. 深度トラッキング:クラウドポイント、レイキャストサポート。
4. カメラサブシステム:カメラの背景(制限事項を参照)、カメラの位置と回転。
5. 画像トラッキング:実行時にミュータブル画像ライブラリと画像ライブラリの交換をサポート。
6. AR セッションのライフタイムにわたるリモートコントロール:作成/破壊/無効化、トラッキング状態の受け取り。
7. 光量推定:平均光強度、輝度、色温度。メイン光源方向、色、強度、露出時間とオフセット。環境球面調和関数。
必要条件:
1. Unity 2019.2 以降。
2. AR 機能を備えたデバイス(ARKit サポート付きの iPhone、ARCore サポート付きの Androidなど)。
3. コンピューターに Git がインストールされます。git URL から Package Manager -> Add package を介してGit パッケージをインストールできることをご確認ください。
4. サポートされている AR Foundation の最低バージョンは 3.0.1 です。
プラグインワークフロー:
1. Assets/Plugins/ARFoundationRemoteInstaller/DOCUMENTATION.txt にあるドキュメンテーションをお読みください。
2. AR デバイスで ARCompanion アプリをビルドして実行します。
3. Unity Editor を ARCompanion アプリに接続します。
4. AR プロジェクトを Editor でテストおよびデバッグします。変更のたびに新しいビルドを作成する必要はありません。(ARCompanion App の最近の変更は表示されません。ARCompanion は、AR データを送信し、Editor に戻すためにのみ使用されます)。
5. 本番環境にリリースする前に、必ず実際の AR デバイスでプロジェクトをテストしてください。
制限事項:
1. Editor 内のカメラ背景:
- プラグインはAndroid で実行する際、Editor でカメラ背景を表示するのにカスタムシェーダーを使用します。Unity Editor は Android シェーダー API をサポートしていないため、Editor で Android カメラの背景シェーダーをテストする簡単な方法はありません。
- ARCameraManager.TryAcquireLatestCpuImage() は Editor でサポートされていません。代わりに、Graphics.Blit() を使用することで、Editor 内のカメラ素材から読み込むことができます。
2. Windows 10: adb ツールを Android デバイスに接続すると Editor とデバイス間の接続が解除されるため、接続を修正するために AR Companion アプリの再構築が必要です。
フォーラムスレッド
Twitter
お問い合わせ
CHANGELOG
## [3.9.9] - 2020-07-17
### 追加
- 光量推定の環境球面調和関数サポート。
- ユニバーサルレンダーパイプラインのサポート。
### 修正
- AR カメラの背景が AR Foundation >= 4.0.2 で動作するようになりました。
## [3.9.7] - 2020-07-14
### 変更
- プラグインをインストールする前に、必要な XR プラグインの最小バージョンを確認してください。
- ドキュメンテーションに小さな変更を加えました。
## [3.9.4] - 2020-07-13
### 修正
- Android のフェイストラッキングでミラーカメラを修正。
- 4 未満の AR Foundation バージョン向けに、カメラのオートフォーカスを TRUE に設定します。
### 変更
- タッチ入力リモートをセットアップしなくても Editor でシームレスに動作するようになりました。以前は、Input = ARFoundationRemote.Input; を使用して、UnityEngine.Input: を使ったすべてのスクリプト上にこのラインを追加する必要がありました。
- フェイストラッキングパフォーマンスが改善しました。
## [3.8.9] - 2020-07-04
### 追加
- Editor カメラ背景のサポート。
- 光量推定のサポート。
## [3.7.1] - 2020-06-22
### 修正
- Editor は、Windows 上で Android ビルドを 作成した後、ARCompanion アプリに接続できません。
- アイトラッキングがサポートされていないため、Android 上のフェイストラッキングは null を投げます。
## [3.7.0] - 2020-06-22
### 追加
- ARRaycastManager のサポート。ARPlaneManager.Raycast() と ARPointCloudManager.Raycast() の代わりに使用してください。
## [3.6.2] - 2020-06-19
### 変更
- すべての送信者シーンが組み合わせられて 1 つの ARCompanion アプリになります。
### 修正
- 一部のバージョンの Unity で、コンパイルエラーを修正しました。
## [3.5.6] - 2020-06-18
### 追加
- スクリプトの追加により、シンボルが自動的に定義されるため、インストールが簡素化されました。
### 修正
- 参照画像ライブラリを Packages から移動して、Android ビルドを修正しました。
- Unity 2019.3.0 に発生したコンパイルエラーを修正しました。
### 変更
- com.unity.xr.management 依存関係を v.3.0.3 にダウングレードして、Unity 2019.2 でのシームレスなインストールをサポートします。それでも Unity 2019.3 以降では v.3.2.10 がインストールされます。
## [3.5.2] - 2020-06-17
### 追加
- ARPointCloudManager.Append メソッド修正を自動的に適用します。これにより、ARPointCloudManager.Raycast() が Editor で動作できるようになります。
### 修正
- 送信者シーンのビルドが失敗した場合、プロジェクト名とアプリ ID は元の値に復元されません。
- Unity 2019.2 のコンパイルエラーを修正しました。
## [3.5.1] - 2020-06-16
### 追加
- 画像トラッキング。
- マルチタッチ入力リモート。
### 修正
- ARSessionOrigin がゼロ位置になく、均一尺度がない場合、トラッカブルの位置は正しくありません。グローバル(顔、目、平面、ポイントクラウド)ではなくローカル位置を使用することで修正しました。
## [3.3.5] - 2020-06-05
### 追加
- ARKit ブレンドシェイプ。
## [3.2.0] - 2020-06-03
### 追加
- フェイストラッキング(フェイスメッシュ、フェイスポーズ、アイトラッキング)。
### 変更
- シーンを送信者と受信者シーンに分けます。これは AR Foundation 3.0 との後方互換性のために行われます(このバージョンではカメラに面する方向の変更はサポートされていません)。
## [3.1.3] - 2020-05-26
### 追加
- AR Foundation Editor Remote プラグインの初期バージョン。
- 平面トラッキング。
- 深度トラッキング。
フォーラムスレッド
Twitter
お問い合わせ