![見出し画像](https://assets.st-note.com/production/uploads/images/81368534/rectangle_large_type_2_fba9da3b22164d733e6be0bf726997c7.jpeg?width=1200)
手の動きでモンスターボール投げ! 1
これまで ToF AR を使って「太鼓の達人」や「スト5」を操作するシステムを作ってきました。今回は「ポケモンGo」を題材にして
手の動きでモンスターボール投げ!
に挑戦します。さらに、屋外で遊べるように
PC を経由せずスマホだけで完結するシステム構成
にしたいと思います。
動作イメージ動画
手の動き(ハンドトラッキング)で
— hiehie (@hiehie1004) June 25, 2022
モンスターボールを投げるシステムの開発に挑戦中。
(動画は動作イメージです)#ポケモンGO #pokemongo #ToFAR pic.twitter.com/INyFZpltuw
Android のアプリ分割表示機能でポケモンGOと認識アプリを同時起動してます。↑の動画ではフロント ToF を使っていますが、フロントに ToF カメラが搭載されている端末は少ないので、実際にはリア側を使うシステムにしたいと思います。
システム設計
今回の構成は以下のようになります。
(1):ToF AR が入った Android アプリで手認識
開発:Unity
(2):(1) から信号受信しスワイプ操作を実行するスマホ上のプログラム
開発:Android Studio
(3):ポケモンGo
外部プログラム (2) からスワイプ操作を実行するため Android を使います。Root 端末は必要なく、普通の非 Root 端末で動作します。(iOS は不可)
ずいぶん前(6年前…)に自動でモンスターボールを投げるアプリを作ったことがあるので、技術的に可能だと思います。↓
この「スマホ操作を発生させる (2)」は通常のスマホアプリでは実現できません。Google Play からダウンロードしたスマホアプリが勝手にスマホを操作できてしまうと乗っ取られたりする可能性があって危ないですよね。
実現するには ADB.exe という Android アプリ開発者向けの PC プログラムを使います。これはアプリのテストを自動化する際などに使われるものです。スマホと PC を接続して ADB.exe を使って (2) を起動し、その後は接続解除しても問題無いので屋外で使えるようになります。
「ポケモンGO (3)」と「手認識するアプリ (1)」を分割起動し、(1) から「スマホ操作プログラム (2)」へ信号を送り、(2) がスマホ操作を実行することでポケモンGO上でモンスターボールを投げる、という仕組みになります。
開発は次回の記事から始めます。(2) のプログラム動作の検証からやっていきたいと思います。
↓ へ続く。