(57)【要約】【課題】画像の焦点を容易に設定することができる描画処理プログラムを提供する。【解決手段】本プログラムでは、仮想カメラＣの位置座標データに基づいて、仮想カメラＣがゲーム空間に配置される。そして、オブジェクトＯＡ１〜ＯＩ１，ＯＡ２〜ＯＨ２の位置および属性が、記録される。そして、属性指定命令が指示され、この属性指定命令に対応する属性（指定属性）ＺＤｏが、設定される。そして、指示属性ＺＤｏを有するオブジェクトが、検索され指定される。そして、指定属性ＺＤｏを有するオブジェクトの位置座標データに基づいて、指定属性ＺＤｏを有するオブジェクトの位置に、仮想カメラＣの焦点ＳＦが設定される。そして、指定属性ＺＤｏを有するオブジェクトに、仮想カメラＣの焦点ＳＦを合わした状態で、仮想カメラＣに映るオブジェクトが、画像表示部３に表示される。【選択図】図２
2010110504.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間のオブジェクトを表示可能なコンピュータに、
仮想カメラの位置座標データを、制御部に認識させることにより、前記仮想カメラを前記仮想空間に配置する仮想カメラ配置機能と、
前記オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、前記オブジェクトの位置を記録するオブジェクト位置記録機能と、
前記オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、前記オブジェクトの属性を記録する属性記録機能と、
前記属性を指定するための属性指定命令が制御部から発行されたときに、前記属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性を設定する属性指定機能と、
前記指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、前記指定属性を有するオブジェクトを指定するオブジェクト指定機能と、
前記指定属性を有する前記オブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに対して設定する焦点設定機能と、
前記指定属性を有する前記オブジェクトに、前記仮想カメラの焦点を合わした状態で、前記仮想カメラに映る前記オブジェクトを、画像表示部に表示するオブジェクト表示機能と、
を実現させるための描画処理プログラム。
【請求項２】
前記コンピュータに、
所定のイベントが発生したか否かを、記憶部に格納されたライブラリデータに基づいて、制御部に判断させることにより、所定のイベントの発生の有無を検査するイベント検査機能と、
所定の前記イベントが発生したと制御部により判断された場合に、前記属性を指定するための属性指定命令を制御部に発行させる命令発行機能と、
をさらに実現させ、
前記属性指定機能では、前記属性指定命令が制御部から発行されたときに、前記属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性が設定される、
請求項１又は２に記載の描画処理プログラム。
【請求項３】
前記コンピュータに、
所定の前記イベントに対応する属性を変更するための命令を、制御部に認識させることにより、前記属性指定命令を変更する命令変更機能、
をさらに実現させ、
前記命令発行機能では、所定の前記イベントが発生したと制御部により判断された場合に、変更後の前記属性を指定するための属性指定命令が、制御部から発行される、
請求項２に記載の描画処理プログラム。
【請求項４】
前記コンピュータに、
記憶部に格納された、前記属性を指定するための属性指定命令を制御部に発行させるためのスケジュールデータを、制御部に認識させることにより、前記属性指定命令を指示する時機を、設定する命令時機設定機能と、
前記スケジュールデータに基づいて、前記属性を指定するための属性指定命令を制御部から発行させる命令発行機能と、
をさらに実現させ、
前記属性指定機能では、前記スケジュールデータに基づいて、前記属性指定命令が制御部から発行されたときに、前記属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性が設定される、
請求項１から３のいずれかに記載の描画処理プログラム。
【請求項５】
前記属性データには、前記オブジェクトの質感を規定するためのシェーダデータが含まれている、
請求項１から４のいずれかに記載の描画処理プログラム。
【請求項６】
前記オブジェクト位置記録機能では、静止中の前記オブジェクトの位置および移動中の前記オブジェクトの位置の少なくともいずれか一方の位置に対応する位置座標データを、制御部に認識させることにより、前記オブジェクトの位置が記録される、
請求項１から５のいずれかに記載の描画処理プログラム。
【請求項７】
前記コンピュータに、
前記属性記録機能では、前記オブジェクトを構成するポリゴンに割り当てられた前記属性データを、制御部に認識させることにより、前記オブジェクトの属性が記録される、
請求項１から６のいずれかに記載の描画処理プログラム。
【請求項８】
前記オブジェクト位置記録機能では、前記オブジェクトの重心の座標データを、前記オブジェクトの位置座標データとして、制御部に認識させることにより、前記オブジェクトの位置が記録される、
請求項１から７のいずれかに記載の描画処理プログラム。
【請求項９】
仮想空間のオブジェクトを表示可能な描画処理装置であって、
仮想カメラの位置座標データを、制御部に認識させることにより、前記仮想カメラを前記仮想空間に配置する仮想カメラ配置手段と、
前記オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、前記オブジェクトの位置を記録するオブジェクト位置記録手段と、
前記オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、前記オブジェクトの属性を記録する属性記録手段と、
前記属性を指定するための属性指定命令が制御部から発行されたときに、前記属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性を設定する属性指定手段と、
前記指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、前記指定属性を有するオブジェクトを指定するオブジェクト指定手段と、
前記指定属性を有する前記オブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに対して設定する焦点設定手段と、
前記指定属性を有する前記オブジェクトに、前記仮想カメラの焦点を合わした状態で、前記仮想カメラに映る前記オブジェクトを、画像表示部に表示するオブジェクト表示手段と、
を備える描画処理装置。
【請求項１０】
仮想空間のオブジェクトを表示可能なコンピュータにより、描画を制御する描画処理方法であって、
仮想カメラの位置座標データを、制御部に認識させることにより、前記仮想カメラを前記仮想空間に配置する仮想カメラ配置ステップと、
前記オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、前記オブジェクトの位置を記録するオブジェクト位置記録ステップと、
前記オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、前記オブジェクトの属性を記録する属性記録ステップと、
前記属性を指定するための属性指定命令が制御部から発行されたときに、前記属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性を設定する属性指定ステップと、
前記指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、前記指定属性を有するオブジェクトを指定するオブジェクト指定ステップと、
前記指定属性を有する前記オブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに対して設定する焦点設定ステップと、
前記指定属性を有する前記オブジェクトに、前記仮想カメラの焦点を合わした状態で、前記仮想カメラに映る前記オブジェクトを、画像表示部に表示するオブジェクト表示ステップと、
を備える描画処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画処理プログラム、特に、仮想空間のオブジェクトを画像表示部に表示する描画処理プログラムに関する。また、この描画処理プログラムを実行可能な描画処理装置、およびこの描画処理プログラムに基づいてコンピュータにより制御される描画処理方法に関する。
【背景技術】
【０００２】
従来、様々な形態で、オブジェクトがモニタに表示されてきた。近年では、仮想空間に配置されたオブジェクトを、仮想カメラを用いて、様々な位置や方向からモニタに表示することができるようになっている。たとえば、野球ゲームでは、ゲーム空間に配置された選手キャラクタを、仮想カメラを用いて、様々な位置や方向からモニタに表示することができるようになっている（非特許文献１を参照）。
【０００３】
このように選手キャラクタを様々な位置や方向からモニタに表示する場合、どのような位置や方向から選手キャラクタを撮影して、どの選手キャラクタにピントを合わせるのかは、ゲーム制作者により任意に決定される。このため、ゲーム制作者は、ゲーム製作時に、仮想カメラの位置および仮想カメラの焦点位置を、設定する必要がある。たとえば、投手キャラクタがボールを投球するシーンでは、まず、仮想カメラが、打者キャラクタの位置に配置される。次に、仮想カメラの焦点位置が、投手キャラクタの顔に設定される。そして、この投手キャラクタがボールをリリースすると、仮想カメラの焦点位置は、ボールに設定される。このような仮想カメラの位置の設定および仮想カメラの焦点位置の設定は、シーンごとに、ゲーム制作者により手動で設定される。
【非特許文献１】プロ野球スピリッツ５、コナミ株式会社、２００８年４月１日、PlayStation版
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のゲームたとえば野球ゲームでは、仮想カメラの位置および仮想カメラの焦点位置が、シーンごとに、ゲーム制作者により手動で設定されるようになっていた。しかしながら、昨今のゲームでは、ゲーム中のシーンの変化が多いため、仮想カメラの位置の設定や仮想カメラの焦点位置の設定を行う際の、ゲーム制作者の労力が、非常に大きくなっていた。たとえば、投手が投げたボールを打者が打つような場合、カメラ焦点はまず投手を対象とした後、投手から投球されたボール、打者、打者に打たれたボール、ボールを追う野手・・・といったように、選手キャラクタの個々の動きに対してカメラ焦点を合わせるだけでなく、適当なタイミングで別のキャラクタや物体にカメラ焦点を大きく移動させる必要がある。
【０００５】
また、選手キャラクタが動作するような場合、ゲーム制作者は、選手キャラクタの移動に応じて、仮想カメラの焦点位置を１フレームごとに手作業で移動する必要がある。すなわち、ゲーム制作者は、選手キャラクタが動作する軌跡に沿って、カメラの焦点の軌跡を手作業で設定する必要があった。このため、シーン数が少ない場合でも、仮想カメラの位置の設定や仮想カメラの焦点位置の設定を行う際の、ゲーム制作者の労力が、非常に大きくなっていた。
【０００６】
また、個々の選手キャラクタや物体についてみても、ゲーム制作者は、選手キャラクタの動作や移動に応じて、仮想カメラの焦点位置を１フレームごとに手作業で移動する必要がある。すなわち、ゲーム制作者は、選手キャラクタが動作する軌跡に沿って、カメラの焦点の軌跡を手作業で設定する必要があった。さらに、個々のキャラクタの細部にカメラ焦点を合わせる場合には、その対象箇所が小さいことから、制作者とっては、焦点の設定作業は大きな負担となっていた。たとえば、投手が投球するシーンにおいて、投手の目にカメラ焦点を合わそうとする場合、目という小さい領域に対して焦点を合わせなければならず、しかも別画面や別シーンに切り替えるまでの間、１フレーム毎に同じ作業を何度も繰り返さなければならない。以上のように、仮想カメラの位置の設定や仮想カメラの焦点位置の設定を行う際の、ゲーム制作者の労力は、非常に大きいものであった。
【０００７】
本発明は、このような問題に鑑みてなされたものであり、本発明の目的は、画像の焦点を容易に設定することができる描画処理プログラムを提供する、ことにある。
【課題を解決するための手段】
【０００８】
請求項１に係る描画処理プログラムは、仮想空間のオブジェクトを表示可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）仮想カメラの位置座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置する仮想カメラ配置機能。
（２）オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、オブジェクトの位置を記録するオブジェクト位置記録機能。
（３）オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、オブジェクトの属性を記録する属性記録機能。
（４）属性を指定するための属性指定命令が制御部から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性を設定する属性指定機能。
（５）指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、指定属性を有するオブジェクトを指定するオブジェクト指定機能。
（６）指定属性を有するオブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに対して設定する焦点設定機能。
（７）指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトを、画像表示部に表示するオブジェクト表示機能。
【０００９】
このゲームプログラムでは、仮想カメラ配置機能において、仮想カメラの位置座標データを、制御部に認識させることにより、仮想カメラが仮想空間に配置される。オブジェクト位置記録機能においては、オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、オブジェクトの位置が記録される。属性記録機能においては、オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、オブジェクトの属性が記録される。
【００１０】
属性指定機能においては、属性を指定するための属性指定命令が制御部から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性が設定される。オブジェクト指定機能においては、指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、指定属性を有するオブジェクトが、指定される。焦点設定機能においては、指定属性を有するオブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点が、指定属性を有するオブジェクトに対して設定される。オブジェクト表示機能においては、指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトが、画像表示部に表示される。
【００１１】
この描画処理プログラムがゲームに適用された場合を一例として説明すると、まず、仮想カメラの位置座標データに基づいて、仮想カメラがゲーム空間に配置される。そして、オブジェクトの位置およびオブジェクトの属性が、記録される。そして、属性指定命令に基づいて、属性指定命令に対応する属性（指定属性）が、設定される。そして、指示属性データに基づいて、指定属性を有するオブジェクトが、検索され指定される。そして、指定属性を有するオブジェクトの位置座標データに基づいて、指定属性を有するオブジェクトの位置に、仮想カメラの焦点が設定される。そして、指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトが、画像表示部に表示される。
【００１２】
この場合、属性指定命令に基づいて指定属性を設定することにより、指定属性を有するオブジェクトを、ゲーム空間のオブジェクトの中から、検索し指定することができる。そして、この指定オブジェクト（指定属性を有するオブジェクト）の位置に、仮想カメラの焦点を設定することにより、指定オブジェクトに仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトを、画像表示部に表示することができる。
【００１３】
たとえば、野球ゲームにおいて投手キャラクタがボールを投球するシーンでは、まず、属性を「顔用の肌（指定属性）」に設定することにより、投手キャラクタの顔オブジェクトが、検索され指定される。そして、仮想カメラの焦点位置が、投手キャラクタの顔オブジェクトに設定される。次に、属性を「ボール用の革（指定属性）」に設定することにより、ボールオブジェクトが、検索され指定される。そして、仮想カメラの焦点位置が、ボールオブジェクトに設定される。このように、指定属性を設定するだけで、投球動作中に、投手キャラクタの顔に焦点を合わせたり、ボールのリリース後に、ボールに焦点を合わせたりすることができる。
【００１４】
このように、本発明では、指定属性を指定するだけで、指定属性を有するオブジェクトに焦点を合わした状態の画像を、画像表示部に表示することができる。すなわち、本発明では、指定属性を指定するだけで、画像の焦点を容易に設定することができる。そして、指定属性の指定後、カメラ焦点を変える必要性のある画面やシーンになるまでの間は、カメラ焦点は同じ指定属性を自動的に追跡することになるので、従来のように、全てのシーンにおいて１フレームごとにカメラ焦点を合わせる作業を行う必要はなく、制作者の作業が大幅に低減される。
【００１５】
請求項２に係る描画処理プログラムは、請求項１に記載の描画処理プログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（８）所定のイベントが発生したか否かを、記憶部に格納されたライブラリデータに基づいて、制御部に判断させることにより、所定のイベントの発生の有無を検査するイベント検査機能。
（９）所定のイベントが発生したと制御部により判断された場合に、属性を指定するための属性指定命令を制御部に発行させる命令発行機能。
【００１６】
このゲームプログラムでは、イベント検査機能において、所定のイベントが発生したか否かを、記憶部に格納されたライブラリデータに基づいて、制御部に判断させることにより、所定のイベントの発生の有無が、検査される。命令発行機能においては、所定のイベントが発生したと制御部により判断された場合に、属性を指定するための属性指定命令が、制御部から発行される。属性指定機能においては、属性指定命令が制御部から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性が設定される。
【００１７】
この描画処理プログラムがゲームに適用された場合を一例として説明すると、所定のイベントの発生の有無が、検査される。そして、所定のイベントが発生した場合に、属性を指定するための属性指定命令が、発行される。すると、属性指定命令に対応する属性（指定属性）が、設定される。
【００１８】
この場合、所定のイベントが発生した場合に属性指定命令を発行することにより、指定属性が設定される。すると、指定属性を有するオブジェクトを、ゲーム空間のオブジェクトの中から検索し、指定属性を有するオブジェクトの位置に、仮想カメラの焦点を設定することができる。すなわち、所定のイベントが発生したときに、指定属性を自動的に設定することにより、この指定属性を有するオブジェクトの位置に、仮想カメラの焦点を自動的に設定することができる。
【００１９】
たとえば、野球ゲームにおいて投手キャラクタがボールを投球するシーンでは、イベントとしての、ボールがリリースされたか否か、およびボールがバットに衝突したか否かが、判断される。そして、ボールがリリースされた場合、およびボールがバットに衝突した場合等に、指定された属性を有するオブジェクト（ボールオブジェクト）の位置に、仮想カメラの焦点を自動的に設定することができる。すなわち、ボールがリリースされた場合には、属性が投手キャラクタからボールに変更されることでカメラ焦点がボールに切り替わる。その後、ボールがバットに衝突した場合には、属性がボールからバットに変更されることでカメラ焦点がバットに切り替わる。
【００２０】
このように、本発明では、発生したイベントに応じて、指定属性を自動的に指定することにより、仮想カメラの焦点を自動的に設定することができる。すなわち、本発明では、指定属性を自動的に指定することができるので、画像の焦点をより容易に設定することができる。
【００２１】
請求項３に係る描画処理プログラムは、請求項２に記載の描画処理プログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（１０）所定のイベントに対応する属性を変更するための命令を、制御部に認識させることにより、属性指定命令を変更する命令変更機能。
【００２２】
このゲームプログラムでは、命令変更機能において、所定のイベントに対応する属性を変更するための命令を、制御部に認識させることにより、属性指定命令が変更される。命令発行機能においては、所定のイベントが発生したと制御部により判断された場合に、変更後の属性を指定するための属性指定命令が、制御部から発行される。
【００２３】
この描画処理プログラムがゲームに適用された場合を一例として説明すると、所定のイベントに対応する属性を変更するための命令に基づいて、属性指定命令が変更される。そして、所定のイベントが発生した場合に、変更後の属性を指定するための属性指定命令が、制御部から発行される。これにより、指定済みの指定属性を、変更することができる。これにより、制作者の意図や感性をより緻密に反映させるプログラムを作成することが可能になる。請求項１または請求項２で制作されたプログラムにおいては、イベント発生に対応して、自動的に属性が変更され、これに応じてカメラ焦点も切り替えられるので、従来に比し制作労力を大幅に低減できるが、どういうイベントが発生したときに、属性をどう設定するか、すなわちカメラ焦点をどのオブジェクトに設定するか、といったイベント発生と属性切り替えの紐付けが確定しているものである。基本的にこれで制作は完成できるが、ゲーム全体を俯瞰した場合に、よりゲーム性やリアル感を向上させるために敢えてカメラ焦点を変更したいという制作者の要望が生じる場合がある。
【００２４】
たとえば、野球ゲームにおいて投手キャラクタがボールを投球するシーンにおいて、ボールのリリース後において指定属性を有するオブジェクト（ボールオブジェクト）の位置に、仮想カメラの焦点が設定されている場合であっても、請求項３によれば、投手キャラクタの緊張感をより際立たせる演出を行うために、敢えてゲーム制作者が手動で指定属性を投手キャラクタの顔に変更するといった操作を行うことができる。このように、ゲーム制作者は、画像の焦点を容易に変更することができ、所望の位置に焦点を設定することができる。
【００２５】
請求項４に係る描画処理プログラムは、請求項１から３のいずれかに記載の描画処理プログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
（１１）記憶部に格納された、属性を指定するための属性指定命令を制御部に発行させるためのスケジュールデータを、制御部に認識させることにより、属性指定命令を指示する時機を、設定する命令時機設定機能。
（１２）スケジュールデータに基づいて、属性を指定するための属性指定命令を制御部から発行させる命令発行機能。
【００２６】
このゲームプログラムでは、命令時機設定機能において、記憶部に格納された、属性を指定するための属性指定命令を制御部に発行させるためのスケジュールデータを、制御部に認識させることにより、属性指定命令を指示する時機が、設定される。命令発行機能においては、スケジュールデータに基づいて、属性を指定するための属性指定命令が、制御部から発行される。属性指定機能においては、スケジュールデータに基づいて、属性指定命令が制御部から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性が設定される。
【００２７】
この描画処理プログラムがゲームに適用された場合を一例として説明すると、属性指定命令を制御部に発行させるためのスケジュールが、設定される。そして、このスケジュールに基づいて、属性を指定するための属性指定命令が、制御部から発行される。すると、属性指定命令に対応する属性（指定属性）が、設定される。
【００２８】
この場合、属性指定命令をスケジュールに基づいて発行することにより、指定属性が設定される。すると、指定属性を有するオブジェクトを、ゲーム空間のオブジェクトの中から検索し、指定属性を有するオブジェクトの位置に、仮想カメラの焦点を設定することができる。すなわち、スケジュールに基づいて、指定属性を自動的に設定することにより、この指定属性を有するオブジェクトの位置に、仮想カメラの焦点を自動的に設定することができる。
【００２９】
たとえば、野球ゲームにおいて投手キャラクタがボールを投球するシーンでは、リリースタイミングを示す時間（第１時間）又はフレーム数（第１フレーム数）、ボールがバットに当たる時間（第２時間）、又はボールがバットに当たる時間に対応するフレーム数（第２フレーム数）等から構成されるスケジュールデータを用いることにより、第１時間および第２時間、又は第１フレーム数および第２フレーム数において、指定属性を自動的に発行することができる。これにより、ボールのリリース時と、バットによるボールのヒッティング時に、指定された属性を有するオブジェクト（ボールオブジェクト、バットオブジェクト）の位置に、仮想カメラの焦点を自動的に設定することができる。
【００３０】
このように、本発明では、スケジュールデータに基づいて指定属性の指定を自動化することにより、仮想カメラの焦点を自動的に設定することができる。すなわち、本発明では、指定属性を自動的に指定することができるので、画像の焦点をより容易に設定することができる。
【００３１】
請求項５に係る描画処理プログラムでは、請求項１から４のいずれかに記載の描画処理プログラムにおいて、属性データには、オブジェクトの質感を規定するためのシェーダデータが含まれている。
【００３２】
この場合、属性データには、オブジェクトの質感を規定するためのシェーダデータが含まれている。このシェーダデータが属性データとして用いられると、質感に基づいて、所望のオブジェクトを指定することができる。たとえば、野球ゲームでは、「顔用の肌」に対応するシェーダデータを指定することにより、投手キャラクタの顔オブジェクトを指定することができる。また、「ボール用の革」に対応するシェーダデータを指定することにより、ボールオブジェクトを指定することができる。
【００３３】
このように、シェーダデータを用いることにより、ゲーム空間に配置された複数のオブジェクトの中から、所望のオブジェクトを、確実に指定することができる。
【００３４】
なお、属性データとしてテクスチャデータを用いた場合、テクスチャは必ずしも一色から構成されてはいないので、所望のオブジェクトと他のオブジェクトとを区別しづらいという問題がある。
【００３５】
請求項６に係る描画処理プログラムは、請求項１から５のいずれかに記載の描画処理プログラムにおいて、静止中のオブジェクトの位置および移動中のオブジェクトの位置の少なくともいずれか一方の位置に対応する位置座標データを、制御部に認識させることにより、オブジェクトの位置が記録される。この機能は、オブジェクト位置記録機能において実現される。
【００３６】
この描画処理プログラムがゲームに適用された場合を一例として説明すると、静止中のオブジェクトおよび移動中のオブジェクトの少なくともいずれか一方の位置が、記憶部に記録される。たとえば、野球ゲームにおいて投手キャラクタがボールを投球するシーンでは、投球前の投手キャラクタの顔オブジェクトの位置（静止中の位置）、投球動作中の投手キャラクタの顔オブジェクトの位置（移動中の位置）、およびリリースされたボールオブジェクトの位置（移動中の位置）が、記憶部に記録される。ここで、指定属性を記録することにより、指定属性を指定するだけで、投手キャラクタの顔に容易に焦点を合わせたり、ボールのリリース後のボールに容易に焦点を合わせたりすることができる。
【００３７】
このように、本発明では、オブジェクトが静止していても移動していても、指定属性を指定するだけで、指定属性を有するオブジェクトに焦点を合わした状態の画像を、画像表示部に表示することができる。すなわち、本発明では、指定属性を指定するだけで、画像の焦点を容易に設定することができる。
【００３８】
請求項７に係る描画処理プログラムでは、請求項１から６のいずれかに記載の描画処理プログラムにおいて、オブジェクトを構成するポリゴンに割り当てられた属性データを、制御部に認識させることにより、オブジェクトの属性が記録される。この機能は、属性記録機能において実現される。
【００３９】
この場合、オブジェクトの形状が、ポリゴンを用いて構成されているので、単純な形状のオブジェクトだけでなく、複雑な形状のオブジェクトをも、ゲーム空間に配置することができる。また、ゲーム空間に配置されたオブジェクトが複雑な形状であっても、仮想カメラの焦点を、指定属性を有するオブジェクトに容易に合わせることができる。
【００４０】
請求項８に係る描画処理プログラムでは、請求項１から７のいずれかに記載の描画処理プログラムにおいて、オブジェクトの重心の座標データを、オブジェクトの位置座標データとして、制御部に認識させることにより、オブジェクトの位置が、仮想空間に設定される。この機能は、オブジェクト位置設定機能において実現される。
【００４１】
この場合、オブジェクトの重心が、オブジェクトの位置として設定されるので、ゲーム空間のオブジェクトが複雑な形状であっても、仮想カメラの焦点を、指定属性を有するオブジェクトの重心に合わせるだけで、画像の焦点を容易に設定することができる。
【００４２】
請求項９に係る描画処理装置は、仮想空間のオブジェクトを、表示可能な描画処理装置である。この描画処理装置は、仮想カメラの位置座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置する仮想カメラ配置手段と、オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、オブジェクトの位置を記録するオブジェクト位置記録手段と、オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、オブジェクトの属性を記録する属性記録手段と、属性を指定するための属性指定命令が制御部から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性を設定する属性指定手段と、指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、指定属性を有するオブジェクトを指定するオブジェクト指定手段と、指定属性を有するオブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに対して設定する焦点設定手段と、指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトを、画像表示部に表示するオブジェクト表示手段と、を備えている。
【００４３】
請求項１０に係る描画処理方法は、仮想空間のオブジェクトを表示可能なコンピュータにより、描画を制御する描画処理方法である。この描画処理方法は、仮想カメラの位置座標データを、制御部に認識させることにより、仮想カメラを仮想空間に配置する仮想カメラ配置ステップと、オブジェクトの位置を規定するための位置座標データを制御部に認識させることにより、オブジェクトの位置を記録するオブジェクト位置記録ステップと、オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、オブジェクトの属性を記録する属性記録ステップと、属性を指定するための属性指定命令が制御部から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、制御部に認識させることにより、指定属性を設定する属性指定ステップと、指定属性データが割り当てられたオブジェクトを検索する処理を、制御部に実行させることにより、指定属性を有するオブジェクトを指定するオブジェクト指定ステップと、指定属性を有するオブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、制御部に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに対して設定する焦点設定ステップと、指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトを、画像表示部に表示するオブジェクト表示ステップと、を備えている。
【発明の効果】
【００４４】
本発明では、属性指定命令に基づいて指定属性を設定することにより、指定属性を有するオブジェクトを、仮想空間のオブジェクトの中から検索し指定することができる。そして、この指定オブジェクト（指定属性を有するオブジェクト）の位置に、仮想カメラの焦点を設定することにより、指定オブジェクトに仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトを、画像表示部に表示することができる。
【００４５】
このように、本発明では、指定属性を指定するだけで、指定属性を有するオブジェクトに焦点を合わした状態の画像を、画像表示部に表示することができる。すなわち、本発明では、指定属性を指定するだけで、画像の焦点を容易に設定することができることから、従来のゲーム制作のように、1フレーム毎に対象となるオブジェクトに焦点を合わせる作業を繰り返す必要は無く、制作の負担を大幅に低減できる。
【発明を実施するための最良の形態】
【００４６】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるコンピュータの基本構成を示している。このコンピュータの構成は、ゲーム装置の構成と同様の構成を有している。ここでは、ゲーム装置に記録されたプログラムを実行可能、且つこのプログラムを修正可能な、コンピュータ（開発用のゲーム装置）が用いられる。
【００４７】
開発用のゲーム装置は、開発用のゲーム装置本体およびテレビジョンを備える。開発用のゲーム装置本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容がテレビジョンに表示される。
【００４８】
開発用のゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５、通信部２３とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、開発用のゲーム装置のゲーム装置本体に含まれており、画像表示部３はテレビジョンに含まれている。
【００４９】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、３次元空間上又は擬似３次元空間上で実行された計算結果に基づいた画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。また、ＣＰＵ７は、信号処理プロセッサ８に対して、各種データを処理するように命令する。信号処理プロセッサ８は、主に、３次元空間上における各種データに対応する計算と、３次元空間上から擬似３次元空間上への位置変換計算とを行っている。
【００５０】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００５１】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００５２】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００５３】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカ１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカ１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカ１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカ１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカ１３から出力することができる。
【００５４】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００５５】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００５６】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００５７】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００５８】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００５９】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向に亘って、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００６０】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００６１】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００６２】
通信部２３は、通信制御回路２４および通信インターフェース２５を有している。通信制御回路２４および通信インターフェース２５は、ゲーム装置をサーバや他のゲーム装置等に接続するために用いられる。通信制御回路２４および通信インターフェース２５は、バス６を介してＣＰＵ７に接続されている。通信制御回路２４および通信インターフェース２５は、ＣＰＵ７からの命令に応じて、ゲーム装置をインターネットに接続するための接続信号を制御し発信する。また、通信制御回路２４および通信インターフェース２５は、インターネットを介してゲーム装置をサーバや他のゲーム装置に接続するための接続信号を制御し発信する。
【００６３】
以上のような構成からなる開発用のゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データを画像や音声としてテレビジョンモニタ２０やスピーカ１３に出力するためのコマンドを発行する。
【００６４】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタやオブジェクト等の位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００６５】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカ１３から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム装置において開発されるゲームは、たとえば、野球ゲームである。本ゲーム装置において開発される野球ゲームでは、ゲーム空間に配置されたオブジェクトを、表示可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００６６】
モデル配置手段５０は、少なくとも１つのオブジェクトから構成されるモデルの位置を規定するための位置座標データを、ＣＰＵ７に認識させることにより、モデルをゲーム空間に配置する機能を備えている。
【００６７】
この手段では、少なくとも１つのオブジェクトから構成されるモデルをゲーム空間に配置するための位置座標データを、ＣＰＵ７に認識させることにより、モデルがゲーム空間に配置される。これにより、モデルを構成するオブジェクトも、ゲーム空間に配置される。ここでは、たとえば、スタジアムおよび選手キャラクタ等が、モデルに対応している。
【００６８】
各オブジェクトは、複数のポリゴンにより形成されている。これら複数のポリゴンそれぞれの座標データを、ＣＰＵ７に認識させることにより、各オブジェクトの形状が、形成され設定される。また、複数のポリゴンの座標データに基づいて重心位置を算出する処理を、ＣＰＵ７に実行させることにより、各オブジェクトの重心が、設定される。
【００６９】
また、各オブジェクトには、オブジェクトの属性を示す属性データが、割り当てられている。ここでは、各オブジェクトに対して、所定の属性データが、対応テーブルに基づいて割り当てられる。詳細には、所定の属性データは、対応テーブルに基づいて、各オブジェクトを構成する複数のポリゴンそれぞれに割り当てられる。なお、対応テーブルは、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。
【００７０】
このように各種のオブジェクトから構成されるモデルには、モデルをゲーム空間に配置するときに用いられる基準位置（代表位置）が、設定されている。たとえば、選手キャラクタの場合、体幹オブジェクトの重心位置が、代表位置に設定されている。この選手キャラクタの代表位置を、初期条件としての位置座標データが示す位置に位置させることにより、選手キャラクタ（モデル）がゲーム空間に配置される。
【００７１】
仮想カメラ配置手段５１は、仮想カメラの位置座標データを、ＣＰＵ７に認識させることにより、仮想カメラをゲーム空間に配置する機能を備えている。
【００７２】
この手段では、仮想カメラの位置座標データを、ＣＰＵ７に認識させることにより、仮想カメラが、ゲーム空間に配置される。たとえば、ＲＡＭ１２に格納された仮想カメラの位置座標データを、ＣＰＵ７に認識させることにより、仮想カメラが、ゲーム空間に配置される。また、ＣＰＵ７から発行された移動命令に基づいて、仮想カメラが移動させられた場合、この移動命令に対応する仮想カメラの位置座標データが、ＣＰＵ７に認識される。これにより、仮想カメラが、ゲーム空間に配置される。なお、仮想カメラを移動するための移動命令は、コントローラ１７が操作されたときの入力信号や、自動制御プログラム（ＡＩプログラム、Artificial Intelligence Program）に記述された命令等に基づいて、ＣＰＵ７から発行される。
【００７３】
視錐空間設定手段５２は、ゲーム空間においてテレビジョンモニタ２０に表示する空間を規定するための表示空間用のデータを、ＣＰＵ７に認識させることにより、仮想カメラの撮影対象となる視錐空間を、ゲーム空間に設定する機能を備えている。
【００７４】
この手段では、表示空間用のデータをＣＰＵ７に認識させることにより、仮想カメラの撮影対象となる視錐空間が、ゲーム空間に設定される。ここでは、表示空間用データは、仮想カメラの注視点の位置座標データ、仮想カメラの画角に対応する角度データ、視錐空間の奥行き方向の範囲を規定するための位置データから構成されている。
【００７５】
これら表示空間用のデータをＣＰＵ７に認識させることにより、仮想カメラの撮影対象となる視錐空間が、ゲーム空間に設定される。なお、ここでは、仮想カメラの画角は、仮想カメラと注視点とを結ぶ直線を基準線として、水平方向および垂直方向に、定義されている。また、視錐空間の奥行き方向の範囲を規定するための位置データが示す位置は、仮想カメラと注視点とを結ぶ直線上に定義されている。
【００７６】
オブジェクト位置記録手段５３は、オブジェクトの位置を規定するための位置座標データをＣＰＵ７に認識させることにより、オブジェクトの位置を記録する機能を備えている。詳細には、オブジェクト位置記録手段５３は、静止中のオブジェクトの位置および移動中のオブジェクトの位置の少なくともいずれか一方の位置に対応する位置座標データを、ＣＰＵ７に認識させることにより、オブジェクトの位置を記録する機能を備えている。
【００７７】
この手段では、静止中のオブジェクトの位置および移動中のオブジェクトの位置の少なくともいずれか一方の位置に対応する位置座標データを、ＣＰＵ７に認識させることにより、オブジェクトの位置が記録される。たとえば、静止中のオブジェクトの重心の位置座標データおよび移動中のオブジェクトの重心の位置座標データの少なくともいずれか一方を、オブジェクトの位置座標データとして、ＣＰＵ７に認識させることにより、オブジェクトの位置が記録される。
【００７８】
具体的には、選手キャラクタがゲーム空間に配置されると、選手キャラクタを構成する各オブジェクトの重心の位置座標データが、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。また、選手キャラクタがゲーム空間において移動すると、移動後の各オブジェクトの重心の位置座標データが、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。さらに、選手キャラクタを構成するオブジェクト、たとえば、投手キャラクタのボールオブジェクトが、投手キャラクタから離反すると、離反したボールオブジェクトの重心の位置座標データが、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。このようにして、ゲーム空間に配置された選手キャラクタの位置、すなわち、選手キャラクタを構成する各オブジェクトの重心の位置が、ＣＰＵ７に監視される。
【００７９】
なお、ここでは、各オブジェクトの重心の位置は、選手キャラクタの代表位置を基準として定義されている。
【００８０】
属性記録手段５４は、オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、オブジェクトの属性を記録する機能を備えている。
【００８１】
この手段では、オブジェクトに割り当てられた属性を示す属性データを、制御部に認識させることにより、オブジェクトの属性が記録される。たとえば、オブジェクトを構成するポリゴンに割り当てられた属性データを、制御部に認識させることにより、オブジェクトの属性が記録される。
【００８２】
具体的には、選手キャラクタがゲーム空間に配置されると、視錐空間内の選手キャラクタを構成する各オブジェクトの属性データが、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。たとえば、属性データとしては、オブジェクトの質感を規定するためのシェーダデータや、オブジェクトのテクスチャを規定するためのテクスチャデータ等が含まれている。
【００８３】
ここでは、シェーダデータが、指定対象となる属性データとして用いられる。このため、オブジェクトが、ゲーム空間に配置されると、ゲーム空間に配置された各オブジェクトに割り当てられたシェーダデータが、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。このようにして、各オブジェクトに対応するシェーダデータが、ＣＰＵ７により管理される。
【００８４】
イベント検査手段５５は、所定のイベントが発生したか否かを、記憶部に格納されたライブラリデータに基づいて、ＣＰＵ７に判断させることにより、所定のイベントの発生の有無を検査する機能を備えている。
【００８５】
この手段では、所定のイベントが発生したか否かを、記憶部に格納されたライブラリデータに基づいて、ＣＰＵ７に判断させることにより、所定のイベントの発生の有無が、検査される。
【００８６】
たとえば、ライブラリデータは、イベントを特定するための複数のイベントデータから構成されている。イベントデータは、たとえば、「投手キャラクタが投球姿勢をとった」、「投手のリリース」、「バットに対するボールの衝突」、および「捕手によるボールの捕球」等のような各イベントを区別するためのデータである。
【００８７】
このようなイベントデータに対応するイベントが発生すると、イベントの発生を示すフラグがオンの状態に設定する処理が、ＣＰＵ７により実行される。たとえば、ライブラリのイベントが発生すると、発生したイベントに対応するフラグデータに「１」を割り当てる処理が、ＣＰＵ７により実行される。なお、ライブラリのイベントが未発生の場合、およびライブラリのイベントが終了した場合は、フラグデータには、「０」が割り当てられている。このようにして、所定のイベントの発生の有無が検査され、イベントの発生の有無が区別される。
【００８８】
命令発行手段５６は、所定のイベントが発生したとＣＰＵ７により判断された場合に、属性を指定するための属性指定命令をＣＰＵ７に発行させる機能を備えている。
【００８９】
この手段では、所定のイベントが発生したとＣＰＵ７により判断された場合に、属性を指定するための属性指定命令が、ＣＰＵ７から発行される。たとえば、投手キャラクタの投球時において、投手キャラクタが投球姿勢をとった時、投手キャラクタからボールがリリースされた時、リリースされたボールがバットに衝突した時、リリースされたボールが捕手キャラクタに捕球された時等に、属性を指定するための属性指定命令たとえばシェーダ指定命令が、ＣＰＵ７から発行される。
【００９０】
属性指定手段５７は、属性を指定するための属性指定命令がＣＰＵ７から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、ＣＰＵ７に認識させることにより、指定属性を設定する機能を備えている。
【００９１】
この手段では、属性指定命令がＣＰＵ７から発行されたときに、属性指定命令に対応する属性データを、指定属性データとして、ＣＰＵ７に認識させることにより、指定属性が設定される。たとえば、シェーダ指定命令がＣＰＵ７から発行されたときに、シェーダ指定命令に対応するシェーダデータを、指定シェーダデータとして、ＣＰＵ７に認識させることにより、指定シェーダが設定される。
【００９２】
より具体的には、投手キャラクタの投球時において、投手キャラクタが投球姿勢をとった時、投手キャラクタからボールがリリースされた時、リリースされたボールがバットに衝突した時、およびリリースされたボールが捕手キャラクタに捕球された時等に、ＣＰＵ７から発行されたシェーダ指定命令に対応するシェーダデータが、指定シェーダデータとして、ＣＰＵ７に認識される。これにより、指定シェーダデータに対応するシェーダが、指定シェーダとして、設定される。
【００９３】
オブジェクト指定手段５８は、指定属性データが割り当てられたオブジェクトを検索する処理を、ＣＰＵ７に実行させることにより、指定属性を有するオブジェクトを指定する機能を備えている。
【００９４】
この手段では、指定属性データが割り当てられたオブジェクトを検索する処理を、ＣＰＵ７に実行させることにより、指定属性を有するオブジェクトが、指定される。たとえば、指定シェーダデータが割り当てられたオブジェクトを検索する処理を、ＣＰＵ７に実行させることにより、指定シェーダを有するオブジェクトが、指定される。
【００９５】
たとえば、投手キャラクタの投球時において、投手キャラクタが投球姿勢をとった時、投手キャラクタからボールがリリースされた時、リリースされたボールがバットに衝突した時、およびリリースされたボールが捕手キャラクタに捕球された時等に、指定シェーダデータが割り当てられたオブジェクトが、複数のオブジェクトの中から、ＣＰＵ７により検索される。このようにして、指定シェーダを有するオブジェクトが、指定される。
【００９６】
より具体的には、投手キャラクタが投球姿勢をとった時には、「投手の顔用の肌」に対応するシェーダデータ（指定シェーダデータ）が指定され、この指定シェーダデータが割り当てられた投手の顔オブジェクトが、複数の他のオブジェクトの中から、ＣＰＵ７により検索される。また、投手キャラクタからボールがリリースされた時には、「ボール用の革」に対応するシェーダデータ（指定シェーダデータ）が指定され、この指定シェーダデータが割り当てられたボールオブジェクトが、複数の他のオブジェクトの中から、ＣＰＵ７により検索される。
【００９７】
また、リリースされたボールがバットに衝突した時には、「バット用の木材」に対応するシェーダデータ（指定シェーダデータ）が指定され、この指定シェーダデータが割り当てられたバットオブジェクトが、複数の他のオブジェクトの中から、ＣＰＵ７により検索される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、「捕手のグローブ用の革」に対応するシェーダデータ（指定シェーダデータ）が指定され、この指定シェーダデータが割り当てられたグローブオブジェクトが、複数の他のオブジェクトの中から、ＣＰＵ７により検索される。
【００９８】
焦点設定手段５９は、指定属性を有するオブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、ＣＰＵ７に認識させることにより、仮想カメラの焦点を、指定属性を有するオブジェクトに設定する機能を備えている。
【００９９】
この手段では、指定属性を有するオブジェクトの位置座標データを、仮想カメラの焦点を規定するための位置座標データとして、ＣＰＵ７に認識させることにより、仮想カメラの焦点が、指定属性を有するオブジェクトに対して設定される。たとえば、指定属性を有するオブジェクトの重心の位置座標データを、仮想カメラの焦点用の位置座標データとして、ＣＰＵ７に認識させることにより、仮想カメラの焦点が、指定属性を有するオブジェクトに対して設定される。
【０１００】
オブジェクト表示手段６０は、指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトを、テレビジョンモニタ２０に表示する機能を備えている。
【０１０１】
この手段では、指定属性を有するオブジェクトに、仮想カメラの焦点を合わした状態で、仮想カメラに映るオブジェクトが、テレビジョンモニタ２０に表示される。たとえば、指定属性を有するオブジェクトが、静止している場合には、仮想カメラの焦点も静止した状態で、維持される。一方で、指定属性を有するオブジェクトが、移動する場合には、仮想カメラの焦点は、このオブジェクトと共に移動する。このように、指定属性を有するオブジェクトが静止していても移動していても、仮想カメラの焦点を常に合わした状態で、仮想カメラに映るオブジェクトを、テレビジョンモニタ２０に表示することができる。
【０１０２】
より具体的には、投手キャラクタが投球姿勢をとった時には、投手キャラクタの顔オブジェクトに焦点が合った状態で、視錐空間の内部のオブジェクトが、テレビジョンモニタ２０に表示される。また、投手キャラクタからボールがリリースされた時には、ボールオブジェクトに焦点が合った状態で、視錐空間の内部のオブジェクトが、テレビジョンモニタ２０に表示される。
【０１０３】
また、リリースされたボールがバットに衝突した時には、バットオブジェクトに焦点が合った状態で、視錐空間の内部のオブジェクトが、テレビジョンモニタ２０に表示される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、捕手のグローブオブジェクトに焦点が合った状態で、視錐空間の内部のオブジェクトが、テレビジョンモニタ２０に表示される。
【０１０４】
命令変更手段６１は、所定のイベントに対応する属性を変更するための命令を、制御部に認識させることにより、属性指定命令を変更する機能を備えている。
【０１０５】
この手段では、所定のイベントに対応する属性を変更するための命令を、制御部に認識させることにより、属性指定命令が変更される。
【０１０６】
たとえば、所定のイベントに対応する指定シェーダを変更するための命令を、制御部に認識させることにより、ＲＡＭ１２に格納された、所定のイベントに対応する指定シェーダが、新規の指定シェーダ（変更後の指定シェーダ）に書き換えられる。そして、所定のイベントが発生したときには、変更後の指定シェーダを指定するためのシェーダ指定命令が、制御部から発行される。
【０１０７】
〔野球ゲームの開発時に用いられる焦点設定システムの概要〕
次に、野球ゲームの開発時に用いられる焦点設定システムの具体的な内容について説明する。また、図１４に示すフローについても同時に説明する。以下では、投手と打者とが対戦する場面において、焦点設定システムが機能する場合を一例として、説明を行う。
【０１０８】
まず、開発用のゲーム装置の電源が投入されゲーム装置が起動されると、開発用の野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされ格納される。このときには、開発用の野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体１０からＲＡＭ１２にロードされ格納される（Ｓ１）。
【０１０９】
たとえば、基本ゲームデータには、各種の画像に関するデータが、含まれている。そして、この各種の画像に関するデータ、たとえば、モデルの画像に関するデータが、ＣＰＵ７に認識される。具体的には、モデルの画像に関するデータは、選手キャラクタの画像に関するデータ、選手キャラクタを除く他のキャラクタの画像に関するデータ、およびスタジアムの画像に関するデータ等から構成されている。また、基本ゲームデータには、ゲーム空間用の各種の画像に関するデータを３次元ゲーム空間に配置するための位置座標データが含まれている。なお、本システムで用いられる各種のデータも、基本ゲームデータに含まれている。
【０１１０】
続いて、モデルの位置を規定するための位置座標データを、ＣＰＵ７に認識させることにより、モデルがゲーム空間に配置される（Ｓ２）。モデルの位置座標データの初期値は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。なお、モデルは、少なくとも１つのオブジェクトから構成されており、モデルがゲーム空間に配置されると、モデルを構成するオブジェクトも、ゲーム空間に配置される。
【０１１１】
ここでは、スタジアム用のモデル（以下では、スタジアムと呼ぶ）および選手キャラクタ用のモデル（以下では、選手キャラクタと呼ぶ）等が、モデルに対応している。モデルには、モデルをゲーム空間に配置するときに用いられる基準位置（代表位置）が、所定の位置に設定されている。
【０１１２】
たとえば、選手キャラクタの場合、図３および図４に示すように、体幹オブジェクトの重心位置ＴＧ（ＴＧ１，ＴＧ２）が、代表位置に設定されている。ここでは、ゲーム空間における、選手キャラクタ用の位置座標データ（初期値）が示す位置に、選手キャラクタの代表位置ＴＧが配置される。なお、図３および図４には、投手キャラクタ用のモデルＭ１、および打者キャラクタ用のモデルＭ２が、示されている。他のモデルについては、図を省略する。
【０１１３】
このように、選手キャラクタの代表位置ＴＧの位置座標データを、ＣＰＵ７に認識させることにより、初期姿勢をとった選手キャラクタが、ゲーム空間に配置される。たとえば、投球姿勢をとった投手キャラクタＭ１（図３を参照）、打撃姿勢をとった打者キャラクタＭ２（図４を参照）、捕球姿勢をとった野手キャラクタ（図示しない）等が、ゲーム空間に配置される。なお、スタジアムや他のキャラクタ等も、選手キャラクタの場合と同様にして、ゲーム空間に配置される。
【０１１４】
ここで、モデルを構成するオブジェクトについての詳細な説明を行っておく。
【０１１５】
スタジアムは、スタンドオブジェクト、各エリアの観客オブジェクト、１塁側又は２塁側のベンチオブジェクト等から構成されている。また、スタジアムには、投手板（プレート）やベース等のオブジェクトも含まれている。
【０１１６】
また、選手キャラクタは、投手キャラクタＭ１、打者キャラクタＭ２、捕手キャラクタ、投手キャラクタＭ１および捕手キャラクタを除く野手キャラクタ、および走者キャラクタ等を含んでいる。これらの各キャラクタは、複数のオブジェクトから構成されている。
【０１１７】
たとえば、図３に示すように、投手キャラクタＭ１は、脚オブジェクトＯＡ１、靴オブジェクトＯＢ１、体幹オブジェクトＯＣ１、腕オブジェクトＯＤ１、手オブジェクトＯＥ１、顔オブジェクトＯＦ１、帽子オブジェクトＯＧ１、グローブオブジェクトＯＨ１、およびボールオブジェクトＯＩ１等から構成されている。また、図４に示すように、打者キャラクタＭ２は、脚オブジェクトＯＡ２、靴オブジェクトＯＢ２、体幹オブジェクトＯＣ２、腕オブジェクトＯＤ２、手オブジェクトＯＥ２、顔オブジェクトＯＦ２、ヘルメットオブジェクトＯＧ２、およびバットオブジェクトＯＨ２等から構成されている。
【０１１８】
同様に、野手キャラクタは、脚オブジェクト、靴オブジェクト、体幹オブジェクト、腕オブジェクト、手オブジェクト、顔オブジェクト、帽子オブジェクト、およびグローブオブジェクト等から構成されている。捕手キャラクタは、脚オブジェクト、靴オブジェクト、体幹オブジェクト、腕オブジェクト、手オブジェクト、顔オブジェクト、帽子オブジェクト、グローブオブジェクト、および各種プロテクタオブジェクト等から構成されている。走者キャラクタは、脚オブジェクト、靴オブジェクト、体幹オブジェクト、腕オブジェクト、手オブジェクト、顔オブジェクト、およびヘルメットオブジェクト等から構成されている。
【０１１９】
このような各オブジェクトは、複数のポリゴンにより形成されている。これら複数のポリゴンそれぞれの座標データを、ＣＰＵ７に認識させることにより、各オブジェクトの形状が、形成され設定される。
【０１２０】
また、複数のポリゴンの座標データに基づいて重心を算出する処理が、ＣＰＵ７により実行される。重心を算出する方程式には、「∫ρ（ｒ）ｒｄV／∫ρ（ｒ）ｄV」が用いられる。この方程式においては、ρは密度、ｒは位置ベクトルを示す。また、∫ｄVは体積分、分母は全質量を示す。ここでは、密度を一定にし、複数のポリゴンの座標データを平均化する処理を、ＣＰＵ７に実行させることにより、各オブジェクトの重心が、算出される。各オブジェクトの重心の位置は、選手キャラクタの代表位置ＴＧを基準として定義されている。
【０１２１】
なお、各オブジェクトを構成する複数のポリゴンの座標データの初期値は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。
【０１２２】
また、各オブジェクトには、オブジェクトの属性を示す属性データＺＤ（ｊ,ｋ,ｌ）が、割り当てられている。ここで、ｊは、モデルを区別するためのパラメータであり、ｋは、オブジェクトを区別するためのパラメータであり、ｌは、属性の種類を区別するためのパラメータである。
【０１２３】
たとえば、投手キャラクタの場合、ｊには「１」が割り当てられる。そして、投手キャラクタの各オブジェクトＯＡ１，ＯＢ１，ＯＣ１，ＯＤ１，ＯＥ１，ＯＦ１，ＯＧ１，ＯＨ１，ＯＩ１に対応するｋには、「１」から「９」までの自然数が割り当てられる。同様に、打者キャラクタの場合、ｊには「２」が割り当てられる。そして、打者キャラクタの各オブジェクトＯＡ２，ＯＢ２，ＯＣ２，ＯＤ２，ＯＥ２，ＯＦ２，ＯＧ２，ＯＨ２に対応するｋには、「１」から「８」までの自然数が割り当てられる。また、属性が、テクスチャである場合、ｌには「１」が割り当てられる。そして、属性が、シェーダである場合、ｌには「２」が割り当てられる。そして、このようにして、各オブジェクトの属性データＺＤ（ｋ,ｌ）を、選手キャラクタごとに区別することができる（図５を参照）。なお、捕手キャラクタの場合、ｊには「３」が割り当てられる（図示しない）。
【０１２４】
ここでは、各オブジェクトに対して、所定の属性データＺＤ（ｊ,ｋ,ｌ）が、割り当てられる。所定の属性データＺＤ（ｊ,ｋ,ｌ）は、各オブジェクトを構成する複数のポリゴンそれぞれに割り当てられる。たとえば、各オブジェクトを構成する複数のポリゴンそれぞれに、所定の同じ属性データＺＤ（ｊ,ｋ,ｌ）を割り当てる処理を、ＣＰＵ７に実行させることにより、ポリゴンの集合体としてのオブジェクトが、同じ属性を有するように、オブジェクトの属性が設定される。
【０１２５】
なお、属性データＺＤ（ｊ,ｋ,ｌ）としては、オブジェクトの質感を規定するためのシェーダデータや、オブジェクトのテクスチャを規定するためのテクスチャデータ等が含まれている。ここでは、シェーダデータＺＤ（ｊ,ｋ,２）が、指定対象となる属性データとして用いられる。
【０１２６】
シェーダは、オブジェクト（ポリゴン）に質感を設定するためのものである。ここでは、ＲＡＭ１２におけるシェーダデータＺＤ（ｊ,ｋ,２）の記憶位置を示すシェーダアドレスデータと、ＲＡＭ１２におけるポリゴンの座標データの記憶位置を示すポリゴンアドレスデータとは、互いに関連付けられている。これにより、所定のシェーダデータＺＤ（ｊ,ｋ,２）が、各ポリゴンに割り当てられ、各ポリゴンの内部領域に、シェーダが示す質感を表現することができる。すなわち、各オブジェクトに対して、シェーダデータＺＤ（ｊ,ｋ,２）が示す質感を、設定することができる。また、シェーダと同様の形態で、ポリゴンの内部領域に、テクスチャを設定することができる。
【０１２７】
続いて、仮想カメラＣの配置位置Ｃ１を示す位置座標データを、ＣＰＵ７に認識させることにより、図６に示すように、仮想カメラＣが、ゲーム空間に配置される（Ｓ３）。また、ＣＰＵ７から発行された移動命令に基づいて、仮想カメラＣが移動させられた場合、この移動命令に対応する仮想カメラＣの配置位置を示す位置座標データが、ＣＰＵ７に認識される。このように、仮想カメラＣの位置座標データをＣＰＵ７に認識させることにより、仮想カメラＣが、ゲーム空間に配置される。
【０１２８】
なお、仮想カメラＣを移動するための移動命令は、コントローラ１７が操作されたときの入力信号や、自動制御プログラム（ＡＩプログラム、Artificial Intelligence Program）に記述された命令等に基づいて、ＣＰＵ７から発行される。このように、仮想カメラＣは、コントローラ１７により手動で移動可能、且つ自動制御プログラムにより自動で移動可能になっている。
【０１２９】
ここでは、ホームベースの重心が、ゲーム空間を規定する原点Ｏに設定されている。そして、ホームベースの重心を基準として、ホームベースの垂直上方がｚ軸に設定されている。そして、ホームベースの重心を基準として、ｚ軸に垂直であり、ホームベースから投手板（プレート）に向かう方向に、ｙ軸が設定されている。そして、ｙ軸およびｚ軸に垂直であり、１塁スタンド側に延びる方向に、ｘ軸が設定されている。このような座標系（絶対座標系）によって、ゲーム空間は定義されている。
【０１３０】
投手キャラクタＭ１と打者キャラクタＭ２とが対戦する場面では、投手キャラクタＭ１とバックネットとの間に、仮想カメラＣが配置される。たとえば、ホームベースの重心（原点）を基準とした、ｙ軸上のプレートとは反対側の所定の位置に、仮想カメラＣが配置される。仮想カメラＣの配置位置を示す位置座標データ（仮想カメラＣの位置座標データ）は、ゲームプログラムにおいて予め規定されたデータである。仮想カメラＣの位置座標データは、ＲＡＭ１２に格納されている。この仮想カメラＣの位置座標データを、ＣＰＵ７に認識させることにより、仮想カメラＣが、ゲーム空間の上記の位置に配置される。
【０１３１】
なお、ここでは、投手キャラクタＭ１とバックネットとの間に、仮想カメラＣが配置される場合の例が示されるが、仮想カメラＣの配置位置は、上記の例の位置に限定されず、どの位置に配置しても良い。
【０１３２】
続いて、図６に示すように、ゲーム空間において仮想カメラＣが撮影可能な空間に対応する視錐空間ＳＳが、設定される（Ｓ４）。たとえば、視錐空間ＳＳを規定するための表示空間用のデータＨＳ（ｍ）を、ＣＰＵ７に認識させることにより、視錐空間ＳＳが、ゲーム空間に設定される。表示空間用のデータＨＳ（ｍ）は、仮想カメラＣの注視点の位置座標データＨＳ（１）、仮想カメラＣの画角Ｇ１,Ｇ２に対応する角度データＨＳ（２）,ＨＳ（３）、および仮想カメラＣで撮影する奥行き方向の撮影範囲を規定するための位置データＨＳ（４）,ＨＳ（５）から構成されている。
【０１３３】
具体的には、仮想カメラＣの注視点Ｃ２の位置座標データＨＳ（１）を、ＣＰＵ７に認識させることにより、仮想カメラＣの注視点Ｃ２が、ゲーム空間に設定される。これにより、仮想カメラＣの視線方向が、ゲーム空間に設定される。そして、仮想カメラＣの画角Ｇ１,Ｇ２に対応する角度データＨＳ（２）,ＨＳ（３）を、ＣＰＵ７に認識させることにより、視錐空間ＳＳの上下方向および左右方向の範囲が設定される。
【０１３４】
そして、仮想カメラＣの視線方向に互いに所定の間隔を隔てて配置された２つの位置データＨＳ（４）,ＨＳ（５）を、ＣＰＵ７に認識させることにより、奥行き方向の撮影範囲が設定される。仮想カメラＣの視線方向の位置データＨＳ（４）,ＨＳ（５）は、仮想カメラＣの配置位置から所定の第１距離を隔てた位置の位置座標データＨＳ（４）、および仮想カメラＣの配置位置から所定の第２距離（＞第１距離）を隔てた位置の位置座標データＨＳ（５）から構成されている。仮想カメラＣから所定の第１距離を隔てた位置Ｐ１の位置座標データＨＳ（４）を、ＣＰＵ７に認識させることにより、仮想カメラＣと注視点Ｃ２とを結ぶ直線に直交する第１面Ｄ１（カメラ側に近い面）が、設定される。また、仮想カメラＣから所定の第２距離（＞第１距離）を隔てた位置Ｐ２の位置座標データＨＳ（５）を、ＣＰＵ７に認識させることにより、仮想カメラＣと注視点Ｃ２とを結ぶ直線に直交する第２面Ｄ２（仮想カメラＣを基準として第１面より離れた面）が、設定される。
【０１３５】
ここで、第１面Ｄ１は、仮想カメラＣと打者キャラクタＭ２との間に設定される。また、仮想カメラＣの注視点Ｃ２は、センターのスタンドに設定される。たとえば、仮想カメラＣの注視点Ｃ２は、ｙ軸上の所定の位置から上方に所定の距離を隔てた位置、たとえばセンタースタンドの位置に、配置される。
【０１３６】
また、仮想カメラＣの画角Ｇ１,Ｇ２は、仮想カメラＣの配置位置Ｃ１と注視点Ｃ２とを結ぶ直線を基準線として、水平方向および垂直方向に、定義されている。たとえば、仮想カメラＣの水平方向の画角Ｇ１は、仮想カメラＣの配置位置Ｃ１と注視点Ｃ２とを結ぶ基準線を中心に、この基準線の左右方向に所定の角度で設定される。また、仮想カメラＣの垂直方向の画角Ｇ２は、仮想カメラＣの配置位置Ｃ１と注視点Ｃ２とを結ぶ基準線を中心に、この基準線の垂直方向に所定の角度で設定される。
【０１３７】
さらに、仮想カメラＣから所定の第１距離を隔てた位置Ｐ１、および仮想カメラＣから所定の第２距離を隔てた位置Ｐ２は、仮想カメラＣと注視点Ｃ２とを結ぶ直線上に定義されている。ここでは、仮想カメラＣから第１距離を隔てた位置Ｐ１は、仮想カメラＣの配置位置とホームベースとの間の所定の位置に、設定される。また、仮想カメラＣから第２距離を隔てた位置Ｐ２は、スタンド場外の所定の位置に、設定される。
【０１３８】
上記の表示空間用のデータＨＳ（ｍ）は、ゲームプログラムにおいて予め規定されたデータである。表示空間用のデータＨＳ（ｍ）は、ＲＡＭ１２に格納されている。このような表示空間用のデータＨＳ（ｍ）を、ＣＰＵ７に認識させることにより、視錐空間ＳＳが、ゲーム空間の内部に配置される。
【０１３９】
なお、仮想カメラＣの焦点ＳＦの初期位置Ｐ＿ＳＦｏは、視錐空間ＳＳ内の所定の位置、たとえば打者キャラクタＭ２の顔オブジェクトＯＦ２の重心位置Ｗ２６（図８を参照）に、規定されている。この位置は、ゲームプログラムにおいて予め規定されている。また、表示空間用のデータＨＳ（１）,ＨＳ（４）,ＨＳ（５）は、位置座標データを表す記号である。このため、厳密には、表示空間用のデータＨＳ（１）,ＨＳ（４）,ＨＳ（５）は、ＨＳ（ｘ,ｙ,ｚ,１）,ＨＳ（ｘ,ｙ,ｚ,４）,ＨＳ（ｘ,ｙ,ｚ,５）となる。しかしながら、ここでは、表示空間用のデータを、「ＨＳ（１）,ＨＳ（４）,ＨＳ（５）」のように簡略化して表記している。また、表示空間用のデータＨＳ（２）,ＨＳ（３）は、角度データを表す記号である。
【０１４０】
なお、ここでは、モデルがゲーム空間に配置された後に、仮想カメラの設定および視錐空間の設定が実行される場合の例が、示されている。しかしながら、仮想カメラの設定および視錐空間の設定が実行された後に、モデルがゲーム空間に配置されるようにしても良い。
【０１４１】
続いて、プレイの開始を示す命令がＣＰＵ７から発行されると（Ｓ５）、各オブジェクトの位置が、記録される（Ｓ６）。たとえば、オブジェクトの位置を規定するための位置座標データＯＪ（ｊ,ｋ）をＣＰＵ７に認識させることにより、オブジェクトの位置が記録される。詳細には、静止中のオブジェクトの重心の位置座標データおよび移動中のオブジェクトの重心の位置座標データの少なくともいずれか一方を、オブジェクトの位置座標データＯＪ（ｊ,ｋ）として、ＣＰＵ７に認識させることにより、オブジェクトの位置が記録される。
【０１４２】
具体的には、投手キャラクタＭ１と打者キャラクタＭ２との対戦プレイが開始されると、視錐空間ＳＳ内の選手キャラクタを構成する各オブジェクトの重心の位置座標データＯＪ（ｊ,ｋ）が、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。また、選手キャラクタが移動した場合、移動後の各オブジェクトの重心の位置座標データＯＪ（ｊ,ｋ）が、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。さらに、選手キャラクタを構成するオブジェクト、たとえば、投手キャラクタＭ１のボールオブジェクトＯＩ１が、投手キャラクタＭ１から離反すると、離反したボールオブジェクトＯＩ１の重心の位置座標データＯＪ（１,９）が、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。このように、視錐空間ＳＳに配置された各オブジェクトの重心の位置は、ＣＰＵ７により常に監視される。なお、ここでは、各オブジェクトの重心の位置は、絶対座標系において定義された位置である。
【０１４３】
図７には、投手キャラクタＭ１が投球姿勢をとっているときの、各オブジェクトの重心位置Ｗ１１〜Ｗ１９が、示されている。また、図８には、打者キャラクタＭ２が打撃姿勢をとっているときの、各オブジェクトの重心位置Ｗ２１〜２８が、示されている。上記では、各オブジェクトの重心位置Ｗ１１〜Ｗ１９に対応する位置座標データが、「ＯＪ（１,ｋ），ｋ＝１〜９」で表現されている。また、上記では、各オブジェクトの重心位置Ｗ２１〜Ｗ２８に対応する位置座標データが、「ＯＪ（２,ｋ），ｋ＝１〜８」で表現されている。さらに、図７では、図３に示した体幹オブジェクトの重心位置ＴＧ１，ＴＧ２が、記号「Ｗ１３，Ｗ２３」で示されている。
【０１４４】
なお、位置座標データＯＪ（ｊ,ｋ）は、位置座標データであるので、厳密には、ＯＪ（ｘ,ｙ,ｚ,ｊ,ｋ）となる。しかしながら、ここでは、位置座標データを、ＯＪ（ｊ,ｋ）のように簡略化して表記している。
【０１４５】
ここでは、モデルが移動する位置、およびモデルが移動したときの姿勢は、ゲームプログラムにおいて予め規定されている。たとえば、時間が経過するにつれて変化する、投手キャラクタＭ１の投球動作や打者キャラクタＭ２のスイング動作は、ゲームプログラムにおいて予め規定されている。すなわち、時間が経過するにつれて変化する、選手キャラクタの姿勢および位置（各オブジェクトの姿勢および位置）は、ゲームプログラムにおいて予め規定されている。そして、選手キャラクタが動作したときには、各オブジェクトの重心の位置が、１フレームごとに、ＣＰＵ７に認識されＲＡＭ１２に格納される。このように、選手キャラクタが動作しても、選手キャラクタを構成する各オブジェクトの位置は、ＣＰＵ７により把握され、ＲＡＭ１２に記録される。
【０１４６】
続いて、各オブジェクトのシェーダが、記録される（Ｓ７）。たとえば、各オブジェクトに割り当てられたシェーダデータＺＤ（ｊ,ｋ,２）を、ＣＰＵ７に認識させることにより、各オブジェクトのシェーダが記録される。詳細には、各オブジェクトを構成するポリゴンに割り当てられたシェーダデータＺＤ（ｊ,ｋ,２）を、ＣＰＵ７に認識させることにより、各オブジェクトのシェーダが記録される。
【０１４７】
具体的には、プレイ開始後に、各オブジェクトがゲーム空間に配置され、各オブジェクトがＣＰＵ７に認識されると、ゲーム空間に配置された各オブジェクトに割り当てられたシェーダデータＺＤ（ｊ,ｋ,２）が、ＣＰＵ７に認識され、ＲＡＭ１２に格納される。このようにして、各オブジェクトのシェーダデータＺＤ（ｊ,ｋ,２）が、ＣＰＵ７により管理される。
【０１４８】
オブジェクトの質感を示すシェーダには、「脚用のユニフォーム」、「靴用の革」、「体幹用のユニフォーム」、「腕用のユニフォーム」、「手用の肌」、「顔用の肌」、「帽子用の布」、「ヘルメット用のプラスティック」、「バット用の木材」、「グローブ用の革」、および「ボール用の革」等が、用意されている（図５を参照）。
【０１４９】
続いて、プレイ中には、所定のイベントの発生の有無が、検査される（Ｓ８）。たとえば、所定のイベントが発生したか否かを、記憶部に格納されたライブラリデータに基づいて、ＣＰＵ７に判断させることにより、所定のイベントの発生の有無が、検査される。ライブラリデータは、図９に示すように、イベントを特定するための複数のイベントデータＩから構成されている。イベントデータＩは、たとえば、「投手キャラクタが投球姿勢をとった」、「投手のリリース」、「バットに対するボールの衝突」、および「捕手によるボールの捕球」等のような各イベントを区別するためのデータである。
【０１５０】
このようなイベントデータＩに対応するイベントが発生すると（Ｓ８でＹｅｓ）、イベントの発生を示すフラグＦ（Ｉ）をオンの状態に設定する処理が、ＣＰＵ７により実行される。たとえば、ライブラリのイベントが発生すると、発生したイベントに対応するフラグデータＦ（Ｉ）に「１」を割り当てる処理が、ＣＰＵ７により実行される。一方で、ライブラリのイベントが未発生の場合、ライブラリのイベントが終了した場合、およびあるイベントから他のイベントへと切り替わった場合（Ｓ８でＮｏ）、フラグデータＦ（Ｉ）には、「０」が割り当てられている。このようにして、所定のイベントの発生の有無が管理され、イベントの発生の有無が区別される。
【０１５１】
具体的には、投手キャラクタＭ１が投球姿勢をとった時には、このイベントに対応するフラグデータＦ（Ｉ）に「１」が割り当てられる。そして、投手キャラクタＭ１からボールがリリースされた時、リリースされたボールがバットに衝突した時、およびリリースされたボールが捕手キャラクタに捕球された時等には、発生したイベントに対応するフラグデータＦ（Ｉ）に「１」が割り当てられ、事前に発生したイベントに対応するフラグデータＦ（Ｉ）に「０」が割り当てられる。このようなフラグデータＦ（Ｉ）をＣＰＵ７に参照させることにより、現在発生しているイベントが、特定される。
【０１５２】
続いて、シェーダの指定が、行われる。たとえば、所定のイベントが発生したとＣＰＵ７により判断された場合（Ｓ８でＹｅｓ）、シェーダを指定するためのシェーダ指定命令が、ＣＰＵ７から発行される。ここでは、所定のイベントが発生した時、たとえば、投手キャラクタＭ１の投球時においては、投手キャラクタＭ１が投球姿勢をとった時、投手キャラクタＭ１からボールがリリースされた時、リリースされたボールがバットに衝突した時、リリースされたボールが捕手キャラクタに捕球された時等に、シェーダを指定するためのシェーダ指定命令すなわちばシェーダ指定命令が、ＣＰＵ７から発行される。
【０１５３】
ここでＣＰＵ７から発行されるシェーダ指定命令は、発生したイベントに対応するシェーダを指定するための命令である。具体的には、投手キャラクタＭ１が投球姿勢をとった時には、「投手の顔用の肌」をシェーダに指定する命令が、ＣＰＵ７から発行される。また、投手キャラクタＭ１からボールがリリースされた時には、「ボール用の革」をシェーダに指定する命令が、ＣＰＵ７から発行される。また、リリースされたボールがバットに衝突した時には、「ボール用の革」をシェーダに指定する命令が、ＣＰＵ７から発行される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、「捕手のグローブ用の革」をシェーダに指定する命令が、ＣＰＵ７から発行される。
【０１５４】
なお、発生したイベントと指定シェーダ（指定シェーダデータ）との対応関係は、図１０に示すように、対応テーブルに基づいて、ＣＰＵ７により管理されている。
【０１５５】
このようにして、各イベントに対応するシェーダ指定命令が、ＣＰＵ７から発行されると（Ｓ８でＹｅｓ）、シェーダの指定が行われる（Ｓ９）。たとえば、シェーダ指定命令に対応するシェーダデータＺＤ（ｊ,ｋ,２）を、指定シェーダデータＺＤｏ（ｊ,ｋ,２）として、ＣＰＵ７に認識させることにより、指定シェーダ（シェーダ指定命令に対応するシェーダ）が設定される。
【０１５６】
図１１には、指定シェーダと、指定シェーダデータＺＤｏ（ｊ,ｋ,２）との対応関係が、示されている。なお、図１１では、捕手キャラクタの「グローブ用の革」に対応するｋの値を「９」に設定し、シェーダデータＺＤ（３，９，２）の値が「９」に設定されている。
【０１５７】
具体的には、投手キャラクタＭ１が投球姿勢をとった時には、「投手の顔用の肌」が指定シェーダに設定される。また、投手キャラクタＭ１からボールがリリースされた時には、「ボール用の革」が指定シェーダに設定される。また、リリースされたボールがバットに衝突した時には、「ボール用の革」が指定シェーダに設定される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、「捕手のグローブ用の革」が指定シェーダに設定される。
【０１５８】
このようにして、発生したイベントに応じて、シェーダの切り換えが、自動的に実行される。なお、ここでは、投手キャラクタＭ１からボールがリリースされた時と、リリースされたボールがバットに衝突した時とでは、同じシェーダが設定されるようになっている。しかしながら、リリースされたボールがバットに衝突した瞬間は、「バット用の木材」を指定シェーダに設定し、打ち返されたボールが飛球中は、「ボール用の革」を指定シェーダに設定するようにしても良い。
【０１５９】
なお、各イベントに対応するシェーダ指定命令が、ＣＰＵ７から発行されていない状態では（Ｓ８でＮｏ）、所定のイベントの発生の有無が、継続して検査される。
【０１６０】
続いて、指定シェーダを有するオブジェクトが、設定される（Ｓ１０）。たとえば、指定シェーダデータＺＤｏ（ｊ,ｋ,２）に対応するシェーダ（指定シェーダ）が割り当てられたオブジェクトを検索する処理を、ＣＰＵ７に実行させることにより、指定シェーダを有するオブジェクトが、設定される。
【０１６１】
具体的には、投手キャラクタＭ１が投球姿勢をとった時には、「投手の顔用の肌」に対応する指定シェーダデータＺＤｏ（１，６，２）が割り当てられた、顔オブジェクトＯＦ１が、複数のオブジェクトの中からＣＰＵ７により検索される。また、投手キャラクタＭ１からボールがリリースされた時には、「ボール用の革」に対応する指定シェーダデータＺＤｏ（１，９，２）が割り当てられた、ボールオブジェクトＯＩ１が、複数のオブジェクトの中からＣＰＵ７により検索される。
【０１６２】
また、リリースされたボールがバットに衝突した時には、「ボール用の革」に対応する指定シェーダデータＺＤｏ（１，９，２）が割り当てられた、ボールオブジェクトＯＩ１が、複数のオブジェクトの中からＣＰＵ７により検索される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、「捕手のグローブ用の革」に対応する指定シェーダデータＺＤｏ（３,ｋ，２）が割り当てられた、捕手キャラクタのグローブオブジェクトＯＨ３が、複数のオブジェクトの中からＣＰＵ７により検索される。なお、ここでは、捕手キャラクタのグローブオブジェクトを示す記号として、「ＯＨ３」が用いられている。
【０１６３】
これにより、投手キャラクタＭ１と打者キャラクタＭ２とが対戦する場面において、投手キャラクタＭ１や打者キャラクタＭ２が動作した場合、発生したイベントに応じて、指定シェーダが順に切り換えられ、この指定シェーダが割り当てられたオブジェクトＯＦ１，ＯＩ１，ＯＨ３が、指定される。すなわち、発生したイベントに応じて、指定シェーダが自動的に切り換えられ、この指定シェーダの切り換えに応じて、指定オブジェクトＯＦ１，ＯＩ１，ＯＨ３（指定シェーダが割り当てられたオブジェクト）も、自動的に切り換えられる。
【０１６４】
続いて、仮想カメラＣの焦点ＳＦが、設定される（Ｓ１１）。たとえば、指定シェーダが割り当てられたオブジェクト（指定オブジェクト）の位置座標データを、仮想カメラＣの焦点ＳＦを規定するための位置座標データとして、ＣＰＵ７に認識させることにより、仮想カメラＣの焦点ＳＦが、指定オブジェクトに設定される。詳細には、指定オブジェクトＯＦ１，ＯＩ１，ＯＨ３の重心Ｗ１６，Ｗ１９，Ｗ３８の位置座標データＯＪ（ｊ，ｋ）を、仮想カメラＣの焦点用の位置座標データＣＯＪｏ（ｊ，ｋ）として、ＣＰＵ７に認識させることにより、仮想カメラＣの焦点ＳＦが、指定オブジェクトＯＦ１，ＯＩ１，ＯＨ３に対して設定される。なお、ここでは、捕手キャラクタのグローブオブジェクトの重心を示す記号として、「Ｗ３８」が用いられている。
【０１６５】
具体的には、投手キャラクタＭ１が投球姿勢をとった時には、顔オブジェクトＯＦ１（指定オブジェクト）の重心位置Ｗ１６に、仮想カメラＣの焦点ＳＦが設定される。また、投手キャラクタＭ１からボールがリリースされた時には、ボールオブジェクトＯＩ１（指定オブジェクト）の重心位置Ｗ１９に、仮想カメラＣの焦点ＳＦが設定される。また、リリースされたボールがバットに衝突した時には、ボールオブジェクトＯＩ１（指定オブジェクト）の重心位置Ｗ１６に、仮想カメラＣの焦点ＳＦが設定される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、捕手キャラクタのグローブオブジェクト（指定オブジェクト）の重心位置Ｗ３８に、仮想カメラＣの焦点ＳＦが設定される。
【０１６６】
続いて、指定オブジェクトに仮想カメラＣの焦点ＳＦを合わした状態で、仮想カメラＣに映るモデルすなわち各種のオブジェクトが、テレビジョンモニタ２０に表示される（Ｓ１２）。すなわち、仮想カメラＣに撮影された画像が、テレビジョンモニタ２０に出力される。ここでは、たとえば、モデルが静止している場合には、仮想カメラＣの焦点ＳＦも静止した状態で、維持される。一方で、モデルが移動する場合には、モデルの移動に連動して、仮想カメラＣの焦点ＳＦも移動する。このように、モデルが静止していても移動していても、仮想カメラＣの焦点ＳＦを常に指定オブジェクトＯＦ１，ＯＩ１，ＯＨ３に合わした状態で、仮想カメラＣに映るモデルが、テレビジョンモニタ２０に表示される。
【０１６７】
具体的には、投手キャラクタＭ１が投球姿勢をとった時には、投手キャラクタＭ１の顔オブジェクトＯＦ１に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。また、投手キャラクタＭ１からボールがリリースされた時には、ボールオブジェクトＯＩ１に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。また、リリースされたボールがバットに衝突した時には、ボールオブジェクトＯＩ１に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。さらに、リリースされたボールが捕手キャラクタに捕球された時には、捕手のグローブオブジェクトＯＨ３に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１６８】
なお、リリースされたボールが捕手キャラクタに捕球される時には、仮想カメラＣの配置位置Ｃ１を、図６の注視点Ｃ２に移動することにより、捕手キャラクタが正面側から仮想カメラＣにより撮影される。この場合、捕手キャラクタを正面側から撮影できるように、表示空間用のデータＨＳ（ｍ）が適宜修正される。この場合に用いられる表示空間用のデータＨＳ（ｍ）は、ゲームプログラムにおいて予め規定されたデータである。
【０１６９】
続いて、プレイが終了したか否かが、ＣＰＵ７により判断される（Ｓ１３）。ここで、プレイが終了した場合、すなわちプレイの終了を示す命令がＣＰＵ７から発行された場合（Ｓ１３でＹｅｓ）、プレイ中の各種データがＲＡＭ１２に格納される（Ｓ１４）。なお、ここでは、プレイの終了を示すタイミングは、ゲームプログラムにおいて予め規定されており、プレイが終了したときに、プレイの終了を示す命令が、ＣＰＵ７から自動的に発行される。
【０１７０】
このため、プレイが継続中の場合、すなわちプレイの終了を示す命令がＣＰＵ７から発行されていない状態では（Ｓ１３でＮｏ）、１プレイが終了するまで、実行中の処理が、ＣＰＵ７により監視される。そして、プレイの終了を示す命令がＣＰＵ７から発行されたときに、プレイが終了する（Ｓ１３でＹｅｓ）。
【０１７１】
続いて、所定のイベントが発生したときに指定されるシェーダ（指定シェーダ）を変更するための命令が、発行されたか否かが、ＣＰＵ７により判断される（Ｓ１５）。言い換えると、イベントと指定シェーダとの対応関係を示す対応テーブルを修正するための命令が、発行されたか否かが、ＣＰＵ７により判断される。たとえば、テレビジョンモニタ２０に表示された指定シェーダ変更用のボタン（図示しない）が押されたか否かが、ＣＰＵ７により判断される。ここで、指定シェーダ変更用のボタンが押された場合、すなわち対応テーブルを修正するための命令が、ＣＰＵ７から発行された場合（Ｓ１５でＹｅｓ）、対応テーブルを修正するための修正画面が、図１２（ａ）に示すように、テレビジョンモニタ２０に表示される。この状態で、ゲーム制作者が、コントローラ１７を操作することにより、所望のシェーダを指定すると（図１２（ｂ）を参照）、対応テーブルが修正され、修正後の対応テーブルがＲＡＭ１２に格納される（Ｓ１６）。
【０１７２】
図１２（ｂ）では、ゲーム制作者により指定シェーダの欄が選択されると、プルダウンメニューが表示される。そして、プルダウンメニューにおいて、ゲーム制作者が所望するシェーダが選択されると、選択されたシェーダが、イベントに対応する新規の指定シェーダとして、ＣＰＵ７に認識される。このようにして、対応テーブルが修正され、修正後の対応テーブルがＲＡＭ１２に格納される。
【０１７３】
なお、指定シェーダ変更用のボタンが押されなかった場合、すなわち対応テーブルを修正するための命令が、ＣＰＵ７から発行されなかった場合（Ｓ１５でＮｏ）、対応テーブルを修正するための修正画面は、テレビジョンモニタ２０に表示されない。この場合は、後述するステップ１７（Ｓ１７）の処理が、ＣＰＵ７により実行される。
【０１７４】
続いて、対応テーブルを修正した後のプレイをテレビジョンモニタ２０に表示するためのリプレイ命令が、指示されたか否かが、ＣＰＵ７により判断される（Ｓ１７）。たとえば、テレビジョンモニタ２０に表示されたリプレイ用のボタン（図示しない）が押されたか否かが、ＣＰＵ７により判断される。ここで、リプレイ用のボタンが押された場合、すなわちリプレイ命令がＣＰＵ７に認識された場合（Ｓ１７でＹｅｓ）、修正後の対応テーブルに基づいて、ステップ５（Ｓ５）の処理が、ＣＰＵ７により再実行される。すると、修正後の指定シェーダを有するオブジェクトに仮想カメラＣの焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１７５】
具体的には、「投手キャラクタが投球姿勢をとった」に対応する指定シェーダが、「投手の顔用の肌」から「投手のグローブ用の革」に変更されたときに（図１２（ｂ）を参照）、リプレイ用のボタンが押されると、投手キャラクタＭ１が投球姿勢をとった時に、投手キャラクタＭ１のグローブオブジェクトに焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。同様に、他のイベントに対応する指定シェーダが変更されたときに、リプレイ用のボタンが押されると、修正後の対応テーブルのイベントが発生した時に、発生したイベントに対応するオブジェクト（変更後の指定シェーダが割り当てられたオブジェクト）に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１７６】
このように、ゲーム制作者は、テレビジョンモニタ２０に表示された画像を目で確認した上で、イベントと指定シェーダとの対応関係を修正し、イベント発生時に仮想カメラＣの焦点ＳＦを合わせるオブジェクトを、変更することができる。このように、本実施形態では、ライブラリデータに基づいて指定シェーダを容易に設定することができるだけでなく、指定シェーダを容易に変更することができる。これにより、ゲーム制作者は、所望のオブジェクトに容易に仮想カメラＣの焦点ＳＦを合わせることができる。
【０１７７】
続いて、開発用の野球ゲームを終了するか否かが、ＣＰＵ７により判断される（Ｓ１８）。たとえば、開発用の野球ゲームを終了するためのゲーム終了ボタン（図示しない）が押されたか否かが、ＣＰＵ７により判断される。ここで、ゲーム終了ボタンが押された場合、すなわちゲーム終了命令がＣＰＵ７に認識された場合（Ｓ１８でＹｅｓ）、本野球ゲームの各種データがＲＡＭ１２に格納される（Ｓ１９）。具体的には、ゲーム制作者が、コントローラ１７を操作して、テレビジョンモニタ２０に表示されたゲーム終了ボタンを押した場合、開発用の野球ゲームが終了される。
【０１７８】
ここで、開発用の野球ゲームが継続中の場合（１８でＮｏ）、すなわち開発用の野球ゲームの終了を示す命令が指示されていない状態では、開発用の野球ゲームの終了を示す命令指示の有無が、ＣＰＵ７により常に監視されている。この状態において、次のプレイの制御が、ＣＰＵ７により実行される。すなわち、次のプレイにおけるステップ２（Ｓ２）の処理が、ＣＰＵ７により実行される。
【０１７９】
本実施形態では、まず、投手キャラクタＭ１が投球姿勢をとった時には、「投手の顔用の肌」を指定シェーダに設定することにより、投手キャラクタＭ１の顔オブジェクトＯＦ１が、検索され指定される。そして、仮想カメラＣの焦点位置が、投手キャラクタＭ１の顔オブジェクトＯＦ１に設定される。そして、投手キャラクタＭ１の顔オブジェクトＯＦ１に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１８０】
次に、投手キャラクタＭ１からボールがリリースされた時には、「ボール用の革」を指定シェーダに設定することにより、ボールオブジェクトＯＩ１が、検索され指定される。そして、仮想カメラＣの焦点位置が、ボールオブジェクトＯＩ１に設定される。そして、ボールオブジェクトＯＩ１に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１８１】
最後に、リリースされたボールがバットに衝突した時には、「ボール用の革」を指定シェーダに設定することにより、ボールオブジェクトＯＩ１が、検索され指定される。そして、仮想カメラＣの焦点位置が、ボールオブジェクトＯＩ１に設定される。そして、リリースされたボールがバットに衝突した時には、ボールオブジェクトＯＩ１に焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１８２】
また、ここで、リリースされたボールが捕手キャラクタに捕球された時には、「捕手のグローブ用の革」を指定シェーダに設定することにより、捕手のグローブオブジェクトが、検索され指定される。そして、仮想カメラＣの焦点位置が、捕手のグローブオブジェクトに設定される。そして、捕手のグローブオブジェクトに焦点ＳＦが合った状態で、視錐空間ＳＳの内部のモデルが、テレビジョンモニタ２０に表示される。
【０１８３】
このように、本実施形態では、指定属性（指定シェーダ）を設定することにより、指定属性を有するオブジェクトを、ゲーム空間のオブジェクトの中から、検索し指定することができる。そして、この指定オブジェクト（指定属性を有するオブジェクト）の位置に、仮想カメラＣの焦点ＳＦを設定することにより、指定オブジェクトに仮想カメラＣの焦点ＳＦを合わした状態で、仮想カメラＣに映るオブジェクトを、テレビジョンモニタ２０に表示することができる。すなわち、指定属性を設定するだけで、画像の焦点ＳＦを容易に指定オブジェクトに設定することができる。
【０１８４】
〔他の実施形態〕
（ａ）前記実施形態では、ライブラリに基づいて、所定のイベントの発生の有無が、検査されるようになっている。そして、ライブラリに含まれる所定のイベントが、発生したときに、シェーダ（指定シェーダ）が指定され、この指定シェーダに対応するオブジェクトに仮想カメラＣの焦点ＳＦが設定されるようになっている。
【０１８５】
しかしながら、仮想カメラＣの焦点ＳＦをオブジェクトに合わせるタイミング（時機）は、前記実施形態に限定されず、どのようにしても良い。
【０１８６】
たとえば、前記実施形態において、命令時機設定手段をさらに用意すると、所定のイベントが発生したときだけでなく、所定のフレーム数や時間等が経過したときに、仮想カメラＣの焦点ＳＦをオブジェクトに合わせることができる。
【０１８７】
たとえば、命令時機設定手段では、スケジュールデータをＣＰＵ７に認識させることにより、シェーダ指定命令を指示するタイミングが、設定される。ここで、スケジュールデータとは、シェーダを指定するためのシェーダ指定命令をＣＰＵ７に発行させるタイミングを規定するためのデータである。スケジュールデータの初期値は、ゲームプログラムにおいて予め規定されており、ゲームプログラムがロードされるときに、ＲＡＭ１２に格納される。
【０１８８】
具体的には、スケジュールデータは、仮想カメラＣの焦点ＳＦをオブジェクトに合わせるタイミングを定義するためのフレーム数や時間等から構成されている。ここでは、スケジュールデータが、フレーム数で定義されている場合の例を示す。
【０１８９】
進行中のゲームのフレーム数が、スケジュールデータに記載されたあるフレーム数に一致した場合、このフレーム数に対応するシェーダデータＺＤｏ（ｊ,ｋ,２）を指定するためのシェーダ指定命令が、ＣＰＵ７から発行される。これにより、指定シェーダを設定することができる。
【０１９０】
ここでは、たとえば、投手キャラクタＭ１が投球姿勢をとったときを、０フレームと定義する。そして、スケジュールデータとして、図１３に示すように、「６０（フレーム）,１２０（フレーム）」とが用意されているものとする。この場合、６０フレームになった時に、「打者の顔用の肌」が指定シェーダとして指定される。そして、１２０フレームになった時に、「投手の顔用の肌」が指定シェーダとして指定される。
【０１９１】
前記実施形態では、投手キャラクタＭ１が投球姿勢をとったときには、仮想カメラＣの焦点ＳＦは、投手キャラクタＭ１の顔に合うようになっている。このため、ここでの命令時機設定手段による処理が実行されると、投手キャラクタＭ１と打者キャラクタＭ２とが対峙している状態で、６０フレーム（１ｓｅｃ）が経過すると、仮想カメラＣの焦点ＳＦを、投手キャラクタＭ１から打者キャラクタＭ２へと切り換えることができる。そして、この状態で、１２０フレーム（２ｓｅｃ）が経過すると、仮想カメラＣの焦点ＳＦを、打者キャラクタＭ２から投手キャラクタＭ１へと戻すことができる。
【０１９２】
このように、本発明では、所定のイベントの発生時だけでなく、所定のフレーム数や所定の時間等になった時にも、シェーダ指定命令を指示することができ、このシェーダ指定命令が示すシェーダを有するオブジェクトに仮想カメラＣの焦点ＳＦを合わせることができる。
【０１９３】
（ｂ）前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての開発用のビデオゲーム装置を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【０１９４】
（ｃ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【図面の簡単な説明】
【０１９５】
【図１】本発明の一実施形態による開発用のゲーム装置の基本構成図。
【図２】前記ゲーム装置の一例としての機能ブロック図。
【図３】投手キャラクタを構成するオブジェクトを説明するための図。
【図４】打者キャラクタを構成するオブジェクトを説明するための図。
【図５】シェーダデータを説明するための図。
【図６】仮想カメラおよび視錐空間を説明するための図。
【図７】投手キャラクタを構成するオブジェクトの重心位置を示す図。
【図８】打者キャラクタを構成するオブジェクトの重心位置を示す図。
【図９】イベントデータを説明するための図。
【図１０】イベントとシェーダとの対応関係を示す図。
【図１１】指定シェーダと指定シェーダデータとの対応関係を示す図。
【図１２】所定イベントと指定シェーダとの対応関係を修正するときの画面を示す図。
【図１３】スケジュールデータを説明するための図。
【図１４Ａ】開発用の野球ゲームにおける焦点設定システムを示すフロー。
【図１４Ｂ】開発用の野球ゲームにおける焦点設定システムを示すフロー。
【符号の説明】
【０１９６】
１  制御部
３  画像表示部
５  操作入力部
７  ＣＰＵ
１２  ＲＡＭ
１７  コントローラ
２０  テレビジョンモニタ
５０  モデル配置手段
５１  仮想カメラ配置手段
５２  視錐空間設定手段
５３  オブジェクト位置記録手段
５４  属性記録手段
５５  イベント検査手段
５６  命令発行手段
５７  属性指定手段
５８  オブジェクト指定手段
５９  焦点設定手段
６０  オブジェクト表示手段
６１  命令変更手段
Ｍ１，Ｍ２  モデル
ＯＡ１〜ＯＩ１，ＯＡ２〜ＯＨ２  オブジェクト
Ｃ  仮想カメラ
ＳＦ  仮想カメラの焦点
Ｗ１１〜Ｗ１９，Ｗ２１〜Ｗ２８  オブジェクトの重心
ＺＤｏ（ｊ,ｋ,２）  指定シェーダデータ
ＺＤ（ｊ,ｋ,２）  シェーダデータ
Ｉ  イベントデータ
【図１】
2010110504.tif 000003
【図２】
2010110504.tif 000004
【図３】
2010110504.tif 000005
【図４】
2010110504.tif 000006
【図５】
2010110504.tif 000007
【図６】
2010110504.tif 000008
【図７】
2010110504.tif 000009
【図８】
2010110504.tif 000010
【図９】
2010110504.tif 000011
【図１０】
2010110504.tif 000012
【図１１】
2010110504.tif 000013
【図１２】
2010110504.tif 000014
【図１３】
2010110504.tif 000015
【図１４Ａ】
2010110504.tif 000016
【図１４Ｂ】
2010110504.tif 000017