ARクラウドアプリ開発ならではの難しさとそこからの学び
今年の4月28 ~ 29日にかけて、神戸市にて開催されたクロスメディアイベント「078Kobe」にて、ARクラウドを用いたまちづくりアプリ「AR City」を展示しました。
この開発を通して、ARアプリの開発をより効率的にする方法やARクラウドならではの開発の難しさなど多くの学びが得られたので、今回はそれら学びをご紹介しようと思います。
内容としては技術的な点というよりもディレクター的な観点からのARクラウドアプリ開発の設計や進め方に近い話になります。
また、この内容は6月にDMM.comで開催されたxR Tech Tokyoでの発表内容のなかで1番反響のあった部分をブログ形式にしてご紹介しています。
AR Cityとは
AR Cityは「ARクラウドを用いてみんなで作る2030年の神戸」をテーマにして、078Kobeで展示を目的として作られたARクラウドのデモアプリです。
078Kobeに来場された神戸市民の人たちがARクラウドを用いて、複数人で共同で理想の神戸の街を表現することができます。
当日の展示での様子や、そもそもなぜARクラウドを用いたまちづくりアプリケーションを作ったのかなどについては別のブログにて記載してありますので、そちらを御覧ください!
AR Cityの開発で得たARクラウドアプリならではの3つの学び
このアプリケーションは冒頭でも説明したように「ARクラウド」という技術を使って、複数人で同時にAR空間内でインタラクションできるように開発しました。
開発の過程で何度もユーザーテストを重ねて、機能を改善していくうちに、我々はARクラウドアプリの開発が、従来までのARアプリの開発と大きく異なる点があることに気づきました。
これらの気付きからどのようにアプリケーションを改善し、そこから何を学んだのかを3つご紹介したいと思います。
学び1: コンテンツの進行はハンドルし、同期してあげる
1番最初の学びはARクラウドならではのコンテンツの進行に関する学びです。
当初AR Cityは各体験者にシーンの遷移を任せて、進行を行う想定でいました。
しかし、今回のAR Cityはイベントの来場者を想定して、老若男女さまざまな方にユーザーテストを行ったところ、技術リテラシーにばらつきがあるため、コンテンツの進行がスムーズにいかないことが判明しました。
そこで今度は体験者にシーンの遷移を任せずにこちらで一括管理してシーンの遷移を同期したところ、みんなが同じものを一緒にみるため、一斉に歓声があがったり、複数人でプレイしていて隣の人のiPadを覗き込んだりするため、より体験者間でコミュニケーションが生まれ、満足度が上がることがわかりました。
このようにARクラウドを用いて、複数人が同時に体験をする場合にはコンテンツの進行が全員で同期されていることが重要だということがわかりました。
そのため今回我々は 「体験者にはシーン操作を一切させない」という選択をしました。
実際のAR Cityでの実現方法としては、体験者が使用する体験端末とは別に「ファシリテーター端末」を用意しました。
体験者端末とファシリテーター端末は基本的な機能はほぼ一緒ですが、体験者側の画面にはシーン遷移関連の操作ボタンは一切表示されず、ファシリテーター側の画面にのみシーン遷移が表示されるシーンを読み込ませています。
またこの機能の出し分けも工夫しており、シーン遷移の操作用シーンはアプリにオーバーレイするようにして作っているため、ファシリテーターと体験者各々で作ることをせずに、最小工数で実装することができました。
学び2: AR空間内で誰がアクションしたのかを明示してあげる
2つ目の学びはARクラウドアプリケーションの中でのユーザーのアクションに対するフィードバックの方法です。
AR Cityでは体験者が建物を建てるために空き地をタップすると、タップされた空き地がハイライトされてタップされたことを確認することができます。
最初、この仕様を同時に体験するすべての体験者で同期させて、全て同じ色のハイライトが発生するように実装していました。
しかし、実際にチームメンバーやテスターにインタビューしてみたところ、「なぜか自分がタップしていないのに、空き地が反応してしまった」と感じたり、自分がどこをタップしたのか混同してしまうことがわかりました。
これまでのARはAR空間が他人と共有されていない、すなわちAR空間に他人という存在が介在していなかったのに対して、ARクラウドアプリケーションでは同時に複数人で体験できるため、AR空間に他人が介在します。
そのため、ユーザーのアクションをフィードバックしたり、可視化してあげる際に、それが自分のアクションなのか、他人のアクションなのかをきちんと区別して表示してあげることが大事になります。
AR Cityでは結果的に他の人がタップした場所に関しては色を変えたハイライトを表示してあげることでアクションに差異をつけてユーザーがアクションの主体を区別できるようにしました。
一見、些細で当たり前のことのようにも思われますが、これまでARが一人で体験することが当たり前であったため、そのような工夫が抜け落ちてしまいがちになります。
ARクラウドアプリケーションを開発する際に、AR体験を共有するために基本的には同じARシーンを同期・表示しつつ、アクションの主体を体験者が区別できるようにわざと差異を出してあげることも重要です。
学び3: ARクラウドアプリの実機デバッグの難しさ
最後の学びはシンプルにARクラウドアプリの実機デバッグの難しさです。
ARクラウドアプリでは基本的に複数人が同時に体験することを前提にしているため、デバッグで本番と同じ環境を再現しようとしたとき複数人で同時に端末を持って体験する必要があります。
しかし、基本的に開発中はエンジニアは自分の開発したものをチェックする際に、実機デバッグは1人でやることが多いと思います。
始めの内は周りの人に手伝ってもらったりしやすいのですが、段々と開発が佳境になると周りに頼みづらくなって、結果1人でなんとかしようとするようなことが起こります。
例えば下の写真は1人でデバッグしようとしたエンジニアが編み出したiPad Pro二台持ちデバッグの様子です(笑)
しかし今回は5~10名の体験者が同時に体験するため、1人だとどうしてもデバッグしきれない部分がでてきてしまいます。
AR Cityでも二台でデバッグしたら何も問題なかったのに、五台でデバッグしたらバグが発生してしまうことに気づくことなどもありました。
ここで得た教訓はできるだけ複数人でデバッグができるような環境をチームのリーダーやマネージャーが作ることが大事ということでした。
例えば週次でチームや他のメンバーが全員手を止めて、同時に体験する時間を必ず設けたり、デバッグの協力を仰ぎやすい空気を作るなどなど...
とにかく「複数人で実機でデバッグできる」環境を作ってあげることが大事だと思います。
・・・
以上がAR Cityの開発を通して得たARクラウドアプリの開発ならではの学びでした。
これからARクラウドアプリを開発したい方々の糧に少しでもなれば幸いです。
また弊社では今後も引き続きARクラウド技術を活用したアプリやデモの開発を一緒に手伝ってくれるエンジニア、デザイナー、ディレクターの方を募集中です。
ぜひ少しでもARクラウドアプリの開発にご興味ある方はTwitterのDMか、会社サイトのフォームからご連絡ください。
この記事が気に入ったらサポートをしてみませんか?