(57)【要約】【課題】Ｚバッファに格納されるＺ値の精度を向上させることで、オブジェクトの前後の位置関係が正確に判定されないことによる不適切な画像生成を防止すること。【解決手段】リプレイカメラＣＭの位置Ｐ０から描画最遠位置Ｐ１までの範囲内に、被写体オブジェクトである自車ＰＣの位置Ｐｐを含むＺ値適用範囲が設定される。Ｚ値適用範囲の両端位置のうち、奥側位置Ｐ３は描画最遠位置Ｐ１に設定され、手前側位置Ｐ２はリプレイカメラＣＭを基に設定される。即ち、リプレイカメラＣＭの位置Ｐ０から自車の位置Ｐｐまでの距離Ｌｐに、リプレイカメラＣＭの画角φ及び俯角θを基に定められる係数ｋを乗算して得られる距離Ｌ２が、手前側位置Ｐ２までの距離となる。そして、設定されたＺ値適用範囲にＺ値が適用され、リプレイカメラＣＭに基づくＺ値適用範囲内の隠面消去処理を行うことでリプレイ画像が生成される。【選択図】図４
2007304727.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、仮想カメラから見た仮想空間の画像をＺバッファ法に基づき生成させるためのプログラムであって、
前記仮想カメラから描画最遠位置までの全奥行のうち、前記Ｚバッファ法に用いるＺ値を適用するＺ値適用範囲を設定する設定手段、
前記設定されたＺ値適用範囲に対してＺ値を割り付け、当該割り付けたＺ値に基づくＺバッファ法により当該Ｚ値適用範囲内の隠面消去処理を行って前記仮想カメラから見た前記仮想空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記仮想空間中のオブジェクトの中から被写体オブジェクトを選択する選択手段として前記コンピュータを機能させ、
前記設定手段が、前記仮想カメラから描画最遠位置までの全奥行のうちの、前記選択された被写体オブジェクトを含む所定範囲をＺ値適用範囲として設定するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記選択手段が、前記被写体オブジェクトとするオブジェクトを複数選択し、
前記設定手段が、前記選択された全てのオブジェクトを含むようにＺ値適用範囲を設定する、
ように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記選択手段が、前記被写体オブジェクトとするオブジェクトを複数選択し、
前記設定手段が、前記選択された各オブジェクトそれぞれを含むＺ値適用範囲を設定するように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項５】
前記設定手段が、前記Ｚ値適用範囲の奥行長を、前記仮想カメラと前記被写体オブジェクト間の距離に応じて可変に設定するように前記コンピュータを機能させるための請求項２〜４の何れか一項に記載のプログラム。
【請求項６】
前記設定手段が、前記仮想カメラと前記被写体オブジェクト間の距離が長いほど、前記Ｚ値適用範囲が狭くなるように設定するように前記コンピュータを機能させるための請求項５に記載のプログラム。
【請求項７】
前記設定手段が、前記Ｚ値適用範囲の奥行長を、前記仮想カメラの画角に応じて可変に設定するように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項８】
前記設定手段が、前記仮想カメラの画角が狭いほど、前記Ｚ値適用範囲が狭くなるように設定するように前記コンピュータを機能させるための請求項７に記載のプログラム。
【請求項９】
前記設定手段が、前記Ｚ値適用範囲の奥行長を、前記仮想カメラの俯角に応じて可変に設定するように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項１０】
前記設定手段が、前記仮想カメラの俯角が大きいほど、前記Ｚ値適用範囲が狭くなるように設定するように前記コンピュータを機能させるための請求項９に記載のプログラム。
【請求項１１】
請求項１〜１０の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１２】
仮想カメラから見た仮想空間の画像をＺバッファ法に基づき生成する画像生成装置であって、
前記仮想カメラから描画最遠位置までの全奥行のうち、前記Ｚバッファ法に用いるＺ値を適用するＺ値適用範囲を設定する設定手段と、
前記設定されたＺ値適用範囲に対してＺ値を割り付け、当該割り付けたＺ値に基づくＺバッファ法により当該Ｚ値適用範囲内の隠面消去処理を行って前記仮想カメラから見た前記仮想空間の画像を生成する画像生成手段と、
を備える画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想カメラから見た仮想空間の画像をＺバッファ法に基づき生成する画像生成装置等に関する。
【背景技術】
【０００２】
従来、画像生成装置の一種であるゲーム装置では、仮想空間であるゲーム空間にプレーヤキャラクタ等のオブジェクトを配置するとともに視点（仮想カメラ）を設定し、この視点を基に生成したゲーム空間の画像がゲーム画像として表示される。
【０００３】
ゲーム装置では、予め定められたフレーム時間毎に１枚のゲーム画像（フレーム画像）が生成・表示されるが、視野内に多数のオブジェクトが存在する場合やポリゴン数の多いオブジェクトが存在する場合、画像処理の負担が増大することにより一部のオブジェクトが表示されない不適切なフレーム画像が生成される不具合があった。そこで、このような表示抜けの問題を解決するため、視野内のオブジェクトを選別するためのクリッピング空間を任意に変更することでＣＰＵの演算負荷を軽減し、表示抜け等のない適正な画像の生成を実現した技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１４４０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
視点に基づく画像生成の方法の一つとして、Ｚバッファ法による隠面消去処理がある。この方法では、フレームバッファに描かれた画像の各画素のＺ値をＺバッファに格納し、Ｚバッファに格納されているＺ値に応じてフレームバッファへの書き込み（色情報の更新）の有無が決定される。Ｚバッファには、フレームバッファの各画素に対応するＺ値として、視点を基準とした奥行き値が格納される。具体的には、視点の位置から、例えば無限遠として定められた位置までの範囲にＺ値が割り当てられ、奥行き値に対応するＺ値がＺバッファに格納される。
【０００５】
この場合、Ｚ値の精度はＺ値のビット数によって決まる。具体的には、Ｚ値のビット数が多いほど、Ｚ値の単位値に対する奥行き値（より具体的には、ゲーム空間における視点からの距離）が小さい、即ちＺ値の精度が高くなる。例えば、距離１ｋｍを８ビット（２５６＝２８）で表す場合には、Ｚ値「１」に対して約３．９ｍとなるが、１２ビット（４０９６＝２１２）の場合には約０．２４ｍとなる。また、Ｚバッファ法による隠面消去処理では、Ｚ値を基に画素毎にオブジェクトの前後関係を判定するが、Ｚバッファの精度が低いと、この前後関係が正確に判定されないことがある。例えば、近接して配置されているオブジェクトについて考えてみると、奥行き値は互いに異なっているのにも関わらずＺ値が等しくなるといった事態が発生し、これにより、オブジェクトの前後関係が全部或いは部分的に逆転して描画されるといった不都合が生じる。この問題は、多数のオブジェクトで１つのモデルが構成されたモデルオブジェクトを被写体とし、カメラをズームさせて画像生成する際に問題となる。
【０００６】
本発明は上記事情に鑑みて為されたものであり、Ｚ値の精度を向上させることで、オブジェクトの前後の位置関係が正確に判定されないことによる不適切な画像生成を防止することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するための第１の発明は、
コンピュータに、仮想カメラから見た仮想空間の画像をＺバッファ法に基づき生成させるためのプログラム（例えば、図１２のゲームプログラム４１０）であって、
前記仮想カメラから描画最遠位置までの全奥行のうち、前記Ｚバッファ法に用いるＺ値を適用するＺ値適用範囲を設定する設定手段（例えば、図１２のリプレイ制御部２１１；図１６のステップＢ１１〜Ｂ１９）、
前記設定されたＺ値適用範囲に対してＺ値を割り付け、当該割り付けたＺ値に基づくＺバッファ法により当該Ｚ値適用範囲内の隠面消去処理を行って前記仮想カメラから見た前記仮想空間の画像を生成する画像生成手段（例えば、図１２のリプレイ制御部２１１及び画像生成部２３０；図１６のステップＢ２１）、
として前記コンピュータを機能させるためのプログラムである。
【０００８】
また、第１２の発明は、
仮想カメラから見た仮想空間の画像をＺバッファ法に基づき生成する画像生成装置（例えば、図１，１２の家庭用ゲーム装置１２００）であって、
前記仮想カメラから描画最遠位置までの全奥行のうち、前記Ｚバッファ法に用いるＺ値を適用するＺ値適用範囲を設定する設定手段（例えば、図１２のリプレイ制御部２１１）と、
前記設定されたＺ値適用範囲に対してＺ値を割り付け、当該割り付けたＺ値に基づくＺバッファ法により当該Ｚ値適用範囲内の隠面消去処理を行って前記仮想カメラから見た前記仮想空間の画像を生成する画像生成手段（例えば、図１２のリプレイ制御部２１１及び画像生成部２３０）と、
を備える画像生成装置である。
【０００９】
この第１又は第１２の発明によれば、仮想カメラから描画最遠位置までの全奥行のうち、Ｚバッファ法に用いるＺ値を適用するＺ値適用範囲が設定され、設定されたＺ値適用範囲に対してＺ値を割り付け、割り付けたＺ値に基づくＺバッファ法によりＺ値適用範囲内の隠面消去処理を行って仮想カメラから見た仮想空間の画像が生成される。
【００１０】
つまり、従来のように全奥行に対してＺ値が割り付けられるのではなく、全奥行のうちの一部範囲であるＺ値適用範囲に対してＺ値が割り付けられる。これにより、Ｚ値の単位値に対する奥行き値が小さくなる、即ちＺ値の精度が高くなるため、近接した２つのオブジェクト同士であっても前後関係が精確に判定され、オブジェクトの前後関係が逆転された不適切な画像が生成されるといったことが防止される。
【００１１】
第２の発明は、第１の発明のプログラムであって、
前記仮想空間中のオブジェクトの中から被写体オブジェクトを選択する選択手段（例えば、図１２のリプレイ制御部２１１）として前記コンピュータを機能させ、
前記設定手段が、前記仮想カメラから描画最遠位置までの全奥行のうちの、前記選択された被写体オブジェクトを含む所定範囲をＺ値適用範囲として設定するように前記コンピュータを機能させるためのプログラムである。
【００１２】
この第２の発明によれば、仮想空間中のオブジェクトの中から被写体オブジェクトが選択され、仮想カメラから描画最遠位置までの全奥行きのうちの、選択された被写体オブジェクトを含む所定範囲がＺ値適用範囲として設定される。これにより、被写体オブジェクトを含む所定範囲、即ち仮想カメラを基に描画され得る範囲がＺ値適用範囲として適切に設定される。
【００１３】
この場合、第３の発明として、
前記選択手段が、前記被写体オブジェクトとするオブジェクトを複数選択し、
前記設定手段が、前記選択された全てのオブジェクトを含むようにＺ値適用範囲を設定する、
ように前記コンピュータを機能させるためのプログラムとしても良い。
【００１４】
この第３の発明によれば、仮想カメラの被写体オブジェクトとする複数のオブジェクトが選択され、選択された全てのオブジェクトを含むようにＺ値適用範囲が設定される。
【００１５】
また、第４の発明として、
前記選択手段が、前記被写体オブジェクトとするオブジェクトを複数選択し、
前記設定手段が、前記選択された各オブジェクトそれぞれを含むＺ値適用範囲を設定するように前記コンピュータを機能させるためのプログラムとしても良い。
【００１６】
この第４の発明によれば、仮想カメラの被写体オブジェクトとするオブジェクトが複数選択され、選択された各オブジェクトそれぞれを含むＺ値適用範囲が設定される。これにより、例えばフライトシュミレーションのように、ゲーム空間内を複数体の飛行機オブジェクトが距離をおいて飛行している場合等、複数の被写体オブジェクトがある程度の距離をおいて配置され、且つ被写体オブジェクト間の空間（領域）には描画すべきオブジェクトが無い場合、被写体オブジェクトそれぞれを含むよう複数のＺ値適用範囲をとびとびに設定することで、効率良くＺ値適用範囲を設定してＺ値の精度を高めることが可能となる。
【００１７】
第５の発明は、第２〜第４の何れかの発明のプログラムであって、
前記設定手段が、前記Ｚ値適用範囲の奥行長を、前記仮想カメラと前記被写体オブジェクト間の距離に応じて可変に設定するように前記コンピュータを機能させるためのプログラムである。
【００１８】
この第５の発明によれば、Ｚ値適用範囲の奥行長が、仮想カメラと被写体オブジェクト間の距離に応じて可変に設定される。仮想カメラと被写体オブジェクト間の距離が変化すると、仮想カメラの視野が変化する、即ち描画すべき範囲が変化する。このため、仮想カメラと被写体オブジェクト間の距離の変化に応じてＺ値適用範囲の奥行き長を可変に設定することで、効率良くＺ値適用範囲を設定してＺ値の精度を高めることが可能となる。
【００１９】
この場合、第６の発明のように、
前記設定手段が、前記仮想カメラと前記被写体オブジェクト間の距離が長いほど、前記Ｚ値適用範囲が狭くなるように設定するように前記コンピュータを機能させるためのプログラムとしても良い。
【００２０】
この第６の発明によれば、仮想カメラと被写体オブジェクト間の距離が長いほど、Ｚ値適用範囲が狭くなるように設定される。ところで、Ｚ値適用範囲の端部位置であって仮想カメラから見て手前側の位置は、仮想カメラと被写体オブジェクト間に設定される。また、仮想空間中のオブジェクトの配置によっては、仮想カメラと被写体オブジェクトの間に描画すべきオブジェクトが位置しないことがあるが、このような場合、Ｚ値適用範囲の手前側の位置を被写体オブジェクトにより近い位置に設定することで、Ｚ値適用範囲をより狭くなるように設定することができる。このため、仮想カメラと被写体オブジェクト間の距離が長いほど、Ｚ値適用範囲を狭くするように設定することで、効率良くＺ値適用範囲を設定してＺ値の精度を高めることが可能となる。
【００２１】
第７の発明は、第１〜第４の何れかの発明のプログラムであって、
前記設定手段が、前記Ｚ値適用範囲の奥行長を、前記仮想カメラの画角に応じて可変に設定するように前記コンピュータを機能させるためのプログラムである。
【００２２】
この第７の発明によれば、Ｚ値適用範囲の奥行長が、仮想カメラの画角に応じて可変に設定される。仮想カメラの画角が変化すると、仮想カメラの視野が変化する、即ち描画すべき範囲が変化する。このため、仮想カメラの画角の変化に応じてＺ値適用範囲の奥行き長を可変に設定することで、効率良くＺ適用範囲を設定してＺ値の精度を高めることが可能となる。
【００２３】
この場合、第８の発明として、
前記設定手段が、前記仮想カメラの画角が狭いほど、前記Ｚ値適用範囲が狭くなるように設定するように前記コンピュータを機能させるためのプログラムとしても良い。
【００２４】
この第８の発明によれば、仮想カメラの画角が狭いほど、Ｚ値適用範囲が狭くなるように設定される。仮想カメラの画角を狭くすることはズームに相当し、描画される範囲が狭くなる。このため、仮想カメラの画角が狭いほど、Ｚ値適用範囲を狭くなるように設定することで、効率良くＺ値適用範囲を設定してＺ値の精度を高めることが可能となる。
【００２５】
第９の発明は、第１〜第４の何れかの発明のプログラムであって、
前記設定手段が、前記Ｚ値適用範囲の奥行長を、前記仮想カメラの俯角に応じて可変に設定するように前記コンピュータを機能させるためのプログラムである。
【００２６】
この第９の発明によれば、Ｚ値適用範囲の奥行長が、仮想カメラの俯角に応じて可変に設定される。仮想カメラの俯角が変化すると、仮想カメラの視野が変化する、即ち描画すべき範囲が変化する。このため、仮想カメラの俯角の変化に応じてＺ値適用範囲の奥行き長を可変に設定することで、効率良くＺ値適用範囲を設定してＺ値の精度を高めることが可能となる。
【００２７】
この場合、第１０の発明として、
前記設定手段が、前記仮想カメラの俯角が大きいほど、前記Ｚ値適用範囲が狭くなるように設定するように前記コンピュータを機能させるためのプログラムとしても良い。
【００２８】
この第１０の発明によれば、仮想カメラの俯角が大きいほど、Ｚ値適用範囲が狭くなるように設定される。例えば、略平面上に配置されたオブジェクトを斜め上方から俯瞰するように仮想カメラが設定される場合、位置や画角といった他の設定パラメータが同じならば、俯角が大きいほど、該仮想カメラの視線方向が鉛直方向に近づいて描画範囲が狭くなり、逆に、俯角が小さいほど、視線方向が水平方向に近づいて描画範囲が広くなる。このため、仮想カメラの俯角が大きいほど、Ｚ値適用範囲を狭くなるように設定することで、効率良くＺ値適用範囲を設定したＺ値の精度を高めることが可能となる。
【００２９】
第１１の発明は、第１〜第１０の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図１２の記憶部４００）である。
【００３０】
ここで、情報記憶媒体とは、記憶されている情報をコンピュータが読み取り可能な、例えばハードディスクやＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカード、ＩＣメモリ等の記憶媒体である。従って、この第１１の発明によれば、情報記憶媒体に記憶されている情報をコンピュータに読み取らせて演算処理を実行させることで、第１〜第１０の何れかの発明と同様の効果を奏することができる。
【発明の効果】
【００３１】
本発明によれば、従来のように全奥行に対してＺ値が割り付けられるのではなく、全奥行のうちの一部範囲であるＺ値適用範囲に対してＺ値が割り付けられ、割り付けられたＺ値に基づくＺバッファによりＺ値適用範囲内の隠面消去処理を行って、仮想カメラから見た仮想空間の画像が生成される。これにより、Ｚ値の単位値に対する奥行き値が小さくなる、即ちＺ値の精度が高くなるため、近接した２つのオブジェクト同士であっても前後関係が精確に判定され、オブジェクトの前後関係が逆転された不適切な画像が生成されるといったことが防止される。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して、本発明に好適な実施形態を説明する。尚、以下では、家庭用ゲーム装置でバイクレースゲームを実行する場合を説明するが、本発明の適用可能な実施形態がこれに限定されるものではない。
【００３３】
［家庭用ゲーム装置の外観］
図１は、本実施形態における家庭用ゲーム装置１２００の概略外観図である。同図に示すように、家庭用ゲーム装置１２００は、本体装置１２１０と、プレーヤがゲーム操作を入力するための方向キー１２２１やボタンスイッチ１２２２を有するゲームコントローラ１２２０と、スピーカ１２３１を有するディスプレイ１２３０とを備える。ゲームコントローラ１２２０は本体装置１２１０に接続され、ディスプレイ１２３０は、画像信号及び音信号を伝送可能なケーブル１２０１によって本体装置１２１０に接続されている。
【００３４】
本体装置１２１０がゲーム処理を行うために必要なプログラムやデータ等を含むゲーム情報等は、例えば本体装置１２１０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２１２やメモリカード１２１３、ＩＣカード１２１４等に格納されている。尚、このゲーム情報等は、本体装置１２１０が具備する通信装置１２１５を介して通信回線Ｎに接続し、外部装置から取得することとしても良い。ここで、通信回線Ｎとは、データ授受が可能な通信路を意味する。即ち、通信回線Ｎとは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方式については有線／無線を問わない。
【００３５】
また、本体装置１２１０は、例えばＣＰＵ、ＲＯＭやＲＡＭ等のメモリを搭載した制御ユニット１２１１と、ＣＤ−ＲＯＭ１２１２等の情報記憶媒体の読取装置とを具備する。本体装置１２１０は、ＣＤ−ＲＯＭ１２１２等から読み出したゲーム情報と、ゲームコントローラ１２２０からの操作信号とに基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号及び音信号をディスプレイ１２３０に出力して、ディスプレイ１２３０にゲーム画面を表示させるとともに、スピーカ１２３１からゲーム音を出力させる。プレーヤは、ディスプレイ１２３０に表示されたゲーム画面を見、スピーカ１２３１から出力されるゲーム音を聞きながら、ゲームコントローラ１２２０を操作してバイクレースゲームを楽しむ。
【００３６】
［原理］
本実施形態のバイクレースゲームでは、ゲーム終了後、リプレイデータを基にゲームプレイを再現するリプレイが行われる。図２は、リプレイ時のゲーム空間の一例を示す図である。リプレイ時のゲーム空間は、リプレイデータを基に、略平面のレースコース１０上にバイク２０等のオブジェクトが配置されて再構築される。リプレイデータは、ゲーム進行中に蓄積記録されたプレイデータであり、フレーム毎の各オブジェクトの位置や姿勢のデータ、或いはプレーヤによる操作データを含んでいる。
【００３７】
また、リプレイ時のゲーム空間には、複数のリプレイカメラＣＭが設定される。各リプレイカメラＣＭは、斜め後方から自車（プレーヤキャラクタであるプレーヤの操作対象のバイク２０）に追従されるゲーム中とは異なり、斜め上方からレースコース１０の一部を俯瞰する等して複数位置に設定される。同図では、５つのリプレイカメラＣＭ１〜ＣＭ５が設定されている。リプレイカメラＣＭ１〜ＣＭ５は、それぞれ、レースコース１０をその経路に沿って５分割した各部分コースに対応付けられ、対応する部分コースを自車が走行する際に切り替えられる。
【００３８】
また、リプレイカメラＣＭは、位置は固定であり、カメラ角度及び画角φが可変に制御されることで、視線方向が自車に向かうように制御される。カメラ角度には、鉛直方向の首振り角度であるピッチ角Ｘ、水平方向の首振り角度であるヨー角Ｙ、視線方向を中心とした回転角度であるロール角Ｚが含まれる。
【００３９】
そして、これら複数のリプレイカメラＣＭのうち、何れか一のリプレイカメラＣＭ（例えば、レースコース１０のうち、自車が位置する部分コースに対応付けられているリプレイカメラＣＭ）に基づく画像が、リプレイ画像としてリプレイ画面に表示される。
【００４０】
リプレイ画像は、Ｚバッファ法による隠面消去処理を用いて生成される。Ｚバッファ法とは、生成された画像の色を画素毎に記憶するフレームバッファとは別に、描かれた画像のＺ値を画素毎に記憶するＺバッファを用いる方法であり、Ｚバッファに格納されているＺ値に応じてフレームバッファへの書き込み（色情報の更新）の有無が決定される。Ｚバッファには、リプレイカメラＣＭを基準とした各画素の奥行き距離（奥行き値）がＺ値として格納される。具体的には、リプレイカメラＣＭの描画対象となる範囲に対してＺ値が適用され、奥行き距離に対応して割り振られたＺ値がＺバッファに格納される。
【００４１】
図３は、従来のＺ値の適用を示す図である。同図では、横方向をリプレイカメラＣＭの奥行き距離として示している。同図に示すように、従来では、リプレイカメラＣＭの位置Ｐ０から無限遠に相当する位置（描画最遠位置）Ｐ１までの範囲（全奥行）がＺ値適用範囲とされ、このＺ値適用範囲にＺ値が適用される。
【００４２】
具体的には、Ｚバッファに格納される各画素のＺ値のビット数を「ｎ」とすると、リプレイカメラＣＭの位置Ｐ０のＺ値が「０」とされ、描画最遠位置Ｐ１のＺ値が「２ｎ−１」とされる。そして、Ｚ値適用範囲である位置Ｐ０から描画最遠位置Ｐ１の範囲がＺ値で表現可能な最大数「２ｎ」で等分され、それぞれにＺ値が割り当てられる。即ち、Ｚ値の単位値に対して、Ｚ値適用範囲を２ｎ等分した奥行き距離が割り当てられる。
【００４３】
例えば、リプレイカメラＣＭの位置Ｐ０から描画最遠位置Ｐ１までの奥行き距離を「３０ｋｍ」とし、Ｚ値のビット数を「１６」とする。そして、位置Ｐ０のＺ値を「０」とし、描画最遠位置Ｐ１のＺ値を「２１６−１」として、位置Ｐ０から描画最遠位置Ｐ１までのＺ値適用範囲にＺ値を割り当てると、Ｚ値の最小単位「１」に対して、奥行き距離「約４６ｃｍ（＝３０ｋｍ／２１６）」が割り当てられる。即ち、Ｚ値の精度は「約４６ｃｍ」となる。
【００４４】
これに対して、本実施形態では、図４（ａ）に示すようにＺ値適用範囲が設定される。即ち、Ｚ値適用範囲は、リプレイカメラＣＭの位置Ｐ０から描画最遠位置Ｐ１まで（全奥行）の一部範囲であって、リプレイカメラＣＭの対象オブジェクトである自車ＰＣの位置Ｐｐを含む範囲として設定される。Ｚ値適用範囲の両端位置のうち、リプレイカメラＣＭに近い側の位置（手前側位置）Ｐ２は、リプレイカメラＣＭの位置Ｐ０と自車の位置Ｐｐとの間に設定され、遠い側の位置（奥側位置）Ｐ３は、自車の位置Ｐｐと描画最遠位置Ｐ１との間に設定される。
【００４５】
そして、このＺ値適用範囲にＺ値が適用される。例えば、Ｚ値がｎビットの場合、手前側位置Ｐ２のＺ値が「０」とされ、奥側位置Ｐ３のＺ値が「２ｎ−１」される。そして、この手前側位置Ｐ２から奥側位置Ｐ３までのＺ値適用範囲が「２ｎ」等分され、それぞれにＺ値が割り当てられる。
【００４６】
また、Ｚ値適用範囲はどのように設定しても良いが、以下では、同図（ｂ）に示すように、奥側位置Ｐ３をリプレイカメラＣＭの描画最遠位置Ｐ１に一致させ、手前側位置Ｐ２をリプレイカメラＣＭに応じて決定することにより、Ｚ値適用範囲を設定することにする。
【００４７】
Ｚ値適用範囲の手前側位置Ｐ２は、図５に示すように設定される。即ち、式（１）に従って、リプレイカメラの位置Ｐ０から自車の位置Ｐｐまでの距離Ｌｐに、リプレイカメラＣＭを基に定められる係数ｋを乗じて距離Ｌ２が算出される。そして、リプレイカメラの位置Ｐ０から距離Ｌ２だけ離れた位置が、手前側位置Ｐ２として設定される。
Ｌ２＝Ｌｐ×ｋ    ・・（１）
但し、０＜ｋ＜１、である。
【００４８】
ところで、バイクレースゲームでは、図６に示すように、リプレイカメラＣＭは、レースコース１０を外部上方から見下ろすように設定される。しかしこの場合、描画対象となるバイク２０はレースコース１０に配置されているため、リプレイカメラＣＭの視野のうち手前側の一部領域には描画すべきオブジェクトが位置しない。このため、例えば自車ＰＣに視線方向が向くように設定される場合、リプレイカメラＣＭと自車ＰＣとの間にＺ値適用範囲の手前側位置Ｐ２が設定されるとともに、路面や背景等の後方位置に設定される描画最遠位置Ｐ１が、Ｚ値適用範囲の奥側位置Ｐ３とされる。
【００４９】
また、リプレイカメラＣＭの描画範囲は、図７に示すように、該リプレイカメラＣＭと自車との間の距離に応じて異なる。同図では、自車との距離がＬｐ１であるリプレイカメラＣＭ１と、自車との距離がＬｐ２であるリプレイカメラＣＭ２とが配置されている。但し、Ｌｐ１＜Ｌｐ２、である。また、リプレイカメラＣＭ１，ＣＭ２は、画角φ及びカメラ角度が等しく、位置のみが異なり、視線方向が自車ＰＣに向かうように設定されている。
【００５０】
そして、リプレイカメラＣＭ１，ＣＭ２それぞれの視野のうち、自車との間の領域であって描画すべきオブジェクトが位置しない領域は、リプレイカメラＣＭ２のほうがリプレイカメラＣＭ１よりも大きい。このため、自車との距離Ｌｐが長い（遠い）ほど、Ｚ値適用範囲の手前側位置Ｐ２を、リプレイカメラＣＭから見て遠い位置に設定することができる。同図においては、リプレイカメラＣＭ２から手前側位置Ｐ２までの距離は、リプレイカメラＣＭ１から手前側位置Ｐ２までの距離に比べて長い。従って、式（１）に示したように、手前側位置Ｐ２までの距離Ｌ２を、自車との距離Ｌｐに比例するように決定する。
【００５１】
Ｚ値適用範囲の手前側位置Ｐ２を決定するための係数ｋは、リプレイカメラＣＭに応じて決定される。具体的には、リプレイカメラＣＭの画角φ及び俯角θに応じて決定され、次式（２）に示すように、画角φを基に定められる係数ｋφと、俯角θを基に定められる係数ｋθとを乗じて算出される。
ｋ＝ｋφ×ｋθ    ・・（２）
【００５２】
図８は、リプレイカメラの画角φに応じた係数ｋφの決定を説明するための図である。
同図（ａ）は、画角φ１のリプレイカメラＣＭ１の場合を示しており、同図（ｂ）は、画角φ２のリプレイカメラＣＭ２の場合を示している。但し、φ１＞φ２、である。また、リプレイカメラＣＭ１，ＣＭ２の何れも、画角φ以外のパラメータ（位置やカメラ角度）は等しく、視線方向が自車に向かうように設定されている。即ち、リプレイカメラＣＭ２は、リプレイカメラＣＭ１のズーム時に相当する。
【００５３】
同図によれば、リプレイカメラＣＭ１，ＣＭ２の何れも、自車を中心とする所定範囲が描画範囲となっているが、その範囲は異なる。即ち、リプレイカメラＣＭ１のほうがリプレイカメラＣＭ２よりも描画範囲が狭く、例えば、リプレイカメラＣＭ１では描画範囲内に入っている他車ＥＣが、リプレイカメラＣＭ２では描画範囲内に入らない。
【００５４】
つまり、リプレイカメラＣＭの画角φが異なると、該リプレイカメラＣＭの描画範囲が異なる。具体的には、画角φが狭いほど、描画範囲が狭くなる。このため、リプレイカメラＣＭの画角φが狭いほど、Ｚ値適用範囲の手前側位置Ｐ２を、該リプレイカメラＣＭから見てより奥側の位置に設定することができる。即ち、画角φが狭いほど、係数ｋφが大きく設定される。
【００５５】
図９は、画角φと係数ｋφとの関係の一例を示すグラフである。同図では、横軸をリプレイカメラＣＭの画角φとし、縦軸に係数ｋφを示している。同図の場合、係数ｋφは、画角φが大きくなるにつれて画角φにほぼ比例して小さくなる。尚、画角φと係数ｋφとの関係を表すグラフの形状はこれに限らず、画角φが大きくなるにつれて係数ｋφが小さくなるのであれば、これ以外であっても良い。
【００５６】
図１０は、リプレイカメラＣＭの俯角θに応じた係数ｋθの決定を説明するための図である。同図では、俯角がθ１であるリプレイカメラＣＭ１と、俯角がθ２であるリプレイカメラＣＭ２とが配置されている。但し、θ１＞θ２、である。また、リプレイカメラＣＭ１，ＣＭ２の何れも、画角φ及び自車ＰＣとの距離Ｌｐは等しく、視線方向が自車ＰＣに向かうように設定されている。
【００５７】
同図によれば、リプレイカメラＣＭ１，ＣＭ２の何れも、自車を中心とする所定範囲が描画範囲となっているが、その範囲は異なる。即ち、リプレイカメラＣＭ２よりリプレイカメラＣＭ１のほうが描画範囲が狭く、例えば、リプレイカメラＣＭ２では描画範囲に入っている他車ＥＣが、リプレイカメラＣＭ１では描画範囲内に入らない。
【００５８】
つまり、リプレイカメラの俯角θが異なると、該リプレイカメラＣＭの描画範囲が異なる。具体的には、俯角θが大きいほど、描画範囲が狭くなる。このため、リプレイカメラＣＭの俯角θが大きいほど、Ｚ値適用範囲の手前側位置Ｐ２を、該リプレイカメラＣＭから見て奥側の位置に設定することができる。即ち、俯角θが大きいほど、係数ｋが大きく設定される。
【００５９】
図１１は、俯角θと係数ｋθとの関係の一例を示すグラフである。同図では、横軸をリプレイカメラＣＭの俯角θとし、縦軸に係数ｋθを示している。同図の場合、係数ｋθは、俯角θが大きくなるにつれて、俯角θにほぼ比例して大きくなる。尚、俯角θと係数ｋθとの関係を表すグラフはこれに限らず、俯角θが大きくなるにつれて係数ｋθが大きくなるのであれば、これ以外であっても良い。
【００６０】
［機能構成］
図１２は、本実施形態における家庭用ゲーム装置１２００の機能構成を示すブロック図である。同図に示すように、家庭用ゲーム装置１２００は、機能的には、操作入力部１００と、処理部２００と、画像表示部３３０と、音出力部３４０と、記憶部４００とを備えて構成される。
【００６１】
操作入力部１００は、プレーヤによる操作指示入力を受け付け、操作に応じた操作信号を処理部２００に出力する。この機能は、例えばボタンスイッチやレバー、ダイヤル、マウス、キーボード、各種センサ等によって実現される。図１では、ゲームコントローラ１２２０がこれに該当する。
【００６２】
処理部２００は、家庭用ゲーム装置１２００の全体制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、制御ユニット１２１１に実装されているＣＰＵ等がこれに該当する。
【００６３】
また、処理部２００は、主にゲームの実行に係る演算処理を行うゲーム演算部２１０と、ゲーム演算部２１０の処理によって求められた各種のデータに基づき、仮想カメラ等の所与の視点から見た仮想三次元空間（ゲーム空間）の画像を生成する画像生成部２３０と、効果音やＢＧＭ等のゲーム音を生成する音生成部２４０とを含んでいる。
【００６４】
ゲーム演算部２１０は、操作入力部１００から入力された操作信号や、記憶部４００から読み出したプログラムやデータ等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えば、仮想空間にレースコース１０やバイク２０、背景等のオブジェクトを配置してゲーム空間を設定する処理、操作入力部１００からの操作信号に基づくプレーヤキャラクタ（自車）の制御、オブジェクトのヒット交差判定（ヒットチェック）、視点（仮想カメラ）の制御等がある。また、本実施形態では、ゲーム演算部２１０は、リプレイ制御部２１１を含んでいる。
【００６５】
リプレイ制御部２１１は、ゲーム終了後、リプレイデータ４３２を基にリプレイの進行を制御する。具体的には、先ず、リプレイデータ４３２に基づき、仮想空間にレースコース１０やバイク２０、背景等のオブジェクトを配置してゲーム空間を再構築する。次いで、リプレイカメラデータ４３３を参照して、再構築したゲーム空間に複数のリプレイカメラＣＭを配置する。
【００６６】
ここで、リプレイデータ４３２は、ゲーム中に蓄積記憶された、フレーム毎のバイク２０等の各オブジェクトの位置や姿勢等のデータ群である。尚、リプレイデータ４３２は、オブジェクトの位置姿勢等のデータではなく、フレーム毎のプレーヤにより入力された操作データとしても良い。
【００６７】
また、リプレイカメラデータ４３３は、ゲーム空間に配置されたリプレイカメラＣＭに関するデータである。図１３に、リプレイカメラデータ４３３のデータ構成の一例を示す。同図によれば、リプレイカメラデータ４３３は、リプレイカメラＣＭ毎に用意され、該当するリプレイカメラ４３３ａと、描画最遠位置４３３ｂと、設定データ４３３ｃと、制御データ４３３ｇとを格納している。
【００６８】
リプレイカメラ４３３ａは、該当するリプレイカメラＣＭの識別データを格納する。描画最遠位置４３３ｂは、該当するリプレイカメラＣＭから、無限遠の位置として予め定められた位置（描画最遠位置Ｐ１）までの距離Ｌ１を格納する。この距離Ｌ１は固定値である。
【００６９】
設定データ４３３ｃは、リプレイカメラＣＭのパラメータ４３３ｄ毎に、初期値４３３ｅと、現在値４３３ｆとを対応付けて格納している。パラメータ４３３ｄには、ゲーム空間における位置（ｘ，ｙ，ｚ）と、カメラ角度であるピッチ角Ｘ、ヨー角Ｙ及びロール角Ｚと、画角φとがある。尚、このピッチ角Ｘが俯角θである。
【００７０】
制御データ４３３ｇは、パラメータ４３３ｈ毎に制御内容４３３ｉを対応付けて格納している。制御内容４３３ｉは、該当するパラメータを「固定」とするか「可変」とするかを指定するデータを格納する。
【００７１】
リプレイ制御部２１１は、各リプレイカメラＣＭについて、該当するリプレイカメラデータ４３３の設定データ４３３ｃを参照し、各パラメータを定められた初期値とすることで、該リプレイカメラＣＭを再構築されたゲーム空間に配置（初期設定）する。
【００７２】
その後、リプレイ制御部２１１はリプレイを開始する。リプレイ中は、フレーム毎に以下の処理を繰り返す。即ち、（１）リプレイデータ４３２を基に、バイク２０等のオブジェクトを移動制御（再配置）する。次いで、（２）設定されている複数のリプレイカメラＣＭのうちから画像生成を行う一のリプレイカメラＣＭを、例えば自車の位置を基に選択する。そして、（３）選択したリプレイカメラＣＭに該当するリプレイカメラデータ４３３の制御データ４３３ｇに従って該リプレイカメラＣＭを制御する。即ち、制御データ４３３ｇにおいて、制御内容が「可変」に定められているパラメータを可変させることで、視線方向が自車ＰＣに向かうように該リプレイカメラを制御（再配置）する。
【００７３】
続いて、（４）選択したリプレイカメラＣＭに該当するリプレイカメラデータ４３３を参照して、該リプレイカメラＣＭの描画最遠位置Ｐ１を判定し、判定した描画最遠位置Ｐ１をＺ値適用範囲の奥側位置Ｐ３とする。また、Ｚ値適用範囲の手前側位置Ｐ２を決定する。即ち、該当するリプレイカメラデータ４３３の設定データ４３３ｃを参照し、該リプレイカメラＣＭの画角φを基に、係数算出データ４３５に従って係数ｋφを算出する。また、該リプレイカメラＣＭの俯角θ（ピッチ角Ｘ）を基に、係数算出データ４３５に従って係数ｋθを算出する。そして、算出した係数ｋφと係数ｋθと乗じて係数ｋを算出する。また、該リプレイカメラＣＭから自車までの距離Ｌｐを算出し、この距離Ｌｐに算出した係数ｋを乗じて、Ｚ値適用範囲の手前側位置Ｐ２までの距離Ｌ２を算出する。
【００７４】
ここで、係数算出データ４３５は、Ｚ値適用範囲の手前側位置Ｐ２を決定する係数ｋの算出方法を定義したデータである。本実施形態では、画角φを基に係数ｋφを算出するための例えば図９に一例を示した画角φと係数ｋφとの関係式と、俯角θを基に係数ｋθを算出するための例えば図１１に一例を示した俯角θと係数ｋθとの関係式と、係数ｋφ，ｋθから係数ｋを算出するための算出式である式（２）とを含んでいる。
【００７５】
リプレイ制御部２１１により決定されたＺ値適用範囲は、Ｚ値適用範囲データ４３４に格納される。図１４に、Ｚ値適用範囲データ４３４のデータ構成の一例を示す。Ｚ値適用範囲データ４３４は、Ｚ値適用範囲の手前側位置４３４ａと、奥側位置４３４ｂとを格納している。各位置は、該当するリプレイカメラＣＭからの距離Ｌを格納する。
【００７６】
そして、リプレイ制御部２１１は、算出した手前側位置Ｐ２から奥側位置Ｐ３までの範囲をＺ値適用範囲とし、画像生成部２３０に、Ｚバッファ法によるＺ値適用範囲内の隠面消去処理を行うことでリプレイカメラＣＭに基づく画像を生成させ、生成された画像を画像表示部３３０に表示させる。
【００７７】
音生成部２４０は、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部３４０に出力する。音出力部３４０は、音生成部２４０からの音信号に基づいてＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ１２３１がこれに相当する。
【００７８】
記憶部４００は、処理部２００に家庭用ゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、制御ユニット１２１１に実装されているＲＯＭやＲＡＭ等がこれに該当する。
【００７９】
また、記憶部４００は、処理部２００をゲーム演算部２１０として機能させるためのゲームプログラム４１０及びゲームデータを記憶するとともに、フレームバッファ４２１とＺバッファ４２２とが形成されている。ゲームプログラム４１０には、リプレイ制御部２１１として機能させるためのリプレイプログラム４１１が含まれている。また、ゲームデータには、オブジェクトデータ４３１と、リプレイデータ４３２と、リプレイカメラデータ４３３と、Ｚ値適用範囲データ４３４と、係数算出データ４３５とが含まれている。
【００８０】
オブジェクトデータ４３１は、ゲーム空間に配置される各オブジェクトについてのデータであり、レースコース１０や背景等のデータ、キャラクタである各バイク２０の現在の位置や姿勢、移動速度のデータや、バイク２０を構成する各オブジェクトのデータであモデリングデータやテクスチャデータ等を含んでいる。
【００８１】
［処理の流れ］
図１５は、本実施形態におけるゲーム処理の流れを説明するためのフローチャートである。この処理は、ゲーム演算部２１０がゲームプログラム４１０を実行することで実現される。
【００８２】
同図によれば、ゲーム演算部２１０は、先ず、仮想空間にレースコース１０や背景、自車及び他車のバイク２０、視点（仮想カメラ）を配置してゲーム空間の初期設定を行う（ステップＡ１）。その後、ゲーム処理を実行してゲームを開始する（ステップＡ３）。ゲーム中は、フレーム毎に、次の処理を行う。即ち、（１）操作入力部１００から入力される操作データに従って自車を制御する処理、（２）所定の制御ルーチンに従って他車を自動制御する処理、（３）自車及び他車の各バイク２０の位置や姿勢等のデータを、該フレームでのプレイデータとしてリプレイデータ４３２に蓄積追加する処理、を行う。
【００８３】
ゲームが終了すると、ゲーム演算部２１０は、該終了したゲームのリプレイを行うか否かを判定する。リプレイを行うか否かの判定は、例えば、操作入力部１００からプレーヤによるリプレイ開始指示が入力されたか否かにより判定する。リプレイを行うならば（ステップＡ５：ＹＥＳ）、リプレイ制御部２１１がリプレイ処理を実行する（ステップＡ７）。
【００８４】
図１６は、リプレイ処理の流れを説明するためのフローチャートである。同図によれば、リプレイ制御部２１１は、仮想空間に、リプレイデータ４３２に基づき自車や他車等のオブジェクトを初期位置に配置してゲーム空間を再構築する（ステップＢ１）。また、リプレイカメラデータ４３３を参照して、再構築したゲーム空間に複数のリプレイカメラＣＭを配置（所期設定）する（ステップＢ３）。
【００８５】
その後、リプレイが終了するまでの間、フレーム毎にループＡの処理を実行する。ループＡでは、リプレイ制御部２１１は、リプレイデータ４３２に基づき、自車や他車等の各オブジェクトを１フレーム分移動制御する（ステップＢ５）。次いで、設定されている複数のリプレイカメラＣＭのうちから、例えば自車の位置を基に、画像生成を行う一のリプレイカメラＣＭを選択する（ステップＢ７）。そして、選択したリプレイカメラＣＭを、該当するリプレイカメラデータ４３３の制御データ４３３ｇに従って、視線方向が自車に向くように制御する（ステップＢ９）。
【００８６】
続いて、リプレイ制御部２１１は、該当するリプレイカメラデータ４３３を参照し、選択したリプレイカメラＣＭに設定されている描画最遠位置を、Ｚ値適用範囲の奥側位置Ｐ３とする（ステップＢ１１）。また、選択したリプレイカメラＣＭの画角φを基に、係数算出データ４３５を参照して係数ｋφを算出するとともに、俯角θを基に、係数算出データ４３５を参照して係数ｋθを算出する（ステップＢ１３）。次いで、算出した係数ｋφに係数ｋθを乗じて係数ｋを算出する（ステップＢ１５）。また、選択したリプレイカメラＣＭの位置から自車の位置Ｐｐまでの距離Ｌｐを算出する（ステップＢ１７）。そして、算出した距離Ｌｐに算出した係数ｋを乗じて、Ｚ値適用範囲の手前側位置Ｐ２までの距離Ｌ２を算出する（ステップＢ１９）。
【００８７】
そして、画像生成部２３０に、設定したＺ値適用範囲内の隠面消去処理を行うことで選択したリプレイカメラＣＭに基づく画像生成を行わせ、生成された画像を画像表示部３３０に表示させる（ステップＢ２１）。
【００８８】
リプレイデータ４３２に基づくリプレイが終了すると、ループＡを終了し、続いてリプレイ処理を終了する。リプレイ処理が終了すると、ゲーム演算部２１０は、ゲーム処理を終了する。
【００８９】
［ハードウェア構成］
図１７は、本実施の形態における家庭用ゲーム装置１２００のハードウェア構成の一例を示す図である。同図によれば、家庭用ゲーム装置１２００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、画像生成ＩＣ１００８と、音生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２，１０１４とを有し、システムバス１０１６により相互にデータの入出力が可能に接続されている。また、画像生成ＩＣ１００８には表示装置１０１８が接続され、音生成ＩＣ１０１０にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１２１５が接続されている。
【００９０】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されているプログラムやデータ、ＲＯＭ１００２に格納されているシステムプログラム（装置本体の初期化情報等）やデータ、コントロール装置１０２２によって入力される入力信号等に従って、装置全体の制御や各種データ処理を行う。このＣＰＵ１０００は、図１の制御ユニット１２１１に搭載されているＣＰＵ、図１２の処理部２００に該当する。
【００９１】
ＲＯＭ１００２、ＲＡＭ１００４及び情報記憶媒体１００６は、図１２の記憶部４００に該当する。ＲＯＭ１００２は、家庭用ゲーム装置１２００のシステムプログラムや、図１２の記憶部４００に記憶されている情報の内、特に、予め設定されているプログラムやデータ等を記憶する。ＲＡＭ１００４は、ＣＰＵ１０００の作業領域として用いられ、例えば、ＲＯＭ１００２や情報記憶媒体１００６の所与の内容、１フレーム分の画像データ、ＣＰＵ１０００による演算結果等が格納される。また、情報記憶媒体１００６は、ＩＣメモリカードや本体装置に着脱自在なハードディスクユニット、ＭＯ等によって実現される。
【００９２】
画像生成ＩＣ１００８は、ＣＰＵ１０００からの画像情報に基づいて表示装置１０１８に表示するゲーム画面の画素情報を生成する集積回路である。表示装置１０１８は、画像生成ＩＣ１００８で生成された画素情報に基づくゲーム画面を表示する。この画像生成ＩＣ１００８は、図１２の画像生成部２３０に該当し、表示装置１０１８は、図１２の画像表示部３３０、図１のディスプレイ１２３０に該当する。
【００９３】
音生成ＩＣ１０１０は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。この音生成ＩＣ１０１０は、図１２の音生成部２４０に該当し、スピーカ１２３１は、図１２の音出力部３４０、図１のスピーカ１２３１に該当する。
【００９４】
尚、画像生成ＩＣ１００８、音生成ＩＣ１０１０等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によってソフトウェア的に実行されることとしても良い。
【００９５】
コントロール装置１０２２は、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。このコントロール装置１０２２は、図１２の操作入力部１００、図１のゲームコントローラ１２２０に該当する。
【００９６】
通信装置１２１５は、家庭用ゲーム装置１２００内部で使用される各種情報を外部とやり取りするための装置であり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介してゲームプログラム等の情報を送受信する等に利用される。この通信装置１２１５は、図１の本体装置１２１０に具備される通信装置に該当する。
【００９７】
［画面例］
図１８は、本実施形態を適用した画面例であり、同一のゲーム空間において同一のリプレイカメラＣＭを基に、バイクＯＢを対象オブジェクトとして生成した画像である。同図（ａ）は、従来の方法による画像例である。即ち、図３（ａ）を参照して説明したように、リプレイカメラＣＭの位置Ｐ０から描画最遠位置Ｐ１までをＺ値適用範囲としてＺ値を適用した場合の画像例である。また、図１８（ｂ）は、本実施形態の方法による画像例である。即ち、図４（ｂ）を参照して説明したように、リプレイカメラＣＭの位置Ｐ０から描画最遠位置Ｐ１までの対象オブジェクトであるバイクＯＢの位置Ｐｐを含む一部範囲であって、位置Ｐ０と位置Ｐｐとの間に設定される手前側位置Ｐ２から、描画最遠位置Ｐ１に一致する奥側位置Ｐ３までの範囲をＺ値適用範囲としてＺ値を適用した場合の画像例である。
【００９８】
このバイクＯＢは、複数のオブジェクトから成るモデルオブジェクトであり、例えば、車体前方の前輪ＯＢ１及びフロントフォークＯＢ２は、前外方からカウルＯＢ３で覆われるように構成されている。しかし、図１８（ａ）では、リプレイカメラＣＭを基準とした、前輪ＯＢ１及びフロントフォークＯＢ２とカウルＯＢ３との前後関係が逆転して判定され、カウルＯＢ３の後方に在るはずの前輪ＯＢ１及びフロントフォークＯＢ２が、カウルＯＢ３の手前に在るように描画されている。これは、Ｚ値の単位値に対する奥行き距離が大きいため、前輪ＯＢ１、フロントフォークＯＢ２及びカウルＯＢ３それぞれのＺ値として同じ値が割り当てられたためである。これに対して、本実施形態の方法を用いた同図（ｂ）では、前後関係が正しく判定され、前輪ＯＢ１及びフロントフォークＯＢ２の手前方にカウルＯＢ３が在るように描画されている。これは、バイクＯＢを構成する各オブジェクトに対して、その奥行き距離に応じた適切なＺ値が割り当てられたためである。
【００９９】
また、図１９は、本実施形態を適用した他の画面例であり、同一のゲーム空間において同一のリプレイカメラＣＭを基に、画像中右側のバイクＯＢを被写体オブジェクトとして生成した画像である。同図（ａ）は、従来の方法による画像例であり、同図（ｂ）は、本実施形態の方法による画像例である。
【０１００】
同図によれば、従来の方法を用いた同図（ａ）では、上述の図１８（ａ）と同様に、リプレイカメラＣＭを基準とした、バイクＯＢの前輪ＯＢ１及びフロントフォークＯＢ２とカウルＯＢ３との前後関係が逆転して判定され、カウルＯＢ３の後方に在るはずの前輪ＯＢ１及びフロントフォークＯＢ２が、カウルＯＢ３の手前に在るように描画されている。これに対して、本実施形態の方法を用いた図１９（ｂ）では、上述の図１８（ｂ）と同様に、前後関係が正しく判定され、バイクＯＢの前輪ＯＢ１及びフロントフォークＯＢ２の手前方にカウルＯＢ３が在るように描画されている。
【０１０１】
［作用・効果］
本実施形態によれば、リプレイ時に、リプレイカメラＣＭの位置Ｐ０から描画最遠位置Ｐ１までの範囲内に、被写体オブジェクトである自車ＰＣの位置Ｐｐを含むＺ値適用範囲が設定される。Ｚ値適用範囲の両端位置のうち、リプレイカメラＣＭに遠い側の奥側位置Ｐ３は描画最遠位置Ｐ１に設定され、近い側の手前側位置Ｐ２はリプレイカメラＣＭを基に設定される。即ち、リプレイカメラＣＭの画角φを基に定められる係数ｋφと、俯角θを基に定められる係数ｋθとを乗算して係数ｋが算出され、リプレイカメラＣＭの位置Ｐ０から自車の位置Ｐｐまでの距離Ｌｐに、この算出した係数ｋを乗算することで、手前側位置Ｐ２までの距離Ｌ２が算出される。そして、設定されたＺ値適用範囲にＺ値が適用され、リプレイカメラＣＭに基づくＺ値適用範囲内の隠面消去処理を行うことで、リプレイ画像が生成される。
【０１０２】
これにより、Ｚ値の単位値に対する奥行き値が小さくなる、即ちＺ値の精度が高くなるため、近接した２つのオブジェクト同士であっても前後関係が精確に判定され、オブジェクトの前後関係が逆転された不適切な画像が生成されるといったことが防止される。また、リプレイカメラＣＭと被写体オブジェクトである自車ＰＣとの距離Ｌｐや、リプレイカメラＣＭの画角φや俯角θを基に、Ｚ値適用範囲の手前側位置Ｐ２を設定することで、効果的にＺ値適用範囲を設定することができる。
【０１０３】
［変形例］
尚、本発明の適用可能な実施形態は上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【０１０４】
（Ａ）Ｚ値適用範囲
例えば、上述の実施形態では、Ｚ値適用範囲の奥側位置Ｐ３を描画最遠位置Ｐ１に一致させて固定とし、手前側位置Ｐ２をリプレイカメラＣＭに応じて可変することにしたが、奥側位置Ｐ３を、例えば自車の位置に応じて可変とすることにしても良い。また更に、Ｚ値適用範囲の手前側位置Ｐ２及び奥側位置Ｐ３の双方を可変とすることにしても良い。
【０１０５】
（Ｂ）係数ｋ
また、上述した実施形態では、Ｚ値適用範囲の手前側位置Ｐ２を決定するための係数ｋを、リプレイカメラＣＭの画角φを基に定まる係数ｋφと、俯角θを基に定まる係数ｋθとを乗じることで決定することにしたが、係数ｋφ，ｋθの何れか一方のみで決定することにしても良い。
【０１０６】
また、係数ｋを、画角φや俯角θといったパラメータに関わらず、リプレイカメラＣＭ毎に予め定められた固定値としても良い。この場合、リプレイカメラＣＭの描画範囲は位置やカメラ角度といった設定内容から大凡定まるため、その設定内容に応じて係数ｋを設定しておけばよい。
【０１０７】
（Ｃ）被写体オブジェクト
また、上述の実施形態では、プレーヤキャラクタである自車を被写体オブジェクトとし、この自車の位置Ｐｐを含むようにＺ値適用範囲を設定することにしたが、自車以外のオブジェクト、例えば他車を被写体オブジェクトとしてＺ値適用範囲を設定することにしても良い。
【０１０８】
また、自車だけではなく他車（例えば、レース開始前に指定した所定の他車）を含む複数のオブジェクトを被写体オブジェクトとし、この複数の被写体オブジェクトの位置を含むようにＺ値適用範囲を設定することにしても良い。
【０１０９】
具体的には、図２０に示すように、複数の被写体オブジェクト全ての位置を含むようにＺ値適用範囲を設定する。同図では、自車ＰＣ及び他車ＥＣの２つの被写体オブジェクトそれぞれの位置Ｐｐ１，Ｐｐ２を含むよう、Ｚ値適用範囲が設定されている。この場合、リプレイカメラＣＭから、リプレイカメラＣＭに最も近い被写体オブジェクトである自車ＰＣの位置Ｐｐ１までの距離Ｌｐに係数ｋを乗じることで、Ｚ値適用範囲の手前側位置Ｐ２までの距離Ｌ２を決定する。
【０１１０】
また、図２１に示すように、複数の被写体オブジェクトそれぞれの位置を含むよう、複数のＺ値適用範囲を設定することにしても良い。同図では、自車ＰＣ及び他車ＥＣが被写体オブジェクトとされ、自車ＰＣの位置Ｐｐ１を含むＺ値適用範囲Ａと、他車ＥＣの位置Ｐｐ２を含むＺ値適用範囲Ｂとが設定されている。そして、各Ｚ値適用範囲にＺ値が適用される。即ち、リプレイカメラＣＭに近いＺ値適用範囲Ａの手前側位置Ｐ２ａのＺ値を「０」、奥側位置Ｐ３ａのＺ値を「２ｍ−１」とし、この手前側位置Ｐ２ａから奥側位置Ｐ３ａまでのＺ値適用範囲を「２ｍ」等分して、Ｚ値「０〜２ｍ−１」を割り当てる。また、リプレイカメラＣＭに遠いＺ値適用範囲Ｂの手前側位置Ｐ２ｂのＺ値を「２ｍ」、奥側位置Ｐ３ｂのＺ値を「２ｎ−１」とし、この手前側位置Ｐ２ｂから奥側位置Ｐ３ｂまでのＺ値適用範囲を「２（ｎ−ｍ）」等分して、Ｚ値「２ｍ〜２ｎ−１」を割り当てる。但し、ｍ＜ｎ、である。
【０１１１】
（Ｄ）適用時
また、上述の実施形態では、本発明をリプレイ時に適用することにして説明したが、ゲーム時にも適用可能なのは勿論である。
【０１１２】
（Ｅ）適用するゲーム装置
また、上述した実施形態では、本発明を家庭用ゲーム装置に適用した場合について説明したが、図１に示した家庭用ゲーム装置１２００のみではなく、業務用ゲーム装置や携帯型ゲーム装置、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
【０１１３】
例えば図２２は、本発明を業務用ゲーム装置に適用した一例を示す外観図である。同図によれば、業務用ゲーム装置１３００は、レース用のバイクの形状をモチーフに形成されており、レース用のバイクの形状を模した筐体１３１０と、ゲーム画面を表示するディスプレイ１３２０と、ゲームの効果音やＢＧＭを出力するスピーカ１３３０と、演算処理によって業務用ゲーム装置１３００を統合的に制御してバイクゲームを実行する制御ユニット１３４０とを備えている。
【０１１４】
制御ユニット１３４０には、ＣＰＵ等の演算処理装置と、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭとが搭載されている。ＣＰＵは、ＲＯＭに記憶されたプログラムやデータを適宜読み出して演算処理することによって、ゲーム処理等の種々の処理を実行する。
【０１１５】
プレーヤは、筐体１３１０にまたがり、ディスプレイ１３２０に表示されるゲーム画面を見、スピーカ１３３０から出力されるゲーム音声を聞きながら、筐体１３１０が有するハンドル１３１１を操作して左右方向を決定し、不図示のアクセルグリップ或いはブレーキレバーによって加速・減速を入力するといった、本物のバイクと同様の操作をしてバイクレースゲームを楽しむ。
【０１１６】
（Ｆ）適用するゲーム
また、上述の実施形態では、バイクレースゲームに適用した場合を説明したが、例えばカーレースゲームやフライトシミュレーションといった他のゲームにも同様に適用可能なのは勿論である。
【図面の簡単な説明】
【０１１７】
【図１】家庭用ゲーム装置の外観例。
【図２】リプレイ時のゲーム空間の一例。
【図３】従来のＺ値の適用例。
【図４】本実施形態のＺ値の適用例。
【図５】Ｚ値適用範囲の手前側位置Ｐ２の設定方法の説明図。
【図６】リプレイカメラの典型的な設定例。
【図７】被写体オブジェクトとの距離により描画範囲が異なることの説明図。
【図８】画角φにより描画範囲が異なることの説明図。
【図９】リプレイカメラの画角φと係数ｋφとの関係の一例。
【図１０】俯角θにより描画範囲が異なることの説明図。
【図１１】リプレイカメラの俯角θと係数ｋθとの関係の一例。
【図１２】家庭用ゲーム装置の機能構成図。
【図１３】リプレイカメラデータのデータ構成例。
【図１４】Ｚ値適用範囲データのデータ構成例。
【図１５】ゲーム処理の流れ図。
【図１６】ゲーム処理中に実行されるリプレイ処理の流れ図。
【図１７】家庭用ゲーム装置のハードウェア構成例。
【図１８】従来及び本実施形態の方法による画面例。
【図１９】従来及び本実施形態の方法による画面例。
【図２０】Ｚ値適用範囲の変形例。
【図２１】Ｚ値適用範囲の変形例。
【図２２】業務用ゲーム装置の外観例。
【符号の説明】
【０１１８】
１２００  家庭用ゲーム装置
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２１１  リプレイ制御部
２３０  画像生成部
２４０  音生成部
３３０  画像表示部
３４０  音出力部
４００  記憶部
４１０  ゲームプログラム
４１１  リプレイ制御プログラム
４２１  フレームバッファ
４２２  Ｚバッファ
４３１  オブジェクトデータ
４３２  リプレイデータ
４３３  リプレイカメラデータ
４３４  Ｚ値適用範囲データ
４３５  係数算出データ
【図１】
2007304727.tif 000003
【図２】
2007304727.tif 000004
【図３】
2007304727.tif 000005
【図４】
2007304727.tif 000006
【図５】
2007304727.tif 000007
【図６】
2007304727.tif 000008
【図７】
2007304727.tif 000009
【図８】
2007304727.tif 000010
【図９】
2007304727.tif 000011
【図１０】
2007304727.tif 000012
【図１１】
2007304727.tif 000013
【図１２】
2007304727.tif 000014
【図１３】
2007304727.tif 000015
【図１４】
2007304727.tif 000016
【図１５】
2007304727.tif 000017
【図１６】
2007304727.tif 000018
【図１７】
2007304727.tif 000019
【図２０】
2007304727.tif 000020
【図２１】
2007304727.tif 000021
【図２２】
2007304727.tif 000022
【図１８】
2007304727.tif 000023
【図１９】
2007304727.tif 000024