(57)【要約】【課題】モーションセンサを有効活用したヒット演算処理を実現できるプログラム、情報記憶媒体、ゲーム装置及びサーバシステム等の提供。【解決手段】ゲーム装置は、操作情報を取得する操作情報取得部と、移動体のヒット演算処理を行うヒット演算部と、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部を含む。操作情報取得部は、モーションセンサからのモーション検出情報を操作情報として取得する。移動体演算部は、モーション検出情報に基づいて、移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、ヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。【選択図】      図７
2012181616.tif 000002
【特許請求の範囲】
【請求項１】
操作情報を取得する操作情報取得部と、
移動体のヒット演算処理を行うヒット演算部と、
前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記移動体演算部は、
前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいて、前記仮想カメラの視線方向を制御することを特徴とするプログラム。
【請求項３】
請求項２において、
前記モーションセンサは携帯型ゲーム装置に設けられるセンサであり、
前記操作情報取得部は、
前記プレーヤが前記携帯型ゲーム装置を動かすことで得られた前記モーション検出情報を、前記モーションセンサから取得し、
前記仮想カメラ制御部は、
前記携帯型ゲーム装置の動きに応じて前記仮想カメラの視線方向が変化するように前記仮想カメラを制御することを特徴とするプログラム。
【請求項４】
請求項３において、
水平方向に沿った軸をＸ軸とし、鉛直方向に沿った軸をＹ軸とした場合に、
前記仮想カメラ制御部は、
前記携帯型ゲーム装置を前記Ｙ軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記Ｙ軸に対応するカメラ座標系のＹＣ軸回りで回転させる制御を行い、
前記ヒット演算部は、
前記携帯型ゲーム装置を前記Ｙ軸回りで回転させる操作が行われた場合には、前記Ｙ軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行うことを特徴とするプログラム。
【請求項５】
請求項４において、
前記仮想カメラ制御部は、
前記携帯型ゲーム装置を前記Ｘ軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記Ｘ軸に対応するカメラ座標系のＸＣ軸回りで回転させる制御を行い、
前記ヒット演算部は、
前記携帯型ゲーム装置を前記Ｘ軸回りで回転させる操作が行われた場合に、前記Ｘ軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行うことを特徴とするプログラム。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記操作情報取得部は、
前記操作情報として、前記プレーヤが入力した第１の操作情報と第２の操作情報を取得し、
前記仮想カメラ制御部は、
前記第１の操作情報に基づいて、前記仮想カメラの視線方向を制御し、前記第２の操作情報に基づいて、前記仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御することを特徴とするプログラム。
【請求項７】
請求項２乃至６のいずれかにおいて、
前記仮想カメラ制御部は、
前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合に、前記仮想カメラから前記移動体に向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするプログラム。
【請求項８】
請求項２乃至７のいずれかにおいて、
前記仮想カメラ制御部は、
前記移動体がヒットされた後に、前記移動体の移動先側に前記仮想カメラの視線方向を向ける制御を行うことを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記ヒット演算部は、
前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記移動体のヒット判定処理を行うための判定基準面を、前記仮想カメラに近づく方向に移動させることを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記移動体演算部は、
前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記動き情報が検出されなかった場合に比べて強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項１１】
請求項１０において、
前記移動体演算部は、
前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が大きいほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項１２】
請求項１０又は１１において、
前記ヒット演算部は、
前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも１つに基づいて、前記ヒット強さパラメータを設定することを特徴とするプログラム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記ヒット演算部は、
前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が判定基準値を超えたか否かを判定し、
前記移動体演算部は、
前記プレーヤの動き量が判定基準値の超えた場合に、前記ヒット判定タイミング前での前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項１４】
請求項１３において、
前記ヒット演算部は、
前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも１つに基づいて、前記判定基準値を設定することを特徴とするプログラム。
【請求項１５】
請求項１乃至１４のいずれかにおいて、
前記ヒット演算部は、
前記仮想カメラの移動に追従するヒット判定エリアを前記仮想カメラの前方側に設定し、
前記移動体演算部は、
ヒット判定タイミングにおける前記ヒット判定エリアと前記移動体との位置関係情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項１６】
請求項１５において、
前記移動体演算部は、
前記ヒット判定タイミングでの前記ヒット判定エリアにおける前記移動体の位置情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項１７】
請求項１乃至１６のいずれかにおいて、
前記ヒット判定タイミングにおける前記移動体及び前記仮想カメラの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として記憶部に記録する処理を行う記録処理部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項１８】
操作情報を取得する操作情報取得部と、
移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするプログラム。
【請求項１９】
請求項１８において、
前記オブジェクトは、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体、或いは前記プレーヤのプレイ対象となるキャラクタであることを特徴とするプログラム。
【請求項２０】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１９のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項２１】
操作情報を取得する操作情報取得部と、
移動体のヒット演算処理を行うヒット演算部と、
前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記移動体演算部は、
前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするゲーム装置。
【請求項２２】
操作情報を取得する操作情報取得部と、
移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするゲーム装置。
【請求項２３】
操作情報を取得する操作情報取得部と、
移動体のヒット演算処理を行うヒット演算部と、
前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記移動体演算部は、
前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするサーバシステム。
【請求項２４】
操作情報を取得する操作情報取得部と、
移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、ゲーム装置及びサーバシステム等に関する。
【背景技術】
【０００２】
従来より、球技ゲームを仮想的にプレイすることができるゲーム装置が知られている。テニスゲームを例にとれば、プレーヤは自身のプレーヤキャラクタを操作し、相手キャラクタが打ったボールをラケットで打ち返すことで、テニスゲームを楽しむ。このようなテニスゲームの従来技術としては例えば特許文献１に開示される技術がある。
【０００３】
しかしながら、従来のテニスゲーム等の球技ゲームでは、プレーヤの実際の動きを、ボールを打ち返すストローク動作に反映させることができず、プレーヤの仮想現実感を今ひとつ高めることができなかった。
【０００４】
また、従来の球技ゲームは、三人称視点でのゲーム画像を生成するゲームが殆どであり、一人称視点でのゲーム画像を生成するゲームは少なかった。このため、プレーヤが実際のスポーツに近い動きを行いながら様々な方向を見ることで、周囲に広がるフィールドやスポーツプレイの臨場感を体感することが難しかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の幾つかの態様によれば、モーションセンサを有効活用したヒット演算処理を実現できるプログラム、情報記憶媒体、ゲーム装置及びサーバシステム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、操作情報を取得する操作情報取得部と、移動体のヒット演算処理を行うヒット演算部と、前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記移動体演算部は、前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うゲーム装置に関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００８】
本発明の一態様によれば、モーションセンサからのモーション検出情報により、ヒット判定タイミング前でのプレーヤの動き情報が検出される。そして、検出されたプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理が行われる。このようにすれば、ヒット判定タイミング前でのプレーヤの動き情報をモーションセンサにより検出して、ヒット後の移動体の移動演算処理に反映させることが可能になるため、モーションセンサを有効活用したヒット演算処理を実現できる。
【０００９】
また本発明の一態様では、前記仮想カメラ制御部は、前記モーション検出情報に基づいて、前記仮想カメラの視線方向を制御してもよい。
【００１０】
このようにすれば、モーション検出情報により検出されたプレーヤの動き情報を、ヒット後の移動体の移動演算処理に反映させながら、仮想カメラの視線方向についても、モーション検出情報に応じて変化させることが可能になる。
【００１１】
また本発明の一態様では、前記モーションセンサは携帯型ゲーム装置に設けられるセンサであり、前記操作情報取得部は、前記プレーヤが前記携帯型ゲーム装置を動かすことで得られた前記モーション検出情報を、前記モーションセンサから取得し、前記仮想カメラ制御部は、前記携帯型ゲーム装置の動きに応じて前記仮想カメラの視線方向が変化するように前記仮想カメラを制御してもよい。
【００１２】
このようにすれば、プレーヤが携帯型ゲーム装置を動かすと、その動きがモーションセンサにより検出され、携帯型ゲーム装置の動きに応じて仮想カメラの視線方向が変化するようになり、携帯型ゲーム装置の表示部に映る画像も変化するようになる。
【００１３】
また本発明の一態様では、水平方向に沿った軸をＸ軸とし、鉛直方向に沿った軸をＹ軸とした場合に、前記仮想カメラ制御部は、前記携帯型ゲーム装置を前記Ｙ軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記Ｙ軸に対応するカメラ座標系のＹＣ軸回りで回転させる制御を行い、前記ヒット演算部は、前記携帯型ゲーム装置を前記Ｙ軸回りで回転させる操作が行われた場合には、前記Ｙ軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行ってもよい。
【００１４】
このようにすれば、携帯型ゲーム装置をＹ軸回りで回転させる操作が行われると、その操作に連動させて、仮想カメラの視線方向を変化させることが可能になると共に、Ｙ軸回りの回転操作に対応する動作のヒット演算処理を実行できるようになる。
【００１５】
また本発明の一態様では、前記仮想カメラ制御部は、前記携帯型ゲーム装置を前記Ｘ軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記Ｘ軸に対応するカメラ座標系のＸＣ軸回りで回転させる制御を行い、前記ヒット演算部は、前記携帯型ゲーム装置を前記Ｘ軸回りで回転させる操作が行われた場合に、前記Ｘ軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行ってもよい。
【００１６】
このようにすれば、携帯型ゲーム装置をＸ軸回りで回転させる操作が行われると、その操作に連動させて、仮想カメラの視線方向を変化させることが可能になると共に、Ｘ軸回りの回転操作に対応する動作のヒット演算処理を実行できるようになる。
【００１７】
また本発明の一態様では、前記操作情報取得部は、前記操作情報として、前記プレーヤが入力した第１の操作情報と第２の操作情報を取得し、前記仮想カメラ制御部は、前記第１の操作情報に基づいて、前記仮想カメラの視線方向を制御し、前記第２の操作情報に基づいて、前記仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御してもよい。
【００１８】
このようにすれば、モーションセンサによるモーション検出情報により、仮想カメラの視線方向を制御し、方向指示部による方向指示情報により、仮想カメラの視点位置の移動を制御できるようになる。そして、モーション検出情報に基づき仮想カメラの視線方向を変化させながら、ヒット演算処理等を行うことが可能になる。なお、第１の操作情報が方向指示情報であり、第２の操作情報がモーション検出情報であってもよい。この場合には第１の操作情報である方向指示情報に基づいて、仮想カメラの視線方向が制御され、第２の操作情報であるモーション検出情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動が制御されることになる。  
【００１９】
また本発明の一態様では、前記仮想カメラ制御部は、前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合に、前記仮想カメラから前記移動体に向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行ってもよい。
【００２０】
このようにすれば、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤの視野範囲内に移動体の画像が適切に入るようになり、プレーヤのゲーム操作性や視認性の向上が可能になる。
【００２１】
また本発明の一態様では、前記仮想カメラ制御部は、前記移動体がヒットされた後に、前記移動体の移動先側に前記仮想カメラの視線方向を向ける制御を行ってもよい。
【００２２】
このようにすれば、プレーヤは、移動体の移動先を、仮想カメラにより映し出される画像を見ながら確認できるようになる。
【００２３】
また本発明の一態様では、前記ヒット演算部は、前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記移動体のヒット判定処理を行うための判定基準面を、前記仮想カメラに近づく方向に移動させてもよい。
【００２４】
このようにすれば、ヒット判定タイミング前にプレーヤの動き情報が検出された場合には、判定基準面が仮想カメラに近づく方向に移動するようになるため、プレーヤは、ヒット操作のためのタイミングを合わせやすくなり、プレーヤの操作性を向上できる。
【００２５】
また本発明の一態様では、前記移動体演算部は、前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記動き情報が検出されなかった場合に比べて強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【００２６】
このようにすれば、ヒット判定タイミング前にプレーヤの動き情報が検出されると、動き情報が検出されない場合に比べて強いヒット強さでヒットされて移動体が移動するようになる。
【００２７】
また本発明の一態様では、前記移動体演算部は、前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が大きいほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【００２８】
このようにすれば、プレーヤの動き量が大きいほど強いヒット強さでヒットされて移動体が移動するようになり、プレーヤの動き量の大きさを移動体の移動演算処理に反映できるようになる。
【００２９】
また本発明の一態様では、前記ヒット演算部は、前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも１つに基づいて、前記ヒット強さパラメータを設定してもよい。
【００３０】
このような各種情報に基づきヒット強さパラメータを設定すれば、これらの情報に応じて移動体がヒットされた時のヒット強さが変化するようになり、より多彩なヒット演算処理等を実現できる。
【００３１】
また本発明の一態様では、前記ヒット演算部は、前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が判定基準値を超えたか否かを判定し、前記移動体演算部は、前記プレーヤの動き量が判定基準値の超えた場合に、前記ヒット判定タイミング前での前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【００３２】
このようにすれば、例えばプレーヤの動き量が微少であるのに、この動き量が検出されて移動体のヒット強さが変化してしまうような事態を抑止できる。
【００３３】
また本発明の一態様では、前記ヒット演算部は、前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも１つに基づいて、前記判定基準値を設定してもよい。
【００３４】
このような各種情報に基づき判定基準値を設定すれば、これらの情報に応じて、プレーヤの動き量を検出する際の判定基準値が変化するようになり、より多彩なヒット演算処理等を実現できる。
【００３５】
また本発明の一態様では、前記ヒット演算部は、前記仮想カメラの移動に追従するヒット判定エリアを前記仮想カメラの前方側に設定し、前記移動体演算部は、ヒット判定タイミングにおける前記ヒット判定エリアと前記移動体との位置関係情報に基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【００３６】
このようにすれば、仮想カメラの移動に追従するヒット判定エリアと移動体との位置関係に応じて、ヒット後の移動体の移動状態（軌道、速度等）が変化するようになり、仮想カメラに追従するヒット判定エリアを用いた好適なヒット演算処理を実現できる。
【００３７】
また本発明の一態様では、前記移動体演算部は、前記ヒット判定タイミングでの前記ヒット判定エリアにおける前記移動体の位置情報に基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【００３８】
このようにすれば、ヒット判定タイミングでのヒット判定エリアにおける移動体の位置情報に応じて、ヒット後の移動体の移動状態が変化するようになり、ヒット判定エリアを用いた好適なヒット演算処理を実現できる。
【００３９】
また本発明の一態様では、前記ヒット判定タイミングにおける前記移動体及び前記仮想カメラの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として記憶部に記録する処理を行う記録処理部を含んでもよい（記録処理部としてコンピュータを機能させてもよい）。
【００４０】
このようにすれば、リプレイ時や通信対戦時において、例えばスムーズなモーション再生のプレーヤキャラクタを表示することが可能になり、リプレイ時に表示される画像や、通信対戦において相手プレーヤ等に表示される画像の品質の向上を図れる。
【００４１】
また本発明の他の態様は、操作情報を取得する操作情報取得部と、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記仮想カメラ制御部は、前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行うゲーム装置に関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００４２】
本発明の他の態様によれば、モーションセンサからのモーション検出情報によりプレーヤの動き情報が検出された場合に、仮想カメラの視線方向が、オブジェクトに向かう方向である第１の方向とモーション検出情報により特定される方向である第２の方向の間の第３の方向に向くように制御される。従って、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤの視野範囲内にオブジェクトの画像が適切に入るようになり、プレーヤのゲーム操作性や視認性の向上が可能になる。
【００４３】
また本発明の他の態様では、前記オブジェクトは、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体、或いは前記プレーヤのプレイ対象となるキャラクタであってもよい。
【００４４】
このようにすれば、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤキャラクタの部位又は所持物のヒット対象である移動体の画像や、プレーヤのプレイ対象となるキャラクタの画像が、例えばプレーヤの視野範囲内に適切に入るようになる。
【００４５】
また本発明の他の態様は、操作情報を取得する操作情報取得部と、移動体のヒット演算処理を行うヒット演算部と、前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記移動体演算部は、前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うサーバシステムに関係する。
【００４６】
また本発明の他の態様は、操作情報を取得する操作情報取得部と、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記仮想カメラ制御部は、前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第１の方向と、前記モーション検出情報により特定される方向である第２の方向との間の第３の方向に、前記仮想カメラの視線方向を向ける制御を行うサーバシステムに関係する。
【図面の簡単な説明】
【００４７】
【図１】本実施形態のゲーム装置の構成例。
【図２】本実施形態のサーバシステムの構成例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態が適用される携帯型ゲーム装置の構成例。
【図４】図４（Ａ）〜図４（Ｃ）はモーションセンサを用いた仮想カメラの視線方向の制御手法の説明図。
【図５】図５（Ａ）〜図５（Ｃ）は方向指示部を用いた仮想カメラの移動制御手法の説明図。
【図６】本実施形態により実現されるテニスゲームの説明図。
【図７】図７（Ａ）、図７（Ｂ）は本実施形態の手法の説明図。
【図８】図８（Ａ）、図８（Ｂ）も本実施形態の手法の説明図。
【図９】図９（Ａ）、図９（Ｂ）はプレーヤが携帯型ゲーム装置をＹ軸回りで回転させる動作を行った場合の仮想カメラの制御手法の説明図。
【図１０】プレーヤが携帯型ゲーム装置をＹ軸回りで回転させる動作を行った場合に生成されるゲーム画像の例。
【図１１】図１１（Ａ）、図１１（Ｂ）はプレーヤが携帯型ゲーム装置をＸ軸回りで回転させる動作を行った場合の仮想カメラの制御手法の説明図。
【図１２】プレーヤが携帯型ゲーム装置をＸ軸回りで回転させる動作を行った場合に生成されるゲーム画像の例。
【図１３】図１３（Ａ）、図１３（Ｂ）は仮想カメラにヒット判定エリアを追従させる手法の説明図。
【図１４】図１４（Ａ）〜図１４（Ｃ）はヒット判定エリア内でのボールのＸ、Ｙ座標に基づきヒット強さパラメータを設定する手法の説明図。
【図１５】ヒット判定エリア内でのボールのＸ、Ｙ座標に基づきヒット強さパラメータを設定する手法の説明図。
【図１６】図１６（Ａ）〜図１６（Ｃ）はヒット判定エリア内でのボールのＺ座標に基づきヒット方向パラメータを設定する手法の説明図。
【図１７】図１７（Ａ）、図１７（Ｂ）は本実施形態により生成されるゲーム画像の例。
【図１８】図１８（Ａ）、図１８（Ｂ）はボールに向かう第１の方向とモーションセンサで特定される第２の方向の間の第３の方向に仮想カメラの視線方向を向ける手法の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）はヒット後にボールの移動先側に仮想カメラの視線方向を向ける手法の説明図。
【図２０】図２０（Ａ）、図２０（Ｂ）はヒット判定前にプレーヤの動きが検出された場合にヒット判定処理の判定基準面を仮想カメラ側に移動させる手法の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）はプレーヤの動き量によるヒット強さパラメータの設定手法の説明図。
【図２２】動き量の判定基準値の設定手法の説明図。
【図２３】ヒット判定タイミングにおけるボールや仮想カメラの状態を特定する情報を、リプレイ時又は通信対戦時のモーション再生用情報として記録する手法の説明図。
【図２４】図２４（Ａ）、図２４（Ｂ）は他の球技ゲームへの本実施形態の適用例を説明する図。
【図２５】図２５（Ａ）、図２５（Ｂ）は球技ゲーム以外のゲームへの本実施形態の適用例を説明する図。
【図２６】本実施形態の詳細な処理を説明するフローチャート。
【図２７】本実施形態の詳細な処理を説明するフローチャート。
【図２８】本実施形態の詳細な処理を説明するフローチャート。
【発明を実施するための形態】
【００４８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４９】
１．構成
図１に本実施形態のゲーム装置（画像生成システム、ゲームシステム）のブロック図の例を示す。なお、本実施形態のゲーム装置の構成は図１に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００５１】
操作部１６０のモーションセンサは、ゲームコントローラや携帯型ゲーム装置などの機器の動きを検出するものであり、このような機器の動きを検出することでプレーヤの操作モーションなどを検出できる。このモーションセンサは、例えば加速度センサ、角速度センサ（ジャイロセンサ）や、カメラの画像センサなどの種々のセンサにより実現できる。加速度センサは直交３軸方向の各加速度情報を検出する。具体的には互いに直交する座標軸をＸ軸、Ｙ軸、Ｚ軸とした場合に、Ｘ軸方向に沿った第１の加速度情報、Ｙ軸方向に沿った第２の加速度情報、Ｚ軸方向に沿った第３の加速度情報を検出して、センサ検出情報として出力する。この加速度センサは、例えばＭＥＭＳ構造のピエゾ抵抗型や静電容量型のセンサなどにより実現できる。また角速度センサは、所定の回転軸回りの角速度情報を検出するセンサである。具体的に角速度センサは、直交３軸での角速度情報を検出するセンサであり、Ｘ軸、Ｙ軸、Ｚ軸回りでの角速度情報を検出する。例えばＸ軸回りの回転角度をα、Ｙ軸回りの回転角度をβ、Ｚ軸回りの回転角度をγとすると、これらのα、β、γについての角速度を検出して、センサ検出情報として出力する。この角速度センサは例えばＭＥＭＳ構造の多軸角速度センシングジャイロスコープなどにより実現できる。モーションセンサとして画像センサ（ＣＣＤ、ＣＭＯＳセンサ等）を用いた場合には、画像センサにより撮像された撮像画像の画素の動き情報などにより、ゲームコントローラや携帯型ゲーム装置などの機器の動きを検出すればよい。
【００５２】
なおモーションセンサは、ゲーム装置に内蔵されるものであってもよいし、ゲーム装置のオプションの外付け部品として用意されるものであってもよい。
【００５３】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００５４】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００５５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５６】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００５７】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他のゲーム装置、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００６０】
処理部１００は、操作情報取得部１０２、ゲーム演算部１０４、オブジェクト空間設定部１０６、仮想カメラ制御部１０８、ヒット演算部１１０、移動体演算部１１２、記録処理部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６１】
操作情報取得部１０２は、プレーヤの操作情報を取得する。例えばプレーヤが操作部１６０を用いて各種操作を行うと、その操作情報を取得する。例えば携帯型ゲーム装置にモーションセンサが内蔵されている場合には、プレーヤが携帯型ゲーム装置を動かすと、携帯型ゲーム装置に内蔵されたモーションセンサが、その動きを検出する。或いは、プレーヤが、操作部１６０であるゲームコントローラを動かした場合に、ゲームコントローラに内蔵されたモーションセンサからのモーション検出情報を、操作情報として取得してもよい。そして操作情報取得部１０２は、モーションセンサからのモーション検出情報を、操作情報として取得する。取得された操作情報は記憶部１７０に一時的に保存される。
【００６２】
ゲーム演算部１０４はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００６３】
オブジェクト空間設定部１０６は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ（人、動物、ロボット、車、船舶、飛行機等）、ボール、マップ（地形）、建物、コース（道路）、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７２には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１０６は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【００６４】
仮想カメラ制御部１０８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００６５】
ヒット演算部１１０はヒット演算処理を行う。例えばヒット判定処理やヒット演算パラメータの設定処理やヒット演出処理などを行う。ヒット演算部１１０の詳細については後述する。
【００６６】
移動体演算部１１２は、キャラクタやボール等の移動体を移動させるための演算処理を行う。また移動体（移動体オブジェクト）を動作させるための演算処理も行う。即ち操作部１６０によりプレーヤが入力した操作情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（オブジェクト、モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６７】
記録処理部１１４は、モーション再生用情報の記録処理を行う。モーション再生用情報はモーション再生用情報記憶部１７４に記憶される。記録処理部１１４の詳細については後述する。
【００６８】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、描画処理は頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００６９】
なお、画像生成部１２０が、いわゆる立体視用の画像を生成するようにしてもよい。この場合には、基準となる仮想カメラの位置とカメラ間距離を用いて、左眼用仮想カメラ（第１の視点用仮想カメラ）と右眼用仮想カメラ（第２の視点用仮想カメラ）を配置設定する。そして画像生成部１２０が、オブジェクト空間内において左眼用仮想カメラから見える左眼用画像（第１視点画像）と、オブジェクト空間内において右眼用仮想カメラから見える右眼用画像（第２視点画像）を生成する。そしてこれらの左眼用画像、右眼用画像を用いて、眼分離眼鏡方式や、レンチキュラなどを用いた裸眼方式などにより、立体視を実現すればよい。
【００７０】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７１】
そして本実施形態では、操作情報取得部１０２がプレーヤの操作情報を取得する。またヒット演算部１１０は、移動体のヒット演算処理を行い、移動体演算部１１２は、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う。例えばヒット演算部１１０は、移動体がヒット体（ラケット、手、バット等）によってヒットされたか否かを判定するヒット判定処理を行い、移動体演算部１１２は、ヒット判定処理の結果に基づいて、ヒット後の移動体をヒット方向に移動させる移動演算処理を行う。そして仮想カメラ制御部１０８が、仮想カメラの制御を行い、画像生成部１２０が、オブジェクト空間内において仮想カメラから見える画像を生成する。
【００７２】
具体的には操作情報取得部１０２は、モーションセンサからのモーション検出情報（加速度情報、角速度情報、画像情報等）を操作情報として取得する。なおプレーヤが操作部１６０を操作することで得られる情報を操作情報として取得してもよい。そして移動体演算部１１２は、取得されたモーション検出情報に基づいて、移動体のヒット判定タイミング前でのプレーヤの動き情報を検出する。即ちヒット判定タイミング前にプレーヤが携帯型ゲーム装置を動かすなどの動きを行うと、その動き情報が、モーションセンサからのモーション検出情報に基づいて検出される。そして移動体演算部１１２は、ヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。例えば、プレーヤの動き情報に基づいて、移動体のヒット強さパラメータなどのヒット演算パラメータが設定され、設定されたヒット演算パラメータに基づいて、ヒット後の移動体の移動演算処理が行われる。この移動演算処理では、例えばボール等の移動体の軌道（移動軌道）を所与のアルゴリズムやテーブルデータなどに基づき求める演算処理が行われる。
【００７３】
このように本実施形態では、モーションセンサからのモーション検出情報に基づいて、移動体のヒット判定タイミング前（ヒット前）でのプレーヤの動き情報が検出され、検出された動き情報に基づきヒット後の移動体の移動演算処理が行われる。例えば、この動き情報に基づいて、移動体のヒット強さ等が設定されて、ヒット後の移動体が移動するようになる。従って、モーションセンサを有効活用したヒット演算処理を実現できる。
【００７４】
ここで移動体（プレイ対象物）は、例えば球技ゲームにおけるボールである。但し、移動体は球技ゲームにおけるボールには限定されない。例えばヒット判定タイミングにおけるプレーヤの動き情報に基づくヒット演算処理によりヒット後に移動するようなオブジェクトであれば、移動体として種々のオブジェクトを想定できる。
【００７５】
またヒット判定タイミングは、ヒット判定の基準となるタイミングである。例えばヒット判定タイミングは、操作部１６０（操作ボタン等）をプレーヤが操作したタイミングである。或いは、プレーヤが操作部１６０を操作することで、プレーヤキャラクタ（表示又は非表示のプレーヤキャラクタ）が動作する場合に、ヒット判定タイミングは、そのプレーヤキャラクタの所持物（ラケット、バット等）や部位（手、足等）がボール等の移動体にヒットしたと想定されるタイミングであってもよい。
【００７６】
またプレーヤの動き情報は、ヒット判定タイミング前でのプレーヤの動き量を表す情報である。例えばヒット判定タイミング前でのプレーヤの動き量が判定基準値（判定基準となる動き量）を超えた場合に、ヒット判定タイミング前にプレーヤが動いたと判定し、その時の動き量（動きベクトル等）がプレーヤの動き情報として取得される。
【００７７】
また仮想カメラ制御部１０８は、取得されたモーション検出情報に基づいて、仮想カメラの視線方向を制御する。例えばモーション検出情報により検出されたプレーヤの動き方向や動き量に応じて、仮想カメラの視線方向を変化させる。例えばモーションセンサにより右方向側、左方向側へのプレーヤの動き（携帯型ゲーム装置の動き）が検出された場合には、各々、右方向側、左方向側に仮想カメラの視線方向を変化させる。またモーションセンサにより上方向側、下方向側へのプレーヤの動き（携帯型ゲーム装置の動き）が検出された場合には、各々、上方向側、下方向側に仮想カメラの視線方向を変化させる。
【００７８】
また、例えばモーションセンサは携帯型ゲーム装置に設けられるセンサであり、操作情報取得部１０２は、プレーヤが携帯型ゲーム装置を動かすことで得られたモーション検出情報を、モーションセンサから取得する。なおモーションセンサはゲームコントローラに設けられるセンサであってもよく、この場合には、操作情報取得部１０２は、プレーヤがゲームコントローラを動かすことで得られたモーション検出情報を、モーションセンサから取得する。また携帯型ゲーム装置が、ゲームカートリッジ等のゲーム情報記憶媒体の脱着が自在である場合に、モーションセンサは、ゲームカートリッジ等のゲーム情報記憶媒体に実装されるものであってもよい。
【００７９】
そして仮想カメラ制御部１０８は、携帯型ゲーム装置の動きに応じて仮想カメラの視線方向が変化するように仮想カメラを制御する。例えばプレーヤが携帯型ゲーム装置を、水平方向に沿った軸であるＸ軸回りでロールさせる操作を行った場合には、仮想カメラの視線方向を上下方向に変化させる。また携帯型ゲーム装置を、鉛直方向に沿った軸であるＹ軸回りでロールさせる操作を行った場合には、仮想カメラの視線方向を左右方向に変化させる。
【００８０】
また水平方向に沿った軸をＸ軸とし、鉛直方向に沿った軸をＹ軸としたとする。すると、仮想カメラ制御部１０８は、携帯型ゲーム装置をＹ軸回りで回転させる操作が行われた場合には、仮想カメラの視線方向を、Ｙ軸に対応するカメラ座標系のＹＣ軸回りで回転させる制御を行う。そしてヒット演算部１１０は、携帯型ゲーム装置をＹ軸回りで回転させる操作が行われた場合には、Ｙ軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。例えばＹ軸回りの回転に対応するテークバック動作等の準備動作をプレーヤが行ったとして、ヒット演算処理を行う。具体的には、このようなテークバック動作等の準備動作がヒット判定タイミング前（ヒット前）に行われた場合には、準備動作が行われなかった場合に比べて、例えばヒット強さを強くしたりヒット方向を異ならせたりするなどのヒット演算処理を行う。
【００８１】
また仮想カメラ制御部１０８は、携帯型ゲーム装置をＸ軸回りで回転させる操作が行われた場合には、仮想カメラの視線方向を、Ｘ軸に対応するカメラ座標系のＸＣ軸回りで回転させる制御を行う。そしてヒット演算部１１０は、携帯型ゲーム装置をＸ軸回りで回転させる操作が行われた場合に、Ｘ軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。例えばＸ軸回りの回転に対応するテークバック動作等の準備動作をプレーヤが行ったとして、準備動作が行われなかった場合に比べて、例えばヒット強さを強くしたりヒット方向を異ならせたりするなどのヒット演算処理を行う。
【００８２】
また操作情報取得部１０２は、操作情報として、プレーヤが入力した第１の操作情報と第２の操作情報を取得する。例えばモーションセンサからのモーション検出情報を第１の操作情報として取得し、操作部１６０の方向指示部（方向指示キー、アナログティック）からの方向指示情報を第２の操作情報として取得する。
【００８３】
そして仮想カメラ制御部１０８は、第１の操作情報に基づいて、仮想カメラの視線方向を制御し、第２の操作情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御する。例えば第１の操作情報であるモーション検出情報に基づいて、仮想カメラの視線方向を制御し、第２の操作情報である方向指示情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御する。この場合の第１の操作情報に基づく仮想カメラの視線方向の制御は、第１の操作情報に基づきプレーヤキャラクタの向く方向（視線方向）を制御し、プレーヤキャラクタの向く方向に追従するように仮想カメラの視線方向を制御する場合であってもよい。また第２の操作情報に基づく仮想カメラの視点位置の移動の制御は、第２の操作情報に基づいてプレーヤキャラクタの移動を制御し、プレーヤキャラクタの移動に追従するように仮想カメラの視点位置の移動を制御する場合であってもよい。また、逆に、第１の操作情報が方向指示情報であり、第２の操作情報がモーション検出情報であってもよい。この場合には、方向指示情報に基づいて、仮想カメラの視線方向が制御され、モーション検出情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動が制御されることになる。
【００８４】
また、仮想カメラから移動体に向かう方向を第１の方向とし、モーション検出情報により特定される方向を第２の方向としたとする。すると仮想カメラ制御部１０８は、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合に、第１の方向と第２の方向の間の第３の方向に、仮想カメラの視線方向を向ける制御を行ってもよい。即ち、モーションセンサによりプレーヤの動きが検出された場合に、仮想カメラの視線方向を、モーション検出情報により特定される第２の方向には向けずに、仮想カメラから移動体に向かう方向である第１の方向と第２の方向との間（中間）の第３の方向に向けるようにする。このようにすることで、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤの視野範囲内に移動体の画像が適切に入るようになり、プレーヤのゲーム操作性や視認性を向上できる。
【００８５】
なおこの場合の第１の方向は、仮想カメラからボール等の移動体へと向かう方向には限定されず、仮想カメラからオブジェクトに向かう方向とすることができる。即ち仮想カメラ制御部１０８は、モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、仮想カメラからオブジェクトに向かう方向である第１の方向と、モーション検出情報により特定される第２の方向との間の第３の方向に、仮想カメラの視線方向を向ける制御を行う。このようなオブジェクトとしては、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体や、プレーヤのプレイ対象となるキャラクタなどを想定できる。
【００８６】
また仮想カメラ制御部１０８は、移動体がヒットされた後に、移動体の移動先側に仮想カメラの視線方向を向ける制御を行ってもよい。例えば移動体の移動先に追従するように、仮想カメラの視線方向を変化させる制御を行う。なお、このように移動体の移動先側に仮想カメラの視線方向を向ける制御を行った後、所与の期間が経過した場合に、モーション検出情報で特定される方向側に向くように、仮想カメラの視線方向を戻す制御を行ってもよい。
【００８７】
またヒット演算部１１０は、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、移動体のヒット判定処理を行うための判定基準面を、仮想カメラに近づく方向に移動させる制御を行ってもよい。例えばジャストタイミングの位置を表す判定基準面を、仮想カメラから見て手前側に移動させる。こうすることで、テークバック動作等の準備動作により、仮想カメラの視線方向が、モーション検出情報で特定される方向側に向いた場合にも、移動体のヒット判定処理を適切に実行できるようになる。
【００８８】
また移動体演算部１１２は、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、動き情報が検出されなかった場合に比べて強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えばヒット判定タイミング前でのプレーヤの動き情報が検出されなかった場合には、ヒット強さパラメータを、第１のヒット強さに設定する。一方、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、ヒット強さパラメータを、第１のヒット強さよりも強い第２のヒット強さに設定する。そして、例えばプレーヤの動き情報が検出されなかった場合よりも速い速度でヒット後に移動体が移動するように、移動体の移動演算処理を行う。
【００８９】
更に具体的には移動体演算部１１２は、ヒット判定タイミング前での動き情報で表されるプレーヤの動き量が大きいほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えばプレーヤがテークバック動作等の準備動作として大きな動きをした場合には、小さな動きの場合よりも、強いヒット強さに設定して、より速い速度でヒット後に移動体が移動するように移動演算処理を行う。
【００９０】
この場合にヒット演算部１１０は、ヒット判定タイミング前での動き情報で表されるプレーヤの動き量が判定基準値を超えたか否かを判定してもよい。即ち、ヒット判定タイミング前でのプレーヤの動き量が、判定基準となる動き量を超えたか否かを判定する。
【００９１】
そして移動体演算部１１２は、プレーヤの動き量が判定基準値の超えた場合に、ヒット判定タイミング前での動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。例えば動き量が判定基準値以下である場合には、動き情報に基づくヒット後の移動体の移動演算処理は行わずに、動き量が判定基準値を超えた場合に限って、ヒット判定タイミング前での動き情報に基づく移動体の移動演算処理を行う。このようにすることで、プレーヤの微少な動きで、ヒット演算処理等が頻繁に行われてしまう事態を抑止できる。
【００９２】
ここで判定基準値は種々の情報に基づき設定できる。例えばヒット演算部１１０は、移動体をヒットするヒット体の情報（ラケットやバットの種類等）、ゲームの環境状態情報（ゲームフィールドや天候などの環境状態等）、ゲームの難易度設定情報（難易度のレベルの情報等）、プレーヤキャラクタの情報（プレーヤキャラクタに付随する能力、体力等の各種のパラメータ情報等）、及びプレーヤのゲーム成績情報（過去のゲーム実績等）の少なくとも１つに基づいて、判定基準値を設定してもよい。
【００９３】
なお、ヒット演算部１１０は、移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも１つに基づいて、ヒット強さパラメータを設定するようにしてもよい。
【００９４】
またヒット演算部１１０は、仮想カメラの移動に追従するヒット判定エリアを設定する。例えばヒット判定エリアを仮想カメラの前方側に設定する。例えばオブジェクト空間内において仮想カメラがＸ、Ｙ、Ｚ軸方向に移動すると、それに追従してヒット判定エリアもＸ、Ｙ、Ｚ軸方向に移動する。そして移動体演算部１１２は、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて、ヒット後の移動体の移動演算処理を行う。例えば、この位置関係情報に基づいて、移動体のヒット強さパラメータやヒット方向パラメータなどのヒット演算パラメータが設定され、設定されたヒット演算パラメータに基づいて、ヒット後の移動体の移動演算処理が行われる。
【００９５】
ここでヒット演算パラメータは、ヒット後の移動体の移動演算処理を行うために使用されるパラメータであり、ヒット強さやヒット方向などを設定するためのパラメータである。またヒット強さパラメータは、移動体のヒット度合い（ヒット速度、ヒット加速度）を表すパラメータであり、ヒット方向パラメータは、ヒット後の移動体の移動方向を設定するためのパラメータである。
【００９６】
またヒット判定エリア（ヒット判定ボリューム）は、移動体のヒット判定処理を行うためのエリアであり、例えば３次元形状のエリアである。なおヒット判定エリアとしては、例えば直方体（立方体を含む）、円柱、円錐等の種々の形状のエリアを想定できる。また、場合によってはヒット判定エリアを２次元形状のエリアとすることも可能である。
【００９７】
また移動体のヒット判定処理は、ボール等の移動体とヒット体（ラケット、バット、プレーヤキャラクタの部位等）とがヒットしたか否かを判定するための処理である。この場合に、ヒット体は実際に表示されるオブジェクトであってもよいし、非表示のオブジェクトであってもよい。
【００９８】
また仮想カメラの移動にヒット判定エリアが追従するとは、例えば仮想カメラの視点位置の並進移動に追従するようにヒット判定エリアが移動することである。例えば仮想カメラが前後左右に移動すると、それに連動してヒット判定エリアが前後左右に移動する。例えばヒット判定エリアは仮想カメラの前方側に設定される。具体的には仮想カメラの視線方向に沿った視軸に直交するようにヒット判定エリアが設定される。そして仮想カメラから見える画像が表示される画面の右端や左端の領域が、移動体がヒット可能な領域になるように、ヒット判定エリアが設定される。なお仮想カメラは、プレーヤが操作するプレーヤキャラクタに追従するように移動してもよい。この場合のプレーヤキャラクタは、その全部又は一部の部位がゲーム画像に実際に表示されるキャラクタであってもよいし、ゲーム画像に表示されない仮想的なキャラクタであってもよい。
【００９９】
またヒット判定エリアと移動体との位置関係情報は、例えばヒット判定エリアと移動体との相対的な位置情報や方向情報などである。また仮想カメラから見える画像として一人称視点の画像を生成する場合には、ラケット、ボール、手、足等のヒット体を表示するようにしてもよい。
【０１００】
また移動体演算部１１２は、ヒット判定タイミングでのヒット判定エリアにおける移動体の位置情報に基づいて、ヒット後（ヒット判定タイミング後）の移動体の移動演算処理を行う。ここでヒット判定エリアにおける移動体の位置情報とは、例えばヒット判定エリアのローカル座標系での位置情報である。但し絶対座標系やカメラ座標系での位置情報とする変形実施も可能である。
【０１０１】
具体的にはヒット判定エリアでの水平方向に沿った軸をＸ軸とし、鉛直方向に沿った軸をＹ軸としたとする。ここでＸ軸、Ｙ軸としては例えばヒット判定エリアのローカル座標系等のＸ軸、Ｙ軸とすることができる。この場合に移動体演算部１１２は、ヒット判定タイミングでの移動体のＸ座標情報（Ｘ座標を実質的に表す情報）及びＹ座標情報（Ｙ座標を実質的に表す情報）の少なくとも一方に基づき設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えばＸ座標情報やＹ座標情報で表されるＸ座標やＹ座標に応じてヒット強さが異なるヒット強さパラメータが設定され、設定されたヒット強さパラメータを用いて、ヒット後の移動体の移動演算処理を行う。具体的には移動体演算部１１２は、Ｘ軸、Ｙ軸で規定されるＸＹ平面において仮想カメラから遠ざかるほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えば当該ＸＹ平面において、仮想カメラの前方の位置（視軸上の位置、原点）ではヒット強さが最も弱くなり、当該前方の位置から遠ざかるほど（Ｘ軸又はＹ軸において遠ざかるほど）、ヒット強さが強くなるように、ヒット強さパラメータを設定する。このようにすることで、画面の中心ではヒット強さが弱くなり、画面の左端、右端、上端等に近づくほど、ヒット強さが強くなるようなヒット強さパラメータを設定できるようになる。なおヒット強さパラメータは、ヒット後の移動体の速度や加速度を設定するためのパラメータであれば十分であり、ヒット強さが強い設定の場合には、移動体の速度（加速度）が速くなり、ヒット強さが弱い設定の場合には、移動体の速度（加速度）が遅くなる。
【０１０２】
またヒット判定タイミングでの水平方向に沿った軸をＸ軸とし、鉛直方向に沿った軸をＹ軸とし、Ｘ軸及び前記Ｙ軸に直交する軸をＺ軸としたとする。ここでＸ軸、Ｙ軸、Ｚ軸としては例えばヒット判定エリアのローカル座標系等のＸ軸、Ｙ軸、Ｚ軸とすることができる。この場合に移動体演算部１１２は、ヒット判定タイミングでの移動体のＺ座標情報（Ｚ座標を実質的に表す情報）に基づき設定されたヒット方向パラメータに基づいて、ヒット後（ヒット判定タイミング後）の移動体の移動演算処理を行う。即ち、ヒット判定タイミングでの移動体のＺ座標情報で表されるＺ座標が、Ｚ軸において奥側か手前側かに応じて、ヒット後の移動体のヒット方向が異なるように、移動体の移動演算処理を行う。
【０１０３】
具体的には移動体演算部１１２は、ヒット判定タイミングにおいて判定基準面の位置に移動体が位置していた場合には、第１の方向側に、ヒット後の移動体を移動させる。ここで第１の方向側は、例えば正面方向であり、仮想カメラの視軸に沿った方向である。また移動体演算部１１２は、ヒット判定タイミングにおいて判定基準面面よりもＺ軸において奥側に移動体が位置していた場合には、第１の方向に対して左方向側及び右方向側のいずれか一方側である第２の方向側に、ヒット後の移動体を移動させる。例えばヒット判定エリアの右側領域（画面の右側領域）で移動体がヒットされ、且つＺ軸において判定基準面面よりも奥側に移動体が位置していた場合（テニスのフォアハンドストロークで早振りの場合）には、正面方向である第１の方向を基準として例えば左方向側に、移動体を移動させる。またヒット判定エリアの左側領域（画面の左領域）で移動体がヒットされ、且つＺ軸において判定基準面面よりも奥側に移動体が位置していた場合（バックハンドストロークで早振りの場合）には、第１の方向を基準として例えば右方向側に、移動体を移動させる。
【０１０４】
一方、移動体演算部１１２は、ヒット判定タイミングにおいて判定基準面面よりもＺ軸において手前側に移動体が位置していた場合には、第１の方向に対して一方側とは異なる他方側である第３の方向側に、ヒット後の移動体を移動させる。例えばヒット判定エリアの右側領域で移動体がヒットされ、且つＺ軸において判定基準面面よりも手前側に移動体が位置していた場合（フォアハンドストロークで振り遅れの場合）には、正面方向である第１の方向を基準として例えば右方向側に、移動体を移動させる。またヒット判定エリアの左側領域で移動体がヒットされ、且つＺ軸において判定基準面面よりも手前側に移動体が位置していた場合（バックハンドストロークで振り遅れの場合）には、第１の方向を基準として例えば左方向側に、移動体を移動させる。
【０１０５】
また移動体演算部１１２は、プレーヤが操作するプレーヤキャラクタの所持物又はプレーヤキャラクタを、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて制御する。即ち、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて移動体の移動演算処理を行う場合に、これに連動してプレーヤが操作するプレーヤキャラクタの所持物又はプレーヤキャラクタを制御する。例えば、プレーヤキャラクタの所持物（ラケット、バット等）を、ヒット判定エリアと移動体との位置関係情報で決まる方向に移動させたり、プレーヤキャラクタを、ヒット判定エリアと移動体との位置関係情報で特定されるモーションで動作させる。
【０１０６】
また記録処理部１１４は、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報を記憶部１７０（モーション再生用情報記憶部１７４）に記録する処理を行う。具体的には、ヒット判定タイミングにおける移動体及び仮想カメラの少なくとも一方の状態を特定する情報を、モーション再生用情報として記録する処理を行う。そして移動体演算部１１２は、プレーヤの過去のプレイ等を再現して表示部１９０に表示するリプレイ時には、記録されたモーション再生用情報に基づいて公知のモーション再生処理を行う。これにより表示部１９０にリプレイ画像が表示されるようになる。また通信対戦時には、他のプレーヤのモーション再生用情報を通信部１９６を介して受信し、受信した他のプレーヤのモーション再生用情報に基づいてモーション再生処理を行うことで、他のプレーヤに対応するキャラクタを動作させる。また、自身のプレーヤキャラクタのモーション再生用情報は、通信部１９６を介して他のプレーヤのゲーム装置（サーバシステム）に送信され、このモーション再生用情報に基づき動作するプレーヤキャラクタの画像が、他のプレーヤのゲーム装置において表示される。なお移動体の状態を特定する情報は、例えば、移動体のヒットイベントが起こったか否かや、どのような種類のヒットイベントが起こったかや、移動体がどのようなヒット強さでどのようなヒット方向にヒットされたかなどを特定する情報である。また仮想カメラの状態を特定する情報は、ヒット判定タイミングやその前後における仮想カメラの視線方向や視点位置の情報などである。
【０１０７】
なお本実施形態の手法はサーバシステムにより実現してもよい。図２にサーバシステムにより実現する場合の構成例を示す。
【０１０８】
サーバシステム５００は、端末装置ＴＭ１〜ＴＭｎとネットワーク５１０を介して通信接続される。例えばサーバシステム５００はホストであり、端末装置ＴＭ１〜ＴＭｎはクライアントである。サーバシステム５００は例えば１又は複数のサーバ（認証サーバ、ゲームサーバ、通信サーバ、課金サーバ等）により実現できる。ネットワーク５１０（配信網、通信回線）は、例えばインターネットや無線ＬＡＮ等を利用した通信路であり、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網や無線ＬＡＮ等の通信網を含むことができる。また通信方法については有線／無線を問わない。
【０１０９】
端末装置ＴＭ１〜ＴＭｎは、例えば携帯型ゲーム装置、据え置き型の家庭用ゲーム装置、或いは業務用ゲーム装置等により実現される。携帯型ゲーム装置は専用のゲーム装置であってもよいし、携帯電話機や携帯型情報端末などのゲームプログラムの実行が可能な汎用の装置であってもよい。
【０１１０】
サーバシステム５００は、処理部６００、記憶部６７０、情報記憶媒体６８０、通信部６９６を含む。処理部６００は、操作情報取得部６０２、ゲーム演算部６０４、オブジェクト空間設定部６０６、仮想カメラ制御部６０８、ヒット演算部６１０、移動体演算部６１２、記録処理部６１４、画像生成用データ生成部６２０、音生成用データ生成部６３０を含む。なおこれらの各部（各ブロック）の機能、動作等は、図１の各部（各ブロック）と同様である。
【０１１１】
例えばサーバシステム５００の操作情報取得部６０２は、操作情報を取得し、ヒット演算部６１０は、移動体のヒット演算処理を行い、移動体演算部６１２は、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う。そして仮想カメラ制御部６０８は、仮想カメラの制御を行い、画像生成用データ生成部６２０は、オブジェクト空間内におい仮想カメラから見える画像を生成するための画像生成用データを生成する。
【０１１２】
そして操作情報取得部６０２は、モーションセンサからのモーション検出情報を操作情報として取得する。また移動体演算部６１２は、モーション検出情報に基づいて、移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、ヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。また仮想カメラ制御部６０８は、モーション検出情報に基づいて、仮想カメラの視線方向を制御する。また操作情報取得部６０２は、操作情報として、プレーヤが入力した第１の操作情報と第２の操作情報を取得し、仮想カメラ制御部６０８は、第１の操作情報に基づいて、仮想カメラの視線方向を制御し、第２の操作情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御する。更に記録処理部６１４は、ヒット判定タイミングにおける移動体及び仮想カメラの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として、例えば記憶部６７０に記録する処理を行う。
【０１１３】
なお、画像を生成するための画像生成用データとは、本実施形態の手法により生成された画像をＴＭ１〜ＴＭｎの各端末装置において表示するためのデータであり、画像データそのものであってもよいし、各端末装置が画像を生成するために使用する各種データ（オブジェクトデータ、制御結果データ、判定結果データ又は表示画面の設定データ等）であってもよい。例えばサーバシステム５００が、各端末装置の操作部からの操作情報を取得し、各種の制御処理や各種の判定処理を行い、画像を生成して、ＴＭ１〜ＴＭｎの各端末装置に配信（ストリーム配信等）する場合には、上述の画像生成用データは画像データそのものになる。一方、サーバシステム５００が、各端末装置の操作部からの操作情報を取得し、各種の制御処理や各種の判定処理を行い、その制御結果や判定結果に基づいてＴＭ１〜ＴＭｎの各端末装置が画像を生成する場合には、上述の画像生成用データは、制御結果データや判定結果データやオブジェクトデータなどになる。音生成用データ生成部６３０が生成する音生成用データについても同様である。
【０１１４】
なお操作情報取得部６０２、ゲーム演算部６０４、オブジェクト空間設定部６０６、仮想カメラ制御部６０８、ヒット演算部６１０、移動体演算部６１２、記録処理部６１４、画像生成用データ生成部６２０、音生成用データ生成部６３０、記憶部６７０、情報記憶媒体６８０、通信部６９６等の詳細な機能、動作は図１で上述に説明したものと同様であるため、詳細な説明は省略する。
【０１１５】
２．本実施形態の手法
次に本実施形態の手法について具体的に説明する。なお、以下では本実施形態の手法をテニスゲームに適用した場合について主に説明するが、本実施形態の手法が適用されるゲームはテニスゲームに限定されず、例えばバレーボール、バトミントン、野球、サッカー、アメリカンフットボールなどの種々の球技ゲームや、球技ゲーム以外の種々のゲーム（アクションゲーム、ロールプレイングゲーム、音楽ゲーム、ミニゲーム等）にも適用できる。
【０１１６】
２．１  ヒット判定タイミング前の動き情報に基づくヒット演算処理
従来のテニスゲームでは、プレーヤに対応するプレーヤキャラクタをコート上に配置し、プレーヤは、操作部の方向指示キーや操作ボタンを用いてプレーヤキャラクタを操作してテニスゲームを楽しむ。
【０１１７】
しかしながら、このような従来のテニスゲームの手法では、プレーヤの実際の動きを、ボールを打ち返すストローク動作に反映させることができず、プレーヤの仮想現実感を今ひとつ高めることができなかった。また、従来のテニスゲームでは、コートのベースラインの後ろ側の位置に固定配置された仮想カメラから見た三人称視点の画像を生成する場合が殆どであったため、実際にテニス選手となってコート上を駆け回ってボールを打つというようなリアルな感覚を、プレーヤに体感させることが難しかった。
【０１１８】
そこで本実施形態では、モーションセンサからのモーション検出情報を操作情報として取得し、このモーション検出情報に基づいて、ボール（広義には移動体）のヒット判定タイミング前でのプレーヤの動き情報を検出する。そして、このヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後のボールの移動演算処理を行う。例えばヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、テークバック動作等の準備動作が行われたと判断する。そして、動き情報が検出されなかった場合に比べて強いヒット強さで、ボールが打ち返されるようにボールの移動演算処理を行う。こうすることで、プレーヤのリアルな動きを、ボールを打ち返すストローク動作等に反映させることが可能になり、プレーヤの仮想現実感を高めることが可能になる。
【０１１９】
また、例えばコートのベースラインの後ろ側に固定配置された仮想カメラの視点ではなく、実際のテニス選手の視点に追従するような仮想カメラの視点での画像を生成する。一例としてはテニス選手の視点での一人称視点の画像を生成する。この場合に例えばラケットやテニス選手の腕等の部位を画面上に表示してもよい。
【０１２０】
そして、このような視点での画像を生成しながら、例えば画面の真ん中付近でボールを捕らえてヒットすれば、弱い当たりのストロークになり、画面の右端でボールをヒットすれば強い当たりのフォアハンドストロークになるような処理を行う。また画面の左端でボールをヒットすれば強い当たりのバックハンドストロークになるような処理を行う。こうすることで、あたかも実際のテニス選手となってコート上を駆け回ってボールを打っているようなリアルな感覚をプレーヤに体感させることができ、従来のテニスゲームに比べてプレーヤの仮想現実感を大幅に向上できる。
【０１２１】
次に本実施形態の手法について更に具体的に説明する。以下では、仮想カメラの視線方向等を制御する手法として、携帯型ゲーム装置に設けられたモーションセンサを用いる手法を例にとり説明する。
【０１２２】
図３（Ａ）、図３（Ｂ）に、本実施形態の手法が適用される携帯型ゲーム装置の構成例を示す。この携帯型ゲーム装置は、メイン表示部１９０Ｍとサブ表示部１９０Ｓを有する。サブ表示部１９０Ｓは、例えばタッチパネル方式の液晶ディスプレイにより実現され、ゲーム装置の筐体１０に設けられる。メイン表示部１９０Ｍは、サブ表示部１９０Ｓよりも例えば画素数が多いディスプレイとなっており、例えば液晶ディスプレイなどにより実現される。なお、メイン表示部１９０Ｍは、例えば裸眼の立体視画像を表示できるディスプレイになっており、ゲーム画像が立体視で表示される。
【０１２３】
携帯型ゲーム装置の筐体１０と筐体２０は回動自在に設けられており、筐体１０には、方向指示キー１２、アナログスティック（ジョイスティック）１４、操作ボタン１６が設けられている。また図３（Ｂ）に示すように、筐体２０の背面側（メイン表示部１９０Ｍの反対側）には第１、第２のカメラＣＭ１、ＣＭ２が設けられている。これらの第１、第２のカメラＣＭ１、ＣＭ２を用いて被写体を撮影することで、視差のある左眼用画像と右眼用画像を得ることが可能になり、立体視表示が可能になる。
【０１２４】
更に携帯型ゲーム装置には図示しないモーションセンサ（６軸センサ）が内蔵されている。そして、プレーヤが携帯型ゲーム装置を手に持って動かした場合に、このモーションセンサを用いることで、図３（Ａ）のＸ軸、Ｙ軸、Ｚ軸方向での加速度や、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りでの角速度を検出できる。これによりＸ軸、Ｙ軸、Ｚ軸方向での並進移動操作や、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りでの回転角度（ロール操作、ロール角度）を検出できるようになる。なお、Ｘ軸（広義には第１の座標軸）は水平方向（表示部の画面の水平方向）に沿った軸であり、Ｙ軸（広義には第２の座標軸）は鉛直方向（表示部の画面の鉛直方向）に沿った軸であり、Ｚ軸（広義には第３の座標軸）はＸ軸、Ｙ軸に直交する方向（奥行き方向）である。
【０１２５】
次に、モーション検出情報に基づく仮想カメラの視線方向の制御について、図４（Ａ）〜図４（Ｃ）を用いて詳細に説明する。本実施形態ではモーションセンサからのモーション検出情報を第１の操作情報として取得し、この第１の操作情報であるモーション検出情報に基づいて、仮想カメラの視線方向を制御する。
【０１２６】
例えば図４（Ａ）のＤ１、Ｄ２に示すように、プレーヤは、携帯型ゲーム装置（ゲームコントローラ）をＸ軸回りに回転（ロール）させる操作を行うことができる。この場合には、モーションセンサの角速度センサにより、このＸ軸回りでの回転操作（ロール操作）が検出される。
【０１２７】
そして図４（Ａ）のＤ１に示すように、Ｘ軸において反時計回り（回転軸の正の側から見て反時計回り。負方向の回転）に携帯型ゲーム装置を回転（ロール）させた場合には、図４（Ｂ）のＥ１に示すように、カメラ座標系のＸＣ軸において反時計回りに仮想カメラＶＣの視線方向ＶＬが回転する。これにより、仮想カメラＶＣの視線方向ＶＬを、例えば後述するようなスマッシュ（或いはサーブ）に好適な視線方向に設定できるようになる。
【０１２８】
一方、図４（Ａ）のＤ２に示すように、Ｘ軸において時計回り（回転軸の正の側から見て時計回り。正方向の回転）で携帯型ゲーム装置を回転させた場合には、図４（Ｂ）のＥ２に示すように、カメラ座標系のＸＣ軸において時計回りに仮想カメラＶＣの視線方向ＶＬが回転する。
【０１２９】
また図４（Ａ）のＤ３、Ｄ４に示すように、プレーヤが、携帯型ゲーム装置をＹ軸回りに回転させた場合には、モーションセンサの角速度センサにより、このＹ軸回りでの回転操作が検出される。
【０１３０】
そして図４（Ａ）のＤ３に示すように、Ｙ軸において反時計回りに携帯型ゲーム装置を回転させた場合には、図４（Ｃ）のＥ３に示すように、カメラ座標系のＹＣ軸において反時計回りに仮想カメラＶＣの視線方向ＶＬが回転するようになる。これにより、仮想カメラＶＣの視線方向ＶＬを、例えばバックハンドストローク（右利きの場合）に好適な視線方向に設定できるようになる。
【０１３１】
一方、図４（Ａ）のＤ４に示すように、Ｙ軸において時計回りに携帯型ゲーム装置を回転させた場合には、図４（Ｃ）のＥ４に示すように、カメラ座標系のＹＣ軸において時計回りに仮想カメラＶＣの視線方向ＶＬが回転するようになる。これにより、仮想カメラＶＣの視線方向ＶＬを、例えばフォアハンドストローク（右利きの場合）に好適な視線方向に設定できるようになる。
【０１３２】
なお、モーションセンサとして、角速度センサ等ではなく、画像センサを用いて、携帯型ゲーム装置の回転操作を検出し、仮想カメラの視線方向等を制御してもよい。即ちカメラの撮像センサによる撮像画像を用いて、携帯型ゲーム装置の回転操作を検出して、仮想カメラの視線方向等を制御する。例えば図３（Ｂ）に示すようなカメラＣＭ１、ＣＭ２により携帯型ゲーム装置の周りの風景を撮影し、得られたカメラＣＭ１、ＣＭ２の撮像画像に対して画像処理を行うことで、撮像画像の画素の動き情報から携帯型ゲーム装置の回転操作を検出する。このようにすれば、携帯型ゲーム装置が有する画像センサをモーションセンサとして用い、携帯型ゲーム装置の回転操作を検出して、仮想カメラの視線方向等を制御できるようになる。
【０１３３】
次に、方向指示情報に基づく仮想カメラの視点位置等の移動の制御について、図５（Ａ）〜図５（Ｃ）を用いて詳細に説明する。本実施形態では、方向指示部からの方向指示情報を第２の操作情報として取得し、第２の操作情報である方向指示情報に基づいて、仮想カメラの視点位置の移動（プレーヤキャラクタの移動）を制御する。
【０１３４】
例えば図５（Ａ）や図５（Ｂ）のＢ１〜Ｂ４に示すように、方向指示部である方向指示キー１２やアナログスティック１４（ジョイスティック）を用いて上下左右方向の方向指示操作が行われたとする。この場合には、指示された方向に対応する方向に、仮想カメラＶＣの視点位置（プレーヤキャラクタの位置）を移動させる。
【０１３５】
具体的には、図５（Ａ）や図５（Ｂ）のＢ１〜Ｂ４に示すような方向指示が行われた場合には、図５（Ｃ）のＣ１〜Ｃ４に示す方向に仮想カメラＶＣを移動させる。
【０１３６】
例えば方向指示キー１２やアナログスティック１４などの方向指示部により、図５（Ａ）、図５（Ｂ）のＢ１、Ｂ２に示すように上下方向の方向指示が行われた場合には、図５（Ｃ）のＣ１、Ｃ２に示すように、仮想カメラＶＣを前後方向に移動させる。一方、図５（Ａ）、図５（Ｂ）のＢ３、Ｂ４に示すように左右方向の方向指示が行われた場合には、図５（Ｃ）のＣ３、Ｃ４に示すように、仮想カメラＶＣを左右方向に移動させる。
【０１３７】
以上のようにモーション検出情報に基づき仮想カメラの視線方向を制御し、方向指示情報に基づいて仮想カメラの視点位置の移動を制御することで、携帯型ゲーム装置を用いた一人称視点画像の生成に好適な仮想カメラの制御手法を実現できる。
【０１３８】
例えば図６に本実施形態により実現されるテニスゲームの例を示す。本実施形態では図６に示すように、プレーヤが携帯型ゲーム装置を所持して、表示部に表示されるゲーム画像を見ながらテニスゲームを楽しむ。そして図４（Ａ）のＤ１〜Ｄ４に示すようにプレーヤが携帯型ゲーム装置を動かすと、この動きがモーションセンサにより検出され、携帯型ゲーム装置の動きに連動して、図４（Ｂ）、図４（Ｃ）に示すように仮想カメラＶＣの視線方向ＶＬが変化するようになる。またプレーヤが図５（Ａ）、図５（Ｂ）に示すように携帯型ゲーム装置の方向指示キー１２やアナログスティック１４などの方向指示部を操作すると、図５（Ｃ）に示すように仮想カメラＶＣの視点位置が移動する。
【０１３９】
従って、プレーヤは、方向指示部を操作することで、あたかも実際のテニス選手になったかのような感覚でコート上を走り回ることができる。また携帯型ゲーム装置を左右方向や上下方向に動かすことで視線方向を変化させて、相手キャラクタが打ったボールを視野範囲に収めて、ボールを打ち返すことが可能になる。これにより、コートのベースラインの後方に仮想カメラが固定配置されていた従来のテニスゲームに比べて、プレーヤの仮想現実感を格段に向上することができる。
【０１４０】
そして本実施形態ではこのような仮想カメラの制御手法での画像を生成する際のヒット後のボールの移動演算手法として、以下に説明する手法を採用している。
【０１４１】
まず本実施形態では、モーションセンサからのモーション検出情報を操作情報として取得し、ヒット判定タイミング前でのプレーヤの動き情報を検出する。そして、検出されたプレーヤの動き情報に基づいて、ヒット後のボールＢＬの移動演算処理を行う。
【０１４２】
具体的には、ボールＢＬのヒット判定タイミング前にプレーヤが携帯型ゲーム装置を動かすと、ヒット判定タイミング前の携帯型ゲーム装置の動きを、モーション検出情報に基づき検出する。例えば図７（Ａ）のＨ１に示すように、プレーヤがヒット判定タイミング前に携帯型ゲーム装置をＹ軸回りで回転させる操作を行うと、この携帯型ゲーム装置のＹ軸回りでの回転の動きが、モーション検出情報により検出される。
【０１４３】
そして、このようにヒット判定タイミング前に携帯型ゲーム装置のＹ軸回りでの回転の動きが検出されると、図７（Ｂ）のＨ２に示すように、仮想カメラＶＣの視線方向ＶＬを、Ｙ軸に対応するカメラ座標系のＹＣ軸回りで回転させる。また、このＹ軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。テニスゲームを例にとればフォアハンドストロークのテークバック動作をプレーヤが行ったとして、ボールＢＬをラケットＲＫによりフォアハンドストロークで打ち返すヒット演算処理を行う。具体的には、ヒット判定タイミング前に、このようなＹ軸回りでの回転の動きが検出された場合には、プレーヤがテークバック動作（広義には準備動作）を行ったと判断し、このような動きが検出されなかった場合に比べて強いヒット強さのフォアハンドストロークで、ボールＢＬが打ち返されるようにする。
【０１４４】
また図８（Ａ）のＨ３に示すように、プレーヤがヒット判定タイミング前に携帯型ゲーム装置をＸ軸回りで回転させる操作を行うと、この携帯型ゲーム装置のＸ軸回りでの回転の動きが、モーション検出情報により検出される。
【０１４５】
そして、このようにヒット判定タイミング前に携帯型ゲーム装置のＸ軸回りでの回転の動きが検出されると、図８（Ｂ）のＨ４に示すように、仮想カメラＶＣの視線方向ＶＬを、Ｘ軸に対応するカメラ座標系のＸＣ軸回りで回転させる。また、このＸ軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。テニスゲームを例にとればスマッシュのテークバック動作をプレーヤが行ったとして、ボールＢＬをラケットＲＫによりスマッシュで打ち返すヒット演算処理を行う。具体的には、ヒット判定タイミング前に、このようなＸ軸回りでの回転の動きが検出された場合には、プレーヤがテークバック動作を行ったと判断し、このような動きが検出されなかった場合に比べて強いヒット強さのスマッシュで、ボールＢＬが打ち返されるようにする。
【０１４６】
例えば図９（Ａ）では、プレーヤは、ボールをヒットする前に、携帯型ゲーム装置を右側に振っている。即ちプレーヤは、携帯型ゲーム装置をあたかもラケットのように振りかぶって、テークバック動作を行っている。そうすると、このプレーヤのテークバック動作の動きが、携帯型ゲーム装置に内蔵されるモーションセンサにより検出される。そして、モーションセンサからのモーション検出情報に基づいて、図９（Ｂ）に示すように仮想カメラＶＣの視線方向ＶＬが変化して、右側に向くようになる。
【０１４７】
図１０は、プレーヤがこのようなテークバック動作を行った場合に生成されるゲーム画像の例である。プレーヤが携帯型ゲーム装置を右側に振ると、図９（Ｂ）のように仮想カメラＶＣの視線方向ＶＬも右側に向くように変化するため、図１０に示すような右横側を見るゲーム画像が生成されるようになる。
【０１４８】
そして、このようにボールＢＬのヒット前に、プレーヤが携帯型ゲーム装置を用いてテークバック動作を行い、ボールＢＬがヒットされたと判定されると、より強いヒット強さでボールＢＬが打ち返されるようになる。即ち、プレーヤがテークバック動作を行い、その後のヒット判定タイミングにおいて、後述するヒット判定処理の詳細で説明するようにボールＢＬがヒット判定エリアの例えば右端付近に位置すると判定されると、テークバック動作を行わない場合よりも強いヒット強さでボールが打ち返され、より速い速度でボールが相手側のコートに飛んで行くようになる。
【０１４９】
このようにすれば、プレーヤは、ヒット前にテークバック動作を行って、画面の右端や左端でボールＢＬを打ち返せば、より速い速度でボールＢＬを打ち返すことが可能になり、実際のテニスと同様のショット感覚をプレーヤに与えることが可能になる。なお、図１０では、プレーヤ（右利き）が携帯型ゲーム装置を右側に振るテークバック動作を行って、画面の右端でボールＢＬを打ち返すことで、強いフォアハンドストロークでボールＢＬが打ち返されている。これとは逆に、プレーヤが携帯型ゲーム装置を左側に振るテークバック動作を行って、画面の左端でボールＢＬを打ち返すことで、強いバックハンドストロークでボールＢＬが打ち返されるようになる。
【０１５０】
また図１１（Ａ）では、プレーヤは、ボールをヒットする前に、携帯型ゲーム装置を上側に振り上げている。即ちプレーヤは、携帯型ゲーム装置をあたかもラケットのように上に振り上げて、スマッシュのテークバック動作を行っている。そうすると、このプレーヤの動きが、携帯型ゲーム装置に内蔵されるモーションセンサにより検出される。そして、モーションセンサからのモーション検出情報に基づいて、図１１（Ｂ）に示すように仮想カメラＶＣの視線方向が変化して、上側に向くようになる。
【０１５１】
図１２は、プレーヤがこのようなスマッシュのテークバック動作を行った場合に生成されるゲーム画像の例である。プレーヤが携帯型ゲーム装置を上側に振り上げると、図１１（Ｂ）のように仮想カメラＶＣの視線方向も上側に向くため、図１２に示すような上側を見るゲーム画像が生成されるようになる。
【０１５２】
そして、このようにボールＢＬのヒット前に、プレーヤが携帯型ゲーム装置を用いてスマッシュのテークバック動作を行い、ボールＢＬがヒットされたと判定されると、強いヒット強さのスマッシュでボールＢＬが打ち返されるようになる。即ち、プレーヤがスマッシュのテークバック動作を行い、その後のヒット判定タイミングにおいて、ボールＢＬがヒット判定エリアの例えば上端付近に位置すると判定されると、スマッシュのテークバック動作を行わない場合よりも強いヒット強さでボールが打ち返され、より速い速度でボールが相手側のコートに飛んで行くようになる。
【０１５３】
このようにすれば、プレーヤは、ヒット前にスマッシュのテークバック動作を行って、画面の上端でボールＢＬを打ち返せば、より速い速度のスマッシュでボールＢＬが打ち返されるようになり、実際のテニスと同様のショット感覚をプレーヤに与えることが可能になる。
【０１５４】
次に本実施形態のヒット判定処理の詳細について説明する。本実施形態では図１３（Ａ）、図１３（Ｂ）に示すように、仮想カメラＶＣの例えば前方側にヒット判定エリアＨＡＲを設定する。そして図１３（Ａ）、図１３（Ｂ）に示すように、仮想カメラＶＣの移動に追従するように、ヒット判定エリアＨＡＲについても移動させる。
【０１５５】
例えば図１３（Ａ）では、図５（Ａ）〜図５（Ｃ）で説明したように方向指示部からの方向指示情報に基づいて、仮想カメラＶＣが右方向に移動している。この場合には仮想カメラＶＣの前方側に設定されたヒット判定エリアＨＡＲも右方向に移動する。
【０１５６】
また図１３（Ｂ）では、方向指示部からの方向指示情報に基づいて、仮想カメラＶＣが右上方向に移動している。この場合には仮想カメラＶＣの前方側に設定されたヒット判定エリアＨＡＲも右上方向に移動する。このようにヒット判定エリアＨＡＲは仮想カメラＶＣの移動に連動して移動する。
【０１５７】
このようにヒットエリアＨＡＲの移動制御を行うことで、プレーヤが、自身の目の前に飛んで来るボールを打ち返すことができるテニスゲームを実現できるようになる。
【０１５８】
具体的には図１４（Ａ）において、例えばヒット判定タイミングにおいてヒット判定エリアＨＡＲ内にボールＢＬ（広義には移動体）が位置していた場合には、ボールＢＬはプレーヤのラケット（広義にはヒット体）によりヒットされたと判定する。この場合にヒット判定タイミングは、例えばプレーヤが操作部１６０を用いてショットの操作を行ったタイミングである。或いは、ヒット判定タイミングは、このようなショット操作を行うことで、プレーヤキャラクタ（表示又は非表示のプレーヤキャラクタ）がショットモーションを行い、そのショットモーションの中でプレーヤキャラクタがボールを打ったと想定されるタイミングであってもよい。
【０１５９】
そして本実施形態では、このようなヒット判定タイミングでのヒット判定エリアＨＡＲにおけるボールＢＬ（移動体）の位置情報に基づいて、ボールのヒット移動演算処理を行う。例えば図１４（Ａ）に示すようにヒット判定エリアＨＡＲでの水平方向に沿った軸をＸ軸とし、鉛直方向に沿った軸をＹ軸とし、Ｘ軸及びＹ軸に直交する軸をＺ軸としたとする。この場合にはヒット判定タイミングでのボールＢＬのＸ座標情報やＹ座標情報に基づいて、ボールＢＬのヒット強さを設定する。
【０１６０】
例えば図１４（Ａ）では、ヒット判定タイミングにおいてボールＢＬは、ヒット判定エリアＨＡＲの真ん中付近に位置している。即ちボールＢＬは仮想カメラＶＣの正面に位置しており、図６等に示すゲーム画像においては画面の中心付近にボールＢＬが表示されるようになる。例えば仮想カメラＶＣの正面に対応する位置をＸ軸、Ｙ軸の原点とした場合には、図１４（Ａ）のボールＢＬのＸ座標は仮想カメラＶＣ（原点）に近い位置になる。このような場合には、ヒット強さを弱くして、遅い速度でボールＢＬが打ち返されるように、ボールＢＬの移動演算処理を行う。
【０１６１】
また図１４（Ｂ）では、ヒット判定タイミングにおいてボールＢＬは、ヒット判定エリアＨＡＲの右端付近に位置している。即ち、ヒット判定タイミングにおいてボールＢＬは仮想カメラＶＣの右側に位置しており、ゲーム画像においては画面の右端付近にボールＢＬが表示されるようになる。即ちボールＢＬのＸ座標は仮想カメラＶＣから正方向側に遠い位置になる。このような場合には、ヒット強さを強くして、速い速度でボールＢＬが打ち返されるように、ボールＢＬの移動演算処理を行う。具体的には右利きプレーヤの場合には強いフォアハンドストロークでボールＢＬが打ち返されるようにする。
【０１６２】
また図１４（Ｃ）では、ヒット判定タイミングにおいてボールＢＬは、ヒット判定エリアＨＡＲの左端付近に位置している。即ち、ヒット判定タイミングにおいてボールＢＬは仮想カメラＶＣの左側に位置しており、ゲーム画像においては画面の左端付近にボールＢＬが表示されるようになる。即ちボールＢＬのＸ座標は仮想カメラＶＣから負方向側に遠い位置になる。このような場合には、ヒット強さを強くして、速い速度でボールＢＬが打ち返されるように、ボールＢＬの移動演算処理を行う。具体的には右利きプレーヤの場合には強いバックハンドストロークでボールＢＬが打ち返されるようにする。
【０１６３】
図１５は、ヒット判定エリア内でのボールＢＬのＸ座標ＸＢ、Ｙ座標ＹＢに基づくヒット強さパラメータＰＳの設定手法を説明する図である。図１５に示すようにヒット強さパラメータＰＳは、ボールＢＬの座標ＸＢ、ＹＢの関数Ｆ（ＸＢ、ＹＢ）で表される。そしてボールＢＬが例えばＸＹ平面の原点から遠ざかるにつれて、ヒット強さパラメータＰＳで表されるヒット強さは強くなる。即ちＸＹ平面において仮想カメラＶＣから遠ざかるほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後のボールＢＬの移動演算処理が行われる。なお、例えばＹ座標ＹＢが大きい場合には、スマッシュが行われたとして、強いスマッシュショットでボールＢＬが打ち返されるような移動演算処理が行われる。但し、ボールＢＬのＸ座標ＸＢのみに基づいて、或いはＹ座標ＹＢのみに基づいて、ヒット強さパラメータＰＳを設定するようにしてもよい。
【０１６４】
また本実施形態では、ヒット判定タイミングでのボールのＺ座標情報に基づき設定されたヒット方向パラメータに基づいて、ヒット後の移動体の移動演算処理を行う。
【０１６５】
例えば図１６（Ａ）において、ヒット判定エリアＨＡＲに設定された判定基準面ＲＳは、例えばジャストタイミングの位置を表す面となっている。そしてヒット判定タイミングにおいて判定基準面ＲＳの位置にボールＢＬが位置していた場合には、図１６（Ａ）に示すように正面方向である第１の方向ＤＲ１側に、ヒット後のボールＢＬを移動させる。即ちヒット判定タイミングはジャストタイミングであると判定して、正面方向にボールＢＬが打ち返されるようにする。
【０１６６】
また図１６（Ｂ）では、ヒット判定タイミングにおいて判定基準面面ＲＳよりもＺ軸において奥側にボールＢＬが位置している。この場合には、第１の方向ＤＲ１に対して左方向側（広義には第１の方向に対して左方向側及び右方向側のいずれか一方側）である第２の方向ＤＲ２側に、ヒット後のボールＢＬを移動させる。即ち、ヒット判定タイミングはジャストタイミングよりも早いタイミングであると判定して、左方向側にボールＢＬが打ち返されるようにする。例えば右利きの場合には早振りのフォアハンドストロークでボールＢＬが打ち返されるようになる。
【０１６７】
また図１６（Ｃ）では、ヒット判定タイミングにおいて判定基準面面ＲＳよりもＺ軸において手前側にボールＢＬが位置している。この場合には、第１の方向ＤＲ１に対して右方向側（広義には第１の方向に対して一方側とは異なる他方側）である第３の方向ＤＲ３側に、ヒット後のボールＢＬを移動させる。即ち、ヒット判定タイミングはジャストタイミングよりも遅いタイミングであると判定して、右方向側にボールＢＬが打ち返されるようにする。例えば右利きの場合には振り遅れのフォアハンドストロークでボールＢＬが打ち返されるようになる。
【０１６８】
以上のようにすることで、ヒット判定タイミングでのボールのＺ座標情報に基づき設定されたヒット方向で、ヒット後のボールＢＬを移動させることが可能になる。
【０１６９】
図１７（Ａ）、図１７（Ｂ）は、本実施形態により生成されるゲーム画像の例である。図１７（Ａ）は、図１４（Ａ）のようにヒット判定タイミングにおいてヒット判定エリアＨＡＲの真ん中付近にボールＢＬが位置していた場合のゲーム画像の例であり、ボールＢＬは画面の真ん中付近に表示されている。この場合には、弱いショットでボールＢＬが打たれたと判定され、ボールＢＬが遅い速度で打ち返されるゲーム画像が生成されるようになる。
【０１７０】
図１７（Ｂ）は、図１４（Ｂ）のようにヒット判定タイミングにおいてヒット判定エリアＨＡＲの右端付近にボールＢＬが位置していた場合のゲーム画像の例であり、ボールＢＬは画面の右端付近に表示されている。この場合には、強いフォアハンドショットでボールＢＬが打たれたと判定され、ボールＢＬが速い速度で打ち返されるゲーム画像が生成されるようになる。
【０１７１】
なお図１７（Ａ）、図１７（Ｂ）では、ボールＢＬのヒット位置に対応する位置にラケットＲＫを表示している。例えば図１７（Ａ）では、ボールＢＬが画面の真ん中付近でヒットされているため、ラケットＲＫは画面の真ん中付近に表示され、図１７（Ｂ）では、ボールＢＬが画面の右端付近でヒットされているため、ラケットＲＫは画面の右端付近に表示される。このようにすることで、図１７（Ａ）、図１７（Ｂ）のような一人称視点の画像であっても、ボールＢＬが打ち返された位置をプレーヤは容易に把握できるようになる。
【０１７２】
このように本実施形態では、画面の真ん中付近でボールが打ち返された場合には、弱いショットになり、腕を伸ばした位置に相当する画面の右端や左端付近でボールが打ち返された場合には、強いショットになる。つまり体の正面でボールを捕らえるボディショットの場合には、弱いショットになり、腕を伸ばして体の右側や左側でしっかりとボールを捕らえた場合には、強いショットになる。従って、プレーヤは、正面に来たボールを左右に回り込んで打ち返すことで速いショットを打てるようになり、実際のテニスのようなリアルなショット感覚をプレーヤに与えることが可能になる。
【０１７３】
以上のように本実施形態によれば、プレーヤは、方向指示部により仮想カメラを移動させると共に携帯型ゲーム装置を動かすことで視線方向を変化させて、コート上でボールを追うことができる。そしてプレーヤは、携帯型ゲーム装置を動かして、テークバック動作を行うことで、ボールを速い速度で打ち返すことが可能になる。また画面の右端や左端や上端でボールを捕らえてヒットすることで、画面上のヒット位置に対応したストロークでボールを打ち返すことが可能になる。従って、実際のスポーツに近い動きを行いながら、様々な方向で見てボールを追いかけてボールを打ち返すことが可能になる。これにより、プレーヤは、周囲に広がるフィールドやスポーツのプレイの臨場感を体感することができ、これまでにない仮想現実感を実現できるゲームの提供が可能になる。
【０１７４】
２．２  仮想カメラ及び判定基準面の制御
次に仮想カメラや判定基準面の種々の制御手法について説明する。本実施形態では図９（Ａ）に示すようにプレーヤが携帯型ゲーム装置を動かすと、図９（Ｂ）に示すように仮想カメラの視線方向が変化し、図１０に示すようなゲーム画像が生成される。
【０１７５】
しかしながら、モーション検出情報のみに基づいて仮想カメラの視線方向を変化させると、ボールがプレーヤの視野範囲から外れてしまい、ボールを打ち返す時に、ボールがゲーム画像に映らなくなってしまう事態が生じる。このような事態が生じると、プレーヤがボールＢＬを打ち返すのが難しくなり、プレーヤのゲーム操作性が悪化する。
【０１７６】
そこで本実施形態では、モーション検出情報だけではなく、移動体であるボールへの方向も反映させて、仮想カメラの視線方向を設定することが望ましい。
【０１７７】
具体的には図１８（Ａ）、図１８（Ｂ）において、第１の方向ＤＱ１は、仮想カメラＶＣからボールＢＬ（移動体）に向かう方向である。例えばこの第１の方向ＤＱ１は、仮想カメラＶＣの視点位置とボールＢＬの位置（中心位置、代表位置）を結ぶ方向になる。
【０１７８】
第２方向ＤＱ２は、モーション検出情報により特定される方向である。例えば図９（Ａ）においてプレーヤが携帯型ゲーム装置をθ度だけ回転したことがモーション検出情報により検出された場合には、第２の方向ＤＱ２も、初期方向である正面方向をθ度だけ回転させた方向になる。例えばプレーヤが、正面を向いた状態からθ＝９０度だけ右側又は左側に携帯型ゲーム装置を回転させると、第２の方向ＤＱ２は初期方向である正面方向を、９０度だけ右側又は左側に回転させた方向になる。
【０１７９】
そして第３の方向ＤＱ３は、これらの第１の方向ＤＱ１と第２の方向ＤＱ２の間の方向になる。例えば第３の方向ＤＱ３は、第１の方向ＤＱと第２の方向ＤＱ２の中間方向に設定される。そして図１８（Ａ）、図１８（Ｂ）では、第１、第２の方向ＤＱ１、ＤＱ２の間の方向である第３の方向ＤＱ３にその視線方向ＶＬが向くように、仮想カメラＶＣの視線方向ＶＬが制御される。
【０１８０】
このようにすれば、仮想カメラＶＣの視線方向ＶＬは、モーション検出情報に基づき特定される第２の方向ＤＱ２よりも、ボールＢＬへの方向である第１の方向ＤＱ１側に向くようになる。これより、モーション検出情報のみに基づき仮想カメラＶＣの視線方向ＶＬを変化させることでボールＢＬがプレーヤの視野範囲から外れてしまうような事態の発生を抑制できる。従って、モーション検出情報に基づき仮想カメラＶＣの視線方向ＶＬを変化させた場合にも、プレーヤがボールＢＬを打ち返すのが難しくなるのが抑制され、プレーヤのゲーム操作性を向上できる。
【０１８１】
なお図１８（Ａ）、図１８（Ｂ）では、第１の方向ＤＱ１は仮想カメラＶＣからボールＢＬ（広義には、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体）に向かう方向になっている。しかしながら、後述するように、他のゲームへの適用例の場合には、第１の方向ＤＱ１は、仮想カメラＶＣから、プレーヤのプレイ対象となるキャラクタに向かう方向などであってもよい。
【０１８２】
また図１９（Ａ）、図１９（Ｂ）では、ボールＢＬとラケットＲＫがヒットしたと判定されて、ボールＢＬがヒット方向にヒットされている。このようにボールＢＬがヒットされた場合には図１９（Ｂ）に示すように、ボールＢＬ（移動体）がヒットされた後に、ボールＢＬの移動先側に仮想カメラＶＣの視線方向ＶＬを向ける制御を行ってもよい。即ち、ヒットされて飛んで行くボールＢＬがその視野範囲から外れないように、仮想カメラＶＣの視線方向ＶＬをボールＢＬの方に向ける。
【０１８３】
こうすることで、プレーヤは、自身が打ったボールＢＬが、相手コートのどの位置・方向に飛んで行ったのかを、例えば携帯型ゲーム装置の表示部に映し出されるゲーム画像を見ながら確認できるようになる。
【０１８４】
即ち図９（Ａ）に示すようにプレーヤが携帯型ゲーム装置を右側に回転させることで、図９（Ｂ）に示すように仮想カメラＶＣの視線方向が変化した場合に、何ら処理を施さないと、ボールＢＬがヒットされた後も、図１０に示すような視線方向のゲーム画像が、携帯型ゲーム装置の表示部に表示されることになる。
【０１８５】
しかしながら、ボールＢＬがヒットされると、図１０に示すような視線方向のゲーム画像では、その視野範囲内からボールＢＬが消えてしまい、プレーヤは、ボールＢＬの移動先を確認できなくなってしまう。
【０１８６】
この点、図１９（Ｂ）に示すように、ヒットされて飛んで行くボールＢＬの方に仮想カメラＶＣの視線方向ＶＬを向ければ、プレーヤはボールＢＬの移動先を確認できるようになり、プレーヤのゲーム操作性を向上できる。
【０１８７】
なお図１９（Ｂ）に示すようにボールＢＬの飛んで行く方向に仮想カメラＶＣの視線方向ＶＬを向けた後、所与の期間が経過した場合に、仮想カメラＶＣの視線方向ＶＬを元の方向（例えば図１９（Ａ）の方向）に戻すことが望ましい。このようにすれば、ボールＢＬがヒットされて所与の期間が経過するまでの間は、仮想カメラＶＣの視線方向ＶＬがボールＢＬの方向に向くことで、プレーヤはボールＢＬが移動して行く様子を確認できる。そして所与の期間が経過すると、プレーヤが携帯型ゲーム装置を回転させた方向に対応する元の方向に、視線方向ＶＬが戻るようになるため、仮想カメラＶＣの視線方向を、プレーヤの意思を反映させた方向に再設定することが可能になる。
【０１８８】
また図１０のような視線方向の画像でのヒット判定処理を容易化するために、図２０（Ａ）、図２０（Ｂ）に示すような手法を採用してもよい。
【０１８９】
即ち図２０（Ａ）、図２０（Ｂ）では、ヒット判定タイミング前でのプレーヤの動き情報が検出されると、ボールＢＬ（移動体）のヒット判定処理を行うための判定基準面ＲＳを、仮想カメラＶＣに近づく方向に移動させている。この判定基準面ＲＳは、ヒット判定の基準となる面であり、例えば図１６（Ａ）〜図１６（Ｃ）で説明したようにジャストタイミングの位置を表す面である。具体的には、ヒット判定タイミングにおいてボールＢＬが判定基準面ＲＳに位置していた場合には、ボールＢＬのヒットタイミングはジャストタイミングであると判定され、例えばボールＢＬは正面方向である真っ直ぐの方向に飛ぶようになる。
【０１９０】
そしてプレーヤが携帯型ゲーム装置を回転させることで図１０に示すような横向きの視線方向のゲーム画像が表示される場合に、図２０（Ａ）のような判定基準面ＲＳの設定でヒット判定処理を行うと、プレーヤがボールＢＬを打ち返す操作が難しくなってしまう。即ち図２０（Ａ）のようにジャストタイミングに対応する判定基準面ＲＳが仮想カメラＶＣの前方の遠い位置にあると、図１２のゲーム画像を見ながらプレーヤが、ボールＢＬのショット操作を行うタイミングを、判定基準面ＲＳのジャストタイミングに合わせるのが難しくなってしまう。
【０１９１】
この点、図２０（Ｂ）では、ヒット判定タイミング前でのプレーヤの動き情報が検出されると、判定基準面ＲＳが、仮想カメラＶＣに近づく方向に移動する。即ち仮想カメラＶＣから見て手前側に判定基準面ＲＳが移動する。具体的には、図２０（Ａ）、図２０（Ｂ）に示すように、判定基準面ＲＳと仮想カメラＶＣとの距離ＬＲＣが短くなる。従って、図１０においてボールＢＬが、よりラケットＲＫに近づいたタイミングがジャストタイミングになるため、プレーヤは、ショット操作のタイミングを、判定基準面ＲＳのジャストタイミングに容易に合わせることが可能になる。従って、プレーヤのゲーム操作を容易化でき、プレーヤは、より現実世界に近いショットの感覚で、ボールＢＬを打ち返すことが可能になる。
【０１９２】
２．３  ヒット強さパラメータの設定
次に本実施形態のヒット強さパラメータの設定手法について説明する。
【０１９３】
本実施形態では、ヒット判定タイミング前でのプレーヤの動き情報が検出されると、動き情報が検出されなかった場合に比べて強いヒット強さになるように、ヒット強さパラメータを設定して、ボールＢＬの移動演算処理を行う。更に具体的には、ヒット判定タイミング前でのプレーヤの動き量が大きいほど強いヒット強さになるように、ヒット強さパラメータを設定する。
【０１９４】
例えば図２１（Ａ）に、プレーヤの動き量に対するヒット強さパラメータのヒット強さの設定例を示す。図２１（Ａ）に示すように、ヒット判定タイミング前に検出されたプレーヤの動き量が大きいほど、ボールＢＬのヒット強さも大きくなる。
【０１９５】
即ち図９（Ａ）において、プレーヤによる携帯型ゲーム装置の回転量が大きかった場合には、大きなテークバック動作が行われたと判断する。従って、プレーヤの動き量が大きかったと判定して、図２１（Ａ）に示すようにヒット強さも大きくする。こうすることで、ヒット後にボールＢＬは速い速度で相手コート側に飛んで行くようになる。
【０１９６】
一方、図９（Ａ）において、プレーヤによる携帯型ゲーム装置の回転量が小さかった場合には、小さなテークバック動作が行われたと判断する。従って、プレーヤの動き量が小さかったと判定して、図２１（Ａ）に示すようにヒット強さも小さくする。こうすることで、ヒット後にボールＢＬは遅い速度で相手コート側に飛んで行くようになる。
【０１９７】
このように、プレーヤの動き量に応じてボールＢＬのヒット強さを変化させれば、テークバック動作の動き量の大小に応じて、ヒット後のボールＢＬの速度等も変化するようになり、より多彩でリアルなゲーム画像の生成が可能になる。
【０１９８】
また例えば図２１（Ｂ）に示すように本実施形態では、ヒット判定タイミング前でのプレーヤの動き量が、判定基準値ＶＴＲＦを超えたか否かを判定してもよい。そしてプレーヤの動き量が判定基準値ＶＴＲＦの超えた場合に、ヒット判定タイミング前での動き情報に基づくボールＢＬの移動演算処理を行うようにする。即ち、プレーヤの動き量が判定基準値ＶＴＲＦの超えない場合には、動き情報に基づくボールＢＬの移動演算処理は行われないようになる。従って、例えばプレーヤが携帯型ゲーム装置を微少に動かした場合に、この動きが検出されてしまい、ボールＢＬのヒット強さが変化してしまう事態を抑止できる。即ち、プレーヤの動きが小さい場合には、その小さな動きによってはボールＢＬのヒット強さは変化せず、プレーヤの動きが大きい場合に、その大きな動きによってボールＢＬのヒット強さが変化するようになる。従って、雑音等が原因で、プレーヤの動きに応じたヒット強さの設定処理に誤り等が生じてしまう事態を抑止できる。従って、ゲームの安定性や操作性を大幅に向上できるようになる。
【０１９９】
なおこの場合の判定基準値ＶＴＲＦの設定手法としては、種々の手法を想定できる。例えばボールＢＬをヒットするラケットＲＫ等のヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも１つに基づいて、この判定基準値ＶＴＲＦを設定してもよい。
【０２００】
例えば図２２に判定基準値ＶＴＲＦの設定テーブルの例を示す。図２２では、プレーヤの過去成績（広義にはゲーム成績情報）、ラケット性能（広義にはヒット体の情報）、コートサーフェスや天候（広義にはゲームの環境状態情報）、難易度設定、キャラクタ能力（広義にはプレーヤキャラクタの情報）に基づいて、判定基準値ＶＴＲＦが設定される。
【０２０１】
このようにすれば、例えばラケットの性能やキャラクタの能力に応じて、図２１（Ｂ）の判定基準値ＶＴＲＦが変化するようになる。従って、例えばラケットの性能やキャラクタの性能が高い場合には、携帯型ゲーム装置の少ない回転量の動きであっても、その動きがテークバック動作であると判定されて、強いヒット強さのショットが打たれるようになり、より多彩でリアルなゲーム表現が可能になる。
【０２０２】
なお図２２に示す情報（ゲーム成績情報、ヒット体の情報、ゲームの環境状態情報、プレーヤキャラクタの情報）に基づいて、ヒット強さパラメータ（ヒット演算パラメータ）の値を設定してもよい。例えば図２２に示す情報に基づいて、ヒット強さパラメータの例えば初期値を設定する。例えば過去成績が高かったり、ラケット性能等が高い場合には、ヒット強さパラメータの初期値を、高い値（強いヒットの値）に設定する。そして図７（Ａ）〜図１２等で説明したように、ボールのヒット前に、プレーヤがテークバック動作等の準備動作を行うと、この初期値を更に増加させる処理が行われ、より強いヒット強さでボールがヒットされるようになる。このような各種情報に基づいてヒット強さパラメータを設定すれば、これらの情報に応じて、ボールがヒットされた時の速さ等が変化するようになり、より多彩でリアルなゲーム表現が可能になる。
【０２０３】
２．４  モーション再生用情報
さて、図６等のように一人称視点のゲーム画像を生成した場合でも、例えばプレーヤが過去の自身のゲームプレイを鑑賞するリプレイ時や、他のプレーヤとの通信対戦時には、プレーヤに対応するプレーヤキャラクタの画像を生成して表示することが望ましい。例えばリプレイ時には、プレーヤキャラクタの画像を生成して表示することで、プレーヤは、自身に対応するプレーヤキャラクタがゲームプレイ中にどのような動きをしていたかを振り返ることが可能になり、効果的なリプレイ画像の生成が可能になる。また、通信対戦時には、他のプレーヤが見ている画面の画像の中に、プレーヤが操作するプレーヤキャラクタの画像を生成して表示することで、そのプレーヤキャラクタと実際に戦っているというプレイ感覚を、他のプレーヤに与えることが可能になる。
【０２０４】
ところが、例えば図４（Ａ）〜図４（Ｃ）に示すようにモーションセンサからのモーション検出情報に基づいて仮想カメラＶＣの視線方向ＶＬ等を制御した場合に、プレーヤキャラクタの実際の動きは非常にぎこちない動作になっている可能性がある。また一人称視点の画像で１人でプレーヤがプレイしている場合には、プレーヤキャラクタのモーションは生成しなくても済むため、プレーヤキャラクタのモーションが存在していない場合もあり得る。
【０２０５】
そこで本実施形態では図２３に示すように、ヒット判定タイミング（ヒット判定タイミングを含む所定期間）におけるボールＢＬ（移動体）及び仮想カメラＶＣの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として、記憶部１７０のモーション再生用情報記憶部１７４に記録する処理を行う。そしてリプレイ時や通信対戦時には、記録されたモーション再生用情報に基づいて、プレーヤに対応するプレーヤキャラクタのモーション再生処理を行うようにする。
【０２０６】
例えば図９（Ｂ）、図１１（Ｂ）に示すような仮想カメラＶＣの状態でボールＢＬがヒットされた場合には、この状態を特定する情報を、モーション再生用情報として記録する。例えばヒット判定タイミングやヒット判定タイミングを含む期間での仮想カメラＶＣの視線方向や視点位置等の情報を、モーション再生用情報として記録する。或いは、テークバック動作が行われて仮想カメラＶＣの視線方向が横に向いた状態でボールＢＬがヒットされたとか、仮想カメラＶＣの視線方向が上に向いた状態でボールＢＬがヒットされたとかなどを表すイベント情報を、モーション再生用情報として記録する。
【０２０７】
また図１４（Ａ）〜図１４（Ｃ）や図１６（Ａ）〜図１６（Ｃ）に示すようなボールＢＬとヒット判定エリアＨＡＲの位置関係の状態でボールＢＬがヒットされた場合には、この状態を特定する情報を、モーション再生用情報として記録する。例えばヒット判定エリアＨＡＲ内でのボールＢＬの位置情報等を、モーション再生用情報として記録する。或いは、ヒット判定エリアＨＡＲの右側でボールＢＬがヒットされたとか、ヒット判定エリアＨＡＲの左側でボールＢＬがヒットされたとかなどを表すイベント情報を、モーション再生用情報として記録する。或いは、正面にボールＢＬが来て弱いストロークが行われたとか、強打のフォアハンドストロークが行われたとか、強打のバックハンドストロークが行われたとかなどを表すイベント情報を、モーション再生用情報として記録してもよい。
【０２０８】
そしてリプレイや通信対戦でのモーション再生時には、記録されたモーション再生用情報に基づいて、プレーヤキャラクタのモーション再生処理を行う。例えば図９（Ｂ）のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、テークバックした強打のフォアハンドストロークをプレーヤキャラクタに行わせるモーション再生処理を実行する。また図１１（Ｂ）のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、スマッシュをプレーヤキャラクタに行わせるモーション再生処理を実行する。また図１４（Ａ）のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、正面にボールＢＬが来て弱いストロークをプレーヤキャラクタに行わせるモーション再生処理を実行する。また図１４（Ｂ）、図１４（Ｃ）のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、各々、強打のフォアハンド、強打のバックハンドのストロークをプレーヤキャラクタに行わせるモーション再生処理を実行する。
【０２０９】
このようにすれば、モーション検出情報に基づいて仮想カメラの視線方向等を制御することで、プレーヤキャラクタの実際の動きがぎこちない動作になっている場合等においても、リプレイ時や通信対戦時において、スムーズなモーション再生のプレーヤキャラクタを表示することが可能になる。従って、リプレイ時に表示される画像や、通信対戦において相手プレーヤの表示部に表示される画像の品質等を向上できるようになる。
【０２１０】
なお、以上では本実施形態の手法をテニスゲームに適用した場合について説明したが、本実施形態の手法は、テニスゲーム以外の種々の球技ゲーム等に適用可能である。
【０２１１】
例えば図２４（Ａ）、図２４（Ｂ）は、本実施形態の手法をバレーボールゲームに適用した例である。図２４（Ａ）、図２４（Ｂ）では、プレーヤは、相手コートから返球されたボールＢＬを画面内に捕らえて、レシーブする。そして、上げられたトスをスパイクする場合には、図１１（Ａ）のように携帯型ゲーム装置を上側に向けて、図２４（Ｂ）に示すように、上空に飛んでいるボールＢＬを画面内に捕らえて、スパイクの指示操作を行う。この場合に、ヒット判定タイミングの前に、携帯型ゲーム装置を上側に向けてジャンプのテークバックを行うことで、より強烈なスパイクが相手側のコートに打ち返されるようになる。また例えば画面の右端でボールＢＬを捕らえてスパイクを行えば、強いヒット強さでボールＢＬがヒットされるようになる。
【０２１２】
更に本実施形態の手法は、テニスやバレーボールのゲーム以外にも、卓球、バトミントン、野球、サッカー、バスケットボール、アメリカンフットボール等の種々のゲームに適用できる。また球技ゲーム以外のアクションゲーム、音楽ゲーム等の種々の分野のゲームに本実施形態の手法を適用することも可能である。
【０２１３】
例えば図２５（Ａ）は本実施形態の手法をボクシングゲームに適用した場合のゲーム画像の例である。
【０２１４】
例えばプレーヤがパンチ操作を行うヒット判定タイミング前に、図９（Ａ）に示すようにプレーヤが携帯型ゲーム装置を右側に回転させると、右パンチの準備動作が行われる。そしてプレーヤがパンチを指示するパンチ操作を行うと、図２５（Ａ）において右手グローブＧＲＲによる強烈なパンチが相手キャラクタＣＨＥにヒットするようになる。同様に、プレーヤがパンチ操作を行うヒット判定タイミング前に、プレーヤが携帯型ゲーム装置を左側に回転させると、左パンチの準備動作が行われる。そしてプレーヤがパンチ操作を行うと、左手グローブＧＲＬによる強烈なパンチが相手キャラクタＣＨＥにヒットするようになる。
【０２１５】
なお図２５（Ａ）のボクシングゲームでのパンチ動作については種々の変形実施が可能である。例えば携帯型ゲーム装置のＬボタンにジャブのパンチを割り当て、Ｒボタンにストレートのパンチを割り当てる。そしてプレーヤが携帯型ゲーム装置を回転させずにＬボタン、Ｒボタンを押すと、各々、ジャブ、ストレートのパンチが繰り出される。一方、プレーヤが携帯型ゲーム装置を左側に回転させる準備動作を行った後に、Ｌボタンを押すと、左のフックパンチが繰り出される。またプレーヤが携帯型ゲーム装置を右側に回転させる準備動作を行った後に、Ｒボタンを押すと、右のフックのパンチが繰り出される。また携帯型ゲーム装置を下側に回転させる準備動作を行った後に、ＬボタンやＲボタンでパンチ操作を行うと、アッパーのパンチが繰り出される。
【０２１６】
このようにすれば図２５（Ａ）に示すような一人称視点のボクシングゲームにおいて、これまでにないリアルなパンチ操作が可能になり、プレーヤの仮想現実感を向上できる。
【０２１７】
なお図２５（Ｂ）は、図２５（Ａ）のようなゲームにおける仮想カメラＶＣの視線方向ＶＬの制御手法を示す図である。
【０２１８】
図２５（Ｂ）において、第１の方向ＤＱ１は、仮想カメラＶＣからキャラクタＣＨＥに向かう方向である。例えばこの第１の方向ＤＱ１は、仮想カメラＶＣの視点位置とキャラクタＣＨＥの位置（代表位置）を結ぶ方向になる。一方、第２方向ＤＱ２は、モーション検出情報により特定される方向である。
【０２１９】
そして第３の方向ＤＱ３は、これらの第１の方向ＤＱ１と第２の方向ＤＱ２の間の方向になり、図２５（Ｂ）では、第１、第２の方向ＤＱ１、ＤＱ２の間の方向である第３の方向ＤＱ３にその視線方向ＶＬが向くように、仮想カメラＶＣの視線方向ＶＬが制御される。
【０２２０】
このようにすれば、仮想カメラＶＣの視線方向ＶＬは、モーション検出情報に基づき特定される第２の方向ＤＱ２よりも、キャラクタＣＨＥの方向である第１の方向ＤＱ１側に向くようになる。従って、モーション検出情報のみに基づいて仮想カメラＶＣの視線方向ＶＬを変化させることでキャラクタＣＨＥがプレーヤの視野範囲から外れてしまうような事態が発生するのを抑止できる。従って、図２５（Ａ）に示すようなゲームに好適な仮想カメラＶＣの視線方向ＶＬの制御手法を提供できるようになる。
【０２２１】
２．５  詳細な処理例
次に本実施形態の詳細な処理例について図２６、図２７、図２８のフローチャートを用いて説明する。
【０２２２】
図２６は本実施形態の仮想カメラ制御処理の詳細を説明するためのフローチャートである。
【０２２３】
まずフレーム更新（例えば１／６０秒）のタイミングであるか否かを判断する（ステップＳ１）。そしてフレーム更新である場合には、方向指示部からの方向指示情報やモーションセンサからのモーション検出情報を取得する（ステップＳ２、Ｓ３）。
【０２２４】
次に、図５（Ａ）〜図５（Ｃ）で説明したように、取得された方向指示情報に基づいて、仮想カメラの視点位置を移動させる処理を行う（ステップＳ４）。また図１３（Ａ）、図１３（Ｂ）で説明したように、仮想カメラの移動に追従させて、ヒット判定エリアを移動させる処理を行う（ステップＳ５）。
【０２２５】
次に、図４（Ａ）〜図４（Ｃ）で説明したように、取得されたモーション検出情報に基づいて、携帯型ゲーム装置の回転角度情報を取得する（ステップＳ６）。そして、取得された回転角度情報に基づいて、仮想カメラの視線方向をＹＣ軸回り、ＸＣ軸回りで回転させる処理を行う（ステップＳ７）。
【０２２６】
図２７は、ヒット判定タイミング前のプレーヤの動き情報の検出処理の詳細を説明するためのフローチャートである。
【０２２７】
まず、モーションセンサにより取得されたモーション検出情報に基づいて、プレーヤの動き情報を取得する（ステップＳ１１）。そして図２１（Ｂ）で説明したように、プレーヤの動き量が判定基準値ＶＴＲＦを超えたか否かを判定する（ステップＳ１２）。そして動き量が判定基準値ＶＴＲＦを超えた場合には、特殊動作フラグをセットする（ステップＳ１３）。
【０２２８】
図２７は本実施形態のヒット演算処理の詳細を説明するためのフローチャートである。
【０２２９】
まず、ヒット判定タイミングか否かを判断する（ステップＳ２１）。そして、ヒット判定タイミングであると判断された場合には、ボールがヒット判定エリア内に位置するか否かを判断し（ステップＳ２２）、ヒット判定エリア内に位置していた場合には、ボールがヒットされたと判定する（ステップＳ２３）。
【０２３０】
次に、ヒット判定エリア内でのボールの位置情報を取得する（ステップＳ２４）。また、ラケット性能、コートサーフェス、天候、難易度設定、キャラクタ能力等に基づいて、ヒット演算パラメータの初期値を設定する（ステップＳ２５）。
【０２３１】
次に、特殊動作フラグがセットされているか否かを判断する（ステップＳ２６）。例えばプレーヤが携帯型ゲーム装置を大きく動かして、判定基準値ＶＴＲＦを超えると、図２６のステップＳ１３で特殊動作フラグがセットされる。そして、特殊動作フラグがセットされていると判断された場合には、ヒット判定エリア内でのボールのＸ座標ＸＢ、Ｙ座標ＹＢと、図２６のステップＳ１１で取得されたプレーヤの動き量とに基づいて、ボールのヒット強さパラメータを設定する（ステップＳ２７）。即ち、特殊動作フラグがセットされて、プレーヤがテークバック動作等の特殊動作を行ったと判断されたため、ヒット判定エリア内でのボールのＸ座標ＸＢ、Ｙ座標ＹＢのみならず、プレーヤの動き量も反映させて、ボールのヒット強さパラメータを設定する。例えばプレーヤの動き量が大きければ、図２１（Ａ）、図２１（Ｂ）に示すように、強いヒット強さに設定される。
【０２３２】
一方、ステップＳ２６で特殊動作フラグがセットされていないと判断された場合には、ヒット判定エリア内でのボールのＸ座標ＸＢ、Ｙ座標ＹＢに基づいて、ボールのヒット強さパラメータを設定する（ステップＳ２８）。即ち、この場合には、プレーヤがテークバック動作等の特殊動作を行っていないと判断されたため、ヒット判定エリア内でのボールのＸ座標ＸＢ、Ｙ座標ＹＢのみに基づいて、ボールのヒット強さパラメータを設定する。
【０２３３】
次に、ヒット判定エリア内でのボールのＺ座標ＺＢに基づいて、ボールのヒット方向パラメータを設定する（ステップＳ２９）。そして、設定されたヒット強さパラメータやヒット方向パラメータなどのヒット演算パラメータに基づいて、ヒット後のボールの移動処理を行う（ステップＳ３０）。
【０２３４】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（移動体、ラケット等）と共に記載された用語（ボール、ヒット体等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、移動体のヒット演算処理、移動体の移動演算処理、仮想カメラの制御処理、ヒット判定エリアの設定処理、ヒット判定処理等も本実施形態で説明したものに限定されず、これらと均等な手法・処理も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話機等の種々のゲーム装置に適用できる。例えばゲーム装置は、ゲームのプログラムがインストールされて実行される携帯電話機や携帯型情報端末であってもよい。
【符号の説明】
【０２３５】
ＶＣ  仮想カメラ、ＶＬ  視線方向、ＢＬ  ボール（移動体）、
ＨＡＲ  ヒット判定エリア、ＲＳ  判定基準面、ＤＲ１〜ＤＲ３  第１〜第３の方向、
ＤＱ１〜ＤＱ３  第１〜第３の方向、ＣＨＰ  プレーヤキャラクタ、ＲＫ  ラケット、
１０、２０  筐体、１２  方向指示キー、１４  アナログスティック、
１６  操作ボタン、１００  処理部、１０２  操作情報取得部、１０４  ゲーム演算部、
１０６  オブジェクト空間設定部、１０８  仮想カメラ制御部、１１０  ヒット演算部、
１１２  移動体演算部、１１４  記録処理部、１２０  画像生成部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１７２  オブジェクトデータ記憶部、
１７４  モーション再生用情報記憶部、１７８  描画バッファ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  補助記憶装置、１９６  通信部、
５００  サーバシステム、５１０  ネットワーク、ＴＭ１〜ＴＭｎ  端末装置、
６００  処理部、６０２  操作情報取得部、６０４  ゲーム演算部、
６０６  オブジェクト空間設定部、６０８  仮想カメラ制御部、６１０  ヒット演算部、
６１２  移動体演算部、６１４  記録処理部、
６２０  画像生成用データ生成部、６３０  音生成用データ生成部
【図１】
2012181616.tif 000003
【図２】
2012181616.tif 000004
【図３】
2012181616.tif 000005
【図４】
2012181616.tif 000006
【図５】
2012181616.tif 000007
【図６】
2012181616.tif 000008
【図７】
2012181616.tif 000009
【図８】
2012181616.tif 000010
【図９】
2012181616.tif 000011
【図１０】
2012181616.tif 000012
【図１１】
2012181616.tif 000013
【図１２】
2012181616.tif 000014
【図１３】
2012181616.tif 000015
【図１４】
2012181616.tif 000016
【図１５】
2012181616.tif 000017
【図１６】
2012181616.tif 000018
【図１７】
2012181616.tif 000019
【図１８】
2012181616.tif 000020
【図１９】
2012181616.tif 000021
【図２０】
2012181616.tif 000022
【図２１】
2012181616.tif 000023
【図２２】
2012181616.tif 000024
【図２３】
2012181616.tif 000025
【図２４】
2012181616.tif 000026
【図２５】
2012181616.tif 000027
【図２６】
2012181616.tif 000028
【図２７】
2012181616.tif 000029
【図２８】
2012181616.tif 000030