(57)【要約】【課題】現実空間において人が行う動作をゲーム空間において違和感なく表示できるようにする。【解決手段】本ゲームプログラムでは、動作中のキャラクタ７０および移動中の移動体７１が、画像表示部３に表示される。そして、キャラクタ７０が動作する動作方向を規定するための第１データＶ１を算出する処理が、制御部１により実行される。そして、移動体７１が移動する移動方向を規定するための第２データＢ１を算出する処理が、制御部により実行される。第２モーションデータ認識機能においては、第１データＶ１および第２データＢ１に基づいて、キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータが、制御部１に認識される。そして、動作中のキャラクタ７０が、キャラクタ用の第２モーションデータを用いて画像表示部３に表示される。【選択図】図２
2008237587.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームを実行可能なコンピュータに、
動作中の前記キャラクタを、キャラクタ用の第１モーションデータを用いて画像表示部に表示する第１キャラクタ表示機能と、
移動中の前記移動体を、移動体用のモーションデータを用いて画像表示部に表示する移動体表示機能と、
前記キャラクタが動作する動作方向を規定するための第１データを算出する処理を、制御部に実行させる動作方向算出機能と、
前記移動体が移動する移動方向を規定するための第２データを算出する処理を、制御部に実行させる移動方向算出機能と、
前記第１データおよび前記第２データに基づいて、前記キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータを、制御部に認識させる第２モーションデータ認識機能と、
動作中の前記キャラクタを、前記キャラクタ用の第２モーションデータを用いて画像表示部に表示する第２キャラクタ表示機能と、
を実現させるためのゲームプログラム。
【請求項２】
前記コンピュータに、
前記キャラクタと前記移動体とが交差する交差位置を、制御部に認識させる交差位置認識機能と、
動作中の前記キャラクタが前記交差位置に到達するまでの所定の第１フレーム数を、制御部に認識させる第１フレーム数認識機能と、
をさらに実現させ、
前記第２モーションデータ認識機能においては、前記第１データおよび前記第２データに基づいて、所定の前記第１フレーム数の前記キャラクタ用の第２モーションデータが、制御部に認識され、
前記第２キャラクタ表示機能においては、動作中の前記キャラクタが、所定の前記第１フレーム数の前記キャラクタ用の第２モーションデータを用いて、画像表示部に表示される、
請求項１に記載のゲームプログラム。
【請求項３】
前記第２モーションデータ認識機能においては、前記第１データおよび前記第２データに基づいて前記キャラクタの動作方向と前記移動体の移動方向とがなす角度を示す角度データを算出する処理が制御部により実行され、前記角度データに応じて前記キャラクタ用の第２モーションデータが制御部に認識され、
前記第２キャラクタ表示機能においては、前記キャラクタの姿勢が前記移動体の方向に向くように動作する前記キャラクタが、前記キャラクタ用の第２モーションデータを用いて画像表示部に表示される、
請求項１又は２に記載のゲームプログラム。
【請求項４】
前記第２キャラクタ表示機能においては、前記角度データに応じて前記キャラクタの動作方向を補正する処理を制御部に実行させることにより、前記キャラクタの姿勢が前記移動体の方向に向くように動作する前記キャラクタが、前記キャラクタ用の第２モーションデータを用いて画像表示部に表示される、
請求項３に記載のゲームプログラム。
【請求項５】
ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームを実行可能なゲーム装置であって、
動作中の前記キャラクタを、キャラクタ用の第１モーションデータを用いて画像表示部に表示する第１キャラクタ表示手段と、
移動中の前記移動体を、移動体用のモーションデータを用いて画像表示部に表示する移動体表示手段と、
前記キャラクタが動作する動作方向を規定するための第１データを算出する処理を、制御部に実行させる動作方向算出手段と、
前記移動体が移動する移動方向を規定するための第２データを算出する処理を、制御部にさせる移動方向算出手段と、
前記第１データおよび前記第２データに基づいて、前記キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータを、制御部に認識させる第２モーションデータ認識手段と、
動作中の前記キャラクタを、前記キャラクタ用の第２モーションデータを用いて画像表示部に表示する第２キャラクタ表示手段と、
を備えるゲーム装置。
【請求項６】
ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームをコンピュータにより制御するゲーム制御方法であって、
動作中の前記キャラクタを、キャラクタ用の第１モーションデータを用いて画像表示部に表示する第１キャラクタ表示ステップと、
移動中の前記移動体を、移動体用のモーションデータを用いて画像表示部に表示する移動体表示ステップと、
前記キャラクタが動作する動作方向を規定するための第１データを算出する処理を、制御部に実行させる動作方向算出ステップと、
前記移動体が移動する移動方向を規定するための第２データを算出する処理を、制御部にさせる移動方向算出ステップと、
前記第１データおよび前記第２データに基づいて、前記キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータを、制御部に認識させる第２モーションデータ認識ステップと、
動作中の前記キャラクタを、前記キャラクタ用の第２モーションデータを用いて画像表示部に表示する第２キャラクタ表示ステップと、
を備えるゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、特に、ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームを実現するためのゲームプログラムに関する。また、このゲームプログラムにより実現されるゲームを実行可能なゲーム装置、およびこのゲームプログラムにより実現されるゲームをコンピュータにより制御するゲーム制御方法に関する。
【背景技術】
【０００２】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力装置たとえばコントローラとを有している。コントローラには、複数の入力釦が配置されている。
【０００３】
このようなゲーム装置によって実現されるゲームの１つとして、たとえば、野球ゲームが知られている（非特許文献１を参照）。このような野球ゲームでは、試合イベントが実行されると、投手キャラクタ、野手キャラクタ、および打者キャラクタ等がモニタに表示される。この状態において、プレイヤが、モニタに表示された各キャラクタに対して各種の命令を指示すると、指示された命令に対応する動作を各キャラクタに実行させることができる。
【０００４】
ここでは、たとえば、プレイヤが守備側の野手キャラクタに各種の命令を指示する場合を考える。たとえば、敵チームの打者キャラクタによりボールが打ち返されたときに、プレイヤがコントローラの十字キーを操作すると、操作された十字キーの操作方向に野手キャラクタを移動させることができる。そして、野手キャラクタがボールに追いつくと、打ち返されたボールを野手キャラクタに捕球させることができる。このように、プレイヤは、捕球に関する命令を指示することにより、この命令に対応する動作を野手キャラクタに実行させることができる。
【非特許文献１】実況パワフルプロ野球１３ 決定版、コナミデジタルエンタテインメント、ＰＳ２版、２００６年７月１３日
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のような従来の野球ゲームをプレイヤが実行する場合、敵チームの打者キャラクタによりボールが打ち返されたときに、プレイヤが十字キーを操作すると、野手キャラクタが操作された十字キーの操作方向に移動し、野手キャラクタがボールを捕球する。このように、従来の野球ゲームでは、野手キャラクタが打球の方向に走ってきてボールを捕球するまでの動作については、打球の方向がどのような方向であっても同じ動作がモニタに表示されるようになっている。そして、野手キャラクタがボールを捕球するときに、野手キャラクタがボールが飛んでくる方向に瞬間的に回転してボールを捕球する姿勢が、モニタに表示されるようになっている。このように、従来の野球ゲームでは、打球の方向がどのような方向であっても、野手キャラクタが同じ動作で移動し捕球時に瞬間的に捕球姿勢を回転する状態が、モニタに表示されるようになっている。
【０００６】
このように、従来の野球ゲームでは、捕球時に野手キャラクタの捕球姿勢が瞬間的に回転するようになっているので、打球の方向によっては捕球姿勢の回転量が大きくなってしまい、現実には考えられないような捕球時の画像がモニタに表示されてしまうという問題点があった。また、一般的には、打球の方向が異なれば野手の捕球動作も異なるはずであるが、従来の野球ゲームにおいては、打球の方向が異なっても野手キャラクタの捕球動作は同じようにモニタに表示される。このため、現実世界において野球を見ることのあるプレイヤが野手キャラクタの捕球動作に違和感を覚えてしまうという問題点があった。
【０００７】
本発明の目的は、現実空間において人が行う動作をゲーム空間において違和感なく表示することができるようにすることにある。
【課題を解決するための手段】
【０００８】
請求項１に係るゲームプログラムは、ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）動作中のキャラクタを、キャラクタ用の第１モーションデータを用いて画像表示部に表示する第１キャラクタ表示機能。
（２）移動中の移動体を、移動体用のモーションデータを用いて画像表示部に表示する移動体表示機能。
（３）キャラクタが動作する動作方向を規定するための第１データを算出する処理を、制御部に実行させる動作方向算出機能。
（４）移動体が移動する移動方向を規定するための第２データを算出する処理を、制御部に実行させる移動方向算出機能。
（５）第１データおよび第２データに基づいて、キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータを、制御部に認識させる第２モーションデータ認識機能。
（６）動作中のキャラクタを、キャラクタ用の第２モーションデータを用いて画像表示部に表示する第２キャラクタ表示機能。
【０００９】
このゲームプログラムでは、第１キャラクタ表示機能において、動作中のキャラクタが、キャラクタ用の第１モーションデータを用いて画像表示部に表示される。移動体表示機能においては、移動中の移動体が、移動体用のモーションデータを用いて画像表示部に表示される。動作方向算出機能においては、キャラクタが動作する動作方向を規定するための第１データを算出する処理が、制御部により実行される。移動方向算出機能においては、移動体が移動する移動方向を規定するための第２データを算出する処理が、制御部により実行される。第２モーションデータ認識機能においては、第１データおよび第２データに基づいて、キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータが、制御部に認識される。第２キャラクタ表示機能においては、動作中のキャラクタが、キャラクタ用の第２モーションデータを用いて画像表示部に表示される。
【００１０】
たとえば、本ゲームプログラムで野球ゲームを実現した場合、捕球動作中の野手キャラクタが、野手キャラクタ用の第１モーションデータを用いて画像表示部に表示される。そして、移動中のボールが、ボール用のモーションデータを用いて画像表示部に表示される。そして、野手キャラクタが動作する動作方向を規定するための第１データを算出する処理が、制御部により実行される。また、ボールが移動する移動方向を規定するための第２データを算出する処理が、制御部により実行される。そして、第１データおよび第２データに基づいて、野手キャラクタ用の第１モーションデータに続く野手キャラクタ用の第２モーションデータが、制御部に認識される。すると、捕球動作中の野手キャラクタが、野手キャラクタ用の第２モーションデータを用いて画像表示部に表示される。
【００１１】
この場合、たとえば、打者キャラクタによりボールが打ち返されると、野手キャラクタが打球の方向に走る動作が、第１モーションデータを用いて画像表示部に表示される。そして、野手キャラクタの走る方向と打球の移動する方向に基づいて、野手キャラクタが走りながら捕球姿勢をとるまでの動作に対応する第２モーションデータが選択される。そして、野手キャラクタが走りながら捕球姿勢をとるまでの動作が、第２モーションデータを用いて画像表示部に表示される。このように、請求項１に係る発明では、野手キャラクタの走る方向と打球の移動する方向とを考慮した上で、野手キャラクタが走りながら捕球姿勢をとるまでの動作を、画像表示部に表示することができる。すなわち、現実世界の野球において野手が行う動作を、ゲーム空間において違和感なく表示することができる。一般的な表現を用いると、現実空間において人が行う動作を、ゲーム空間において違和感なく表示することができる。
【００１２】
請求項２に係るゲームプログラムは、請求項１に記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（７）キャラクタと移動体とが交差する交差位置を、制御部に認識させる交差位置認識機能。
（８）動作中のキャラクタが交差位置に到達するまでの所定の第１フレーム数を、制御部に認識させる第１フレーム数認識機能。
【００１３】
このゲームプログラムでは、交差位置認識機能において、キャラクタと移動体とが交差する交差位置が、制御部に認識される。第１フレーム数認識機能においては、動作中のキャラクタが交差位置に到達するまでの所定の第１フレーム数が、制御部に認識される。第２モーションデータ認識機能においては、第１データおよび第２データに基づいて、所定の第１フレーム数のキャラクタ用の第２モーションデータが、制御部に認識される。第２キャラクタ表示機能においては、動作中のキャラクタが、所定の第１フレーム数のキャラクタ用の第２モーションデータを用いて、画像表示部に表示される。
【００１４】
この場合、たとえば、野手キャラクタが走りながら捕球位置に到達するまでの動作、たとえば野手キャラクタが走りながら捕球姿勢をとるまでの動作が、所定の第１フレーム数の第２モーションデータを用いて画像表示部に表示される。このように、請求項２に係る発明では、第２モーションデータのフレーム数が所定のフレーム数に決まっているので、第１モーションデータから第２モーションデータに切り換えるタイミングを容易に設定することができる。
【００１５】
請求項３に係るゲームプログラムでは、請求項１又は２に記載のゲームプログラムにおいて、第１データおよび第２データに基づいてキャラクタの動作方向と移動体の移動方向とがなす角度を示す角度データを算出する処理が、制御部により実行される。そして、この角度データに応じてキャラクタ用の第２モーションデータが制御部に認識される（第２モーションデータ認識機能）。また、キャラクタの姿勢が移動体の方向に向くように動作するキャラクタが、キャラクタ用の第２モーションデータを用いて画像表示部に表示される（第２キャラクタ表示機能）。
【００１６】
この場合、たとえば、野手キャラクタの走る方向と打球の移動する方向とに基づいて、野手キャラクタの動作方向と打球の移動方向とがなす角度が算出される。すると、この角度に応じて、野手キャラクタが走りながら捕球姿勢をとるまでの動作に対応する第２モーションデータが選択される。すると、姿勢がボールの方向に向くように動作する野手キャラクタが、上記の第２モーションデータを用いて画像表示部に表示される。このように、請求項３に係る発明では、野手キャラクタの走る方向と打球の移動する方向とがなす角度を考慮した上で、野手キャラクタが走りながら捕球姿勢をとるまでの動作を、画像表示部に表示することができる。すなわち、現実世界の野球において野手が行う動作を、ゲーム空間において違和感なく表示することができる。一般的な表現を用いると、現実空間において人が行う動作を、ゲーム空間において違和感なく表示することができる。
【００１７】
請求項４に係るゲームプログラムでは、請求項３に記載のゲームプログラムにおいて、角度データに応じてキャラクタの動作方向を補正する処理を制御部に実行させることにより、姿勢が移動体の方向に向くように動作するキャラクタが、キャラクタ用の第２モーションデータを用いて画像表示部に表示される（第２キャラクタ表示機能）。
【００１８】
この場合、たとえば、野手キャラクタの動作方向と打球の移動方向とがなす角度に応じて、野手キャラクタの動作方向が補正される。具体的には、野手キャラクタの動作方向と打球の移動方向とがなす角度に応じて、野手キャラクタの動作方向が補正される。これにより、姿勢が移動体の方向に向くように動作する野手キャラクタを画像表示部に表示することができる。すなわち、請求項４に係る発明では、野手キャラクタの走る方向と打球の移動する方向とがなす角度を考慮した上で、野手キャラクタが走りながら捕球姿勢をとるまでの動作を、画像表示部に適切に表示することができる。すなわち、現実世界の野球において野手が行う動作を、ゲーム空間において違和感なく表示することができる。一般的な表現を用いると、現実空間において人が行う動作を、ゲーム空間において違和感なく表示することができる。
【００１９】
請求項５に係るゲーム装置は、ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームを実行可能なゲーム装置である。このゲーム装置は、動作中のキャラクタを、キャラクタ用の第１モーションデータを用いて画像表示部に表示する第１キャラクタ表示手段と、移動中の移動体を、移動体用のモーションデータを用いて画像表示部に表示する移動体表示手段と、キャラクタが動作する動作方向を規定するための第１データを算出する処理を、制御部に実行させる動作方向算出手段と、移動体が移動する移動方向を規定するための第２データを算出する処理を、制御部にさせる移動方向算出手段と、第１データおよび第２データに基づいて、キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータを、制御部に認識させる第２モーションデータ認識手段と、動作中のキャラクタを、キャラクタ用の第２モーションデータを用いて画像表示部に表示する第２キャラクタ表示手段と、を備えている。
【００２０】
請求項６に係るゲーム制御方法は、ゲーム空間において動作するキャラクタとゲーム空間を移動する移動体とを画像表示部に表示するゲームをコンピュータにより制御するゲーム制御方法である。このゲーム制御方法は、動作中のキャラクタを、キャラクタ用の第１モーションデータを用いて画像表示部に表示する第１キャラクタ表示ステップと、移動中の移動体を、移動体用のモーションデータを用いて画像表示部に表示する移動体表示ステップと、キャラクタが動作する動作方向を規定するための第１データを算出する処理を、制御部に実行させる動作方向算出ステップと、移動体が移動する移動方向を規定するための第２データを算出する処理を、制御部にさせる移動方向算出ステップと、第１データおよび第２データに基づいて、キャラクタ用の第１モーションデータに続くキャラクタ用の第２モーションデータを、制御部に認識させる第２モーションデータ認識ステップと、動作中のキャラクタを、キャラクタ用の第２モーションデータを用いて画像表示部に表示する第２キャラクタ表示ステップと、を備えている。
【発明の効果】
【００２１】
本発明では、動作中のキャラクタが、第１モーションデータを用いて画像表示部に表示される。そして、キャラクタの動作方向と移動体の移動方向とに基づいて、第１モーションデータに続く第２モーションデータが選択される。すると、動作中のキャラクタが、第１モーションデータに続く第２モーションデータを用いて、画像表示部に表示される。このように、本発明では、キャラクタの動作方向と移動体の移動方向とを考慮した上で、動作中のキャラクタを、第１モーションデータおよび第２モーションデータを用いて、画像表示部に連続的に表示することができる。すなわち、現実空間において人が行う動作を、ゲーム空間において違和感なく表示することができる。
【発明を実施するための最良の形態】
【００２２】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置を対象として説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００２３】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５、通信部２３とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００２４】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、３次元空間上又は擬似３次元空間上で実行された計算結果に基づいた画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。また、ＣＰＵ７は、信号処理プロセッサ８に対して、各種データを処理するように命令する。信号処理プロセッサ８は、主に、３次元空間上における各種データに対応する計算と、３次元空間上から擬似３次元空間上への位置変換計算とを行っている。
【００２５】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００２６】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００２７】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００２８】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカ１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカ１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカ１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカ１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカ１３から出力することができる。
【００２９】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００３０】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００３１】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００３２】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００３３】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００３４】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向に亘って、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００３５】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００３６】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００３７】
通信部２３は、通信制御回路２４および通信インターフェース２５を有している。通信制御回路２４および通信インターフェース２５は、ゲーム機をサーバや他のゲーム機等に接続するために用いられる。通信制御回路２０および通信インターフェース２１は、バス１６を介してＣＰＵ１１に接続されている。通信制御回路２０および通信インターフェース２１は、ＣＰＵ１１からの命令に応じて、ゲーム機をインターネットに接続するための接続信号を制御し発信する。また、通信制御回路２０および通信インターフェース２１は、インターネットを介してゲーム機をサーバや他のゲーム機に接続するための接続信号を制御し発信する。
【００３８】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データを画像や音声としてテレビジョンモニタ２０やスピーカ１３に出力するためのコマンドを発行する。
【００３９】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００４０】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカ１３から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機では、ゲーム空間において動作する野手キャラクタと、ゲーム空間を移動するボールオブジェクトと、ゲーム空間の所定の位置に配置されたベースオブジェクトとを、テレビジョンモニタ２０に表示可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００４１】
なお、以下では、「ボール」や「ベース」という語句が、「ボールオブジェクト」や「ベースオブジェクト」という語句として用いられることもある。
【００４２】
ベース表示手段５０は、ベースオブジェクトをベース用の画像データを用いてテレビジョンモニタ２０に表示する機能を備えている。ベース表示手段５０では、ベースオブジェクトが、ベース用の画像データを用いてテレビジョンモニタ２０に表示される。
【００４３】
この手段では、まず、ベースオブジェクトに対応するベース用の画像データが、ＣＰＵ７に認識される。次に、ベースオブジェクトの表示位置を規定するためのベース用の位置座標データが、ＣＰＵ７に認識される。最後に、この位置座標データが示す位置において、ベースオブジェクトがテレビジョンモニタ２０に表示される。具体的には、ベース用の位置座標データが示す位置にベース用の画像データを配置する命令をＣＰＵ７に発行させることにより、ベースオブジェクトがテレビジョンモニタ２０に表示される。
【００４４】
なお、ベース用の位置座標データは、ベースオブジェクトの表示位置を規定するためのデータであるため、ベース用の画像データに関連付けられている。この位置座標データと画像データとの対応関係は、ゲームプログラムにおいて予め規定されており、この対応関係に基づいて、位置座標データを上記の画像データに関連付ける処理が、ＣＰＵ７により実行される。また、ベース用の画像データは、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２にロードされ、ＲＡＭ１２に格納されている。
【００４５】
命令実行手段５１は、コントローラ１７が操作されたときに、コントローラ１７から発行された操作信号をＣＰＵ７に認識させ、この操作信号に対応する命令をＣＰＵ７に認識させ、ＣＰＵ７に認識された命令に対応する処理をＣＰＵ７に実行させる機能を備えている。また、命令実行手段５１は、ＡＩプログラムからの指示に対応する命令をＣＰＵ７に認識させ、ＣＰＵ７に認識された命令に対応する処理をＣＰＵ７に実行させる機能を備えている。
【００４６】
命令実行手段５１では、コントローラ１７が操作されたときに、コントローラ１７から発行された操作信号が、ＣＰＵ７に認識される。すると、この操作信号に対応する命令がＣＰＵ７に認識される。すると、ＣＰＵ７に認識された命令に対応する処理が、ＣＰＵ７により実行される。また、命令実行手段５１では、ＡＩプログラムからの指示に対応する命令が、ＣＰＵ７に認識される。すると、ＣＰＵ７に認識された命令に対応する処理が、ＣＰＵ７により実行される。
【００４７】
この手段では、コントローラ１７が操作されたときには、コントローラ１７から発行された操作信号がＣＰＵ７に認識され、この操作信号に対応する命令がＣＰＵ７に認識される。ここでは、操作信号に対応する命令は、ゲームプログラムにおいて予め規定されている。このようにして各種の命令がＣＰＵ７に認識されると、ＣＰＵ７に認識された命令に対応する処理が、ＣＰＵ７により実行される。
【００４８】
また、ＡＩプログラムに基づいて各種の指示が行われたときには、各指示に対応する命令が、ＣＰＵ７に認識される。ここでは、各指示に対応する命令は、ゲームプログラムにおいて予め規定されている。このようにして各種の命令がＣＰＵ７に認識されると、ＣＰＵ７に認識された命令に対応する処理が、ＣＰＵ７により実行される。
【００４９】
ボール表示手段５２は、移動中のボールオブジェクトを、ボール用のモーションデータを用いてテレビジョンモニタ２０に表示する機能を備えている。ボール表示手段５２では、移動中のボールオブジェクトが、ボール用のモーションデータを用いてテレビジョンモニタ２０に表示される。
【００５０】
この手段では、移動中のボールオブジェクトの表示位置を規定するための複数のボール用の位置座標データが、ＣＰＵ７に認識される。また、移動中のボールオブジェクトに対応するボール用のモーションデータが、ＣＰＵ７に認識される。すると、複数のボール用の位置座標データが示す位置において、ボールオブジェクトが、ボール用のモーションデータを用いてテレビジョンモニタ２０に連続的に表示される。具体的には、複数のボール用の位置座標データが示す位置にボール用のモーションデータを配置する命令をＣＰＵ７に発行させることにより、ボールオブジェクトがテレビジョンモニタ２０に連続的に表示される。
【００５１】
なお、ボール用の位置座標データは、ゲーム空間におけるボールオブジェクトの軌道を示す軌道方程式に基づいて算出されるようになっている。軌道方程式は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。このＲＡＭ１２に格納された軌道方程式がＣＰＵ７に認識され、ＣＰＵ７に認識された軌道方程式に基づいてボール用の位置座標データがＣＰＵ７により算出される。また、ボール用の画像データは、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２にロードされ、ＲＡＭ１２に格納されている。このＲＡＭ１２に格納されたボール用の画像データが、ＣＰＵ７に認識される。ここでは、ボール用のモーションデータが用いられているが、ボール用のモーションデータは複数のボール用の画像データから構成されている。
【００５２】
移動方向算出手段５３は、ボールオブジェクトが移動する移動方向を規定するための第２データを算出する処理を、ＣＰＵ７に実行させる機能を備えている。移動方向算出手段５３では、ボールオブジェクトが移動する移動方向を規定するための第２データを算出する処理が、ＣＰＵ７により実行される。
【００５３】
この手段では、ボールオブジェクトが移動する移動方向を規定するためのボール用のベクトルデータを算出する処理が、ＣＰＵ７により実行される。たとえば、この手段では、軌道上を移動するボールオブジェクトの位置座標データ（ボール用の位置座標データ）をＣＰＵ７に認識させることにより、ボールオブジェクトのベクトルを示すベクトルデータ（ボール用のベクトルデータ）を算出する処理が、ＣＰＵ７により実行される。そして、このボール用のベクトルデータが、ＣＰＵ７に認識される。
【００５４】
第１野手キャラクタ表示手段５４は、動作中の野手キャラクタを、野手キャラクタ用の第１モーションデータを用いてテレビジョンモニタ２０に表示する機能を備えている。第１野手キャラクタ表示手段５４では、動作中の野手キャラクタが、野手キャラクタ用の第１モーションデータを用いてテレビジョンモニタ２０に表示される。
【００５５】
この手段では、動作中の野手キャラクタが、野手キャラクタ用の第１モーションデータを用いてテレビジョンモニタ２０に表示される。
【００５６】
この手段では、動作中の野手キャラクタの位置座標データが、ＣＰＵ７に認識される。また、動作中の野手キャラクタに対応する野手キャラクタ用の第１モーションデータが、ＣＰＵ７に認識される。すると、野手キャラクタ用の位置座標データが示す位置において、野手キャラクタが、野手キャラクタ用の第１モーションデータを用いてテレビジョンモニタ２０に表示される。具体的には、野手キャラクタ用の位置座標データが示す位置に野手キャラクタ用の第１モーションデータを配置する命令をＣＰＵ７に発行させることにより、野手キャラクタがテレビジョンモニタ２０に連続的に表示される。
【００５７】
なお、ここでは、野手キャラクタ用の位置座標データは、次のようにして算出される。コントローラ１７の上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、および右方向キー１７Ｒのいずれか１つのキーが操作されると、コントローラ１７からの操作信号がＣＰＵ７に認識される。すると、この操作信号に対応する命令、たとえばコントローラ１７の操作方向に野手キャラクタを移動させる野手移動命令が、ＣＰＵ７から発行される。すると、野手キャラクタの移動量が、ＣＰＵ７に認識される。すると、コントローラ１７の操作回数又はコントローラ１７の操作時間に応じて、野手キャラクタの位置座標データに野手キャラクタの移動量を加算する処理が、ＣＰＵ７により実行される。そして、この処理後の野手キャラクタの位置座標データが、ＣＰＵ７に認識される。また、野手キャラクタ用の第１モーションデータは、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２にロードされ、ＲＡＭ１２に格納されている。このＲＡＭ１２に格納された野手キャラクタ用の第１モーションデータが、ＣＰＵ７に認識される。
【００５８】
動作方向算出手段５５は、野手キャラクタが動作する動作方向を規定するための第１データを算出する処理を、ＣＰＵ７に実行させる機能を備えている。動作方向算出手段５５では、野手キャラクタが動作する動作方向を規定するための第１データを算出する処理が、ＣＰＵ７により実行される。
【００５９】
この手段では、野手キャラクタが捕球動作する動作方向を規定するための捕球動作用のベクトルデータを算出する処理が、ＣＰＵ７により実行される。たとえば、この手段では、動作中の野手キャラクタの位置座標データ（野手キャラクタ用の位置座標データ）をＣＰＵ７に認識させることにより、野手キャラクタのベクトルを示すベクトルデータ（捕球動作用のベクトルデータ）を算出する処理が、ＣＰＵ７により実行される。そして、捕球動作用のベクトルデータが、ＣＰＵ７に認識される。
【００６０】
交差位置認識手段５６は、野手キャラクタとボールオブジェクトとが交差する交差位置を、ＣＰＵ７に認識させる機能を備えている。交差位置認識手段５６では、野手キャラクタとボールオブジェクトとが交差する交差位置が、ＣＰＵ７に認識される。
【００６１】
この手段では、野手キャラクタとボールオブジェクトとが交差する位置を示す交差位置座標データが、ＣＰＵ７に認識される。たとえば、この手段では、野手キャラクタの位置とボールオブジェクトの軌道とが最短距離になる位置（ボールの捕球位置）を示す交差座標データが、ＣＰＵ７に認識される。ここでは、ボールオブジェクトの軌道方程式により規定される軌道上のボールオブジェクトの各位置座標データと、野手キャラクタの位置座標データとに基づいて、軌道上のボールオブジェクトと野手キャラクタとの距離を算出する処理が、ＣＰＵ７により実行される。この処理を軌道上のボールオブジェクトの全位置において実行し、上記の距離が最小になったときのボールオブジェクトの位置が、野手キャラクタの位置とボールオブジェクトの軌道とが最短距離になる位置すなわちボールの捕球位置として、ＣＰＵ７に認識される。
【００６２】
第１フレーム数認識手段５７は、動作中の野手キャラクタが交差位置に到達するまでの所定の第１フレーム数を、ＣＰＵ７に認識させる機能を備えている。第１フレーム数認識手段５７では、動作中の野手キャラクタが交差位置に到達するまでの所定の第１フレーム数が、ＣＰＵ７に認識される。
【００６３】
この手段では、動作中の野手キャラクタが交差位置に到達するまでの所定の第１フレーム数、すなわち動作中の野手キャラクタが交差位置に到達する前の所定の第１フレーム数が、ＣＰＵ７に認識される。この第１フレーム数は、ゲームプログラムにおいて予め規定されており、第１フレーム数の値たとえば５（フレーム）は、ＲＡＭ１２に格納されている。
【００６４】
第２フレーム数認識手段５８は、動作中の野手キャラクタが交差位置に到達した後の所定の第２フレーム数を、ＣＰＵ７に認識させる機能を備えている。第２フレーム数認識手段５８では、動作中の野手キャラクタが交差位置に到達した後の所定の第２フレーム数が、ＣＰＵ７に認識される。
【００６５】
この手段では、動作中の野手キャラクタが交差位置に到達した後の所定の第２フレーム数が、ＣＰＵ７に認識される。この第２フレーム数は、ゲームプログラムにおいて予め規定されており、第２フレーム数の値たとえば５（フレーム）は、ＲＡＭ１２に格納されている。
【００６６】
第２モーションデータ認識手段５９は、第１データおよび第２データに基づいて、野手キャラクタ用の第１モーションデータに続く野手キャラクタ用の第２モーションデータを、ＣＰＵ７に認識させる機能を備えている。詳細には、第２モーションデータ認識手段５９は、第１データおよび第２データに基づいて、所定の第１フレーム数の野手キャラクタ用の第２モーションデータを、ＣＰＵ７に認識させる機能を備えている。より詳細には、第２モーションデータ認識手段５９は、第１データおよび第２データに基づいて野手キャラクタの動作方向とボールオブジェクトの移動方向とがなす角度を示す角度データを算出する処理をＣＰＵ７に実行させ、角度データに応じて所定の第１フレーム数の野手キャラクタ用の第２モーションデータをＣＰＵ７に認識させる機能を備えている。
【００６７】
第２モーションデータ認識手段５９では、第１データおよび第２データに基づいて、野手キャラクタの動作方向とボールオブジェクトの移動方向とがなす角度を示す角度データを算出する処理が、ＣＰＵ７により実行される。そして、この角度データに応じて所定の第１フレーム数の野手キャラクタ用の第２モーションデータが、ＣＰＵ７に認識される。
【００６８】
この手段では、まず、野手キャラクタの動作方向に伸びる線とボールオブジェクトの移動方向に伸びる線とがなす角度を示す角度データを算出する処理が、ＣＰＵ７により実行される。次に、この角度データに応じて所定の第１フレーム数の野手キャラクタ用の第２モーションデータが、ＣＰＵ７に認識される。
【００６９】
ここでは、たとえば、捕球動作用のベクトルデータとボール用のベクトルデータとに基づいて、野手キャラクタのベクトルとボール用のベクトルとの内積を算出する処理が、ＣＰＵ７により実行される。また、捕球動作用のベクトルデータとボール用のベクトルデータとに基づいて、野手キャラクタのベクトルの大きさとボール用のベクトルの大きさとを算出する処理が、ＣＰＵ７により実行される。そして、野手キャラクタのベクトルとボール用のベクトルとの内積を、野手キャラクタのベクトルの大きさおよびボール用のベクトルの大きさで除算する処理が、ＣＰＵ７により実行される。そして、この除算結果の値ｊを逆余弦関数に代入することにより、野手キャラクタのベクトルとボール用のベクトルとがなす角度を示す角度データが、ＣＰＵ７により算出される。すると、この角度データの値がＣＰＵ７に認識される。すると、この角度データに対応する野手キャラクタ用のモーションデータが、ＣＰＵ７に認識される。ここでＣＰＵ７に認識される野手キャラクタ用のモーションデータは、所定の第１フレーム数たとえばフレーム数が５（フレーム）である野手キャラクタ用の第２モーションデータである。
【００７０】
第２野手キャラクタ表示手段６０は、動作中の野手キャラクタを、野手キャラクタ用の第２モーションデータを用いてテレビジョンモニタ２０に表示する機能を備えている。詳細には、第２野手キャラクタ表示手段６０は、姿勢がボールオブジェクトの方向に向くように動作する野手キャラクタを、所定の第１フレーム数の野手キャラクタ用の第２モーションデータを用いて、テレビジョンモニタ２０に表示する機能を備えている。より詳細には、第２野手キャラクタ表示手段６０は、角度データに応じて野手キャラクタの動作方向を補正する処理をＣＰＵ７に実行させることにより、野手キャラクタの姿勢がボールオブジェクトの方向に向くように動作する野手キャラクタを、所定の第１フレーム数の野手キャラクタ用の第２モーションデータを用いて、テレビジョンモニタ２０に表示する機能を備えている。
【００７１】
第２野手キャラクタ表示手段６０では、角度データに応じて野手キャラクタの動作方向を補正する処理が、ＣＰＵ７により実行される。これにより、野手キャラクタの姿勢がボールオブジェクトの方向に向くように動作する野手キャラクタが、所定の第１フレーム数の野手キャラクタ用の第２モーションデータを用いて、テレビジョンモニタ２０に表示される。
【００７２】
この手段では、たとえば、角度データＫに応じて野手キャラクタの動作方向を補正する処理が、ＣＰＵ７により実行される。たとえば、角度データＫの値と所定の基準角度データの値との差分を算出する処理をＣＰＵ７に実行させることにより、基準角度からの差分角度である差分角度データがＣＰＵ７に認識される。すると、野手キャラクタの動作方向を差分角度データが示す角度の方向に補正する処理が、ＣＰＵ７により実行される。すなわち、捕球動作用のベクトルを差分角度データが示す角度の方向に変更する処理が、ＣＰＵ７により実行される。具体的には、野手キャラクタのモーションデータの最初の画像データ（開始画像データ）のベクトルの方向が、差分角度データが示す角度の方向に変更される。このように、捕球動作用のベクトルが変更されると、所定の第１フレーム数の第２モーションデータがテレビジョンモニタ２０に供給されたときに、野手キャラクタの姿勢がボールオブジェクトの方向に向くように動作する野手キャラクタが、テレビジョンモニタ２０に表示される。
【００７３】
軸方向算出手段６１は、野手キャラクタとベースオブジェクトとを結ぶ軸方向を規定するための第３データを算出する処理を、ＣＰＵ７に実行させる機能を備えている。軸方向算出手段６１では、野手キャラクタとベースオブジェクトとを結ぶ軸方向を規定するための第３データを算出する処理が、ＣＰＵ７により実行される。
【００７４】
この手段では、野手キャラクタとベースオブジェクトとを結ぶ直線の方向を規定するためのベクトルデータを算出する処理が、ＣＰＵ７により実行される。ここでは、この野手キャラクタとベースオブジェクトとを結ぶ直線の方向は、ボールを捕球した野手キャラクタがボールを送球する方向（送球方向）に対応している。たとえば、この手段では、野手キャラクタの位置座標データとベース用の位置座標データとに基づいて、送球方向を規定するための送球動作用のベクトルデータを算出する処理が、ＣＰＵ７により実行される。ここでは、ボールの捕球位置を示す交差座標データと、ベース用の位置座標データとに基づいて、送球方向を規定するための送球動作用のベクトルデータがＣＰＵ７により算出される。
【００７５】
第３モーションデータ認識手段６２は、第１データおよび第３データに基づいて、野手キャラクタ用の第１モーションデータおよび野手キャラクタ用の第２モーションデータに続く野手キャラクタ用の第３モーションデータを、ＣＰＵ７に認識させる機能を備えている。詳細には、第３モーションデータ認識手段６２は、第１データおよび第３データに基づいて、所定の第２フレーム数の、野手キャラクタ用の第１モーションデータおよび野手キャラクタ用の第２モーションデータに続く野手キャラクタ用の第３モーションデータを、ＣＰＵ７に認識させる機能を備えている。より詳細には、第３モーションデータ認識手段６２は、第１データおよび第３データに基づいて野手キャラクタの動作方向と軸方向とがなす角度を示す角度データを算出する処理をＣＰＵ７に実行させ、角度データに応じて、所定の第２フレーム数の、野手キャラクタ用の第１モーションデータおよび野手キャラクタ用の第２モーションデータに続く野手キャラクタ用の第３モーションデータを、ＣＰＵ７に認識させる機能を備えている。
【００７６】
第３モーションデータ認識手段６２では、第１データおよび第３データに基づいて野手キャラクタの動作方向と軸方向とがなす角度を示す角度データを算出する処理が、ＣＰＵ７により実行される。そして、この角度データに応じて、所定の第２フレーム数の、野手キャラクタ用の第１モーションデータおよび野手キャラクタ用の第２モーションデータに続く野手キャラクタ用の第３モーションデータが、ＣＰＵ７に認識される。
【００７７】
この手段では、まず、野手キャラクタの動作方向に伸びる線と野手キャラクタの送球方向に伸びる線とがなす角度を示す角度データを算出する処理が、ＣＰＵ７により実行される。次に、この角度データに応じて所定の第２フレーム数の野手キャラクタ用の第３モーションデータが、ＣＰＵ７に認識される。
【００７８】
ここでは、たとえば、捕球動作用のベクトルデータと送球動作用のベクトルデータとに基づいて、捕球動作用のベクトルと送球動作用のベクトルとの内積を算出する処理が、ＣＰＵ７により実行される。また、捕球動作用のベクトルデータと送球動作用のベクトルデータとに基づいて、捕球動作用のベクトルの大きさと送球動作用のベクトルの大きさとを算出する処理が、ＣＰＵ７により実行される。そして、捕球動作用のベクトルと送球動作用のベクトルとの内積を、捕球動作用のベクトルの大きさおよび送球動作用のベクトルの大きさで除算する処理が、ＣＰＵ７により実行される。そして、この除算結果の値ｊを逆余弦関数（ａｒｃ＿ｃｏｓ（Ｊ））に代入することにより、捕球動作用のベクトルと送球動作用のベクトルとがなす角度を示す角度データＫが、ＣＰＵ７により算出される。すると、この角度データＫの値がＣＰＵ７に認識される。すると、この角度データＫに対応する野手キャラクタ用のモーションデータが、ＣＰＵ７に認識される。ここでＣＰＵ７に認識される野手キャラクタ用のモーションデータは、所定の第２フレーム数たとえばフレーム数が５（フレーム）である野手キャラクタ用の第３モーションデータである。
【００７９】
第３野手キャラクタ表示手段６３は、動作中の野手キャラクタを、野手キャラクタ用の第３モーションデータを用いてテレビジョンモニタ２０に表示する機能を備えている。詳細には、第３野手キャラクタ表示手段６３は、姿勢が軸方向に向くように動作する野手キャラクタを、所定の第２フレーム数の野手キャラクタ用の第３モーションデータを用いてテレビジョンモニタ２０に表示する機能を備えている。より詳細には、第３野手キャラクタ表示手段６３は、角度データに応じて野手キャラクタの動作方向を補正する処理をＣＰＵ７に実行させることにより、姿勢が軸方向に向くように動作する野手キャラクタを、所定の第２フレーム数の野手キャラクタ用の第３モーションデータを用いてテレビジョンモニタ２０に表示する機能を備えている。
【００８０】
第３野手キャラクタ表示手段６３では、角度データに応じて野手キャラクタの動作方向を補正する処理が、ＣＰＵ７により実行される。これにより、姿勢が軸方向に向くように動作する野手キャラクタが、所定の第２フレーム数の野手キャラクタ用の第３モーションデータを用いて、テレビジョンモニタ２０に表示される。
【００８１】
この手段では、たとえば、角度データに応じて野手キャラクタの捕球動作方向を補正する処理が、ＣＰＵ７により実行される。たとえば、角度データの値と所定の基準角度データの値との差分を算出する処理をＣＰＵ７に実行させることにより、基準角度からの差分角度である差分角度データがＣＰＵ７に認識される。すると、野手キャラクタの動作方向を差分角度データが示す角度の方向に補正する処理が、ＣＰＵ７により実行される。すなわち、捕球動作用のベクトルを差分角度データが示す角度の方向に変更する処理が、ＣＰＵ７により実行される。このように、捕球動作用のベクトルが変更されると、所定の第２フレーム数の第３モーションデータがテレビジョンモニタ２０に供給されたときに、野手キャラクタの送球姿勢が送球方向に向くように動作する野手キャラクタが、テレビジョンモニタ２０に表示される。
【００８２】
〔野球ゲームにおける動作補正システムの処理フローと説明〕
次に、野球ゲームにおける動作補正システムについて説明する。また、図１０および図１１に示す動作補正システムに関するフローについても同時に説明する。なお、図１１は、動作補正システムを説明するためのフローである。
【００８３】
まず、ゲーム機の電源が投入されゲーム機が起動されると、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体１０からＲＡＭ１２にロードされ格納される（Ｓ１）。
【００８４】
たとえば、基本ゲームデータには３次元ゲーム空間用の画像に関するデータが含まれており、ＲＡＭ１２に格納された、３次元ゲーム空間用の画像に関するデータ、たとえば、スタジアム用の画像データ、ボール用の画像データ、選手キャラクタ用の画像データ、および複数の選手キャラクタ用の画像データからなるモーションデータ等が、ＣＰＵ７に認識される。また、基本ゲームデータには、３次元ゲーム空間用の画像に関するデータを３次元ゲーム空間に配置するための位置座標データが含まれており、この位置座標データがＣＰＵ７に認識される。
【００８５】
なお、複数の選手キャラクタ用の画像データからなるモーションデータの一例としては、野手キャラクタ７０の動作を示す、第１モーションデータ、第２モーションデータ、および第３モーションデータがある。第１モーションデータは、ボールの捕球時に選手キャラクタがボールを追いかける動作に対応するモーションデータである。第２モーションデータは、ボールを追いかける姿勢からボールを捕球する姿勢までの選手キャラクタの一連の動作に対応するモーションデータである。第３モーションデータは、ボールを捕球した姿勢からボールを送球する姿勢までの選手キャラクタの一連の動作（ランニングスローの動作）に対応するモーションデータである。
【００８６】
また、基本ゲームデータには、動作中の野手キャラクタ７０が捕球姿勢に入る前の所定の第１フレーム数の値を示すデータ、および動作中の野手キャラクタ７０が捕球姿勢に入った後の所定の第２フレーム数の値を示すデータが含まれている。ここでは、第１フレーム数および第２フレーム数の値は「５（フレーム）」となっており、この「５（フレーム）」という数値が第１フレーム数の値および第２フレーム数の値としてＣＰＵ７に認識される。
【００８７】
続いて、ＲＡＭ１２に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、ＣＰＵ７により実行される（Ｓ２）。すると、野球ゲームの起動画面がテレビジョンモニタ２０に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ２０に表示される。ここでは、たとえば、チームの選択および選手キャラクタの選択等を行うための選択画面が、テレビジョンモニタ２０に表示される。この選択画面において、コントローラ１７が操作されることにより、チームの選択および選手キャラクタの選択等が行われる。
【００８８】
続いて、野球ゲームにおいて試合を開始するための命令（試合開始命令）がＣＰＵ７から発行される（Ｓ３）。すると、ＲＡＭ１２に格納された３次元ゲーム空間用の画像に関するデータが、ＣＰＵ７に認識される。すると、この３次元ゲーム空間の画像に関するデータを、ゲーム空間における位置座標データが示す位置に配置する命令が、ＣＰＵ７から発行され、各種の画像がテレビジョンモニタ２０に表示される（Ｓ４）。
【００８９】
たとえば、スタジアム用の画像データ等が、ＣＰＵ７に認識される。すると、スタジアム用の画像データを用いて、スタジアム画像がテレビジョンモニタ２０に表示される。具体的には、ゲーム空間において、スタジアム用の位置座標データが示す位置に、スタジアム用の画像データを配置する命令をＣＰＵ７に発行させることにより、スタジアム画像がテレビジョンモニタ２０に表示される。なお、スタジアム用の画像データにはベース用の画像データが含まれており、スタジアム用の位置座標データにはベースオブジェクト用の位置座標データが含まれている。すなわち、ここで、ベースオブジェクト７５がテレビジョンモニタ２０に表示される。
【００９０】
また、プレイヤより命令が指示されるチーム（自チーム）、および他のプレイヤ又はＡＩプログラム（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  プログラム）により命令が指示されるチーム（敵チーム）のいずれか一方の選手キャラクタが守備位置に配置された状態が、選手キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される。また、味方チームの選手キャラクタおよび相手チームの選手キャラクタのいずれか他方の選手キャラクタが打席位置に配置された状態が、選手キャラクタ用の画像データを用いて、テレビジョンモニタ２０に表示される。たとえば、選手キャラクタ用の位置座標データが示す位置に選手キャラクタ用の画像データを配置する命令がＣＰＵ７から発行されたときに、選手キャラクタ用の画像がテレビジョンモニタ２０に表示される。
【００９１】
続いて、自チームおよび敵チームのいずれか一方のチームの攻撃イベントを実行するための命令（攻撃イベント実行命令）がＣＰＵ７から発行される（Ｓ５）。言い替えると、自チームおよび敵チームのいずれか他方のチームの守備イベントを実行するための命令（守備イベント実行命令）がＣＰＵ７から発行される。これにより、自チームおよび敵チームのいずれか一方のチームの攻撃イベント、および自チームおよび敵チームのいずれか他方のチームの守備イベントが、実行される。このときに、プレイヤ又は他のプレイヤ（ＡＩプログラムを含む）が選手キャラクタに対して指示した命令が、ＣＰＵ７に認識される。すると、ＣＰＵ７に認識された各命令に応じて、各チームの選手キャラクタが、投球動作、打撃動作、守備動作、および走塁動作等の少なくともいずれか１つの動作を行う状態が、テレビジョンモニタ２０に表示される。
【００９２】
そして、チームごとに所定の回数たとえば９回分の攻撃イベント又は守備イベントが終了すると、試合を終了するための命令（試合終了命令）がＣＰＵ７から発行される。すると、試合結果をＲＡＭ１２に保存する処理が、ＣＰＵ７により実行される。すなわち、試合終了命令が発行されたか否かがＣＰＵ７により判断され（Ｓ６）、試合終了命令が発行された場合（Ｓ６でＹｅｓ）、試合を終了するための処理たとえば試合結果をＲＡＭ１２に保存する処理が、ＣＰＵ７により実行される（Ｓ７）。一方で、試合終了命令が発行されていない場合（Ｓ６でＮｏ）、ステップ４（Ｓ４）の処理が再実行される。
【００９３】
以下には、野球ゲームの守備イベントにおける選手キャラクタの守備動作に動作補正システムが適用された場合の例が、示されている。ここでは、自チームの選手キャラクタすなわち野手キャラクタ７０（投手キャラクタおよび捕手キャラクタを含む）が各守備位置に配置されており、敵チームの打者キャラクタが打席位置に配置されているものとする。また、敵チームの各選手キャラクタに対する命令は、ＡＩプログラムに基づいて指示されるものとする。
【００９４】
守備イベント実行命令がＣＰＵ７から発行されたときには、プレイヤが投手キャラクタに投球時の球種を指示するためにコントローラ１７を操作すると、投球時の球種を示す球種データが、ＣＰＵ７に認識される。そして、プレイヤが投手キャラクタに投球動作の開始を指示するためにコントローラ１７を操作すると、投球動作開始命令がＣＰＵ７から発行される。すると、投手キャラクタの投球動作が、投手キャラクタ用の画像データからなるモーションデータを用いて、テレビジョンモニタ２０に表示される。そして、プレイヤが投手キャラクタに投球コースを指示するためにコントローラ１７を操作すると、投球時の投球コースを示す投球位置データが、ＣＰＵ７に認識される。このようにして、投手キャラクタに対して投球に関する指示が行われる（Ｓ５１）。すると、球種データに対応した変化量で変化しながら投球コースへと移動するボールオブジェクト７１が、テレビジョンモニタ２０に表示される（Ｓ５２）。
【００９５】
なお、投手キャラクタからリリースされたボールオブジェクト７１の表示は、ゲームプログラムにおいて予め規定された投球用の軌道方程式に基づいて実行される。この投球用の軌道方程式によりボールオブジェクト７１の位置座標データがＣＰＵ７に認識され、このボールオブジェクト７１の位置座標データが示す位置にボール用の画像データを配置する処理がＣＰＵ７により実行される。すると、投球用の軌道方程式により規定される軌道上を移動するボールオブジェクト７１が、複数のボール用の画像データからなる投球用のモーションデータを用いてテレビジョンモニタ２０に連続的に表示される。
【００９６】
続いて、ＡＩプログラムからの命令に基づいて打者キャラクタのミートカーソルの位置が指定されると、ミートカーソルの位置座標を示すミート位置データがＣＰＵ７に認識される。そして、ＡＩプログラムからの命令に基づいて打者キャラクタにスイングの開始が指示されたか否かが、ＣＰＵ７により判別される。言い替えると、スイング開始命令がＡＩプログラムから発行されたか否かが、ＣＰＵ７により判別される（Ｓ５２）。そして、スイング開始命令がＡＩプログラムから発行された場合（Ｓ５２でＹｅｓ）、打者キャラクタのスイング動作が、複数の打者キャラクタ用の画像データからなるモーションデータを用いてテレビジョンモニタ２０に表示される。
【００９７】
そして、ミート位置データにより規定されるミートカーソルによってボールオブジェクト７１が捉えられたか否かが、ＣＰＵ７により判別される（Ｓ５３）。具体的には、ミート位置データにより位置が規定されたミートカーソルの表示領域とボールオブジェクト７１の表示領域との間に重複領域が存在するか否かが、ＣＰＵ７により判別される。この重複領域の判別は、ミートカーソルの領域内の複数の座標データとボールオブジェクト７１の領域内の複数の座標データとの少なくとも１つが一致するか否かによって行われる。そして、ミートカーソルによってボールオブジェクト７１が捉えられた場合（Ｓ５３でＹｅｓ）、ボールオブジェクト７１の軌道方程式に基づいて、ボールオブジェクト７１の軌道がＣＰＵ７により設定される。すると、ボールオブジェクト７１の軌道方程式により規定される軌道上にボールの捕球位置が設定される（Ｓ５４）。このときに、ボールの捕球位置を示す捕球位置データがＣＰＵ７に認識される。たとえば、打球がフライの場合、ボールオブジェクト７１の落下位置を示す位置データが、捕球位置データとしてＣＰＵ７に認識される。ここで、落下位置は、ボールオブジェクト７１の軌道がグランド面に交わる交点となる。すると、図３に示すように、ボールの捕球位置を示す円状のマーク８０が、マーク用の画像データを用いてテレビジョンモニタ２０に表示される。ここでは、ボールの捕球位置を示す円状のマーク８０が表示される場合の例を示したが、このマーク８０を非表示に設定することも可能である。また、打者キャラクタにより打ち返されたボールオブジェクト７１が、打球用のモーションデータを用いてテレビジョンモニタ２０に表示される（Ｓ５５）。
【００９８】
なお、ここでは、打球がフライの場合のボールの捕球位置の設定が示されている。
打球がゴロの場合は、後述するステップ５８およびステップ５９において求められるボールの移動方向と野手の移動方向とのが交わる交点の位置データが、ボールの捕球位置を示す位置データとしてＣＰＵ７に認識される。また、打球がゴロの場合は、ボールの捕球位置を示す円状のマーク８０は表示されない。
【００９９】
以下では、ボールオブジェクト７１を捕球する野手キャラクタ７０が、右投げのセンターの野手キャラクタ７０ａである場合を例として、説明を行うものとする。図３には、センターの野手キャラクタ７０ａおよびボールオブジェクト７１だけが、表記されている。しかしながら、実際の野球ゲームでは、センター以外の野手キャラクタおよび打者キャラクタも、テレビジョンモニタ２０に表示されている。
【０１００】
そして、打者キャラクタに打ち返されたボールオブジェクト７１がテレビジョンモニタ２０に表示されたときに、打者キャラクタに打ち返されたボールオブジェクト７１を野手キャラクタ７０ａに捕球させるためにプレイヤがコントローラ１７（上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ）を操作すると、コントローラ１７からの操作信号に対応する命令たとえば野手キャラクタ７０ａを移動させる命令（野手移動命令）が、ＣＰＵ７に認識される。すると、野手移動命令がＣＰＵ７から発行され、この野手移動命令に基づいて移動する野手キャラクタ７０ａの位置座標データが、連続的にＣＰＵ７に認識される。すると、野手キャラクタ７０ａ用の位置座標データが示す位置に野手キャラクタ７０ａ用の第１モーションデータを配置する命令がＣＰＵ７から発行され、図４に示すように、捕球姿勢に入るまでの野手キャラクタ７０ａの動作（野手キャラクタ７０ａがボールを追いかける動作）がテレビジョンモニタ２０に連続的に表示される（Ｓ５６）。
【０１０１】
上記のように、野手キャラクタ７０ａおよびボールオブジェクト７１がボールの捕球位置の方向に移動する状態が、テレビジョンモニタ２０に表示されているときには、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が、常にＣＰＵ７に認識されている。そして、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数の値が第１フレーム数の値に等しくなったか否かがが、ＣＰＵ７により判断されている（Ｓ５７）。ここでは、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が、常にＣＰＵ７に監視されている場合の例を示しているが、ボールオブジェクト７１がボールの捕球位置に到達するまでの到達フレーム数をＣＰＵ７に監視させるようにしても良い。
【０１０２】
そして、到達フレーム数の値が第１フレーム数の値に等しくなった場合、ボールオブジェクト７１が移動する移動方向を規定するためのボール用のベクトルデータＢ１を算出する処理が、ＣＰＵ７により実行される（Ｓ５８）。たとえば、軌道上を移動するボールオブジェクト７１の位置座標データをＣＰＵ７に認識させることにより、ボールオブジェクト７１のベクトルを示すベクトルデータ（ボール用のベクトルデータＢ１）を算出する処理が、ＣＰＵ７により実行される。
【０１０３】
具体的には、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が５フレームになったときのボールオブジェクト７１の位置座標データと、ボールの捕球位置座標データ（交差座標データ）Ｍとが、ＣＰＵ７に認識される。たとえば、図４では、到達フレーム数の値が５フレームになったときのボールオブジェクト７１の位置Ｑ１を示すボール用の位置座標データと、ボールの捕球位置Ｍを示すボールの捕球位置座標データＭとが、ＣＰＵ７に認識される。そして、ボールの捕球位置座標データＭから、到達フレーム数が５フレームになったときのボールオブジェクト７１の位置座標データを減算する処理が、ＣＰＵ７により実行される。すると、この処理結果であるベクトルデータが、ボール用のベクトルデータＢ１としてＣＰＵ７に認識される。
【０１０４】
また、到達フレーム数の値が第１フレーム数の値に等しくなった場合、野手キャラクタ７０ａが捕球動作する動作方向を規定するための捕球動作用のベクトルデータＶ１を算出する処理が、ＣＰＵ７により実行される（Ｓ５９）。たとえば、動作中の野手キャラクタ７０ａの位置座標データ（野手キャラクタ７０ａ用の位置座標データ）をＣＰＵ７に認識させることにより、野手キャラクタ７０ａのベクトルを示すベクトルデータ（捕球動作用のベクトルデータＶ１）を算出する処理が、ＣＰＵ７により実行される。
【０１０５】
具体的には、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が５フレームになったときの野手キャラクタ７０ａの位置座標データと、ボールの捕球位置座標データ（交差座標データ）Ｍとが、ＣＰＵ７に認識される。たとえば、図４では、到達フレーム数の値が５フレームになったときの野手キャラクタ７０ａの位置Ｐ１を示す野手キャラクタ７０ａ用の位置座標データと、ボールの捕球位置Ｍを示すボールの捕球位置座標データＭとが、ＣＰＵ７に認識される。そして、ボールの捕球位置座標データＭから到達フレーム数が５フレームになったときの野手キャラクタ７０ａの位置座標データを減算する処理が、ＣＰＵ７により実行される。すると、この処理結果であるベクトルデータが、捕球動作用のベクトルデータＶ１としてＣＰＵ７に認識される。
【０１０６】
なお、打球がゴロの場合、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が６フレームになったときの野手キャラクタ７０ａの位置座標データと、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が５フレームになったときの野手キャラクタ７０ａの位置座標データとが、ＣＰＵ７に認識される。そして、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が５フレームになったときの野手キャラクタ７０ａの位置座標データから、野手キャラクタ７０ａがボールの捕球位置に到達するまでの到達フレーム数が６フレームになったときの野手キャラクタ７０ａの位置座標データを減算する処理が、ＣＰＵ７により実行される。すると、この処理結果であるベクトルデータが、捕球動作用のベクトルデータＶ１としてＣＰＵ７に認識される。
【０１０７】
続いて、まず、野手キャラクタ７０ａの動作方向に伸びる線とボールオブジェクト７１の移動方向に伸びる線とがなす第１交差角度を示す第１交差角度データα１を算出する処理が、ＣＰＵ７により実行される。次に、この第１交差角度データα１に応じて所定の第１フレーム数の野手キャラクタ７０ａ用の第２モーションデータが、ＣＰＵ７に認識される。
【０１０８】
具体的には、捕球動作用のベクトルデータＶ１とボール用のベクトルデータＢ１とに基づいて、野手キャラクタ７０ａのベクトルとボール用のベクトルとの内積を算出する処理が、ＣＰＵ７により実行される。また、捕球動作用のベクトルデータＶ１とボール用のベクトルデータＢ１とに基づいて、野手キャラクタ７０ａのベクトルの大きさ｜Ｖ１｜とボール用のベクトルの大きさ｜Ｂ１｜とを算出する処理が、ＣＰＵ７により実行される。そして、野手キャラクタ７０ａのベクトルとボール用のベクトルとの内積を、野手キャラクタ７０ａのベクトルの大きさおよびボール用のベクトルの大きさで除算する処理（ｊ１＝（Ｖ１・Ｂ１）／（（｜Ｖ１｜｜Ｂ１｜））が、ＣＰＵ７により実行される。そして、この除算結果の値ｊ１を逆余弦関数（ａｒｃ＿ｃｏｓ（ｊ１））に代入することにより、野手キャラクタ７０ａのベクトルとボール用のベクトルとがなす第１交差角度を示す第１交差角度データα１が、ＣＰＵ７により算出される。すると、この第１交差角度データα１の値がＣＰＵ７に認識される。すると、この第１交差角度データα１に応じて所定の第１フレーム数の野手キャラクタ７０ａ用の第２モーションデータが、ＣＰＵ７に認識される（Ｓ６０）。
【０１０９】
以下では、第１交差角度データα１の値が−７５度である場合を例として、説明を行うものとする。
【０１１０】
すると、野手キャラクタ７０ａ用の第２モーションデータを選択するために設定された、第１の角度の範囲（−４５度〜４５度：代表値０度）、第２の角度の範囲（４５度〜１３５度：代表値９０度）、第３の角度の範囲（−４５度〜−１３５度：代表値−９０度）、第４の角度の範囲（１３５度〜１８０度：代表値１５７．５度）、および第５の角度の範囲（−１３５〜−１８０度：代表値−１５７．５度）のうちのいずれの範囲に、第１交差角度データα１（＝−７５度）が属するかが、ＣＰＵ７により判別される（図５を参照）。そして、第１交差角度データα１が属する範囲が判別されると、第１交差角度データα１に対応する野手キャラクタ７０ａ用のモーションデータが、ＣＰＵ７に認識される。ここでは、図６に示すように、第１交差角度データα１が属する範囲に応じて、第１交差角度データα１に対応する野手キャラクタ７０ａ用のモーションデータ（第２モーションデータ）が選択されるようになっている。たとえば、第１交差角度データα１が−７５度である場合は、第３の角度の範囲（−４５度〜−１３５度：代表値−９０度）に属することになるので、左方捕球用の第２モーションデータが、ＣＰＵ７に認識される。すなわち、右側に回転しながら捕球する第２モーションデータが選択される。
【０１１１】
なお、ここでＣＰＵ７に認識された野手キャラクタ７０ａ用のモーションデータが、所定の第１フレーム数たとえばフレーム数が５（フレーム）である野手キャラクタ７０ａ用の第２モーションデータとなる。また、第１の角度の範囲、第２の角度の範囲、第３の角度の範囲、第４の角度の範囲、および第５の角度の範囲は、ゲームプログラムにおいて予め規定されており、範囲の上限および下限を示す角度は、ＲＡＭ１２に格納されている。さらに、第１の角度の範囲、第２の角度の範囲、第３の角度の範囲、第４の角度の範囲、および第５の角度の範囲のそれぞれに対応する第２モーションデータとしては、各代表角度の方向でボールを正面で捕球する野手キャラクタ用のモーションデータが１種類のみ用意されている。
【０１１２】
続いて、図４に示すように、第１交差角度データα１に応じて、野手キャラクタ７０ａの動作方向を規定するための捕球動作用のベクトルを補正する処理が、ＣＰＵ７により実行される（Ｓ６１）。具体的には、第１交差角度データα１の値と、上記で判別された所定の角度の範囲の代表値である代表角度データＤ１の値（０度、９０度、−９０度、１５７．５度、−１５７．５度）との差分を算出する処理が、ＣＰＵ７により実行される。そして、代表角度からの差分角度である第１差分角度データＳ１がＣＰＵ７に認識される。すると、野手キャラクタ７０ａの動作方向Ｖ１を第１差分角度データＳ１が示す角度の方向Ｖ１’に補正する処理が、ＣＰＵ７により実行される。すなわち、捕球動作用のベクトルを第１差分角度データＳ１が示す角度の方向Ｖ１’に変更する処理が、ＣＰＵ７により実行される。具体的には、野手キャラクタ７０ａの移動方向Ｖ１を第１差分角度データＳ１が示す角度（１５度）ずれた方向Ｖ１’に変更する処理が、ＣＰＵ７により実行される。すると、所定の第１フレーム数の第２モーションデータがテレビジョンモニタ２０に供給されたときに、右側に回転しながら野手キャラクタ７０ａの捕球姿勢がボールオブジェクト７１の方向に向くように動作する野手キャラクタ７０ａが、テレビジョンモニタ２０に表示される（Ｓ６２）。
【０１１３】
ここでは、野手キャラクタ７０ａの移動方向たとえばボールを捕球するために走っている野手キャラクタ７０ａの移動方向は、野手キャラクタ７０ａのベクトルの方向Ｖ１に一致している。そして、捕球時に野手キャラクタ７０ａが正対する方向は、角度の範囲の代表角度データＤ１の方向に一致している。このため、ＲＡＭ１２に格納された第２モーションデータを用いて野手キャラクタ７０ａの捕球動作を表示すると、所定の第１フレーム数たとえば５フレームの間に、野手キャラクタ７０ａが、ボールの捕球位置の方向に走る姿勢からボールを捕球する姿勢へと姿勢を変更し、ボールを正面で捕球する動作が、表示される（Ｓ６３）。
【０１１４】
続いて、野手キャラクタ７０ａがボールオブジェクト７１を捕球したときに、野手キャラクタ７０ａにボールオブジェクト７１を所望の塁に送球させるためにプレイヤが、コントローラ１７（第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、および第４ボタン１７ｄ）を操作すると、コントローラ１７からの操作信号に対応する命令たとえば野手キャラクタ７０ａにボールオブジェクト７１を送球させる命令（送球命令）が、ＣＰＵ７に認識される（Ｓ６４）。ここでは、第２ボタン１７ｂが操作されたときには１塁送球命令がＣＰＵ７に認識され、第１ボタン１７ａが操作されたときには２塁送球命令がＣＰＵ７に認識され、第３ボタン１７ｃが操作されたときにはホーム送球命令がＣＰＵ７に認識され、第４ボタン１７ｄが操作されたときには３塁送球命令がＣＰＵ７に認識される。
【０１１５】
すると、捕球位置の野手キャラクタ７０ａとベースオブジェクト７５とを結ぶ直線の方向を規定するためのベクトルデータを算出する処理が、ＣＰＵ７により実行される（Ｓ６５）。たとえば、捕球位置の野手キャラクタ７０ａとベースオブジェクト７５とを結ぶ直線の方向は、ボールを捕球した野手キャラクタ７０ａがボールを送球する方向（送球方向）に対応している。具体的には、野手キャラクタ７０ａの位置座標データとベース用の位置座標データとに基づいて、送球方向を規定するための送球動作用のベクトルデータＶ２を算出する処理が、ＣＰＵ７により実行される。たとえば、図７に示すように、第１ボタン１７ａが操作され２塁送球命令がＣＰＵ７に認識された場合、ボールの捕球位置を示す捕球位置座標データＭと、２塁ベース７５ａ用の位置座標データとに基づいて、２塁の送球方向を規定するための送球動作用のベクトルデータＶ２がＣＰＵ７により算出される。
【０１１６】
すると、捕球動作用のベクトルデータＶ１と送球動作用のベクトルデータＶ２とに基づいて、捕球動作用のベクトルと送球動作用のベクトルとの内積を算出する処理が、ＣＰＵ７により実行される。また、捕球動作用のベクトルデータＶ１と送球動作用のベクトルデータＶ２とに基づいて、捕球動作用のベクトルの大きさ｜Ｖ１｜と送球動作用のベクトルの大きさ｜Ｖ２｜とを算出する処理が、ＣＰＵ７により実行される。そして、捕球動作用のベクトルと送球動作用のベクトルとの内積を、捕球動作用のベクトルの大きさおよび送球動作用のベクトルの大きさで除算する処理（ｊ２＝（Ｖ１・Ｂ１）／（（｜Ｖ１｜｜Ｂ１｜））が、ＣＰＵ７により実行される。そして、この除算結果の値ｊ２を逆余弦関数（ａｒｃ＿ｃｏｓ（ｊ２））に代入することにより、捕球動作用のベクトルと送球動作用のベクトルとがなす第２交差角度を示す第２交差角度データα２が、ＣＰＵ７により算出される。すると、この第２交差角度データα２の値がＣＰＵ７に認識される。
【０１１７】
以下では、第２交差角度データα２の値が１００度である場合を例として、説明を行うものとする。すなわち、３６０度から１００度を減算したデータα２’の値が２６０度である場合を例として、説明を行うものとする。
【０１１８】
すると、野手キャラクタ７０ａ用の第３モーションデータを選択するために設定された、第６の角度の範囲（−４５度〜４５度：代表値０度）、第７の角度の範囲（４５度〜１３５度：代表値９０度）、第８の角度の範囲（−４５度〜−９０度：代表値−６７．５度）、第９の角度の範囲（１３５度〜２２５度：代表値１８０度）、および第１０の角度の範囲（２２５〜２７０度：代表値２４７．５度）のうちのいずれの範囲に、第２交差角度データα２が属するかが、ＣＰＵ７により判別される（図８を参照）。そして、第２交差角度データα２が属する範囲が判別されると、第２交差角度データα２に対応する野手キャラクタ７０ａ用のモーションデータが、ＣＰＵ７に認識される。ここでは、図９に示すように、第２交差角度データα２が属する範囲に応じて、第２交差角度データα２に対応する野手キャラクタ７０ａ用のモーションデータ（第３モーションデータ）が選択されるようになっている。たとえば、第２交差角度データα２’が２６０度である場合は、第１０の角度の範囲（２２５〜２７０度：代表値２４７．５度）に属することになるので、後方送球用の第３モーションデータが、ＣＰＵ７に認識される。すなわち、左側に回転しながら送球する第３モーションデータが選択される（Ｓ６６）。
【０１１９】
なお、ここでＣＰＵ７に認識される野手キャラクタ７０ａ用のモーションデータは、所定の第２フレーム数たとえばフレーム数が５（フレーム）である野手キャラクタ７０ａ用の第３モーションデータとなる。また、第６の角度の範囲、第７の角度の範囲、第８の角度の範囲、第９の角度の範囲、および第１０の角度の範囲は、ゲームプログラムにおいて予め規定されており、範囲の上限および下限を示す角度は、ＲＡＭ１２に格納されている。さらに、第６の角度の範囲、第７の角度の範囲、第８の角度の範囲、第９の角度の範囲、および第１０の角度の範囲のそれぞれに対応する第３モーションデータは、各代表角度の方向でボールを正面から送球する野手キャラクタ用のモーションデータが１種類のみ用意されている。
【０１２０】
続いて、図７に示すように、第２交差角度データα２に応じて、野手キャラクタ７０ａの動作方向を規定するための送球動作用のベクトルを補正する処理が、ＣＰＵ７により実行される（Ｓ６７）。具体的には、第２交差角度データα２’の値と、上記で判別された所定の角度の範囲の代表値である代表角度データＤ２の値（０度、９０度、−６７．５度、１８０度、２４７．５度）との差分を算出する処理が、ＣＰＵ７により実行される。そして、代表角度からの第２差分角度である第２差分角度データＳ２がＣＰＵ７に認識される。すると、野手キャラクタ７０ａの動作方向を第２差分角度データＳ２が示す角度の方向に補正する処理が、ＣＰＵ７により実行される。すなわち、送球動作用のベクトルを第２差分角度データＳ２が示す角度の方向Ｖ１’’に変更する処理が、ＣＰＵ７により実行される。具体的には、野手キャラクタ７０ａの移動方向Ｖ１を第２差分角度データＳ２が示す角度（１２．５度）ずれた方向Ｖ１’’に変更する処理が、ＣＰＵ７により実行される。すると、所定の第２フレーム数の第３モーションデータがテレビジョンモニタ２０に供給されたときに、左側に回転しながら野手キャラクタ７０ａの送球姿勢が送球方向に向くように動作する野手キャラクタ７０ａが、テレビジョンモニタ２０に表示される（Ｓ６８）。
【０１２１】
ここでは、野手キャラクタ７０ａの移動方向たとえばボールをランニングスローするために走っている野手キャラクタ７０ａの移動方向は、野手キャラクタ７０ａのベクトルの方向Ｖ１に一致している。そして、送球時に野手キャラクタ７０ａが正対する方向は、角度の範囲の代表角度データＤ２の方向に一致している。このため、ＲＡＭ１２に格納された第３モーションデータを用いて野手キャラクタ７０ａの送球動作を表示すると、所定の第２フレーム数たとえば５フレームの間に、野手キャラクタ７０ａが、ボールを捕球した後にボールの捕球位置を通過して走りながらボールを送球する姿勢へと姿勢を変更し、ボールを送球する動作が、表示される。すなわち、野手キャラクタがランニングスローを行う動作が、表示される。
【０１２２】
このように、本実施形態においては、選手キャラクタの守備動作に動作補正システムを適用することにより、野手キャラクタが走りながら捕球姿勢をとるまでの一連の動作や、野手キャラクタが走りながら送球姿勢をとるまでの一連の動作を、現実世界の野球と同様にテレビジョンモニタ２０に表示することができる。一般的に表現すると、現実空間において人が行う動作を、ゲーム空間において違和感なく表示することができる。
【０１２３】
〔他の実施形態〕
（ａ）前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。また、ゲーム装置は、前記実施形態に限定されず、携帯型コンピュータ、携帯型ゲーム装置などにも同様に適用することができる。
【０１２４】
（ｂ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【図面の簡単な説明】
【０１２５】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ゲーム装置の機能ブロック図。
【図３】野手キャラクタとボールオブジェクトとの位置関係を説明するための概略図。
【図４】野手キャラクタとボールオブジェクトとの位置関係を説明するための詳細図。
【図５】野手キャラクタ用の第２モーションデータを選択するために設定された角度の範囲を説明するための図。
【図６】第１交差角度データ、第１代表角度データ、および第２モーションデータの関係を示す図。
【図７】野手キャラクタとベースオブジェクトとの位置関係を説明するための詳細図。
【図８】野手キャラクタ用の第３モーションデータを選択するために設定された角度の範囲を説明するための図。
【図９】第２交差角度データ、第２代表角度データ、および第３モーションデータの関係を示す図。
【図１０】野球ゲームの概要を示すフロー。
【図１１】動作補正システムに関するフロー。
【符号の説明】
【０１２６】
１  制御部
２  記憶部
３  画像表示部
４  音声出力部
５  操作入力部
７  ＣＰＵ
１２  ＲＡＭ
１７  コントローラ
２０  テレビジョンモニタ
２３  通信部
５０  ベース表示手段
５１  命令実行手段
５２  ボール表示手段
５３  移動方向算出手段
５４  第１野手キャラクタ表示手段
５５  動作方向算出手段
５６  交差位置認識手段
５７  第１フレーム数認識手段
５８  第２フレーム数認識手段
５９  第２モーションデータ認識手段
６０  第２野手キャラクタ表示手段
６１  軸方向算出手段
６２  第３モーションデータ認識手段
６３  第３野手キャラクタ表示手段
７０  野手キャラクタ
７１  ボールオブジェクト
７５  ベースオブジェクト
α１  第１交差角度データ
α２（α２’）  第２交差角度データ
Ｄ１  第１代表角度データ
Ｄ２  第２代表角度データ
Ｍ  捕球位置座標データ
Ｓ１  第１差分角度データ
Ｓ２  第２差分角度データ
【図１】
2008237587.tif 000003
【図２】
2008237587.tif 000004
【図３】
2008237587.tif 000005
【図４】
2008237587.tif 000006
【図５】
2008237587.tif 000007
【図６】
2008237587.tif 000008
【図７】
2008237587.tif 000009
【図８】
2008237587.tif 000010
【図９】
2008237587.tif 000011
【図１０】
2008237587.tif 000012
【図１１】
2008237587.tif 000013