自分用の覚書
Unity AR Foundationって何?ってのはこちらを読んでねというのが正解です。公式が正義。
こちらは 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 コンポーネント