本記事は筆者のIAMAS(情報科学技術大学院大学)における修士研究である、自転車に乗りながら小説を読む試み「モビル文学」についての連載第三回目で、今回はARを用いた文字表示システムの開発について記述していく。
前回の自転車のハンドルにiPhoneを固定して小説を読むAR版プロトタイプの制作において体験者の身体とデバイスが密着していることが文字の視認性を向上させる必須条件であることが分かりARグラスの採用を決めた。その矢先に本研究がARグラスを販売するXREAL社の「ARコンテンツ推進プログラム」に採択されたこともあり、ARグラスとしてXREAL Lightを、ソフトウェア(AR)の起動にはiPadを利用して開発を進めている。

システム開発はゲームエンジンのUnityを中心に行い、iOSを指定してbuildしたデータをiPadで起動する段取りで進めた。iPadは自転車のハンドルに固定出来るため移動を伴いながら利用するソフトウェアの入れ物として適している上に、深度センサーとディスプレイが付いた装置として緯度経度情報をベースとした情報をリアルタイムで表示することができる。
要件定義を済ませ開発に当たって大きなキーとなったのが、下記の二点である。
・指定した位置(緯度経度)に文字情報を表示する
・逆・セカイカメラ・メソッドの開発
指定した位置(緯度経度)に文字情報を表示する
「モビル文学」では街をテーマに執筆した小説を実際の街の中に文字オブジェクトとして表示することが核となる。そのためVPS(ビジュアル ポジショニング システム)を利用し、指定した位置への文字表示を行う実装を目指した。
VPSとはカメラやビジュアルセンサーを使用して周囲の環境を認識し、特定のランドマークや目印を基にしてデバイスの正確な位置を特定する技術であり、近年では観光用のARアプリでランドマークの説明や特定の場所にご当地キャラクターを出現させるために利用されることが多い。
「モビル文学」においてはGoogleが提供するAR Core APIを利用し、Googleがストリートビューを通して蓄積したデータによって緯度経度を推定する仕組みをプログラムの中に組み込んだ。
Unity上で文字オブジェクトを表示したい緯度経度を指定し、その場所でiPadをかざすと、プログラムした情報が画面上に表示される。

緯度35.363918 経度136.637654の地点にHello Worldの文字を表示
逆・セカイカメラ・メソッドの開発
開発したアプリを起動したiPadをXREAL Lightに接続するとデバイスのカメラ情報がそのままARグラスに表示されてしまうため、二つの視界(人間の目で見た情報とデバイスのカメラ情報)がARグラスを媒介に重なり合う問題点を抱えていた。「モビル文学」では自転車に乗りながら文字を読むことを前提としており、安全を担保する観点からも視界は一つにしたい。
そのため緯度経度情報を利用したARアプリの元祖と言える「セカイカメラ」のカメラビューの上に緯度経度情報をベースとしたオブジェクトを表示する仕組みを参考に、「モビル文学」ではカメラビューの上にシェーダーを被せて真っ黒にした背景に緯度経度情報をベースとした文字オブジェクトを重ねて表示することで、文字が浮かんで見えるシステムを開発することで人間の目とデバイスが取得したカメラ情報を一致させる実装を行なった。
次回予告
来月の連載記事では今回開発したシステムを利用して実際に街の中で自転車に乗りながら小説を読む体験について記述していく。
次回もお楽しみに!