CEDEC 2011レポート

セガ三宅氏、「RISE OF NIGHTMARES」の「Kinect」開発フローを解説
フリーローミング型ゲームにおけるジェスチャー認識の実装


9月6~8日 開催

会場:パシフィコ横浜


 9月6日からパシフィコ横浜にて、ゲーム開発者向けカンファレンス「CEDEC 2011」が開催されている。本記事では、「Kinect専用フリーローミング型ゲームを題材に、ジェスチャ認識をゲームに取り入れる時に考えること」と題したセッションについてお送りする。

 登壇したのは、株式会社セガ第三CS研究開発部プログラマーの三宅俊輔氏。自身が開発に携わった、9月8日に発売される同社のXbox 360「Kinect」専用体感ホラーアドベンチャー「RISE OF NIGHTMARES(ライズ オブ ナイトメア)」を題材に、「Kinect」のジェスチャー認識をゲームに取り入れた事例について、どう試行錯誤し、どう改善したかを、実例を交えながら講演した。




■ ジェスチャー認識をデータ化して作業効率を改善

「RISE OF NIGHTMARES」のTシャツを着て講演するセガの三宅俊輔氏

 「RISE OF NIGHTMARES」は、「Kinect」を使ったジェスチャー動作で古い屋敷や洞窟などを進んでいく1人称視点のホラーアドベンチャー。本作では、足を1歩前に出して前進、1歩下げれば後退、体を捻れば方向転換といった体の動作で操作する。この他にも、パンチやキックを繰り出したり、ドアを開けるなどのギミック操作、チェーンソーなどの武器を持って襲い来るゾンビと戦うという動作もある。

 三宅氏は、「RISE OF NIGHTMARES」で「Kinect」のジェスチャー認識の開発を担当したプログラマー。三宅氏は今回初めて「Kinect」に触れたそうで、開発も手探りで進められた。ディレクターから「パンチをする」というジェスチャーの依頼が来れば、自らが「Kinect」の前に立ち、デバッグしつつ推測で実装、誤認識があればまた「Kinect」の前に立つという作業を繰り返していて、原因究明の点で非常に効率が悪かったという。

 さらに大きな問題は、「自分のジェスチャーが正しく認識されても、他人が正しく認識されるわけではないこと」だったという。三宅氏によれば、「Kinect」から得られる骨格情報と深度情報を使って本作が制作されているが、人によって骨格や動きの癖などが変わってくるため、様々なタイプのプレーヤーを試さないと認識精度が上げられない。「100人でジェスチャーの認識を試しても、100人が同じ骨格のタイプだったら全く意味がない」と三宅氏は語った。

 ある1つのジェスチャーをゲームに実装するまでの手順でも改善が必要だった。同じジェスチャーで試験をするために、当初は社内から同じ人を何度も呼んでいたそうだが、その人にも仕事があるので常に居てもらうわけにはいかず、効率が悪かった。そこで、「Kinect」の認識情報をファイルとして自動保存し、人物とジェスチャーで種類を分け、手元のデータで繰り返し試験をできるようにしてからは、一気に効率があがったという。

 ジェスチャーのチェックは、単一のジェスチャーと実際のゲームプレイでの2段構えで行なわれた。実際のプレイでのチェックが必要なのは、例えば曲がり角で敵と出会ってしまった際、「方向転換」と「パンチ」を同時に行なうような包括的なジェスチャーが正しく認識されるかどうかを確認するためだ。

 骨格と深度認識によって集めたデータを分析して実装した後は、上記の2段構えのチェックをする。そこで出てきた問題に対して原因究明と解決をしなければならないが、認識データが手元にあるので、丁寧かつ効率的に原因を探れる。また、認識のバランスを調整した際は、1つの修正が他の認識精度にも影響を与えたパターンが多かったという。ジェスチャーの認識は繊細なので、保存した認識情報を使って再チェックをすることが大事だそうだ。


「RISE OF NIGHTMARES」の操作は全てジェスチャーで入力する「Kinect」から得られる骨格情報と深度情報を使ってジェスチャーを認識している
三宅氏は、環境づくりを「考えておいてよかったこと」として挙げたジェスチャーの認識精度を高めるには、骨格タイプ別で試す必要があるジェスチャーをデータ化して保存することで、チェック作業を効率化した

 ただし、こういった環境を整えたとしても、想定外の問題も出るという。例えば、実際に「しゃがむ」という動作になった時、膝が痛くてしゃがめない人がいた。「これは誰でもできるだろう、と思う動作にも、それができない人がいる可能性があるので注意が必要だ」と三宅氏は話した。なお、これは足を曲げないまま頭を下げる動作も「しゃがむ」とすることで解決したそうだ。

 この他にも、「しゃがむ」という動作の際、無意識に足を1歩さげてしまい、後退と誤認識されてしまったこともあったという。こういったジェスチャー同士の衝突もあるので、人の癖や予備動作などにも気を付けなければならない。こういった事態をなるべく避けるためにも、「仕様の段階で十分な検討を重ねた方ががいい」と、三宅氏はアドバイスを送った。

想定外の問題をなるべく回避するため、仕様の段階で十分な検討をこのほか、「人はキャラクターの動きを真似しやすい」というTIPSも

(2011年9月7日)

[Reported by 安田俊亮]