(57)【要約】【課題】  例えば遠方を望む視界条件において視界内に多数のオブジェクトが存在するような場合であっても、オブジェクト相互の前後関係を算出する際の分解能低下に伴う表示品質の低下を抑制する。【解決手段】仮想３次元空間に配置されたＮ種類のオブジェクト（ＣＬ１〜ＣＬ５）を、クリップ範囲が異なるＭ種類の透視変換行列（遠景撮影用の透視変換行列と近景撮影用の透視変換行列）で分けて透視変換処理する。つまり、クリップ範囲の前後方向全体を所定のビット数で均等割してオブジェクトの前後位置関係を当該ビットで表現する際、視点からの見渡し距離全体を１つのクリップ範囲として一回で透視変換処理を行う場合に比べて、１ビット当たりの仮想３次元空間における奥行き方向の距離の分解能を高めることができる。【選択図】図４
2009053886.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
前記仮想３次元空間にＮ種類（Ｎ≧２）のオブジェクトを配置する配置手段、
前記仮想カメラからの遠近方向のクリップ範囲が異なるＭ種類（Ｍ≧２）の透視変換行列を設定する透視変換行列設定手段、
前記Ｎ種類のオブジェクトのうち、前記Ｍ種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段、
前記Ｍ種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想３次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記透視変換行列設定手段が、前記Ｍ種類の透視変換行列それぞれのクリップ範囲を可変して設定するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記Ｎ種類のオブジェクトには、少なくとも近景用オブジェクトと遠景用オブジェクトとがあり、
前記Ｍ種類の透視変換行列には、少なくとも近景用透視変換行列と遠景用透視変換行列とがあり、
前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを更に機能させるとともに、
前記選択手段が、前記近景用透視変換行列に対応するオブジェクトの種類として近景用オブジェクトを選択し、前記遠景用透視変換行列に対応するオブジェクトの種類として遠景用オブジェクトを選択するように前記コンピュータを機能させる、
ための請求項１又は２に記載のプログラム。
【請求項４】
前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想３次元空間の所定の高度層に配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び／又は当該高度層に近接する高度層に位置する場合には前記水平配置用遠景オブジェクトを対象から除外し、位置しない場合には前記カメラ対向遠景オブジェクトを対象から除外して実行するように前記コンピュータを機能させる、
ための請求項３に記載のプログラム。
【請求項５】
前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想３次元空間の空中に混在配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用遠景オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向遠景オブジェクトとを対象から除外して実行するように前記コンピュータを機能させる、
ための請求項３に記載のプログラム。
【請求項６】
コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び／又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項７】
コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に混在配置する配置手段、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項８】
前記近景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用近景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向近景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記水平配置用近景オブジェクト及び前記カメラ対向近景オブジェクトを前記仮想３次元空間の所定の高度層に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向近景オブジェクトの姿勢を可変するカメラ対向近景オブジェクト姿勢可変手段として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用近景オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、低い場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記透視投影変換処理を実行する、
ように前記コンピュータを機能させるための請求項１〜５に記載のプログラム。
【請求項９】
前記近景用オブジェクトには更に、水平状に配置される板状の水平配置用近景オブジェクトが少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記仮想３次元空間の空中に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用近景オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、高い高度に位置する場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記透視投影変換処理を実行する、
ように前記コンピュータを機能させるための請求項１〜５に記載のプログラム。
【請求項１０】
コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトを含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、低い場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項１１】
コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトを含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に配置する配置手段、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、高い高度に位置する場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項１２】
請求項１〜１１の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１３】
仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置であって、
前記仮想３次元空間にＮ種類（Ｎ≧２）のオブジェクトを配置する配置手段と、
前記仮想カメラからの遠近方向のクリップ範囲が異なるＭ種類（Ｍ≧２）の透視変換行列を設定する透視変換行列設定手段と、
前記Ｎ種類のオブジェクトのうち、前記Ｍ種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段と、
前記Ｍ種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想３次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項１４】
仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び／又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項１５】
仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に混在配置する配置手段と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項１６】
仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトを含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、低い場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段と、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項１７】
仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトを含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に配置する配置手段と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、高い高度に位置する場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段と、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラム等に関する。
【背景技術】
【０００２】
従来、画像生成装置の一種であるゲーム装置では、仮想空間であるゲーム空間にプレーヤキャラクタ等のオブジェクトを配置するとともに視点（仮想カメラ）を設定し、この視点を基に生成したゲーム空間の画像がゲーム画像として表示される。
【０００３】
ゲーム装置では、予め定められたフレーム時間毎に１枚のゲーム画像（フレーム画像）が生成・表示されるが、視野内に多数のオブジェクトが存在する場合やポリゴン数の多いオブジェクトが存在する場合、画像処理の負担が増大することにより一部のオブジェクトが表示されない不適切なフレーム画像が生成される不具合があった。そこで、このような表示抜けの問題を解決するため、視野内のオブジェクトを選別するためのクリッピング空間を任意に変更し、表示抜け等のない適正な画像の生成を実現した技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１４４０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、近年のゲームには高いリアリティが要求される傾向にある。高いリアリティを実現するには、クリッピング空間の奥行きをより大きくして近影から遠景まで詳細に描く必要がある。例えば、フライトシミュレータなどのゲームジャンルでは、仮想カメラ（視点）が航空機のコックピット視点として設定されるためクリッピング空間の奥行きは、航空機の直前から遥か遠方まで設定する必要があった。そして、クリッピング空間の奥行きが大きくなることによって、次工程の陰面消去処理でＺソート法やＺバッファ法を用いるケースではオブジェクト相互の前後関係の分解能が低下するといった問題が生じる。例えば、フライトシミュレータゲームにおいて、雲のオブジェクトと地表のオブジェクトとの前後関係の分解能が計算機誤差の影響を受け、雲の上に地表が描画されるといったことが時折発生し、画面中の一部がちらつくといった表示品質の低下が発生する。
【０００５】
本発明は上記事情に鑑みて為されたものであり、例えば遠方を望む視界条件において視界内に多数のオブジェクトが存在するような場合であっても、オブジェクト相互の前後関係を算出する際の分解能低下に伴う表示品質の低下を抑制することを第１の目的としている。また、視界内に多数の雲が浮かんでいるようなシチュエーションにおいて表示品質の低下を抑制することを第２の目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の発明は、コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
前記仮想３次元空間にＮ種類（Ｎ≧２）のオブジェクト（例えば、図３の第１種雲ＣＬ１〜第５種雲ＣＬ５）を配置する配置手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ２）、
前記仮想カメラからの遠近方向のクリップ範囲が異なるＭ種類（Ｍ≧２）の透視変換行列を設定する透視変換行列設定手段（例えば、図１０の処理部２００、画像生成部２６０、遠景撮影用透視変換行列設定部２６２、近景撮影用透視変換行列設定部２６６、図１３のステップＳ４２、Ｓ４６、図１４のステップＳ７０）、
前記Ｎ種類のオブジェクトのうち、前記Ｍ種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段（例えば、図１０の処理部２００、画像生成部２６０、図１３のステップＳ４８〜Ｓ５０、Ｓ５４〜Ｓ５８、図１４のステップＳ７２〜Ｓ７４、Ｓ８０〜Ｓ８４）、
前記Ｍ種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１０の処理部２００、画像生成部２６０、図１３のステップＳ５２、Ｓ６２、図１４のステップＳ８６）、として前記コンピュータを機能させるためのプログラムである。
【０００７】
第１３の発明は、仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置（例えば、図１の家庭用ゲーム装置１２００）であって、
前記仮想３次元空間にＮ種類（Ｎ≧２）のオブジェクトを配置する配置手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ２）と、
前記仮想カメラからの遠近方向のクリップ範囲が異なるＭ種類（Ｍ≧２）の透視変換行列を設定する透視変換行列設定手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、画像生成部２６０、図１３のステップＳ４２、Ｓ４６）と、
前記Ｎ種類のオブジェクトのうち、前記Ｍ種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１３のステップＳ４８〜Ｓ５０、Ｓ５４〜Ｓ５８、図１４のステップＳ７２〜Ｓ７４、Ｓ８０〜Ｓ８４）と、
前記Ｍ種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、画像生成部２６０、図１３のステップＳ５２、Ｓ６２、図１４のステップＳ８６）、を備えた画像生成装置である。
【０００８】
第１及び第１３の発明によれば、仮想３次元空間に配置されたＮ種類のオブジェクトを、クリップ範囲が異なるＭ種類の透視変換行列で分けて透視変換処理することができる。つまり、クリップ範囲の前後方向全体を所定のビット数で均等割してオブジェクトの前後位置関係を当該ビットで表現する際、視点からの見渡し距離全体を１つのクリップ範囲として一回で透視変換処理を行う場合に比べて、１ビット当たりの仮想３次元空間における距離の分解能を高めることができる。よって、例えば遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、オブジェクト相互の前後位置関係の分解能低下に伴う表示品質の低下を抑制することができる。
【０００９】
第２の発明は、前記透視変換行列設定手段が、前記Ｍ種類の透視変換行列それぞれのクリップ範囲を可変して設定するように前記コンピュータを機能させるための第１の発明のプログラムである。
【００１０】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、クリップ範囲を可変することで透視変換における仮想３次元空間の空間分解能を適当な値に変更し、ゲーム画面の生成処理時間と表示品質との間で適当なバランスをとることができる。例えば、視界範囲が狭くなるような状況においてクリップ範囲を小さくするように変更するならば、所定ビット数当たりの空間分解能をより高めることができるし、クリップ範囲内に含まれるオブジェクトの数を減らして処理負荷の低減を図ることもできる。
【００１１】
第３の発明は、前記Ｎ種類のオブジェクトには、少なくとも近景用オブジェクト（例えば、図３の第１種雲ＣＬ１、第２種雲ＣＬ２）と遠景用オブジェクト（例えば、図３の第３種雲ＣＬ３、第４種雲ＣＬ４、第５種雲ＣＬ５）とがあり、
前記Ｍ種類の透視変換行列には、少なくとも近景用透視変換行列と遠景用透視変換行列とがあり、前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）として前記コンピュータを更に機能させるとともに、前記選択手段が、前記近景用透視変換行列に対応するオブジェクトの種類として近景用オブジェクトを選択し、前記遠景用透視変換行列に対応するオブジェクトの種類として遠景用オブジェクトを選択するように前記コンピュータを機能させるための第１又は第２の発明のプログラムである。
【００１２】
第３の発明によれば、第１又は第２の発明と同様の効果を奏するとともに、仮想３次元空間に分布するオブジェクトの内、仮想カメラから見える範囲のオブジェクトを遠景と近景とに分けて透視変換処理することができる。したがって、視点から見渡せる範囲の奥行き方向に多数のオブジェクトが分布しているようなシチュエーションであっても、それらオブジェクトの位置関係が前後してちらつくといったような表示品質の低下を抑制することができる。
【００１３】
第４の発明は、前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクト（例えば、図３の第４種雲ＣＬ４）と、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクト（例えば、図３の第３種雲ＣＬ３）とが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想３次元空間の所定の高度層に配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１８）として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び／又は当該高度層に近接する高度層に位置する場合には前記水平配置用遠景オブジェクトを対象から除外し、位置しない場合には前記カメラ対向遠景オブジェクトを対象から除外して実行するように前記コンピュータを機能させるための第３の発明のプログラムである。
【００１４】
第４の発明によれば、第３の発明と同様の効果を奏するとともに、遠景に存在するオブジェクトを水平配置される水平配置用遠景オブジェクトと仮想カメラに対向するカメラ対向遠景オブジェクトとで構成することで、特定の高度近傍に面状態（或いは薄い層状態）で分布する様子と、独立的な存在として在る様子とを好適に混在させて表現できる。
その一方で、それら遠景オブジェクトが配置される高度層及び／又は当該高度層に近接する高度層に対して仮想カメラがどのように位置するかによって、水平配置用遠景オブジェクト又はカメラ対向遠景オブジェクトを遠景用透視変換行列に基づく透視変換処理の対象から除外することができる。つまり、板状の水平配置用遠景オブジェクトを側面から見る状況にある場合や、カメラ対向遠景オブジェクトが本来想定されていない状態まで姿勢が変化した場合などでは、それらを透視変換の対象外とすることで見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることができる。
【００１５】
第５の発明は、前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想３次元空間の空中に混在配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段（例えば、図１０の処理部２００、図１２のステップＳ１８）として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、図１２のステップＳ１６）として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用遠景オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向遠景オブジェクトとを対象から除外して実行するように前記コンピュータを機能させるための第３の発明のプログラムである。
【００１６】
第５の発明によれば、第３の発明と同様の効果を奏するとともに、遠景に存在するオブジェクトを水平配置用遠景オブジェクトとカメラ対向遠景オブジェクトとで構成することで、特定の高度近傍に面状態（或いは薄い層状態）で分布する様子と、独立的な存在として在る様子とを好適に混在させて表現できる。
その一方で、それら遠景オブジェクトに対して仮想カメラがどのように位置するかによって、水平配置用遠景オブジェクト又はカメラ対向遠景オブジェクトを遠景用透視変換行列を用いた透視変換処理の対象から除外することができる。つまり、水平配置用遠景オブジェクトと仮想カメラとの高度差が基準より小さくて板状の水平配置用遠景オブジェクトを側面から見る状況にある場合や、カメラ対向遠景オブジェクトと仮想カメラとの高度差が大きくてカメラ対向遠景オブジェクトが本来想定されていない状態まで姿勢が変化した場合などでは、それらを透視変換の対象外とすることで見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることができる。
【００１７】
第６の発明は、コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクト（例えば、図３の第４種雲ＣＬ４）と、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクト（例えば、図３の第３種雲ＣＬ３）とを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２にステップＳ２）、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２にステップＳ１８）、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び／又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１０の処理部２００、画像生成部２６０、図１３のステップＳ５４〜Ｓ６０）、として前記コンピュータを機能させるためのプログラムである。
【００１８】
第１４の発明は、仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置（例えば、図１の家庭用ゲーム装置１２００）であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２にステップＳ２）と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２にステップＳ１８）と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ１６）と、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び／又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１３のステップＳ５４〜Ｓ６０）と、を備えた画像生成装置である。
【００１９】
第６及び第１４の発明によれば、仮想３次元空間に配置されるオブジェクトを、水平配置用オブジェクトとカメラ対向オブジェクトとを含むＮ種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できる。
その一方で、仮想カメラの仮想３次元空間内での高度が、それら板状のオブジェクトの配置高度に対してどのような位置関係に在るかに応じて水平配置用オブジェクト或いはカメラ対向オブジェクトを描画対象から除外することができる。従って、板状の水平配置用オブジェクトを側面から見る状況にある場合や、カメラ対向用オブジェクトが本来想定されていない状態まで姿勢が変化した場合などではそれらを透視変換の対象外とすることができる。よって、見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることで、遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、透視変換処理されるオブジェクト数を制限してオブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【００２０】
第７の発明は、コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に混在配置する配置手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ２）、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１８）、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１０の処理部２００、画像生成部２６０、図１３のステップＳ５４〜Ｓ６０）として前記コンピュータを機能させるためのプログラムである。
【００２１】
第１５の発明は、仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置（例えば、図１の家庭用ゲーム装置１２００）であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に混在配置する配置手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ２）と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ１８）と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ１６）と、
前記Ｎ種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、画像生成部２６０、図１３のステップＳ５４〜Ｓ６０）と、を備えた画像生成装置である。
【００２２】
第７及び第１５の発明によれば、仮想３次元空間に配置されるオブジェクトを、水平配置用オブジェクトとカメラ対向オブジェクトとを含むＮ種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できる。
その一方で、仮想カメラとの相対高度差が、所定の大高度差条件を満たさない水平配置用オブジェクトと、所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外することができる。従って、板状の水平配置用オブジェクトを側面から見る状況にある場合や、カメラ対向用オブジェクトが本来想定されていない状態まで姿勢が変化した場合などではそれらを透視変換の対象外とすることができる。よって、見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることで、遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、透視変換処理されるオブジェクト数を制限してオブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【００２３】
第８の発明は、前記近景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用近景オブジェクト（例えば、図３の第２種雲ＣＬ２）と、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向近景オブジェクト（例えば、図３の第１種雲ＣＬ１）とが少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記水平配置用近景オブジェクト及び前記カメラ対向近景オブジェクトを前記仮想３次元空間の所定の高度層に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向近景オブジェクトの姿勢を可変するカメラ対向近景オブジェクト姿勢可変手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１８）として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）として前記コンピュータを機能させ、
前記画像生成手段が、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用近景オブジェクトの基準点候補のうちの第１の基準点（例えば、図１５（ａ）の最遠点Ｐ２ｆ）を基準にＺソート処理し、低い場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点（例えば、図１５（ｂ）の最近点Ｐ２ｎ）を基準にＺソート処理するＺソート処理手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１４のステップＳ８０〜Ｓ８４）を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記透視投影変換処理を実行する、ように前記コンピュータを機能させるための第１〜第５の何れかの発明のプログラムである。
【００２４】
第９の発明は、前記近景用オブジェクトには更に、水平状に配置される板状の水平配置用近景オブジェクト（例えば、図３の第２種雲ＣＬ２）が少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記仮想３次元空間の空中に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）として前記コンピュータを機能させ、
前記画像生成手段が、前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用近景オブジェクトの基準点候補のうちの第１の基準点（例えば、図１５（ａ）の最遠点Ｐ２ｆ）を基準にＺソート処理し、高い高度に位置する場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点（例えば、図１５（ｂ）の最近点Ｐ２ｎ）を基準にＺソート処理するＺソート処理手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１４のステップＳ８０〜Ｓ８４）を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記透視投影変換処理を実行する、ように前記コンピュータを機能させるための第１〜第５の何れかの発明のプログラムである。
【００２５】
ここで言う「基準点候補」とは、板状ポリゴンの頂点や中心点、仮想カメラから所定の相対位置条件を満たす点を含む。
第８又は第９の発明によれば、第１〜第５の発明の何れかと同様の効果を奏するとともに、近接した配置位置にある水平配置用の板状のオブジェクトとカメラ対向の板状のオブジェクトとを、仮想３次元空間の画像において常に前者が後者の下側に存在するように描画することができる。このことは、オブジェクトを雲として表現する場合に、薄く略水平に広がった雲の上に、独立したボリュームのある雲が散在するといった光景を表現するのに特に効果的である。
【００２６】
第１０の発明は、コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクト（例えば、図３の第２種雲ＣＬ２）を含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ２）、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点（例えば、図１５（ａ）の最遠点Ｐ２ｆ）を基準にＺソート処理し、低い場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点（例えば、図１５（ｂ）の最近点Ｐ２ｎ）を基準にＺソート処理するＺソート処理手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１４のステップＳ８０〜Ｓ８４）、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１０の処理部２００、画像生成部２６０、図１４のステップＳ８６）、として前記コンピュータを機能させるためのプログラムである。
【００２７】
第１６の発明は、仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置（例えば、図１の家庭用ゲーム装置１２００）であって、
水平状に配置される板状の水平配置用オブジェクトを含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の所定の高度層に配置する配置手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ２）と、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、図１２のステップＳ１６）と、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、低い場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、ゲーム演算部２１０、図１４のステップＳ８０〜Ｓ８４）と、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１の制御ユニット１２１０、図１０の処理部２００、画像生成部２６０、図１４のステップＳ８６）と、を備えた画像生成装置である。
【００２８】
第１０及び第１６の発明によれば、仮想３次元空間に配置されるオブジェクトを、水平配置用オブジェクトを含むＮ種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できるとともに、１つのクリップ範囲内に存在するポリゴン数を削減して、ポリゴン相互の仮想カメラに対する前後位置関係の判定バラツキが生じるのを抑制できる。また、配置されたオブジェクトをＺソート処理する際に、水平配置用オブジェクトについては、仮想カメラの高度が所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、低い場合には第１の基準点より仮想カメラ寄りの第２の基準点を基準にＺソート処理することによって、水平配置用の板状のオブジェクトがその他のオブジェクトに対して、仮想３次元空間の画像において常に下側に存在するように描画することができる。このことは、オブジェクトを雲として表現する場合に、薄く略水平に広がった雲の上に、独立したボリュームのある雲が散在するといった光景を表現するのに特に効果的である。
【００２９】
第１１の発明は、コンピュータに、仮想カメラで撮影した仮想３次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクト（例えば、図３の第２種雲ＣＬ２）を含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に配置する配置手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ２）、
高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１２のステップＳ１６）、
前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点（例えば、図１５（ａ）の最遠点Ｐ２ｆ）を基準にＺソート処理し、高い高度に位置する場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点（例えば、図１５（ｂ）の最近点Ｐ２ｎ）を基準にＺソート処理するＺソート処理手段（例えば、図１０の処理部２００、ゲーム演算部２１０、図１４のステップＳ８０〜Ｓ８４）、
前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段（例えば、図１０の処理部２００、画像生成部２６０、図１４のステップＳ８６）、として前記コンピュータを機能させるためのプログラムである。
【００３０】
第１７の発明は、仮想カメラで撮影した仮想３次元空間の画像を生成する画像生成装置であって、水平状に配置される板状の水平配置用オブジェクトを含むＮ種類（Ｎ≧２）のオブジェクトを前記仮想３次元空間の空中に配置する配置手段と、高さ方向を含む前記仮想カメラの前記仮想３次元空間中の移動を制御する仮想カメラ移動制御手段と、前記配置手段により配置されたオブジェクトをＺソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、高い高度に位置する場合には前記第１の基準点より前記仮想カメラ寄りの第２の基準点を基準にＺソート処理するＺソート処理手段と、前記Ｚソート処理手段によりＺソート処理されたオブジェクト順に前記Ｎ種類のオブジェクトを描画して前記仮想３次元空間の画像を生成する画像生成手段と、を備えた画像生成装置である。
【００３１】
第１１及び第１７の発明によれば、仮想３次元空間に配置されるオブジェクトを、水平配置用オブジェクトを含むＮ種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できるとともに、１つのクリップ範囲内に存在するポリゴン数を削減して、ポリゴン相互の仮想カメラに対する前後位置関係の判定バラツキが生じるのを抑制できる。
また、配置されたオブジェクトをＺソート処理する際に、水平配置用オブジェクトについては、仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第１の基準点を基準にＺソート処理し、高い場合には第１の基準点より仮想カメラ寄りの第２の基準点を基準にＺソート処理することによって、水平配置用の板状のオブジェクトがその他のオブジェクトに対して、仮想３次元空間の画像において常に下側に存在するように描画することができる。このことは、オブジェクトを雲として表現する場合に、薄く略水平に広がった雲の上に、独立したボリュームのある雲が散在するといった光景を表現するのに特に効果的である。
【００３２】
第１２の発明は、第１〜第１１の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１２の発明によれば、第１〜第１１の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜１１の何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【００３３】
本発明によれば、仮想３次元空間に配置されたＮ種類のオブジェクトを、クリップ範囲が異なるＭ種類の透視変換行列で分けて透視変換処理することができる。つまり、クリップ範囲の前後方向全体を所定のビット数で均等割してオブジェクトの前後位置関係を当該ビットで表現する際、視点からの見渡し距離全体を１つのクリップ範囲として一回で透視変換処理を行う場合に比べて、１ビット当たりの仮想３次元空間における距離の分解能を高めることができる。よって、例えば遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、オブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【００３４】
また、仮想３次元空間に配置されるオブジェクトを、水平配置用のオブジェクトとカメラ対向のオブジェクトとを含むＮ種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できる。
その一方で、仮想カメラの仮想３次元空間内での高度が、それら板状のオブジェクトの配置高度に対してどのような位置関係に在るか、或いはそれらのオブジェクトが仮想カメラに対して上に在るか下に在るかと言った相対位置関係に応じて水平配置用のオブジェクト或いはカメラ対向のオブジェクトを描画対象から除外することができる。
よって、見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることで、遠方を望む視界条件において視界内の奥行方向に多数のオブジェクトが存在する場合であっても、透視変換処理されるオブジェクト数を制限してオブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【発明を実施するための最良の形態】
【００３５】
〔第１実施形態〕
次に本発明を適用した第１実施形態として、画像生成装置の一種である家庭用ゲーム装置において戦闘機で空中戦をする一人称視点のフライトシューティングゲームを実行する場合について説明する。尚、本発明の適用可能な実施形態がこれに限定されるものではない。
【００３６】
［ゲーム装置の構成］
図１は、本実施形態における家庭用ゲーム装置の構成例を説明するためのシステム構成図である。家庭用ゲーム装置１２００のゲーム装置本体１２０１は、例えばＣＰＵや画像処理用ＬＳＩ、ＩＣメモリ等が実装された制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８を備える。
そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０に為される操作入力に基づいて制御ユニット１２１０で各種のゲーム演算並びにゲーム画像やゲーム音の生成処理を実行し、所与のビデオゲームを実行する。
【００３７】
より具体的には、制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＩＣメモリなどの電気電子機器を備え、家庭用ゲーム装置１２００の各部を制御する。また、制御ユニット１２１０は通信装置１２１２を備え、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と有線接続又は無線接続し、外部装置との間でデータ通信を実現する。
【００３８】
制御ユニット１２１０は、ゲームコントローラ１２３０から受信した操作入力信号に基づいてゲーム画像やゲーム音の生成処理を実行する。生成されたゲーム画像やゲーム音は、信号ケーブル１２０９で接続されたビデオモニタ１２２０に出力される。ビデオモニタ１２２０には、画像を表示する画像表示装置１２２２と音声を出力するスピーカ１２２４とが備えられており、プレーヤは画像表示装置１２２２に映し出されるゲーム画像を見ながらスピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイする。
【００３９】
ゲームコントローラ１２３０は、コントローラ上面に設けられた複数のプッシュボタンスイッチ１２３２と、側面に設けられたプッシュボタンスイッチ１２３３Ｒ，１２３３Ｌと、図で言うところの上下左右の各方向を単独入力するための方向入力キー１２３４と、右アナログレバー１２３６と、左アナログレバー１２３８とを備える。プッシュボタンスイッチ類は、選択の決定やキャンセル、タイミングの入力などに用いられる
【００４０】
右アナログレバー１２３６及び左アナログレバー１２３８は、図で言うところの上下方向と左右方向の２軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ１２３０を左右の手で把持し、レバーに左右それぞれの親指を添えて操作する。レバーを倒すことによって２軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとしても使用することもできる。
【００４１】
本実施形態では、右アナログレバー１２３６でプレーヤが操作するプレーヤ戦闘機の一人称視点の視線方向を操作し、左アナログレバー１２３８でプレーヤ戦闘機の前後左右の移動を操作する。また、プッシュボタン１２３３Ｒ，１２３３Ｌでそれぞれプレーヤ戦闘機のラダーを操作し、プッシュボタンスイッチ１２３２のうち所定スイッチでプレーヤ戦闘機から前方所定の攻撃可能範囲内の敵戦闘機に対してミサイルをロックオンして発射するタイミングを入力する。また、別のスイッチでは前方に機銃を発射するタイミングを入力する。
【００４２】
尚、ゲーム実行に必要なゲームプログラム及び各種設定データは、通信装置１２１２を介して通信回線１に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮ（Local Area Network）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。
【００４３】
図２は、本実施形態におけるゲーム画面の一例を示す図である。尚、同図の例では背景部分の描画を省略している。
同図に示すように、ゲーム画面Ｗ２には、各家庭用ゲーム装置１２００を操作するプレーヤが操作するプレーヤ戦闘機とともに移動制御される仮想カメラで撮影されるゲーム空間画像３０を主画像とする、所謂コックピットビュー（一人称視点）として表示される。ゲーム空間画像３０上には、ＨＵＤ（Head Up Display）表示として、ウィスキーマーク３２、姿勢表示３４、高度表示３６、速度表示３８、方位表示４０、残弾数表示４２、ダメージ表示４４が合成される。
【００４４】
プレーヤ戦闘機から所定の索敵範囲に存在し、ゲーム空間画像３０に写る敵戦闘機の機影５２ａ，５２ｂ，５２ｃには、それらのキャラクタを注目させるための識別子であるコンテナ表示５６，５７が付属表示される。プレーヤは、プッシュボタン１２３２の操作でコンテナ表示５６，５７が付属表示される敵戦闘機５２ａ，５２ｂ，５２ｃの何れか一つを攻撃目標として選択できる。同図では、中央の機影に該当する敵戦闘機５２ｂが選択されている。
【００４５】
通常、攻撃目標として選択された状態で、更に当該敵戦闘機が所定の攻撃可能範囲に所定時間以上存在すれば、ミサイル攻撃の標的として記憶される所謂「ロックオン」の状態となる。ロックオン状態となるとコンテナ表示５７は、更に特別色で表示されロックオンされたことを示す。このロックオン状態となったことを確認してプレーヤが所定のプッシュボタン１２３２を操作するとプレーヤ戦闘機からミサイルを発射して攻撃することができる。
【００４６】
また、ゲーム画面Ｗ２の左下隅の所定領域には、レーダ画像Ｗ３が表示される。レーダ画像Ｗ３は、プレーヤ戦闘機を中心とした俯瞰視簡略図である。中央にプレーヤ戦闘機を表すマーク４８が配され、これを中心に前後方向・左右方向を示す機軸線５０が表示される。そして、その周囲にプレーヤ戦闘機から所定範囲（前述の索敵範囲や攻撃範囲よりも広い範囲）に存在する敵戦闘機を示す表示体として敵レーダ表示マーク（図中の黒塗りマーク）が、プレーヤ戦闘機からの相対位置を維持して縮小表示される。
【００４７】
図３は、仮想３次元空間に形成されたゲーム空間に分布されるオブジェクトの一つである雲オブジェクトの種類を説明するための図である。本実施形態では、雲オブジェクトは第１種雲ＣＬ１〜第５種雲ＣＬ５の複数種類のモデルで構成されている。
【００４８】
第１種雲ＣＬ１は、近景撮影用のモデル（近景モデル）の一つであり、透明（又は半透明）の板状のポリゴン（以下、「板ポリゴン」という。）に高積雲や層積雲を表すテクスチャが設定されている。本実施形態では、第１種雲ＣＬ１は高度２０００ｍ前後の高度層に存在する雲を表現すべくゲーム空間中の高度２０５０ｍに分布され、常に板面の法線方向が視点位置を向く（つまり仮想カメラに対向する）ように制御される。勿論、配置高度については適当な高度層を形成すべく２０５０ｍ前後に適当な幅のバラツキを付与して設定するとしても良いし、高度２０００ｍ〜２５００ｍといった一定幅の高度範囲に分布するとしても良い。
【００４９】
第２種雲ＣＬ２は、近景撮影用のモデルの一つであって、ゲーム空間内に略水平に配置される板ポリゴンに高積雲や層積雲の群れを上面から見た様子、或いは高層雲や乱層雲、層雲などを表すテクスチャが設定されている。第２種雲ＣＬ２は第１種雲ＣＬ１の４倍程度の面積を有し、本実施形態では第１種雲ＣＬ１と同様に高度２０００ｍ前後の高度層に存在する雲を表現すべくゲーム空間中の高度２０００ｍに分布される。
【００５０】
第３種雲ＣＬ３は、第１種雲ＣＬ１に対応する遠景撮影用のモデル（遠景モデル）の一つであって、板ポリゴンに高積雲群や層積雲群を表すテクスチャが設定されている。その大きさは幅で第１種雲ＣＬ１の２〜３倍程度を有する。本実施形態における第３種雲ＣＬ３は、高度２０００ｍ前後の高度層に存在する雲を遠くから見た状態を表現すべく、第１種雲ＣＬ１の分布をカバーするようにして高度２０５０ｍに分布される。また、第３種雲ＣＬ３の板ポリゴンは、常に板面の法線方向が視点位置を向くように制御される。尚、第３種雲ＣＬ３は、遠くから見た遠景における複数の第１種雲ＣＬ１に相当するが、遠景であるが故に第１種雲ＣＬ１よりも低密度で分布される。
【００５１】
第４種雲ＣＬ４は、第２種雲ＣＬ２に対応する遠景撮影用モデルの一つであって、ゲーム空間内に略水平に配置される板ポリゴンに高積雲や層積雲の群れを上面から見た様子、或いは高層雲や乱層雲、層雲などを表すテクスチャが設定されている。その大きさは幅で第２種雲ＣＬ２の４〜５倍程度を有し、第２種雲ＣＬ２の分布をカバーするようにしてゲーム空間の高度２０００ｍに分布される。尚、第４種雲ＣＬ４は、遠くから見た遠景における複数の第２種雲ＣＬ２に相当するが、第２種雲ＣＬ２よりも低密度で分布される。
【００５２】
第５種雲ＣＬ５は、遠景撮影用モデルの一つであって、ゲーム空間内に略水平に配置される板ポリゴンに巻雲や巻積雲を上或いは下から見た様子を表すテクスチャが設定されている。第５種雲ＣＬ５は、第２種雲ＣＬ２の４倍程度の大きさを有し、本実施形態では高度１５０００ｍ前後に分布される。
【００５３】
図４は、本実施形態におけるゲーム空間での分布オブジェクトである雲オブジェクトの分布について説明するための概念図であって、ゲーム空間の縦断面図に相当する。尚、本実施形態におけるフライトシューティングゲームでは、プレーヤ戦闘機の一人称視点としてゲーム画面が表示されるので同図では、プレーヤ戦闘機の代わりに仮想カメラＣＭを記している。
【００５４】
ゲーム空間である仮想３次元空間には、１３０ｋｍ四方に山や森、建物などを配置した地形オブジェクト２が配置され、その外周には天球４が設定されている。雲オブジェクト（ＣＬ１〜ＣＬ５）は、それぞれの種類に応じた高度で適宜分布配置されている。ゲームの戦場となる空域は、地形オブジェクト２と中心を同じくする５０ｋｍ四方の矩形領域を底面とする高さ無限遠の柱状空間を成しており、プレーヤ戦闘機及び敵戦闘機はこの戦闘空間内に配置され空中戦を繰り広げる。尚、当該空域を離脱すると戦線離脱のためゲームオーバとなる。
【００５５】
次に、本実施形態におけるゲーム画像生成方法の原理について説明する。
本実施形態では、先ず仮想カメラＣＭから撮影した天球４を描画する。次に、ニアクリップ面を視線方向１ｍの位置、ファークリップ面を視線方向３０ｋｍの位置にそれぞれ設定した近景撮影用の透視変換行列を生成し、同変換行列に基づいて地形オブジェクト２のモデルのうちプレーヤ戦闘機を中心に近景撮影用奥行き値Ｄｎ（本実施形態では３０ｋｍ）を半径とする領域に含まれる部分を、天球４を描画した画像上に描画する。より具体的には、近景撮影用の透視変換処理を含むジオメトリ変換処理の後に地形オブジェクト２を構成するポリゴンをＺバッファ法で隠面消去処理して所定投影面における各画素を描画する。
【００５６】
この結果、例えば図５に示すような空１２と地形１４が描画された背景画像Ｗ６が生成される。近景撮影用の透視変換行列におけるニアクリップ面からファークリップ面間での距離は十分に小さく、地形オブジェクトを形成する多数のポリゴンの前後関係が不正確になってちらつきが起きるといった表示品質の低下を防ぐことができる。
尚、同図では天球４と地形オブジェクト２との境界部分を明示しているが、公知技術を適宜用いて同境界部分に対して遠方のものが徐々に霞んで見えなくなるような処理を施しても良いのは勿論である。
【００５７】
次に、遠景部分の雲オブジェクトを描画する。
具体的には、図６に示すように、ニアクリップ面を視線方向１ｍの位置、ファークリップ面を視線方向２００ｋｍ（遠景撮影用奥行き値Ｄｆ）の位置にそれぞれ設定した遠景撮影用の透視変換行列を生成する。
次いで、プレーヤ戦闘機の飛行高度と第３種雲ＣＬ３及び第４種雲ＣＬ４の配置高度２０００ｍとを比較する。そして、仮想カメラの高度が第３種雲ＣＬ３や第４種雲ＣＬ４の配置高度層及び／又は当該高度層に近接する高度層（第３種雲ＣＬ３や第４種雲ＣＬ４の配置高度層を含む一定幅の高度層）に位置する場合、換言するとプレーヤ戦闘機が第３種雲ＣＬ３や第４種雲ＣＬ４の配置高度に近接して飛行している場合には撮影対象として第３種雲ＣＬ３を選択する。一方、プレーヤ戦闘機が第３種雲ＣＬ３や第４種雲ＣＬ４の配置高度層及び／又は当該高度層に近接する高度層よりも、所定の大高度差条件を満たすように離れて上或いは下を飛行している場合には、撮影対象として第４種雲ＣＬ４を選択する。更に、選択した第３種雲ＣＬ３及び第４種雲ＣＬ４のうち仮想カメラＣＭから３０ｋｍ（近景撮影用奥行き値Ｄｎ；近景撮影用の透視変換行列のファークリップ面と同じ距離）以内の近景範囲に存在するものを除外する。
【００５８】
次いで、除外されずに残った第３種雲ＣＬ３又は第４種雲ＣＬ４と、第５種雲ＣＬ５とを仮想カメラＣＭで撮影し、先に生成した遠景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理の後、仮想カメラからの距離順にＺソートする。そして、遠方から順に天球４及び地形オブジェクト２が描画された背景画像上にアルファブレンディング（半透明合成処理）で描画する。つまり、視点からの距離が３０ｋｍ〜２００ｋｍの遠景に存在する雲を遠景撮影用のモデルで撮影して背景画像上に描画する。この結果、例えば図７に示すように、空１２や地形１４に加えて全天に分布している雲のうち遠くの雲（遠景雲１８，２０）のみが描かれた遠景画像Ｗ８となる。尚、同図の例ではプレーヤ戦闘機が第３種雲ＣＬ３や第４種雲ＣＬ４の配置高度に近い高度を飛行しているので、第４種雲ＣＬ４については描画されていない。
【００５９】
透視変換におけるビュー空間の奥行きを示すファークリップ面が無限遠に設定された場合に比べて限定されるので、遠景に多数の雲オブジェクトが配置されている設定であっても、仮想カメラからの距離順にソートする際、計算誤差などの影響を受けずに適切な前後位置関係を表現できるだけの分解能が得られる。より具体的には、例えば、ニアクリップ面からファークリップ面までの遠近方向の距離を５１２ビットの数値で表現する場合（いわゆるＺ値として５１２ビットを用いる場合）に、１ビットの数値で表される距離は、ニアクリップ面からファークリップ面までが短いほど小さくなり、分解能が高くなる。例えば１ビットで１００ｋｍを表す場合には、複数のオブジェクトが遠近方向（前後方向）に１００ｋｍの範囲で散在していたとしても、遠近方向（前後方向）において同一の位置に位置するとして計算される（Ｚソートされる）ため、実際のオブジェクトの配置位置関係と異なる描画順序で描画されることとなり、遠景の雲の描画位置が前後してちらつくといった表示品質の低下が発生する。本実施形態によれば、これを抑制できる。
【００６０】
遠景の描画ができたならば近景の描画を行う。
その為には先ず、ニアクリップ面を視線方向１ｍの位置、ファークリップ面を視線方向３０ｋｍの位置にそれぞれ設定した近景撮影用の透視変換行列を生成する。次いで、図８に示すように、プレーヤ戦闘機（仮想カメラＣＭ）から近景撮影用奥行き値Ｄｎ（３０ｋｍ）内の第１種雲ＣＬ１及び第２種雲ＣＬ２、並びに敵戦闘機や飛翔中のミサイル等のオブジェクトを抽出し、先に生成した近景撮影用の透視変換行列に基づく透視変換処理を含むジオメトリ変換処理を実行する。そして、仮想カメラからの距離順にＺソートして、遠方のオブジェクトから順に遠景の画像に描画する。この際、第１種雲ＣＬ１及び第２種雲ＣＬ２は透明ポリゴン又は半透明ポリゴンの扱いなので、アルファブレンディング処理で描画する。敵戦闘機やミサイルは不透明ポリゴンなのでＺバッファ法で陰面消去して描画する。
【００６１】
近景の描画に際して、近景撮影用の透視変換行列のビュー空間の遠近方向（奥行き方向）の長さは、無限遠をファークリップ面とする場合に比べて十分に小さい。また、遠景の雲は事前に遠景画像Ｗ８にすでに描かれている。すなわち、遠景の雲は近景撮影用のファークリップ面の位置（視点から３０ｋｍ）にまとめて遠景画像Ｗ８として予め描画されることで、疑似的に視点から３０ｋｍの位置にまとめて再配置された状態となる。
近景の雲オブジェクト（ＣＬ１，ＣＬ２）をＺソート法とアルファブレンディング処理によって描画する過程では、１ｍ〜３０ｋｍという限定された領域を所定のＺ値で表現することになるので、無限遠までを一度に撮影（画像生成）する場合に比べると、例え多数の近景の雲オブジェクトが分布されているシチュエーションであっても、仮想カメラＣＭに対する前後位置関係が計算誤差などの影響を受けずに適切な表現が可能な分解能を維持できる。結果として、例えば図９に示すように、遠景雲が描かれた遠景画像Ｗ８上に正しい前後関係で近景雲２２，２４が描画されたゲーム空間画像Ｗ１０が生成される。
【００６２】
このように、遠景撮影用と近景撮影用とで透視変換行列をそれぞれ生成するとともに、雲オブジェクトの遠景モデルを撮影した遠景画像に近景モデルを撮影して描画することで、仮想カメラＣＭが上空にあって遥か遠くまで見渡せるような状況で、しかも視界の手前から奥にかけてきわめて多数の雲が存在するようなケースであっても、雲の前後関係が計算誤差などの影響で前後関係が揺らいで画面上雲の表示位置がちらつくといった表示品質の低下を抑制することができる。
【００６３】
［機能ブロックの説明］
次に、本実施形態における機能構成について説明する。図１０は本実施形態における機能構成例を示す機能ブロック図である。同図に示すように本実施形態の家庭用ゲーム装置１２００は、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００６４】
操作入力部１００は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。図１のゲームコントローラ１２３０が操作入力部１００に該当する。
【００６５】
処理部２００は、例えばマイクロプロセッサやＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して家庭用ゲーム装置１２００の動作を制御する。図１では、ゲーム装置本体１２０１に内蔵された制御ユニット１２１０が処理部２００に該当する。
【００６６】
そして、本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００６７】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、仮想３次元空間中にゲーム空間を形成する処理や、ゲーム空間中に配置されたプレーヤ戦闘機や敵戦闘機、ミサイル等のオブジェクトの配置制御処理、敵戦闘機などのＮＰＣ（ノンプレーヤキャラクタ）の自動制御処理、プレーヤ戦闘機に付随するように仮想カメラの位置や姿勢を変更する処理、板ポリゴンの面を視点方向に向ける所謂ビルボード処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理といった処理が実行対象に含まれる。
【００６８】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００６９】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を放音する装置によって実現される。図１ではビデオモニタ１２２０のスピーカ１２２４が該当する。
【００７０】
画像生成部２６０は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、その制御プログラム、フレームバッファやＺバッファ等の描画フレーム用ＩＣメモリ等の公知技術によって実現される。そして、画像生成部２６０は、透視変換処理や隠面消去処理を含む所謂「ジオメトリパイプライン」と称される各種処理を実行して、仮想カメラから見たゲーム空間の画像を所定のフレームレート（例えば６０ｆｐｓ）で生成する。また、ゲーム空間中のプレーヤ戦闘機と敵戦闘機の各位置座標に基づいてレーダ画像の生成及びゲーム空間画像への合成に係る処理、並びにゲーム画像３０へのＨＵＤ表示やレーダ画像Ｗ３等の合成処理を実行する（図２参照）。そして、最終的なゲーム画面を生成したならば、その画像信号を画像表示部３６０に出力してゲーム画面を表示出力させる。尚、本実施形態では隠面消去処理としてＺソート法とＺバッファ法とを行うものとする。
【００７１】
本実施形態における画像生成部２６０は、遠景撮影用透視変換行列設定部２６２と、遠景撮影時モデル種類選択部２６４と、近景撮影用透視変換行列設定部２６６と、遠景近景合成部２６８とを備える。
【００７２】
遠景撮影用透視変換行列設定部２６２は、仮想３次元空間に分布される分布オブジェクトの遠景用モデル（本実施形態の第３種雲ＣＬ３〜第５種雲ＣＬ５）を仮想カメラＣＭで撮影する際に適用する遠景撮影用の透視変換行列を設定する。本実施形態では、ニアクリップ面が視点から１ｍ離れた位置、ファークリップ面が２００ｋｍ離れた位置となるビュー空間を形成する透視行列を生成する。
【００７３】
遠景撮影時モデル種類選択部２６４は、仮想カメラで遠景モデルを撮影する際に、撮影対象とする遠景モデルを仮想カメラの相対位置関係に基づいて選択する。本実施形態では、仮想カメラＣＭはプレーヤ戦闘機の一人称視点となるので、プレーヤ戦闘機のゲーム空間中の飛行高度と、遠景モデルである第３種雲ＣＬ３及び第４種雲ＣＬ４の配置高度とを比較することで、仮想カメラＣＭがそれら遠景モデルに対して高／低いずれの高度に在るかによって第３種雲ＣＬ３と第４種雲ＣＬ４のうち何れかを選択する。尚、仮想カメラＣＭと遠景モデルとの相対位置関係は、高度に基づく比較に限らず、ゲーム空間中の３次元座標による直接比較でも構わない。
【００７４】
近景撮影用透視変換行列設定部２６６は、仮想３次元空間に分布される分布オブジェクトの近景用モデルを仮想カメラで撮影する際に適用する近景撮影用の透視変換行列を設定する。本実施形態では、ニアクリップ面が視点から１ｍ離れた位置、ファークリップ面が３０ｋｍ離れた位置となるビュー空間を形成する透視行列を生成する。
【００７５】
遠景近景合成部２６８は、分布モデルの遠景用モデルを仮想カメラで撮影した遠景画像に、近景用モデルを仮想カメラで撮影した近景画像を合成する。本実施形態では、遠景画像に、仮想カメラで撮影した近景用モデルを隠面消去処理して描画を加えることで合成とするが、遠景画像と近景画像とをそれぞれ別個に生成して近景画像において近景モデルが描画された部分を遠景画像にアルファブレンディング処理（半透明合成処理）するとしても良い。
【００７６】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像Ｗ２を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１ではビデオモニタ１２２０の画像表示部であるディスプレイ１２２２が該当する。
【００７７】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して他の家庭用ゲーム装置やサーバ装置との間でデータのやりとりを実現する。
【００７８】
通信部３７０は、通信回線２と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１では通信装置１２１２がこれに該当する。
【００７９】
記憶部５００は、予め定義されたプログラムやデータを記憶するとともに、処理部２００の作業領域として用いられて処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。
【００８０】
本実施形態における記憶部５００は、処理部２００にゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラム５０１や、ゲームを実行させるために必要なゲームプログラム５０２並びに各種データ等を記憶している。処理部２００がゲームプログラム５０２を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現させることができる。
尚、ゲームプログラム５０２は、敵戦闘機（ＮＰＣ：ノンプレーヤキャラクタ）をコンピュータ制御するためのＮＰＣ制御プログラム５０４を含む。ＮＰＣ制御プログラム５０４は、所謂「ＡＩ」とも呼ばれる公知の技術を用いて実現できる。
【００８１】
記憶部５００には、予め用意されるデータとしてゲーム空間設定データ５１０、キャラクタ初期設定データ５１２、雲分布データ５１４、雲モデルデータ５１６が記憶されている。更にゲームの進行に伴って生成され随時書き換えられるデータとして、ゲーム空間画像データ５１８、キャラクタステータスデータ５２０が記憶される。また、ゲームの進行に係る処理を実行する際に必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【００８２】
ゲーム空間設定データ５１０には、仮想３次元空間にゲーム空間を形成するための各種データが格納されている。例えば、天球４や、山・平地・谷・川・海・建物などを含む地形オブジェクト２に関するモデルデータやテクスチャデータ及びモーションデータが格納されている（図４参照）。
【００８３】
キャラクタ初期設定データ５１２には、プレーヤ戦闘機や敵戦闘機、それらから発射されるミサイルなどでゲームに登場する各種キャラクタに関する初期設定データがキャラクタの種類毎に格納されている。具体的には、プレーヤ戦闘機及び敵戦闘機については表示用モデル、テクスチャ、並びに最高速度や最高加速度、最高到達高度、耐久力（ヒットポイント）、兵装の種類や搭載数などの当該兵器の能力パラメータ値の初期値、ゲームスタート時の初期配置位置などが格納されている。
【００８４】
雲分布データ５１４は、本実施形態における分布オブジェクトである雲オブジェクトの分布配置データであって、第１種雲ＣＬ１〜第５種雲ＣＬ５のゲーム空間中の空における分布を定義する。
具体的には例えば図１１に示すように、各雲のオブジェクトに付与される雲識別番号５１４ａに対応づけて、第１種雲ＣＬ１〜第５種雲ＣＬ５までの種類を示す番号を表す雲種類５１４ｂ、仮想３次元空間における代表点（例えば板ポリゴンの中心点）の３次元座標値を表す位置座標５１４ｃ、ゲーム空間中の配置高度５１４ｄ、透明の板ポリゴンに適用されるテクスチャ５１４ｅを格納する。
【００８５】
雲モデルデータ５１６は、雲オブジェクトのモデルデータを定義する。本実施形態では、近景モデルと遠景モデルの２分類が存在し、近景モデルには更に第１種雲ＣＬ１と第２種雲ＣＬ２があり、遠景モデルには更に第３種雲ＣＬ３、第４種雲ＣＬ４、第５種雲ＣＬ５がある。それぞれのモデルについて、透明の板ポリゴンの大きさを定義している。尚、雲モデルは板ポリゴンにテクスチャを貼る構造にかぎらず、雲の立体的な外形を形成するモデルとしても良いのは勿論である。
【００８６】
ゲーム空間画像データ５１８は、ゲーム空間画像生成に係る画像情報（例えば各画素のαＲＧＢデータ）を格納する。本実施形態では、生成された遠景画像の画像情報が格納され、仮想カメラで撮影された近景モデルが更に描画され、更に各種ＨＵＤ表示が描画されて最終的なゲーム空間画像を記憶することとなる。
【００８７】
キャラクタステータスデータ５２０は、ゲーム空間に配置されたプレーヤ戦闘機や敵戦闘機及び飛翔中のミサイルの現在位置や状態を示す各種パラメータ値を格納する。
例えば、キャラクタ識別情報と対応づけて、仮想３次元空間における３次元の現在位置座標、現在の飛行高度、現在のオブジェクトの姿勢角度、速度、残弾数、現在のヒットポイントに相当する耐久値といった能力パラメータ値、攻撃対象として選択しているキャラクタを示す攻撃目標キャラクタ識別情報などを格納する。勿論、これらのパラメータに限るものでは無く、各キャラクタに係る情報を適宜対応付けて格納することができる。
【００８８】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。
図１２は、本実施形態における主たる処理の流れを説明する為のフローチャートである。同図に示すように、処理部２００は、先ずゲーム空間設定データ５１０とキャラクタ初期設定データ５１２を参照して、仮想３次元空間内に地形オブジェクト２や天球４、雲オブジェクト（ＣＬ１〜ＣＬ５）、プレーヤ戦闘機、敵戦闘機を配置する（ステップＳ２）。
【００８９】
ゲームがスタートしたならば（ステップＳ４のＹＥＳ）、処理部２００は公知のフライトシューティングゲームと同様に操作入力部１００から入力された操作入力信号に応じてプレーヤ戦闘機の動作を制御する（ステップＳ６）。キャラクタステータスデータ５２０のプレーヤ戦闘機に係る情報はこの動作制御に伴って適宜更新される。
【００９０】
処理部２００は、次に所定のＡＩ制御によって敵戦闘機の動作を自動制御し（ステップＳ８）、発射されて飛翔中のミサイルの動作を自動制御する（ステップＳ１０）。キャラクタステータスデータ５２０の敵戦闘機及びミサイルに係る情報はこれらの動作制御に伴って適宜更新される。
【００９１】
次に、攻撃のヒット判定処理とダメージ処理を実行し、ダメージを受けた戦闘機についてはその耐久値の減算処理をしてキャラクタステータスデータ５２０を更新する（ステップＳ１２）。そして、それぞれの耐久値を超過するダメージを受け、耐久値が「０」に達した戦闘機を撃墜されたと判定して撃墜処理の対象とする（ステップＳ１４）。撃墜処理対象とされた戦闘機は、公知のフライトシューティングゲームと同様にしてステップＳ６やＳ８において、被弾して墜落する様子を表現するための所定の墜落動作をするように自動制御される。
【００９２】
次に、処理部２００は仮想カメラＣＭの移動制御を実行する（ステップＳ１６）。本実施形態では仮想カメラＣＭはプレーヤ戦闘機の一人称視点とされるので、例えばプレーヤ戦闘機のコックピット位置に固定され、機体前方に視線方向を向けて配置される。
【００９３】
次に、第１種雲ＣＬ１と第３種雲ＣＬ３を、それぞれの板ポリゴンの法線方向が仮想カメラＣＭを向くように板面の向きを変更した上で（ステップＳ１８）、画像生成処理を実行する（ステップＳ２０）。
【００９４】
図１３〜図１４は、本実施形態における画像生成処理の流れを説明する為のフローチャートである。図１３に示すように、処理部２００は、仮想カメラＣＭから天球４のみを撮影した天球画像を生成し、同画像の画像データをゲーム空間画像データ５１８に格納する（ステップＳ４０）。
次に、ニアクリップ面距離を１ｍ、ファークリップ面距離を３０ｋｍとする近景撮影用の透視変換行列を生成し（ステップＳ４２）、プレーヤ戦闘機の代表点を中心とする半径３０ｋｍの範囲に存在する地形オブジェクト２のポリゴンモデルを対象として、近景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理を実行し、ゲーム空間画像データ５１８に格納されている天球画像上に描画する（ステップＳ４４）。この際、地形オブジェクト２を形成するポリゴンは、１ｍ〜３０ｋｍを所定のビット数で表現するＺバッファ法によって隠面消去処理されて各画素が地形の色に変更される。
【００９５】
次に、処理部２００は、ニアクリップ面距離を１ｍ、ファークリップ面距離を２００ｋｍとする遠景撮影用の透視変換行列を生成する（ステップＳ４６）。
次いで、雲分布データ５１４を参照してプレーヤ戦闘機の代表点を中心とする半径２００ｋｍに配置されている第５種雲ＣＬ５を抽出し（ステップＳ４８）、抽出された第５種雲ＣＬ５からプレーヤ戦闘機と同高度層（同高度層と見なされるほど近い高度層を含む。例えば同高度層を含む所定幅の高度層。）第５種雲ＣＬ５を除外する（ステップＳ５０）。厚さの無い板ポリゴンに描かれた第５種雲ＣＬ５を仮想カメラＣＭが真横から撮影する場合、実質的に描画されない、或いは、違和感のある雲として描画されることになるので、ステップＳ５０でそのような雲モデルを除外して計算負荷を軽減する。
【００９６】
そして、除外されずに残った第５種雲ＣＬ５を、先に生成した遠景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理して、ゲーム空間画像データ５１８に格納されている空と地形とが描画された背景画像Ｗ６（図５参照）へ仮想カメラＣＭで撮影した第５種雲ＣＬ５（図６の遠景雲１８）をアルファブレンディング処理して描画する（ステップＳ５２）。
【００９７】
次に、処理部２００は、雲の遠景モデルとプレーヤ戦闘機（実質的には仮想カメラ）との相対位置関係から撮影対象とする遠景モデルの種類を選択する処理を実行する。
具体的には、プレーヤ戦闘機の飛行高度が６０００ｍ未満であるか否かを判定する（ステップＳ５４）。「６０００ｍ」の値は、第３種雲ＣＬ３に適用されるテクスチャで表現する雲が、第３種雲ＣＬ３の板ポリゴンの板面が視点方向に向けられ横倒しに近づくことによって、当該第３種雲ＣＬ３で表現される雲に見かけ上の違和感が生じる限界値である。第３種雲ＣＬ３にどのような形状の雲を表現するかによってその値は適宜設定することができる。
【００９８】
プレーヤ戦闘機が、第１種〜第４種雲が配置される高度層以上で且つ第５種雲より低い例えば高度６０００ｍ未満を飛行している場合（ステップＳ５４のＹＥＳ）、処理部２００は雲分布データ５１４を参照して、プレーヤ戦闘機の代表点を中心とした半径３０ｋｍ〜２００ｋｍの範囲内の第３種雲ＣＬ３を抽出する（ステップＳ５６）。換言すると、仮想カメラＣＭが第３種雲ＣＬ３及び第４種雲ＣＬ４の配置高度層（２０００ｍ前後）及びその近接高度層（３０００ｍ〜５０００ｍ前後）に在る場合には、第４種雲ＣＬ４を透視変換並びに描画対象から除外するとも言える。
【００９９】
反対に、高度６０００ｍ以上を飛行している場合には（ステップＳ５４のＮＯ）、プレーヤ戦闘機の代表点を中心とした半径３０ｋｍ〜２００ｋｍの範囲内の第４種雲ＣＬ４を抽出する（ステップＳ５８）。換言すると、仮想カメラＣＭが第３種雲ＣＬ３及び第４種雲ＣＬ４の配置高度層（２０００ｍ前後）及びその近接高度層（３０００ｍ〜５０００ｍ前後）に無い場合には、第３種雲ＣＬ３を透視変換並びに描画対象から除外するとも言える。
【０１００】
次に、処理部２００は抽出された第３種雲ＣＬ３又は第４種雲ＣＬ４を対象に、先に生成した遠景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理を実行する（ステップＳ６０）。そして、ジオメトリ変換処理された第３種雲ＣＬ３又は第４種雲ＣＬ４を仮想カメラＣＭからの距離順にＺソートし、仮想カメラから半径３０ｋｍ〜２００ｋｍに存在する第３種雲ＣＬ３又は第４種雲ＣＬ４を、遠方から順にゲーム空間画像データ５１８に格納されている画像へアルファブレンディング処理を行って追加描画する（ステップＳ６２）。
これによって、仮想カメラから３０ｋｍ〜２００ｋｍの遠景領域に存在する雲を、遠景モデルで撮影・描画して、遠景画像Ｗ８（図７参照）を生成したことになる。
【０１０１】
次に、処理部２００は近景の描画を実行する。
具体的には、図１４に示すように、先ずニアクリップ面距離を１ｍ、ファークリップ面距離を３０ｋｍとする近景撮影用の透視変換行列を生成する（ステップＳ７０）。そして、近景描画における撮影対象オブジェクトとして、プレーヤ戦闘機の代表点を中心とする半径１ｍ〜３０ｋｍ内に配置されている第１種雲ＣＬ１、第２種雲ＣＬ２、敵戦闘機、ミサイルといったオブジェクトを抽出し（ステップＳ７２）、抽出した中からプレーヤ戦闘機の飛行高度と同高度に配置されている第２種雲を除外する（ステップＳ７４）。第２種雲ＣＬ２は略水平に配置される板ポリゴンのため、仮想カメラが同高度にあって仮に視線方向が水平である場合には描画されない或いは違和感のある雲として表示されるため、第２種雲を除外する。
【０１０２】
次いで、現在の撮影対象オブジェクトを対象に、先に生成した近景撮影用の透視変換行列に基づく視変換を含むジオメトリ変換処理を実行する（ステップＳ７８）。
そして、プレーヤ戦闘機の飛行高度が第２種雲ＣＬ２の配置高度（２０００ｍ）より上か否かを判定する（ステップＳ８０）。プレーヤ戦闘機が２０００ｍ以上を飛行している場合（ステップＳ８０のＹＥＳ）、処理部２００は、例えば図１５（ａ）に示すように、第２種雲ＣＬ２の板ポリゴンに係る基準点候補の内、仮想カメラから最も遠い最遠点Ｐ２ｆを当該第２種雲ＣＬ２の代表点としてその他の撮影対象オブジェクトの代表点とともに仮想カメラからの距離順にＺソートする（ステップＳ８２）。反対にプレーヤ戦闘機が２０００ｍ未満を飛行している場合には（ステップＳ８０のＮＯ）、例えば図１５（ａ）に示すように、第２種雲ＣＬ２の板ポリゴンに係る基準点候補の内、仮想カメラに最も近い最近点Ｐ２ｎを当該第２種雲ＣＬ２の代表点としてその他の撮影対象オブジェクトとともに仮想カメラからの距離順にＺソートする（ステップＳ８４；図１５（ｂ））。
ここで言う「基準点候補」とは、板ポリゴンの頂点や中心点のみとしてもよいし、板ポリゴン上の全ての任意の点や、板ポリゴンの周縁上の任意の点としてもよい。
【０１０３】
そして、ソート結果に基づいて遠方の撮影対象オブジェクトから順に、仮想カメラＣＭで撮影した画像をゲーム空間画像データ５１８に格納されている遠景画像Ｗ８上に描画する（ステップＳ８６）。このとき、例えば、描画対象のオブジェクトが第１種雲ＣＬ１及び第２種雲ＣＬ２の場合はアルファブレンディング処理によって遠景画像Ｗ８上に描画する。描画対象が敵戦闘機やミサイルなど立体的なポリゴンモデルで形成されたオブジェクトの場合は、当該オブジェクトを構成するポリゴンをＺバッファ法で隠面消去処理して描画する。
或いは、ソート結果を参照して撮影対象オブジェクトから第１種雲ＣＬ１と第２種雲ＣＬ２を除いた不透明ポリゴンのオブジェクト（この場合、敵戦闘機及びミサイル）のポリゴンを抽出してＺバッファ法で隠面消去処理して遠景画像Ｗ８に描画し、続いて残った第１種雲ＣＬ１と第２種雲ＣＬ２（ミサイルの噴煙が雲オブジェクトと同様に透明ポリゴンの場合にはこれを含む）をソート結果の遠方から順にアルファブレンディング処理で描画するとしても良い。何れにせよ、遠景画像Ｗ８に近景画像が合成されてゲーム空間画像Ｗ１０（図９参照）が完成されたことになる。
【０１０４】
次いで、処理部２００は、レーダ画像を生成し、生成したレーダ画像Ｗ３とＨＵＤ表示をこの時点でゲーム空間画像データ５１８に格納されているゲーム空間画像Ｗ１０に合成して、ディスプレイ１２２０に表示させるゲーム画面としての画像を完成させ（ステップＳ８８）、画像生成処理を終了する。
【０１０５】
画像生成処理が終了したならば、図１２のフローに戻る。
処理部２００は、次に生成したゲーム画面の画像信号を所定の走査サイクルでディスプレイ１２２０に出力して画像表示装置１２２２にゲーム画面を画像表示させ（ステップＳ２２）、ゲーム音を生成してスピーカ１２２４に音信号を出力して放音させる（ステップＳ２４）。
【０１０６】
次に、処理部２００はゲーム結果を算出して所定のゲーム終了条件を満たすか否かを判定する（ステップＳ２６）。本実施形態では、プレーヤ戦闘機が撃墜された場合にゲームオーバでゲーム終了条件を満たしていると判断し、すべての敵戦闘機が撃墜された場合にゲームクリアでゲーム終了条件を満たしていると判断する。
ゲーム終了条件を満たしていなければ（ステップＳ２６のＹＥＳ）、ステップＳ６に戻る。ゲーム終了条件を満たしていれば（ステップＳ２６のＮＯ）、ゲーム結果に応じたエンディングを表示するなどのゲーム終了処理を実行して（ステップＳ２８）、一連の処理を終了する。
【０１０７】
以上の処理によって、本実施形態によれば、雲のような視界全体に分布する分布オブジェクトがゲーム空間内に配置されるシチュエーションであっても、遠景と近景とでそれぞれ別々に透視変換行列を設定して分布オブジェクトのレンダリングを遠景と近景とに分けて処理することで、Ｚソート処理時に限られたビット数のＺ値でも十分な分解能を実現し、分布オブジェクト相互の前後位置関係が計算誤差などの影響を受け、分布オブジェクトの前後位置が描画フレーム毎に変動すると言った表示品質の低下を抑制できる。
【０１０８】
［ハードウェア構成］
次に、本実施形態におけるハードウェア構成例について説明する。
図１６は、本実施形態における家庭用ゲーム装置１２００を実現するためのハードウェア構成例を示す図である。家庭用ゲーム装置１２００は、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、画像生成ＩＣ１００８、音生成ＩＣ１０１０、Ｉ／Ｏポート１０１２，１０１４がシステムバス１０１６により相互にデータ入出力可能に接続されている。Ｉ／Ｏポート１０１２にはコントロール装置１０２２が、Ｉ／Ｏポート１０１４には通信装置１０２４が、それぞれ接続されている。
【０１０９】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラムや、コントロール装置１０２２によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【０１１０】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２内の所与の内容、ＣＰＵ１０００の演算結果等が格納される。
【０１１１】
情報記憶媒体１００６は、プログラム、画像データ、音データ、プレーデータ等が主に格納されるものであり、情報記憶媒体として、ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣカード、磁気ディスク、光ディスク等が用いられる。
【０１１２】
尚、ＲＯＭ１００２、ＲＡＭ１００４及び情報記憶媒体１００６は、図１０の記憶部５００に相当する。
【０１１３】
また、この装置に設けられている画像生成ＩＣ１００８と音生成ＩＣ１０１０により、音や画像の好適な出力が行えるようになっている。
【０１１４】
画像生成ＩＣ１００８は、ＣＰＵ１０００の命令によって、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される画像信号は、表示装置１０１８に出力される。表示装置１０１８は、ＣＲＴやＬＣＤ、ＥＬＤ、プラズマディスプレイ、或いはプロジェクター等により実現され、図１０の画像表示部３６０に相当する。
【０１１５】
また、音生成ＩＣ１０１０は、ＣＰＵ１０００の命令によって、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報、ＲＡＭ１００４に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ１０２０によって出力される。スピーカ１０２０は、図１０の音出力部３５０に相当するものである。
【０１１６】
コントロール装置１０２２は、プレーヤがゲームに係る操作を入力するための装置であり、その機能は、レバー、ボタン、タッチパネル、ダイヤル、ポインティングデバイス等のハードウェアにより実現される。尚、このコントロール装置１０２２は、図１０の操作入力部１００に相当するものである。
【０１１７】
通信装置１０２４は、装置内部で利用される情報を外部とやりとりするものであり、所与の情報を他の装置と送受すること等に利用される。尚、この通信装置１０２４は、図１０の通信部３７０に相当するものである。
【０１１８】
そして、ゲーム処理等の上述した処理は、図１０のゲームプログラム５０２等を格納した情報記憶媒体１００６と、これらプログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１００８、音生成ＩＣ１０１０等によって実現される。ＣＰＵ１０００、画像生成ＩＣ１００８、及び音生成ＩＣ１０１０は、図１０の処理部２００に相当するものであり、主にＣＰＵ１０００がゲーム演算部２１０、画像生成ＩＣ１００８が画像生成部２６０に、音生成ＩＣ１０１０が音生成部２５０にそれぞれ相当する。
【０１１９】
尚、画像生成ＩＣ１００８、音生成ＩＣ１０１０等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。この場合には、ＣＰＵ１０００が、図１０の処理部２００に相当する。
【０１２０】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は基本的には第１実施形態と同様の構成を有するが、遠景・近景の距離領域の設定、つまり遠景撮影時と近景撮影時に適用されるビュー空間（クリップ空間とも言う）の奥行きの設定が可変である点において異なる。尚、第１実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。
【０１２１】
図１７は、本実施形態において記憶部５００に予め記憶されているビュー空間設定テーブルデータ５２２のデータ構成例を示す図である。ビュー空間設定テーブルデータは、ゲームの進行状況に応じて透視変換に適用されるビュー空間の諸元を設定する。具体的には、設定条件５２２ａに対応づけて、近景撮影用と遠景撮影用の各透視変換におけるビュー空間の諸元として、視点からニアクリップ面間の距離と視点からファークリップ面間の距離とを対応づけて格納する。
【０１２２】
例えば、設定条件５２２ａの１つとして、ゲームの進行に応じて計時されるゲーム空間でのゲーム時刻が「２０：００より前」の例では、第１実施形態と同様に近景撮影用の透視変換のビュー空間は第１ニアクリップ面距離５２２ｃが１ｍ、第１ファークリップ面距離５２２ｄが３０ｋｍ、遠景撮影用の透視変換のビュー空間は第２ニアクリップ面距離５２２ｅが１ｍ、第２ファークリップ面距離５２２ｆが２００ｋｍに設定されている。また、設定条件５２２ａのもう１つとして、「２０：００以降」の例では、近景撮影用の透視変換のビュー空間は第１ニアクリップ面距離５２２ｃが１ｍ、第１ファークリップ面距離５２２ｄが２０ｋｍ、遠景撮影用の透視変換のビュー空間は第２ニアクリップ面距離５２２ｅが１ｍ、第２ファークリップ面距離５２２ｆが１００ｋｍに設定されている。
つまり、ゲーム空間の時刻が２０：００以降の夜の場合、闇によって視界到達距離が短くなることを利用して、近景及び遠景の範囲を狭めて、近景画像及び遠景画像のレンダリングに係る演算処理負荷を軽減するとともに、分布オブジェクトの前後位置関係の分解能をより高めるように工夫されている。
【０１２３】
設定条件５２２ａは、時刻に限らず、晴天時と降雪時のような天候差、ゲームの舞台が水中であれば水域による混濁程度差と言った具合に視界到達距離に違いが生じる条件を適宜設定できる。また自然条件に限らず、例えばＲＰＧのようにプレーヤキャラクタの体調をゲームのパラメータに含める場合には、魔法や毒によって視力が低下している場合などを設定条件とすることができる。
【０１２４】
図１８及び図１９は、本実施形態における画像生成処理の流れを説明する為のフローチャートである。本実施形態における画像生成処理では、処理部２００は先ず、ビュー空間設定テーブルデータ５２２を参照して、今回の画像生成処理において適用されるビュー空間の設定を決定する（ステップＳ３８）。
以下、第１実施形態のステップＳ４２に代わるステップＳ４２Ｂでは、ステップＳ３８で決定されたビュー空間の設定に基づいて近景撮影用の透視変換行列を生成し（ステップＳ４２Ｂ）、第１実施形態のステップＳ４４に代わるステップＳ４４Ｂでは、ステップＳ３８で決定されたビュー空間の設定の第１ファークリップ面距離５２２ｄを半径とする領域内に在る地形オブジェクト２を対象に、ステップＳ３８で設定されたビュー空間に基づく近景撮影用の透視変換行列を用いた透視変換処理を含むジオメトリ変換処理を実行して描画する（ステップＳ４４Ｂ）。
【０１２５】
また、第１実施形態のステップＳ４８に代わるステップＳ４８Ｂでは、プレーヤ戦闘機を中心にステップＳ３８で決定されたビュー空間の設定の第２ファークリップ面５２２ｆを半径とする領域内に配置されている第５種雲ＣＬ５を抽出する（ステップＳ４８Ｂ）。
同様にして、第１実施形態のステップＳ５６及びＳ５８に代わるステップＳ５６Ｂ並びにＳ５８Ｂにおいては、プレーヤ戦闘機を中心に半径が第１ファークリップ面距離５２２ｄ〜第２ファークリップ面距離５２２ｆ内の第３種雲ＣＬ３或いは第４種雲ＣＬ４を抽出する（ステップＳ５６Ｂ，Ｓ５８Ｂ）。
【０１２６】
更に、図１９に示すように、第１実施形態のステップＳ７０に代わるステップＳ７０Ｂでは、ステップＳ３８で決定されたビュー空間の設定に基づいて近景撮影用の透視変換行列を生成する（ステップＳ７０Ｂ）。
また、第１実施形態のステップＳ７２に代わるステップＳ７２Ｂでは、撮影対象オブジェクトとして、プレーヤ戦闘機を中心に半径が第１ニアクリップ面距離５２２ｃ〜第１ファークリップ面距離５２２ｄの範囲内に在る第１種雲ＣＬ１、第２種雲、敵戦闘機、ミサイルを抽出する（ステップＳ７２Ｂ）。
【０１２７】
このように、本実施形態によれば第１実施形態と同様の効果を奏するとともに、ゲームの進行状況に応じて遠景となる範囲、近景となる範囲を可変することができる。よって、仮想カメラからの見渡し距離が低くなる状況では、描画対象のオブジェクトを減らして処理負荷の軽減を図ることができる。
【０１２８】
〔第３実施形態〕
次に、本発明を適用した第３実施形態について説明する。本実施形態は基本的には第１実施形態と同様の構成を有するが、第１実施形態における雲モデルの配置用の高度層を無視して雲モデルを高度方向にも分布配置し、さらに第１種雲ＣＬ１〜第４種雲ＣＬ４を混在して配置することとする場合の実施形態である。尚、第１実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。また、本実施形態の構成は第２実施形態に適用することもできる。
【０１２９】
図２０〜図２１は、本実施形態における画像生成処理Ｃの流れについて説明する為のフローチャートである。画像生成処理Ｃでは、第１実施形態の画像生成処理のステップＳ５４〜Ｓ５８に代えてステップＳ５３及びＳ５５を実行し、第１実施形態の画像生成処理のステップＳ７４及びＳ８０〜Ｓ８４に代えてステップＳ７３及びＳ８３を実行する。
【０１３０】
具体的には、処理部２００は、ステップＳ５３においてプレーヤ戦闘機を中心に半径３０ｋｍ〜２００ｋｍ内の第３種雲ＣＬ３と第４種雲ＣＬ４を遠景雲の撮影対象として抽出し、続くステップＳ５５においてプレーヤ戦闘機と高度差４０００ｍ以上（所定の高度差を閾値としてその閾値より大きい条件である大高度差条件）になる第３種雲ＣＬ３と、プレーヤ戦闘機と高度差２０００ｍ以下（大高度差条件より小さい高度差を閾値として、その高度差より低い条件である小高度差条件）になる第４種雲ＣＬ４とを、抽出した雲から除外する。
このステップＳ５５によって、本来、側面〜斜め上（或いは斜め下）から見られる雲を表現するはずの第３種雲ＣＬ３の姿勢が、水平姿勢に近づきすぎて表現に違和感が生じるのを防ぐとともに、第４種雲ＣＬ４を側面から撮影して板状のものが浮かんでいるような違和感が生じるのを防いで、表示品質の低下を防いでいる。
【０１３１】
また、処理部２００は、ステップＳ７３において撮影対象オブジェクトからプレーヤ戦闘機の飛行高度差が１０００ｍ未満の第２種雲を除外する。また、ステップＳ８３においては（１）仮想カメラより１０００ｍ以上上方の第２種雲ＣＬ２のポリゴン頂点のうちカメラ最遠点を代表点として、（２）仮想カメラより１０００ｍ以上下方にある第２種雲ＣＬ２のポリゴン頂点のうちカメラ最近点を代表点として、その他の撮影対象オブジェクトの代表点とともに仮想カメラからの距離順にＺソートする。
【０１３２】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用形態がこれらに限定されるものではない。
【０１３３】
例えば、家庭用ゲーム装置１２００を用いる構成を例に挙げたが、業務用のゲーム装置やパソコン、携帯型ゲーム装置などを代わりに用いることとしても良い。
【０１３４】
また、上記実施形態では分布オブジェクトの例として、空中に浮遊する雲を例にあげたが、分布オブジェクトは雲に限るものではない。例えば、鳥、木の葉、タンポポの種子、気球、風船などと言ったその他の空中に浮遊することの有る物体に適用することができる。同様に、水中の魚、宇宙空間に浮遊する小惑星などにも適用することができる。
【０１３５】
また、上記実施形態では分布オブジェクトを遠景と近景との二つに分けてレンダリングしたが、これらの中間に中景などを設けて三つ以上の距離領域に分けてレンダリングするとしても良い。
【０１３６】
また、上記実施形態では、第１種雲ＣＬ１と第２種雲ＣＬ２のＺソートに係る処理では、第２種雲ＣＬ２の仮想カメラＣＭに対する最遠点Ｐ２ｆ及び最近点Ｐ２ｎを代表点としてソートしたが、基準点候補はこれらに限られるものではない。例えば、第２種雲ＣＬ２の大きさがもっと小さい場合には、板ポリゴンの中心点と幾つかの頂点を基準点候補としても良いし、板ポリゴンの全ての頂点を基準点候補として、各頂点の内、仮想カメラに最も遠い点や最も近い点を基準点にする構成としても良い。
【図面の簡単な説明】
【０１３７】
【図１】家庭用ゲーム装置の構成例を示すシステム構成図。
【図２】ゲーム画面の構成例を示すゲーム画面図。
【図３】第１実施形態における雲オブジェクトの種類を説明するための図。
【図４】第１実施形態におけるゲーム空間での分布オブジェクトである雲オブジェクトの分布について説明するための概念図。
【図５】背景画像の一例を示す図。
【図６】遠景撮影の原理を説明するための概念図。
【図７】遠景画像の一例を示す図。
【図８】近景撮影の原理を説明するための概念図。
【図９】ゲーム空間画像の一例を示す図。
【図１０】第１実施形態における機能構成例を示す機能ブロック図。
【図１１】雲分布データ５１４のデータ構成の一例を示す図。
【図１２】第１実施形態における主たる処理の流れを説明する為のフローチャート。
【図１３】第１実施形態における画像生成処理の流れを説明する為のフローチャート。
【図１４】図１３から続くフローチャート。
【図１５】第２種雲と仮想カメラの相対位置関係に基づく第２種雲の基準点の選定2ついて説明するための概念図。
【図１６】家庭用ゲーム装置を実現するためのハードウェア構成例を示す図。
【図１７】第2実施形態において記憶部に予め記憶されているビュー空間設定テーブルデータのデータ構成例を示す図。
【図１８】第２実施形態における画像生成処理の流れを説明する為のフローチャート。
【図１９】図１８より続くフローチャート。
【図２０】第３実施形態における画像生成処理の流れを説明する為のフローチャート。
【図２１】図２０より続くフローチャート。
【符号の説明】
【０１３８】
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２６０  画像生成部
２６２  遠景撮影用透視変換行列設定部
２６４  遠景撮影時モデル種類選択部
２６６  近景撮影用透視変換行列設定部
２６８  遠景近景合成部
５００  記憶部
５１４  雲分布データ
５１６  雲モデルデータ
ＣＬ１  第１種雲
ＣＬ２  第２種雲
ＣＬ３  第３種雲
ＣＬ４  第４種雲
ＣＬ５  第５種雲
【図１】
2009053886.tif 000003
【図２】
2009053886.tif 000004
【図３】
2009053886.tif 000005
【図４】
2009053886.tif 000006
【図６】
2009053886.tif 000007
【図８】
2009053886.tif 000008
【図１０】
2009053886.tif 000009
【図１１】
2009053886.tif 000010
【図１２】
2009053886.tif 000011
【図１３】
2009053886.tif 000012
【図１４】
2009053886.tif 000013
【図１５】
2009053886.tif 000014
【図１６】
2009053886.tif 000015
【図１７】
2009053886.tif 000016
【図１８】
2009053886.tif 000017
【図１９】
2009053886.tif 000018
【図２０】
2009053886.tif 000019
【図２１】
2009053886.tif 000020
【図５】
2009053886.tif 000021
【図７】
2009053886.tif 000022
【図９】
2009053886.tif 000023