ZombieAR II

開発

開発期間

  • 2017.12 – 2018.4

開発環境

  • Unity 2017 3.1
  • Unity ARKit Plugin
  • OpenCV for Unity
  • Xcode 9.3

どんなゲーム?

カメラに映った人物を認識し、そこにモンスターを出現させるガンシューティングゲームです。 人物認識にはOpenCV2.0を使用し、ARKitを使って、現実空間にモンスターを出現させています。

特徴

  • 人物を認識して、認識した場所にモンスターを出現させる。
  • 人物認識にはOpenCVのDefaultPeopleDetectorを利用。

人物認識フロー

モンスター出現イメージ

①人物認識(黄色の矩形が認識枠)認識枠のサイズから距離を推定
②モンスターを配置※
③カメラに向けて徐々に移動

※配置位置の高さを決定する目的でARKitの平面認識機能で平面を検出しています。

開発上の課題

検出可能な人物のサイズ

  • カメラ画像に映っている人物のサイズは距離に換算され、その位置にモンスターが出現する。
  • ゲームとしては面白くするには、モンスターが広い範囲で出現した方が良い。
  • そのためには、小さく映っている人物を認識できるようにする必要がある。

人物認識処理

  • 人物認識処理に時間がかかるとスムーズにゲーム画面の更新ができなくなる。
  • より小さく映った人物を認識させるには処理時間を要する。

人物認識処理時間と検出可能な人物のサイズのトレードオフ

  • スムーズにゲームができて、そこそこ小さく映った人物も認識できるようにするする必要がある。

人物認識処理時間

2つの課題があった。

・カメラ画像取得の課題

スマートフォンカメラの画像を取得する必要があったが、ARKit使用時はWebCamTexture経由でしか取得する方法しかなかった。 しかし、この方法を採用した場合、取得するカメラ画像の解像度を上げるとゲームの画像更新がスムーズにできなくなった。

・OpenCVの人物認識の課題

画像中から人物を検出するには、所定の大きさのウィンドウ枠を少しずつ移動させ、各枠ごとに人物判定を行う。そのため、画像サイズが大きくなれば処理に時間を要する。 一定間隔で画像が一瞬ですがフリーズします。
※人物認識処理をバックグラウンドで処理しても改善しない。

解決手段

カメラ画像に小さく映っている人物を認識させたいが、そのためには、認識処理に使用する画像の解像度は1024x1024以上にしなければならない。
  • カメラ画像は256x256で取得する。
  • 認識処理に与える前に画像を1024x1024に拡大する。
  • 認識処理はできるだけ粗く(ウィンドウ枠の移動サイズを大きくする)して、処理時間を短くする。
  • 1枚の画像から漏れなく人物を認識することが目的であれば、ウィンドウ枠の移動サイズは小さくすべき。
  • 今回は静止画でなく、動画から人物を認識する。カメラの位置・向きは都度変わるので、ウィンドウ枠を粗くしても実用上問題は少ないと判断した。

未解決の問題

誤検出が多い。
例:

考え得る対策

HOG検出器の学習を行う。今回はOpenCVから提供されているものをそのまま利用した。

What's new

アプリ情報サービス「アプリナビ(appnavi)」で、ZombieAR II が紹介されました。(2018-06-12)

アプリ紹介

このアプリはARでリアルな空間に出現するモンスターをシューティングするゲームです!モンスターをランダムに出現させるのではなく、画像処理技術でカメラ画像から人物を認識して、そこに3Dグラフィックスのモンスターを出現させる、今までになかったゲームなんです★

気にいらない人にカメラを向けて出現するモンスターを撃ち倒すことができるので日ごろのたまったうっぷんを晴らすのに持って来いです!

アプリ情報サービス「Appliv」で、ZombieAR II が紹介されました。(2018-06-12)

Appliv
Appliv編集部のおすすめポイント
  • カメラが人間を識別するとゾンビが出現。異色のARシューティング
  • 人の多い場所で遊ぶとゾンビ出現が止まらない。パニックホラーの気分
  • 1分モードと時間無制限。好きなモードで遊べる

アプリ情報サービス「APPLION」で、ZombieAR II が紹介されました。(2018-06-14)

APPLION
このアプリの話題とニュース
  • 20代の男性層に人気の傾向にあります。
  • 2018年6月5日(火)にiPhoneとiPad両対応のユニバーサルアプリとしてリリース!

アプリ情報サービス「CatchApp」で、ZombieAR II が紹介されました。(2018-06-16)

CatchApp
このアプリの説明

人に変装しているモンスターをこのアプリで見つけ出して撃ち倒せ!

  • モンスターが変装した人をカメラで写すとモンスターが出現します。
  • 10種類のモンスターが3Dグラフィックスで表示されます。
  • 移動スピードと強さはモンスターによってちがいます。
  • モンスターは1撃で退治できないので、何度も撃つ必要があります。
  • モンスターの位置はレーダーに表示されます。
  • 本ゲームは無料でプレーできます。

アプリ情報サービス「CatchApp」で、ZombieAR II が紹介されました。(2018-06-18)

App Sliced
このアプリの説明

Shoot monsters that attack you. Monsters appear with realistic 3D graphics in real space in AR.

  • By recognizing people, monsters will emerge and attack you.
  • Monsters appear in real space with real 3D graphics.
  • More than 10 types of monsters.
  • Speed and strength vary depending on monsters.
  • Monsters do not die at a blow.
  • The position of the monster can be checked with the radar.
  • This game is free.

プログラムについて

本アプリにご興味があり、ソースコードをご希望の方はご連絡ください。

App Storeからダウンロード

ZombieAR II はApple Storeからダウンロード可能です。