説明

プログラム、情報記憶媒体及び画像生成装置

【課題】 例えば遠方を望む視界条件において視界内に多数のオブジェクトが存在するような場合であっても、オブジェクト相互の前後関係を算出する際の分解能低下に伴う表示品質の低下を抑制する。
【解決手段】仮想3次元空間に配置されたN種類のオブジェクト(CL1〜CL5)を、クリップ範囲が異なるM種類の透視変換行列(遠景撮影用の透視変換行列と近景撮影用の透視変換行列)で分けて透視変換処理する。つまり、クリップ範囲の前後方向全体を所定のビット数で均等割してオブジェクトの前後位置関係を当該ビットで表現する際、視点からの見渡し距離全体を1つのクリップ範囲として一回で透視変換処理を行う場合に比べて、1ビット当たりの仮想3次元空間における奥行き方向の距離の分解能を高めることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラム等に関する。
【背景技術】
【0002】
従来、画像生成装置の一種であるゲーム装置では、仮想空間であるゲーム空間にプレーヤキャラクタ等のオブジェクトを配置するとともに視点(仮想カメラ)を設定し、この視点を基に生成したゲーム空間の画像がゲーム画像として表示される。
【0003】
ゲーム装置では、予め定められたフレーム時間毎に1枚のゲーム画像(フレーム画像)が生成・表示されるが、視野内に多数のオブジェクトが存在する場合やポリゴン数の多いオブジェクトが存在する場合、画像処理の負担が増大することにより一部のオブジェクトが表示されない不適切なフレーム画像が生成される不具合があった。そこで、このような表示抜けの問題を解決するため、視野内のオブジェクトを選別するためのクリッピング空間を任意に変更し、表示抜け等のない適正な画像の生成を実現した技術が知られている(例えば、特許文献1参照)。
【特許文献1】特開平11−144063号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところが、近年のゲームには高いリアリティが要求される傾向にある。高いリアリティを実現するには、クリッピング空間の奥行きをより大きくして近影から遠景まで詳細に描く必要がある。例えば、フライトシミュレータなどのゲームジャンルでは、仮想カメラ(視点)が航空機のコックピット視点として設定されるためクリッピング空間の奥行きは、航空機の直前から遥か遠方まで設定する必要があった。そして、クリッピング空間の奥行きが大きくなることによって、次工程の陰面消去処理でZソート法やZバッファ法を用いるケースではオブジェクト相互の前後関係の分解能が低下するといった問題が生じる。例えば、フライトシミュレータゲームにおいて、雲のオブジェクトと地表のオブジェクトとの前後関係の分解能が計算機誤差の影響を受け、雲の上に地表が描画されるといったことが時折発生し、画面中の一部がちらつくといった表示品質の低下が発生する。
【0005】
本発明は上記事情に鑑みて為されたものであり、例えば遠方を望む視界条件において視界内に多数のオブジェクトが存在するような場合であっても、オブジェクト相互の前後関係を算出する際の分解能低下に伴う表示品質の低下を抑制することを第1の目的としている。また、視界内に多数の雲が浮かんでいるようなシチュエーションにおいて表示品質の低下を抑制することを第2の目的としている。
【課題を解決するための手段】
【0006】
上記課題を解決するための第1の発明は、コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
前記仮想3次元空間にN種類(N≧2)のオブジェクト(例えば、図3の第1種雲CL1〜第5種雲CL5)を配置する配置手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS2)、
前記仮想カメラからの遠近方向のクリップ範囲が異なるM種類(M≧2)の透視変換行列を設定する透視変換行列設定手段(例えば、図10の処理部200、画像生成部260、遠景撮影用透視変換行列設定部262、近景撮影用透視変換行列設定部266、図13のステップS42、S46、図14のステップS70)、
前記N種類のオブジェクトのうち、前記M種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段(例えば、図10の処理部200、画像生成部260、図13のステップS48〜S50、S54〜S58、図14のステップS72〜S74、S80〜S84)、
前記M種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想3次元空間の画像を生成する画像生成手段(例えば、図10の処理部200、画像生成部260、図13のステップS52、S62、図14のステップS86)、として前記コンピュータを機能させるためのプログラムである。
【0007】
第13の発明は、仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置(例えば、図1の家庭用ゲーム装置1200)であって、
前記仮想3次元空間にN種類(N≧2)のオブジェクトを配置する配置手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS2)と、
前記仮想カメラからの遠近方向のクリップ範囲が異なるM種類(M≧2)の透視変換行列を設定する透視変換行列設定手段(例えば、図1の制御ユニット1210、図10の処理部200、画像生成部260、図13のステップS42、S46)と、
前記N種類のオブジェクトのうち、前記M種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段(例えば、図1の制御ユニット1210、図10の処理部200、図13のステップS48〜S50、S54〜S58、図14のステップS72〜S74、S80〜S84)と、
前記M種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想3次元空間の画像を生成する画像生成手段(例えば、図1の制御ユニット1210、図10の処理部200、画像生成部260、図13のステップS52、S62、図14のステップS86)、を備えた画像生成装置である。
【0008】
第1及び第13の発明によれば、仮想3次元空間に配置されたN種類のオブジェクトを、クリップ範囲が異なるM種類の透視変換行列で分けて透視変換処理することができる。つまり、クリップ範囲の前後方向全体を所定のビット数で均等割してオブジェクトの前後位置関係を当該ビットで表現する際、視点からの見渡し距離全体を1つのクリップ範囲として一回で透視変換処理を行う場合に比べて、1ビット当たりの仮想3次元空間における距離の分解能を高めることができる。よって、例えば遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、オブジェクト相互の前後位置関係の分解能低下に伴う表示品質の低下を抑制することができる。
【0009】
第2の発明は、前記透視変換行列設定手段が、前記M種類の透視変換行列それぞれのクリップ範囲を可変して設定するように前記コンピュータを機能させるための第1の発明のプログラムである。
【0010】
第2の発明によれば、第1の発明と同様の効果を奏するとともに、クリップ範囲を可変することで透視変換における仮想3次元空間の空間分解能を適当な値に変更し、ゲーム画面の生成処理時間と表示品質との間で適当なバランスをとることができる。例えば、視界範囲が狭くなるような状況においてクリップ範囲を小さくするように変更するならば、所定ビット数当たりの空間分解能をより高めることができるし、クリップ範囲内に含まれるオブジェクトの数を減らして処理負荷の低減を図ることもできる。
【0011】
第3の発明は、前記N種類のオブジェクトには、少なくとも近景用オブジェクト(例えば、図3の第1種雲CL1、第2種雲CL2)と遠景用オブジェクト(例えば、図3の第3種雲CL3、第4種雲CL4、第5種雲CL5)とがあり、
前記M種類の透視変換行列には、少なくとも近景用透視変換行列と遠景用透視変換行列とがあり、前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)として前記コンピュータを更に機能させるとともに、前記選択手段が、前記近景用透視変換行列に対応するオブジェクトの種類として近景用オブジェクトを選択し、前記遠景用透視変換行列に対応するオブジェクトの種類として遠景用オブジェクトを選択するように前記コンピュータを機能させるための第1又は第2の発明のプログラムである。
【0012】
第3の発明によれば、第1又は第2の発明と同様の効果を奏するとともに、仮想3次元空間に分布するオブジェクトの内、仮想カメラから見える範囲のオブジェクトを遠景と近景とに分けて透視変換処理することができる。したがって、視点から見渡せる範囲の奥行き方向に多数のオブジェクトが分布しているようなシチュエーションであっても、それらオブジェクトの位置関係が前後してちらつくといったような表示品質の低下を抑制することができる。
【0013】
第4の発明は、前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクト(例えば、図3の第4種雲CL4)と、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクト(例えば、図3の第3種雲CL3)とが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想3次元空間の所定の高度層に配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS18)として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び/又は当該高度層に近接する高度層に位置する場合には前記水平配置用遠景オブジェクトを対象から除外し、位置しない場合には前記カメラ対向遠景オブジェクトを対象から除外して実行するように前記コンピュータを機能させるための第3の発明のプログラムである。
【0014】
第4の発明によれば、第3の発明と同様の効果を奏するとともに、遠景に存在するオブジェクトを水平配置される水平配置用遠景オブジェクトと仮想カメラに対向するカメラ対向遠景オブジェクトとで構成することで、特定の高度近傍に面状態(或いは薄い層状態)で分布する様子と、独立的な存在として在る様子とを好適に混在させて表現できる。
その一方で、それら遠景オブジェクトが配置される高度層及び/又は当該高度層に近接する高度層に対して仮想カメラがどのように位置するかによって、水平配置用遠景オブジェクト又はカメラ対向遠景オブジェクトを遠景用透視変換行列に基づく透視変換処理の対象から除外することができる。つまり、板状の水平配置用遠景オブジェクトを側面から見る状況にある場合や、カメラ対向遠景オブジェクトが本来想定されていない状態まで姿勢が変化した場合などでは、それらを透視変換の対象外とすることで見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることができる。
【0015】
第5の発明は、前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想3次元空間の空中に混在配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段(例えば、図10の処理部200、図12のステップS18)として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、図12のステップS16)として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用遠景オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向遠景オブジェクトとを対象から除外して実行するように前記コンピュータを機能させるための第3の発明のプログラムである。
【0016】
第5の発明によれば、第3の発明と同様の効果を奏するとともに、遠景に存在するオブジェクトを水平配置用遠景オブジェクトとカメラ対向遠景オブジェクトとで構成することで、特定の高度近傍に面状態(或いは薄い層状態)で分布する様子と、独立的な存在として在る様子とを好適に混在させて表現できる。
その一方で、それら遠景オブジェクトに対して仮想カメラがどのように位置するかによって、水平配置用遠景オブジェクト又はカメラ対向遠景オブジェクトを遠景用透視変換行列を用いた透視変換処理の対象から除外することができる。つまり、水平配置用遠景オブジェクトと仮想カメラとの高度差が基準より小さくて板状の水平配置用遠景オブジェクトを側面から見る状況にある場合や、カメラ対向遠景オブジェクトと仮想カメラとの高度差が大きくてカメラ対向遠景オブジェクトが本来想定されていない状態まで姿勢が変化した場合などでは、それらを透視変換の対象外とすることで見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることができる。
【0017】
第6の発明は、コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクト(例えば、図3の第4種雲CL4)と、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクト(例えば、図3の第3種雲CL3)とを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段(例えば、図10の処理部200、ゲーム演算部210、図12にステップS2)、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段(例えば、図10の処理部200、ゲーム演算部210、図12にステップS18)、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)、
前記N種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び/又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図10の処理部200、画像生成部260、図13のステップS54〜S60)、として前記コンピュータを機能させるためのプログラムである。
【0018】
第14の発明は、仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置(例えば、図1の家庭用ゲーム装置1200)であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段(例えば、図1の制御ユニット1210、図10の処理部200、図12にステップS2)と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段(例えば、図1の制御ユニット1210、図10の処理部200、図12にステップS18)と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS16)と、
前記N種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び/又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図1の制御ユニット1210、図10の処理部200、図13のステップS54〜S60)と、を備えた画像生成装置である。
【0019】
第6及び第14の発明によれば、仮想3次元空間に配置されるオブジェクトを、水平配置用オブジェクトとカメラ対向オブジェクトとを含むN種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できる。
その一方で、仮想カメラの仮想3次元空間内での高度が、それら板状のオブジェクトの配置高度に対してどのような位置関係に在るかに応じて水平配置用オブジェクト或いはカメラ対向オブジェクトを描画対象から除外することができる。従って、板状の水平配置用オブジェクトを側面から見る状況にある場合や、カメラ対向用オブジェクトが本来想定されていない状態まで姿勢が変化した場合などではそれらを透視変換の対象外とすることができる。よって、見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることで、遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、透視変換処理されるオブジェクト数を制限してオブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【0020】
第7の発明は、コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に混在配置する配置手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS2)、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS18)、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)、
前記N種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図10の処理部200、画像生成部260、図13のステップS54〜S60)として前記コンピュータを機能させるためのプログラムである。
【0021】
第15の発明は、仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置(例えば、図1の家庭用ゲーム装置1200)であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に混在配置する配置手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS2)と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS18)と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS16)と、
前記N種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図1の制御ユニット1210、図10の処理部200、画像生成部260、図13のステップS54〜S60)と、を備えた画像生成装置である。
【0022】
第7及び第15の発明によれば、仮想3次元空間に配置されるオブジェクトを、水平配置用オブジェクトとカメラ対向オブジェクトとを含むN種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できる。
その一方で、仮想カメラとの相対高度差が、所定の大高度差条件を満たさない水平配置用オブジェクトと、所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外することができる。従って、板状の水平配置用オブジェクトを側面から見る状況にある場合や、カメラ対向用オブジェクトが本来想定されていない状態まで姿勢が変化した場合などではそれらを透視変換の対象外とすることができる。よって、見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることで、遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、透視変換処理されるオブジェクト数を制限してオブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【0023】
第8の発明は、前記近景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用近景オブジェクト(例えば、図3の第2種雲CL2)と、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向近景オブジェクト(例えば、図3の第1種雲CL1)とが少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記水平配置用近景オブジェクト及び前記カメラ対向近景オブジェクトを前記仮想3次元空間の所定の高度層に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向近景オブジェクトの姿勢を可変するカメラ対向近景オブジェクト姿勢可変手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS18)として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)として前記コンピュータを機能させ、
前記画像生成手段が、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用近景オブジェクトの基準点候補のうちの第1の基準点(例えば、図15(a)の最遠点P2f)を基準にZソート処理し、低い場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点(例えば、図15(b)の最近点P2n)を基準にZソート処理するZソート処理手段(例えば、図10の処理部200、ゲーム演算部210、図14のステップS80〜S84)を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Zソート処理手段によりZソート処理されたオブジェクト順に前記透視投影変換処理を実行する、ように前記コンピュータを機能させるための第1〜第5の何れかの発明のプログラムである。
【0024】
第9の発明は、前記近景用オブジェクトには更に、水平状に配置される板状の水平配置用近景オブジェクト(例えば、図3の第2種雲CL2)が少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記仮想3次元空間の空中に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)として前記コンピュータを機能させ、
前記画像生成手段が、前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用近景オブジェクトの基準点候補のうちの第1の基準点(例えば、図15(a)の最遠点P2f)を基準にZソート処理し、高い高度に位置する場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点(例えば、図15(b)の最近点P2n)を基準にZソート処理するZソート処理手段(例えば、図10の処理部200、ゲーム演算部210、図14のステップS80〜S84)を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Zソート処理手段によりZソート処理されたオブジェクト順に前記透視投影変換処理を実行する、ように前記コンピュータを機能させるための第1〜第5の何れかの発明のプログラムである。
【0025】
ここで言う「基準点候補」とは、板状ポリゴンの頂点や中心点、仮想カメラから所定の相対位置条件を満たす点を含む。
第8又は第9の発明によれば、第1〜第5の発明の何れかと同様の効果を奏するとともに、近接した配置位置にある水平配置用の板状のオブジェクトとカメラ対向の板状のオブジェクトとを、仮想3次元空間の画像において常に前者が後者の下側に存在するように描画することができる。このことは、オブジェクトを雲として表現する場合に、薄く略水平に広がった雲の上に、独立したボリュームのある雲が散在するといった光景を表現するのに特に効果的である。
【0026】
第10の発明は、コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクト(例えば、図3の第2種雲CL2)を含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS2)、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点(例えば、図15(a)の最遠点P2f)を基準にZソート処理し、低い場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点(例えば、図15(b)の最近点P2n)を基準にZソート処理するZソート処理手段(例えば、図10の処理部200、ゲーム演算部210、図14のステップS80〜S84)、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図10の処理部200、画像生成部260、図14のステップS86)、として前記コンピュータを機能させるためのプログラムである。
【0027】
第16の発明は、仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置(例えば、図1の家庭用ゲーム装置1200)であって、
水平状に配置される板状の水平配置用オブジェクトを含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS2)と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図1の制御ユニット1210、図10の処理部200、図12のステップS16)と、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、低い場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段(例えば、図1の制御ユニット1210、図10の処理部200、ゲーム演算部210、図14のステップS80〜S84)と、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図1の制御ユニット1210、図10の処理部200、画像生成部260、図14のステップS86)と、を備えた画像生成装置である。
【0028】
第10及び第16の発明によれば、仮想3次元空間に配置されるオブジェクトを、水平配置用オブジェクトを含むN種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できるとともに、1つのクリップ範囲内に存在するポリゴン数を削減して、ポリゴン相互の仮想カメラに対する前後位置関係の判定バラツキが生じるのを抑制できる。また、配置されたオブジェクトをZソート処理する際に、水平配置用オブジェクトについては、仮想カメラの高度が所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、低い場合には第1の基準点より仮想カメラ寄りの第2の基準点を基準にZソート処理することによって、水平配置用の板状のオブジェクトがその他のオブジェクトに対して、仮想3次元空間の画像において常に下側に存在するように描画することができる。このことは、オブジェクトを雲として表現する場合に、薄く略水平に広がった雲の上に、独立したボリュームのある雲が散在するといった光景を表現するのに特に効果的である。
【0029】
第11の発明は、コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクト(例えば、図3の第2種雲CL2)を含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に配置する配置手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS2)、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段(例えば、図10の処理部200、ゲーム演算部210、図12のステップS16)、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点(例えば、図15(a)の最遠点P2f)を基準にZソート処理し、高い高度に位置する場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点(例えば、図15(b)の最近点P2n)を基準にZソート処理するZソート処理手段(例えば、図10の処理部200、ゲーム演算部210、図14のステップS80〜S84)、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段(例えば、図10の処理部200、画像生成部260、図14のステップS86)、として前記コンピュータを機能させるためのプログラムである。
【0030】
第17の発明は、仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置であって、水平状に配置される板状の水平配置用オブジェクトを含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に配置する配置手段と、高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段と、前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、高い高度に位置する場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段と、前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段と、を備えた画像生成装置である。
【0031】
第11及び第17の発明によれば、仮想3次元空間に配置されるオブジェクトを、水平配置用オブジェクトを含むN種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できるとともに、1つのクリップ範囲内に存在するポリゴン数を削減して、ポリゴン相互の仮想カメラに対する前後位置関係の判定バラツキが生じるのを抑制できる。
また、配置されたオブジェクトをZソート処理する際に、水平配置用オブジェクトについては、仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、高い場合には第1の基準点より仮想カメラ寄りの第2の基準点を基準にZソート処理することによって、水平配置用の板状のオブジェクトがその他のオブジェクトに対して、仮想3次元空間の画像において常に下側に存在するように描画することができる。このことは、オブジェクトを雲として表現する場合に、薄く略水平に広がった雲の上に、独立したボリュームのある雲が散在するといった光景を表現するのに特に効果的である。
【0032】
第12の発明は、第1〜第11の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第12の発明によれば、第1〜第11の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜11の何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【0033】
本発明によれば、仮想3次元空間に配置されたN種類のオブジェクトを、クリップ範囲が異なるM種類の透視変換行列で分けて透視変換処理することができる。つまり、クリップ範囲の前後方向全体を所定のビット数で均等割してオブジェクトの前後位置関係を当該ビットで表現する際、視点からの見渡し距離全体を1つのクリップ範囲として一回で透視変換処理を行う場合に比べて、1ビット当たりの仮想3次元空間における距離の分解能を高めることができる。よって、例えば遠方を望む視界条件において視界内の遠近方向に多数のオブジェクトが存在する場合であっても、オブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【0034】
また、仮想3次元空間に配置されるオブジェクトを、水平配置用のオブジェクトとカメラ対向のオブジェクトとを含むN種類の板状のオブジェクトで表すことで、少ない処理負荷でオブジェクトを表現できる。
その一方で、仮想カメラの仮想3次元空間内での高度が、それら板状のオブジェクトの配置高度に対してどのような位置関係に在るか、或いはそれらのオブジェクトが仮想カメラに対して上に在るか下に在るかと言った相対位置関係に応じて水平配置用のオブジェクト或いはカメラ対向のオブジェクトを描画対象から除外することができる。
よって、見かけが不適当にならないようにできるとともに、対象とするオブジェクト数を削減して処理負荷の更なる軽減を図ることで、遠方を望む視界条件において視界内の奥行方向に多数のオブジェクトが存在する場合であっても、透視変換処理されるオブジェクト数を制限してオブジェクト相互の前後関係の分解能低下に伴う表示品質の低下を抑制することができる。
【発明を実施するための最良の形態】
【0035】
〔第1実施形態〕
次に本発明を適用した第1実施形態として、画像生成装置の一種である家庭用ゲーム装置において戦闘機で空中戦をする一人称視点のフライトシューティングゲームを実行する場合について説明する。尚、本発明の適用可能な実施形態がこれに限定されるものではない。
【0036】
[ゲーム装置の構成]
図1は、本実施形態における家庭用ゲーム装置の構成例を説明するためのシステム構成図である。家庭用ゲーム装置1200のゲーム装置本体1201は、例えばCPUや画像処理用LSI、ICメモリ等が実装された制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208を備える。
そして、家庭用ゲーム装置1200は、光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230に為される操作入力に基づいて制御ユニット1210で各種のゲーム演算並びにゲーム画像やゲーム音の生成処理を実行し、所与のビデオゲームを実行する。
【0037】
より具体的には、制御ユニット1210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子機器を備え、家庭用ゲーム装置1200の各部を制御する。また、制御ユニット1210は通信装置1212を備え、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と有線接続又は無線接続し、外部装置との間でデータ通信を実現する。
【0038】
制御ユニット1210は、ゲームコントローラ1230から受信した操作入力信号に基づいてゲーム画像やゲーム音の生成処理を実行する。生成されたゲーム画像やゲーム音は、信号ケーブル1209で接続されたビデオモニタ1220に出力される。ビデオモニタ1220には、画像を表示する画像表示装置1222と音声を出力するスピーカ1224とが備えられており、プレーヤは画像表示装置1222に映し出されるゲーム画像を見ながらスピーカ1224から放音されるゲーム音を聞きつつゲームをプレイする。
【0039】
ゲームコントローラ1230は、コントローラ上面に設けられた複数のプッシュボタンスイッチ1232と、側面に設けられたプッシュボタンスイッチ1233R,1233Lと、図で言うところの上下左右の各方向を単独入力するための方向入力キー1234と、右アナログレバー1236と、左アナログレバー1238とを備える。プッシュボタンスイッチ類は、選択の決定やキャンセル、タイミングの入力などに用いられる
【0040】
右アナログレバー1236及び左アナログレバー1238は、図で言うところの上下方向と左右方向の2軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ1230を左右の手で把持し、レバーに左右それぞれの親指を添えて操作する。レバーを倒すことによって2軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとしても使用することもできる。
【0041】
本実施形態では、右アナログレバー1236でプレーヤが操作するプレーヤ戦闘機の一人称視点の視線方向を操作し、左アナログレバー1238でプレーヤ戦闘機の前後左右の移動を操作する。また、プッシュボタン1233R,1233Lでそれぞれプレーヤ戦闘機のラダーを操作し、プッシュボタンスイッチ1232のうち所定スイッチでプレーヤ戦闘機から前方所定の攻撃可能範囲内の敵戦闘機に対してミサイルをロックオンして発射するタイミングを入力する。また、別のスイッチでは前方に機銃を発射するタイミングを入力する。
【0042】
尚、ゲーム実行に必要なゲームプログラム及び各種設定データは、通信装置1212を介して通信回線1に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0043】
図2は、本実施形態におけるゲーム画面の一例を示す図である。尚、同図の例では背景部分の描画を省略している。
同図に示すように、ゲーム画面W2には、各家庭用ゲーム装置1200を操作するプレーヤが操作するプレーヤ戦闘機とともに移動制御される仮想カメラで撮影されるゲーム空間画像30を主画像とする、所謂コックピットビュー(一人称視点)として表示される。ゲーム空間画像30上には、HUD(Head Up Display)表示として、ウィスキーマーク32、姿勢表示34、高度表示36、速度表示38、方位表示40、残弾数表示42、ダメージ表示44が合成される。
【0044】
プレーヤ戦闘機から所定の索敵範囲に存在し、ゲーム空間画像30に写る敵戦闘機の機影52a,52b,52cには、それらのキャラクタを注目させるための識別子であるコンテナ表示56,57が付属表示される。プレーヤは、プッシュボタン1232の操作でコンテナ表示56,57が付属表示される敵戦闘機52a,52b,52cの何れか一つを攻撃目標として選択できる。同図では、中央の機影に該当する敵戦闘機52bが選択されている。
【0045】
通常、攻撃目標として選択された状態で、更に当該敵戦闘機が所定の攻撃可能範囲に所定時間以上存在すれば、ミサイル攻撃の標的として記憶される所謂「ロックオン」の状態となる。ロックオン状態となるとコンテナ表示57は、更に特別色で表示されロックオンされたことを示す。このロックオン状態となったことを確認してプレーヤが所定のプッシュボタン1232を操作するとプレーヤ戦闘機からミサイルを発射して攻撃することができる。
【0046】
また、ゲーム画面W2の左下隅の所定領域には、レーダ画像W3が表示される。レーダ画像W3は、プレーヤ戦闘機を中心とした俯瞰視簡略図である。中央にプレーヤ戦闘機を表すマーク48が配され、これを中心に前後方向・左右方向を示す機軸線50が表示される。そして、その周囲にプレーヤ戦闘機から所定範囲(前述の索敵範囲や攻撃範囲よりも広い範囲)に存在する敵戦闘機を示す表示体として敵レーダ表示マーク(図中の黒塗りマーク)が、プレーヤ戦闘機からの相対位置を維持して縮小表示される。
【0047】
図3は、仮想3次元空間に形成されたゲーム空間に分布されるオブジェクトの一つである雲オブジェクトの種類を説明するための図である。本実施形態では、雲オブジェクトは第1種雲CL1〜第5種雲CL5の複数種類のモデルで構成されている。
【0048】
第1種雲CL1は、近景撮影用のモデル(近景モデル)の一つであり、透明(又は半透明)の板状のポリゴン(以下、「板ポリゴン」という。)に高積雲や層積雲を表すテクスチャが設定されている。本実施形態では、第1種雲CL1は高度2000m前後の高度層に存在する雲を表現すべくゲーム空間中の高度2050mに分布され、常に板面の法線方向が視点位置を向く(つまり仮想カメラに対向する)ように制御される。勿論、配置高度については適当な高度層を形成すべく2050m前後に適当な幅のバラツキを付与して設定するとしても良いし、高度2000m〜2500mといった一定幅の高度範囲に分布するとしても良い。
【0049】
第2種雲CL2は、近景撮影用のモデルの一つであって、ゲーム空間内に略水平に配置される板ポリゴンに高積雲や層積雲の群れを上面から見た様子、或いは高層雲や乱層雲、層雲などを表すテクスチャが設定されている。第2種雲CL2は第1種雲CL1の4倍程度の面積を有し、本実施形態では第1種雲CL1と同様に高度2000m前後の高度層に存在する雲を表現すべくゲーム空間中の高度2000mに分布される。
【0050】
第3種雲CL3は、第1種雲CL1に対応する遠景撮影用のモデル(遠景モデル)の一つであって、板ポリゴンに高積雲群や層積雲群を表すテクスチャが設定されている。その大きさは幅で第1種雲CL1の2〜3倍程度を有する。本実施形態における第3種雲CL3は、高度2000m前後の高度層に存在する雲を遠くから見た状態を表現すべく、第1種雲CL1の分布をカバーするようにして高度2050mに分布される。また、第3種雲CL3の板ポリゴンは、常に板面の法線方向が視点位置を向くように制御される。尚、第3種雲CL3は、遠くから見た遠景における複数の第1種雲CL1に相当するが、遠景であるが故に第1種雲CL1よりも低密度で分布される。
【0051】
第4種雲CL4は、第2種雲CL2に対応する遠景撮影用モデルの一つであって、ゲーム空間内に略水平に配置される板ポリゴンに高積雲や層積雲の群れを上面から見た様子、或いは高層雲や乱層雲、層雲などを表すテクスチャが設定されている。その大きさは幅で第2種雲CL2の4〜5倍程度を有し、第2種雲CL2の分布をカバーするようにしてゲーム空間の高度2000mに分布される。尚、第4種雲CL4は、遠くから見た遠景における複数の第2種雲CL2に相当するが、第2種雲CL2よりも低密度で分布される。
【0052】
第5種雲CL5は、遠景撮影用モデルの一つであって、ゲーム空間内に略水平に配置される板ポリゴンに巻雲や巻積雲を上或いは下から見た様子を表すテクスチャが設定されている。第5種雲CL5は、第2種雲CL2の4倍程度の大きさを有し、本実施形態では高度15000m前後に分布される。
【0053】
図4は、本実施形態におけるゲーム空間での分布オブジェクトである雲オブジェクトの分布について説明するための概念図であって、ゲーム空間の縦断面図に相当する。尚、本実施形態におけるフライトシューティングゲームでは、プレーヤ戦闘機の一人称視点としてゲーム画面が表示されるので同図では、プレーヤ戦闘機の代わりに仮想カメラCMを記している。
【0054】
ゲーム空間である仮想3次元空間には、130km四方に山や森、建物などを配置した地形オブジェクト2が配置され、その外周には天球4が設定されている。雲オブジェクト(CL1〜CL5)は、それぞれの種類に応じた高度で適宜分布配置されている。ゲームの戦場となる空域は、地形オブジェクト2と中心を同じくする50km四方の矩形領域を底面とする高さ無限遠の柱状空間を成しており、プレーヤ戦闘機及び敵戦闘機はこの戦闘空間内に配置され空中戦を繰り広げる。尚、当該空域を離脱すると戦線離脱のためゲームオーバとなる。
【0055】
次に、本実施形態におけるゲーム画像生成方法の原理について説明する。
本実施形態では、先ず仮想カメラCMから撮影した天球4を描画する。次に、ニアクリップ面を視線方向1mの位置、ファークリップ面を視線方向30kmの位置にそれぞれ設定した近景撮影用の透視変換行列を生成し、同変換行列に基づいて地形オブジェクト2のモデルのうちプレーヤ戦闘機を中心に近景撮影用奥行き値Dn(本実施形態では30km)を半径とする領域に含まれる部分を、天球4を描画した画像上に描画する。より具体的には、近景撮影用の透視変換処理を含むジオメトリ変換処理の後に地形オブジェクト2を構成するポリゴンをZバッファ法で隠面消去処理して所定投影面における各画素を描画する。
【0056】
この結果、例えば図5に示すような空12と地形14が描画された背景画像W6が生成される。近景撮影用の透視変換行列におけるニアクリップ面からファークリップ面間での距離は十分に小さく、地形オブジェクトを形成する多数のポリゴンの前後関係が不正確になってちらつきが起きるといった表示品質の低下を防ぐことができる。
尚、同図では天球4と地形オブジェクト2との境界部分を明示しているが、公知技術を適宜用いて同境界部分に対して遠方のものが徐々に霞んで見えなくなるような処理を施しても良いのは勿論である。
【0057】
次に、遠景部分の雲オブジェクトを描画する。
具体的には、図6に示すように、ニアクリップ面を視線方向1mの位置、ファークリップ面を視線方向200km(遠景撮影用奥行き値Df)の位置にそれぞれ設定した遠景撮影用の透視変換行列を生成する。
次いで、プレーヤ戦闘機の飛行高度と第3種雲CL3及び第4種雲CL4の配置高度2000mとを比較する。そして、仮想カメラの高度が第3種雲CL3や第4種雲CL4の配置高度層及び/又は当該高度層に近接する高度層(第3種雲CL3や第4種雲CL4の配置高度層を含む一定幅の高度層)に位置する場合、換言するとプレーヤ戦闘機が第3種雲CL3や第4種雲CL4の配置高度に近接して飛行している場合には撮影対象として第3種雲CL3を選択する。一方、プレーヤ戦闘機が第3種雲CL3や第4種雲CL4の配置高度層及び/又は当該高度層に近接する高度層よりも、所定の大高度差条件を満たすように離れて上或いは下を飛行している場合には、撮影対象として第4種雲CL4を選択する。更に、選択した第3種雲CL3及び第4種雲CL4のうち仮想カメラCMから30km(近景撮影用奥行き値Dn;近景撮影用の透視変換行列のファークリップ面と同じ距離)以内の近景範囲に存在するものを除外する。
【0058】
次いで、除外されずに残った第3種雲CL3又は第4種雲CL4と、第5種雲CL5とを仮想カメラCMで撮影し、先に生成した遠景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理の後、仮想カメラからの距離順にZソートする。そして、遠方から順に天球4及び地形オブジェクト2が描画された背景画像上にアルファブレンディング(半透明合成処理)で描画する。つまり、視点からの距離が30km〜200kmの遠景に存在する雲を遠景撮影用のモデルで撮影して背景画像上に描画する。この結果、例えば図7に示すように、空12や地形14に加えて全天に分布している雲のうち遠くの雲(遠景雲18,20)のみが描かれた遠景画像W8となる。尚、同図の例ではプレーヤ戦闘機が第3種雲CL3や第4種雲CL4の配置高度に近い高度を飛行しているので、第4種雲CL4については描画されていない。
【0059】
透視変換におけるビュー空間の奥行きを示すファークリップ面が無限遠に設定された場合に比べて限定されるので、遠景に多数の雲オブジェクトが配置されている設定であっても、仮想カメラからの距離順にソートする際、計算誤差などの影響を受けずに適切な前後位置関係を表現できるだけの分解能が得られる。より具体的には、例えば、ニアクリップ面からファークリップ面までの遠近方向の距離を512ビットの数値で表現する場合(いわゆるZ値として512ビットを用いる場合)に、1ビットの数値で表される距離は、ニアクリップ面からファークリップ面までが短いほど小さくなり、分解能が高くなる。例えば1ビットで100kmを表す場合には、複数のオブジェクトが遠近方向(前後方向)に100kmの範囲で散在していたとしても、遠近方向(前後方向)において同一の位置に位置するとして計算される(Zソートされる)ため、実際のオブジェクトの配置位置関係と異なる描画順序で描画されることとなり、遠景の雲の描画位置が前後してちらつくといった表示品質の低下が発生する。本実施形態によれば、これを抑制できる。
【0060】
遠景の描画ができたならば近景の描画を行う。
その為には先ず、ニアクリップ面を視線方向1mの位置、ファークリップ面を視線方向30kmの位置にそれぞれ設定した近景撮影用の透視変換行列を生成する。次いで、図8に示すように、プレーヤ戦闘機(仮想カメラCM)から近景撮影用奥行き値Dn(30km)内の第1種雲CL1及び第2種雲CL2、並びに敵戦闘機や飛翔中のミサイル等のオブジェクトを抽出し、先に生成した近景撮影用の透視変換行列に基づく透視変換処理を含むジオメトリ変換処理を実行する。そして、仮想カメラからの距離順にZソートして、遠方のオブジェクトから順に遠景の画像に描画する。この際、第1種雲CL1及び第2種雲CL2は透明ポリゴン又は半透明ポリゴンの扱いなので、アルファブレンディング処理で描画する。敵戦闘機やミサイルは不透明ポリゴンなのでZバッファ法で陰面消去して描画する。
【0061】
近景の描画に際して、近景撮影用の透視変換行列のビュー空間の遠近方向(奥行き方向)の長さは、無限遠をファークリップ面とする場合に比べて十分に小さい。また、遠景の雲は事前に遠景画像W8にすでに描かれている。すなわち、遠景の雲は近景撮影用のファークリップ面の位置(視点から30km)にまとめて遠景画像W8として予め描画されることで、疑似的に視点から30kmの位置にまとめて再配置された状態となる。
近景の雲オブジェクト(CL1,CL2)をZソート法とアルファブレンディング処理によって描画する過程では、1m〜30kmという限定された領域を所定のZ値で表現することになるので、無限遠までを一度に撮影(画像生成)する場合に比べると、例え多数の近景の雲オブジェクトが分布されているシチュエーションであっても、仮想カメラCMに対する前後位置関係が計算誤差などの影響を受けずに適切な表現が可能な分解能を維持できる。結果として、例えば図9に示すように、遠景雲が描かれた遠景画像W8上に正しい前後関係で近景雲22,24が描画されたゲーム空間画像W10が生成される。
【0062】
このように、遠景撮影用と近景撮影用とで透視変換行列をそれぞれ生成するとともに、雲オブジェクトの遠景モデルを撮影した遠景画像に近景モデルを撮影して描画することで、仮想カメラCMが上空にあって遥か遠くまで見渡せるような状況で、しかも視界の手前から奥にかけてきわめて多数の雲が存在するようなケースであっても、雲の前後関係が計算誤差などの影響で前後関係が揺らいで画面上雲の表示位置がちらつくといった表示品質の低下を抑制することができる。
【0063】
[機能ブロックの説明]
次に、本実施形態における機能構成について説明する。図10は本実施形態における機能構成例を示す機能ブロック図である。同図に示すように本実施形態の家庭用ゲーム装置1200は、操作入力部100と、処理部200と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0064】
操作入力部100は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。図1のゲームコントローラ1230が操作入力部100に該当する。
【0065】
処理部200は、例えばマイクロプロセッサやASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して家庭用ゲーム装置1200の動作を制御する。図1では、ゲーム装置本体1201に内蔵された制御ユニット1210が処理部200に該当する。
【0066】
そして、本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0067】
ゲーム演算部210は、ゲームの進行に係る処理を実行する。例えば、仮想3次元空間中にゲーム空間を形成する処理や、ゲーム空間中に配置されたプレーヤ戦闘機や敵戦闘機、ミサイル等のオブジェクトの配置制御処理、敵戦闘機などのNPC(ノンプレーヤキャラクタ)の自動制御処理、プレーヤ戦闘機に付随するように仮想カメラの位置や姿勢を変更する処理、板ポリゴンの面を視点方向に向ける所謂ビルボード処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理といった処理が実行対象に含まれる。
【0068】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0069】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を放音する装置によって実現される。図1ではビデオモニタ1220のスピーカ1224が該当する。
【0070】
画像生成部260は、例えば、デジタルシグナルプロセッサ(DSP)などのプロセッサ、その制御プログラム、フレームバッファやZバッファ等の描画フレーム用ICメモリ等の公知技術によって実現される。そして、画像生成部260は、透視変換処理や隠面消去処理を含む所謂「ジオメトリパイプライン」と称される各種処理を実行して、仮想カメラから見たゲーム空間の画像を所定のフレームレート(例えば60fps)で生成する。また、ゲーム空間中のプレーヤ戦闘機と敵戦闘機の各位置座標に基づいてレーダ画像の生成及びゲーム空間画像への合成に係る処理、並びにゲーム画像30へのHUD表示やレーダ画像W3等の合成処理を実行する(図2参照)。そして、最終的なゲーム画面を生成したならば、その画像信号を画像表示部360に出力してゲーム画面を表示出力させる。尚、本実施形態では隠面消去処理としてZソート法とZバッファ法とを行うものとする。
【0071】
本実施形態における画像生成部260は、遠景撮影用透視変換行列設定部262と、遠景撮影時モデル種類選択部264と、近景撮影用透視変換行列設定部266と、遠景近景合成部268とを備える。
【0072】
遠景撮影用透視変換行列設定部262は、仮想3次元空間に分布される分布オブジェクトの遠景用モデル(本実施形態の第3種雲CL3〜第5種雲CL5)を仮想カメラCMで撮影する際に適用する遠景撮影用の透視変換行列を設定する。本実施形態では、ニアクリップ面が視点から1m離れた位置、ファークリップ面が200km離れた位置となるビュー空間を形成する透視行列を生成する。
【0073】
遠景撮影時モデル種類選択部264は、仮想カメラで遠景モデルを撮影する際に、撮影対象とする遠景モデルを仮想カメラの相対位置関係に基づいて選択する。本実施形態では、仮想カメラCMはプレーヤ戦闘機の一人称視点となるので、プレーヤ戦闘機のゲーム空間中の飛行高度と、遠景モデルである第3種雲CL3及び第4種雲CL4の配置高度とを比較することで、仮想カメラCMがそれら遠景モデルに対して高/低いずれの高度に在るかによって第3種雲CL3と第4種雲CL4のうち何れかを選択する。尚、仮想カメラCMと遠景モデルとの相対位置関係は、高度に基づく比較に限らず、ゲーム空間中の3次元座標による直接比較でも構わない。
【0074】
近景撮影用透視変換行列設定部266は、仮想3次元空間に分布される分布オブジェクトの近景用モデルを仮想カメラで撮影する際に適用する近景撮影用の透視変換行列を設定する。本実施形態では、ニアクリップ面が視点から1m離れた位置、ファークリップ面が30km離れた位置となるビュー空間を形成する透視行列を生成する。
【0075】
遠景近景合成部268は、分布モデルの遠景用モデルを仮想カメラで撮影した遠景画像に、近景用モデルを仮想カメラで撮影した近景画像を合成する。本実施形態では、遠景画像に、仮想カメラで撮影した近景用モデルを隠面消去処理して描画を加えることで合成とするが、遠景画像と近景画像とをそれぞれ別個に生成して近景画像において近景モデルが描画された部分を遠景画像にアルファブレンディング処理(半透明合成処理)するとしても良い。
【0076】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像W2を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1ではビデオモニタ1220の画像表示部であるディスプレイ1222が該当する。
【0077】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して他の家庭用ゲーム装置やサーバ装置との間でデータのやりとりを実現する。
【0078】
通信部370は、通信回線2と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1では通信装置1212がこれに該当する。
【0079】
記憶部500は、予め定義されたプログラムやデータを記憶するとともに、処理部200の作業領域として用いられて処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
【0080】
本実施形態における記憶部500は、処理部200にゲーム装置1200を統合的に制御させるための諸機能を実現するためのシステムプログラム501や、ゲームを実行させるために必要なゲームプログラム502並びに各種データ等を記憶している。処理部200がゲームプログラム502を読み出して実行することによって、処理部200にゲーム演算部210としての機能を実現させることができる。
尚、ゲームプログラム502は、敵戦闘機(NPC:ノンプレーヤキャラクタ)をコンピュータ制御するためのNPC制御プログラム504を含む。NPC制御プログラム504は、所謂「AI」とも呼ばれる公知の技術を用いて実現できる。
【0081】
記憶部500には、予め用意されるデータとしてゲーム空間設定データ510、キャラクタ初期設定データ512、雲分布データ514、雲モデルデータ516が記憶されている。更にゲームの進行に伴って生成され随時書き換えられるデータとして、ゲーム空間画像データ518、キャラクタステータスデータ520が記憶される。また、ゲームの進行に係る処理を実行する際に必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【0082】
ゲーム空間設定データ510には、仮想3次元空間にゲーム空間を形成するための各種データが格納されている。例えば、天球4や、山・平地・谷・川・海・建物などを含む地形オブジェクト2に関するモデルデータやテクスチャデータ及びモーションデータが格納されている(図4参照)。
【0083】
キャラクタ初期設定データ512には、プレーヤ戦闘機や敵戦闘機、それらから発射されるミサイルなどでゲームに登場する各種キャラクタに関する初期設定データがキャラクタの種類毎に格納されている。具体的には、プレーヤ戦闘機及び敵戦闘機については表示用モデル、テクスチャ、並びに最高速度や最高加速度、最高到達高度、耐久力(ヒットポイント)、兵装の種類や搭載数などの当該兵器の能力パラメータ値の初期値、ゲームスタート時の初期配置位置などが格納されている。
【0084】
雲分布データ514は、本実施形態における分布オブジェクトである雲オブジェクトの分布配置データであって、第1種雲CL1〜第5種雲CL5のゲーム空間中の空における分布を定義する。
具体的には例えば図11に示すように、各雲のオブジェクトに付与される雲識別番号514aに対応づけて、第1種雲CL1〜第5種雲CL5までの種類を示す番号を表す雲種類514b、仮想3次元空間における代表点(例えば板ポリゴンの中心点)の3次元座標値を表す位置座標514c、ゲーム空間中の配置高度514d、透明の板ポリゴンに適用されるテクスチャ514eを格納する。
【0085】
雲モデルデータ516は、雲オブジェクトのモデルデータを定義する。本実施形態では、近景モデルと遠景モデルの2分類が存在し、近景モデルには更に第1種雲CL1と第2種雲CL2があり、遠景モデルには更に第3種雲CL3、第4種雲CL4、第5種雲CL5がある。それぞれのモデルについて、透明の板ポリゴンの大きさを定義している。尚、雲モデルは板ポリゴンにテクスチャを貼る構造にかぎらず、雲の立体的な外形を形成するモデルとしても良いのは勿論である。
【0086】
ゲーム空間画像データ518は、ゲーム空間画像生成に係る画像情報(例えば各画素のαRGBデータ)を格納する。本実施形態では、生成された遠景画像の画像情報が格納され、仮想カメラで撮影された近景モデルが更に描画され、更に各種HUD表示が描画されて最終的なゲーム空間画像を記憶することとなる。
【0087】
キャラクタステータスデータ520は、ゲーム空間に配置されたプレーヤ戦闘機や敵戦闘機及び飛翔中のミサイルの現在位置や状態を示す各種パラメータ値を格納する。
例えば、キャラクタ識別情報と対応づけて、仮想3次元空間における3次元の現在位置座標、現在の飛行高度、現在のオブジェクトの姿勢角度、速度、残弾数、現在のヒットポイントに相当する耐久値といった能力パラメータ値、攻撃対象として選択しているキャラクタを示す攻撃目標キャラクタ識別情報などを格納する。勿論、これらのパラメータに限るものでは無く、各キャラクタに係る情報を適宜対応付けて格納することができる。
【0088】
[処理の流れの説明]
次に、本実施形態における処理の流れについて説明する。
図12は、本実施形態における主たる処理の流れを説明する為のフローチャートである。同図に示すように、処理部200は、先ずゲーム空間設定データ510とキャラクタ初期設定データ512を参照して、仮想3次元空間内に地形オブジェクト2や天球4、雲オブジェクト(CL1〜CL5)、プレーヤ戦闘機、敵戦闘機を配置する(ステップS2)。
【0089】
ゲームがスタートしたならば(ステップS4のYES)、処理部200は公知のフライトシューティングゲームと同様に操作入力部100から入力された操作入力信号に応じてプレーヤ戦闘機の動作を制御する(ステップS6)。キャラクタステータスデータ520のプレーヤ戦闘機に係る情報はこの動作制御に伴って適宜更新される。
【0090】
処理部200は、次に所定のAI制御によって敵戦闘機の動作を自動制御し(ステップS8)、発射されて飛翔中のミサイルの動作を自動制御する(ステップS10)。キャラクタステータスデータ520の敵戦闘機及びミサイルに係る情報はこれらの動作制御に伴って適宜更新される。
【0091】
次に、攻撃のヒット判定処理とダメージ処理を実行し、ダメージを受けた戦闘機についてはその耐久値の減算処理をしてキャラクタステータスデータ520を更新する(ステップS12)。そして、それぞれの耐久値を超過するダメージを受け、耐久値が「0」に達した戦闘機を撃墜されたと判定して撃墜処理の対象とする(ステップS14)。撃墜処理対象とされた戦闘機は、公知のフライトシューティングゲームと同様にしてステップS6やS8において、被弾して墜落する様子を表現するための所定の墜落動作をするように自動制御される。
【0092】
次に、処理部200は仮想カメラCMの移動制御を実行する(ステップS16)。本実施形態では仮想カメラCMはプレーヤ戦闘機の一人称視点とされるので、例えばプレーヤ戦闘機のコックピット位置に固定され、機体前方に視線方向を向けて配置される。
【0093】
次に、第1種雲CL1と第3種雲CL3を、それぞれの板ポリゴンの法線方向が仮想カメラCMを向くように板面の向きを変更した上で(ステップS18)、画像生成処理を実行する(ステップS20)。
【0094】
図13〜図14は、本実施形態における画像生成処理の流れを説明する為のフローチャートである。図13に示すように、処理部200は、仮想カメラCMから天球4のみを撮影した天球画像を生成し、同画像の画像データをゲーム空間画像データ518に格納する(ステップS40)。
次に、ニアクリップ面距離を1m、ファークリップ面距離を30kmとする近景撮影用の透視変換行列を生成し(ステップS42)、プレーヤ戦闘機の代表点を中心とする半径30kmの範囲に存在する地形オブジェクト2のポリゴンモデルを対象として、近景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理を実行し、ゲーム空間画像データ518に格納されている天球画像上に描画する(ステップS44)。この際、地形オブジェクト2を形成するポリゴンは、1m〜30kmを所定のビット数で表現するZバッファ法によって隠面消去処理されて各画素が地形の色に変更される。
【0095】
次に、処理部200は、ニアクリップ面距離を1m、ファークリップ面距離を200kmとする遠景撮影用の透視変換行列を生成する(ステップS46)。
次いで、雲分布データ514を参照してプレーヤ戦闘機の代表点を中心とする半径200kmに配置されている第5種雲CL5を抽出し(ステップS48)、抽出された第5種雲CL5からプレーヤ戦闘機と同高度層(同高度層と見なされるほど近い高度層を含む。例えば同高度層を含む所定幅の高度層。)第5種雲CL5を除外する(ステップS50)。厚さの無い板ポリゴンに描かれた第5種雲CL5を仮想カメラCMが真横から撮影する場合、実質的に描画されない、或いは、違和感のある雲として描画されることになるので、ステップS50でそのような雲モデルを除外して計算負荷を軽減する。
【0096】
そして、除外されずに残った第5種雲CL5を、先に生成した遠景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理して、ゲーム空間画像データ518に格納されている空と地形とが描画された背景画像W6(図5参照)へ仮想カメラCMで撮影した第5種雲CL5(図6の遠景雲18)をアルファブレンディング処理して描画する(ステップS52)。
【0097】
次に、処理部200は、雲の遠景モデルとプレーヤ戦闘機(実質的には仮想カメラ)との相対位置関係から撮影対象とする遠景モデルの種類を選択する処理を実行する。
具体的には、プレーヤ戦闘機の飛行高度が6000m未満であるか否かを判定する(ステップS54)。「6000m」の値は、第3種雲CL3に適用されるテクスチャで表現する雲が、第3種雲CL3の板ポリゴンの板面が視点方向に向けられ横倒しに近づくことによって、当該第3種雲CL3で表現される雲に見かけ上の違和感が生じる限界値である。第3種雲CL3にどのような形状の雲を表現するかによってその値は適宜設定することができる。
【0098】
プレーヤ戦闘機が、第1種〜第4種雲が配置される高度層以上で且つ第5種雲より低い例えば高度6000m未満を飛行している場合(ステップS54のYES)、処理部200は雲分布データ514を参照して、プレーヤ戦闘機の代表点を中心とした半径30km〜200kmの範囲内の第3種雲CL3を抽出する(ステップS56)。換言すると、仮想カメラCMが第3種雲CL3及び第4種雲CL4の配置高度層(2000m前後)及びその近接高度層(3000m〜5000m前後)に在る場合には、第4種雲CL4を透視変換並びに描画対象から除外するとも言える。
【0099】
反対に、高度6000m以上を飛行している場合には(ステップS54のNO)、プレーヤ戦闘機の代表点を中心とした半径30km〜200kmの範囲内の第4種雲CL4を抽出する(ステップS58)。換言すると、仮想カメラCMが第3種雲CL3及び第4種雲CL4の配置高度層(2000m前後)及びその近接高度層(3000m〜5000m前後)に無い場合には、第3種雲CL3を透視変換並びに描画対象から除外するとも言える。
【0100】
次に、処理部200は抽出された第3種雲CL3又は第4種雲CL4を対象に、先に生成した遠景撮影用の透視変換行列に基づく透視変換を含むジオメトリ変換処理を実行する(ステップS60)。そして、ジオメトリ変換処理された第3種雲CL3又は第4種雲CL4を仮想カメラCMからの距離順にZソートし、仮想カメラから半径30km〜200kmに存在する第3種雲CL3又は第4種雲CL4を、遠方から順にゲーム空間画像データ518に格納されている画像へアルファブレンディング処理を行って追加描画する(ステップS62)。
これによって、仮想カメラから30km〜200kmの遠景領域に存在する雲を、遠景モデルで撮影・描画して、遠景画像W8(図7参照)を生成したことになる。
【0101】
次に、処理部200は近景の描画を実行する。
具体的には、図14に示すように、先ずニアクリップ面距離を1m、ファークリップ面距離を30kmとする近景撮影用の透視変換行列を生成する(ステップS70)。そして、近景描画における撮影対象オブジェクトとして、プレーヤ戦闘機の代表点を中心とする半径1m〜30km内に配置されている第1種雲CL1、第2種雲CL2、敵戦闘機、ミサイルといったオブジェクトを抽出し(ステップS72)、抽出した中からプレーヤ戦闘機の飛行高度と同高度に配置されている第2種雲を除外する(ステップS74)。第2種雲CL2は略水平に配置される板ポリゴンのため、仮想カメラが同高度にあって仮に視線方向が水平である場合には描画されない或いは違和感のある雲として表示されるため、第2種雲を除外する。
【0102】
次いで、現在の撮影対象オブジェクトを対象に、先に生成した近景撮影用の透視変換行列に基づく視変換を含むジオメトリ変換処理を実行する(ステップS78)。
そして、プレーヤ戦闘機の飛行高度が第2種雲CL2の配置高度(2000m)より上か否かを判定する(ステップS80)。プレーヤ戦闘機が2000m以上を飛行している場合(ステップS80のYES)、処理部200は、例えば図15(a)に示すように、第2種雲CL2の板ポリゴンに係る基準点候補の内、仮想カメラから最も遠い最遠点P2fを当該第2種雲CL2の代表点としてその他の撮影対象オブジェクトの代表点とともに仮想カメラからの距離順にZソートする(ステップS82)。反対にプレーヤ戦闘機が2000m未満を飛行している場合には(ステップS80のNO)、例えば図15(a)に示すように、第2種雲CL2の板ポリゴンに係る基準点候補の内、仮想カメラに最も近い最近点P2nを当該第2種雲CL2の代表点としてその他の撮影対象オブジェクトとともに仮想カメラからの距離順にZソートする(ステップS84;図15(b))。
ここで言う「基準点候補」とは、板ポリゴンの頂点や中心点のみとしてもよいし、板ポリゴン上の全ての任意の点や、板ポリゴンの周縁上の任意の点としてもよい。
【0103】
そして、ソート結果に基づいて遠方の撮影対象オブジェクトから順に、仮想カメラCMで撮影した画像をゲーム空間画像データ518に格納されている遠景画像W8上に描画する(ステップS86)。このとき、例えば、描画対象のオブジェクトが第1種雲CL1及び第2種雲CL2の場合はアルファブレンディング処理によって遠景画像W8上に描画する。描画対象が敵戦闘機やミサイルなど立体的なポリゴンモデルで形成されたオブジェクトの場合は、当該オブジェクトを構成するポリゴンをZバッファ法で隠面消去処理して描画する。
或いは、ソート結果を参照して撮影対象オブジェクトから第1種雲CL1と第2種雲CL2を除いた不透明ポリゴンのオブジェクト(この場合、敵戦闘機及びミサイル)のポリゴンを抽出してZバッファ法で隠面消去処理して遠景画像W8に描画し、続いて残った第1種雲CL1と第2種雲CL2(ミサイルの噴煙が雲オブジェクトと同様に透明ポリゴンの場合にはこれを含む)をソート結果の遠方から順にアルファブレンディング処理で描画するとしても良い。何れにせよ、遠景画像W8に近景画像が合成されてゲーム空間画像W10(図9参照)が完成されたことになる。
【0104】
次いで、処理部200は、レーダ画像を生成し、生成したレーダ画像W3とHUD表示をこの時点でゲーム空間画像データ518に格納されているゲーム空間画像W10に合成して、ディスプレイ1220に表示させるゲーム画面としての画像を完成させ(ステップS88)、画像生成処理を終了する。
【0105】
画像生成処理が終了したならば、図12のフローに戻る。
処理部200は、次に生成したゲーム画面の画像信号を所定の走査サイクルでディスプレイ1220に出力して画像表示装置1222にゲーム画面を画像表示させ(ステップS22)、ゲーム音を生成してスピーカ1224に音信号を出力して放音させる(ステップS24)。
【0106】
次に、処理部200はゲーム結果を算出して所定のゲーム終了条件を満たすか否かを判定する(ステップS26)。本実施形態では、プレーヤ戦闘機が撃墜された場合にゲームオーバでゲーム終了条件を満たしていると判断し、すべての敵戦闘機が撃墜された場合にゲームクリアでゲーム終了条件を満たしていると判断する。
ゲーム終了条件を満たしていなければ(ステップS26のYES)、ステップS6に戻る。ゲーム終了条件を満たしていれば(ステップS26のNO)、ゲーム結果に応じたエンディングを表示するなどのゲーム終了処理を実行して(ステップS28)、一連の処理を終了する。
【0107】
以上の処理によって、本実施形態によれば、雲のような視界全体に分布する分布オブジェクトがゲーム空間内に配置されるシチュエーションであっても、遠景と近景とでそれぞれ別々に透視変換行列を設定して分布オブジェクトのレンダリングを遠景と近景とに分けて処理することで、Zソート処理時に限られたビット数のZ値でも十分な分解能を実現し、分布オブジェクト相互の前後位置関係が計算誤差などの影響を受け、分布オブジェクトの前後位置が描画フレーム毎に変動すると言った表示品質の低下を抑制できる。
【0108】
[ハードウェア構成]
次に、本実施形態におけるハードウェア構成例について説明する。
図16は、本実施形態における家庭用ゲーム装置1200を実現するためのハードウェア構成例を示す図である。家庭用ゲーム装置1200は、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、画像生成IC1008、音生成IC1010、I/Oポート1012,1014がシステムバス1016により相互にデータ入出力可能に接続されている。I/Oポート1012にはコントロール装置1022が、I/Oポート1014には通信装置1024が、それぞれ接続されている。
【0109】
CPU1000は、情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラムや、コントロール装置1022によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【0110】
RAM1004は、CPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002内の所与の内容、CPU1000の演算結果等が格納される。
【0111】
情報記憶媒体1006は、プログラム、画像データ、音データ、プレーデータ等が主に格納されるものであり、情報記憶媒体として、ICメモリやハードディスク、CD−ROM、DVD、ICカード、磁気ディスク、光ディスク等が用いられる。
【0112】
尚、ROM1002、RAM1004及び情報記憶媒体1006は、図10の記憶部500に相当する。
【0113】
また、この装置に設けられている画像生成IC1008と音生成IC1010により、音や画像の好適な出力が行えるようになっている。
【0114】
画像生成IC1008は、CPU1000の命令によって、ROM1002、RAM1004、情報記憶媒体1006等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される画像信号は、表示装置1018に出力される。表示装置1018は、CRTやLCD、ELD、プラズマディスプレイ、或いはプロジェクター等により実現され、図10の画像表示部360に相当する。
【0115】
また、音生成IC1010は、CPU1000の命令によって、情報記憶媒体1006やROM1002に記憶される情報、RAM1004に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ1020によって出力される。スピーカ1020は、図10の音出力部350に相当するものである。
【0116】
コントロール装置1022は、プレーヤがゲームに係る操作を入力するための装置であり、その機能は、レバー、ボタン、タッチパネル、ダイヤル、ポインティングデバイス等のハードウェアにより実現される。尚、このコントロール装置1022は、図10の操作入力部100に相当するものである。
【0117】
通信装置1024は、装置内部で利用される情報を外部とやりとりするものであり、所与の情報を他の装置と送受すること等に利用される。尚、この通信装置1024は、図10の通信部370に相当するものである。
【0118】
そして、ゲーム処理等の上述した処理は、図10のゲームプログラム502等を格納した情報記憶媒体1006と、これらプログラムに従って動作するCPU1000、画像生成IC1008、音生成IC1010等によって実現される。CPU1000、画像生成IC1008、及び音生成IC1010は、図10の処理部200に相当するものであり、主にCPU1000がゲーム演算部210、画像生成IC1008が画像生成部260に、音生成IC1010が音生成部250にそれぞれ相当する。
【0119】
尚、画像生成IC1008、音生成IC1010等で行われる処理は、CPU1000或いは汎用のDSP等によりソフトウェア的に行ってもよい。この場合には、CPU1000が、図10の処理部200に相当する。
【0120】
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は基本的には第1実施形態と同様の構成を有するが、遠景・近景の距離領域の設定、つまり遠景撮影時と近景撮影時に適用されるビュー空間(クリップ空間とも言う)の奥行きの設定が可変である点において異なる。尚、第1実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。
【0121】
図17は、本実施形態において記憶部500に予め記憶されているビュー空間設定テーブルデータ522のデータ構成例を示す図である。ビュー空間設定テーブルデータは、ゲームの進行状況に応じて透視変換に適用されるビュー空間の諸元を設定する。具体的には、設定条件522aに対応づけて、近景撮影用と遠景撮影用の各透視変換におけるビュー空間の諸元として、視点からニアクリップ面間の距離と視点からファークリップ面間の距離とを対応づけて格納する。
【0122】
例えば、設定条件522aの1つとして、ゲームの進行に応じて計時されるゲーム空間でのゲーム時刻が「20:00より前」の例では、第1実施形態と同様に近景撮影用の透視変換のビュー空間は第1ニアクリップ面距離522cが1m、第1ファークリップ面距離522dが30km、遠景撮影用の透視変換のビュー空間は第2ニアクリップ面距離522eが1m、第2ファークリップ面距離522fが200kmに設定されている。また、設定条件522aのもう1つとして、「20:00以降」の例では、近景撮影用の透視変換のビュー空間は第1ニアクリップ面距離522cが1m、第1ファークリップ面距離522dが20km、遠景撮影用の透視変換のビュー空間は第2ニアクリップ面距離522eが1m、第2ファークリップ面距離522fが100kmに設定されている。
つまり、ゲーム空間の時刻が20:00以降の夜の場合、闇によって視界到達距離が短くなることを利用して、近景及び遠景の範囲を狭めて、近景画像及び遠景画像のレンダリングに係る演算処理負荷を軽減するとともに、分布オブジェクトの前後位置関係の分解能をより高めるように工夫されている。
【0123】
設定条件522aは、時刻に限らず、晴天時と降雪時のような天候差、ゲームの舞台が水中であれば水域による混濁程度差と言った具合に視界到達距離に違いが生じる条件を適宜設定できる。また自然条件に限らず、例えばRPGのようにプレーヤキャラクタの体調をゲームのパラメータに含める場合には、魔法や毒によって視力が低下している場合などを設定条件とすることができる。
【0124】
図18及び図19は、本実施形態における画像生成処理の流れを説明する為のフローチャートである。本実施形態における画像生成処理では、処理部200は先ず、ビュー空間設定テーブルデータ522を参照して、今回の画像生成処理において適用されるビュー空間の設定を決定する(ステップS38)。
以下、第1実施形態のステップS42に代わるステップS42Bでは、ステップS38で決定されたビュー空間の設定に基づいて近景撮影用の透視変換行列を生成し(ステップS42B)、第1実施形態のステップS44に代わるステップS44Bでは、ステップS38で決定されたビュー空間の設定の第1ファークリップ面距離522dを半径とする領域内に在る地形オブジェクト2を対象に、ステップS38で設定されたビュー空間に基づく近景撮影用の透視変換行列を用いた透視変換処理を含むジオメトリ変換処理を実行して描画する(ステップS44B)。
【0125】
また、第1実施形態のステップS48に代わるステップS48Bでは、プレーヤ戦闘機を中心にステップS38で決定されたビュー空間の設定の第2ファークリップ面522fを半径とする領域内に配置されている第5種雲CL5を抽出する(ステップS48B)。
同様にして、第1実施形態のステップS56及びS58に代わるステップS56B並びにS58Bにおいては、プレーヤ戦闘機を中心に半径が第1ファークリップ面距離522d〜第2ファークリップ面距離522f内の第3種雲CL3或いは第4種雲CL4を抽出する(ステップS56B,S58B)。
【0126】
更に、図19に示すように、第1実施形態のステップS70に代わるステップS70Bでは、ステップS38で決定されたビュー空間の設定に基づいて近景撮影用の透視変換行列を生成する(ステップS70B)。
また、第1実施形態のステップS72に代わるステップS72Bでは、撮影対象オブジェクトとして、プレーヤ戦闘機を中心に半径が第1ニアクリップ面距離522c〜第1ファークリップ面距離522dの範囲内に在る第1種雲CL1、第2種雲、敵戦闘機、ミサイルを抽出する(ステップS72B)。
【0127】
このように、本実施形態によれば第1実施形態と同様の効果を奏するとともに、ゲームの進行状況に応じて遠景となる範囲、近景となる範囲を可変することができる。よって、仮想カメラからの見渡し距離が低くなる状況では、描画対象のオブジェクトを減らして処理負荷の軽減を図ることができる。
【0128】
〔第3実施形態〕
次に、本発明を適用した第3実施形態について説明する。本実施形態は基本的には第1実施形態と同様の構成を有するが、第1実施形態における雲モデルの配置用の高度層を無視して雲モデルを高度方向にも分布配置し、さらに第1種雲CL1〜第4種雲CL4を混在して配置することとする場合の実施形態である。尚、第1実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。また、本実施形態の構成は第2実施形態に適用することもできる。
【0129】
図20〜図21は、本実施形態における画像生成処理Cの流れについて説明する為のフローチャートである。画像生成処理Cでは、第1実施形態の画像生成処理のステップS54〜S58に代えてステップS53及びS55を実行し、第1実施形態の画像生成処理のステップS74及びS80〜S84に代えてステップS73及びS83を実行する。
【0130】
具体的には、処理部200は、ステップS53においてプレーヤ戦闘機を中心に半径30km〜200km内の第3種雲CL3と第4種雲CL4を遠景雲の撮影対象として抽出し、続くステップS55においてプレーヤ戦闘機と高度差4000m以上(所定の高度差を閾値としてその閾値より大きい条件である大高度差条件)になる第3種雲CL3と、プレーヤ戦闘機と高度差2000m以下(大高度差条件より小さい高度差を閾値として、その高度差より低い条件である小高度差条件)になる第4種雲CL4とを、抽出した雲から除外する。
このステップS55によって、本来、側面〜斜め上(或いは斜め下)から見られる雲を表現するはずの第3種雲CL3の姿勢が、水平姿勢に近づきすぎて表現に違和感が生じるのを防ぐとともに、第4種雲CL4を側面から撮影して板状のものが浮かんでいるような違和感が生じるのを防いで、表示品質の低下を防いでいる。
【0131】
また、処理部200は、ステップS73において撮影対象オブジェクトからプレーヤ戦闘機の飛行高度差が1000m未満の第2種雲を除外する。また、ステップS83においては(1)仮想カメラより1000m以上上方の第2種雲CL2のポリゴン頂点のうちカメラ最遠点を代表点として、(2)仮想カメラより1000m以上下方にある第2種雲CL2のポリゴン頂点のうちカメラ最近点を代表点として、その他の撮影対象オブジェクトの代表点とともに仮想カメラからの距離順にZソートする。
【0132】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用形態がこれらに限定されるものではない。
【0133】
例えば、家庭用ゲーム装置1200を用いる構成を例に挙げたが、業務用のゲーム装置やパソコン、携帯型ゲーム装置などを代わりに用いることとしても良い。
【0134】
また、上記実施形態では分布オブジェクトの例として、空中に浮遊する雲を例にあげたが、分布オブジェクトは雲に限るものではない。例えば、鳥、木の葉、タンポポの種子、気球、風船などと言ったその他の空中に浮遊することの有る物体に適用することができる。同様に、水中の魚、宇宙空間に浮遊する小惑星などにも適用することができる。
【0135】
また、上記実施形態では分布オブジェクトを遠景と近景との二つに分けてレンダリングしたが、これらの中間に中景などを設けて三つ以上の距離領域に分けてレンダリングするとしても良い。
【0136】
また、上記実施形態では、第1種雲CL1と第2種雲CL2のZソートに係る処理では、第2種雲CL2の仮想カメラCMに対する最遠点P2f及び最近点P2nを代表点としてソートしたが、基準点候補はこれらに限られるものではない。例えば、第2種雲CL2の大きさがもっと小さい場合には、板ポリゴンの中心点と幾つかの頂点を基準点候補としても良いし、板ポリゴンの全ての頂点を基準点候補として、各頂点の内、仮想カメラに最も遠い点や最も近い点を基準点にする構成としても良い。
【図面の簡単な説明】
【0137】
【図1】家庭用ゲーム装置の構成例を示すシステム構成図。
【図2】ゲーム画面の構成例を示すゲーム画面図。
【図3】第1実施形態における雲オブジェクトの種類を説明するための図。
【図4】第1実施形態におけるゲーム空間での分布オブジェクトである雲オブジェクトの分布について説明するための概念図。
【図5】背景画像の一例を示す図。
【図6】遠景撮影の原理を説明するための概念図。
【図7】遠景画像の一例を示す図。
【図8】近景撮影の原理を説明するための概念図。
【図9】ゲーム空間画像の一例を示す図。
【図10】第1実施形態における機能構成例を示す機能ブロック図。
【図11】雲分布データ514のデータ構成の一例を示す図。
【図12】第1実施形態における主たる処理の流れを説明する為のフローチャート。
【図13】第1実施形態における画像生成処理の流れを説明する為のフローチャート。
【図14】図13から続くフローチャート。
【図15】第2種雲と仮想カメラの相対位置関係に基づく第2種雲の基準点の選定2ついて説明するための概念図。
【図16】家庭用ゲーム装置を実現するためのハードウェア構成例を示す図。
【図17】第2実施形態において記憶部に予め記憶されているビュー空間設定テーブルデータのデータ構成例を示す図。
【図18】第2実施形態における画像生成処理の流れを説明する為のフローチャート。
【図19】図18より続くフローチャート。
【図20】第3実施形態における画像生成処理の流れを説明する為のフローチャート。
【図21】図20より続くフローチャート。
【符号の説明】
【0138】
100 操作入力部
200 処理部
210 ゲーム演算部
260 画像生成部
262 遠景撮影用透視変換行列設定部
264 遠景撮影時モデル種類選択部
266 近景撮影用透視変換行列設定部
268 遠景近景合成部
500 記憶部
514 雲分布データ
516 雲モデルデータ
CL1 第1種雲
CL2 第2種雲
CL3 第3種雲
CL4 第4種雲
CL5 第5種雲

