はじめに
僕は、都内の某私立文系大学生の1年生です。
UnityとC#でARコンテンツ開発を主として活動しており、サブでWebアプリ開発も行っています。
僕についての紹介はこちらから!
https://qiita.com/RyuseiItoh/items/80cc0f3c419b0d5a5e6b
空間を認識するAR
皆さんはAR技術って言われてもピンとこない方が多くいらっしゃると思います。
実際、僕の周りでは20人に1人知っている人がいれば良い方です。
だがしかし、ポケモンGOを知らない人はいない!ポケモンGOはNiantic社がAR技術を用いて作ったまじですごいARゲームだというのに、、、!
Apple社がつい最近VRゴーグルを発表し、VRコンテンツとXRへの認知が急速に拡大すると考えています。そこで今回は少し先の技術 - ARについて覗いてみましょう!!
ARの開発のプラットフォーム
(1)Niantic Lightship ARDK
概要:
Niantic Lightship ARDKとはNiantic社が開発したAR開発者向けキットを指します。
Unity環境下で使用することができるAR開発プラットフォームとして幅広く知られています。
機能:
(1)ARのマルチプレイ化
複数人のユーザーが参加できるようなAR体験を作成することができます!
近くにいるユーザーが同時に共通のオブジェクトにアクセスすることができ、全員で交流することができます。
(2)メッシング
画像やスマートフォンなどのLIDARで読み取った情報から3Dジオメトリを生成することができます!
3Dジオメトリは、画像や機器で読み取った情報から作った3Dモデルのようなものです。
(3)セマンティック セグメンテーション
環境を認識してそれぞれを把握し、領域ごとに区別することができるものです!
空を認識して朝の空を満天の星空にすることもできます!
〇Niantic社が公開しているARDKの動画です!
(2)Immersal
概要:
スマホのアプリを通して複数の写真を撮り、空間を認識することでサーバー上で画像解析が行われ、開発用のデータを得ることができるものです!
機能・使用方法:
自分のスマートフォンでimmersalのアプリをインストールして室内などの写真を中心を向きつつ、ぐるっと部屋を一周して各上下3枚ぐらいづつ写真を撮り、
撮った写真を開発者サイトから解析に出すとAR開発に必要なデータを得ることができます。
サムネの写真も僕が作った点群データです!!
その後開発を終え、スマホなどで現実の部屋と読み取った部屋のデータと照らし合わせ、一致すると開発時に追加したオブジェクトなどが表示されるというわけです!!
〇こちらが都市を実際に読み取って開発した動画です!!
(3)ARFoundation
概要:
Unity社がUnityの内部機能として実装しているAR開発のためのフレームワークです!
この機能を使えば簡単にARアプリが制作できます!!
機能:
(1)クロスプラットフォーム開発
ARFoundationを使用してアプリを開発すると、iOSで使用されるARkitとAndroidで使用されるARcoreのどちらにも対応しており、それぞれのOSに合わせていくつもアプリを作り直さなくてよいのがとてもすごいところです!!
(2)メッシング
前述の通り空間を認識して、現実空間を捉えることができる機能です!
AndroidのARcoreでは未対応なのが少し難点ですね!
(3)平面認識
平面(壁や床)を認識することができます!
開発時に保存した画像に対し、画像を認識するとオブジェクトを出るなどの機能をつくれば
飛び出る絵本などが作れます!!
〇Unityが出しているARFoundationの紹介動画です!!
おわりに
皆さんいつも投稿を最後まで見ていただきありがとうございます!
僕は最近Immersalでのアプリ開発を行っているのですが、ARDKを使ったときとは違い
オブジェクトの手前に移った人の抜け感がとてもよいのでお勧めです!!
大企業の事業縮小などでXR関連の部署が解散したりなどする中でも、
XRデベロッパーの需要は高いままです!
皆さんの夢を高く持ち、一緒に頑張りましょう!!