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