手のジェスチャーによる新たなゲーム体験への試み①
プレイヤーがスマホ画面の前でジェスチャーを行うことによってゲームを操作できないか、という試みについての記事の第1弾です。
現在発売されているVRヘッドセットの多くにハンドトラッキング機能が導入されていることで、ますます未来が身近なものになりましたね。
長らく「いかにも未来っぽいシーン」の定番として引き合いに出され続けてきた「マイノリティーリポート」の空間上のディスプレイを手のジェスチャーで操作するあの技術が、一歩一歩現実に近づいてきているようです。
現在弊社が開発しているフィットネスゲーム"Joggle"では、プレイヤーがスマホの前でその場ジョギングを行うことによってキャラクターを動かすという先進的な技術を導入しています。
ただ走るだけではなく、手のジェスチャーもゲームに導入してみたいというアイデアが多く寄せられたため、現在そのための技術検証を行なっています。
MediaPipeによる手のトラッキング
スマホのカメラによって手の動きを認識させる技術は既に確立されており、アバターアプリなどで、ユーザーの手振りをそのままアバターの動きに反映させる技術として導入が始まっています。
今回の技術検証では、すでに導入実績の多いMediaPipeを使用してみました。
下記がその動画です。期待通り、かなりの精度で手の構造を認識することに成功しています。
ジェスチャーを認識する
続いて、手の構造からジェスチャーを認識させる検証です。
先ほどと同じくMediaPipeのGesture Recognizerを使用してみました。
下記の動画がその検証結果です。
かなりの精度でジェスチャーを認識できることが確認できました。
人差し指だけを突き立てると"PointingUp"、二本指では"Victory"と正しく分類してくれています。
まとめ
最初の手の構造をトラッキングする検証では、かなりの精度で構造を正しく認識できていました。
ただ、動画をご覧頂いても分かる通り、認識された手の動きには細かいノイズが含まれています。これをそのままアバターの手の動きに反映させてしまうと、アバターの手が震え続けてしまいます。
また、そのノイズを除去した後も、ユーザーの手の各関節の動きを1体1でそのままアバターの手に適用してしまうと、指が手のひらを突き抜けてしまったり、不自然な動作が発生してしまいます。
とは言え、この辺りの問題は職人技で上手いこと補正していくことで解決可能と言えそうです。
少なくとも、数年前の時点での同様の技術からは認識精度が飛躍的に進歩しており、用途によっては実用段階に達しているという印象です。
一方、ジェスチャー認識は、ほとんどそのままでも何かしらの使い道がありそうです。
特に我々が開発しているジョグルでは、プレイヤーは基本的にスマホをスタンドに立てて、画面に指を触れずにプレイします。
現状では、プレイを中断する時は、普通のゲームと同じく画面左上のメニューを指でタップする必要があります。
基本的に画面に触れないというこのゲームの特性上、このような当たり前の動作でもわずかなストレスを感じます。
そのため、例えば特定のジェスチャーをプレイの一時停止や再開に割り当てるというようなアイデアは、比較的実現性が高く、ユーザー体験の向上にも寄与すると思われました。
まだ検証は始まったばかりですので、今後も進捗があれば随時記事にしていこうと思います。