テクノロジーだよ人間だよ

インターネットやスタートアップやテクノロジーなど

ポケモンGOのAR(拡張現実)はどうゆう仕組み?

AR(拡張現実)技術の解説

ARには2種類があります。(細かく分類すると3つ)

1.ロケーションベースAR

2.ビジョンベース(画像認識型)AR

 2ー1 ARマーカーあり

 2-2 マーカーレスAR

1の「ロケーションベース」はGPSを用いて、位置情報を使います。スマホの位置とある場所の位置が近くなった状態で、ある場所にスマホを向けるとARコンテンツが出現する。

2の「ビジョンベースAR」のうち、2-1の「ARマーカーあり」はQRコードのように何かを読み取り、その上にARコンテンツを浮かび上がらせます。 例えば次の画像。

f:id:kayaba_akihiko:20160915191903p:plain

この場合は遊戯王カードの画像がARマーカーです。あらかじめ遊戯王カードの画像をネットとかで探してきて、それに3Dモデルを紐付けてます。スマホ遊戯王カードをかざしたときに、ARコンテンツ出てくるようにしています。なので、QRコードの役割をはたす遊戯王カードがなければいくらスマホをかざしてもなにも現れません。ARマーカー式についてはこちらも参照してみてください

kayabaakihiko.hatenablog.com

2-2のマーカーレスARは、ARマーカーを必要としない(ARコンテンツを事前に何か特定の画像等に紐付ける必要がない)ARです。マーカーレスARはリアルタイムで自動的に映っているものを認識して、その地形に自然に沿うようにARコンテンツを表示します。映っているもの(画像)を認識することは、ARマーカーと同じなので、ビジョンベース(画像認識型)ARに含まれます。

www.youtube.com

 

ポケモンGOのAR

ではポケモンGOはどのタイプのARか考えていきましょう。

www.youtube.com

結論から言うと、ポケモンGOは1のロケーションベース型ARと、2-2のマーカーレスARの組み合わせだと思います。

f:id:kayaba_akihiko:20160916145008p:plain

ある位置にポケモンを紐付けておく。その位置にスマホの位置も近くなったら、地図上でポケモンを表示する。ここまでが、左の画像のロケーションベースです。

そこから、ポケモンを捕獲する段階に入ると、右の画像のようにポケモンが現れます。ポケモンはなにかQRコードのような画像から派生しているわけではありませんね。どこからともなく出現しているので、ARマーカーが存在しない、マーカーレスARだとわかります。捕獲モードでは、マーカーレスARに移行します。

f:id:kayaba_akihiko:20160915183026p:plainf:id:kayaba_akihiko:20160915183035p:plainf:id:kayaba_akihiko:20160915185157p:plain

ポケモンは必ず地面にちゃんと立ってますよね!ヒトカゲが宙に浮いてたり、ニュロモが壁にくっついてたりしません。これはマーカーレスARで地面を認識してその上に出現してるようにしてるからです。動画にも出てくるように、投げたポケモンボールもちゃんと地面にぴったり落下します。

逆に飛ぶ系のポケモンは地面から少し上に出現するようにプログラミングされているのでしょう。

f:id:kayaba_akihiko:20160915185409p:plain

スマホカメラを起動すると、たまたまその向きに映っている地面の上にポケモンが紐付けられる。なので、ある特定の位置にいるポケモンを本当に探しにいくというよりは、自分のまわりの好きなところに自分でポケモンを召喚してしまうイメージですね

 

次の動画、0分43秒くらいから見てみてください!

www.youtube.com

この動画は、ポケモンGOのようにポケモンを都合の良い位置に召喚するというよりは、まるで本当にそこにポケモンがいて見つけたかのようです。予想ですが、これはヒトカゲが、この特定の地形に沿うような形で動くように、あらかじめモーション付けしているんだと思います。Nianticがこれを実装しようと思うと、地球上の全地形に応じた無数のポケモンの動きをあらかじめ作らないといけないのです厳しいですね。将来的にはルンバみたいに、ヒトカゲが障壁を避けるようにして自律的に動くようになるのですかね。

 

ポケモンGO以前からマーカーレスARアプリはけっこうある

ちなみに今のポケモンGOのマーカーレスAR技術は、他のARアプリでもよくあります。ソニーのエクスペリアを使っている人は、ARファンというデフォルトで入っているアプリをご存知だと思います。

www.youtube.com

物体が落ちてきてちゃんとピンポイントで地面に着陸します。この動画だと分かりにくいですが、机とかでやるとちゃんと地面を認識しているということがはっきりわかります。 

同じくエクスペリアのARエフェクトというアプリはもっとすごいです。

www.youtube.com

ソニーはsmartARというマーカーレスARのライブラリを開発して持っているので、こうゆうことができるんだと思います。