へっぽこ技術ブログです

【AR】【Androiod】Unity AR Foundationって何? ※覚書

自分用の覚書

 

Unity AR Foundationって何?ってのはこちらを読んでねというのが正解です。公式が正義。

docs.unity3d.com

こちらは Unity 2020用のPluginバージョン4.1のページです。

古いバージョンのページを見ても英語なので楽するのは諦めましょう。というか、Chromeブラウザの翻訳機能を使っても結構読める日本語になる簡素な文章なので、僕みたいに英語に明るくない残念エンジニアにも嬉しいです。

 

 

以下は日本語訳ではありません。自分用の適当で意訳しまくり抜粋しまくりの覚書です。

■AR Foundatioとは

 Unityで使えるマルチプラットフォーム対応のAR開発機能だよ。ただし、インターフェースの提供だけなのでAR機能は以下のプラットフォームごとのパッケージも必要ね。

   Android用  : ARCore XR Plugin

   iOS用    : ARKit XR Plugin

   Magic Leap用 : Magic Leap XR Plugin

   HoloLens用  : Windows XR Plugin

 ちなみにこんなことができるよ。

   Device tracking : モノの位置と向きを検知する

   Plane detection : 平面(水平および垂直)を検出する

   Point cloud : 特徴点(特徴的な部分)の認識をする

   Light estimation : 色温度と明るさを推定する

   2D image tracking : 2次元画像をマーカーに使う

   3D object tracking : 3次元物体をマーカーに使う iOSのみ。

  ほかにも Face tracking(顔認識)とかOcclusion(深度検出)とかあるよ。詳細は公式読んでね。

 

■Platformサポート

 ARKitはたくさん使えるよ、もりもりと。ARCoreはちょっと使えないのあるよ。他はまぁこれからですかね。

AR Subsystemというプラットフォーム非依存のインタフェースで機能を使うよ。Subsystemは個別プラットフォームごとに実装がされていてこれをProviderと呼ぶよ。

 

■AR Foundationのインストール

 Package Managerから AR Foundation とプラットフォームごとのPluginをインストールしてね。

 

■用語集

用語 説明
Tracking ラッキング。カメラを移動させたときに現実世界で追跡(追随)させるAR機能
Trackable

ラッキング可能。平面などの現実世界の特徴を検出できること

Feature Point 特徴点。ARデバイスは特徴的な部分を検出して「環境マップ」を作成している
Session ARセッション。
Session Space セッション空間。ARセッションが開始された位置を原点 (0, 0, 0) とした座標系。

 

■AR Foundationの使い方

 GitHubのサンプル(https://github.com/Unity-Technologies/arfoundation-samples)を読んでね。

 

 ARアプリのSceneには「AR Session」と「AR Session Origin」を配置するよ。「AR Session Origin」の子要素には「AR Camera」が付いてるよ。デフォルトのMain Cameraはいらないよ。

 これらはHierarchyウインドウ > 「+」 > XR から作成すると楽ちんだよ。空のGameObjectに下記のコンポーネントを追加するのでもいいけどね。

 

AR Session コンポーネント

 ARアプリのSceneにはARSessionコンポーネントが1つ必要であり、これがライフサイクルを制御する。デバイスでARがサポートされているかなどをセッション状態として確認することができる。

 

AR Session Origin コンポーネント

 ARセッションの原点 (0, 0, 0) を元にして現実世界の位置とか向きなどをアプリ内の空間のものに変換してくれる。

 

AR Pose Driver コンポーネント

 

AR Camera manager コンポーネント

 

AR Camera Background コンポーネント

 

AR Input Manager コンポーネント