(57)【特許請求の範囲】
【請求項１】
プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置において、
基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段と、
前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段と、
前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段と、
前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段と、
を含み、
前記案内手段は、
仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、
前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、
前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含む、
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置において、
前記ゲームは、前記プレイヤが模範動作を行うことを目指すゲームであり、
前記仮想空間には、前記プレイヤが行うべき模範動作に対応する動作を行う第２オブジェクトが配置され、
前記配置手段は、前記基準タイミングまでの時間が前記所定時間になった場合、前記オブジェクトとして、前記基準タイミングにおける前記第２オブジェクトの姿勢をとる第１オブジェクトを、前記第２オブジェクトの位置である前記基準位置とは異なる位置に配置し、
前記案内手段は、前記第１オブジェクトと前記第２オブジェクトとの少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する、
ことを特徴とするゲーム装置。
【請求項３】
請求項２に記載のゲーム装置において、
前記配置手段は、前記視点から見て前記第２オブジェクトの左側又は右側に前記第１オブジェクトを配置することを特徴とするゲーム装置。
【請求項４】
請求項３に記載のゲーム装置において、
前記配置手段は、前記視点から見て前記第２オブジェクトの左側に少なくとも一つの第１オブジェクトを配置し、かつ、前記視点から見て前記第２オブジェクトの右側に少なくとも一つの第１オブジェクトを配置することを特徴とするゲーム装置。
【請求項５】
請求項１乃至４のいずれかに記載のゲーム装置において、
前記配置手段は、前記基準位置と前記視点との位置関係が変化した場合に、前記基準位置と前記視点との位置関係に基づいて、前記オブジェクトの位置を変更する手段を含むことを特徴とするゲーム装置。
【請求項６】
プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置の制御方法において、
基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得するステップと、
前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内ステップと、
前記プレイヤがとった姿勢に関する姿勢データを取得する取得ステップと、
前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価ステップと、
を含み、
前記案内ステップは、
仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示するステップと、
前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置ステップと、
前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内するステップと、を含む、
ことを特徴とするゲーム装置の制御方法。
【請求項７】
プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段、
前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段、
前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段、
前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段、
として前記コンピュータを機能させ、
前記案内手段は、
仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、
前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、
前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含む、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
プレイヤの姿勢を検出可能なゲーム装置が提案されている。例えば、撮影部の撮影画像と赤外線センサの検出結果とに基づいてプレイヤの姿勢を検出可能なゲーム装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８６６４７４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなゲーム装置では、例えば、予め定められたダンスをプレイヤが踊るようなダンスゲームを実現することが考えられる。また、このようなダンスゲームを実現する場合には、複数の基準タイミングの各々において、プレイヤが実際にとった姿勢と、プレイヤがとるべき模範姿勢とを比較することによって、プレイヤが上手にダンスを踊ることができているか否かを評価することが考えられる。
【０００５】
上記のような評価方法を採用する場合、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが把握できないと、プレイヤは良い評価を得ることが困難になってしまう。このため、上記のような評価方法を採用する場合には、基準タイミングと基準タイミングにおける模範姿勢とをプレイヤが把握できるように図る必要がある。
【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的は、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが比較的容易に把握できるように図ることが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置において、基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段と、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段と、前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段と、前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段と、を含み、前記案内手段は、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢を有するオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含むことを特徴とする。
【０００８】
また、本発明に係るゲーム装置の制御方法は、プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置の制御方法において、基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得するステップと、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内ステップと、前記プレイヤがとった姿勢に関する姿勢データを取得する取得ステップと、前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価ステップと、を含み、前記案内ステップは、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示するステップと、前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置ステップと、前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内するステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段、前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段、前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段、として前記コンピュータを機能させ、前記案内手段は、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含むことを特徴とするプログラムである。
【００１０】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１１】
本発明によれば、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが比較的容易に把握できるように図ることが可能になる。
【００１２】
また本発明の一態様では、前記ゲームは、前記プレイヤが模範動作を行うことを目指すゲームであり、前記仮想空間には、前記プレイヤが行うべき模範動作に対応する動作を行う第２オブジェクトが配置され、前記配置手段は、前記基準タイミングまでの時間が前記所定時間になった場合、前記オブジェクトとして、前記基準タイミングにおける前記第２オブジェクトの姿勢をとる第１オブジェクトを、前記第２オブジェクトの位置である前記基準位置とは異なる位置に配置し、前記案内手段は、前記第１オブジェクトと前記第２オブジェクトとの少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内するようにしてもよい。
【００１３】
この態様では、前記配置手段は、前記視点から見て前記第２オブジェクトの左側又は右側に前記第１オブジェクトを配置するようにしてもよい。
【００１４】
また、この態様では、前記配置手段は、前記視点から見て前記第２オブジェクトの左側に少なくとも一つの第１オブジェクトを配置し、かつ、前記視点から見て前記第２オブジェクトの右側に少なくとも一つの第１オブジェクトを配置するようにしてもよい。
【００１５】
また本発明の一態様では、前記配置手段は、前記基準位置と前記視点との位置関係が変化した場合に、前記基準位置と前記視点との位置関係に基づいて、前記オブジェクトの位置を変更する手段を含むようにしてもよい。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】プレイヤ検出部のハードウェア構成を示す図である。
【図３】プレイヤがゲームをプレイする様子を表す図である。
【図４】撮影部の撮影画像の一例を示す図である。
【図５】赤外線光の照射と反射光の検出について説明するための図である。
【図６】深度画像の一例を示す図である。
【図７】プレイヤの姿勢データについて説明するための図である。
【図８】プレイヤの姿勢データの一例を示す図である。
【図９】ゲーム画面の一例を示す図である。
【図１０】ゲーム画面の他の一例を示す図である。
【図１１】仮想空間の一例を示す図である。
【図１２】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図１３】基準データの一例を示す図である。
【図１４】案内オブジェクトの位置制御の一例について説明するための図である。
【図１５】ゲーム装置が実行する処理の一例を示すフロー図である。
【図１６】ゲーム装置が実行する処理の一例を示すフロー図である。
【図１７】案内オブジェクトの位置制御の一例について説明するための図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）、又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００１８】
図１は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図１に示すゲーム装置１０は、家庭用ゲーム機１１、表示部３４、音声出力部３６、光ディスク３８（情報記憶媒体）、及びプレイヤ検出部４０を含む。表示部３４及び音声出力部３６は家庭用ゲーム機１１に接続される。例えば家庭用テレビ受像機又は液晶ディスプレイ等が表示部３４として用いられ、例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホン等が音声出力部３６として用いられる。
【００１９】
家庭用ゲーム機１１は公知のコンピュータシステムである。家庭用ゲーム機１１は、バス１２、制御部１４、主記憶１６、画像処理部１８、入出力処理部２０、音声処理部２２、光ディスクドライブ２４、ハードディスク２６、通信インタフェース２８、コントローラ３０、及び外部インタフェース３２を含む。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。
【００２０】
制御部１４は一又は複数のマイクロプロセッサを含む。制御部１４は、光ディスク３８から読み出されるプログラムに基づいて、各部の制御処理や情報処理を実行する。主記憶１６は例えばＲＡＭを含み、光ディスク３８から読み出されたプログラム及びデータが主記憶１６に書き込まれる。主記憶１６は制御部１４の作業用メモリとしても用いられる。画像処理部１８はＶＲＡＭを含み、制御部１４から供給される画像データに基づいてＶＲＡＭ上に画面を描画する。ＶＲＡＭ上に描画された画面はビデオ信号に変換されて表示部３４に出力される。
【００２１】
入出力処理部２０は、制御部１４が音声処理部２２、光ディスクドライブ２４、ハードディスク２６、通信インタフェース２８、コントローラ３０、及び外部インタフェース３２にアクセスするためのインタフェースである。音声処理部２２はサウンドバッファを含み、サウンドバッファに読み出された音声データを音声出力部３６から出力する。通信インタフェース２８は、インターネット等の通信ネットワークに家庭用ゲーム機１１を有線又は無線接続するためのインタフェースである。
【００２２】
光ディスクドライブ２４は、光ディスク３８に記録されたプログラムやデータを読み取る。ハードディスク２６は一般的なハードディスク装置（補助記憶装置）である。ここでは、プログラムやデータを家庭用ゲーム機１１に供給するために光ディスク３８を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。なお、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。また、光ディスク３８に記憶されることとして説明するプログラムやデータはハードディスク２６に記憶されていてもよい。
【００２３】
コントローラ３０はプレイヤが操作を行うための操作部である。入出力処理部２０は一定周期毎（例えば１／６０秒ごと）にコントローラ３０の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス１２を介して制御部１４に供給する。
【００２４】
外部インタフェース３２は周辺装置を接続するためのインタフェースである。本実施形態の場合、プレイヤ検出部４０が外部インタフェース３２に接続される。なお、ここでは、プレイヤ検出部４０が周辺装置として外部インタフェースに接続されることとして説明するが、プレイヤ検出部４０は家庭用ゲーム機１１に内蔵されていてもよい。
【００２５】
プレイヤ検出部４０はプレイヤの代表的な部位（例えば頭、腰、右手首、左手首、右足首、又は左足首等）の位置を検出する。プレイヤ検出部４０の検出結果を用いることによって、プレイヤの姿勢や動きを判定することが可能である。このため、ゲーム装置１０では、例えば、プレイヤがコントローラ３０を使わずに自らの体を動かして遊ぶようなゲームを実行することが可能になっている。
【００２６】
プレイヤ検出部４０についてより詳しく説明する。図２はプレイヤ検出部４０のハードウェア構成を示す。また、図３はプレイヤがゲームをプレイする様子を示す図である。これらの図を参照しながら、プレイヤ検出部４０について説明する。
【００２７】
図２に示すように、プレイヤ検出部４０は制御部４１、記憶部４２、音声入力部４３、撮影部４４、深度測定部４５、及びバス４６を含む。バス４６はアドレス及びデータをプレイヤ検出部４０の各部でやり取りするためのものである。
【００２８】
制御部４１は一又は複数のマイクロプロセッサを含み、記憶部４２に記憶されるプログラムに基づいて処理を実行する。記憶部４２は制御部４１が実行するプログラムを記憶する。また、音声入力部４３、撮影部４４、又は深度測定部４５によって取得される各種データを記憶するために記憶部４２は用いられる。音声入力部４３は例えばマイクを含んで構成される。例えば、音声入力部４３はプレイヤＰから発せられた音声を取得するために用いられる。
【００２９】
撮影部４４は例えばＣＣＤカメラを含んで構成される。撮影部４４は、例えば所定時間（例えば１／６０秒）ごとに撮影画像（例えばＲＧＢデジタル画像）を生成する。図３に示すようにプレイヤ検出部４０は表示部３４の付近に設置され、撮影部４４は表示部３４の前方領域を撮影する。図３に示すようにプレイヤＰは表示部３４の前方領域に位置してゲームをプレイするため、撮影部４４の撮影画像にはプレイヤＰが写る。図４は撮影画像の一例を示す。
【００３０】
深度測定部４５は例えば赤外線センサを含んで構成される。例えば、赤外線センサは赤外線発光素子及び赤外線受光素子（例えば赤外線ダイオード）を含む。赤外線センサは赤外線光を照射し、照射した赤外線光が人又は物体に反射された場合の反射光を検出する。
【００３１】
図５は赤外線光の照射と反射光の検出について説明するための図である。図５に示すように、深度測定部４５（赤外線発光素子）から所定間隔でパルス状の赤外線光が照射される。深度測定部４５から照射された赤外線光は赤外線発光素子の位置を中心点として球状に広がり、人（プレイヤＰ）又は物体の表面に当たる。これらの表面に当たった赤外線光は反射し、反射した赤外線光が深度測定部４５の赤外線受光素子によって検出される。すなわち、照射した赤外線光の位相が１８０度反転してなる反射光が検出される。
【００３２】
図５に示すようにプレイヤＰが両手を前方に突き出している場合、突き出された両手は、プレイヤＰの胴体よりも深度測定部４５（赤外線センサ）に近くなる。この場合、プレイヤＰの両手によって反射される赤外線光の飛行時間（ＴＯＦ:Time of Flight）は、プレイヤＰの胴体によって反射される赤外線光の飛行時間よりも短くなる。なお、「飛行時間」とは赤外線光を照射してから反射光を受光するまでの時間のことである。
【００３３】
深度測定部４５は、反射光の検出結果に基づいて、撮影部４４の撮影画像における各画素の深度（奥行き）を測定する。「画素の深度」とは、測定基準位置から、該画素に写されている被写体の部分までの距離である。例えば、プレイヤＰの右手が写されている領域内の画素の深度とは、測定基準位置からプレイヤＰの右手までの距離である。また、「測定基準位置」とは、深度を測定する際の基準となる位置であり、例えば、赤外線センサの位置である。
【００３４】
具体的には、深度測定部４５は、赤外線を照射してから反射光を受光するまでの飛行時間に基づいて上記の深度を測定する。例えば、赤外線光を照射してから反射光を検出するまでの時間（すなわち飛行時間）と、赤外線の速度と、の乗算値を２で割ることによって得られる値は、測定基準位置から赤外線光を反射した人又は物までの距離（すなわち深度）に相当する。このような処理を実行することによって深度測定部４５は上記の深度を取得する。
【００３５】
深度測定部４５の測定結果は画像として表される。例えば、深度測定部４５の測定結果はグレースケールの画像として表される。撮影部４４と同様、深度測定部４５も、所定時間（例えば１／６０秒）ごとに深度の測定を行い、その測定結果を表す画像（以下「深度画像」と記載する。）を生成する。
【００３６】
図６は深度画像の一例を示す図である。図６に示す深度画像は、図４に示す撮影画像の各画素の深度を示す画像である。なお、図６に示す深度画像には、斜線が付された斜線領域（例えばプレイヤＰの背景）と、ドットが付されたドット領域（例えばプレイヤＰの頭部や胴体部）と、斜線もドットも付されていない白領域（例えばプレイヤＰの両手）とが含まれている。斜線領域はドット領域及び白領域よりも輝度が低いことを示しており、ドット領域は白領域よりも輝度が低いことを示している。
【００３７】
深度画像では深度が輝度（画素値）によって表される。図６に示す深度画像では、深度が小さくなるほど（すなわち、深度測定部４５からの距離が短くなるほど）、輝度が高くなるようになっている。例えば、図５に示すようにプレイヤＰが前方に両手を突き出している場合には、プレイヤＰの両手はプレイヤＰの胴体よりも深度測定部４５に近くなる。このため、図６に示す深度画像では、プレイヤＰの両手に対応する画素の輝度がプレイヤＰの胴体に対応する画素の輝度よりも高くなっている。なお、深度画像では、深度が大きくなるほど（すなわち、深度測定部４５からの距離が長くなるほど）、輝度が高くなるようにしてもよい。
【００３８】
プレイヤ検出部４０は、撮影部４４の撮影画像と、深度測定部４５によって取得された深度画像とに基づいて、プレイヤＰの姿勢に関する姿勢データを取得する。
【００３９】
例えば、プレイヤ検出部４０は、深度画像において深度が大きく変化している箇所を検出することによって、プレイヤＰの輪郭に対応する画素を検出する。プレイヤＰの周囲に人や物体が位置していなければ、プレイヤＰに向けて照射された赤外線光の飛行時間と、プレイヤＰの周辺領域に向けて照射された赤外線光の飛行時間とは大きく異なることになる。その結果、プレイヤＰとプレイヤＰの周辺領域との間では深度が大きく異なることになる。このため、深度が大きく変化している箇所を検出することによって、プレイヤＰの輪郭を検出することができる。
【００４０】
なお、プレイヤＰの輪郭を検出する方法は上記の方法に限られない。例えば、撮影画像において画素の輝度が大きく変化している箇所を検出することによって、プレイヤＰの輪郭を検出することも可能である。
【００４１】
次いで、プレイヤ検出部４０は、撮影画像において、プレイヤＰの輪郭によって囲まれた画素の色情報（ＲＧＢの明度）を参照する。そして、プレイヤ検出部４０は、画素の色情報に基づいて、プレイヤＰの各部位に対応する画素を特定する。この特定方法としては、例えば、比較画像との比較によって画像の中から対象物（すなわち、プレイヤＰの各部位）を抽出するパターンマッチング法等、公知の手法を適用可能である。
【００４２】
プレイヤ検出部４０は、上記のようにして特定した画素の位置（撮影画像又は深度画像における２次元座標）及び深度に基づいて、プレイヤＰの代表的な部位（例えば頭、腰、右手首、左手首、右足首、又は左足首等）の３次元座標を算出する。例えば、プレイヤ検出部４０は、プレイヤＰの部位の３次元座標を、その部位に対応する画素の位置及び深度に所定の行列変換処理を施すことによって算出する。この行例変換処理は、例えば、３次元グラフィックス技術におけるワールド座標−スクリーン座標の変換処理と同様の処理によって実行される。
【００４３】
また、プレイヤＰの部位の３次元座標は、例えば図７に示すような、プレイヤ検出部４０（撮影部４４）の位置を原点ＯｅとするＸｅＹｅＺｅ座標系の座標値として表される。なお図７において、Ｚｅ軸方向は例えば撮影部４４（ＣＣＤカメラ）の視線方向である。またＸｅ軸方向は、Ｚｅ軸方向と直交する方向であって、かつ、プレイヤ検出部４０（撮影部４４）から見て左右方向に対応する方向である。さらにＹｅ軸方向はＺｅ軸方向及びＸｅ軸方向の両方と直交する方向であり、プレイヤ検出部４０（撮影部４４）から見て上下方向に対応する方向である。
【００４４】
上記のようにして取得されたプレイヤＰの各部位の３次元座標を示すデータがプレイヤＰの姿勢データに相当する。図８はプレイヤＰの姿勢データの一例を示す。図８に示すプレイヤＰの姿勢データには、プレイヤＰの頭Ｐ１、左手首Ｐ２、右手首Ｐ３、腰Ｐ４、左足首Ｐ５、右足首Ｐ６の３次元座標が含まれている。なお、上記の部位以外の３次元座標がプレイヤＰの姿勢データに含まれるようにしてもよい。
【００４５】
プレイヤＰの姿勢データは、例えば所定時間（例えば、１／６０秒）ごとに取得され、プレイヤ検出部４０から家庭用ゲーム機１１に供給される。制御部１４は、プレイヤＰの姿勢データに基づいて、プレイヤＰの姿勢（プレイヤＰの各部位の位置）を把握することができる。また、制御部１４は、プレイヤＰの姿勢の変化（プレイヤＰの各部位の位置の変化）を把握することによって、プレイヤＰの体の動きを把握することもできる。
【００４６】
上記の構成を有するゲーム装置１０では、プレイヤＰが表示部３４の前方領域において体を動かして遊ぶゲームが光ディスク３８に記憶されたプログラムによって実行される。例えば、プレイヤＰが音楽に合わせてダンスを踊るゲームがゲーム装置１０で実行される。
【００４７】
図９は表示部３４に表示されるゲーム画面の一例を示す。図９に示すゲーム画面にはプレイヤＰの得点５０が表示されている。また、ゲーム画面にはキャラクタオブジェクト５２が表示されている。例えば、キャラクタオブジェクト５２はダンサーを表すゲームキャラクタオブジェクトである。なお、キャラクタオブジェクト５２の他に、バックダンサーを表すゲームキャラクタオブジェクトがゲーム画面に表示されるようにしてもよい。
【００４８】
キャラクタオブジェクト５２は音楽に合わせてダンスを踊る。キャラクタオブジェクト５２はプレイヤＰが行うべきダンスをプレイヤＰに案内する役割を果たす。このゲームにおいて、プレイヤＰはキャラクタオブジェクト５２を見ながら、キャラクタオブジェクト５２が踊るダンスと同じようにダンスを踊ることを目指す。
【００４９】
図９に示すゲーム画面では、キャラクタオブジェクト５２がプレイヤＰと対面するように表示されており、キャラクタオブジェクト５２は、プレイヤＰが行うべきダンスを左右逆に行うようになっている。
【００５０】
このため、例えば、キャラクタオブジェクト５２が、プレイヤＰから見て右側の手（すなわち左手５４ｌ）を、プレイヤＰから見て右方向（すなわち、キャラクタオブジェクト５２から見て左方向）に動かす場合に、プレイヤＰは同じように右手を右方向に動かす。また例えば、キャラクタオブジェクト５２が、プレイヤＰから見て左側の手（すなわち右手５４ｒ）を、プレイヤＰから見て左方向（すなわち、キャラクタオブジェクト５２から見て右方向）に動かす場合に、プレイヤＰは同じように左手を左方向に動かす。
【００５１】
このゲームでは、プレイヤＰのダンスに対する評価が下記に説明するようにして判断される。すなわち、このゲームでは複数の基準タイミングが設定される。そして、基準タイミングにプレイヤＰが実際にとっていた姿勢と、プレイヤＰが基準タイミングにとっているべき姿勢（模範姿勢）とが比較される。例えば、プレイヤＰが実際にとっていた姿勢と模範姿勢との類似度が高い場合にはプレイヤＰに対する評価が高くなる。一方、プレイヤＰが実際にとっていた姿勢と模範姿勢との類似度が低い場合にはプレイヤＰに対する評価が低くなる。
【００５２】
また、このゲームでは、基準タイミングの到来と、プレイヤＰが基準タイミングにおいてとるべき模範姿勢とがプレイヤＰに案内されるようになっている。その結果、プレイヤＰが、基準タイミングの到来と、プレイヤＰが基準タイミングにおいてとるべき模範姿勢とを容易に予測できるようになっている。
【００５３】
図１０はゲーム画面の他の一例を示す。図１０に示すゲーム画面には、キャラクタオブジェクト５２の他に、二体の案内オブジェクト５６が表示されている。案内オブジェクト５６は、基準タイミングと、基準タイミングにおいてプレイヤＰがとるべき模範姿勢と、をプレイヤＰに案内（予告）する役割を果たす。
【００５４】
基準タイミングの到来が近づいた場合に案内オブジェクト５６はゲーム画面に表示される。具体的には、基準タイミングが到来するまでの残り時間が所定時間（例えば、楽曲の１小節に対応する時間）になった場合に、二体の案内オブジェクト５６はキャラクタオブジェクト５２の位置とは異なる初期位置に表示される。一方の案内オブジェクト５６は、プレイヤＰから見てキャラクタオブジェクト５２の右側に表示され、他方の案内オブジェクト５６は、プレイヤＰから見てキャラクタオブジェクト５２の左側に表示される。
【００５５】
案内オブジェクト５６は、基準タイミングにおけるキャラクタオブジェクト５２のシルエットになっている。すなわち、案内オブジェクト５６は、キャラクタオブジェクト５２が基準タイミングにおいてとる姿勢を表している。
【００５６】
また、案内オブジェクト５６は、初期位置に表示された後、図１０に示すように、キャラクタオブジェクト５２に向かって移動する。そして、基準タイミングにおいて、案内オブジェクト５６はキャラクタオブジェクト５２に到達してキャラクタオブジェクト５２と重なる。上述したように、案内オブジェクト５６の姿勢は基準タイミングにおけるキャラクタオブジェクト５２の姿勢になっているため、基準タイミングにおいては、キャラクタオブジェクト５２と案内オブジェクト５６とが完全に重なることになる。なお、案内オブジェクト５６はキャラクタオブジェクト５２と完全に重なった後にゲーム画面から消える。
【００５７】
プレイヤＰは、キャラクタオブジェクト５２に向けて移動する案内オブジェクト５６を参照することによって、基準タイミングの到来を予測することができる。また、プレイヤＰは案内オブジェクト５６の姿勢を参照することによって、基準タイミングにおいてプレイヤＰがとるべき姿勢を予測することができる。
【００５８】
以下、上記の案内機能を実現するための構成について説明する。
【００５９】
図９，１０に示すゲーム画面を表示するために仮想空間が主記憶１６に構築される。まず、この仮想空間について説明しておく。図１１は仮想空間の一例を示す図である。図１１に示す仮想空間６０の状態は図１０に示すゲーム画面に対応している。図１１に示す仮想空間６０は、互いに直交する３つの座標軸（Ｘｗ，Ｙｗ，Ｚｗ軸）が設定された仮想的な３次元空間になっている。
【００６０】
図１１に示すように、床を表す床オブジェクト６２が仮想空間６０に配置される。また、図１１に示す仮想空間６０では、キャラクタオブジェクト５２と二体の案内オブジェクト５６とが床オブジェクト６２上に配置されている。なお、案内オブジェクト５６は常に仮想空間６０に配置されるわけではなく、基準タイミングが近づいた場合に仮想空間６０に配置される。
【００６１】
キャラクタオブジェクト５２は複数のポリゴンを含んで構成される。また、キャラクタオブジェクト５２の内部には、キャラクタオブジェクト５２の姿勢を制御するためのスケルトンが設定される。スケルトンは、関節に相当する複数のジョイントと、ジョイント間を接続するための複数のボーンとを含む。これらのジョイント及びボーンの状態（例えば位置や回転角度）が変化することによって、キャラクタオブジェクト５２の各部位（例えば、頭、腰、左手首、右手首、左足首、又は右足首等）の位置が変化し、その結果として、キャラクタオブジェクト５２の姿勢が変化する。
【００６２】
案内オブジェクト５６もキャラクタオブジェクト５２と同様の構造を有する。ただし、案内オブジェクト５６の各頂点の色は所定色（例えば緑色）に設定される。
【００６３】
さらに、仮想空間６０には仮想カメラ６４（視点）が設定される。そして、この仮想カメラ６４から見た仮想空間６０がゲーム画面に表示される。仮想カメラ６４の位置、視線方向６６、及び画角は、キャラクタオブジェクト５２が常にゲーム画面内の所定領域（例えば中央領域）に表示されるように設定される。
【００６４】
本実施形態の場合、キャラクタオブジェクト５２はほぼ同じ位置でダンスを踊るようになっている。また、仮想カメラ６４の位置、視線方向６６、及び画角も固定されており、キャラクタオブジェクト５２と仮想カメラ６４との位置関係は固定されている。なお、キャラクタオブジェクト５２が移動しながらダンスを踊るような場合には、仮想カメラ６４の位置、視線方向６６、及び画角がキャラクタオブジェクト５２の位置に基づいて設定されるようにすればよい。
【００６５】
次に、ゲーム装置１０で実現される機能ブロックについて説明する。図１２は、ゲーム装置１０で実現される機能ブロックのうちの、上記の案内機能に関連する機能ブロックを主に示す機能ブロック図である。図１２に示すように、ゲーム装置１０は記憶部７０、案内部７２、姿勢データ取得部７４、及び評価部７６を含む。
【００６６】
記憶部７０は、例えば主記憶１６、ハードディスク２６、及び光ディスク３８の少なくとも一つによって実現される。なお記憶部７０は、ゲーム装置１０と通信ネットワークを介して通信接続される他の装置に備えられる記憶装置によって実現されてもよい。記憶部７０以外の機能ブロックは、例えば制御部１４が光ディスク３８から読み出されたプログラムを実行することによって実現される。
【００６７】
まず、記憶部７０について説明する。記憶部７０はゲームを実行するために必要な各種データを記憶する。
【００６８】
例えば、記憶部７０は楽曲データを記憶する。楽曲データは一般のポピュラー音楽等を所定のデータ形式で保存したものである。
【００６９】
また例えば、記憶部７０はキャラクタオブジェクト５２のモデルデータを記憶する。モデルデータはキャラクタオブジェクト５２の形状を示すデータである。
【００７０】
また例えば、記憶部７０はキャラクタオブジェクト５２のモーションデータを記憶する。モーションデータは、キャラクタオブジェクト５２が動作を行う場合の各フレームにおけるキャラクタオブジェクト５２の姿勢を定めたデータである。なお、上述したように、キャラクタオブジェクト５２の姿勢はスケルトンの状態を制御することによって制御される。このため、キャラクタオブジェクト５２の姿勢はキャラクタオブジェクト５２のスケルトンの状態によって表される。
【００７１】
モーションデータに従ってキャラクタオブジェクト５２の姿勢を変化させることによって、キャラクタオブジェクト５２が動作を行うようになる。以下では、モーションデータに従ってキャラクタオブジェクト５２の姿勢を変化させることを「モーションデータを再生する」と記載する。
【００７２】
本実施形態の場合、プレイヤＰが行うべき模範動作に対応する動作をキャラクタオブジェクト５２に行わせるためのモーションデータが記憶部７０に記憶される。具体的には、キャラクタオブジェクト５２にプレイヤＰが行うべきダンス（模範動作）を左右逆に行わせるためのモーションデータが記憶部７０に記憶される。このモーションデータには、楽曲が再生されている期間内におけるキャラクタオブジェクト５２の姿勢の変化が定められている。このモーションデータは楽曲データの再生と同期して再生される。これによって、音楽に合わせてキャラクタオブジェクト５２がプレイヤＰが行うべきダンスを左右逆に踊るようになる。
【００７３】
また例えば、記憶部７０は、基準タイミングに関するデータを記憶する。また、記憶部７０は、プレイヤＰが基準タイミングにおいてとるべき模範姿勢に関するデータを記憶する。
【００７４】
図１３は記憶部７０に記憶される基準データの一例を示す。図１３に示す基準データは、基準タイミングと、プレイヤＰが基準タイミングにおいてとるべき模範姿勢とを示すデータである。図１３において、ｔ軸は時間軸であり、楽曲の再生が開始されてからの時間経過を示す。
【００７５】
基準データでは、例えば楽曲の１／２５６小節の単位で基準タイミングが示される。なお、図１３に示す基準データでは、便宜上、楽曲の１／８小節の単位で基準タイミングが示されている。また、図１３に示す基準データでは、各時点が基準タイミングであるか否かが１ビットのデータによって示されている。「０」はその時点が基準タイミングでないことを示し、「１」はその時点が基準タイミングであることを示している。
【００７６】
また、図１３に示す基準データでは、基準タイミングである時点に模範姿勢データが関連づけられている。この模範姿勢データは、プレイヤＰが基準タイミングにおいてとるべき模範姿勢を示すデータである。例えば、模範姿勢データは、プレイヤＰが模範姿勢をとったと仮定した場合におけるプレイヤＰの代表的な部位（例えば、頭Ｐ１、左手首Ｐ２、右手首Ｐ３、腰Ｐ４、左足首Ｐ５、右足首Ｐ６等）の位置を示すデータである。なお、各部位の位置は、例えば図８に示した姿勢データと同様に、ＸｅＹｅＺｅ座標系の座標値によって表される。
【００７７】
なお、基準データでは、基準タイミングが、楽曲の再生（又はゲームの実行）が開始されてからの経過時間を用いて示されるようにしてもよい。すなわち、基準データでは、楽曲の再生が開始されてからの経過時間がＴ１，Ｔ２，Ｔ３，・・・秒（Ｔ１，Ｔ２，Ｔ３：数値）になった時点が基準タイミングであることが示されるようにしてもよい。
【００７８】
または、基準データでは、基準タイミングが、再生済みの楽曲データのデータ量を用いて示されるようにしてもよい。すなわち、基準データでは、再生済みの楽曲データのデータ量がＤ１，Ｄ２，Ｄ３，・・・バイト（Ｄ１，Ｄ２，Ｄ３：数値）になった時点が基準タイミングであることが示されるようにしてもよい。
【００７９】
ところで、本実施形態の場合、プレイヤＰが行うべき模範動作（ダンス）と、キャラクタオブジェクト５２が行う動作（ダンス）とは一定の関係を有している。すなわち、上述したように、キャラクタオブジェクト５２はプレイヤＰが行うべきダンスを左右逆に行うようになっている。このため、プレイヤＰが基準タイミングにおいて行うべき模範姿勢をキャラクタオブジェクト５２のモーションデータに基づいて特定することも可能である。したがって、「プレイヤＰが基準タイミングにおいてとるべき模範姿勢に関するデータ」として、キャラクタオブジェクト５２のモーションデータを用いるようにしてもよい。なお、この場合、図１３に示す基準データでは「模範姿勢データ」フィールドを省略することができる。
【００８０】
また例えば、記憶部７０は、ゲームの現在の状況を示すゲーム状況データを記憶する。例えば、下記に示す情報がゲーム状況データに含まれる。
（１）楽曲の再生位置情報（楽曲の何小節目を現在再生しているのかを示す情報）
（２）キャラクタオブジェクト５２のモーションデータの再生位置情報（モーションデータの何フレーム目を現在再生しているのかを示す情報）
（３）キャラクタオブジェクト５２の状態情報（例えば位置等）
（４）案内オブジェクト５６の状態情報（例えば位置等）
（５）仮想カメラ６４の状態情報（例えば位置、視線方向６６及び画角等）
（６）プレイヤＰの得点情報
【００８１】
次に、案内部７２について説明する。案内部７２は、基準タイミングとプレイヤＰが基準タイミングにおいてとるべき模範姿勢とをプレイヤＰに案内する。
【００８２】
案内部７２は、仮想カメラ６４から見た仮想空間６０を表すゲーム画面を表示部３４に表示する。そして、基準タイミングが到来するまでの残り時間が所定時間になった場合に、案内部７２は、プレイヤＰが基準タイミングにおいてとるべき模範姿勢に対応する姿勢を有する第１オブジェクトを、仮想空間６０内に設定される基準位置６７とは異なる位置に配置する。さらに、案内部７２は、第１オブジェクトと基準位置６７との少なくとも一方を他方に向けて移動させることによって、基準タイミングとプレイヤＰが基準タイミングにおいてとるべき模範姿勢とをプレイヤＰに案内する。
【００８３】
より具体的には、例えば、仮想空間６０には、プレイヤＰが行うべき模範動作に対応する動作を行う第２オブジェクトが配置され、案内部７２は、基準タイミングにおける第２オブジェクトの姿勢を有する第１オブジェクトを配置する。そして、案内部７２は第１オブジェクトを第２オブジェクトに向けて移動させることによって、上記の案内を行う。なお、この場合、第２オブジェクトの位置が上述の「基準位置６７」に相当していることになる。ただし、第２オブジェクトの位置以外の位置を上述の「基準位置６７」とするようにしてもよい。
【００８４】
本実施形態の場合、再生される楽曲のｎ小節に相当する時間が上記の「所定時間」に相当する。なお、「ｎ」は任意の数値を示しており、例えば「１」である。また、案内オブジェクト５６が上述の「第１オブジェクト」に相当し、キャラクタオブジェクト５２が上述の「第２オブジェクト」に相当する。さらに、キャラクタオブジェクト５２の位置が「基準位置６７」に相当する。
【００８５】
本実施形態における案内部７２は、基準タイミングが到来するまでの時間が所定時間になった場合に、二体の案内オブジェクト５６（第１オブジェクト）を床オブジェクト６２上に配置する。ここで、案内オブジェクト５６の位置制御についてさらに詳しく説明しておく。図１４は案内オブジェクト５６の位置制御の一例について説明するための図である。図１４において、直線８０は仮想カメラ６４の位置からキャラクタオブジェクト５２の位置へと伸ばした直線である。なお、直線８０は仮想カメラ６４の視線方向６６を示す直線であってもよい。
【００８６】
案内オブジェクト５６の初期位置６８は、キャラクタオブジェクト５２と仮想カメラ６４との位置に基づいて設定される。図１４に示すように、案内オブジェクト５６の初期位置６８は直線８０と直交する直線８２上に設定される。
【００８７】
一方の案内オブジェクト５６の初期位置６８は、仮想カメラ６４から見てキャラクタオブジェクト５２の左側に設定され、他方の案内オブジェクト５６の初期位置６８は、仮想カメラ６４から見てキャラクタオブジェクト５２の右側に設定される。二体の案内オブジェクト５６の初期位置６８は、キャラクタオブジェクト５２がそれらの案内オブジェクト５６の初期位置６８を結ぶ直線（直線８２）上に位置するように設定される。
【００８８】
また、案内オブジェクト５６の初期位置６８とキャラクタオブジェクト５２の位置との間の距離は所定距離Ｄに設定される。このため、キャラクタオブジェクト５２は二体の案内オブジェクト５６の初期位置６８を結ぶ直線の中点に位置するようになっている。
【００８９】
さらに、案内オブジェクト５６は、案内オブジェクト５６の正面方向８６がキャラクタオブジェクト５２の正面方向８４と平行となるように配置される。
【００９０】
案内オブジェクト５６が初期位置６８に配置された後、案内部７２は、基準タイミングにおいて案内オブジェクト５６がキャラクタオブジェクト５２に到達するように、案内オブジェクト５６をキャラクタオブジェクト５２に向けて一定速度で移動させる。
【００９１】
つまり、基準タイミングが近づくにつれて、案内オブジェクト５６がキャラクタオブジェクト５２に近づくようにして、案内部７２は案内オブジェクト５６を移動させる。すなわち、基準タイミングが到来するまでの時間が短くなるにつれて、案内オブジェクト５６とキャラクタオブジェクト５２との間の距離が短くなるようにして、案内部７２は案内オブジェクト５６を移動させる。要するに、案内オブジェクト５６の現在位置とキャラクタオブジェクト５２との間の距離が、基準タイミングが到来するまでの時間に対応する距離となるようにして、案内部７２は案内オブジェクト５６の位置を時間経過に伴って更新していく。
【００９２】
本実施形態の場合、案内部７２は、案内オブジェクト５６をキャラクタオブジェクト５２に向けて直線８２上を移動させる。なお、案内オブジェクト５６がキャラクタオブジェクト５２に向けて移動する場合の移動経路は直線でなくてもよい。例えば、案内オブジェクト５６の移動経路は曲線になるようにしてもよい。
【００９３】
また本実施形態の場合、案内オブジェクト５６の姿勢は基準タイミングにおけるキャラクタオブジェクト５２の姿勢になっているため、基準タイミングにおいて案内オブジェクト５６がキャラクタオブジェクト５２に到達した場合、案内オブジェクト５６はキャラクタオブジェクト５２と完全に一致する。また、案内オブジェクト５６がキャラクタオブジェクト５２に到達した後（すなわち、案内オブジェクト５６がキャラクタオブジェクト５２と一致した後）、案内部７２は案内オブジェクト５６を仮想空間６０から取り除く。
【００９４】
次に、姿勢データ取得部７４について説明する。姿勢データ取得部７４は、プレイヤＰが実際にとった姿勢に関する姿勢データを取得する。本実施形態の場合、姿勢データ取得部７４は、プレイヤ検出部４０から供給される姿勢データを取得する。
【００９５】
次に、評価部７６について説明する。評価部７６は、プレイヤＰのゲームプレイを基準データと姿勢データとに基づいて評価する。
【００９６】
例えば、評価部７６は、基準タイミングにおける模範姿勢と、基準タイミングに基づいて設定される対象タイミングにおいて取得された姿勢データが示すプレイヤＰの姿勢と、を比較する。
【００９７】
なお、「対象タイミング」とは基準タイミング自体である。ここでは、「対象タイミング」が基準タイミング自体であることとして説明する。ただし、下記に説明するように、「対象タイミング」は基準タイミングに限られない。
【００９８】
例えば、「対象タイミング」とは、基準タイミングから所定時間後のタイミングであってもよい。例えば、プレイヤ検出部４０の処理負荷が比較的大きい場合には、ある姿勢ＸをプレイヤＰが実際にとったタイミングと、プレイヤＰが姿勢Ｘをとったことを示す姿勢データがプレイヤ検出部４０から制御部１４に供給されるタイミングとの間の時間（遅延時間）が比較的長くなってしまう場合がある。このような場合には、遅延時間を考慮して、基準タイミングから所定時間（推定遅延時間）後のタイミングを「対象タイミング」として設定するようにしてもよい。このようにすることによって、基準タイミングにおける模範姿勢と、基準タイミングから所定時間後の対象タイミングにおいて姿勢データ取得部７４が取得した姿勢データが示すプレイヤＰの姿勢と、が比較されるようにしてもよい。
【００９９】
あるいは、「対象タイミング」とは、基準タイミングを含む対象期間内のタイミングであってもよい。例えば、「対象タイミング」とは、基準タイミングよりも前の時点から、基準タイミングよりも後の時点までの間の対象期間内のタイミングであってもよい。このようにすることによって、基準タイミングにおける模範姿勢と、対象期間内にプレイヤＰが実際にとった姿勢とが比較されるようにしてもよい。すなわち、基準タイミングにおける模範姿勢を対象期間内のいずれかのタイミングにおいてプレイヤＰがとればよいようにするようにしてもよい。
【０１００】
評価部７６は、基準タイミングにおける模範姿勢と、対象タイミングにおいて取得された姿勢データが示すプレイヤＰの姿勢との類似度に基づいて、プレイヤＰのゲームプレイに対する評価を決定する。例えば、類似度が高い場合には類似度が低い場合に比べて、プレイヤＰのゲームプレイに対する評価が高くなる。
【０１０１】
なお、プレイヤＰの姿勢と模範姿勢との類似度は、プレイヤＰの各部位（例えば、頭Ｐ１、左手首Ｐ２、右手首Ｐ３、腰Ｐ４、左足首Ｐ５、右足首Ｐ６等）の位置と、模範姿勢における各部位の位置とを比較することによって取得される。詳細については後述する（図１６のステップＳ１０９，Ｓ１１０参照）。
【０１０２】
次に、上記の機能ブロックを実現するためにゲーム装置１０で実行される処理について説明する。図１５及び図１６は、ゲームが開始されてから終了するまでの間にゲーム装置１０で実行される処理のうち、本発明に関連する処理の一例を示すフロー図である。制御部１４が光ディスク３８から読み出されたプログラムに従って、図１５及び図１６に示す処理を実行することによって、制御部１４が案内部７２、姿勢データ取得部７４、及び評価部７６として機能するようになる。
【０１０３】
図１５に示すように、まず制御部１４は、初期状態のゲーム画面を表示部３４に表示する（Ｓ１０１）。例えば、制御部１４は、仮想空間６０に配置されるキャラクタオブジェクト５２の姿勢を所定の初期姿勢（例えば、直立姿勢）に設定する。そして、制御部１４は、仮想カメラ６４から見た仮想空間６０を表すゲーム画面を生成し、該ゲーム画面を表示部３４に表示する。なおこの場合、楽曲の再生開始タイミングから所定時間（例えば、楽曲のｎ小節に相当する時間）以内の期間内に基準タイミングが到来する場合を除いて、案内オブジェクト５６は仮想空間６０に配置されない。
【０１０４】
次に、制御部１４は楽曲の再生を開始する（Ｓ１０２）。すなわち、制御部１４は楽曲データを光ディスク３８から読み出し、該楽曲データの再生を開始する。これによって楽曲が音声出力部３６から出力開始される。
【０１０５】
次に、制御部１４はステップＳ１０３〜Ｓ１１３の処理を所定時間（フレームレート：例えば１／６０秒）ごとに繰り返し実行する。ステップＳ１０３〜Ｓ１１３の処理は、ゲーム画面を更新するための処理とプレイヤＰのゲームプレイを評価するための処理とを含んでいる。
【０１０６】
まず、制御部１４はキャラクタオブジェクト５２の姿勢をモーションデータに基づいて更新する（Ｓ１０３）。すなわち、制御部１４は、キャラクタオブジェクト５２の姿勢を、モーションデータが示す現在フレームにおける姿勢に設定する。例えば、制御部１４は、キャラクタオブジェクト５２のスケルトンの状態を、モーションデータが示す現在フレームにおける状態に更新する。
【０１０７】
その後、制御部１４は、基準タイミングが到来するまでの時間が所定時間になったか否かを判定する（Ｓ１０４）。例えば、「所定時間」は、再生される楽曲のｎ小節（例えば１小節）に対応する時間であり、制御部１４は、このステップＳ１０４において、現時点が基準タイミングからｎ小節前の時点であるか否かを判定する。現時点が基準タイミングからｎ小節前の時点である場合、制御部１４は基準タイミングが到来するまでの時間が所定時間になったと判定する。
【０１０８】
基準タイミングが到来するまでの時間が所定時間になったと判定された場合、制御部１４（案内部７２）は案内オブジェクト５６を仮想空間６０内の初期位置６８に配置する（Ｓ１０５）。制御部１４は、例えば図１４を用いて説明したような初期位置６８に二体の案内オブジェクト５６を配置する。
【０１０９】
この場合、キャラクタオブジェクト５２のモデルデータが案内オブジェクト５６のモデルデータとして流用される。また、案内オブジェクト５６の姿勢はキャラクタオブジェクト５２のモーションデータに基づいて設定される。すなわち、案内オブジェクト５６の姿勢が、キャラクタオブジェクト５２のモーションデータが示す基準タイミングにおけるキャラクタオブジェクト５２の姿勢に設定される。具体的には、基準タイミングにおけるキャラクタオブジェクト５２のスケルトンの状態が、キャラクタオブジェクト５２のモーションデータから取得される。そして、案内オブジェクト５６のスケルトンの状態が、モーションデータから取得された状態に設定される。このようにして、案内オブジェクト５６の姿勢が基準タイミングにおけるキャラクタオブジェクト５２の姿勢に設定される。なお、案内オブジェクト５６の色は所定色（例えば緑色）に設定される。
【０１１０】
ステップＳ１０４で、基準タイミングが到来するまでの時間が所定時間になったと判定されなかった場合、又はステップＳ１０５の処理が実行された場合、制御部１４は、案内オブジェクト５６が仮想空間６０に配置されているか否かを判定する（Ｓ１０６）。
【０１１１】
案内オブジェクト５６が仮想空間６０に配置されている場合、制御部１４は案内オブジェクト５６の位置を更新する（Ｓ１０７）。すなわち、制御部１４は案内オブジェクト５６をキャラクタオブジェクト５２に向けて移動させる。例えば、制御部１４は、案内オブジェクト５６の位置を、「案内オブジェクト５６の現在位置からキャラクタオブジェクト５２の位置への方向に、案内オブジェクト５６の現在位置から所定の移動距離だけ移動した位置」に更新する。
【０１１２】
「所定の移動距離」は、案内オブジェクト５６が基準タイミングにおいてキャラクタオブジェクト５２に到達するような移動距離に設定される。例えば、「所定の移動距離」は、案内オブジェクト５６の初期位置６８とキャラクタオブジェクト５２の位置との間の距離（図１４における所定距離Ｄ）を、ステップＳ１０４における所定時間（例えば、楽曲のｎ小節に対応する時間）で除することによって得られる距離である。
【０１１３】
なお、ステップＳ１０７では、現在のフレームにおいて初期位置６８に配置された案内オブジェクト５６の位置を更新しないようにする。
【０１１４】
ステップＳ１０６で案内オブジェクト５６が仮想空間６０に配置されていないと判定された場合、又はステップＳ１０７の処理が実行された場合、図１６に示すように、制御部１４は基準タイミングが到来したか否かを判定する（Ｓ１０８）。
【０１１５】
基準タイミングが到来したと判定された場合、制御部１４はプレイヤＰの姿勢と模範姿勢とを比較する（Ｓ１０９）。例えば、制御部１４（姿勢データ取得部７４）は、プレイヤ検出部４０から供給された姿勢データを取得する。また、制御部１４は、基準タイミングに関連づけられた模範姿勢データを基準データ（図１３）から取得する。そして制御部１４（評価部７６）は、姿勢データが示すプレイヤＰの姿勢と、模範姿勢データが示す模範姿勢とを比較する。
【０１１６】
例えば、制御部１４はプレイヤＰの姿勢と模範姿勢との類似度を算出する。すなわち、制御部１４は、プレイヤＰの複数の代表部位（例えば、頭Ｐ１、左手首Ｐ２、右手首Ｐ３、腰Ｐ４、左足首Ｐ５、及び右足首Ｐ６等）の各々について、姿勢データが示す該部位の位置と、模範姿勢データが示す該部位の位置とを比較することによって、上記の類似度を算出する。
【０１１７】
より具体的には、制御部１４は、複数の代表部位の各々について、姿勢データが示す該部位の位置と、模範姿勢データが示す該部位の位置と、の間の距離が基準距離未満であるか否かを判定する。そして、制御部１４は、上記の距離が基準距離未満であると判定された部位の数に基づいて、上記の類似度を算出する。例えば、上記の距離が基準距離未満であると判定された部位の数が上記の類似度として取得される。なお、プレイヤＰの姿勢と模範姿勢との類似度の算出方法はここで説明した方法に限られず、他の方法を用いるようにしてもよい。
【０１１８】
ステップＳ１０９の処理が実行された後、制御部１４（評価部７６）は、ステップＳ１０９における比較結果に基づいて、プレイヤＰの得点を更新する（Ｓ１１０）。例えば、ステップＰ１０９で取得された類似度が基準値よりも高い場合にはプレイヤＰの得点が増加される。また、ステップＰ１０９で取得された類似度が基準値よりも低い場合にプレイヤＰの得点が減少されるようにしてもよい。
【０１１９】
ステップＳ１１０の処理が実行された後、制御部１４は案内オブジェクト５６を仮想空間６０から取り除く（Ｓ１１１）。このステップＳ１１１の処理が実行される場合とは、基準タイミングが到来した場合である。この場合、案内オブジェクト５６はキャラクタオブジェクト５２の位置に到達している。ステップＳ１１１では、キャラクタオブジェクト５２の位置まで到達した案内オブジェクト５６が仮想空間６０から取り除かれる。
【０１２０】
ステップＳ１１１の処理が実行された場合、又はステップＳ１０８で基準タイミングが到来したと判定されなかった場合、制御部１４（案内部７２）はゲーム画面を更新する（Ｓ１１２）。すなわち、制御部１４は、仮想カメラ６４から見た仮想空間６０を表すゲーム画面を生成し、該ゲーム画面を表示部３４に表示する。
【０１２１】
ステップＳ１１２の処理が実行された後、制御部１４は、ゲームの終了条件が満足されるか否かを判定する（Ｓ１１３）。「ゲームの終了条件」とは、例えば楽曲の再生が完了したか否かの条件である。すなわち、楽曲の再生が完了した場合に制御部１４はゲームの終了条件が満足されたと判定する。なお、「ゲームの終了条件」は上記の条件に限られない。「ゲームの終了条件」は、例えば、プレイヤＰの得点が基準点未満であるか否かの条件であってもよい。
【０１２２】
ゲームの終了条件が満足されたと判定されなかった場合、制御部１４はステップＳ１０３〜Ｓ１１３の処理を再実行する。ゲームの終了条件が満足されたと判定されるまでの間、ステップＳ１０３〜Ｓ１１３の処理は所定時間（フレームレート：例えば１／６０秒）ごとに繰り返し実行される。
【０１２３】
一方、ゲームの終了条件が満足されたと判定された場合、制御部１４は結果画面を表示部３４に表示する（Ｓ１１４）。結果画面はプレイヤＰのゲームプレイ結果を示す画面であり、結果画面にはプレイヤＰの得点（ゲーム成績）が表示される。そして、結果画面が表示された後、本処理は終了し、ゲームが終了する。
【０１２４】
以上説明したゲーム装置１０では、プレイヤＰが基準タイミングにおいてとるべき模範姿勢に対応する姿勢を有する案内オブジェクト５６がゲーム画面に表示される。また、案内オブジェクト５６はキャラクタオブジェクト５２に向けて移動し、基準タイミングにおいてキャラクタオブジェクト５２に到達する。その結果、プレイヤＰは、ゲーム画面に表示される案内オブジェクト５６を頼りに、基準タイミングとプレイヤＰが基準タイミングにおいてとるべき模範姿勢との両方を比較的容易に把握することができる。ゲーム装置１０によれば、基準タイミングとプレイヤＰが基準タイミングにおいてとるべき模範姿勢との両方をプレイヤＰが比較的容易に把握できるように図ることが可能になる。
【０１２５】
また、ゲーム装置１０では、仮想空間６０に配置された案内オブジェクト５６を仮想カメラ６４から見た様子がゲーム画面に表示される。さらに、仮想空間６０において、案内オブジェクト５６は、仮想カメラ６４から見て、仮想カメラ６４の注視対象であるキャラクタオブジェクト５２の左側又は右側に配置される。このため、ゲーム画面には、案内オブジェクト５６の前方斜め方向から案内オブジェクト５６を見た様子が表示される。
【０１２６】
その結果、プレイヤＰが基準タイミングにおいてとるべき模範姿勢をプレイヤＰが把握し易くなる。例えば、案内オブジェクト５６を真正面から見た様子のみがゲーム画面に表示される場合、プレイヤＰは案内オブジェクト５６の姿勢を平面的にしか把握することができない。そのため、例えば、案内オブジェクト５６が腕等を前方（Ｚｗ軸負方向）に動かしていることをプレイヤＰは把握し難くなる。この点、案内オブジェクト５６の前方斜め方向から案内オブジェクト５６を見た様子がゲーム画面に表示される場合、Ｚｗ軸方向の変位が表現されるため、プレイヤＰは案内オブジェクト５６の姿勢を立体的に把握し易くなる。ゲーム装置１０によれば、プレイヤＰが基準タイミングにおいてとるべき模範姿勢をプレイヤＰが容易に把握できるように図ることが可能になる。
【０１２７】
なお、ゲーム装置１０では、一方の案内オブジェクト５６が、仮想カメラ６４から見てキャラクタオブジェクト５２の左側に配置され、他方の案内オブジェクト５６が、仮想カメラ６４から見てキャラクタオブジェクト５２の右側に配置される。このため、ゲーム画面には、案内オブジェクト５６の前方右斜め方向から案内オブジェクト５６を見た様子と、案内オブジェクト５６の前方左斜め方向から案内オブジェクト５６を見た様子との両方が表示される。その結果、プレイヤＰは案内オブジェクト５６の姿勢を立体的により把握し易くなる。ゲーム装置１０によれば、プレイヤＰが基準タイミングにおいてとるべき模範姿勢をプレイヤＰが容易に把握できるように図ることが可能になる。
【０１２８】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【０１２９】
（Ａ）以上では、キャラクタオブジェクト５２（基準位置６７）と仮想カメラ６４との位置関係が固定されていることとして説明したが、キャラクタオブジェクト５２（基準位置６７）と仮想カメラ６４との位置関係は変化するようにしてもよい。
【０１３０】
また、キャラクタオブジェクト５２と仮想カメラ６４との位置関係が変化した場合、案内部７２は、キャラクタオブジェクト５２と仮想カメラ６４との位置関係に基づいて、案内オブジェクト５６の位置を変更するようにしてもよい。
【０１３１】
図１７は、キャラクタオブジェクト５２と仮想カメラ６４との位置関係が変化した場合における案内オブジェクト５６の位置制御の一例について説明するための図である。図１７は、仮想カメラ６４が移動することによって、キャラクタオブジェクト５２と仮想カメラ６４との位置関係が変化した場合について示している。図１７において、符号６４ａは仮想カメラ６４の変化前位置を示しており、符号６４ｂは仮想カメラ６４の変化後位置を示している。また、符号５６ａ，５６ｂは仮想カメラ６４の位置が変化する前の案内オブジェクト５６の位置を示しており、符号５６ｃ，５６ｄは仮想カメラ６４の位置が変化した後の案内オブジェクト５６の位置を示している。
【０１３２】
図１７に示す例では、仮想カメラ６４の位置が位置６４ａから位置６４ｂに変化している。位置６４ｂは、キャラクタオブジェクト５２の位置を中心として位置６４ａから反時計回りに角度θだけ回転してなる位置になっている。また、位置６４ｂにおける仮想カメラ６４の視線方向６６ｂは、位置６４ａにおける仮想カメラ６４の視線方向６６ａと同様に、仮想カメラ６４からキャラクタオブジェクト５２への方向に設定されている。すなわち、仮想カメラ６４の注視対象はキャラクタオブジェクト５２に設定されている。
【０１３３】
仮想カメラ６４の位置が上記のように変化した場合、案内部７２は、一方の案内オブジェクト５６の位置を位置５６ａから位置５６ｃに変化させる。なお、位置５６ｃは、キャラクタオブジェクト５２の位置を中心として位置５６ａから反時計回りに角度θだけ回転してなる位置になっている。また、案内部７２は、他方の案内オブジェクト５６の位置を位置５６ｂから位置５６ｄに変化させる。なお、位置５６ｄは、キャラクタオブジェクト５２の位置を中心として反時計回りに位置５６ｂから角度θだけ回転してなる位置になっている。
【０１３４】
なお、案内部７２は、位置５６ｃ，５６ｄにおける案内オブジェクト５６の正面方向８６ｃ，８６ｄを、キャラクタオブジェクト５２の正面方向８４と平行な方向に設定する。言い換えれば、案内部７２は、位置５６ｃ，５６ｄにおける案内オブジェクト５６の正面方向８６ｃ，８６ｄを、位置５６ａ，５６ｂにおける案内オブジェクト５６の正面方向８６ａ，８６ｂと平行な方向に設定する。
【０１３５】
このようにすれば、キャラクタオブジェクト５２（基準位置６７）と仮想カメラ６４との位置関係が変化するような場合であっても、基準タイミングとプレイヤＰが基準タイミングにおいてとるべき模範姿勢との両方をプレイヤＰが比較的容易に把握できるように図ることが可能になる。
【０１３６】
（Ｂ）ゲーム画面には、キャラクタオブジェクト５２を背後から見た様子が表示されるようにしてもよい。なお、この場合、キャラクタオブジェクト５２がプレイヤＰが行うべきダンス（模範動作）を左右逆に行う必要がなくなる。このため、キャラクタオブジェクト５２がプレイヤＰが行うべきダンスをそのまま行うようにすればよい。
【０１３７】
（Ｃ）仮想空間６０に配置される案内オブジェクト５６の数は二体でなくてもよい。例えば、三体以上の案内オブジェクト５６が仮想空間６０に配置されるようにしてもよい。
【０１３８】
また例えば、一体の案内オブジェクト５６のみが仮想空間６０に配置されるようにしてもよい。すなわち、図１１に示す仮想空間６０において、いずれか一方の案内オブジェクト５６を取り除くようにしてもよい。ところで、この場合、案内オブジェクト５６がキャラクタオブジェクト５２に向けて移動する代わりに、キャラクタオブジェクト５２が案内オブジェクト５６に向けて移動するようにしてもよい。あるいは、案内オブジェクト５６とキャラクタオブジェクト５２との両方がお互いに向けて移動するようにしてもよい。いずれかの場合においても、基準タイミングにおいてキャラクタオブジェクト５２と案内オブジェクト５６とが重なるようになっていれば、プレイヤＰが基準タイミングの到来を把握できるようにすることが可能である。
【０１３９】
（Ｄ）本発明は、予め定められたダンスをプレイヤＰが音楽に合わせて踊ることを目指すゲーム以外のゲームにも適用することが可能である。本発明は、プレイヤＰが所定タイミングにおいて予め定められた模範姿勢をとることを目指すようなゲームに適用することが可能である。
【符号の説明】
【０１４０】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  制御部、１６  主記憶、１８  画像処理部、２０  入出力処理部、２２  音声処理部、２４  光ディスクドライブ部、２６  ハードディスク、２８  通信インタフェース、３０  コントローラ、３２  外部インタフェース、３４  表示部、３６  音声出力部、３８  光ディスク、４０  プレイヤ検出部、４１  制御部、４２  記憶部、４３  音声入力部、４４  撮影部、４５  深度測定部、４６  バス、５０  得点、５２  キャラクタオブジェクト、５６  案内オブジェクト、６０  仮想空間、６２  床オブジェクト、６４  仮想カメラ、６６  視線方向、７０  記憶部、７２  案内部、７４  姿勢データ取得部、７６  評価部。
【図１】
0005373744.tif 000002
【図２】
0005373744.tif 000003
【図３】
0005373744.tif 000004
【図４】
0005373744.tif 000005
【図５】
0005373744.tif 000006
【図６】
0005373744.tif 000007
【図７】
0005373744.tif 000008
【図８】
0005373744.tif 000009
【図９】
0005373744.tif 000010
【図１０】
0005373744.tif 000011
【図１１】
0005373744.tif 000012
【図１２】
0005373744.tif 000013
【図１３】
0005373744.tif 000014
【図１４】
0005373744.tif 000015
【図１５】
0005373744.tif 000016
【図１６】
0005373744.tif 000017
【図１７】
0005373744.tif 000018