AR×機械学習ハンドトラッキングで空中を泳ぐ魚と触れ合える!「アクアリウムAR」をデモ開発した話

シェアする?

サンゴで飾られたデスク周りで泳ぐ魚たち

はじめに

皆さん初めまして!ソフトウェアエンジニアの大和田です。

AR/VR/MRといったxR系の開発に携わっています。

さて、緊急事態宣言は解除されましたが、まだまだ油断できない新型コロナウイルス。

・・・何か気分転換になるようなコンテンツをAR(拡張現実)を使って作れないか。

そこで今回は、身近な場所がどこでも癒しの水族館になる「アクアリウムAR」を作ってみました。

ただのARアプリケーションではありません。

このアプリ、ARで表示されている魚たちと触れ合えるんです!

そこで今回はこのアプリができることと、利用した技術要素についてご紹介します。

アクアリウムARの魅力

目の前の世界がアクアリウムに!

ARアプリケーションは現実の世界が舞台です。


仕事の休憩中にデスクの上で…
自宅のリビングでのんびりと…


今見ている現実の世界が癒しの水族館に生まれ変わります。

サンゴで飾られたデスク周りで泳ぐ魚たち

モバイル向けのARアプリケーションは基本的にすべての機能がスマートフォン等のモバイル端末1台で動作します。

外部センサーやPCなどは必要ないため、どこでも手軽に体験できます。

現実(リアル)の手で魚たちと触れ合える

実はアクアリウムを題材としたスマートフォン向けのアプリケーションは既にいくつか存在していますが、中にはAR表示に対応したものもあります。

しかし。
これは他のARアプリケーション全般に言えることなんですが、

さわれない…

触れない

これまでのARコンテンツでは、触ってもつっついてもそのオブジェクトには一切の影響がありませんでした。

画面をタップして操作を行うものが多いですがそれではなんだか物足りない…

今回開発したアクアリウムARでは、AR空間で泳いでいる魚たちと

”現実(リアル)の手”を使って触れ合える

というちょっと変わった機能を搭載しています。


例えば、手を近づけると魚が逃げたり、

逃げる魚たち

手を掴む動作をすると餌を撒けたり、

餌をあげる

撒いた餌に魚が寄ってきたりします。

餌をつつく魚たち

身近な場所を飾り付けて美しいアクアリウムに!

アクアリウムの魅力は魚たちだけではありません。アクアリウムARでは身の回りの平面を検出することで、サンゴ礁や水草といった環境オブジェクトを好きな場所に配置することができます。

iOS / Android 両対応

本アプリケーションはクロスプラットフォーム向けに開発を行っており、iPhoneだけでなくAndroidスマートフォンでも動作させることができます。

※PeopleOcclusion等、一部機能はiOSのみ対応

技術紹介(AR × 機械学習ハンドトラッキング)

本アプリケーションでは、大きく分けて2つの技術要素があります。

AR Foundation

アクアリウムARはUnityを使用して開発を行いましたが、このUnityでARアプリケーションを開発する際にAR Foundationを利用しています。

AR Foundationは2018年にリリースされたUnity向けのクロスプラットフォームAR開発フレームワークです。

従来のARKitやARCoreといったOS独自のAR開発フレームワークの機能を集約し、1つのプロジェクトで複数種のデバイス向けのAR開発を行うことができます。

↓↓AR Foundation公式サイト

AR Foundation は Unity プラットフォームを最大限に活用し、ARKit、ARCore、Magic Leap、HoloLens が提供する必須のコア機能を組み合わせ、あらゆる AR デバイスで機能する没入型の体験を実現します。

アクアリウムARの基本的なAR機能(平面検出、ポジショントラッキング等)はすべてAR Foundationを使用して実装しているため、iOS / Androidの両機種での動作が可能となりました。

ハンドトラッキングについて

アクアリウムARの一番の特徴である「魚と触れ合う」という機能についてですが、Googleから発表されている「Mediapipe」で作成された機械学習の推論モデルを使用しています。

アクアリウムARでは表示されませんが、内部では次の動画のようにハンドトラッキングが行われています。

機械学習の推論モデルを使うため端末スペックは必要になりますが、深度センサ―等を使わずスマートフォンのカメラ1つでハンドトラッキングを行うことができます。この検出データをもとに魚と触れ合ったり、エサを掴んだりといった動作を実現させています。

これまでハンドトラッキングはLeapMotion等の外部センサ―を接続したPCや、HoloLens、Oculus Questといった一部のデバイスでしか利用できませんでした。

機械学習の進歩によりスマートフォンだけでハンドトラッキングが利用できるようになり、誰もが体験できるインタラクティブなxRコンテンツを開発できるようになりました。

応用例

応用例として、

・触って体験できる3DCADの可視化ツール
・ハンドジェスチャーでスマホから指示を送れるプログラミング教材
・モバイルxRコンテンツ向けの空中タッチパネル型UI



などなど・・・

平面検知によりまるでそこに存在するかのような体験や、ハンドトラッキングによる仮想オブジェクトへの新たなインタラクションを活用することで、よりリアルなAR体験を実現させることができます。

また、6軸トラッキングやハンドトラッキングを組み合わせることで、自分の手をコントローラとして使えるスマートフォン向けのVR/MRコンテンツを開発することも可能です。

まとめ

今回はAR機械学習ハンドトラッキングを利用したアプリケーションの開発事例をご紹介しました。

実際に開発を行ってみて、AR Foundationを利用することにより、従来に比較してAR機能自体の実装に工数を割く必要がなくなったため、その分見た目やユーザー体験をより向上させやすくなったと感じました。

また、ハンドトラッキングを今回初めてモバイルアプリケーションに組み込んでみましたが、現実に対するARオブジェクトの存在感が格段に上がったと感じています。

今回はARの開発事例紹介ということでしたが、さらに進化したxR体験をお届けできるよう、精神誠意開発に取り組んでいきたいと思います。

当社ではこのようなAR開発のご相談を随時受け付けていたりします。まずはお気軽にご相談ください。

お問い合わせはこちらから↓↓
ネクストシステムお問い合わせ

トップへ戻る