(57)【要約】【課題】遊戯者に画面内で動作を提示するとともに、遊戯者の動作が提示した動作と同じか否かを、簡単な処理により比較することができる情報処理装置を提供する。【解決手段】ディスプレイ画面にキャラクタオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置である。遊戯者により操作される実コントローラ２０Ａ、２０Ｂが設けられている。仮想三次元空間内にキャラクタオブジェクトを生成し、仮想三次元空間内に、キャラクタオブジェクトにより操作され、実コントローラ２０Ａ、２０Ｂを模倣した仮想コントローラオブジェクト２０Ａ′、２０Ｂ′を生成し、キャラクタオブジェクトをディスプレイ画面に表示させ、キャラクタオブジェクトを動作させた際の、仮想コントローラオブジェクト２０Ａ′、２０Ｂ′の仮想動作情報を演算し、実コントローラ２０Ａ、２０Ｂの動作情報と、演算された仮想コントローラオブジェクト２０Ａ′、２０Ｂ′の仮想動作情報とを比較し、実コントローラ２０Ａ、２０Ｂを操作する遊戯者の動作を評価する。【選択図】図１０
2008220400.tif 000002
【特許請求の範囲】
【請求項１】
制御手段を有し、ディスプレイ画面にオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置であって、
前記制御手段は、
仮想三次元空間内にオブジェクトを生成するオブジェクト生成手段と、
前記仮想三次元空間内に、前記オブジェクトにより操作され、前記遊戯者により操作される実コントローラを模倣した仮想コントローラオブジェクトを生成する仮想コントローラオブジェクト生成手段と、
前記オブジェクトを前記ディスプレイ画面に表示させる表示手段と、
前記オブジェクトを動作させた際の、前記仮想コントローラオブジェクトの仮想動作情報を演算する演算手段と、
前記実コントローラの動作情報と、前記演算手段により演算された前記仮想コントローラオブジェクトの仮想動作情報とを比較し、前記実コントローラを操作する前記遊戯者の動作を評価する評価手段と
を有することを特徴とする情報処理装置。
【請求項２】
制御手段を有し、ディスプレイ画面にキャラクタオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置であって、
前記制御手段は、
仮想三次元空間内にキャラクタオブジェクトを生成するキャラクタオブジェクト生成手段と、
前記仮想三次元空間内に、前記キャラクタオブジェクトにより把持される位置に付随され、前記遊戯者により操作される実コントローラを模倣した仮想コントローラオブジェクトであって、前記実コントローラが有する加速度センサを模倣した仮想加速度センサを有する仮想コントローラオブジェクトを生成する仮想コントローラオブジェクト生成手段と、
前記キャラクタオブジェクトを前記ディスプレイ画面に表示させる表示手段と、
前記キャラクタオブジェクトを動作させた際の、前記キャラクタオブジェクトに付随する前記仮想コントローラオブジェクトの前記仮想加速度センサによる仮想加速度情報を演算する演算手段と、
前記実コントローラの前記加速度センサによる加速度情報と、前記演算手段により演算された前記仮想コントローラオブジェクトの前記仮想加速度センサによる仮想加速度情報とを比較し、前記実コントローラを操作する前記遊戯者の動作を評価する評価手段と
を有することを特徴とする情報処理装置。
【請求項３】
請求項１又は２記載の情報処理装置において、
前記表示手段は、前記仮想コントローラオブジェクトを、前記ディスプレイ画面に目視可能に表示することを特徴とする情報処理装置。
【請求項４】
コンピュータを、ディスプレイ画面にオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
仮想三次元空間内にオブジェクトを生成するオブジェクト生成手段、
前記仮想三次元空間内に、前記オブジェクトにより操作され、前記遊戯者により操作される実コントローラを模倣した仮想コントローラオブジェクトを生成する仮想コントローラオブジェクト生成手段、
前記オブジェクトを前記ディスプレイ画面に表示させる表示手段、
前記オブジェクトを動作させた際の、前記仮想コントローラオブジェクトの仮想動作情報を演算する演算手段、
前記実コントローラの動作情報と、前記演算手段により演算された前記仮想コントローラオブジェクトの仮想動作情報とを比較し、前記実コントローラを操作する前記遊戯者の動作を評価する評価手段
として機能させるためのコンピュータプログラム。
【請求項５】
請求項４記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイ画面にオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置に関する。
【背景技術】
【０００２】
従来、音楽等に合わせてダンスを踊るダンスゲームにおいて、ディスプレイ画面に模範となるキャラクタの動作を表示し、それを見ながらダンスを行う遊戯者の動作を検出してダンスの評価を行うゲーム装置が知られている。
【０００３】
遊戯者の動作を検出する手段としては、床面に感圧センサを配置して遊戯者のステップを検出するものや、検出領域に設けられた赤外光を物体が横切ったか否かを検知することにより遊戯者の腕の動きを検出するものや、遊戯者の腕などの動きを検知したい部分に光反射部材を設け、光反射部材からの反射光を受光することにより腕などの動きを検出するものが知られている（特許文献１参照）。
【特許文献１】特開２００３−３２５９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これら従来技術では、床面に感圧センサを設けたり、赤外光による検出領域を設けたり、検知したい部分に光反射部材を設けたりする等、検出のための特別な部材を設ける必要があり、遊戯者の自由な動作を制限するものであった。
【０００５】
遊戯者の自由を制限することなく、遊戯者の動作を検出するものとして、加速度センサを内蔵したコントローラが発案されている。
【０００６】
しかしながら、加速度センサを内蔵したコントローラにより遊戯者の動作を検出するためには、コントローラの絶対座標を設定し、加速度センサの検出値に基づいてコントローラの相対座標を算出しなければならず、非常に複雑で高速なデータ処理が必要である。
【０００７】
また、コントローラは通常遊戯者が手に持って操作するものであるため、遊戯者の動作を画面内のキャラクタの動作で提示しても、コントローラの動きからは、脚等の遊戯者の他の部分の動きを提示した動作を比較することができない。
【０００８】
本発明の目的は、遊戯者に画面内で動作を提示するとともに、遊戯者の動作が提示した動作と同じか否かを、簡単な処理により比較することができる情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様による情報処理装置は、制御手段を有し、ディスプレイ画面にオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置であって、前記制御手段は、仮想三次元空間内にオブジェクトを生成するオブジェクト生成手段と、前記仮想三次元空間内に、前記オブジェクトにより操作され、前記遊戯者により操作される実コントローラを模倣した仮想コントローラオブジェクトを生成する仮想コントローラオブジェクト生成手段と、前記オブジェクトを前記ディスプレイ画面に表示させる表示手段と、前記オブジェクトを動作させた際の、前記仮想コントローラオブジェクトの仮想動作情報を演算する演算手段と、前記実コントローラの動作情報と、前記演算手段により演算された前記仮想コントローラオブジェクトの仮想動作情報とを比較し、前記実コントローラを操作する前記遊戯者の動作を評価する評価手段とを有することを特徴とする。
【００１０】
本発明の一態様による情報処理装置は、制御手段を有し、ディスプレイ画面にキャラクタオブジェクトの動作を表示することによって遊戯者の動作を案内する情報処理装置であって、前記制御手段は、仮想三次元空間内にキャラクタオブジェクトを生成するキャラクタオブジェクト生成手段と、前記仮想三次元空間内に、前記キャラクタオブジェクトにより把持される位置に付随され、前記遊戯者により操作される実コントローラを模倣した仮想コントローラオブジェクトであって、前記実コントローラが有する加速度センサを模倣した仮想加速度センサを有する仮想コントローラオブジェクトを生成する仮想コントローラオブジェクト生成手段と、前記キャラクタオブジェクトを前記ディスプレイ画面に表示させる表示手段と、前記キャラクタオブジェクトを動作させた際の、前記キャラクタオブジェクトに付随する前記仮想コントローラオブジェクトの前記仮想加速度センサによる仮想加速度情報を演算する演算手段と、前記実コントローラの前記加速度センサによる加速度情報と、前記演算手段により演算された前記仮想コントローラオブジェクトの前記仮想加速度センサによる仮想加速度情報とを比較し、前記実コントローラを操作する前記遊戯者の動作を評価する評価手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、仮想三次元空間内にオブジェクトを生成し、仮想三次元空間内に、オブジェクトにより操作され、遊戯者により操作される実コントローラを模倣した仮想コントローラオブジェクトを生成し、オブジェクトをディスプレイ画面に表示させ、オブジェクトを動作させた際の、仮想コントローラオブジェクトの仮想動作情報を演算し、実コントローラの動作情報と、演算された仮想コントローラオブジェクトの仮想動作情報とを比較し、実コントローラを操作する遊戯者の動作を評価するようにしたので、遊戯者に画面内で動作を提示するとともに、遊戯者の動作が提示した動作と同じか否かを、簡単な処理により比較することができる。
【発明を実施するための最良の形態】
【００１２】
［一実施形態］
本発明の一実施形態によるゲーム装置について図面を用いて説明する。
【００１３】
（ゲーム装置の外観）
本実施形態のゲーム装置１０の外観を図１に示す。本実施形態のゲーム装置１０は、テレビ台２上に設置されたテレビモニタ４に接続されて使用される。ゲーム装置１０は、ゲーム装置本体１２と、テレビモニタ４上に設置されたセンサーバー１４と、遊戯者により操作されるコントローラ２０とから構成されている。
【００１４】
ゲーム装置本体１２とテレビモニタ４とはケーブルにより接続されている。ゲーム装置本体１２とセンサーバー１４とはケーブルにより接続されている。ゲーム装置本体１２とコントローラ２０とは無線により通信可能である。
【００１５】
センサーバー１４は、テレビモニタ４に対するコントローラ２０の位置関係を検出するためのものである。センサーバー１４は細長い形状をしており、両端に５個ずつの発光素子１４ａ、１４ｂが設けられている。コントローラ２０のイメージセンサ２２により、センサーバー１４の発光素子１４ａ、１４ｂから出力する光を、テレビモニタ４と共に撮像することにより、テレビモニタ４に対するコントローラ２０の位置や傾きを検出する。センサーバー１４を用いた位置検出方法の詳細については後述する。
【００１６】
コントローラ２０は、遊戯者の例えば手により保持され自由に操作される。コントローラ１２の動きは、内蔵された３軸加速度センサ２６により検出された加速度に基づいて把握することができる。
【００１７】
コントローラ２０の操作面上には、電源ボタン２８ａ、十字ボタン２８ｂ等の各種操作ボタン２８が設けられている。
【００１８】
（ゲーム装置の構成）
本実施形態のゲーム装置１０の構成を図２に示す。
【００１９】
図２に示すように、ゲーム装置１０には、ゲームプログラムの実行やシステム全体の制御や画像表示のための座標計算等を行うＣＰＵ４０と、ＣＰＵ４０が処理を行うのに必要なプログラムやデータを格納するバッファメモリとして利用されるシステムメモリ（ＲＡＭ）４２とがバスラインにより共通接続され、バスアービタ４４に接続されている。バスアービタ４４は、ゲーム装置１０の各ブロックや外部に接続される機器とのプログラムやデータの流れを制御する。
【００２０】
ゲームプログラムやデータ（映像データや音楽データも含む）が格納されたプログラムデータ記憶装置又は記憶媒体（ゲーム用記録媒体であるＣＤ−ＲＯＭ等を駆動する光ディスクや光ディスクドライブ等も含む）４６と、ゲーム装置を起動するためのプログラムやデータが格納されているＢＯＯＴＲＯＭ４８とがバスラインを介してバスアービタ４４に接続されている。
【００２１】
表示画像を生成するためには、システムメモリ４２内に、表示するオブジェクトを構成する三次元ローカル座標データを有するポリゴンデータ（頂点データ）や、ＮＵＲＢＳ（Non Uniform Rational B-Spline）データ（曲面や制御点データ）を格納しておき、ＣＰＵやジオメトリプロセッサ（図示しない）によって、これを三次元仮想空間のワールド座標系に配置してローカル座標をワールド座標系に変換する。
【００２２】
更に、ワールド座標系に、遊戯者の操作やゲームの進行に伴って生成される視点座標を設定して、この視点から所定の視方向および画角でみた視野範囲にあるオブジェクトを、視点座標を原点とした視点座標系に変換して、この変換されたオブジェクトの座標をレンダリングプロセッサ５０に送信する。
【００２３】
レンダリングプロセッサ５０は、送られてきたオブジェクトの座標に対して、まず、光源処理などの補間処理や、グラフィックメモリ５２に格納されたテクスチャーデータをオブジェクトに貼り付けてオブジェクトの表面にディテールを施す。さらにレンダリングプロセッサ５０は、三次元の立体オブジェクトから、テレビモニタ４に表示するために２次元平面（スクリーン）にオブジェクト（ポリゴン）を投影して２次元座標データ（スクリーン座標系）に変換し、Ｚ座標の深さが浅いポリゴン即ち視点座標に近いポリゴンから優先的に表示するようにして２次元画像を生成して、これをＣＲＴや液晶表示装置等のテレビモニタ４に出力する。
【００２４】
バスアービタ４４を介して、プログラムデータ記憶装置又は記憶媒体４６から読み出した映像（ＭＯＶＩＥ）データを再生したり、プレイヤの操作やゲーム進行に応じて画像表示のための画像を生成したりするレンダリングプロセッサ５０と、そのレンダリングプロセッサ５０が画像生成を行うために必要なグラフィックデータ等を格納しておくグラフィックメモリ５２とが接続されている。レンダリングプロセッサ５０から出力される画像信号は、ビデオＤＡＣ５４によりデジタル信号からアナログ信号に変換され、テレビモニタ４により表示される。
【００２５】
バスアービタ４４を介して、プログラムデータ記憶装置又は記憶媒体４６から読み出した音楽データを再生したり、プレイヤによる操作やゲーム進行に応じて効果音や音声を生成したりするサウンドプロセッサ５６と、そのサウンドプロセッサ５６により効果音や音声を生成するために必要なサウンドデータ等を格納しておくサウンドメモリ５８とが接続されている。サウンドプロセッサ５６から出力される音声信号は、オーディオＤＡＣ６０によりデジタル信号からアナログ信号に変換され、テレビモニタ４のスピーカから出力される。
【００２６】
バスアービタ４４には、通信インターフェース６２が接続されている。通信インタフェース６２はＬＡＮアダプタ６４を介して電話回線等の外部ネットワークに接続される。ゲーム装置１２はＬＡＮアダプタ６４によりインターネットに接続され、他のゲーム装置やネットワークサーバ等との通信が可能となる。
【００２７】
なお、通信インターフェース６２及びＬＡＮアダプタ６４は電話回線を使用するものであるが、電話回線を使用するターミナルアダプタ（ＴＡ）やルータ、ケーブルテレビ回線を使用するケーブルモデム、携帯電話やＰＨＳを利用して無線通信手段、光ファイバを用いた光ファイバ通信手段等の他の通信方法を利用してもよい。
【００２８】
バスアービタ４４には、テレビモニタ４に対するコントローラ２０の位置を検出するためのセンサーバー１４が接続されている。
【００２９】
バスアービタ４４には、コントローラ２０と無線通信するための無線受信部６８が接続されている。
【００３０】
バスアービタ４４には、ペリフェラルＩ／Ｆ（インターフェース）７０が接続されている。ペリフェラルＩ／Ｆ７０を介して、様々な周辺機器を接続することができる。
【００３１】
コントローラ２０には、センサーバー１４からの光や、テレビモニタ４に表示されるゲーム画面を撮像するためのイメージセンサ２２、ゲーム装置本体１２と無線通信するための無線送信部２４、コントローラ２０の３軸方向の加速度を検出するための３軸加速度センサ２６、電源ボタン２８ａ、十字ボタン２８ｂ等の各種操作ボタン２８が設けられている。
【００３２】
なお、ゲーム装置１０は、家庭用のゲーム装置に限定されるものではなく、パーソナルコンピュータや、携帯型電子ゲーム機、携帯電話やＰＤＡ等の電子装置、アミューズメント施設やゲームカフェ等の店舗に設置されるゲーム装置等の情報処理装置でもよい。
【００３３】
（コントローラの加速度情報）
本実施形態のコントローラ２０の加速度情報の検出について図３を用いて説明する。
【００３４】
コントローラ２０に内蔵された３軸加速度センサ２６は、３軸（Ｘ軸、Ｙ軸、Ｚ軸）方向の加速度（αx, αy, αz）を測定する。重力も加速度であるので、常に３軸のいずれかに加速度が加わっている。３軸の加速度を検出することにより、コントローラ２０の重力に対する向きを検出する。
【００３５】
例えば、コントローラ２０が水平状態にあるときには、図３に示すように、Ｘ軸加速度αx＝０[Ｇ]、Ｙ軸加速度αy＝０[Ｇ]、Ｚ軸加速度αz＝１[Ｇ]となる。Ｇは“Ｇｒａｖｉｔｙ（重力）”の意である。
【００３６】
また、コントローラ２０を上向きに向けたときには、Ｘ軸加速度αx＝０[Ｇ]、Ｙ軸加速度αy＝１[Ｇ]、Ｚ軸加速度αz＝０[Ｇ]となる。
【００３７】
また、コントローラ２０を右９０度傾けたときには、Ｘ軸加速度αx＝１[Ｇ]、Ｙ軸加速度αy＝０[Ｇ]、Ｚ軸加速度αz＝１[Ｇ]となる。
【００３８】
また、コントローラ２０を自由落下させたときには、無重力状態となるので、Ｘ軸加速度αx＝０[Ｇ]、Ｙ軸加速度αy＝０[Ｇ]、Ｚ軸加速度αz＝０[Ｇ]となる。
【００３９】
コントローラ２０を振ると加速度が加わり、大きく振り回すと遠心力が加わり、Ｘ軸加速度αx、Ｙ軸加速度αy、Ｚ軸加速度αzが変化する。このときの３軸の加速度（αx, αy, αz）を検出することにより、コントローラ２０の動きを検出する。
【００４０】
なお、コントローラ２０の動作開始時の位置を基準座標とし、その後の３軸の加速度（αx, αy, αz）情報を逐次検出し、逐次検出された加速度（αx, αy, αz）情報を用いて複雑な演算を逐次行うことにより、基準座標に対するコントローラ２０の現在の位置座標を求めることができる。
【００４１】
（コントローラの位置情報）
本実施形態のコントローラ２０の位置情報の検出について図４を用いて説明する。
【００４２】
コントローラ２０の先端部にはイメージセンサ２２が設けられている。このイメージセンサ２２により、例えば、テレビモニタ４上に設置されたセンサーバー１４の発光素子１４ａ、１４ｂを撮像することにより、センサーバー１４、すなわち、テレビモニタ４に対するコントローラ２０の位置を検出する。
【００４３】
図４（ａ）〜（ｅ）は、コントローラ２０のイメージセンサ２２による撮像画像である。センサーバー１４の発光素子１４ａ、１４ｂが撮像されている。なお、センサーバー１４の両端に５個ずつの発光素子１４ａ、１４ｂが設けられているが、図４（ａ）〜（ｅ）では便宜上５個の発光素子を１個の発光素子１４ａ、１４ｂとして図示している。
【００４４】
図４（ａ）は、コントローラ２０がセンサーバー１４に向けられた基準位置にあるときのイメージセンサ２２の撮像画像である。発光素子１４ａ、１４ｂの中間位置をＸＹ面の原点Ｏとし、発光素子１４ａ、１４ｂを結ぶ線を水平な基準線とし、発光素子１４ａ、１４ｂ間の距離Ｌｏを奥行き方向（Ｚ方向）の基準とする。
【００４５】
コントローラ２０のイメージセンサ２２による撮像画像から、基準位置に対するコントローラ２０の位置、傾きを知ることができる。
【００４６】
例えば、図４（ｂ）の撮像画像は、発光素子１４ａ、１４ｂが右上方に移動し、発光素子１４ａ、１４ｂ間の距離が基準距離Ｌｏのままである。これから、コントローラ２０がＸＹ面において左下方に水平移動した座標値（Ｘ１,Ｙ１,０）に位置していることがわかる。
【００４７】
また、図４（ｃ）の撮像画像は、発光素子１４ａ、１４ｂが右上方に移動し、発光素子１４ａ、１４ｂ間の距離が基準距離Ｌｏのままであり、発光素子１４ａ、１４ｂを結ぶ線が傾いている。これから、コントローラ２０がＸＹ面において左下方に水平移動した座標値（Ｘ１,Ｙ１,０）に位置し、かつ、コントローラ２０が左方向にθ度傾いていることがわかる。
【００４８】
また、図４（ｄ）の撮像画像は、発光素子１４ａ、１４ｂが基準位置のままで、発光素子１４ａ、１４ｂ間の距離Ｌ１が基準距離Ｌｏより長くなっている。これから、コントローラ２０がセンサーバー１４に近づいて、奥行き方向（Ｚ方向）の位置が変化していることがわかる。
【００４９】
また、図４（ｅ）の撮像画像は、発光素子１４ａ、１４ｂが基準位置のままで、発光素子１４ａ、１４ｂ間の距離Ｌ２が基準距離Ｌｏより短くなっている。これから、コントローラ２０がセンサーバー１４から遠ざかり、奥行き方向（Ｚ方向）の位置が変化していることがわかる。
【００５０】
このように、コントローラ２０のイメージセンサ２２による撮像画像から、基準位置に対するコントローラ２０の位置座標（x,y,z）、傾きθ[度]を知ることができる。
【００５１】
（コントローラ検出データバッファ）
本実施形態のコントローラ検出データバッファを図５に示す。
【００５２】
本実施形態では、上述したように、コントローラ２０のイメージセンサ２２と３軸加速度センサ２６を用いて、その位置情報と加速度情報を取得することができる。
【００５３】
図５に示すコントローラ検出データバッファは、これら位置情報と加速度情報を一時的に保存する。例えば、図５のコントローラ検出データバッファでは、座標位置（Ｘ座標、Ｙ座標、Ｚ座標）（x,y,z）と、傾きθ[度]と、加速度（αx, αy, αz）を、０．５秒毎に２０秒間、蓄積する。新しい位置情報と加速度情報を取得すると、最も古い位置情報と加速度情報が削除され、常に現時点より前の２０秒間の位置情報と加速度情報を記憶している。
【００５４】
コントローラ検出データバッファの位置情報と加速度情報を用いて、コントローラ２０の動きと、お手本のキャラクタの動きとを比較し、遊戯者の動作を評価する。これらの処理の詳細については後述する。
【００５５】
（キャラクタお手本データ）
本実施形態におけるキャラクタお手本データの作成方法について図６乃至図８を用いて説明する。
【００５６】
まず、図６に示すように、仮想三次元空間内でお手本となるキャラクタの動き（ダンス）を設計する。キャラクタの表示画像を生成するために、システムメモリ４２内に、表示するオブジェクトを構成する三次元ローカル座標データを有するポリゴンデータ（頂点データ）や、ＮＵＲＢＳ（Non Uniform Rational B-Spline）データ（曲面や制御点データ）を格納しておき、ＣＰＵやジオメトリプロセッサ（図示しない）によって、これを三次元仮想空間のワールド座標系に配置し、ダンスを踊るように変化させる。設計者は、キャラクタが、例えば３分間のダンスを行うように、キャラクタの動きを自由に設計する。
【００５７】
次に、図７に示すように、キャラクタの動きの真似をする遊戯者が両手にコントローラを保持することを想定し、実コントローラ２０を模倣したオブジェクトである仮想コントローラ２０Ａ′、２０Ｂ′を、キャラクタの両手にそれぞれ保持される位置に生成する。また、キャラクタの手の形状を、仮想コントローラ２０Ａ′、２０Ｂ′を保持している形状とする。
【００５８】
仮想コントローラ２０Ａ′、２０Ｂ′は、仮想三次元空間内において、実コントローラ２０と同等の形状、同等の機能を有している。仮想コントローラ２０Ａ′、２０Ｂ′には、仮想三次元空間内の基準座標系に基づいて実コントローラ２０の３軸加速度センサ２６をエミュレートした仮想３軸加速度センサ２６′が設けられている。なお、仮想三次元空間内の基準座標系は、キャラクタの大きさや動きが遊戯者のそれとほぼ同等となるように、適宜設定すればよい。
【００５９】
次に、仮想コントローラ２０Ａ′、２０Ｂ′をキャラクタの両手に保持させた状態で、既に設計した動きをキャラクタに行わせ、各時点での仮想コントローラ２０Ａ′、２０Ｂ′の、仮想三次元空間内の基準座標系に基づく仮想３軸加速度を演算により求める。
【００６０】
各時点での、仮想コントローラ２０Ａ′、２０Ｂ′の仮想軸加速度は、仮想三次元空間の基準座標系における下方に重力Ｇが常に印加されていると仮定し、キャラクタの動きのデータに基づく仮想コントローラ２０Ａ′、２０Ｂ′の動きから、仮想３軸加速度センサ２６′によって算出することができる。すなわち、仮想３軸加速度センサ２６′は、仮想三次元空間内の基準座標系における動きのデータから仮想三次元空間内の仮想３軸加速度を演算するプログラムである。したがって、他の基準座標系にこのプログラムを用いればその座標系における加速度を演算することができる。
【００６１】
このように演算により求めた仮想コントローラ２０Ａ′、２０Ｂ′の仮想３軸加速度を、図８に示すように、キャラクタお手本データとしてプログラムデータ記憶装置または記憶媒体４６に格納する。ゲーム実行時には、プログラムデータ記憶装置または記憶媒体４６から読み出してシステムメモリ４２に格納する。
【００６２】
図８では、キャラクタの３分間（１８０秒間）の動き（ダンス）に対して、０．５秒毎に仮想コントローラ２０Ａ′、２０Ｂ′の３軸加速度のデータを格納している。
【００６３】
（ゲーム実行処理）
本実施形態のゲーム装置におけるゲーム実行処理について図９乃至図１１を用いて説明する。図９はゲーム実行処理のフローチャートであり、図１０はゲーム実行処理の説明図であり、図１１はゲーム実行処理の比較結果メモリである。
【００６４】
本実施形態のゲームは、遊戯者が、テレビモニタ２に表示されるキャラクタの動き（ダンス）を見ながら、その動きを模倣し、いかに忠実に模倣できたかを競うゲームである。
【００６５】
遊戯者の動きは、図１０に示すように、両手に実コントローラ２０Ａ、２０Ｂを保持し、これら実コントローラ２０Ａ、２０Ｂの検出データから把握する。
【００６６】
キャラクタは、図１０に示すように、仮想三次元空間内で動き、そのキャラクタの両手には仮想コントローラ２０Ａ′、２０Ｂ′が保持されているように表示される。図１０では、仮想コントローラ２０Ａ′、２０Ｂ′はテレビモニタ２に表示されているが、必要に応じて透明化し、テレビモニタ２に表示されないようにしてもよい。
【００６７】
図９のフローチャートを用いて本実施形態のゲーム実行処理を説明する。
【００６８】
まず、ゲームスタートすると（ステップＳ１０）、キャラクタのお手本動作を開始し（ステップＳ１１）、テレビモニタ２にキャラクタのお手本の動作（ダンス）を表示する。
【００６９】
次に、遊戯者が保持している実コントローラ２０Ａ、２０Ｂからデータを検出する（ステップＳ１２）。実コントローラ２０Ａ、２０Ｂのそれぞれについて、座標位置（Ｘ座標、Ｙ座標、Ｚ座標）（x,y,z）、傾きθ[度]、加速度（αx, αy, αz）を、例えば０．５秒毎に検出し（ステップＳ１２）、検出データを、図５に示すコントローラ検出データバッファに逐次保存する（ステップＳ１３）。
【００７０】
次に、図５に示すコントローラ検出データバッファに保存された検出データと、図８に示すキャラクタお手本データとを比較し（ステップＳ１４）、各検出データについて類似度を演算する（ステップＳ１５）。
【００７１】
なお、お手本データは、ＣＰＵ４０の処理速度が十分であれば、上記のように予め記憶媒体４６に格納しておかなくとも、ステップＳ１１においてキャラクタのお手本の動作を表示しながら、このお手本動作のリアルタイムデータを基に、仮想３軸加速度センサ２６′を用いて仮想三次元空間内の仮想３軸加速度を逐次演算してシステムメモリ４２に格納するようにしても良い。
【００７２】
各時点において、コントローラ検出データバッファに保存された所定時間、例えば直近５秒間の検出データと、キャラクタお手本データの所定期間、例えば３秒から８秒の５秒間のデータとを比較し、その時点（８秒経過時点）の類似度を演算し、比較結果メモリに格納する。
【００７３】
図１１は比較結果メモリの具体例を示すものである。キャラクタの３分間（１８０秒間）の動き（ダンス）について、１秒毎に求めた３軸加速度の類似度を格納する。
【００７４】
例えば、図１１の比較結果メモリでは、８秒経過時点の３軸加速度の類似度＝０．７０となっている。
【００７５】
なお、類似度として、３軸加速度の変換点に注目するようにしてもよい。図１１中において変換点を矢印にて示す。すなわち、右移動から左移動、上移動から下移動等というように、移動方向が変化した時点を重点的に比較する。このようにすることで、例えば大人と子供などでは腕の長さが異なり同じように腕を振る動作であっても手先の加速度が異なるような場合に、画面内で提示した動作と遊戯者の動作との比較を、遊戯者の体型に関わらず同様に行うことができる。
【００７６】
次に、キャラクタお手本動作が終了したか否かを判断する（ステップＳ１６）。キャラクタお手本動作が終了していなければ、ステップＳ１２に戻り、ステップＳ１２〜Ｓ１５の処理を繰り返す。
【００７７】
キャラクタお手本動作が終了したと判断されると、図１１の比較結果メモリに基づいて総合類似度を演算する（ステップＳ１７）。
【００７８】
総合類似度の求め方としては様々な求め方がある。
【００７９】
例えば、図１１の比較結果メモリに格納された各類似度の平均を総合類似度としてもよい。また、お手本動作開始時には遊戯者の動作が安定しないので、お手本動作開始時から一定期間の類似度を考慮せずに総合類似度を求めてもよい。また、逆に、お手本動作開始時には遊戯者の動作を重視して総合類似度を求めてもよい。また、経過時間に応じて重み付けをして総合類似度を求めるようにしてもよい。
【００８０】
また、実コントローラ２０Ａ、２０Ｂと仮想コントローラ２０Ａ′、２０Ｂ′の３軸加速度の類似度とは別に、所定のタイミング（例えば、ダンス中における決めポーズ等の一時停止状態）における実コントローラ２０Ａ、２０Ｂの位置情報を判定して、総合類似度に加味するようにしてもよい。
【００８１】
次に、ステップＳ１７で演算して求めた総合類似度に基づいて、遊戯者の動作を評価する（ステップＳ１８）。例えば、総合類似度を所定のしきい値と比較して遊戯者の動作を評価する。例えば、総合類似度が０．８以上であれば「優」と評価し、総合類似度が０．７以上であれば「良」と評価し、総合類似度が０．６以上であれば「可」と評価し、総合類似度が０．６未満であれば「不可」と評価する。
【００８２】
なお、本発明では、実空間における遊戯者の加速度情報と、仮想三次元空間内における画面内のキャラクタの仮想加速度情報を用いて、遊戯者の動作とキャラクタのお手本動作との類似を判断している。通常、足の動きや頭の動きを位置情報として把握するには、それらの動作を検出する装置を足や頭に装着しなければならないが、本発明では遊戯者が足を動かしたり頭を動かしたりすると、手に持っているコントローラがそれらの動きに影響された動きをし、その加速度情報から間接的に遊戯者の足の動きや頭の動きを検出する。
【００８３】
［変形実施形態］
本発明は上記実施形態に限らず種々の変形が可能である。
【００８４】
例えば、上記実施形態では、遊戯者が把持する実コントローラを模倣した仮想コントローラを生成し、その仮想コントローラを仮想三次元空間内のキャラクタが把持する位置に設けるようにしたが、遊戯者が実空間内で蹴るボールに３軸加速度センサを設け、仮想三次元空間内でキャラクタが蹴るボールのオブジェクトに仮想３軸加速度センサを設けるようにしてもよい。例えば、画面内でボールのリフティングを提示し、遊戯者が同様にボールを蹴ることができたか否かを容易に判定することができる。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施形態によるゲーム装置の外観を示す図である。
【図２】本発明の一実施形態によるゲーム装置の構成を示すブロック図である。
【図３】本発明の一実施形態によるゲーム装置のコントローラの加速度情報の検出についての説明図である。
【図４】本発明の一実施形態によるゲーム装置のコントローラの位置情報の検出についての説明図である。
【図５】本発明の一実施形態によるゲーム装置におけるコントローラ検出データバッファを示す図である。
【図６】本発明の一実施形態におけるキャラクタお手本データの作成方法についての説明図（その１）である。
【図７】本発明の一実施形態におけるキャラクタお手本データの作成方法についての説明図（その２）である。
【図８】本発明の一実施形態におけるキャラクタお手本データを示す図である。
【図９】本発明の一実施形態によるゲーム装置のゲーム実行処理のフローチャートである。
【図１０】本発明の一実施形態によるゲーム装置のゲーム実行処理を説明するための図である。
【図１１】本発明の一実施形態によるゲーム装置における比較結果メモリを示す図である。
【符号の説明】
【００８６】
２…テレビ台
４…テレビモニタ
１０…ゲーム装置
１２…ゲーム装置本体
１４…センサーバー
１４ａ、１４ｂ…発光素子
２０、２０Ａ、２０Ｂ…コントローラ
２０Ａ′、２０Ｂ′…仮想コントローラ
２２…イメージセンサ
２４…無線送信部
２６…３軸加速度センサ
２８…各種操作ボタン
２８ａ…電源ボタン
２８ｂ…十字ボタン
４０…ＣＰＵ
４２…システムメモリ（ＲＡＭ）
４４…バスアービタ
４６…プログラムデータ記憶装置又は記憶媒体
４８…ＢＯＯＴＲＯＭ
５０…レンダリングプロセッサ
５２…グラフィックメモリ
５４…ビデオＤＡＣ
５６…サウンドプロセッサ
５８…サウンドメモリ
６０…オーディオＤＡＣ
６２…通信インターフェース
６４…ＬＡＮアダプタ
６８…無線受信部
７０…ペリフェラルインターフェース
【図１】
2008220400.tif 000003
【図２】
2008220400.tif 000004
【図３】
2008220400.tif 000005
【図４】
2008220400.tif 000006
【図５】
2008220400.tif 000007
【図６】
2008220400.tif 000008
【図７】
2008220400.tif 000009
【図８】
2008220400.tif 000010
【図９】
2008220400.tif 000011
【図１０】
2008220400.tif 000012
【図１１】
2008220400.tif 000013