前回は、「XRとは何か?」などを解説してきました!
今回は、焦点をARに絞っていき、必要となるパッケージを解説していきたいと思っております。
Unityってそもそもなんなの??という方は、Unityについて説明している記事があるので参考にしてみてください!!
AR開発って難しいんじゃない??って思っている方もいると思いますが、全然そんなことないです!!
これから説明するパッケージを導入したら、誰でもできるようになりますので、ぜひ興味のある方は是非参考にして見てください!
ほんとに簡単に出来るんじゃろな。
学習に使った本はこちら!
Amazon Kindle Unlimited でもUnityの本はいっぱいあるんじゃ!!
- ARアプリを開発してみたい!
- ARがどんな機能からできているのか知りたい!
- ARのパッケージについて、詳しく知りたい!
Unity Package
Unityには、Packageというものが存在します!!
Packageとは、簡単にいうと開発を簡略化してくれるもので、Unityで何かを作りたいと考えている方にはほぼ必須と言っても過言ではないものです。
Pacageの詳細は、公式ページを参照していただければと思います。
パッケージには、プロジェクトのさまざまなニーズに合わせた機能が含まれています。これには、エディターと共にインストールされる Unity のコア機能や、必要に応じてインストールできるその他のパッケージが含まれます。
Unity マニュアル
これから、AR開発を始めたいという方は、非常に便利なPackageが存在しているので、紹介いたします!!
AR Kit
AR Kitとは、Appleが開発しているiOS向けのARパッケージになります。
iOS対応のARアプリを、簡単に開発することを可能にしてくれる、今回の主軸となるパッケージとなります!
iPhoneやiPadのカメラや様々なセンサーを使用することで、拡張現実を実現してくれるパッケージです。AR Kitを使うと、具体的に何ができるようになるのか解説したいと思います。
デバイストラッキング
デバイストラッキングとは、所持している端末がどの方向に向いていて、どこにあるのかをトラッキングする機能です。
ARを実装する上では、現実空間と仮想空間の位置を正確に連動させることが必要になりますが、このデバイストラッキングという機能を使うことで設定1つで簡単に実現することが可能になります!
平面検出
平面検出とは、現実世界の平面を検出することを可能にする機能です。
検出した平面に、オブジェクトを配置することも可能です。
例えば、テーブルの上に3Dオブジェクトを置きたいと思った時、平面検出でテーブルの平面を検出し、配置することで、本当にテーブルに置いてあるように見せることが可能になります!
点群検出
点群と少し聞き慣れない単語が出てきましたが、簡単にいうと平面ではなく3Dの形状を検出することを可能するという機能になります。
例えば、テーブルの上のコップの形状を、点群(座標の集まり)として検出することが可能なるのです。また、検出した点群データは保存することが可能です!
さらに、保存した点群と同じ形状のものを検出して、共通ARというような技術を実現することも可能だそうです。(触ったことがないので、後日記事にしてみようと思います!今回のアプリではあまり使用しない機能です。)
ピープルオクルージョン
ピープルオクルージョンとは、仮想空間のオブジェクトが現実世界の人の前や背後を通り過ぎるといったこと可能にする機能です。
ピープルオクルージョンを使わない場合、仮想空間のオブジェクトは常に現実世界の人の前に表示されてしまいます。しかし、この機能を使用することで現実世界の人の後ろにオブジェクトを配置することを可能にしてくれます。
例えば、下記写真の紫のオブジェクトは全て人の前にありますが、ピープルオクルージョンを使うことで人の奥にもオブジェクトを配置することが可能になるのです!
オブジェクトオクルージョン
ピープルオクルージョンと似ている通り、こちらは人以外の物にもオクルージョンを可能にしてくれる機能になります。
こちらの機能は、LiDARというセンサーが必要になってしまうので、iPhone 12 Pro、iPhone 12 Pro Max、iPad Proが必要になってしまいます。
しかし、奥行きを非常に繊細に表現してくれるので、よりARを体験感じることができると思いますので、もし対象の端末をお持ちの方は試してはいかがでしょうか。
フェイストラッキング
フェイストラッキングとは、カメラから人間の顔を検出して、その傾きや大きさ、目や鼻などのパーツの位置や大きさを検知することを可能にする機能です。
フェイストラッキングに関しては、SNOWなどの写真アプリなどを想像していただくとイメージしやすいと思います。人の顔に加工したりする場合に使用します。
これ以外にも機能は色々!!
AR Kitは、上記で説明したもの以外にも様々な機能があります!
気になる方は、ぜひ公式ページをみてみてください!!
ARKit 4では、最新のDepth APIの導入により、iPhone 12 Pro、iPhone 12 Pro Max、iPad ProのLiDARスキャナで収集された高精度な深度情報にアクセスする新しい方法が加わりました。Appleマップの高解像度データを利用するロケーションアンカーによって、iPhoneやiPadのApp上で世界の特定地点にAR体験を配置することができます。また、Apple Neural Engineとフロントカメラを備えたすべてのデバイスでフェイストラッキングが利用可能になり、より多くのユーザーが写真やビデオでARの楽しさを体験できるようになりました。
Apple Developer
AR Core
AR Kitは、AppleがiOS向けに開発していると先ほど説明しましたが、AR Coreは、Googleが開発しているAndroid向けのARパッケージになります。
機能としては、AR KitもAR Coreも大きな違いはないと認識していただいて問題ないと思います!
今回は、iOS向けのアプリを開発する予定なので説明はしませんが、気になる方は下記をみてみてはいかがでしょうか!!
ARCore is Google’s platform for building augmented reality experiences. Using different APIs, ARCore enables your phone to sense its environment, understand the world and interact with information. Some of the APIs are available across Android and iOS to enable shared AR experiences.
Google Developers
AR Foundation
最後に、AR Foundationというものを紹介したいと思います。
今回の主軸となるパッケージは「AR Kit」だと説明しましたが、実際に使用する事になるのはこの「AR Foundation」になります。
なぜかというと、AR Foundationは、Unityにより開発されているパッケージであり、AR KitとAR Coreを合わせたマルチプラットフォームに対応しているからです。
今までは、iOSのARアプリを作りたければAR Kitを使用し、AndroidのARアプリを作りたければAR Coreを使用してアプリ開発する必要がありました。
しかし、AR Foundationの登場により、iOSであろうがAndroidであろうがこれを使ってあげればどちらでも動くARアプリを開発することが可能になるというわけです!!
具体的な関係性はこちらを見ていただくのが、わかりやすいと思います。
ただし、100%のAR Kit,AR Coreの機能を使えるわけではないので、そこは少し注意が必要です。
(とはいえ、心配はいらないくらいほとんどの機能はサポートしてます!!)
まとめ
今回は、AR開発に必要なパッケージについて、説明いたしました。
iOS向けとしておりますが、AR Foundationを使って開発をしていくのでAndroidでARを開発したい方もほぼ同じ手順で開発が可能ですので、次回も見てくれると嬉しいです!
学習に使った本はこちら!
Amazon Kindle Unlimited でもUnityの本はいっぱいあるんじゃ!!
次回は、実際に開発環境を構築しようと思います。
まだ、過去の記事を見ていない方は、ぜひ見てくれると嬉しいです!