(57)【要約】【課題】ゲームプログラムにおいて、リアリティのあるゲームを実現させる。【解決手段】制御部１は、カメラ位置データ作成手段５２と、基準キャラクタデータ作成手段５３と、基準カメラ注視点データ作成手段５４と、ゲーム条件判断手段５５と、カメラ注視点データ作成手段５６と、キャラクタデータ作成手段５７と、キャラクタ動作表示手段５８とを主に備えている。ゲーム条件判断手段５５によって、仮想カメラが揺れたと判断されると、カメラ注視点データ作成手段５６及びキャラクタデータ作成手段５７によって、仮想カメラのカメラ揺れデータを付加した打者キャラクタに関するカメラ注視点データ及び打者キャラクタに関するキャラクタデータが作成され、カメラ揺れデータが付加された仮想カメラ８０によって撮影された打者キャラクタの打撃動作画面がテレビジョンモニタに表示される。【選択図】図２
2007159817.tif 000002
【特許請求の範囲】
【請求項１】
仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現可能なコンピュータに、
前記仮想カメラよって撮影された前記キャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成機能と、
前記仮想カメラの撮影対象となる前記キャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成機能と、
前記ゲームに関する所定のゲーム条件を満たしているか否かを判断するゲーム条件判断機能と、
前記ゲーム条件判断機能によって前記所定のゲーム条件が満たされていると判断されたとき、前記基準カメラ注視点データを基にして、前記仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成機能と、
前記基準キャラクタデータ及び前記カメラ注視点データを基にして、前記キャラクタに関するキャラクタデータを作成するキャラクタデータ作成機能と、
前記キャラクタデータ作成機能によって作成された前記キャラクタデータを読み出し、前記仮想カメラによって撮影された前記キャラクタの動作画面を表示するキャラクタ動作表示機能と、
を実現させるためのゲームプログラム。
【請求項２】
前記コンピュータに、
前記仮想カメラのカメラ位置データを作成するカメラ位置データ作成機能をさらに実現させ、
前記キャラクタデータ作成機能は、さらに前記仮想カメラのカメラ位置データを基にして、前記キャラクタに関するキャラクタデータを作成する、請求項１に記載のゲームプログラム。
【請求項３】
前記基準カメラ注視点データは、所定の周期毎に異なる振幅を有する波形を生成可能なデータであって、
前記カメラ注視点データ作成機能は、前記基準カメラ注視点データの振幅を変化させることによって前記カメラ注視点データを作成する、請求項１又は２に記載のゲームプログラム。
【請求項４】
前記ゲームに関する所定のゲーム条件は、前記仮想カメラの揺れに関する条件であって、
前記カメラ注視点データ作成機能は、さらに前記仮想カメラの揺れに関するカメラ揺れデータを基にして、前記仮想カメラのカメラ注視点データを作成する、請求項１から３のいずれか１項に記載のゲームプログラム。
【請求項５】
前記カメラ注視点データは、前記基準カメラ注視点データに、前記カメラ揺れデータから得られる所定のカメラ揺れ係数を乗じた数値データである、請求項４に記載のゲームプログラム。
【請求項６】
仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するするゲームを実現させるゲーム装置であって、
前記仮想カメラよって撮影された前記キャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成手段と、
前記仮想カメラの撮影対象となる前記キャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成手段と、
前記ゲームに関する所定のゲーム条件を満たしているか否かを判断するゲーム条件判断手段と、
前記ゲーム条件判断手段によって前記所定のゲーム条件が満たされていると判断されたとき、前記基準カメラ注視点データを基にして、前記仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成手段と、
前記基準キャラクタデータ及び前記カメラ注視点データを基にして、前記キャラクタに関するキャラクタデータを作成するキャラクタデータ作成手段と、
前記キャラクタデータ作成手段によって作成された前記キャラクタデータを読み出し、前記仮想カメラによって撮影された前記キャラクタの動作画面を表示するキャラクタ動作表示手段と、
を備えるゲーム装置。
【請求項７】
仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するするゲームをコンピュータに実現させるゲーム方法であって、
前記仮想カメラよって撮影された前記キャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成ステップと、
前記仮想カメラの撮影対象となる前記キャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成ステップと、
前記ゲームに関する所定のゲーム条件を満たしているか否かを判断するゲーム条件判断ステップと、
前記ゲーム条件判断ステップによって前記所定のゲーム条件が満たされていると判断されたとき、前記基準カメラ注視点データを基にして、前記仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成ステップと、
前記基準キャラクタデータ及び前記カメラ注視点データを基にして、前記キャラクタに関するキャラクタデータを作成するキャラクタデータ作成ステップと、
前記キャラクタデータ作成ステップによって作成された前記キャラクタデータを読み出し、前記仮想カメラによって撮影された前記キャラクタの動作画面を表示するキャラクタ動作表示ステップと、
を備えるゲーム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、特に、仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームをコンピュータに実現させるためのゲームプログラムに関する。また、このゲームプログラムによって実現されるゲーム装置及びゲーム方法に関する。
【背景技術】
【０００２】
従来から種々のゲームが提案されている。そのうちの１つとして、モニタに表示された選手キャラクタを動作させて競技を行わせる対戦ビデオゲーム、たとえば野球ゲームが知られている。この種の野球ゲームでは、プレイヤが各選手キャラクタが属する１つの野球チームを選択し、他の野球チームを選択した他のプレイヤやコンピュータと対戦可能である（たとえば、非特許文献１）。
【０００３】
このような野球ゲームでは、投手キャラクタや打者キャラクタ等の対象物となる選手キャラクタを、たとえばバックネット裏やスタンド正面に配置された複数の仮想カメラによって撮影された投手キャラクタの投球動作や打者キャラクタの打撃動作を行う動作画面をモニタに表示させることができる。たとえば、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、仮想カメラのカメラ位置がスタンド正面に設定され、仮想カメラの注視点が打者キャラクタの顔位置に設定されることにより、打者キャラクタの動作が最適なカメラアングルで撮影される。ここで、仮想カメラのカメラ位置とは、現実には存在していない仮想カメラを配置した位置であって、具体的には球場内の３次元の座標位置によって定まる位置である。また、仮想カメラの注視点とは、現実には存在していない仮想カメラが対象物に対してピントを合わせるポイントであって、仮想カメラのカメラ位置から対象物に向けて真っ直ぐに延びる直線が対象物と交差する対象物上のポイントであって、具体的には対象物上の３次元の座標位置によって定まるポイントである。ここでは、現実世界の野球中継におけるテレビカメラによるテレビ画面と同様の動作画面をモニタに表示させることができるので、現実世界の野球選手と同様の選手キャラクタの特徴を細かく再現することができる。
【非特許文献１】プロ野球スピリッツ２公式ガイドコンプリートエディション、日本、コナミ株式会社、２００５年４月７日
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来の仮想カメラによって撮影された選手キャラクタの動作画面をモニタに表示する野球ゲームでは、仮想カメラのカメラ位置及び仮想カメラの注視点を選手キャラクタやイベント毎に予め設定しておくことにより、選手キャラクタやイベント毎に合致した最適なカメラアングルで選手キャラクタの動作を撮影することができる。具体的には、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、仮想カメラのカメラ位置をスタンド正面に設定し、仮想カメラの注視点を打者キャラクタの顔位置に設定することにより、打者キャラクタの動作が最適なカメラアングルで撮影されるようになっている。
【０００５】
しかし、現実世界の野球中継では、テレビカメラが野球選手を撮影するときには、たとえば球場内に発生した風の影響や、カメラマンの誤操作等によってテレビカメラが上下に揺れ、テレビ画面に投影された野球選手が上下に揺れることがある。これに対して、従来の野球ゲームでは、仮想カメラのカメラ位置及び仮想カメラの注視点が、撮影する対象物である選手キャラクタやイベント毎に予め一定の値となるように設定されているので、現実世界の野球中継におけるテレビカメラの揺れを再現することができず、このため現実世界の野球中継に近いリアリティのある野球ゲームを実現するのが非常に困難である。
【０００６】
本発明の課題は、ゲームプログラムにおいて、リアリティのあるゲームを実現させることにある。
【課題を解決するための手段】
【０００７】
請求項１に係るゲームプログラムは、仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現可能なコンピュータに、以下の機能を実現させるためのプログラムである。
【０００８】
（１）仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成機能。
【０００９】
（２）仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成機能。
【００１０】
（３）ゲームに関する所定のゲーム条件を満たしているか否かを判断するゲーム条件判断機能。
【００１１】
（４）ゲーム条件判断機能によって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データを基にして、仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成機能。
【００１２】
（５）基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータを作成するキャラクタデータ作成機能。
【００１３】
（６）キャラクタデータ作成機能によって作成されたキャラクタデータを読み出し、仮想カメラによって撮影されたキャラクタの動作画面を表示するキャラクタ動作表示機能。
【００１４】
このプログラムによって実現されるゲームでは、基準キャラクタデータ作成機能において、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。基準カメラ注視点データ作成機能において、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ゲーム条件判断機能において、ゲームに関する所定のゲーム条件を満たしているか否かが判断される。カメラ注視点データ作成機能において、ゲーム条件判断機能によって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データを基にして、仮想カメラのカメラ注視点データが作成される。キャラクタデータ作成機能において、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。キャラクタ動作表示機能において、キャラクタデータ作成機能によって作成されたキャラクタデータを読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【００１５】
たとえば、選手キャラクタを動作させる野球ゲームを実現させる場合を考える。ここでは、野球ゲームにおいて、投手キャラクタや打者キャラクタ等の対象物となる選手キャラクタを、たとえばバックネット裏やスタンド正面に配置された複数の仮想カメラによって撮影された投手キャラクタの投球動作や打者キャラクタの打撃動作を行う動作画面をモニタに表示させるゲームを行う。
【００１６】
まず、基準キャラクタデータ作成機能によって、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。ここで、キャラクタに関する基準キャラクタデータとは、選手キャラクタが行う動作を動画として生成するための基準となるデータであって、後述する仮想カメラの揺れに依存しない基本となるデータである。
【００１７】
次に、基準カメラ注視点データ作成機能によって、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ここで、キャラクタに関する基準カメラ注視点データとは、現実には存在していない仮想カメラが対象物であるキャラクタに対してピントを合わせるポイントであって、仮想カメラからキャラクタに向けて真っ直ぐに延びる直線がキャラクタと交差するキャラクタ上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。具体的には、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、基準カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置に設定され、キャラクタに関する基準カメラ注視点データとして打者キャラクタの顔位置の３次元の座標位置の数値データが作成される。
【００１８】
次に、ゲーム条件判断機能によって、ゲームに関する所定のゲーム条件を満たしているか否かが判断される。ここで、所定のゲーム条件とは、仮想カメラが揺れる具体的な条件であって、たとえば球場内に発生した風の影響や、カメラマンの誤操作等の仮想カメラが揺れる具体的な条件である。ゲーム条件判断機能では、所定のゲーム条件を満たしているときは、具体的には、球場内に発生した風の風力が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたと判断される。また、所定のゲーム条件を満たしていないときは、仮想カメラが揺れていないと判断される。
【００１９】
次に、カメラ注視点データ作成機能によって、ゲーム条件判断機能によって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データを基にして、仮想カメラのカメラ注視点データが作成される。ここで、キャラクタに関するカメラ注視点データとは、現実には存在していない仮想カメラが対象物であるキャラクタに対してピントを合わせるポイントであって、仮想カメラからキャラクタに向けて真っ直ぐに延びる直線がキャラクタと交差するキャラクタ上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。キャラクタに関するカメラ注視点データは、キャラクタに関する基準カメラ注視点データに、仮想カメラの揺れデータを付加した仮想カメラの揺れに依存したデータである。具体的には、ゲーム条件判断機能によって、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れると判断されると、カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置の上下方向に揺動した位置の３次元の座標位置の数値データが作成される。ここでは、たとえば顔位置から上方向に所定量だけ増加したヘルメット位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのヘルメット位置の３次元の座標位置の数値データが作成される。また、顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのユニフォーム位置の３次元の座標位置の数値データが作成される。
【００２０】
次に、キャラクタデータ作成機能によって、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。ここで、キャラクタに関するキャラクタデータとは、選手キャラクタが行う動作を動画として生成するためのデータであって、仮想カメラの揺れデータを付加した仮想カメラの揺れに依存したデータである。具体的には、基準キャラクタデータ作成機能によって作成されたキャラクタに関する基準キャラクタデータと、カメラ注視点データ作成機能によって作成された仮想カメラのカメラ注視点データとを基にして、たとえば仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ減少したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータが作成される。
【００２１】
そして、キャラクタ動作表示機能によって、キャラクタデータ作成機能によって作成されたキャラクタデータを読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。ここでは、キャラクタデータ作成機能によって作成された、たとえば仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータを読み出し、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示される。
【００２２】
このゲームプログラムでは、基準キャラクタデータ作成機能及び基準カメラ注視点データ作成機能によって、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータ及び仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。次に、ゲーム条件判断機能によって、球場内に発生した風の風力が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたと判断される。次に、ゲーム条件判断機能によって、ゲームに関する所定のゲーム条件を満たしていると判断されたとき、カメラ注視点データ作成機能及びキャラクタデータ作成機能によって、仮想カメラのカメラ注視点データ及びキャラクタに関するキャラクタデータが作成される。そして、キャラクタ動作表示機能によって、キャラクタデータ作成機能によって作成されたキャラクタデータを読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【００２３】
具体的には、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、基準カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置に設定され、キャラクタに関する基準カメラ注視点データとして打者キャラクタの顔位置の３次元の座標位置の数値データが作成される。次に、ゲーム条件判断機能によって、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたと判断されると、カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置の上下方向に揺動した位置の３次元の座標位置の数値データが作成される。ここでは、たとえば顔位置から上方向に所定量だけ増加したヘルメット位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのヘルメット位置の３次元の座標位置の数値データが作成される。また、顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのユニフォーム位置の３次元の座標位置の数値データが作成される。次に、キャラクタデータ作成機能によって、仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータが作成される。そして、キャラクタ動作表示機能によって、キャラクタデータ作成機能によって作成された、仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータを読み出し、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示される。
【００２４】
ここでは、ゲーム条件判断機能によって、仮想カメラが揺れたと判断されると、カメラ注視点データ作成機能及びキャラクタデータ作成機能によって、仮想カメラの揺れデータを付加したキャラクタに関するカメラ注視点データ及びキャラクタに関するキャラクタデータが作成され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示される。したがって、このゲームプログラムでは、現実世界の野球中継のように、テレビカメラの揺れを再現することができるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００２５】
請求項２に係るゲームプログラムは、請求項１のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
【００２６】
（７）仮想カメラのカメラ位置データを作成するカメラ位置データ作成機能。
【００２７】
さらに、このゲームプログラムは、請求項１のゲームプログラムにおいて、キャラクタデータ作成機能は、さらに仮想カメラのカメラ位置データを基にして、キャラクタに関するキャラクタデータを作成する。
【００２８】
このプログラムによって実現されるゲームでは、さらに、カメラ位置データ作成機能によって、仮想カメラのカメラ位置データが作成される。ここで、仮想カメラのカメラ位置データとは、現実には存在していない仮想カメラを配置した位置であって、たとえば球場内の３次元の座標位置によって定まる位置である。具体的には、仮想カメラがスタンド正面に配置されているとき、仮想カメラのカメラ位置がスタンド正面に設定され、仮想カメラのカメラ位置の３次元の座標位置の数値データが作成される。さらに、このゲームプログラムでは、キャラクタデータ作成機能によって、基準キャラクタデータ及びカメラ注視点データに加えて、さらに仮想カメラのカメラ位置データを基にして、キャラクタに関するキャラクタデータが作成される。
【００２９】
ここでは、カメラ位置データ作成機能によって、仮想カメラのカメラ位置データが作成され、さらに作成された仮想カメラのカメラ位置データを基にして、キャラクタに関するキャラクタデータが作成されるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００３０】
請求項３に係るゲームプログラムは、請求項１又は２のゲームプログラムにおいて、基準カメラ注視点データは、所定の周期毎に異なる振幅を有する波形を生成可能なデータであって、カメラ注視点データ作成機能は、基準カメラ注視点データの振幅を変化させることによってカメラ注視点データを作成する。
【００３１】
ここでは、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるようにした場合、所定の周期毎に異なる振幅（Ｙ軸の最大または最小となる振幅）を有する波形、たとえば正弦波等の波形が２π毎に異なる振幅となるようにカメラ注視点データを作成することによって、仮想カメラが所定の周期毎に上下方向に揺動している状態を簡素な方法で実現することができる。
【００３２】
請求項４に係るゲームプログラムは、請求項１から３のいずれかのゲームプログラムにおいて、ゲームに関する所定のゲーム条件は、仮想カメラの揺れに関する条件であって、カメラ注視点データ作成機能は、さらに仮想カメラの揺れに関するカメラ揺れデータを基にして、仮想カメラのカメラ注視点データを作成する。
【００３３】
ここでは、ゲームに関する所定のゲーム条件は、仮想カメラの揺れに関する条件であって、具体的には、球場内に発生した風の風力が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断される条件である。また、ここでは、カメラ注視点データ作成機能によって、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたカメラ注視点データが作成されるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００３４】
請求項５に係るゲームプログラムは、請求項４のゲームプログラムにおいて、カメラ注視点データは、基準カメラ注視点データに、カメラ揺れデータから得られる所定のカメラ揺れ係数を乗じた数値データである。
【００３５】
ここでは、たとえばカメラ揺れデータに所定の乱数を乗じて得られた所定のカメラ揺れ係数を用いることにより、仮想カメラがランダムに揺れることになるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００３６】
請求項５に係るゲーム装置は、仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現させるゲーム装置である。このゲーム装置は、基準キャラクタデータ作成手段と、基準カメラ注視点データ作成手段と、ゲーム条件判断手段と、カメラ注視点データ作成手段と、キャラクタデータ作成手段と、キャラクタ動作表示手段とを備えている。基準キャラクタデータ作成手段において、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。基準カメラ注視点データ作成手段において、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ゲーム条件判断手段において、ゲームに関する所定のゲーム条件を満たしているか否かが判断される。カメラ注視点データ作成手段において、ゲーム条件判断手段によって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データを基にして、仮想カメラのカメラ注視点データが作成される。キャラクタデータ作成手段において、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。キャラクタ動作表示手段において、キャラクタデータ作成手段によって作成されたキャラクタデータを読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【００３７】
請求項６に係るゲーム方法は、仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現させるゲーム方法である。このゲーム方法は、基準キャラクタデータ作成ステップと、基準カメラ注視点データ作成ステップと、ゲーム条件判断ステップと、カメラ注視点データ作成ステップと、キャラクタデータ作成ステップと、キャラクタ動作表示ステップとを備えている。基準キャラクタデータ作成ステップにおいて、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。基準カメラ注視点データ作成ステップにおいて、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ゲーム条件判断ステップにおいて、ゲームに関する所定のゲーム条件を満たしているか否かが判断される。カメラ注視点データ作成ステップにおいて、ゲーム条件判断ステップによって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データを基にして、仮想カメラのカメラ注視点データが作成される。キャラクタデータ作成ステップにおいて、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。キャラクタ動作表示ステップにおいて、キャラクタデータ作成ステップによって作成されたキャラクタデータを読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【発明の効果】
【００３８】
本発明によれば、ゲームプログラムにおいて、ゲーム条件判断機能によって、仮想カメラが揺れたと判断されると、カメラ注視点データ作成機能及びキャラクタデータ作成機能によって、仮想カメラの揺れデータを付加したキャラクタに関するカメラ注視点データ及びキャラクタに関するキャラクタデータが作成され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示されるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【発明を実施するための最良の形態】
【００３９】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００４０】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００４１】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ７（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉt）と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００４２】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ１２（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００４３】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ２２（Ｄｉｇｉｔａｌ−Ｔｏ−Ａｎａｌｏｇコンバータ）とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００４４】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体（視点）の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００４５】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏn）データやＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００４６】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００４７】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００４８】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、たとえば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００４９】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００５０】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００５１】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向にわたって、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００５２】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００５３】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００５４】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。図示しない電源スイッチがオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００５５】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００５６】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００５７】
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機は、コントローラ１７を操作することによってテレビジョンモニタ２０に表示されたキャラクタを動作させるゲームを実現可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。制御部１は、キャラクタ表示手段５０と、キャラクタ動作手段５１と、カメラ位置データ作成手段５２と、基準キャラクタデータ作成手段５３と、基準カメラ注視点データ作成手段５４と、ゲーム条件判断手段５５と、カメラ注視点データ作成手段５６と、キャラクタデータ作成手段５７と、キャラクタ動作表示手段５８とを主に備えている。
【００５８】
キャラクタ表示手段５０は、テレビジョンモニタ２０に打者キャラクタ７０を表示する機能を備えている。キャラクタ表示手段５０では、図６〜図８に示す打者キャラクタ７０がテレビジョンモニタ２０に表示される。
【００５９】
この手段では、打者キャラクタ７０に対応する打者用画像データが、ゲームプログラムのロード時に、記憶部２たとえば記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納される。このときに、打者用画像データが制御部１たとえばＣＰＵ７に認識される。また、打者用画像データをテレビジョンモニタ２０に表示するための打者用座標データが、記憶部２たとえば記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納される。このときに、打者用画像データが制御部１たとえばＣＰＵ７に認識される。すると、ＲＡＭ１２に格納された打者用画像データが、ＣＰＵ７からの指示に基づいて、画像処理プロセッサ９を介してテレビジョンモニタ２０に供給される。そして、打者用画像データが、打者用座標データに基づいて、テレビジョンモニタ２０の所定の位置に表示される。なお、打者用画像データをテレビジョンモニタ２０の所定の位置に表示するための指示は、ＣＰＵ７によって行われる。
【００６０】
キャラクタ動作手段５１は、打者キャラクタ７０を動作させる機能を備えている。キャラクタ動作手段５１では、打者キャラクタ７０が動作させられる。
【００６１】
この手段では、打者キャラクタ７０を動作させるためのコントローラ１７からの信号が制御部１たとえばＣＰＵ７に認識されると、ＣＰＵ７からの指示に基づいて、打者キャラクタ７０に対応する打者用画像データが、制御部１たとえば信号処理プロセッサ８と画像処理プロセッサ９とによって処理される。そして、処理された画像データがＲＡＭ１２からテレビジョンモニタ２０に供給されて、打者キャラクタ７０のスイング動作が動画としてテレビジョンモニタ２０に表示される。
【００６２】
カメラ位置データ作成手段５２は、仮想カメラ８０（図５参照）のカメラ位置データＰ１〜Ｐｎ（図３参照）を作成する機能を備えている。カメラ位置データ作成手段５２では、仮想カメラ８０のカメラ位置データＰ１〜Ｐｎが作成される。ここで、仮想カメラ８０のカメラ位置データＰ１〜Ｐｎとは、現実には存在していない仮想カメラ８０を配置した位置であって、たとえば球場内の３次元の座標位置によって定まる位置である。具体的には、仮想カメラ８０がスタンド正面に配置されているとき、仮想カメラ８０のカメラ位置Ｐ１がスタンド正面に設定され、仮想カメラ８０のカメラ位置Ｐ１の３次元の座標位置の数値データが作成される。ここでは、カメラ位置データ作成手段５２によって認識されたカメラ位置データＰ１〜Ｐｎの各種データは、ＲＡＭ１２に格納される。
【００６３】
基準キャラクタデータ作成手段５３は、仮想カメラ８０よって撮影されたキャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎ（図３参照）を作成する機能を有している。基準キャラクタデータ作成手段５３では、仮想カメラ８０よって撮影されたキャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎが作成される。ここで、キャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎとは、キャラクタが行う動作を動画として生成するための基準となるデータであって、仮想カメラ８０の揺れに依存しない基本となるデータである。具体的には、バッターボックスに入った打者キャラクタ７０に関する基準キャラクタデータＣＢ１は、特定の打者キャラクタ７０の打撃スイングの動作を動画として生成するためのデータであって、図７に示す仮想カメラ８０が揺れていない状態での打者キャラクタ７０が打撃スイングの動作を行う動画を生成するためのデータである。ここでは、基準キャラクタデータ作成手段５３によって認識された基準キャラクタデータＣＢ１〜ＣＢｎの各種データは、ＲＡＭ１２に格納される。
【００６４】
基準カメラ注視点データ作成手段５４は、仮想カメラ８０の撮影対象となるキャラクタに対する基準カメラ注視点データＬＢ１〜ＬＢｎ（図３参照）を作成する機能を有している。基準カメラ注視点データ作成手段５４では、仮想カメラ８０の撮影対象となるキャラクタに対する基準カメラ注視点データＬＢ１〜ＬＢｎが作成される。ここで、キャラクタに関する基準カメラ注視点データＬＢ１〜ＬＢｎとは、現実には存在していない仮想カメラ８０が対象物であるキャラクタに対してピントを合わせるポイントであって、図５に示すように、仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、後述するカメラ注視点データＬ１〜Ｌ３である第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。図５では、スタンド正面に配置された仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データである。ここでは、基準カメラ注視点データＬＢ１〜ＬＢ３と、後述するカメラ注視点データＬ１〜Ｌ３である第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とが対応しており、特に、揺れていない仮想カメラ８０のカメラ注視点データＬ２である第２カメラ注視点４２は、基準カメラ注視点データＬＢ２と同一になっている。ここでは、基準カメラ注視点データ作成手段５４によって認識された基準カメラ注視点データＬＢ１〜ＬＢｎの各種データは、ＲＡＭ１２に格納される。
【００６５】
ゲーム条件判断手段５５は、ゲームに関する所定のゲーム条件を満たしているか否かを判断する機能を有している。ゲーム条件判断手段５５では、ゲームに関する所定のゲーム条件を満たしているか否かが判断される。ここで、所定のゲーム条件とは、仮想カメラ８０が揺れる具体的な条件であって、たとえば球場内に発生した風の影響や、カメラマンの誤操作等の仮想カメラ８０が揺れる具体的な条件である。ゲーム条件判断手段５５では、所定のゲーム条件を満たしているときは、具体的には、球場内に発生した風の風力データＷ（図３参照）が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラ８０の揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラ８０が上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラ８０が揺れたと判断される。また、ゲーム条件判断手段５５では、所定のゲーム条件を満たしていないときは、仮想カメラ８０が揺れていないと判断される。ここでは、ゲーム条件判断手段５５によって認識された仮想カメラ８０が揺れているか、揺れていないかの判断結果の各種データは、ＲＡＭ１２に格納される。
【００６６】
カメラ注視点データ作成手段５６は、ゲーム条件判断手段５５によって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎ（図３参照）を作成する機能を有している。カメラ注視点データ作成手段５６では、ゲーム条件判断手段５５によって所定のゲーム条件が満たされていると判断されたとき、すなわち、仮想カメラ８０が揺れていると判断されたとき、基準カメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが作成される。ここで、キャラクタに関するカメラ注視点データＬ１〜Ｌｎとは、現実には存在していない仮想カメラ８０が対象物であるキャラクタに対してピントを合わせるポイントであって、図５に示すように、仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。図５では、スタンド正面に配置された仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであって、ここでは、カメラ注視点データＬ１〜Ｌ３と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とが一致している。キャラクタに関するカメラ注視点データＬ１〜Ｌｎは、キャラクタに関する基準カメラ注視点データＬＢ１〜ＬＢｎに、仮想カメラ８０のカメラ揺れデータＲ（図３参照）や風力データＷ（図３参照）を付加した仮想カメラ８０の揺れに依存したデータである。具体的には、ゲーム条件判断手段５５によって、仮想カメラ８０のカメラ揺れデータＲである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラ８０が上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラ８０が揺れていると判断されると、カメラ注視点データ作成手段５６によって、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが打者キャラクタ７０の顔位置の上下方向に揺動した位置の３次元の座標位置の数値データが作成される。まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２は、打者キャラクタ７０の鼻位置に設定され、打者キャラクタ７０に関するカメラ注視点データＬ２として打者キャラクタ７０の鼻位置の３次元の座標位置の数値データが作成される。次に、ゲーム条件判断手段５５によって、仮想カメラ８０が上方向に揺れたと判断されると、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１は、カメラ注視点データ作成手段５６によって、第２カメラ注視点４２の鼻位置から上方向に所定量だけ増加したヘルメット位置に設定され、打者キャラクタ７０に関するカメラ注視点データＬ１として打者キャラクタ７０のヘルメット位置の３次元の座標位置の数値データが作成される。また、ゲーム条件判断手段５５によって、仮想カメラ８０が下方向に揺れたと判断されると、図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３は、カメラ注視点データ作成手段５６によって、第２カメラ注視点４２の鼻位置から下方向に所定量だけ増加した顎位置に設定され、打者キャラクタ７０に関するカメラ注視点データＬ３として打者キャラクタ７０の顎位置の３次元の座標位置の数値データが作成される。ここでは、カメラ注視点データ作成手段５６によって認識されたカメラ注視点データＬ１〜Ｌｎの各種データは、ＲＡＭ１２に格納される。
【００６７】
キャラクタデータ作成手段５７は、カメラ位置データ作成手段５２によって作成されたカメラ位置データＰ１〜Ｐｎ、基準キャラクタデータ作成手段５３によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、カメラ注視点データ作成手段５６によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、キャラクタに関するキャラクタデータＣ１〜Ｃｎ（図３参照）を作成する機能を有している。キャラクタデータ作成手段５７では、カメラ位置データ作成手段５２によって作成されたカメラ位置データＰ１〜Ｐｎ、基準キャラクタデータ作成手段５３によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、カメラ注視点データ作成手段５６によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、キャラクタに関するキャラクタデータＣ１〜Ｃｎが作成される。ここで、キャラクタに関するキャラクタデータＣ１〜Ｃｎとは、選手キャラクタが行う動作を動画として生成するためのデータであって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した仮想カメラ８０の揺れに依存したデータである。具体的には、カメラ位置データ作成手段５２によって作成されたカメラ位置データＰ１〜Ｐｎ、基準キャラクタデータ作成手段５３によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、カメラ注視点データ作成手段５６によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが鼻位置（図５及び図７に示す第２カメラ注視点４２）から上方向に所定量だけ増加したヘルメット位置（図５及び図６に示す第１カメラ注視点４１）または鼻位置から下方向に所定量だけ減少した顎位置（図５及び図８に示す第３カメラ注視点４３）に設定され、仮想カメラ８０のカメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面を生成するためのデータが作成される。ここでは、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、第２カメラ注視点４２に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の打者キャラクタ７０に関するキャラクタデータＣ２が作成される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、第１カメラ注視点４１に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが上向きとなった打者キャラクタ７０に関するキャラクタデータＣ１が作成される。また、図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、第３カメラ注視点４３に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが下向きとなった打者キャラクタ７０に関するキャラクタデータＣ３が作成される。ここでは、キャラクタデータ作成手段５７によって認識されたキャラクタデータＣ１〜Ｃｎの各種データは、ＲＡＭ１２に格納される。
【００６８】
キャラクタ動作表示手段５８は、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ１〜Ｃｎを読み出し、仮想カメラ８０によって撮影されたキャラクタの動作画面を表示する機能を有している。キャラクタ動作表示手段５８では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ１〜Ｃｎが読み出され、仮想カメラ８０によって撮影されたキャラクタの動作画面が表示される。ここでは、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ２が読み出され、仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ１が読み出され、上方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図６参照）がテレビジョンモニタ２０に表示される。また、図５及び図７に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ３が読み出され、下方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。
【００６９】
ここでは、ゲーム条件判断手段５５によって、仮想カメラ８０が揺れたと判断されると、カメラ注視点データ作成手段５６及びキャラクタデータ作成手段５７によって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した打者キャラクタ７０に関するカメラ注視点データＬ１〜Ｌｎ及び打者キャラクタ７０に関するキャラクタデータＣ１〜Ｃｎが作成され、カメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０がテレビジョンモニタ２０に表示される。このゲームプログラムでは、現実世界の野球中継のように、テレビカメラの揺れを再現することができるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００７０】
〔野球ゲームにおけるキャラクタ動作表示システム及び打撃結果判定システム実行時の処理フロー〕
本実施形態の野球ゲームにおけるキャラクタ動作表示システム及びカメラ注視点データ作成システムを、図４に示す仮想カメラ８０の上下方向の揺れの変化を表す模式図、図９及び図１０に示すフローチャートを用いて説明する。
【００７１】
まず、仮想カメラ８０は、図４及び図５に示すように、上下方向に揺動している。図４及び図５に示す＋方向が上方向、図４及び図５に示す−方向が下方向を意味している。仮想カメラ８０は、図４に示すように、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるようにした場合、所定の周期毎に異なる振幅（Ｙ軸の最大または最小となる振幅）を有する波形、たとえば正弦波等の波形が２π毎に異なる振幅となるようにカメラ注視点データＬ１〜Ｌｎが決定されるようになっている。具体的には、図４に示すように、０から２πまでの周期では、Ａ位置において仮想カメラ８０が上方向に最大振幅が＋１となるように揺動し、Ｂ位置において仮想カメラ８０が揺れていない状態となり、Ｃ位置において仮想カメラ８０が下方向に最大振幅が−１となるように揺動している。
【００７２】
ここでは、図４に示すＡ位置が図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１に対応し、図４に示すＢ位置が図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２に対応し、図４に示すＣ位置が図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３に対応している。また、図４に示すように、２πから４πまでの周期では、Ｄ位置において仮想カメラ８０が上方向に最大振幅が＋３となるように揺動し、Ｅ位置において仮想カメラ８０が揺れていない状態となり、Ｆ位置において仮想カメラ８０が下方向に最大振幅が−３となるように揺動している。また、図４に示すように、４πから６πまでの周期では、Ｇ位置において仮想カメラ８０が上方向に最大振幅が＋２となるように揺動し、Ｈ位置において仮想カメラ８０が揺れていない状態となり、Ｉ位置において仮想カメラ８０が下方向に最大振幅が−２となるように揺動している。ここで、−３〜−１、＋１〜＋３というのは、仮想カメラ８０が揺れる振幅の相対比率であって、たとえば２πから４πまでの周期の仮想カメラ８０の揺れは、０から２πまでの周期の仮想カメラ８０の揺れに対して３倍の揺れになっている。このため、２πから４πまでの周期の第１カメラ注視点４１は、０から２πまでの周期の第１カメラ注視点４１の位置より上方位置に配置され、２πから４πまでの周期の第３カメラ注視点４３は、０から２πまでの周期の第３カメラ注視点４３の位置より下方位置に配置されるようになっており、仮想カメラ８０の揺れが大きいことを表している。
【００７３】
このように上方向及び下方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０をテレビジョンモニタ２０に表示するキャラクタ動作表示システムについて、図９に示すフローチャートを用いて説明する。
【００７４】
まず、現実には存在していない仮想カメラ８０を配置した位置である仮想カメラ８０のカメラ位置データＰ１〜Ｐｎが作成される（Ｓ１）。ステップＳ１のカメラ位置データ作成処理では、球場内の３次元の座標位置によって定まる位置データである仮想カメラ８０のカメラ位置データＰ１〜Ｐｎが作成される。具体的には、仮想カメラ８０がスタンド正面に配置されているとき、仮想カメラ８０のカメラ位置Ｐ１がスタンド正面に設定され、仮想カメラ８０のカメラ位置Ｐ１の３次元の座標位置の数値データが作成される。ステップＳ１のカメラ位置データ作成処理で作成されたカメラ位置データＰ１〜Ｐｎの各種データは、ＲＡＭ１２に格納される。ステップＳ１のカメラ位置データ作成処理が行われると、基準キャラクタデータ作成処理へ移行する（Ｓ２）。
【００７５】
ステップＳ２の基準キャラクタデータ作成処理では、仮想カメラ８０よって撮影されたキャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎが作成される。ここで、キャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎとは、キャラクタが行う動作を動画として生成するための基準となるデータであって、仮想カメラ８０の揺れに依存しない基本となるデータである。具体的には、バッターボックスに入った打者キャラクタ７０に関する基準キャラクタデータＣＢ１は、特定の打者キャラクタ７０の打撃スイングの動作を動画として生成するためのデータであって、図７に示す仮想カメラ８０が揺れていない状態での打者キャラクタ７０が打撃スイングの動作を行う動画を生成するためのデータである。ステップＳ２の基準キャラクタデータ作成処理で作成された基準キャラクタデータＣＢ１〜ＣＢｎの各種データは、ＲＡＭ１２に格納される。ステップＳ２の基準キャラクタデータ作成処理が行われると、基準カメラ注視点データ作成処理へ移行する（Ｓ３）。
【００７６】
ステップＳ３の基準カメラ注視点データ作成処理では、仮想カメラ８０の撮影対象となるキャラクタに対する基準カメラ注視点データＬＢ１〜ＬＢｎが作成される。ここで、キャラクタに関する基準カメラ注視点データＬＢ１〜ＬＢｎとは、現実には存在していない仮想カメラ８０が対象物であるキャラクタに対してピントを合わせるポイントであって、図５に示すように、仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。図５では、スタンド正面に配置された仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データである。ここでは、基準カメラ注視点データＬＢ１〜ＬＢ３と、後述するカメラ注視点データＬ１〜Ｌ３である第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とが対応しており、特に、揺れていない仮想カメラ８０のカメラ注視点データＬ２である第２カメラ注視点４２は、基準カメラ注視点データＬＢ２と同一になっている。ステップＳ３の基準カメラ注視点データ作成処理で作成された基準カメラ注視点データＬＢ１〜ＬＢｎの各種データは、ＲＡＭ１２に格納される。ステップＳ３の基準カメラ注視点データ作成処理が行われると、ゲームに関する所定のゲーム条件を満たしているか否かが判断される（Ｓ５）。
【００７７】
ステップＳ５のゲーム条件判断処理では、ゲームに関する所定のゲーム条件、すなわち仮想カメラ８０が揺れる具体的な条件が満たされているか否かが判断される。具体的には、球場内に発生した風の風力データＷ（図３参照）が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラ８０の揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラ８０が図４に示す模式図のように上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量（図４に示す−３〜−１、＋１〜＋３）だけ増減させるように、仮想カメラ８０が揺れたと判断され、カメラ注視点データ作成処理へ移行する（Ｓ５）。また、ステップＳ５のゲーム条件判断処理では、所定のゲーム条件を満たしていないときは、仮想カメラ８０が揺れていないと判断され、キャラクタ動作表示処理へ移行する（Ｓ７）。
【００７８】
ステップＳ５のカメラ注視点データ作成処理は、図１０に示すように、ステップＳ３の基準カメラ注視点データ作成処理で作成された基準カメラ注視点データＬＢ１〜ＬＢｎがＲＡＭ１２から読み出される（Ｓ１１）。ステップＳ１１の基準カメラ注視点データ読出処理が行われると、仮想カメラ８０のカメラ揺れデータＲ（図３参照）が読み出される（Ｓ１２）。カメラ揺れデータＲは、０以上１以下の数値データであって、数値が大きいほど仮想カメラ８０の揺れが大きいことを表している。ステップＳ１２のカメラ揺れデータＲが読み出されると、仮想カメラ８０のカメラ揺れ乱数データＥＲ（図３参照）が算出される（Ｓ１３）。カメラ揺れ乱数データＥＲは、０以上Ｒ以下の数値データであって、乱数演算によって算出される０以上１以下の数値データである。ステップＳ１３のカメラ揺れ乱数算出処理でカメラ揺れ乱数データＥＲが算出されると、風力データＷがＲＡＭ１２から読み出される（Ｓ１４）。ステップＳ１４の風力データ読出処理が行われると、風力影響データＥＷ（図３参照）が算出される（Ｓ１５）。風力影響データＥＷは、風力データＷを風力データＷの最大値で除算することによって算出される風力の影響度を表す数値データであって、０以上１以下の数値データである。ステップＳ１５の風力影響データ算出処理で風力影響データＥＷが算出されると、カメラ揺れ係数Ｅ（図３参照）が算出される（Ｓ１６）。カメラ揺れ係数Ｅは、ステップＳ１３のカメラ揺れ乱数算出処理で算出されたカメラ揺れ乱数データＥＲと、ステップＳ１５の風力影響データ算出処理で算出された風力影響データＥＷとを和算して得られる数値データである。ステップＳ１６のカメラ揺れ係数算出処理でカメラ揺れ係数Ｅが算出されると、カメラ注視点データ算出処理が行われる（Ｓ１７）。ステップＳ１７のカメラ注視点データ算出処理では、ステップＳ１１の基準カメラ注視点データ読出処理で読み出された基準カメラ注視点データＬＢ１〜ＬＢｎと、ステップＳ１６のカメラ揺れ係数算出処理で算出されたカメラ揺れ係数Ｅとを用いて、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎ（図３参照）が作成される。ここでは、図４に示す模式図において、仮想カメラ８０の振幅Ｓは、仮想カメラ８０の振幅Ｓの最大値（図４ではＤ位置）に、ステップＳ１６のカメラ揺れ係数算出処理で算出されたカメラ揺れ係数Ｅを乗算することによって得られる。なお、仮想カメラ８０の振幅Ｓは、仮想カメラ８０の振幅Ｓの最大値（図４ではＤ位置）を超えることがなく、仮想カメラ８０の振幅Ｓの最大値を超えた場合には、仮想カメラ８０の振幅Ｓは、仮想カメラ８０の振幅Ｓの最大値と同一になるようになっている。ここでは、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データに仮想カメラ８０の振幅Ｓ及びｓｉｎ（Ｔ）（Ｔは時間）を乗算することで得られる図４に示すｓｉｎカーブとなる仮想カメラ８０の揺れが決定される。なお、ステップＳ１７のカメラ注視点データ算出処理は、周期２π毎に繰り返し行われ、周期２π毎に異なる振幅Ｓが得られることで、図４に示すように周期２π毎に異なるｓｉｎカーブとなる仮想カメラ８０の揺れが決定される。ステップＳ１７のカメラ注視点データ算出処理で作成されたカメラ注視点データＬ１〜Ｌｎの各種データは、ＲＡＭ１２に格納される。ステップＳ１７のカメラ注視点データ算出処理で、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが作成されると、図９のキャラクタデータ作成処理へ移行する（Ｓ６）。
【００７９】
ステップＳ６のキャラクタデータ作成処理では、ステップＳ１のカメラ位置データ作成処理によって作成されたカメラ位置データＰ１〜Ｐｎ、ステップＳ２の基準キャラクタデータ作成処理によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、ステップＳ５のカメラ注視点データ作成処理によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、キャラクタに関するキャラクタデータＣ１〜Ｃｎが作成される。ここで、キャラクタに関するキャラクタデータＣ１〜Ｃｎとは、選手キャラクタが行う動作を動画として生成するためのデータであって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した仮想カメラ８０の揺れに依存したデータである。具体的には、ステップＳ１のカメラ位置データ作成処理によって作成されたカメラ位置データＰ１〜Ｐｎ、ステップＳ２の基準キャラクタデータ作成処理によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、ステップＳ５のカメラ注視点データ作成処理によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが鼻位置（図５及び図７に示す第２カメラ注視点４２）から上方向に所定量だけ増加したヘルメット位置（図５及び図６に示す第１カメラ注視点４１）または鼻位置から下方向に所定量だけ減少した顎位置（図５及び図８に示す第３カメラ注視点４３）に設定され、仮想カメラ８０のカメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面を生成するためのデータが作成される。ここでは、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、第２カメラ注視点４２に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の打者キャラクタ７０に関するキャラクタデータＣ２が作成される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、第１カメラ注視点４１に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが上向きとなった打者キャラクタ７０に関するキャラクタデータＣ１が作成される。また、図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、第３カメラ注視点４３に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが下向きとなった打者キャラクタ７０に関するキャラクタデータＣ３が作成される。ステップＳ６のキャラクタデータ作成処理で作成されたキャラクタデータＣ１〜Ｃｎの各種データは、ＲＡＭ１２に格納される。ステップＳ６のキャラクタデータ作成処理で、キャラクタデータＣ１〜Ｃｎが作成されると、キャラクタ動作表示処理へ移行する（Ｓ７）。
【００８０】
ステップＳ７のキャラクタ動作表示処理では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ１〜Ｃｎが読み出され、仮想カメラ８０によって撮影されたキャラクタの動作画面が表示される。ステップＳ７のキャラクタ動作表示処理では、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ２が読み出され、仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ１が読み出され、上方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図６参照）がテレビジョンモニタ２０に表示される。また、図５及び図７に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ３が読み出され、下方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。
【００８１】
ここでは、ステップＳ５のゲーム条件判断処理によって、仮想カメラ８０が揺れたと判断されると、ステップＳ５のカメラ注視点データ作成処理及びステップＳ６のキャラクタデータ作成処理によって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した打者キャラクタ７０に関するカメラ注視点データＬ１〜Ｌｎ及び打者キャラクタ７０に関するキャラクタデータＣ１〜Ｃｎが作成され、カメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０がテレビジョンモニタ２０に表示される。このゲームプログラムでは、現実世界の野球中継のように、テレビカメラの揺れを再現することができるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００８２】
〔他の実施形態〕
（ａ）  前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【００８３】
（ｂ）  本発明には、前述したようなゲームを実行するプログラム、前述したようなゲームを実行するプログラム方法、およびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【００８４】
（ｃ）  前記実施形態では、仮想カメラ８０によって撮影された打者キャラクタ７０の打撃動作を打撃動作表示画面４０に表示していたが、たとえば仮想カメラ８０をバックネット裏に配置し、投手キャラクタの投球動作を表示させるようにしてもよい。また、野球ゲームに限定されるものではなく、サッカーゲームやシューティングゲーム等の他のあらゆるゲームにも本発明を適用できる。
【００８５】
（ｄ）  前記実施形態では、仮想カメラ８０は、上下方向のみ揺らしていたが、左右方向や、斜め方向及びこれらの組み合わせ等、あらゆる方向に揺らすことができる。また、仮想カメラ８０のカメラ位置データＰ１〜Ｐｎ、基準カメラ注視点データＬＢ１〜ＬＢｎ、カメラ注視点データＬ１〜Ｌｎ、カメラ揺れデータＲ及びこれらの算出方法は、前記実施形態に限定されるものではない。また、基準キャラクタデータＣＢ１〜ＣＢｎ、風力データＷ及びこれらの算出方法は、前記実施形態に限定されるものではない。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の機能ブロック図。
【図３】前記ビデオゲーム装置の記憶部に格納されるデータを表す模式図。
【図４】仮想カメラの上下方向の揺れの変化を表す模式図。
【図５】前記仮想カメラのカメラ位置と前記仮想カメラの打者キャラクタに対するカメラ注視点の関係を示す模式図。
【図６】前記仮想カメラが上方向に揺れたときの打撃動作表示画面を示すテレビジョンモニタ図。
【図７】前記仮想カメラが揺れていないときの打撃動作表示画面を示すテレビジョンモニタ図。
【図８】前記仮想カメラが下方向に揺れたときの打撃動作表示画面を示すテレビジョンモニタ図。
【図９】キャラクタ動作表示処理を説明するためのフローチャート。
【図１０】カメラ注視点データ作成処理を説明するためのフローチャート。
【符号の説明】
【００８７】
１  制御部
７  ＣＰＵ
１７  コントローラ
２０  テレビジョンモニタ
４０  打撃動作表示画面
４１  第１カメラ注視点
４２  第２カメラ注視点
４３  第３カメラ注視点
５０  キャラクタ表示手段
５１  キャラクタ動作手段
５２  カメラ位置データ作成手段
５３  基準キャラクタデータ作成手段
５４  基準カメラ注視点データ作成手段
５５  ゲーム条件判断手段
５６  カメラ注視点データ作成手段
５７  キャラクタデータ作成手段
５８  キャラクタ動作表示手段
７０  打者キャラクタ
８０  仮想カメラ
Ｃ１〜Ｃｎ  キャラクタデータ
ＣＢ１〜ＣＢｎ  基準キャラクタデータ
Ｅ  カメラ揺れ係数
ＥＲ  カメラ揺れ乱数データ
ＥＷ  風力影響データ
Ｌ１〜Ｌｎ  カメラ注視点データ
ＬＢ１〜ＬＢｎ  基準カメラ注視点データ
Ｐ１〜Ｐｎ  カメラ位置データ
Ｒ  カメラ揺れデータ
Ｗ  風力データ
【図１】
2007159817.tif 000003
【図２】
2007159817.tif 000004
【図３】
2007159817.tif 000005
【図４】
2007159817.tif 000006
【図５】
2007159817.tif 000007
【図６】
2007159817.tif 000008
【図７】
2007159817.tif 000009
【図８】
2007159817.tif 000010
【図９】
2007159817.tif 000011
【図１０】
2007159817.tif 000012
【手続補正書】
【提出日】平成18年10月27日(2006.10.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想的なゲーム空間における所定の位置に移動不能に固定された仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現可能なコンピュータに、
前記仮想カメラのカメラ位置データを作成するカメラ位置データ作成機能と、
前記仮想カメラよって撮影された前記キャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成機能と、
前記仮想カメラの撮影対象となる前記キャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成機能と、
前記キャラクタの動作に起因しない前記仮想カメラ自身の揺れである前記仮想カメラの揺れに関する条件を満たしているか否かを判断するゲーム条件判断機能と、
前記ゲーム条件判断機能によって前記仮想カメラの揺れに関する条件が満たされていると判断されたとき、前記基準カメラ注視点データ及び前記仮想カメラの揺れに関するカメラ揺れデータを基にして、前記仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成機能と、
前記仮想カメラのカメラ位置データ、前記基準キャラクタデータ及び前記カメラ注視点データを基にして、前記キャラクタに関するキャラクタデータを作成するキャラクタデータ作成機能と、
前記キャラクタデータ作成機能によって作成された前記キャラクタデータを記憶部に記憶するキャラクタデータ記憶機能と、
前記キャラクタデータ記憶機能によって記憶された前記キャラクタデータを前記記憶部から読み出し、前記仮想カメラによって撮影された前記キャラクタの動作画面を表示するキャラクタ動作表示機能と、
を実現させるためのゲームプログラム。
【請求項２】
前記基準カメラ注視点データは、所定の周期毎に異なる振幅を有する波形を生成可能なデータであって、
前記カメラ注視点データ作成機能は、前記基準カメラ注視点データの振幅を変化させることによって前記カメラ注視点データを作成する、請求項１に記載のゲームプログラム。
【請求項３】
前記カメラ注視点データは、前記基準カメラ注視点データに、前記カメラ揺れデータから得られる所定のカメラ揺れ係数を乗じた数値データである、請求項１又は２に記載のゲームプログラム。
【請求項４】
仮想的なゲーム空間における所定の位置に移動不能に固定された仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するするゲームを実現させるゲーム装置であって、
前記仮想カメラのカメラ位置データを作成するカメラ位置データ作成手段と、
前記仮想カメラよって撮影された前記キャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成手段と、
前記仮想カメラの撮影対象となる前記キャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成手段と、
前記キャラクタの動作に起因しない前記仮想カメラ自身の揺れである前記仮想カメラの揺れに関する条件を満たしているか否かを判断するゲーム条件判断手段と、
前記ゲーム条件判断手段によって前記仮想カメラの揺れに関する条件が満たされていると判断されたとき、前記基準カメラ注視点データ及び前記仮想カメラの揺れに関するカメラ揺れデータを基にして、前記仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成手段と、
前記仮想カメラのカメラ位置データ、前記基準キャラクタデータ及び前記カメラ注視点データを基にして、前記キャラクタに関するキャラクタデータを作成するキャラクタデータ作成手段と、
前記キャラクタデータ作成手段によって作成された前記キャラクタデータを記憶部に記憶するキャラクタデータ記憶手段と、
前記キャラクタデータ記憶手段によって記憶された前記キャラクタデータを前記記憶部から読み出し、前記仮想カメラによって撮影された前記キャラクタの動作画面を表示するキャラクタ動作表示手段と、
を備えるゲーム装置。
【請求項５】
仮想的なゲーム空間における所定の位置に移動不能に固定された仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するするゲームをコンピュータに実現させるゲーム方法であって、
前記仮想カメラのカメラ位置データを作成するカメラ位置データ作成ステップと、
前記仮想カメラよって撮影された前記キャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成ステップと、
前記仮想カメラの撮影対象となる前記キャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成ステップと、
前記キャラクタの動作に起因しない前記仮想カメラ自身の揺れである前記仮想カメラの揺れに関する条件を満たしているか否かを判断するゲーム条件判断ステップと、
前記ゲーム条件判断ステップによって前記仮想カメラの揺れに関する条件が満たされていると判断されたとき、前記基準カメラ注視点データ及び前記仮想カメラの揺れに関するカメラ揺れデータを基にして、前記仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成ステップと、
前記仮想カメラのカメラ位置データ、前記基準キャラクタデータ及び前記カメラ注視点データを基にして、前記キャラクタに関するキャラクタデータを作成するキャラクタデータ作成ステップと、
前記キャラクタデータ作成ステップによって作成された前記キャラクタデータを記憶部に記憶するキャラクタデータ記憶ステップと、
前記キャラクタデータ記憶ステップによって記憶された前記キャラクタデータを前記記憶部から読み出し、前記仮想カメラによって撮影された前記キャラクタの動作画面を表示するキャラクタ動作表示ステップと、
を備えるゲーム方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、特に、仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームをコンピュータに実現させるためのゲームプログラムに関する。また、このゲームプログラムによって実現されるゲーム装置及びゲーム方法に関する。
【背景技術】
【０００２】
従来から種々のゲームが提案されている。そのうちの１つとして、モニタに表示された選手キャラクタを動作させて競技を行わせる対戦ビデオゲーム、たとえば野球ゲームが知られている。この種の野球ゲームでは、プレイヤが各選手キャラクタが属する１つの野球チームを選択し、他の野球チームを選択した他のプレイヤやコンピュータと対戦可能である（たとえば、非特許文献１）。
【０００３】
このような野球ゲームでは、投手キャラクタや打者キャラクタ等の対象物となる選手キャラクタを、たとえばバックネット裏やスタンド正面に配置された複数の仮想カメラによって撮影された投手キャラクタの投球動作や打者キャラクタの打撃動作を行う動作画面をモニタに表示させることができる。たとえば、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、仮想カメラのカメラ位置がスタンド正面に設定され、仮想カメラの注視点が打者キャラクタの顔位置に設定されることにより、打者キャラクタの動作が最適なカメラアングルで撮影される。ここで、仮想カメラのカメラ位置とは、現実には存在していない仮想カメラを配置した位置であって、具体的には球場内の３次元の座標位置によって定まる位置である。また、仮想カメラの注視点とは、現実には存在していない仮想カメラが対象物に対してピントを合わせるポイントであって、仮想カメラのカメラ位置から対象物に向けて真っ直ぐに延びる直線が対象物と交差する対象物上のポイントであって、具体的には対象物上の３次元の座標位置によって定まるポイントである。ここでは、現実世界の野球中継におけるテレビカメラによるテレビ画面と同様の動作画面をモニタに表示させることができるので、現実世界の野球選手と同様の選手キャラクタの特徴を細かく再現することができる。
【非特許文献１】プロ野球スピリッツ２公式ガイドコンプリートエディション、日本、コナミ株式会社、２００５年４月７日
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来の仮想カメラによって撮影された選手キャラクタの動作画面をモニタに表示する野球ゲームでは、仮想カメラのカメラ位置及び仮想カメラの注視点を選手キャラクタやイベント毎に予め設定しておくことにより、選手キャラクタやイベント毎に合致した最適なカメラアングルで選手キャラクタの動作を撮影することができる。具体的には、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、仮想カメラのカメラ位置をスタンド正面に設定し、仮想カメラの注視点を打者キャラクタの顔位置に設定することにより、打者キャラクタの動作が最適なカメラアングルで撮影されるようになっている。
【０００５】
しかし、現実世界の野球中継では、テレビカメラが野球選手を撮影するときには、たとえば球場内に発生した風の影響や、カメラマンの誤操作等によってテレビカメラが上下に揺れ、テレビ画面に投影された野球選手が上下に揺れることがある。これに対して、従来の野球ゲームでは、仮想カメラのカメラ位置及び仮想カメラの注視点が、撮影する対象物である選手キャラクタやイベント毎に予め一定の値となるように設定されているので、現実世界の野球中継におけるテレビカメラの揺れを再現することができず、このため現実世界の野球中継に近いリアリティのある野球ゲームを実現するのが非常に困難である。
【０００６】
本発明の課題は、ゲームプログラムにおいて、リアリティのあるゲームを実現させることにある。
【課題を解決するための手段】
【０００７】
請求項１に係るゲームプログラムは、仮想的なゲーム空間における所定の位置に移動不能に固定された仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現可能なコンピュータに、以下の機能を実現させるためのプログラムである。
【０００８】
（１）仮想カメラのカメラ位置データを作成するカメラ位置データ作成機能。
【０００９】
（２）仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータを作成する基準キャラクタデータ作成機能。
【００１０】
（３）仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データを作成する基準カメラ注視点データ作成機能。
【００１１】
（４）キャラクタの動作に起因しない仮想カメラ自身の揺れである仮想カメラの揺れに関する条件を満たしているか否かを判断するゲーム条件判断機能。
【００１２】
（５）ゲーム条件判断機能によって仮想カメラの揺れに関する条件が満たされていると判断されたとき、基準カメラ注視点データ及び仮想カメラの揺れに関するカメラ揺れデータを基にして、仮想カメラのカメラ注視点データを作成するカメラ注視点データ作成機能。
【００１３】
（６）仮想カメラのカメラ位置データ、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータを作成するキャラクタデータ作成機能。
【００１４】
（７）キャラクタデータ作成機能によって作成されたキャラクタデータを記憶部に記憶するキャラクタデータ記憶機能。
【００１５】
（８）キャラクタデータ記憶機能によって記憶されたキャラクタデータを記憶部から読み出し、仮想カメラによって撮影されたキャラクタの動作画面を表示するキャラクタ動作表示機能。
【００１６】
このプログラムによって実現されるゲームでは、カメラ位置データ作成機能において、仮想カメラのカメラ位置データが作成される。基準キャラクタデータ作成機能において、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。基準カメラ注視点データ作成機能において、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ゲーム条件判断機能において、キャラクタの動作に起因しない仮想カメラ自身の揺れである仮想カメラの揺れに関する条件を満たしているか否かが判断される。カメラ注視点データ作成機能において、ゲーム条件判断機能によって仮想カメラの揺れに関する条件が満たされていると判断されたとき、基準カメラ注視点データ及び仮想カメラの揺れに関するカメラ揺れデータを基にして、仮想カメラのカメラ注視点データが作成される。キャラクタデータ作成機能において、仮想カメラのカメラ位置データ、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。キャラクタデータ記憶機能において、キャラクタデータ作成機能によって作成されたキャラクタデータが記憶部に記憶される。キャラクタ動作表示機能において、キャラクタデータ記憶機能によって記憶されたキャラクタデータを記憶部から読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【００１７】
たとえば、選手キャラクタを動作させる野球ゲームを実現させる場合を考える。ここでは、野球ゲームにおいて、投手キャラクタや打者キャラクタ等の対象物となる選手キャラクタを、たとえばバックネット裏やスタンド正面に配置された複数の仮想カメラによって撮影された投手キャラクタの投球動作や打者キャラクタの打撃動作を行う動作画面をモニタに表示させるゲームを行う。
【００１８】
まず、カメラ位置データ作成機能によって、仮想カメラのカメラ位置データが作成される。ここで、仮想カメラのカメラ位置データとは、現実には存在していない仮想カメラを配置した位置であって、たとえば球場内の３次元の座標位置によって定まる位置である。具体的には、仮想カメラがスタンド正面に配置されているとき、仮想カメラのカメラ位置がスタンド正面に設定され、仮想カメラのカメラ位置の３次元の座標位置の数値データが作成される。
【００１９】
次に、基準キャラクタデータ作成機能によって、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。ここで、キャラクタに関する基準キャラクタデータとは、選手キャラクタが行う動作を動画として生成するための基準となるデータであって、後述する仮想カメラの揺れに依存しない基本となるデータである。
【００２０】
次に、基準カメラ注視点データ作成機能によって、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ここで、キャラクタに関する基準カメラ注視点データとは、現実には存在していない仮想カメラが対象物であるキャラクタに対してピントを合わせるポイントであって、仮想カメラからキャラクタに向けて真っ直ぐに延びる直線がキャラクタと交差するキャラクタ上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。具体的には、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、基準カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置に設定され、キャラクタに関する基準カメラ注視点データとして打者キャラクタの顔位置の３次元の座標位置の数値データが作成される。
【００２１】
次に、ゲーム条件判断機能によって、キャラクタの動作に起因しない仮想カメラ自身の揺れである仮想カメラの揺れに関する条件を満たしているか否かが判断される。ここで、仮想カメラの揺れに関する条件とは、仮想カメラが揺れる具体的な条件であって、たとえば球場内に発生した風の影響や、カメラマンの誤操作等の仮想カメラが揺れる具体的な条件である。ゲーム条件判断機能では、仮想カメラの揺れに関する条件を満たしているときは、具体的には、球場内に発生した風の風力が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたと判断される。また、仮想カメラの揺れに関する条件を満たしていないときは、仮想カメラが揺れていないと判断される。
【００２２】
次に、カメラ注視点データ作成機能によって、ゲーム条件判断機能によって仮想カメラの揺れに関する条件が満たされていると判断されたとき、基準カメラ注視点データ及び仮想カメラの揺れに関するカメラ揺れデータを基にして、仮想カメラのカメラ注視点データが作成される。ここで、キャラクタに関するカメラ注視点データとは、現実には存在していない仮想カメラが対象物であるキャラクタに対してピントを合わせるポイントであって、仮想カメラからキャラクタに向けて真っ直ぐに延びる直線がキャラクタと交差するキャラクタ上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。キャラクタに関するカメラ注視点データは、キャラクタに関する基準カメラ注視点データに、仮想カメラの揺れデータを付加した仮想カメラの揺れに依存したデータである。具体的には、ゲーム条件判断機能によって、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れると判断されると、カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置の上下方向に揺動した位置の３次元の座標位置の数値データが作成される。ここでは、たとえば顔位置から上方向に所定量だけ増加したヘルメット位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのヘルメット位置の３次元の座標位置の数値データが作成される。また、顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのユニフォーム位置の３次元の座標位置の数値データが作成される。
【００２３】
次に、キャラクタデータ作成機能によって、仮想カメラのカメラ位置データ、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。ここで、キャラクタに関するキャラクタデータとは、選手キャラクタが行う動作を動画として生成するためのデータであって、仮想カメラの揺れデータを付加した仮想カメラの揺れに依存したデータである。具体的には、基準キャラクタデータ作成機能によって作成されたキャラクタに関する基準キャラクタデータと、カメラ注視点データ作成機能によって作成された仮想カメラのカメラ注視点データとを基にして、たとえば仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ減少したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータが作成される。
【００２４】
次に、キャラクタデータ記憶機能によって、キャラクタデータ作成機能によって作成されたキャラクタデータが記憶部に記憶される。
【００２５】
そして、キャラクタ動作表示機能によって、キャラクタデータ記憶機能によって記憶されたキャラクタデータを記憶部から読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。ここでは、キャラクタデータ記憶機能によって記憶された、たとえば仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータを記憶部から読み出し、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示される。
【００２６】
このゲームプログラムでは、カメラ位置データ作成機能によって、仮想カメラのカメラ位置データが作成され、基準キャラクタデータ作成機能及び基準カメラ注視点データ作成機能によって、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータ及び仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。次に、ゲーム条件判断機能によって、キャラクタの動作に起因しない仮想カメラ自身の揺れである仮想カメラの揺れに関する条件である、球場内に発生した風の風力が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたと判断される。次に、ゲーム条件判断機能によって、仮想カメラの揺れに関する条件を満たしていると判断されたとき、カメラ注視点データ作成機能及びキャラクタデータ作成機能によって、仮想カメラのカメラ注視点データ及びキャラクタに関するキャラクタデータが作成され、キャラクタデータ記憶機能によって、キャラクタデータ作成機能によって作成されたキャラクタデータが記憶部に記憶される。そして、キャラクタ動作表示機能によって、キャラクタデータ記憶機能によって記憶されたキャラクタデータを記憶部から読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【００２７】
具体的には、仮想カメラによって打者キャラクタがバッターボックスに入ったときの一連の動作を撮影する場合、まず、カメラ位置データ作成機能によって、仮想カメラがスタンド正面に配置されているとき、仮想カメラのカメラ位置がスタンド正面に設定され、仮想カメラのカメラ位置の３次元の座標位置の数値データが作成される。次に、基準カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置に設定され、キャラクタに関する基準カメラ注視点データとして打者キャラクタの顔位置の３次元の座標位置の数値データが作成される。次に、ゲーム条件判断機能によって、仮想カメラの揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラが揺れたと判断されると、カメラ注視点データ作成機能によって、仮想カメラの注視点が打者キャラクタの顔位置の上下方向に揺動した位置の３次元の座標位置の数値データが作成される。ここでは、たとえば顔位置から上方向に所定量だけ増加したヘルメット位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのヘルメット位置の３次元の座標位置の数値データが作成される。また、顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、キャラクタに関するカメラ注視点データとして打者キャラクタのユニフォーム位置の３次元の座標位置の数値データが作成される。次に、キャラクタデータ作成機能によって、仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータが作成され、キャラクタデータ記憶機能によって、キャラクタデータ作成機能によって作成されたキャラクタデータが記憶部に記憶される。そして、キャラクタ動作表示機能によって、キャラクタデータ記憶機能によって記憶された、仮想カメラの注視点が顔位置から上方向に所定量だけ増加したヘルメット位置または顔位置から下方向に所定量だけ増加したユニフォーム位置に設定され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面を生成するためのデータを記憶部から読み出し、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示される。
【００２８】
ここでは、ゲーム条件判断機能によって、仮想カメラが揺れたと判断されると、カメラ注視点データ作成機能及びキャラクタデータ作成機能によって、仮想カメラの揺れデータを付加したキャラクタに関するカメラ注視点データ及びキャラクタに関するキャラクタデータが作成され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示される。したがって、このゲームプログラムでは、現実世界の野球中継のように、テレビカメラの揺れを再現することができるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００２９】
請求項２に係るゲームプログラムは、請求項１のゲームプログラムにおいて、基準カメラ注視点データは、所定の周期毎に異なる振幅を有する波形を生成可能なデータであって、カメラ注視点データ作成機能は、基準カメラ注視点データの振幅を変化させることによってカメラ注視点データを作成する。
【００３０】
ここでは、たとえば仮想カメラが上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるようにした場合、所定の周期毎に異なる振幅（Ｙ軸の最大または最小となる振幅）を有する波形、たとえば正弦波等の波形が２π毎に異なる振幅となるようにカメラ注視点データを作成することによって、仮想カメラが所定の周期毎に上下方向に揺動している状態を簡素な方法で実現することができる。
【００３１】
請求項３に係るゲームプログラムは、請求項１又は２のゲームプログラムにおいて、カメラ注視点データは、基準カメラ注視点データに、カメラ揺れデータから得られる所定のカメラ揺れ係数を乗じた数値データである。
【００３２】
ここでは、たとえばカメラ揺れデータに所定の乱数を乗じて得られた所定のカメラ揺れ係数を用いることにより、仮想カメラがランダムに揺れることになるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００３３】
請求項４に係るゲーム装置は、仮想的なゲーム空間における所定の位置に移動不能に固定された仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現させるゲーム装置である。このゲーム装置は、カメラ位置データ作成手段と、基準キャラクタデータ作成手段と、基準カメラ注視点データ作成手段と、ゲーム条件判断手段と、カメラ注視点データ作成手段と、キャラクタデータ作成手段と、キャラクタデータ記憶手段と、キャラクタ動作表示手段とを備えている。カメラ位置データ作成手段において、仮想カメラのカメラ位置データが作成される。基準キャラクタデータ作成手段において、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。基準カメラ注視点データ作成手段において、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ゲーム条件判断手段において、キャラクタの動作に起因しない仮想カメラ自身の揺れである仮想カメラの揺れに関する条件を満たしているか否かが判断される。カメラ注視点データ作成手段において、ゲーム条件判断手段によって仮想カメラの揺れに関する条件が満たされていると判断されたとき、基準カメラ注視点データ及び仮想カメラの揺れに関するカメラ揺れデータを基にして、仮想カメラのカメラ注視点データが作成される。キャラクタデータ作成手段において、仮想カメラのカメラ位置データ、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。キャラクタデータ記憶手段において、キャラクタデータ作成手段によって作成されたキャラクタデータが記憶部に記憶される。キャラクタ動作表示手段において、キャラクタデータ記憶手段によって記憶されたキャラクタデータを記憶部から読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【００３４】
請求項５に係るゲーム方法は、仮想的なゲーム空間における所定の位置に移動不能に固定された仮想カメラによって撮影されたキャラクタの動作画面をモニタに表示するゲームを実現させるゲーム方法である。このゲーム方法は、カメラ位置データ作成ステップと、基準キャラクタデータ作成ステップと、基準カメラ注視点データ作成ステップと、ゲーム条件判断ステップと、カメラ注視点データ作成ステップと、キャラクタデータ作成ステップと、キャラクタデータ記憶ステップと、キャラクタ動作表示ステップとを備えている。カメラ位置データ作成ステップにおいて、仮想カメラのカメラ位置データが作成される。基準キャラクタデータ作成ステップにおいて、仮想カメラよって撮影されたキャラクタに関する基準キャラクタデータが作成される。基準カメラ注視点データ作成ステップにおいて、仮想カメラの撮影対象となるキャラクタに対する基準カメラ注視点データが作成される。ゲーム条件判断ステップにおいて、キャラクタの動作に起因しない仮想カメラ自身の揺れである仮想カメラの揺れに関する条件を満たしているか否かが判断される。カメラ注視点データ作成ステップにおいて、ゲーム条件判断ステップによって仮想カメラの揺れに関する条件が満たされていると判断されたとき、基準カメラ注視点データ及び仮想カメラの揺れに関するカメラ揺れデータを基にして、仮想カメラのカメラ注視点データが作成される。キャラクタデータ作成ステップにおいて、仮想カメラのカメラ位置データ、基準キャラクタデータ及びカメラ注視点データを基にして、キャラクタに関するキャラクタデータが作成される。キャラクタデータ記憶ステップにおいて、キャラクタデータ作成ステップによって作成されたキャラクタデータが記憶部に記憶される。キャラクタ動作表示ステップにおいて、キャラクタデータ記憶ステップによって記憶されたキャラクタデータを記憶部から読み出し、仮想カメラによって撮影されたキャラクタの動作画面が表示される。
【発明の効果】
【００３５】
本発明によれば、ゲームプログラムにおいて、ゲーム条件判断機能によって、仮想カメラが揺れたと判断されると、カメラ注視点データ作成機能及びキャラクタデータ作成機能によって、仮想カメラの揺れデータを付加したキャラクタに関するカメラ注視点データ及びキャラクタに関するキャラクタデータが作成され、揺れが付加された仮想カメラによって撮影された打者キャラクタがバッターボックスに入ったときの一連の動作画面がモニタに表示されるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【発明を実施するための最良の形態】
【００３６】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００３７】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００３８】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ７（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００３９】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ１２（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００４０】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ２２（Ｄｉｇｉｔａｌ−Ｔｏ−Ａｎａｌｏｇコンバータ）とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００４１】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体（視点）の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００４２】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データやＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００４３】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００４４】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００４５】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、たとえば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００４６】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００４７】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００４８】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向にわたって、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００４９】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００５０】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００５１】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。図示しない電源スイッチがオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００５２】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００５３】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００５４】
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機は、コントローラ１７を操作することによってテレビジョンモニタ２０に表示されたキャラクタを動作させるゲームを実現可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。制御部１は、キャラクタ表示手段５０と、キャラクタ動作手段５１と、カメラ位置データ作成手段５２と、基準キャラクタデータ作成手段５３と、基準カメラ注視点データ作成手段５４と、ゲーム条件判断手段５５と、カメラ注視点データ作成手段５６と、キャラクタデータ作成手段５７と、キャラクタ動作表示手段５８とを主に備えている。
【００５５】
キャラクタ表示手段５０は、テレビジョンモニタ２０に打者キャラクタ７０を表示する機能を備えている。キャラクタ表示手段５０では、図６〜図８に示す打者キャラクタ７０がテレビジョンモニタ２０に表示される。
【００５６】
この手段では、打者キャラクタ７０に対応する打者用画像データが、ゲームプログラムのロード時に、記憶部２たとえば記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納される。このときに、打者用画像データが制御部１たとえばＣＰＵ７に認識される。また、打者用画像データをテレビジョンモニタ２０に表示するための打者用座標データが、記憶部２たとえば記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納される。このときに、打者用画像データが制御部１たとえばＣＰＵ７に認識される。すると、ＲＡＭ１２に格納された打者用画像データが、ＣＰＵ７からの指示に基づいて、画像処理プロセッサ９を介してテレビジョンモニタ２０に供給される。そして、打者用画像データが、打者用座標データに基づいて、テレビジョンモニタ２０の所定の位置に表示される。なお、打者用画像データをテレビジョンモニタ２０の所定の位置に表示するための指示は、ＣＰＵ７によって行われる。
【００５７】
キャラクタ動作手段５１は、打者キャラクタ７０を動作させる機能を備えている。キャラクタ動作手段５１では、打者キャラクタ７０が動作させられる。
【００５８】
この手段では、打者キャラクタ７０を動作させるためのコントローラ１７からの信号が制御部１たとえばＣＰＵ７に認識されると、ＣＰＵ７からの指示に基づいて、打者キャラクタ７０に対応する打者用画像データが、制御部１たとえば信号処理プロセッサ８と画像処理プロセッサ９とによって処理される。そして、処理された画像データがＲＡＭ１２からテレビジョンモニタ２０に供給されて、打者キャラクタ７０のスイング動作が動画としてテレビジョンモニタ２０に表示される。
【００５９】
カメラ位置データ作成手段５２は、仮想カメラ８０（図５参照）のカメラ位置データＰ１〜Ｐｎ（図３参照）を作成する機能を備えている。カメラ位置データ作成手段５２では、仮想カメラ８０のカメラ位置データＰ１〜Ｐｎが作成される。ここで、仮想カメラ８０のカメラ位置データＰ１〜Ｐｎとは、現実には存在していない仮想カメラ８０を配置した位置であって、たとえば球場内の３次元の座標位置によって定まる位置である。具体的には、仮想カメラ８０がスタンド正面に配置されているとき、仮想カメラ８０のカメラ位置Ｐ１がスタンド正面に設定され、仮想カメラ８０のカメラ位置Ｐ１の３次元の座標位置の数値データが作成される。ここでは、カメラ位置データ作成手段５２によって認識されたカメラ位置データＰ１〜Ｐｎの各種データは、ＲＡＭ１２に格納される。
【００６０】
基準キャラクタデータ作成手段５３は、仮想カメラ８０よって撮影されたキャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎ（図３参照）を作成する機能を有している。基準キャラクタデータ作成手段５３では、仮想カメラ８０よって撮影されたキャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎが作成される。ここで、キャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎとは、キャラクタが行う動作を動画として生成するための基準となるデータであって、仮想カメラ８０の揺れに依存しない基本となるデータである。具体的には、バッターボックスに入った打者キャラクタ７０に関する基準キャラクタデータＣＢ１は、特定の打者キャラクタ７０の打撃スイングの動作を動画として生成するためのデータであって、図７に示す仮想カメラ８０が揺れていない状態での打者キャラクタ７０が打撃スイングの動作を行う動画を生成するためのデータである。ここでは、基準キャラクタデータ作成手段５３によって認識された基準キャラクタデータＣＢ１〜ＣＢｎの各種データは、ＲＡＭ１２に格納される。
【００６１】
基準カメラ注視点データ作成手段５４は、仮想カメラ８０の撮影対象となるキャラクタに対する基準カメラ注視点データＬＢ１〜ＬＢｎ（図３参照）を作成する機能を有している。基準カメラ注視点データ作成手段５４では、仮想カメラ８０の撮影対象となるキャラクタに対する基準カメラ注視点データＬＢ１〜ＬＢｎが作成される。ここで、キャラクタに関する基準カメラ注視点データＬＢ１〜ＬＢｎとは、現実には存在していない仮想カメラ８０が対象物であるキャラクタに対してピントを合わせるポイントであって、図５に示すように、仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、後述するカメラ注視点データＬ１〜Ｌ３である第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。図５では、スタンド正面に配置された仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データである。ここでは、基準カメラ注視点データＬＢ１〜ＬＢ３と、後述するカメラ注視点データＬ１〜Ｌ３である第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とが対応しており、特に、揺れていない仮想カメラ８０のカメラ注視点データＬ２である第２カメラ注視点４２は、基準カメラ注視点データＬＢ２と同一になっている。ここでは、基準カメラ注視点データ作成手段５４によって認識された基準カメラ注視点データＬＢ１〜ＬＢｎの各種データは、ＲＡＭ１２に格納される。
【００６２】
ゲーム条件判断手段５５は、ゲームに関する所定のゲーム条件を満たしているか否かを判断する機能を有している。ゲーム条件判断手段５５では、ゲームに関する所定のゲーム条件を満たしているか否かが判断される。ここで、所定のゲーム条件とは、仮想カメラ８０が揺れる具体的な条件であって、たとえば球場内に発生した風の影響や、カメラマンの誤操作等の仮想カメラ８０が揺れる具体的な条件である。ゲーム条件判断手段５５では、所定のゲーム条件を満たしているときは、具体的には、球場内に発生した風の風力データＷ（図３参照）が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラ８０の揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラ８０が上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラ８０が揺れたと判断される。また、ゲーム条件判断手段５５では、所定のゲーム条件を満たしていないときは、仮想カメラ８０が揺れていないと判断される。ここでは、ゲーム条件判断手段５５によって認識された仮想カメラ８０が揺れているか、揺れていないかの判断結果の各種データは、ＲＡＭ１２に格納される。
【００６３】
カメラ注視点データ作成手段５６は、ゲーム条件判断手段５５によって所定のゲーム条件が満たされていると判断されたとき、基準カメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎ（図３参照）を作成する機能を有している。カメラ注視点データ作成手段５６では、ゲーム条件判断手段５５によって所定のゲーム条件が満たされていると判断されたとき、すなわち、仮想カメラ８０が揺れていると判断されたとき、基準カメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが作成される。ここで、キャラクタに関するカメラ注視点データＬ１〜Ｌｎとは、現実には存在していない仮想カメラ８０が対象物であるキャラクタに対してピントを合わせるポイントであって、図５に示すように、仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。図５では、スタンド正面に配置された仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであって、ここでは、カメラ注視点データＬ１〜Ｌ３と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とが一致している。キャラクタに関するカメラ注視点データＬ１〜Ｌｎは、キャラクタに関する基準カメラ注視点データＬＢ１〜ＬＢｎに、仮想カメラ８０のカメラ揺れデータＲ（図３参照）や風力データＷ（図３参照）を付加した仮想カメラ８０の揺れに依存したデータである。具体的には、ゲーム条件判断手段５５によって、仮想カメラ８０のカメラ揺れデータＲである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラ８０が上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるように、仮想カメラ８０が揺れていると判断されると、カメラ注視点データ作成手段５６によって、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが打者キャラクタ７０の顔位置の上下方向に揺動した位置の３次元の座標位置の数値データが作成される。まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２は、打者キャラクタ７０の鼻位置に設定され、打者キャラクタ７０に関するカメラ注視点データＬ２として打者キャラクタ７０の鼻位置の３次元の座標位置の数値データが作成される。次に、ゲーム条件判断手段５５によって、仮想カメラ８０が上方向に揺れたと判断されると、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１は、カメラ注視点データ作成手段５６によって、第２カメラ注視点４２の鼻位置から上方向に所定量だけ増加したヘルメット位置に設定され、打者キャラクタ７０に関するカメラ注視点データＬ１として打者キャラクタ７０のヘルメット位置の３次元の座標位置の数値データが作成される。また、ゲーム条件判断手段５５によって、仮想カメラ８０が下方向に揺れたと判断されると、図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３は、カメラ注視点データ作成手段５６によって、第２カメラ注視点４２の鼻位置から下方向に所定量だけ増加した顎位置に設定され、打者キャラクタ７０に関するカメラ注視点データＬ３として打者キャラクタ７０の顎位置の３次元の座標位置の数値データが作成される。ここでは、カメラ注視点データ作成手段５６によって認識されたカメラ注視点データＬ１〜Ｌｎの各種データは、ＲＡＭ１２に格納される。
【００６４】
キャラクタデータ作成手段５７は、カメラ位置データ作成手段５２によって作成されたカメラ位置データＰ１〜Ｐｎ、基準キャラクタデータ作成手段５３によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、カメラ注視点データ作成手段５６によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、キャラクタに関するキャラクタデータＣ１〜Ｃｎ（図３参照）を作成する機能を有している。キャラクタデータ作成手段５７では、カメラ位置データ作成手段５２によって作成されたカメラ位置データＰ１〜Ｐｎ、基準キャラクタデータ作成手段５３によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、カメラ注視点データ作成手段５６によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、キャラクタに関するキャラクタデータＣ１〜Ｃｎが作成される。ここで、キャラクタに関するキャラクタデータＣ１〜Ｃｎとは、選手キャラクタが行う動作を動画として生成するためのデータであって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した仮想カメラ８０の揺れに依存したデータである。具体的には、カメラ位置データ作成手段５２によって作成されたカメラ位置データＰ１〜Ｐｎ、基準キャラクタデータ作成手段５３によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、カメラ注視点データ作成手段５６によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが鼻位置（図５及び図７に示す第２カメラ注視点４２）から上方向に所定量だけ増加したヘルメット位置（図５及び図６に示す第１カメラ注視点４１）または鼻位置から下方向に所定量だけ減少した顎位置（図５及び図８に示す第３カメラ注視点４３）に設定され、仮想カメラ８０のカメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面を生成するためのデータが作成される。ここでは、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、第２カメラ注視点４２に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の打者キャラクタ７０に関するキャラクタデータＣ２が作成される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、第１カメラ注視点４１に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが上向きとなった打者キャラクタ７０に関するキャラクタデータＣ１が作成される。また、図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、第３カメラ注視点４３に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが下向きとなった打者キャラクタ７０に関するキャラクタデータＣ３が作成される。ここでは、キャラクタデータ作成手段５７によって認識されたキャラクタデータＣ１〜Ｃｎの各種データは、ＲＡＭ１２に格納される。
【００６５】
キャラクタ動作表示手段５８は、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ１〜Ｃｎを読み出し、仮想カメラ８０によって撮影されたキャラクタの動作画面を表示する機能を有している。キャラクタ動作表示手段５８では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ１〜Ｃｎが読み出され、仮想カメラ８０によって撮影されたキャラクタの動作画面が表示される。ここでは、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ２が読み出され、仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ１が読み出され、上方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図６参照）がテレビジョンモニタ２０に表示される。また、図５及び図７に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、キャラクタデータ作成手段５７によって作成されたキャラクタデータＣ３が読み出され、下方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。
【００６６】
ここでは、ゲーム条件判断手段５５によって、仮想カメラ８０が揺れたと判断されると、カメラ注視点データ作成手段５６及びキャラクタデータ作成手段５７によって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した打者キャラクタ７０に関するカメラ注視点データＬ１〜Ｌｎ及び打者キャラクタ７０に関するキャラクタデータＣ１〜Ｃｎが作成され、カメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０がテレビジョンモニタ２０に表示される。このゲームプログラムでは、現実世界の野球中継のように、テレビカメラの揺れを再現することができるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００６７】
〔野球ゲームにおけるキャラクタ動作表示システム及び打撃結果判定システム実行時の処理フロー〕
本実施形態の野球ゲームにおけるキャラクタ動作表示システム及びカメラ注視点データ作成システムを、図４に示す仮想カメラ８０の上下方向の揺れの変化を表す模式図、図９及び図１０に示すフローチャートを用いて説明する。
【００６８】
まず、仮想カメラ８０は、図４及び図５に示すように、上下方向に揺動している。図４及び図５に示す＋方向が上方向、図４及び図５に示す−方向が下方向を意味している。仮想カメラ８０は、図４に示すように、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量だけ増減させるようにした場合、所定の周期毎に異なる振幅（Ｙ軸の最大または最小となる振幅）を有する波形、たとえば正弦波等の波形が２π毎に異なる振幅となるようにカメラ注視点データＬ１〜Ｌｎが決定されるようになっている。具体的には、図４に示すように、０から２πまでの周期では、Ａ位置において仮想カメラ８０が上方向に最大振幅が＋１となるように揺動し、Ｂ位置において仮想カメラ８０が揺れていない状態となり、Ｃ位置において仮想カメラ８０が下方向に最大振幅が−１となるように揺動している。
【００６９】
ここでは、図４に示すＡ位置が図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１に対応し、図４に示すＢ位置が図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２に対応し、図４に示すＣ位置が図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３に対応している。また、図４に示すように、２πから４πまでの周期では、Ｄ位置において仮想カメラ８０が上方向に最大振幅が＋３となるように揺動し、Ｅ位置において仮想カメラ８０が揺れていない状態となり、Ｆ位置において仮想カメラ８０が下方向に最大振幅が−３となるように揺動している。また、図４に示すように、４πから６πまでの周期では、Ｇ位置において仮想カメラ８０が上方向に最大振幅が＋２となるように揺動し、Ｈ位置において仮想カメラ８０が揺れていない状態となり、Ｉ位置において仮想カメラ８０が下方向に最大振幅が−２となるように揺動している。ここで、−３〜−１、＋１〜＋３というのは、仮想カメラ８０が揺れる振幅の相対比率であって、たとえば２πから４πまでの周期の仮想カメラ８０の揺れは、０から２πまでの周期の仮想カメラ８０の揺れに対して３倍の揺れになっている。このため、２πから４πまでの周期の第１カメラ注視点４１は、０から２πまでの周期の第１カメラ注視点４１の位置より上方位置に配置され、２πから４πまでの周期の第３カメラ注視点４３は、０から２πまでの周期の第３カメラ注視点４３の位置より下方位置に配置されるようになっており、仮想カメラ８０の揺れが大きいことを表している。
【００７０】
このように上方向及び下方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０をテレビジョンモニタ２０に表示するキャラクタ動作表示システムについて、図９に示すフローチャートを用いて説明する。
【００７１】
まず、現実には存在していない仮想カメラ８０を配置した位置である仮想カメラ８０のカメラ位置データＰ１〜Ｐｎが作成される（Ｓ１）。ステップＳ１のカメラ位置データ作成処理では、球場内の３次元の座標位置によって定まる位置データである仮想カメラ８０のカメラ位置データＰ１〜Ｐｎが作成される。具体的には、仮想カメラ８０がスタンド正面に配置されているとき、仮想カメラ８０のカメラ位置Ｐ１がスタンド正面に設定され、仮想カメラ８０のカメラ位置Ｐ１の３次元の座標位置の数値データが作成される。ステップＳ１のカメラ位置データ作成処理で作成されたカメラ位置データＰ１〜Ｐｎの各種データは、ＲＡＭ１２に格納される。ステップＳ１のカメラ位置データ作成処理が行われると、基準キャラクタデータ作成処理へ移行する（Ｓ２）。
【００７２】
ステップＳ２の基準キャラクタデータ作成処理では、仮想カメラ８０よって撮影されたキャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎが作成される。ここで、キャラクタに関する基準キャラクタデータＣＢ１〜ＣＢｎとは、キャラクタが行う動作を動画として生成するための基準となるデータであって、仮想カメラ８０の揺れに依存しない基本となるデータである。具体的には、バッターボックスに入った打者キャラクタ７０に関する基準キャラクタデータＣＢ１は、特定の打者キャラクタ７０の打撃スイングの動作を動画として生成するためのデータであって、図７に示す仮想カメラ８０が揺れていない状態での打者キャラクタ７０が打撃スイングの動作を行う動画を生成するためのデータである。ステップＳ２の基準キャラクタデータ作成処理で作成された基準キャラクタデータＣＢ１〜ＣＢｎの各種データは、ＲＡＭ１２に格納される。ステップＳ２の基準キャラクタデータ作成処理が行われると、基準カメラ注視点データ作成処理へ移行する（Ｓ３）。
【００７３】
ステップＳ３の基準カメラ注視点データ作成処理では、仮想カメラ８０の撮影対象となるキャラクタに対する基準カメラ注視点データＬＢ１〜ＬＢｎが作成される。ここで、キャラクタに関する基準カメラ注視点データＬＢ１〜ＬＢｎとは、現実には存在していない仮想カメラ８０が対象物であるキャラクタに対してピントを合わせるポイントであって、図５に示すように、仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データであり、たとえばキャラクタ上の３次元の座標位置の数値データである。図５では、スタンド正面に配置された仮想カメラ８０から打者キャラクタ７０に向けて真っ直ぐに延びる直線（仮想カメラ８０の先端部と、第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とをそれぞれ結ぶ直線ＳＬ１〜ＳＬ３）が打者キャラクタ７０と交差する打者キャラクタ７０上のポイントの数値データである。ここでは、基準カメラ注視点データＬＢ１〜ＬＢ３と、後述するカメラ注視点データＬ１〜Ｌ３である第１カメラ注視点４１、第２カメラ注視点４２、第３カメラ注視点４３とが対応しており、特に、揺れていない仮想カメラ８０のカメラ注視点データＬ２である第２カメラ注視点４２は、基準カメラ注視点データＬＢ２と同一になっている。ステップＳ３の基準カメラ注視点データ作成処理で作成された基準カメラ注視点データＬＢ１〜ＬＢｎの各種データは、ＲＡＭ１２に格納される。ステップＳ３の基準カメラ注視点データ作成処理が行われると、ゲームに関する所定のゲーム条件を満たしているか否かが判断される（Ｓ５）。
【００７４】
ステップＳ５のゲーム条件判断処理では、ゲームに関する所定のゲーム条件、すなわち仮想カメラ８０が揺れる具体的な条件が満たされているか否かが判断される。具体的には、球場内に発生した風の風力データＷ（図３参照）が所定の値以上であるときや、カメラマンが誤操作する確率によってカメラマンが誤操作したと判断されたときは、仮想カメラ８０の揺れデータである所定の揺れ方向に所定の揺れ量（揺れ幅）だけ、たとえば仮想カメラ８０が図４に示す模式図のように上下方向に揺動し、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データを所定量（図４に示す−３〜−１、＋１〜＋３）だけ増減させるように、仮想カメラ８０が揺れたと判断され、カメラ注視点データ作成処理へ移行する（Ｓ５）。また、ステップＳ５のゲーム条件判断処理では、所定のゲーム条件を満たしていないときは、仮想カメラ８０が揺れていないと判断され、キャラクタ動作表示処理へ移行する（Ｓ７）。
【００７５】
ステップＳ５のカメラ注視点データ作成処理は、図１０に示すように、ステップＳ３の基準カメラ注視点データ作成処理で作成された基準カメラ注視点データＬＢ１〜ＬＢｎがＲＡＭ１２から読み出される（Ｓ１１）。ステップＳ１１の基準カメラ注視点データ読出処理が行われると、仮想カメラ８０のカメラ揺れデータＲ（図３参照）が読み出される（Ｓ１２）。カメラ揺れデータＲは、０以上１以下の数値データであって、数値が大きいほど仮想カメラ８０の揺れが大きいことを表している。ステップＳ１２のカメラ揺れデータＲが読み出されると、仮想カメラ８０のカメラ揺れ乱数データＥＲ（図３参照）が算出される（Ｓ１３）。カメラ揺れ乱数データＥＲは、０以上Ｒ以下の数値データであって、乱数演算によって算出される０以上１以下の数値データである。ステップＳ１３のカメラ揺れ乱数算出処理でカメラ揺れ乱数データＥＲが算出されると、風力データＷがＲＡＭ１２から読み出される（Ｓ１４）。ステップＳ１４の風力データ読出処理が行われると、風力影響データＥＷ（図３参照）が算出される（Ｓ１５）。風力影響データＥＷは、風力データＷを風力データＷの最大値で除算することによって算出される風力の影響度を表す数値データであって、０以上１以下の数値データである。ステップＳ１５の風力影響データ算出処理で風力影響データＥＷが算出されると、カメラ揺れ係数Ｅ（図３参照）が算出される（Ｓ１６）。カメラ揺れ係数Ｅは、ステップＳ１３のカメラ揺れ乱数算出処理で算出されたカメラ揺れ乱数データＥＲと、ステップＳ１５の風力影響データ算出処理で算出された風力影響データＥＷとを和算して得られる数値データである。ステップＳ１６のカメラ揺れ係数算出処理でカメラ揺れ係数Ｅが算出されると、カメラ注視点データ算出処理が行われる（Ｓ１７）。ステップＳ１７のカメラ注視点データ算出処理では、ステップＳ１１の基準カメラ注視点データ読出処理で読み出された基準カメラ注視点データＬＢ１〜ＬＢｎと、ステップＳ１６のカメラ揺れ係数算出処理で算出されたカメラ揺れ係数Ｅとを用いて、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎ（図３参照）が作成される。ここでは、図４に示す模式図において、仮想カメラ８０の振幅Ｓは、仮想カメラ８０の振幅Ｓの最大値（図４ではＤ位置）に、ステップＳ１６のカメラ揺れ係数算出処理で算出されたカメラ揺れ係数Ｅを乗算することによって得られる。なお、仮想カメラ８０の振幅Ｓは、仮想カメラ８０の振幅Ｓの最大値（図４ではＤ位置）を超えることがなく、仮想カメラ８０の振幅Ｓの最大値を超えた場合には、仮想カメラ８０の振幅Ｓは、仮想カメラ８０の振幅Ｓの最大値と同一になるようになっている。ここでは、Ｘ軸、Ｚ軸の座標位置の数値データを維持したままＹ軸の座標位置の数値データに仮想カメラ８０の振幅Ｓ及びｓｉｎ（Ｔ）（Ｔは時間）を乗算することで得られる図４に示すｓｉｎカーブとなる仮想カメラ８０の揺れが決定される。なお、ステップＳ１７のカメラ注視点データ算出処理は、周期２π毎に繰り返し行われ、周期２π毎に異なる振幅Ｓが得られることで、図４に示すように周期２π毎に異なるｓｉｎカーブとなる仮想カメラ８０の揺れが決定される。ステップＳ１７のカメラ注視点データ算出処理で作成されたカメラ注視点データＬ１〜Ｌｎの各種データは、ＲＡＭ１２に格納される。ステップＳ１７のカメラ注視点データ算出処理で、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが作成されると、図９のキャラクタデータ作成処理へ移行する（Ｓ６）。
【００７６】
ステップＳ６のキャラクタデータ作成処理では、ステップＳ１のカメラ位置データ作成処理によって作成されたカメラ位置データＰ１〜Ｐｎ、ステップＳ２の基準キャラクタデータ作成処理によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、ステップＳ５のカメラ注視点データ作成処理によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、キャラクタに関するキャラクタデータＣ１〜Ｃｎが作成される。ここで、キャラクタに関するキャラクタデータＣ１〜Ｃｎとは、選手キャラクタが行う動作を動画として生成するためのデータであって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した仮想カメラ８０の揺れに依存したデータである。具体的には、ステップＳ１のカメラ位置データ作成処理によって作成されたカメラ位置データＰ１〜Ｐｎ、ステップＳ２の基準キャラクタデータ作成処理によって作成された基準キャラクタデータＣＢ１〜ＣＢｎ、ステップＳ５のカメラ注視点データ作成処理によって作成されたカメラ注視点データＬＢ１〜ＬＢｎを基にして、仮想カメラ８０のカメラ注視点データＬ１〜Ｌｎが鼻位置（図５及び図７に示す第２カメラ注視点４２）から上方向に所定量だけ増加したヘルメット位置（図５及び図６に示す第１カメラ注視点４１）または鼻位置から下方向に所定量だけ減少した顎位置（図５及び図８に示す第３カメラ注視点４３）に設定され、仮想カメラ８０のカメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面を生成するためのデータが作成される。ここでは、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、第２カメラ注視点４２に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の打者キャラクタ７０に関するキャラクタデータＣ２が作成される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、第１カメラ注視点４１に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが上向きとなった打者キャラクタ７０に関するキャラクタデータＣ１が作成される。また、図５及び図８に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、第３カメラ注視点４３に対応する打者キャラクタ７０に関する基準キャラクタデータＣＢ１を基にして、打者キャラクタ７０に関する基準キャラクタデータＣＢ１と同一の動作をするが仮想カメラ８０の向きが下向きとなった打者キャラクタ７０に関するキャラクタデータＣ３が作成される。ステップＳ６のキャラクタデータ作成処理で作成されたキャラクタデータＣ１〜Ｃｎの各種データは、ＲＡＭ１２に格納される。ステップＳ６のキャラクタデータ作成処理で、キャラクタデータＣ１〜Ｃｎが作成されると、キャラクタ動作表示処理へ移行する（Ｓ７）。
【００７７】
ステップＳ７のキャラクタ動作表示処理では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ１〜Ｃｎが読み出され、仮想カメラ８０によって撮影されたキャラクタの動作画面が表示される。ステップＳ７のキャラクタ動作表示処理では、まず、図５及び図７に示す仮想カメラ８０が揺れていない状態の仮想カメラ８０の第２カメラ注視点４２では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ２が読み出され、仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。次に、図５及び図６に示す仮想カメラ８０が上方向に揺れた状態の仮想カメラ８０の第１カメラ注視点４１では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ１が読み出され、上方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図６参照）がテレビジョンモニタ２０に表示される。また、図５及び図７に示す仮想カメラ８０が下方向に揺れた状態の仮想カメラ８０の第３カメラ注視点４３では、ステップＳ６のキャラクタデータ作成処理によって作成されたキャラクタデータＣ３が読み出され、下方向に揺れた仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０（図７参照）がテレビジョンモニタ２０に表示される。
【００７８】
ここでは、ステップＳ５のゲーム条件判断処理によって、仮想カメラ８０が揺れたと判断されると、ステップＳ５のカメラ注視点データ作成処理及びステップＳ６のキャラクタデータ作成処理によって、仮想カメラ８０のカメラ揺れデータＲや風力データＷを付加した打者キャラクタ７０に関するカメラ注視点データＬ１〜Ｌｎ及び打者キャラクタ７０に関するキャラクタデータＣ１〜Ｃｎが作成され、カメラ揺れデータＲや風力データＷが付加された仮想カメラ８０によって撮影された打者キャラクタ７０がバッターボックスに入ったときの打撃動作画面である打撃動作表示画面４０がテレビジョンモニタ２０に表示される。このゲームプログラムでは、現実世界の野球中継のように、テレビカメラの揺れを再現することができるので、現実世界の野球中継に近いリアリティのある野球ゲームを実現することができる。
【００７９】
〔他の実施形態〕
（ａ）  前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【００８０】
（ｂ）  本発明には、前述したようなゲームを実行するプログラム、前述したようなゲームを実行するプログラム方法、およびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【００８１】
（ｃ）  前記実施形態では、仮想カメラ８０によって撮影された打者キャラクタ７０の打撃動作を打撃動作表示画面４０に表示していたが、たとえば仮想カメラ８０をバックネット裏に配置し、投手キャラクタの投球動作を表示させるようにしてもよい。また、野球ゲームに限定されるものではなく、サッカーゲームやシューティングゲーム等の他のあらゆるゲームにも本発明を適用できる。
【００８２】
（ｄ）  前記実施形態では、仮想カメラ８０は、上下方向のみ揺らしていたが、左右方向や、斜め方向及びこれらの組み合わせ等、あらゆる方向に揺らすことができる。また、仮想カメラ８０のカメラ位置データＰ１〜Ｐｎ、基準カメラ注視点データＬＢ１〜ＬＢｎ、カメラ注視点データＬ１〜Ｌｎ、カメラ揺れデータＲ及びこれらの算出方法は、前記実施形態に限定されるものではない。また、基準キャラクタデータＣＢ１〜ＣＢｎ、風力データＷ及びこれらの算出方法は、前記実施形態に限定されるものではない。
【図面の簡単な説明】
【００８３】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の機能ブロック図。
【図３】前記ビデオゲーム装置の記憶部に格納されるデータを表す模式図。
【図４】仮想カメラの上下方向の揺れの変化を表す模式図。
【図５】前記仮想カメラのカメラ位置と前記仮想カメラの打者キャラクタに対するカメラ注視点の関係を示す模式図。
【図６】前記仮想カメラが上方向に揺れたときの打撃動作表示画面を示すテレビジョンモニタ図。
【図７】前記仮想カメラが揺れていないときの打撃動作表示画面を示すテレビジョンモニタ図。
【図８】前記仮想カメラが下方向に揺れたときの打撃動作表示画面を示すテレビジョンモニタ図。
【図９】キャラクタ動作表示処理を説明するためのフローチャート。
【図１０】カメラ注視点データ作成処理を説明するためのフローチャート。
【符号の説明】
【００８４】
１  制御部
７  ＣＰＵ
１７  コントローラ
２０  テレビジョンモニタ
４０  打撃動作表示画面
４１  第１カメラ注視点
４２  第２カメラ注視点
４３  第３カメラ注視点
５０  キャラクタ表示手段
５１  キャラクタ動作手段
５２  カメラ位置データ作成手段
５３  基準キャラクタデータ作成手段
５４  基準カメラ注視点データ作成手段
５５  ゲーム条件判断手段
５６  カメラ注視点データ作成手段
５７  キャラクタデータ作成手段
５８  キャラクタ動作表示手段
７０  打者キャラクタ
８０  仮想カメラ
Ｃ１〜Ｃｎ  キャラクタデータ
ＣＢ１〜ＣＢｎ  基準キャラクタデータ
Ｅ  カメラ揺れ係数
ＥＲ  カメラ揺れ乱数データ
ＥＷ  風力影響データ
Ｌ１〜Ｌｎ  カメラ注視点データ
ＬＢ１〜ＬＢｎ  基準カメラ注視点データ
Ｐ１〜Ｐｎ  カメラ位置データ
Ｒ  カメラ揺れデータ
Ｗ  風力データ