(57)【要約】【課題】ヒット対象物に設定された判定エリアを用いたヒット演算処理を実現できるプログラム、画像生成システム等の提供。【解決手段】画像生成システムは、キャラクタ制御部と、ヒット演算処理部と、ヒット対象物の位置を基準とした第１の判定エリアと、第１の判定エリアの外側に設けられる第２の判定エリアを、ヒット対象物に対して設定する判定エリア設定部と、画像を生成する画像生成部を含む。ヒット演算処理部は、ヒット判定タイミングにおいてキャラクタが第１の判定エリアに位置する場合には、第１のヒット演算処理を行い、ヒット判定タイミングにおいてキャラクタが第２の判定エリアに位置する場合には、第１のヒット演算処理とは異なる第２のヒット演算処理を行う。【選択図】図７
2010233752.tif 000002
【特許請求の範囲】
【請求項１】
キャラクタの制御処理を行うキャラクタ制御部と、
前記キャラクタが所持する所持オブジェクト又は前記キャラクタを構成する部位オブジェクトであるヒット体と、ヒット対象物とのヒット演算処理を行うヒット演算処理部と、
前記ヒット対象物の位置を基準とした第１の判定エリアと、前記第１の判定エリアの外側に設けられる第２の判定エリアを、前記ヒット対象物に対して設定する判定エリア設定部と、
画像を生成する画像生成部として、
コンピュータを機能させ、
前記ヒット演算処理部は、
ヒット判定タイミングにおいて前記キャラクタが前記第１の判定エリアに位置する場合には、第１のヒット演算処理を行い、前記ヒット判定タイミングにおいて前記キャラクタが前記第２の判定エリアに位置する場合には、前記第１のヒット演算処理とは異なる第２のヒット演算処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記ヒット演算処理部は、
前記ヒット判定タイミングにおいて前記キャラクタが前記第１の判定エリアに位置する場合には、前記ヒット対象物に対して第１の制御処理を行い、前記ヒット判定タイミングにおいて前記キャラクタが前記第２の判定エリアに位置する場合には、前記ヒット対象物に対して前記第１の制御処理とは異なる第２の制御処理を行うことを特徴とするプログラム。
【請求項３】
請求項２において、
前記第１、第２の制御処理は、前記ヒット体による前記ヒット対象物のヒットの強さ、ヒット後の前記ヒット対象物の移動速度、及びヒット後の前記ヒット対象物の移動方向の少なくとも１つを制御する処理であることを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記判定エリア設定部は、
前記ヒット対象物をヒットした相手キャラクタの情報に応じて、前記第１の判定エリア及び前記第２の判定エリアの少なくとも一方の設定を変更することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記判定エリア設定部は、
前記ヒット体によりヒットされる前記ヒット対象物の状態に応じて、前記第１の判定エリア及び前記第２の判定エリアの少なくとも一方の設定を変更することを特徴とするプログラム。
【請求項６】
請求項５において、
前記判定エリア設定部は、
前記ヒット対象物のバウンド前とバウンド後で、前記第１の判定エリア及び前記第２の判定エリアの少なくとも一方の設定を変更することを特徴とするプログラム。
【請求項７】
請求項1乃至６のいずれかにおいて、
前記判定エリア設定部は、
前記第２の判定エリアの外側に設けられる第３の判定エリアを、前記ヒット対象物に対して設定し、
前記キャラクタ制御部は、
前記ヒット判定タイミングにおいて前記キャラクタが前記第３の判定エリアに位置する場合には、前記第１、第２の判定エリアに位置する場合とは異なるキャラクタ制御処理を行うことを特徴とするプログラム。
【請求項８】
請求項７において、
前記キャラクタ制御部は、
前記ヒット判定タイミングにおいて前記キャラクタが前記第１、第２の判定エリアに位置する場合には、第１のモーションで前記キャラクタを動作させ、前記ヒット判定タイミングにおいて前記キャラクタが前記第３の判定エリアに位置する場合には、前記第１のモーションとは異なる第２のモーションで前記キャラクタを動作させることを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記キャラクタ制御部は、
前記ヒット対象物の予測ヒット位置に前記キャラクタを移動させる制御を行うことを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
センサを有するコントローラからのセンサ情報に基づいて、所定座標軸回りでの前記コントローラの回転角度情報を、操作情報として取得する操作情報取得部として、
コンピュータを機能させ、
前記操作情報取得部は、
前記コントローラの長軸方向に沿って設定された座標軸を第３の座標軸とし、前記第３の座標軸に直交する座標軸を第１、第２の座標軸とした場合に、前記第３の座標軸回りでの回転角度情報である第３の回転角度情報を取得し、
前記ヒット演算処理部は、
前記第３の座標軸回りでの前記第３の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
【請求項１１】
請求項１０において、
前記ヒット演算処理部は、
前記ヒット体による前記ヒット対象物のヒットタイミングにおける前記コントローラの前記第３の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
【請求項１２】
請求項１０又は１１において、
前記ヒット演算処理部は、
ヒット判定期間における前記コントローラの前記第３の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
【請求項１３】
請求項１２において、
前記ヒット演算処理部は、
前記ヒット判定期間における前記コントローラの前記第３の回転角度情報の変化情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
【請求項１４】
請求項１３において、
前記ヒット演算処理部は、
前記ヒット判定期間の第１のタイミングにおける前記第３の回転角度情報と、前記ヒット判定期間の第２のタイミングにおける前記第３の回転角度情報とに基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
【請求項１５】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１４のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１６】
キャラクタの制御処理を行うキャラクタ制御部と、
前記キャラクタが所持する所持オブジェクト又は前記キャラクタを構成する部位オブジェクトであるヒット体と、ヒット対象物とのヒット演算処理を行うヒット演算処理部と、
前記ヒット対象物の位置を基準とした第１の判定エリアと、前記第１の判定エリアの外側に設けられる第２の判定エリアを、前記ヒット対象物に対して設定する判定エリア設定部と、
画像を生成する画像生成部とを含み、
前記ヒット演算処理部は、
ヒット判定タイミングにおいて前記キャラクタが前記第１の判定エリアに位置する場合には、第１のヒット演算処理を行い、前記ヒット判定タイミングにおいて前記キャラクタが前記第２の判定エリアに位置する場合には、前記第１のヒット演算処理とは異なる第２のヒット演算処理を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【０００２】
従来より、スポーツ選手を模したキャラクタ等のオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。テニスゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、コントローラなどの操作部を用いて自身のキャラクタを操作して、他のプレーヤやコンピュータが操作する相手キャラクタがショットしたボールをラケットで打ち返すことでゲームを楽しむ。このようなテニスゲームを楽しむことができる画像生成システムの従来技術としては、例えば特許文献１に開示される技術が知られている。そして、このような画像生成ゲームでは、相手キャラクタがショットしたボールをラケットで打ち返すためのヒット演算処理が必要になる。
【０００３】
しかしながら、これまでの画像生成システムでは、ラケット側だけにヒット判定エリアを設けてヒット演算処理を実現していた。このため、相手キャラクタの能力やステータスなどの情報や、ボールの強さ、速度などの情報に応じたヒット演算処理を実現することが難しかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３０７１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の幾つかの態様によれば、ヒット対象物に設定された判定エリアを用いたヒット演算処理を実現できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、キャラクタの制御処理を行うキャラクタ制御部と、前記キャラクタが所持する所持オブジェクト又は前記キャラクタを構成する部位オブジェクトであるヒット体と、ヒット対象物とのヒット演算処理を行うヒット演算処理部と、前記ヒット対象物の位置を基準とした第１の判定エリアと、前記第１の判定エリアの外側に設けられる第２の判定エリアを、前記ヒット対象物に対して設定する判定エリア設定部と、画像を生成する画像生成部とを含み、前記ヒット演算処理部は、ヒット判定タイミングにおいて前記キャラクタが前記第１の判定エリアに位置する場合には、第１のヒット演算処理を行い、前記ヒット判定タイミングにおいて前記キャラクタが前記第２の判定エリアに位置する場合には、前記第１のヒット演算処理とは異なる第２のヒット演算処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００７】
本発明の一態様では、ヒット対象物に対して第１、第２の判定エリアが設定されて、キャラクタの所持オブジェクト又は部位オブジェクトであるヒット体とヒット対象物のヒット演算処理が行われる。そしてヒット判定タイミングにおいてキャラクタが、ヒット対象物に設定された第１の判定エリアに位置する場合には、第１のヒット演算処理が行われる。一方、第２の判定エリアに位置する場合には、第２のヒット演算処理が行われる。従って、ヒット判定タイミングにおいてキャラクタが第１、第２の判定エリアのいずれに位置するかに応じて、ヒット演算処理を異ならせることが可能になり、ヒット対象物に設定された判定エリアを用いたヒット演算処理を実現できる。
【０００８】
また本発明の一態様では、前記ヒット演算処理部は、前記ヒット判定タイミングにおいて前記キャラクタが前記第１の判定エリアに位置する場合には、前記ヒット対象物に対して第１の制御処理を行い、前記ヒット判定タイミングにおいて前記キャラクタが前記第２の判定エリアに位置する場合には、前記ヒット対象物に対して前記第１の制御処理とは異なる第２の制御処理を行ってもよい。
【０００９】
このようにすれば、ヒット判定タイミングにおいてキャラクタが第１、第２の判定エリアのいずれに位置するかに応じて、ヒット対象物の制御処理を異ならせることが可能になる。
【００１０】
また本発明の一態様では、前記第１、第２の制御処理は、前記ヒット体による前記ヒット対象物のヒットの強さ、ヒット後の前記ヒット対象物の移動速度、及びヒット後の前記ヒット対象物の移動方向の少なくとも１つを制御する処理であってもよい。
【００１１】
このようにすれば、ヒット判定タイミングにおいてキャラクタが第１、第２の判定エリアのいずれに位置するかに応じて、ヒット対象物のヒットの強さや移動速度や移動方向を異ならせることが可能になる。
【００１２】
また本発明の一態様では、前記判定エリア設定部は、前記ヒット対象物をヒットした相手キャラクタの情報に応じて、前記第１の判定エリア及び前記第２の判定エリアの少なくとも一方の設定を変更してもよい。
【００１３】
このようにすれば、相手キャラクタの情報を、簡素な処理でヒット演算処理に反映できるようになる。
【００１４】
また本発明の一態様では、前記判定エリア設定部は、前記ヒット体によりヒットされる前記ヒット対象物の状態に応じて、前記第１の判定エリア及び前記第２の判定エリアの少なくとも一方の設定を変更してもよい。
【００１５】
このようにすれば、ヒット対象物の情報を、簡素な処理でヒット演算処理に反映できるようになる。
【００１６】
また本発明の一態様では、前記判定エリア設定部は、前記ヒット対象物のバウンド前とバウンド後で、前記第１の判定エリア及び前記第２の判定エリアの少なくとも一方の設定を変更してもよい。
【００１７】
このようすれば、ヒット対象物がバウンドしたか否かを反映させたヒット演算処理を、簡素な処理で実現できるようになる。
【００１８】
また本発明の一態様では、前記判定エリア設定部は、前記第２の判定エリアの外側に設けられる第３の判定エリアを、前記ヒット対象物に対して設定し、前記キャラクタ制御部は、前記ヒット判定タイミングにおいて前記キャラクタが前記第３の判定エリアに位置する場合には、前記第１、第２の判定エリアに位置する場合とは異なるキャラクタ制御処理を行ってもよい。
【００１９】
このようにすれば、ヒット判定タイミングにおいてキャラクタが、第１、第２の判定エリアと第３の判定エリアのいずれに位置するかに応じて、キャラクタの制御処理を異ならせることが可能になる。
【００２０】
また本発明の一態様では、前記キャラクタ制御部は、前記ヒット判定タイミングにおいて前記キャラクタが前記第１、第２の判定エリアに位置する場合には、第１のモーションで前記キャラクタを動作させ、前記ヒット判定タイミングにおいて前記キャラクタが前記第３の判定エリアに位置する場合には、前記第１のモーションとは異なる第２のモーションで前記キャラクタを動作させてもよい。
【００２１】
このようにすれば、ヒット判定タイミングにおいてキャラクタが、第１、第２の判定エリアと第３の判定エリアのいずれに位置するかに応じて、キャラクタのモーション異ならせることが可能になる。
【００２２】
また本発明の一態様では、前記キャラクタ制御部は、前記ヒット対象物の予測ヒット位置に前記キャラクタを移動させる制御を行ってもよい。
【００２３】
このようにすれば、キャラクタを予測ヒット位置に移動させてヒット演算処理を実現できるようになる。
【００２４】
また本発明の一態様では、センサを有するコントローラからのセンサ情報に基づいて、所定座標軸回りでの前記コントローラの回転角度情報を、操作情報として取得する操作情報取得部を含み、前記操作情報取得部は、前記コントローラの長軸方向に沿って設定された座標軸を第３の座標軸とし、前記第３の座標軸に直交する座標軸を第１、第２の座標軸とした場合に、前記第３の座標軸回りでの回転角度情報である第３の回転角度情報を取得し、前記ヒット演算処理部は、前記第３の座標軸回りでの前記第３の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。
【００２５】
このようにすれば、コントローラが長軸方向である第３の座標軸回りで回転すると、第３の座標軸回りでの第３の回転角度情報に応じて、ヒット対象物の移動方向や回転状態が変化するようになり、これまでにないタイプのヒット演算処理を実現できる。
【００２６】
また本発明の一態様では、前記ヒット演算処理部は、前記ヒット体による前記ヒット対象物のヒットタイミングにおける前記コントローラの前記第３の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。
【００２７】
このようにすれば、ヒットタイミングでのコントローラの第３の回転角度情報を、ヒット対象物のヒット後の移動方向や回転状態に反映させることが可能になる。
【００２８】
また本発明の一態様では、前記ヒット演算処理部は、ヒット判定期間における前記コントローラの前記第３の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。
【００２９】
このようにすれば、ヒット判定期間において取得されたコントローラの第３の回転角度情報を、ヒット対象物の移動方向や回転状態に反映させたヒット演算処理を実現できる。
【００３０】
また本発明の一態様では、前記ヒット演算処理部は、前記ヒット判定期間における前記コントローラの前記第３の回転角度情報の変化情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。
【００３１】
このようにすれば、ヒット判定期間でのコントローラの第３の回転角度情報の変化を、ヒット演算処理に反映できるようになる。
【００３２】
また本発明の一態様では、前記ヒット演算処理部は、前記ヒット判定期間の第１のタイミングにおける前記第３の回転角度情報と、前記ヒット判定期間の第２のタイミングにおける前記第３の回転角度情報とに基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。
【００３３】
このようにすれば、ヒットタイミング前の第１のタイミングでの第３の回転角度情報と、ヒットタイミング後の第２のタイミングでの第３の回転角度情報とに基づいて、ヒット対象物の移動方向や回転状態が設定されるようになり、よりインテリジェントで精度の高いヒット演算処理を実現できる。  
【図面の簡単な説明】
【００３４】
【図１】本実施形態の画像生成システムの構成例。
【図２】プレーヤによるコントローラの操作の説明図。
【図３】図３（Ａ）、図３（Ｂ）はコントローラの構成例。
【図４】コントローラの各座標軸回りでの回転角度情報の説明図。
【図５】図５（Ａ）〜図５（Ｃ）はヒット対象物に設定される判定エリアの説明図。
【図６】本実施形態のヒット演算処理の説明図。
【図７】各判定エリアに対応づけられたヒット演算処理、キャラクタ制御処理の説明図。
【図８】図８（Ａ）〜図８（Ｃ）はヒット演算処理、キャラクタ制御処理の説明図。
【図９】図９（Ａ）、図９（Ｂ）は相手キャラクタの情報に基づく判定エリアの設定手法の説明図。
【図１０】図１０（Ａ）〜図１０（Ｃ）はボールのバウンド前後に応じた判定エリアの設定手法の説明図。
【図１１】本実施形態の詳細な処理例のフローチャート。
【図１２】図１２（Ａ）、図１２（Ｂ）はキャラクタのスイング動作の例。
【図１３】キャラクタのスイング動作の例。
【図１４】図１４（Ａ）〜図１４（Ｃ）はヒット時の回転角度情報に基づくヒット演算処理の説明図。
【図１５】図１５（Ａ）〜図１５（Ｃ）はヒット判定区間で取得された回転角度情報に基づくヒット演算処理の説明図。
【図１６】図１６（Ａ）〜図１６（Ｄ）はヒット後のボールの移動状態、動作状態の説明図。
【図１７】基準ポジションの検出手法の説明図。
【発明を実施するための形態】
【００３５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３６】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）のブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３７】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００３８】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００３９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４１】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００４２】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００４３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４５】
処理部１００は、操作情報取得部１０１、ゲーム演算部１０２、オブジェクト空間設定部１０４、ヒット演算処理部１０６、基準ポジション検出部１０８、判定エリア設定部１１０、キャラクタ制御部１１４、仮想カメラ制御部１１８、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４６】
操作情報取得部１０１は、プレーヤが操作部１６０を用いて各種操作を行うと、その操作情報を取得する。例えば操作部１６０としてセンサ（例えば角速度センサ又は加速度センサ等）を有するコントローラ（図２参照）を用いたとする。この場合には操作情報取得部１０１は、このコントローラからのセンサ情報（センサの出力信号又は当該出力信号に所定の処理を施した情報）に基づいて、所定座標軸回り（少なくとも１つの座標軸回り）でのコントローラの回転角度情報（回転角度、回転角度と等価なパラメータ）を、操作情報として取得する。例えばコントローラの長手方向（長軸方向）に沿って設定された座標軸を第３の座標軸とし、第３の座標軸に直交する座標軸を第１、第２の座標軸としたとする。この場合に、操作情報取得部１０１は、第３の座標軸回りでの回転角度情報である第３の回転角度情報を取得する。或いは第１、第２の座標軸回りでの回転角度情報である第１、第２の回転角度情報を取得する。例えばコントローラが有する角速度センサのセンサ情報に基づいて第１、第２、第３の回転角度情報を取得する。またコントローラが加速度センサを有する場合には、例えば第３の座標軸に沿った方向での加速度情報を取得する。或いは、第１、第２の座標軸に沿った方向での加速度情報を取得してもよい。
【００４７】
ゲーム演算部１０２はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４８】
オブジェクト空間設定部１０４は、キャラクタ等のモデルオブジェクト（人、ロボット、車、戦闘機、ミサイル、弾等の移動体）、マップ（地形）、建物、コース（道路）、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７２には、オブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。
【００４９】
ヒット演算処理部１０６は、ヒット体とヒット対象物のヒット演算処理を行う。このヒット演算処理では、例えばヒット後のヒット対象物の移動状態や動作状態が設定される。
【００５０】
ここでヒット体は、ヒット対象物をヒットするためのオブジェクトであり、例えばキャラクタが所持（把持）する所持オブジェクト（把持オブジェクト）や、キャラクタを構成する部位オブジェクトである。キャラクタの所持オブジェクトとしては、例えばテニス、卓球、バトミントン等のラケットや、野球のバットや、ゴルフのクラブや、剣等の武器や、マラカス等の楽器や、或いはドラムのスティック等を想定できる。キャラクタの部位オブジェクトとしては、手、足、頭、胴体等の部位を想定できる。ヒット対象物は、ヒット体によりヒットされるものであり、ヒット対象物としては、ボールや、他キャラクタの武器や、壁、床等の固定物や、他キャラクタの手、足、頭、胴体等の部位を想定できる。
【００５１】
またヒット対象物のヒット後の移動状態は、例えば、ヒット後のヒット対象物の移動方向、移動速度、或いは移動加速度等である。またヒット対象物のヒット後の動作状態は、例えばヒット後のヒット対象物の回転状態、或いはモーション状態等である。回転状態は、ヒット対象物の回転方向、回転速度（角速度）、或いは回転加速度（角加速度）等であり、モーション状態は、ヒット対象物をモーションデータ等により動作させた場合の各種状態である。
【００５２】
本実施形態ではヒット演算処理部１０６は、ヒット判定タイミングにおいてキャラクタが第１の判定エリアに位置する場合には、第１のヒット演算処理を行う。一方、ヒット判定タイミングにおいてキャラクタが第２の判定エリアに位置する場合には、第１のヒット演算処理とは異なる第２のヒット演算処理を行う。即ち、キャラクタが、ヒット対象物に設定された第１の判定エリア内に位置するか第２の判定エリア内に位置するかに応じて、ヒット演算処理の内容を異ならせる。例えばヒット対象物の制御処理やキャラクタの制御処理の内容を異ならせる。なおヒット判定タイミングにおいてキャラクタが第３の判定エリアに位置する場合には、第１又は第２のヒット演算処理とは異なる第３のヒット演算処理を行ってもよい。
【００５３】
例えばヒット演算処理部１０６は、ヒット判定タイミングにおいてキャラクタが第１の判定エリアに位置する場合には、ヒット対象物に対して第１の制御処理を行う。一方、ヒット判定タイミングにおいてキャラクタが第２の判定エリアに位置する場合には、ヒット対象物に対して、第１の制御処理とは異なる第２の制御処理を行う。またヒット判定タイミングにおいてキャラクタが第３の判定エリアに位置する場合には、第１、第２の制御処理とは異なる制御処理を行ってもよい。
【００５４】
ここで、ヒット対象物に対する第１、第２の制御処理は、ヒット体によるヒット対象物のヒットの強さ（ヒット力）、ヒット後のヒット対象物の移動速度（ヒット速度）、及びヒット後のヒット対象物の移動方向（角度）の少なくとも１つを制御する処理である。またヒット判定タイミングは、キャラクタが判定エリアに位置するか否かを判定するためのタイミングであり、例えば操作情報取得部１０１により取得されたユーザの操作情報に基づき特定される。このヒット判定タイミングは、キャラクタの所持オブジェクトや部位オブジェクトなどのヒット体とヒット対象物のヒットタイミングや、ヒットタイミングの少し前のタイミングである。例えばテニスゲームにおけるテークバックタイミング等の、ヒット動作の準備が整ったタイミングである。
【００５５】
また操作情報取得部１０１が、コントローラの長軸方向に沿って設定された第３の座標軸回りでの第３の回転角度情報を取得したとする。この場合にヒット演算処理部１０６は、第３の座標軸回りでの第３の回転角度情報に基づいて、ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定する。具体的には、ヒット体によるヒット対象物のヒットタイミングにおける第３の回転角度情報、或いはヒット判定期間における第３の回転角度情報に基づいて、ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定する。
【００５６】
基準ポジション検出部１０８は、コントローラが基準ポジションに設定されたことを検出する処理を行う。例えばコントローラが基準ポジションに設定されたことを知らせる所定の操作（例えばボタンを押す等）を、プレーヤがコントローラにより行った場合に、基準ポジションに設定されたと判断する。そして例えばコントローラが内蔵するセンサが角速度センサである場合に、操作情報取得部１０１は、コントローラが基準ポジションに設定された時に初期値（例えば０度）に設定される回転角度情報を取得する。ここで基準ポジションは、例えばコントローラの第１、第２又は第３の座標軸回りでの回転角度情報を初期値（基準値）に設定するためのポジションである。
【００５７】
判定エリア設定部１１０は、ヒット対象物の判定エリアの設定処理を行う。そして判定エリア設定部１１０による判定エリアの設定データは、エリア設定データ記憶部１７８に記憶される。
【００５８】
例えば判定エリア設定部１１０は、ヒット対象物に対して第１、第２の判定エリアを設定する。或いは更に第３の判定エリアを設定する。ここで第１の判定エリアは、ヒット対象物の位置を基準（例えば中心）として設定されるエリアである。第２の判定エリアは第１の判定エリアの外側に設けられるエリアであり、第３の判定エリアは第２の判定エリアの外側に設けられるエリアである。これらの第１〜第３の判定エリアは、ヒット対象物の位置を基準に設定されるため、ヒット対象物が移動するとそれに追従して移動する。また第１〜第３の各判定エリアは、お互いに重なり部分の無い領域であり、２元的な領域であってもよいし、３次元的な領域であってもよい。また第４、第５の判定エリアというように、４つ以上の判定エリアをヒット対象物に対して設定してもよい。
【００５９】
また判定エリア設定部１１０は、判定エリアの設定変更処理も行う。例えばヒット対象物をヒットした相手キャラクタの情報に応じて、第１の判定エリア及び第２の判定エリアの少なくとも一方の設定を変更する。或いは第３の判定エリアの設定を変更する。ここで相手キャラクタの情報は、例えば相手キャラクタの能力パラメータやステータスパラメータなどである。また判定エリアの設定は、判定エリアの大きさ（面積、体積）や、判定エリアに対応づけられたヒット演算処理やキャラクタ制御処理の内容である。
【００６０】
例えば相手キャラクタの能力パラメータが高い場合や、相手キャラクタのステータスが優れた状態である場合等には、判定エリアの設定を相手キャラクタ側に有利な設定（プレーヤが操作するプレーヤキャラクタ側に不利な設定）にする。例えば判定エリアの大きさを小さくして、ヒット体によるヒット対象物のヒットが難しくなるようにする。一方、相手キャラクタの能力パラメータが低い場合や、相手キャラクタのステータスが良くない状態である場合等には、判定エリアの設定を、相手キャラクタ側に不利な設定（プレーヤキャラクタ側に有利な設定）にする。例えば判定エリアの大きさを大きくして、ヒット体によるヒット対象物のヒットが容易になるようにする。
【００６１】
また判定エリア設定部１１０は、ヒット対象物の状態に応じて、第１の判定エリア及び第２の判定エリアの少なくとも一方の設定を変更する。或いは第３の判定エリアの設定を変更する。ここでヒット対象物の状態は、例えばヒット対象物のヒットの強さ、移動速度、或いは移動方向（角度）などである。例えばヒット対象物のヒットの強さが大きい場合や、移動速度が速い場合や、移動方向が優れた方向（鋭い方向等）である場合には、判定エリアの設定を相手キャラクタ側に有利な設定にする。例えば判定エリアの大きさを小さくして、ヒット体によるヒット対象物のヒットが難しくなるようにする。一方、ヒット対象物のヒットの強さが小さい場合や、移動速度が遅い場合や、移動方向が良くない方向（浅い方向等）である場合には、判定エリアの設定を相手キャラクタ側に不利な設定にする。例えば判定エリアの大きさを大きくして、ヒット体によるヒット対象物のヒットが容易になるようにする。
【００６２】
また判定エリア設定部１１０は、ヒット対象物のバウンド前とバウンド後で、第１の判定エリア及び第２の判定エリアの少なくとも一方の設定を変更する。或いは第３の判定エリアの設定を変更する。例えばヒット対象物が、コート等のフィールドにおいてバウンドする前においては、判定エリアの設定を、バウンド前のヒット対象物の状態を表す設定にする。例えば判定エリアの大きさを小さくして、ヒット体によるヒット対象物のヒットが難しくなるようにする。一方、ヒット対象物が、フィールドにおいてバウンドした後においては、判定エリアの設定を、バウンド後のヒット対象物の状態を表す設定にする。例えば判定エリアの大きさを大きくして、ヒット体によるヒット対象物のヒットが容易になるようにする。
【００６３】
キャラクタ制御部１１４は、キャラクタの制御処理を行う。キャラクタはゲームに登場する人、ロボット、動物等の移動体である。具体的にはキャラクタ制御部１１４は、キャラクタ（モデルオブジェクト）を移動させるための演算を行う。或いはキャラクタを動作させるための演算を行う。即ち操作情報取得部１０１により取得された操作情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、キャラクタをオブジェクト空間内で移動させたり、キャラクタを動作（モーション、アニメーション）させる処理を行う。具体的には、キャラクタの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６４】
例えばキャラクタ制御部１１４は、モーション記憶部１７４に記憶されるモーションデータに基づいて、キャラクタのモーション処理（モーション生成、モーション再生）を行う。具体的には、キャラクタ（スケルトン）を構成する各部位オブジェクト（スケルトンを構成する骨）の位置又は回転角度（方向）等を含むモーションデータを、モーション記憶部１７４から読み出す。そして、キャラクタの各部位オブジェクト（骨）を動かすことで（スケルトン形状を変形させることで）、キャラクタを動作させる。
【００６５】
そして本実施形態では、ヒット判定タイミングにおいてキャラクタが位置する判定エリアに応じて、キャラクタの制御処理を異ならせる。例えばキャラクタ制御部１１４は、ヒット判定タイミングにおいてキャラクタが第３の判定エリアに位置する場合には、キャラクタが第１、第２の判定エリアに位置する場合とは異なるキャラクタ制御処理を行う。具体的には、ヒット判定タイミングにおいてキャラクタが第１、第２の判定エリアに位置する場合には、第１のモーションでキャラクタを動作させる。一方、ヒット判定タイミングにおいてキャラクタが第３の判定エリアに位置する場合には、第１のモーションとは異なる第２のモーションでキャラクタを動作させる。
【００６６】
またキャラクタ制御部１１４は、ヒット対象物の予測ヒット位置にキャラクタを移動させる制御を行う。即ち、プレーヤが操作部１６０により操作を行わない場合にも、ヒット対象物の予測ヒット位置を演算して、キャラクタを予測ヒット位置に自動的に移動させて、キャラクタの所持オブジェクト又は部位オブジェクトによるヒット対象物のヒット処理を行わせる。
【００６７】
仮想カメラ制御部１１８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００６８】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７６（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお描画処理は頂点シェーダ処理やピクセルシェーダ処理により実現してもよい。
【００６９】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７０】
２．本実施形態の手法
２．１  キャラクタの制御手法
以下、プレーヤが操作するキャラクタの制御手法の一例について図２〜図４を用いて説明する。但し、本実施形態のキャラクタの制御手法は図２〜図４に示す手法には限定されず、例えば通常のゲームコントローラの操作ボタンやアナログスティック等の操作によりキャラクタの動作や移動を制御してもよい。
【００７１】
例えば図２では、プレーヤは、コントローラ２００（ゲームコントローラ）を片手で所持し、あたかもテニスのラケットのようにコントローラ２００を振って、スイングを行う。またゲーム装置３００（画像生成システム）により生成される画像が表示される表示部１９０には、プレーヤが操作するキャラクタＣＨが映し出される。そして、プレーヤがコントローラ２００を持ってスイングすると、画面上のキャラクタＣＨも、プレーヤのスイングに応じたスイングを行う。例えばプレーヤがフラットショットのスイングを行うと、キャラクタＣＨもフラットショットのスイングを行い、プレーヤがトップスピンショットやスライスショットのスイングを行うと、キャラクタＣＨもトップスピンショットやスライスショットのスイングを行う。そして画面上のキャラクタＣＨが、相手キャラクタＣＣが打ったボールＢＬを打ち返すことで、プレーヤはテニスゲームを楽しむ。
【００７２】
なお、以下では本実施形態をテニスゲームに適用した場合を主に例にとり説明する。このテニスゲームの場合には、ヒット体はラケットになり、ヒット対象物はボールになる。但し、本実施形態はテニスゲーム以外のスポーツゲーム（例えば卓球、バトミントン、野球、サッカー、バレーボール等）や、スポーツゲーム以外の各種ゲーム（例えば格闘ゲーム、戦闘ゲーム、ロールプレイングゲーム等）に適用できる。
【００７３】
図３（Ａ）、図３（Ｂ）にコントローラ２００の構成例を示す。図３（Ａ）はコントローラ２００を正面から見た正面図であり、図３（Ｂ）は正面向かって右側から見た右側面図である。コントローラ２００は、面取りされた略四角断面を有する棒状の形状になっており、プレーヤは棒を握る要領でコントローラ２００を片手で所持して操作する。
【００７４】
コントローラ２００の正面側（操作面側）には、方向指示キー２１０、Ａボタン２１２等の各種スイッチ類（入力デバイス）が設けられている。またコントローラ２００の裏面側（背面側）にはトリガボタン２１４が設けられている。
【００７５】
コントローラ２００は、撮像素子２２０、無線通信モジュール２２２、加速度センサ２２４、角速度センサ２３０を有する。またコントローラ２００は、図示しないコントローラ制御部やバイブレータ（振動機構）やスピーカ等も内蔵する。コントローラ制御部は例えば制御ＩＣ（ＣＰＵ、ＡＳＩＣ）やメモリにより構成され、コントローラ２００の全体の制御や各種処理を行う。バイブレータは、コントローラ制御部からの振動制御信号にしたがって振動を発生させ、コントローラ２００を把持するプレーヤの手に振動を感じさせる。スピーカは、コントローラ制御部から出力された音信号に応じた音を出力する。
【００７６】
撮像素子２２０はＣＣＤやＣＭＯＳセンサなどにより実現され、コントローラ２００の長手方向（長軸方向）の前方の様子を撮像する。
【００７７】
無線通信モジュール２２２は、図２のゲーム装置３００（ゲーム装置本体）と無線通信（近接無線通信）を行うためのものである。例えば、方向指示キー２１０、Ａボタン２１２等により入力された操作情報、撮像素子２２０により得られた撮像情報、加速度センサ２２４、角速度センサ２３０により得られたセンサ情報（加速度情報、角速度情報）は、無線通信モジュール２２２によりゲーム装置３００に無線通信される。
【００７８】
加速度センサ２２４は、ユーザがコントローラ２００を動かした時（振った時）の加速度情報を検出するセンサである。例えば加速度センサ２２４は直交３軸方向の各加速度情報を検出する。例えば図４において、コントローラ２００の長辺方向に沿って設定された座標軸をＺ軸（広義には第３の座標軸）とし、Ｚ軸に直交する座標軸をＸ軸、Ｙ軸（広義には第１、第２の座標軸）としたとする。この場合には加速度センサ２２４は、例えばＸ軸方向に沿った第１の加速度情報、Ｙ軸方向に沿った第２の加速度情報、Ｚ軸方向に沿った第３の加速度情報を検出して、センサ情報として出力する。
【００７９】
角速度センサ２３０は、ユーザがコントローラ２００を動かした時（回転させた時）の角速度情報を検出するセンサである。例えば角速度センサ２３０は、直交３軸での角速度情報を検出するセンサであり、コントローラ２００のＸ軸、Ｙ軸、Ｚ軸回りでの角速度情報を検出する。具体的には、図４においてＸ軸回りの回転角度をα、Ｙ軸回りの回転角度をβ、Ｚ軸回りの回転角度をγとすると、これらのα、β、γについての角速度を検出する。なおＸ、Ｙ、Ｚの座標軸の正負の向きや、α、β、γの回転方向は、図４に限定されず適宜設定できる。また角速度センサ２３０は、例えば多軸角速度センシングジャイロスコープなどにより実現できる。具体的にはＭＥＭＳ構造の多軸角速度センシングジャイロスコープなどにより実現できる。
【００８０】
なお角速度センサ２３０は、コントローラ２００の本体の拡張端子に接続される拡張ユニット２０２内に設けられているが、コントローラ２００の本体内に設けてもよい。また以下では説明を簡略化するため、コントローラ本体と拡張ユニットが一体に形成されているものとして図示する。
【００８１】
またコントローラ２００は、プレーヤが所持（把持、取り付け）可能であり、例えば長手方向に沿った座標軸で回転可能な形状であることが望ましいが、図３（Ａ）、図３（Ｂ）の形状（略直方体形状。長手方向に沿った切断面が略長方形形状）には限定されない。例えば図３（Ａ）、図３（Ｂ）の形状の一部が異なる形状にしたり、コントローラ２００を収納するケースを設けて使用するなどの種々の変形実施が可能である。
【００８２】
２．２  判定エリアの設定
本実施形態では、ヒット対象物であるボールに対して、ヒット演算処理のための判定エリアを設定している。即ち、通常はヒット体であるラケットに対して設定される判定エリアを、ボールに対して設定し、この判定エリアを用いてヒット演算処理を行う。
【００８３】
図５（Ａ）に判定エリアの設定例を示す。図５（Ａ）では、ボールＢＬ（広義にはヒット対象物）を基準にして第１の判定エリアＨＡ１が設定される。また第１の判定エリアＨＡ１の外側に第２の判定エリアＨＡ２が設定され、第２の判定エリアＨＡ２の外側に第３の判定エリアＨＡ３が設定される。図５（Ａ）では、判定エリアＨＡ１〜ＨＡ３は、半円形状（或いは半球形状。以下、同様）のエリアになっている。具体的にはボールＢＬの進行方向に対して半円形状になっている。また判定エリアＨＡ１〜ＨＡ３は互いに重ならない排他的な領域になっている。
【００８４】
なお判定エリアＨＡ１〜ＨＡ３の形状・態様は図５（Ａ）に限定されない。例えば図５（Ｂ）に示すように円形状（球形状）であってもよいし、楕円形状（楕円球状）であってもよい。或いは図５（Ｃ）に示すような形状であってもよい。即ち、判定エリアＨＡ１〜ＨＡ３は、少なくともボールＢＬの前方（ボールの進行方向の領域）に対して重ならないように設定される領域であればよい。但し、判定エリアＨＡ１〜ＨＡ３は、図５（Ａ）、図５（Ｃ）の形状のように、ボールＢＬの後方（進行方向の逆方向の領域）には設定しないことが望ましい。即ちボールＢＬの後方領域を除く領域に判定エリアＨＡ１〜ＨＡ３を設定する。このようにすれば、ボールＢＬがキャラクタを通過したのにもかかわらず、ヒット演算処理が行われてしまう事態を防止できる。
【００８５】
また各判定エリアＨＡ１〜ＨＡ３の幅の設定も任意である。例えば判定エリアＨＡ１の幅（半径方向での幅）に比べて判定エリアＨＡ２の幅を広くしたり、狭くしてもよい。また図５（Ａ）〜図５（Ｃ）では判定エリアの設定数はＨＡ１、ＨＡ２、ＨＡ３というように３つになっているが、２つであってもよいし、４つ以上であってもよい。また判定エリアＨＡ１〜ＨＡ３は２次元の領域であってもよいし、３次元の領域であってもよい。
【００８６】
図６は、判定エリアＨＡ１〜ＨＡ３を用いた本実施形態のヒット演算処理を説明するための図である。例えば図２のように相手キャラクタＣＣがボールＢＬをヒットして打ち返した場合に、図６に示すようにキャラクタＣＨは、ボールＢＬの予測ヒット位置ＰＰに自動的に移動する。即ちプレーヤが、コントローラ２００（操作部）を用いて何も操作を行わなくても、ボールＢＬの予測ヒット位置ＰＰが求められて、その予測ヒット位置ＰＰにキャラクタＣＨが自動的に移動する。
【００８７】
例えば相手キャラクタＣＣがボールＢＬをヒットすると、ヒット後のボールＢＬの移動状態（移動方向、移動速度等）や動作状態（回転方向、回転速度）等に基づいて、ボールＢＬの軌道が求められる。そして、そのボールＢＬの軌道に対して最短で到達する位置が、予測ヒット位置ＰＰとして求められる。例えば図６において、ボールＢＬが予測ヒット位置ＰＰに到達するまでのフレーム数と、所定速度で移動するキャラクタＣＨが予測ヒット位置ＰＰに到達するまでのフレーム数とが同じフレーム数になるように、予測ヒット位置ＰＰが求められる。そしてキャラクタＣＨは、この予測ヒット位置ＰＰの方向へと所定速度で移動し、予測ヒット位置ＰＰに到達した時に、例えばテークバック等を行って、ボールＢＬのヒット動作の準備が整った状態になるようにする。
【００８８】
そして本実施形態では、キャラクタＣＨが予測ヒット位置ＰＰに到達して、ヒット判定タイミングになると、キャラクタＣＨがＨＡ１〜ＨＡ３のいずれの判定エリアに位置するのかを判定する。例えば、予測ヒット位置ＰＰに到達したキャラクタＣＨがテークバック動作等を行い、ボールＢＬをヒットする準備が整った状態になると、キャラクタＣＨの位置（代表位置、所持オブジェクトや部位オブジェクトの位置）が、ＨＡ１〜ＨＡ３のいずれの判定エリアに属するのかを判定する。そしてヒット判定タイミングにおいてキャラクタＣＨが判定エリアＨＡ１に位置する場合には、第１のヒット演算処理（例えばボールに対する第１の制御処理）を行い、判定エリアＨＡ２に位置する場合には、第１のヒット演算処理とは異なる第２のヒット演算処理（例えばボールに対する第２の制御処理）を行う。またヒット判定タイミングにおいてキャラクタＣＨが判定エリアＨＡ３に位置する場合には、判定エリアＨＡ１、ＨＡ２に位置する場合とは異なるキャラクタ制御処理（モーション処理）を行う。
【００８９】
図７に、各判定エリアにおいて行われるヒット演算処理（ボールの制御処理）、キャラクタ制御処理の一例を示す。図７に示すように判定エリアＨＡ１はファインエリアに設定され、判定エリアＨＡ２はブレエリアに設定され、判定エリアＨＡ３は横っ飛びエリアに設定される。
【００９０】
そしてキャラクタが、ヒット判定タイミングにおいてファインエリアである判定エリアＨＡ１に位置すると判定されると、ボールのヒットの強さが強くなり、ヒット後のボールの移動速度（ヒット速度）が速くなり、ヒット後のボールの移動方向が鋭い角度になるように設定される。従って、この設定の状態でキャラクタがボールを打ち返すと、ボールは強くヒットされ、ヒット後のボールは速い速度で移動すると共に鋭い角度（アングルショット）で移動するようになる。なお、判定エリアＨＡ１に位置する場合には、キャラクタのモーション（制御処理）は通常のモーションに設定される。
【００９１】
このように、ヒット判定タイミング（テークバック動作やヒット動作のタイミング）においてキャラクタが判定エリアＨＡ１に位置する場合には、プレーヤ側に有利になるボールの制御処理（広義にはヒット演算処理）が行われる。例えば、ボールが強くヒットされることで、相手キャラクタは、ボールを上手く打ち返すことが困難になる。またボールが速い速度や鋭い角度で飛ぶことで、相手キャラクタがボールに追いつくのが難しくなる。即ち、プレーヤが、ファインエリアである判定エリアＨＡ１にキャラクタが位置する時に、テークバック動作やボールＢＬのヒット動作を行い、そのタイミングがヒット判定タイミングになることで、ボールは、強く・速く・鋭い角度でショットされるため、ゲームがプレーヤにとって優位に進むようになる。
【００９２】
一方、キャラクタが、ヒット判定タイミングにおいてブレエリアである判定エリアＨＡ２に位置すると判定されると、ボールのヒットの強さが弱くなり、ヒット後のボールの移動速度が遅くなり、ヒット後のボールの移動方向は浅い角度になるように設定される。従って、この設定の状態でキャラクタがボールを打ち返すと、ボールは弱くヒットされ、ヒット後のボールは遅い速度で移動すると共に浅い角度で移動するようになる。なお、この時に、キャラクタのモーション（制御処理）は通常のモーションに設定される。
【００９３】
このように、ヒット判定タイミングにおいてキャラクタが判定エリアＨＡ２に位置する場合には、判定エリアＨＡ１に位置する場合に比べて、プレーヤ側に不利になるボールの制御処理が行われる。例えば、ボールが弱くヒットされることで、相手キャラクタは、ボールを容易に打ち返すことが可能になる。またボールが遅い速度や浅い角度で飛ぶことで、相手キャラクタはボールに容易に追いつけるようになる。
【００９４】
また、キャラクタが、ヒット判定タイミングにおいて横っ飛びエリアである判定エリアＨＡ３に位置すると判定されると、ボールの制御処理については、判定エリアＨＡ２と同等になる。或いは、判定エリアＨＡ２に比べてプレーヤキャラクタにとって更に不利な設定にしてもよい。
【００９５】
一方、判定エリアＨＡ３にキャラクタが位置すると判定されると、キャラクタのモーションは、通常モーション（広義には第１のモーション）から横っ飛びモーション（広義には第２のモーション）に切り替えられる。この横っ飛びモーションでは、ボールに追いついて打ち返した後に、キャラクタが通常の態勢に戻るまでの時間が長くなる。従って、その後に相手キャラクタがボールを打ち返して来た場合には、横っ飛びモーション後のキャラクタがそのボールをヒットするのが難しくなる。
【００９６】
このように、ヒット判定タイミングにおいてキャラクタが判定エリアＨＡ３に位置する場合には、判定エリアＨＡ２に位置する場合に比べて、プレーヤ側に更に不利になるキャラクタ制御処理が行われるようになる。
【００９７】
なお図８（Ａ）は、ヒット後のボールＢＬの移動方向を説明する図である。ヒット判定タイミングにおいてキャラクタが判定エリアＨＡ１に位置する場合には、ＤＲ１に示すようにボールは鋭い角度（アングルショット）で飛ぶようになり、相手キャラクタがボールを打ち返すのが難しくなる。一方、ヒット判定タイミングにいてキャラクタが判定エリアＨＡ２に位置する場合には、ＤＲ２に示すようにボールは浅い角度で飛ぶようになり、相手キャラクタはボールを容易に打ち返すことが可能になる。
【００９８】
図８（Ｂ）、図８（Ｃ）は、キャラクタの横っ飛びモーションを説明する図である。ヒット判定タイミングにおいてキャラクタが判定エリアＨＡ３に位置する場合には、キャラクタは図８（Ｂ）、図８（Ｃ）に示すような横っ飛びモーションを行う。従って、ボールをヒットした後、キャラクタが元の態勢に戻るまでに長い時間を要するようになり、その後に相手キャラクタにより打ち返されてきたボールをヒットすることが難しくなる。
【００９９】
以上のように本実施形態では、通常ならばラケット等のヒット体に対して設定されるヒット演算処理の判定エリアを、ボール等のヒット対象物に設定している。そしてプレーヤがヒット動作の準備動作（テークバック）やヒット動作を行ったヒット判定タイミングにおいて、キャラクタがＨＡ１〜ＨＡ３のいずれの判定エリアに位置するかに応じて、ボールの制御処理（ヒット演算処理）やキャラクタの制御処理を異ならせている。このようにすれば、図６に示すようにキャラクタが予測ヒット位置に自動移動するシステムにおいて好適なヒット演算処理を提供できるようになる。また後述するように、ボールを打った相手キャラクタの情報や、ボールの状態を反映させたヒット演算処理も容易に実現できるようになる。
【０１００】
２．３  判定エリアの設定変更
本実施形態では、相手キャラクタの情報やボールの状態に応じて、判定エリアＨＡ１〜ＨＡ３の設定を変更する処理を行っている。
【０１０１】
例えば図９（Ａ）は、ボールを打った相手キャラクタの能力が低い場合（ステータスが悪い状態の場合）の判定エリアＨＡ１〜ＨＡ３の設定例である。一方、図９（Ｂ）は、相手キャラクタの能力が高い場合（ステータスが良い状態の場合）の判定エリアＨＡ１〜ＨＡ３の設定例である。
【０１０２】
図９（Ａ）に示すように、ボールを打った相手キャラクタの能力が低い場合には、判定エリアＨＡ１〜ＨＡ３の大きさ（面積、体積）が大きくなる。例えばファインエリアである判定エリアＨＡ１が大きくなることで、キャラクタは、強く・速く・鋭い角度でボールをショットできるようになり、プレーヤにとって有利になる。また横っ飛びエリアである判定エリアＨＡ３が大きくなることで、横っ飛びでボールをショットできる範囲が広くなるため、プレーヤにとって有利になる。なおＨＡ１〜ＨＡ３のいずれか１つの判定エリアのみを大きくしたり、判定エリアの大きさの増加率をＨＡ１〜ＨＡ３で異ならせるなどの種々の変形実施が可能である。
【０１０３】
図９（Ｂ）に示すように、ボールを打った相手キャラクタの能力が高い場合には、判定エリアＨＡ１〜ＨＡ３の大きさが小さくなる。例えばファインエリアである判定エリアＨＡ１が小さくなることで、キャラクタがショットしたボールは、弱く・遅く・浅い角度で飛ぶようになり、プレーヤにとって不利になる。また横っ飛びエリアである判定エリアＨＡ３が小さくなることで、横っ飛びでボールをショットできる範囲が狭くなるため、プレーヤにとって不利になる。なおＨＡ１〜ＨＡ３のいずれか１つの判定エリアのみを小さくしたり、判定エリアの大きさの減少率をＨＡ１〜ＨＡ３で異ならせるなどの種々の変形実施が可能である。
【０１０４】
以上のように相手キャラクタの能力等の情報に基づいて、判定エリアの設定を変更すれば、ゲームの有利、不利の設定を容易に実現できるようになる。またプレーヤが対戦する相手キャラクタが変わった場合にも、その相手キャラクタの情報に基づいて、判定エリアの設定が自動的に変更される。従って、ゲームの有利、不利の設定も自動的に調整されるようになるため、有利、不利の設定に関するゲーム調整を容易化できる。
【０１０５】
また本実施形態では、ボール（ヒット対象物）の状態に応じて、判定エリアの設定を変更してもよい。例えば図１０（Ａ）に示すようなボールのバウンド前とバウンド後で、判定エリアの設定を変更する。
【０１０６】
例えば図１０（Ｂ）は、ボールのバウンド前の判定エリアＨＡ１〜ＨＡ３の設定例である。ボールのバウンド前は、例えば判定エリアＨＡ１〜ＨＡ３の大きさが小さくなる。従って、ボールのバウンド前のノーバウンドの状態では、キャラクタがボールをヒットするのが難しくなる。
【０１０７】
一方、図１０（Ｃ）は、ボールのバウンド後の判定エリアＨＡ１〜ＨＡ３の設定例である。ボールのバウンド後は、例えば判定エリアＨＡ１〜ＨＡ３の大きさが大きくなる。従って、ボールのバウンド後は、キャラクタがボールをヒットするのが容易になる。
【０１０８】
このようにすれば、ボールのバウンド前とバウンド後とで判定エリアＨＡ１〜ＨＡ３の大きさ等を変更するという簡素な処理で、ボールがバウンドしたか否かを反映させたヒット演算処理を実現できるようになる。
【０１０９】
なお、ボールの状態に応じた判定エリアの設定の変更処理は図１０（Ａ）〜図１０（Ｃ）に限定されない。例えばボール（ヒット対象物）が相手キャラクタによりヒットされた時のボールの状態に応じて、判定エリアの設定を変更してもよい。例えば相手キャラクタによりヒットされた時のボールのヒットの強さ、ボールの移動速度、或いはボールの移動方向に基づいて、判定エリアの設定を変更してもよい。
【０１１０】
例えば相手キャラクタが、ボールを強く・速く・鋭い角度でヒットした場合には、判定エリアＨＡ１〜ＨＡ３の大きさを小さくする。これにより、相手キャラクタが有利になり、プレーヤが不利になるゲーム設定が可能になる。一方、相手キャラクタが、ボールを弱く・遅く・浅い角度でヒットした場合には、判定エリアＨＡ１〜ＨＡ３の大きさを大きくする。これにより、相手キャラクタが不利になり、プレーヤが有利になるゲーム設定が可能になる。
【０１１１】
また判定エリアの設定の変更処理は、判定エリアの大きさの変更には限定されない。例えば図７で説明したような各判定エリアに設定されるヒット演算処理（ボール制御処理）やキャラクタ制御処理の内容自体を変更するようにしてもよい。
【０１１２】
２．４  詳細な処理
次に本実施形態の詳細な処理例について図１１のフローチャートを用いて説明する。
【０１１３】
まず、相手キャラクタがボールをヒットしたか否かを判定する（ステップＳ２１）。そして相手キャラクタがボールをヒットした場合には、図９（Ａ）〜図１０（Ｃ）で説明したように、相手キャラクタの情報（能力、ステータス等）とボールの状態（強さ、速度等）に基づいて、ボールの判定エリアを設定する（ステップＳ２２）。
【０１１４】
次に、ボールの軌道を決定する（ステップＳ２３）。そして、図６で説明したように、ボールの軌道に基づいて、ボールの予測ヒット位置を求め、求められた予測ヒット位置にキャラクタを移動させる（ステップＳ２４、Ｓ２５）。
【０１１５】
次に、コントローラの操作情報に基づいて、ヒット判定タイミングを特定する（ステップＳ２６）。例えばキャラクタがテークバックを行うタイミング（或いはボールをヒットするタイミング）を特定する。そして、ヒット判定タイミング（テークバックのタイミング）においてキャラクタ（代表位置等）が位置する判定エリアを特定する（ステップＳ２７）。
【０１１６】
そして図７で説明したように、キャラクタが判定エリアＨＡ１に位置する場合にはファインショットの処理を行う（ステップＳ２８）。即ちボールのヒットの強さを強くし、ヒット速度を速くし、ヒット方向を鋭い角度に設定する。また判定エリアＨＡ２に位置する場合には、ブレショットの処理を行う（ステップＳ２９）。即ち、ボールのヒットの強さを弱くし、ヒット速度を遅くし、ヒット方向を浅い角度に設定する。また判定エリアＨＡ３に位置する場合には、横っ飛びショット処理を行う（ステップＳ３０）。即ちキャラクタのモーションを横っ飛びモーションに切り替える。またボールのヒットの強さを弱くし、ヒット速度を遅くし、ヒット方向を浅い角度に設定する。
【０１１７】
以上のようにすることで、ボールに設定された判定エリアを用いたヒット演算処理が行われるようになり、これまでにないヒット演算処理を実現できる。
【０１１８】
２．５  コントローラの回転角度情報に基づくヒット演算処理
次に本実施形態のヒット演算処理の詳細例について説明する。なお本実施形態のヒット演算処理は以下に説明する処理に限定されず、種々の変形実施が可能である。
【０１１９】
図１２（Ａ）、図１２（Ｂ）、図１３に、図３（Ａ）〜図４で説明したコントローラ２００により操作されるプレーヤキャラクタＣＨ（以下、適宜、キャラクタＣＨと記載）のモーション（基準モーション）の例を示す。図１２（Ａ）は基準ポジションでのキャラクタＣＨのモーション（姿勢）の例である。図１２（Ｂ）はテークバック時のモーションの例であり、図１３はボールのヒット時（インパクト時）のモーションの例である。プレーヤが、図２のようにコントローラ２００を持って、テニスのラケットのようにコントローラ２００を振ってスイングを行うと、画面上のキャラクタＣＨも、図１２（Ａ）〜図１３のようにスイングを行う。ここではキャラクタＣＨは、フラットショットのスイングを行っている。即ち図１３に示すようにボール（広義にはヒット対象物）のインパクトの瞬間では、ラケットＲＫ（広義にはヒット体）の面は水平面（地面）に垂直な方向になっており、ラケット面にボールが直角にヒットするため、ボールは回転せずにフラットショットの軌道で飛ぶようになる。
【０１２０】
さて、現実世界のテニスでは、図１３のようなフラットショット以外にも、トップスピンやスライスなどの各種ショットがある。例えばトップスピンショットでは、図１３のフラットショットに比べて、ボールのインパクト時にラケット面の向きが下側に向き（水平面に対する角度が９０度よりも小さくなり）、ボールに対して順方向の回転がかかる。一方、スライスショットでは、図１３のフラットショットに比べて、ボールのインパクト時にラケット面の向きが上側に向き（水平面に対する角度が９０度よりも大きくなり）、ボールに対して逆方向の回転がかかる。
【０１２１】
しかしながら、これまでのテニスゲームでは、このようなトップスピンやスライスなどの各種ショットを、プレーヤが違和感を感じない操作で実現することが難しかった。例えばトップスピンやスライスの打ち分けを、方向指示キーやボタンの操作で行う手法も考えられる。具体的には方向指示キーで下側を指示した場合にはトップスピンのショットになり、上側を指示した場合にはスライスショットになるようにする。しかしながら、このような操作は、現実世界でのテニスのスイングの感覚とは異なるものであり、このような操作では、実際にテニスをプレイしているというような仮想現実感をプレーヤに与えることが難しい。
【０１２２】
特に図２のように、プレーヤがコントローラ２００をテニスラケットのようにスイングすることで、画面上のキャラクタＣＨがスイングしてボールＢＬを打ち返す場合には、このような方向指示キー等を用いたショットの打ち分けでは、プレーヤの仮想現実感を今ひとつ向上できない。即ち、コントローラ２００を振る動作については、現実世界のテニスと同様であるのに、トップスピンやスライスの打ち分けは、現実世界とは異なってしまい、図２のようなゲーム操作を実現した意味が薄れてしまう。
【０１２３】
そこで本実施形態では、コントローラ２００の所定座標軸回りでの回転角度情報、例えばＺ軸（第３の座標軸）回りでの回転角度情報を取得する。そして取得された回転角度情報に基づいて、ラケットＲＫ（広義にはヒット体）によりヒットされるボールＢＬ（広義にはヒット対象物）の移動状態や動作状態（移動方向や回転状態）を設定するヒット演算処理を行う。
【０１２４】
例えば図１４（Ａ）〜図１４（Ｃ）では、ラケットＲＫによるボールＢＬのヒットタイミングにおけるコントローラ２００の回転角度情報に基づいて、ボールＢＬの移動状態や動作状態を設定している。
【０１２５】
具体的には図１４（Ａ）では、ヒットタイミングＴＨでのコントローラ２００のＺ軸回りでの回転角度γは、基準ポジションでの初期値を例えば０（度）とした場合に、γ＝０になっている。このようにヒットタイミングＴＨでのＺ軸回りの回転角度がγ＝０である場合には、ラケットＲＫの面が水平面に対して垂直であると判断して、例えばフラットショットになるようにボールＢＬの移動方向や回転状態等を設定する。例えばボールＢＬが、ほぼ無回転で、比較的速い速度で、フラットショットの軌道で飛ぶように、ボールＢＬの移動演算処理を行う。
【０１２６】
一方、図１４（Ｂ）では、ヒットタイミングＴＨでのコントローラ２００の回転角度はγ＝γＡとなっている。従って、ラケット面と水平面のなす角度が９０度よりも小さくなっており、ラケット面の向きが下向きであると判断して、例えばトップスピンショットになるようにボールＢＬの移動方向や回転状態等を設定する。例えばボールＢＬが、順方向の回転でトップスピンショットの軌道で飛ぶように、ボールＢＬの移動演算処理を行う。
【０１２７】
図１４（Ｃ）では、ヒットタイミングＴＨでのコントローラ２００の回転角度はγ＝−γＢとなっている。従って、ラケット面と水平面のなす角度が９０度よりも大きくなっており、ラケット面の向きが上向きであると判断して、例えばスライスショットになるようにボールＢＬの移動方向や回転状態等を設定する。例えばボールＢＬが、逆方向の回転でスライスショットの軌道で飛ぶように、ボールＢＬの移動演算処理を行う。
【０１２８】
なお図１４（Ａ）〜図１４（Ｃ）の各ショットの切り替えは、例えば回転角度γが属する角度範囲を判定することで実現できる。一例としては、−γ１≦γ≦γ１である場合にはフラットショットであると判断し、γ１＜γ＜γ２である場合にはトップスピンショットであると判断し、−γ２＜γ＜−γ１である場合にはスライスショットであると判断すればよい。
【０１２９】
図１５（Ａ）〜図１５（Ｃ）では、ヒット判定期間におけるコントローラ２００の回転角度情報に基づいて、ボールＢＬのヒット後の移動状態や動作状態を設定している。具体的にはヒット判定期間における回転角度情報の変化情報に基づいて、ボールＢＬのヒット後の移動状態や動作状態を設定する。例えば第１のタイミングでの回転角度情報と第２のタイミングでの回転角度情報に基づいて、ボールＢＬの移動状態や動作状態を設定する。
【０１３０】
例えば図１５（Ａ）では、ヒットタイミングＴＨの前の第１のタイミングＴＭ１でのＺ軸回りでの回転角度はγ＝０になっており、ラケット面が水平面に対して垂直になっていると判断される。またヒットタイミングＴＨでは、回転角度はγ＝γＡとなっており、ラケット面の向きが、タイミングＴＭ１に比べて下方向に向いていると判断される。またヒットタイミングＴＨの後の第２のタイミングＴＭ２では、回転角度はγ＝γＢ＞γＡとなっており、ラケット面の向きが、ヒットタイミングＴＨに比べて更に下方向に向いていると判断される。このように、ヒットタイミングの前後で、ラケット面の向きが下方向に変化した場合には、例えばトップスピンショットになるようにボールＢＬの移動方向や回転状態等を設定する。またヒットタイミング前後での回転角度の変化が大きい場合には、例えばトップスピンの回転速度（回転量）を速くしてもよい。
【０１３１】
また図１５（Ｂ）では、ヒットタイミングＴＨの前の第１のタイミングＴＭ１でのＺ軸回りでの回転角度はγ＝０になっており、ラケット面が水平面に対して垂直になっていると判断される。またヒットタイミングＴＨでは、回転角度はγ＝−γＡとなっており、ラケット面の向きが、タイミングＴＭ１に比べて上方向に向いていると判断される。またヒットタイミングＴＨの後の第２のタイミングＴＭ２では、回転角度はγ＝−γＢ＜−γＡとなっており、ラケット面の向きが、ヒットタイミングＴＨに比べて更に上方向に向いていると判断される。このように、ヒットタイミングの前後で、ラケット面の向きが上方向に変化した場合には、例えばスライスショットになるようにボールＢＬの移動方向や回転状態等を設定する。またヒットタイミング前後での回転角度の変化が大きい場合には、スライスの回転速度（回転量）を速くしてもよい。
【０１３２】
また図１５（Ｃ）では、タイミングＴＭ１、ＴＨ、ＴＭ２において、ラケット面の向きが上方向に向いていると判断される。また例えばＹ軸回りでの回転角度β等に基づいて、ラケットＲＫの位置が徐々に上側に移動していると判断される。従って、この場合には、ボールＢＬが上方向に飛ぶロブショットになるようにボールＢＬの移動方向や回転状態等を設定する。
【０１３３】
このように、図１４（Ａ）〜図１４（Ｃ）では、ヒットタイミングＴＨでの回転角度だけを用いているのに対して、図１５（Ａ）〜図１５（Ｃ）では、ヒットタイミングＴＨの前後のタイミングＴＭ１、ＴＭ２での回転角度を反映させてボールＢＬの移動方向や回転状態等を設定している。このようにすることで、ヒット後のボールＢＬの軌道を現実世界の軌道に近づけることが可能になり、プレーヤの仮想現実感を更に向上できる。また、ヒットタイミングのみならず、その前後のタイミングでのコントローラの回転角度も反映されるため、フォロースルーやテークバックでのラケット面の角度も反映させたショットが可能になる。
【０１３４】
図１６（Ａ）〜図１６（Ｄ）に、フラット、トップスピン、スライス、ロブの各ショットの回転方向や移動方向の設定例を示す。同図に示すように、フラットやロブではボールＢＬはほぼ無回転で飛び、トップスピンでは順方向の回転になり、スライススピンでは逆方向の回転になる。またフラットではボールＢＬが水平に飛ぶのに対して、ロブでは上方向に飛ぶ。なおボールＢＬの回転方向や移動方向の設定は、図１６（Ａ）〜図１６（Ｄ）に限定されず、種々の変形実施が可能である。例えば、順方向に回転しながら上方向に飛ぶトップスピンロブなどを再現してもよい。また、ヒット後のボールＢＬのショットの軌道は、ヒット時に設定された移動状態や動作状態に基づく物理シミュレーション処理を行うことで求めてもよいし、複数のショット軌道の中から、ヒット時に設定された移動状態や動作状態に応じたショット軌道を選択することで求めてもよい。
【０１３５】
以上のように本実施形態では、コントローラ２００の所定座標軸回りでの回転角度情報を用いてヒット演算処理を実行している。このようにすれば、例えばテニスのラケット面のコントロール等を、コントローラ２００の所定座標軸回りでの回転操作により実現できる。従って、従来のスポーツゲーム等では実現することが難しかった操作インターフェース環境を提供できる共に、コントローラ２００の操作と、キャラクタの動きとがマッチするようになるため、プレーヤの仮想現実感を向上できる。
【０１３６】
例えば従来は、コントローラ２００に設けられた加速度センサ２２４を用いて、プレーヤによりコントローラ２００が振られたことを検知していた。このような加速度センサ２２４だけを用いる手法では、各座標軸回りでの絶対的な回転角度を正確に求めることは困難である。また加速度センサ２２４では、コントローラ２００の長手方向に沿ったＺ軸回りでの回転角度を求めることは難しい。
【０１３７】
これに対して本実施形態では、例えば角速度センサ２３０を用いてコントローラ２００の各座標軸回りでの回転角度を求め、この回転角度を用いてヒット演算処理を実現している。従って、加速度センサ２２４だけを用いる従来の手法に比べて、よりインテリジェントで精度の高いヒット演算処理を実現できる。なおコントローラ２００の各座標軸回りでの回転角度を求めるセンサとして、角速度センサ２３０以外のセンサを採用することも可能である。
【０１３８】
２．６  基準ポジション
角速度センサ２３０を用いた場合には、センサから得られる情報は角速度になる。従って、絶対的な回転角度を求める場合には、角速度の積算処理等を行うことになるため、回転角度の初期値を設定することが望ましい。このため本実施形態では、基準ポジション検出部１０８が、コントローラ２００の基準ポジションを検出する。この基準ポジションは、例えばコントローラ２００のＸ、Ｙ、Ｚ軸回りでの回転角度α、β、γの初期値を設定するためのポジションである。
【０１３９】
この基準ポジションの検出手法としては種々の手法が考えられるが、本実施形態では、コントローラ２００が基準ポジションに設定されたことを知らせる所定の操作を、プレーヤが行った場合に、基準ポジションに設定されたと判断している。具体的には図１７では、プレーヤは、ラケットに相当するコントローラ２００を体の前側に持って、テニスと同様の基準ポジションの姿勢をとる。そしてトリガボタン２１４を押すことで、コントローラ２００が基準ポジションに設定されたことを、ゲーム装置３００側に知らせる。すると、コントローラ２００の回転角度α、β、γが初期値（例えば０度）に設定される。その後、プレーヤがコントローラ２００をラケットのように見なしてスイングを行うと、角速度センサ２３０で検出された角速度に基づいて、回転角度α、β、γが初期値から変化して、基準ポジションからの回転角度が取得される。そしてキャラクタＣＨが図１２（Ａ）〜図１３に示すようなスイングを行って、ボールＢＬのショットを行う。
【０１４０】
このようにすれば、プレーヤは、実際のテニスと同様に、ラケットに相当するコントローラ２００を体の前側に持った後に、トリガボタン２１４を押してスイングするという動作を繰り返すことで、相手キャラクタＣＣとのラリーを楽しむことができる。従って、プレーヤが違和感を感じない動作でテニスゲームを楽しむことができる。
【０１４１】
なお基準ポジションの検出手法は図１７の手法に限定されない。例えばトリガボタン２１４以外のボタン等の操作で、基準ポジションであることを知らせるようにしてもよい。或いは図３（Ａ）の撮像素子２２０による撮像で、表示部１９０に取り付けられた発光素子等を検出することで、基準ポジションを検出してもよい。例えばプレーヤが、撮像素子２２０を表示部１９０の画面側に向けた場合に基準ポジションを検出する。
【０１４２】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（ヒット体、ヒット対象物等）と共に記載された用語（ラケット、ボール等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ヒット演算処理、キャラクタ制御処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【０１４３】
１００  処理部、１０１  操作情報取得部、１０２  ゲーム演算部、
１０４  オブジェクト空間設定部、１０６  ヒット演算処理部、
１０８  基準ポジション検出部、１１０  判定エリア設定部、
１１４  キャラクタ制御部、１１８  仮想カメラ制御部、
１２０  画像生成部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  オブジェクトデータ記憶部、１７４  モーション記憶部、
１７６  描画バッファ、１７８  パラメータ記憶部、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  補助記憶装置、１９６  通信部、
２００  コントローラ、２０２  拡張ユニット、２１０  方向指示キー、
２１２  Ａボタン、２１４  トリガボタン、２２０  撮像素子、
２２２  無線通信モジュール、２２４  加速度センサ、２３０  角速度センサ
【図２】
2010233752.tif 000003
【図３】
2010233752.tif 000004
【図４】
2010233752.tif 000005
【図５】
2010233752.tif 000006
【図６】
2010233752.tif 000007
【図７】
2010233752.tif 000008
【図８】
2010233752.tif 000009
【図９】
2010233752.tif 000010
【図１０】
2010233752.tif 000011
【図１１】
2010233752.tif 000012
【図１４】
2010233752.tif 000013
【図１５】
2010233752.tif 000014
【図１６】
2010233752.tif 000015
【図１７】
2010233752.tif 000016
【図１】
2010233752.tif 000017
【図１２】
2010233752.tif 000018
【図１３】
2010233752.tif 000019