6月にAppleのARKit 3が発表されて、それが利用できるのはiOS 13からということでワクワクしながら待っておりました。(持っているなけなしのiPhoneでは怖くてベータ版をインストールできなかった)
https://developer.apple.com/jp/augmented-reality/arkit/
Frame SemanticsのpersonSegmemntationWithDepthが実際どんな感じなのか試してみたいな。
今年の1月にUnity-ARKit-Pluginを使ってでちょっとARKit遊びをしてみたけれど、

ARKit 3以降はUnity-ARKit-Pluginではなく、AndroidのARCoreも含めて全てAR Foundationから利用する形になるらしい。
AR Foundation 3.0
AR Foundationを使用すれば、Unity上でマルチプラットフォームな方法で様々なARプラットフォームを操作できます。このパッケージはUnity開発者が使用できるインターフェイスを提供しますが、AR機能自体は実装していません。ターゲットとなるデバイスでAR Foundationを使用するには、そのプラットフォーム用の別のパッケージも必要となります。(例:iOSならARKit XR Plugin、AndroidならARCore XR Plugin)
AR Foundationは、以下のコンセプトに対応したデバイスを扱うためのMonoBehaviourとAPIのセットです。
- World tracking: 物理空間上でのデバイスの位置・向きのトラッキング
- Plane detection: 水平・垂直な平面の検出
- 点群 (特徴点)
- Reference points: デバイスが追跡する任意の位置・向き
- Light estimation: 物理空間の平均色温度・明るさの推定
- Environment probes: 物理環境の特定の領域を表すキューブマップの生成
- Face tracking: 人の顔の検出・トラッキング
- Image tracking: 2D画像の検出・トラッキング
- Object tracking: 3Dオブジェクトの検出
AR Foundation 1.0から移行する場合は、移行ガイドをご覧ください。
https://blogs.unity3d.com/2019/06/06/ar-foundation-support-for-arkit-3/
AR Foundationは、今までARプラットフォームごとに別々だったUnity Pluginの、Unity側のインターフェイスを統合したようなイメージですね↓
ということで、ARKitを使うにはこちらのプラグインも必要↓
ARKit XR Plugin
ARKit XR Pluginパッケージを使えば、UnityのマルチプラットフォームXR APIを通じてARKitを利用できます。
このパッケージは、以下のXRサブシステムを実装しています:
- Session
- Camera
- Depth
- Input
- Planes
- Raycast
- ReferencePoints
- Image Tracking
- Object Tracking
- Environment Probes
- Participants
このバージョンのARKit XR Pluginは以下の機能をサポートしています:
- Device Localization
- Horizontal Plane Detection
- Vertical Plane Detection
- Point Clouds
- Pass-through Camera View
- Light Estimation
- Reference Points
- Hit Testing
- Session Management
- Image Tracking
- Object Tracking
- Environment Probes
- Participants
フェイストラッキングのサポートは、別の”ARKit Face Tracking“パッケージで利用できます。
AppleのApp Storeでは、アプリ開発者がフェイストラッキングを使用する予定がない場合に、バイナリにフェイストラッキングに関わる特定のシンボルを含むアプリを拒否します。そのため、曖昧さを回避するためにフェイストラッキングのサポートを別のパッケージに分割しました。
AR FoundationのサンプルコードはGitHubにある↓
https://github.com/Unity-Technologies/arfoundation-samples
このサンプルが動作するUnityのバージョンは2019.2以降とのことなので、とりあえずインストール。
何か、Unityにほとんど触らないままバージョンを変え続けている気がする。Unityのバージョン管理はUnity Hubでラクチンだけど。
とりあえず1から始めるBasic Setupを日本語訳したと思われる記事を参考にちょっといじってみてから↓
https://qiita.com/fushikky/items/e43a1974d0f833121804
1からやるとPlayer Settingsがちょいちょい面倒なのね。
https://qiita.com/JunSuzukiJapan/items/e7c04072ac5e83fa6595
エディタは最近お気に入りのVSCodeを使おう。WindowsでもMacでも同じ使用感なので混乱しなくていい。
UnityのScriptを書く上で便利な拡張機能はこちらを参考にインストールした↓
https://qiita.com/kuronekoieko0305/items/bb2624a77c0e19d50b47
10年前、iPhone 3GSの時代に球面のレイトレーシングが手の平サイズのデバイス上で動いて感動したけど、その頃から考えるとすごい進歩だよな。

関連記事
中学3年生が制作した短編映像作品『2045』
ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手...
Unityで360度ステレオVR動画を作る
トランスフォーマー/ロストエイジのメイキング
ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の...
ZBrush キャラクター&クリーチャー
ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...
Caffe:読みやすくて高速なディープラーニングのフレームワ...
AndroidもopenGLも初心者さ (でもJavaは知っ...
ZBrushでアヴァン・ガメラを作ってみる 歯を配置
Photoshopで作る怪獣特撮チュートリアル
MeshroomでPhotogrammetry
ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...
3Dスキャンしたテクスチャから照明を除去するUnityツール...
Python拡張モジュールのWindows用インストーラー配...
WordPress on Windows Azure
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』
Gource:バージョン管理の履歴を可視化するツール
cvui:OpenCVのための軽量GUIライブラリ
OpenCV バージョン4がリリースされた!
MythTV:Linuxでテレビの視聴・録画ができるオープン...
UnityのuGUIチュートリアル
AR (Augmented Reality)とDR (Dim...
頭蓋骨からの顔復元と進化過程の可視化
Mayaのシェーディングノードの区分
ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整
BlenderProc:Blenderで機械学習用の画像デー...
Point Cloud Utils:Pythonで3D点群・...
AmazonEC2のインスタンスをt1.microからt2....
ゴジラ(2014)のディティール制作の舞台裏
スターウォーズ エピソードVIIの予告編
ブログのデザイン変えました
3Dモデルを立体視で確認できるVRアプリを作っている
自前Shaderの件 解決しました
iPhone5S → iPhone6S
iOSデバイスのためのフィジカル・コンピューティングツールキ...
Blender 2.81でIntel Open Image ...
ZBrushのUV MasterでUV展開
オープンソースの人体モデリングツール『MakeHuman』の...
Subsurface scatteringの動画
サンプルコードにも間違いはある?
OpenCV 3.1のsfmモジュールを試す



コメント