【特許請求の範囲】
【請求項1】
コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
前記仮想3次元空間にN種類(N≧2)のオブジェクトを配置する配置手段、
前記仮想カメラからの遠近方向のクリップ範囲が異なるM種類(M≧2)の透視変換行列を設定する透視変換行列設定手段、
前記N種類のオブジェクトのうち、前記M種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段、
前記M種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想3次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項2】
前記透視変換行列設定手段が、前記M種類の透視変換行列それぞれのクリップ範囲を可変して設定するように前記コンピュータを機能させるための請求項1に記載のプログラム。
【請求項3】
前記N種類のオブジェクトには、少なくとも近景用オブジェクトと遠景用オブジェクトとがあり、
前記M種類の透視変換行列には、少なくとも近景用透視変換行列と遠景用透視変換行列とがあり、
前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを更に機能させるとともに、
前記選択手段が、前記近景用透視変換行列に対応するオブジェクトの種類として近景用オブジェクトを選択し、前記遠景用透視変換行列に対応するオブジェクトの種類として遠景用オブジェクトを選択するように前記コンピュータを機能させる、
ための請求項1又は2に記載のプログラム。
【請求項4】
前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想3次元空間の所定の高度層に配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び/又は当該高度層に近接する高度層に位置する場合には前記水平配置用遠景オブジェクトを対象から除外し、位置しない場合には前記カメラ対向遠景オブジェクトを対象から除外して実行するように前記コンピュータを機能させる、
ための請求項3に記載のプログラム。
【請求項5】
前記遠景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用遠景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向遠景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記水平配置用遠景オブジェクト及び前記カメラ対向遠景オブジェクトを前記仮想3次元空間の空中に混在配置するとともに前記水平配置用遠景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向遠景オブジェクトの姿勢を可変するカメラ対向遠景オブジェクト姿勢可変手段として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、前記遠景用透視変換行列を用いた透視投影変換処理を実行する際に、前記遠景用オブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用遠景オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向遠景オブジェクトとを対象から除外して実行するように前記コンピュータを機能させる、
ための請求項3に記載のプログラム。
【請求項6】
コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段、
前記N種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び/又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項7】
コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に混在配置する配置手段、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段、
前記N種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項8】
前記近景用オブジェクトの種類には更に、水平状に配置される板状の水平配置用近景オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向近景オブジェクトとが少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記水平配置用近景オブジェクト及び前記カメラ対向近景オブジェクトを前記仮想3次元空間の所定の高度層に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
前記仮想カメラに対向させる向きに前記カメラ対向近景オブジェクトの姿勢を可変するカメラ対向近景オブジェクト姿勢可変手段として前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用近景オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、低い場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Zソート処理手段によりZソート処理されたオブジェクト順に前記透視投影変換処理を実行する、
ように前記コンピュータを機能させるための請求項1〜5に記載のプログラム。
【請求項9】
前記近景用オブジェクトには更に、水平状に配置される板状の水平配置用近景オブジェクトが少なくとも含まれ、
前記配置手段が、前記近景用オブジェクトを前記仮想3次元空間の空中に配置するとともに前記水平配置用近景オブジェクトを水平状に配置するように前記コンピュータを機能させ、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段として前記コンピュータを機能させ、
前記画像生成手段が、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用近景オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用近景オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、高い高度に位置する場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段を有し、
前記近景用透視変換行列を用いた透視投影変換処理を実行する際に、前記Zソート処理手段によりZソート処理されたオブジェクト順に前記透視投影変換処理を実行する、
ように前記コンピュータを機能させるための請求項1〜5に記載のプログラム。
【請求項10】
コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトを含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、低い場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項11】
コンピュータに、仮想カメラで撮影した仮想3次元空間の画像を生成させるためのプログラムであって、
水平状に配置される板状の水平配置用オブジェクトを含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に配置する配置手段、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、高い高度に位置する場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項12】
請求項1〜11の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項13】
仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置であって、
前記仮想3次元空間にN種類(N≧2)のオブジェクトを配置する配置手段と、
前記仮想カメラからの遠近方向のクリップ範囲が異なるM種類(M≧2)の透視変換行列を設定する透視変換行列設定手段と、
前記N種類のオブジェクトのうち、前記M種類の透視変換行列それぞれに対応するオブジェクトの種類を選択する選択手段と、
前記M種類の透視変換行列それぞれを用いた透視変換処理を、当該透視変換行例に対応するオブジェクトとして前記選択手段により選択された種類のオブジェクトを対象に実行することで前記仮想3次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項14】
仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記N種類のオブジェクトのうち、前記仮想カメラの高度が前記所定の高度層及び/又は当該高度層に近接する高度層に位置する場合には前記水平配置用オブジェクトを描画対象から除外し、位置しない場合には前記カメラ対向オブジェクトを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項15】
仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトと、前記仮想カメラに対向する向きに姿勢が可変される板状のカメラ対向オブジェクトとを少なくとも含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に混在配置する配置手段と、
前記仮想カメラに対向させる向きに前記カメラ対向オブジェクトの姿勢を可変するカメラ対向オブジェクト姿勢可変手段と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記N種類のオブジェクトのうち、前記仮想カメラとの相対的な高度差が所定の大高度差条件を満たさない水平配置用オブジェクトと、前記仮想カメラとの相対的な高度差が所定の小高度差条件を満たさないカメラ対向オブジェクトとを描画対象から除外して前記オブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項16】
仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトを含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の所定の高度層に配置する配置手段と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラの高度が前記所定の高度層より高い場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、低い場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段と、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。
【請求項17】
仮想カメラで撮影した仮想3次元空間の画像を生成する画像生成装置であって、
水平状に配置される板状の水平配置用オブジェクトを含むN種類(N≧2)のオブジェクトを前記仮想3次元空間の空中に配置する配置手段と、
高さ方向を含む前記仮想カメラの前記仮想3次元空間中の移動を制御する仮想カメラ移動制御手段と、
前記配置手段により配置されたオブジェクトをZソート処理する際に、前記水平配置用オブジェクトについては、前記仮想カメラより低い高度に位置する場合には当該水平配置用オブジェクトの基準点候補のうちの第1の基準点を基準にZソート処理し、高い高度に位置する場合には前記第1の基準点より前記仮想カメラ寄りの第2の基準点を基準にZソート処理するZソート処理手段と、
前記Zソート処理手段によりZソート処理されたオブジェクト順に前記N種類のオブジェクトを描画して前記仮想3次元空間の画像を生成する画像生成手段と、
を備えた画像生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図5】
image rotate

【図7】
image rotate

【図9】
image rotate


【公開番号】特開2009−53886(P2009−53886A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−219335(P2007−219335)
【出願日】平成19年8月27日(2007.8.27)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】