説明

画像処理プログラム、記録媒体、及びコンピュータ装置

【課題】 仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラムを提供する。
【解決手段】 ゲームプログラム24は、ゲーム装置1を、仮想カメラ制御手段53、素材画像生成手段54、フィルタ画像生成手段55、及び合成画像生成手段56として機能させる。フィルタ画像生成手段55は、仮想空間素材画像P1を所定の境界線(基準画素L3,R3を結ぶ線分)により上下の領域H1,H2に仕切り、これら各領域H1,H2の四隅に位置する画素に設定された合成色情報Cに基づき、各領域H1,H2に対応するグラデーション画像を形成してフィルタ画像P2を生成する一方、仮想カメラ42の上下方向に関する配置の変化に応じて、境界線の上下位置を変化させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想光源に照らされた仮想空間を仮想カメラの配置に応じた画像としてよりリアルに表現するための画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置に関する。
【背景技術】
【0002】
近年、仮想のゲーム空間内にて、モンスター等の敵キャラクタを討伐しながらゲームを進行させるアクションゲームが市販されている。このようなゲームでは、三次元の仮想空間を仮想カメラによって撮影した画像(フレーム)を、該仮想空間を投影変換することで生成し、これをディスプレイに表示させている。また、仮想空間をよりリアルに表現するために、仮想空間内に仮想の光源を設定し、この光源からの光に起因する視覚的な効果を、仮想空間を示す画像に合成するようにしたものもある。例えば、特許文献1には、光源からの強い光(太陽光など)がレンズに入射した場合に生じるレンズフレアという現象を、仮想空間を示す画像に再現し、リアリティを向上させる思想が開示されている。
【0003】
また、仮想空間を示す画像に対し、太陽光によって生じる視覚的効果を表すサンスクリーンフィルタを合成することで、仮想空間をよりリアルに表現する技術が知られている。このサンスクリーンフィルタは、上端から下端へ向かうに従って、白色から無色透明へと変化するグラデーション画像である。そして、仮想空間を示す画像にこのグラデーション画像を合成することにより、光源である太陽に近い上側部分が白みがかった状態を表現することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−215974号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した公知の技術を用いて生成したグラデーション画像は、仮想カメラの向きや高さの変化が加味されていないため、看者に対して不自然さを感じさせてしまう場合がある。例えば、現実の野外空間において太陽が天頂(観察者の直上)に位置する場合、太陽からの直射日光や、上空に浮遊する塵による太陽光の乱反射などの影響によって、観察者の視界はその上部がやや白色化して知覚される。また、観察者が視点を上方へ向けるに従って白色化して知覚される範囲は下方へと広がり、逆に視点を下方へ向けるに従って白色化して知覚される範囲は上方へ狭まっていく。このような、現実空間において光源からの光により生じる視覚的効果が、仮想空間を撮影した画像では十分に表現されていない。
【0006】
そこで本発明は、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る画像処理プログラムは、仮想空間を撮影する仮想カメラの配置を制御して、該仮想カメラにより撮影された前記仮想空間を表示手段に表示させる画像処理装置のコンピュータを、前記仮想カメラにより撮影した前記仮想空間を示す仮想空間素材画像を生成する素材画像生成手段、仮想光源に照らされた前記仮想空間を表現すべく、前記仮想空間素材画像の領域全体に対応するフィルタ画像を生成するフィルタ画像生成手段、及び前記仮想空間素材画像と前記フィルタ画像とを合成して仮想空間合成画像を生成する合成画像生成手段、として機能させ、前記フィルタ画像生成手段は、所定の境界線により上下の領域に仕切られた前記フィルタ画像であって、少なくとも1つの前記領域に関して、該領域の少なくとも四隅に位置する画素の合成色情報に基づいて該領域が少なくとも上下方向についてグラデーション画像となるような前記フィルタ画像を生成する一方、前記仮想カメラの上下方向に関する配置の変化に応じて、前記境界線の上下位置を変化させるよう構成されている。
【0008】
このような構成とすることにより、仮想カメラの上下方向に関する配置に応じて、上側領域及び下側領域の面積比を変更することができる。そのため、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することができる。
【0009】
また、前記仮想カメラの上下方向に関する配置には、該仮想カメラの上下方向の向き及び/又は高さ位置が含まれていてもよい。
【0010】
また、前記フィルタ画像生成手段は、前記仮想カメラの配置が相対的に上向きの場合又は高い場合には、前記境界線の位置を下方へ変更し、前記仮想カメラの配置が相対的に下向きの場合又は低い場合には、前記境界線の位置を上方へ変更するよう構成されていてもよい。
【0011】
また、前記フィルタ画像生成手段は、前記仮想空間素材画像の左上に位置する基準画素L1、右上に位置する基準画素R1、左下に位置する基準画素L2、右下に位置する基準画素R2、前記基準画素L1,L2間に位置して前記境界線の左端に位置する基準画素L3、及び前記基準画素R1,R2間に位置して前記境界線の右端に位置する基準画素R3について、予め設定された基準値に基づいて前記合成色情報を取得する基準合成色情報取得手段を有していてもよい。
【0012】
また、前記基準合成色情報取得手段は、前記仮想カメラが前記光源に対して水平面内の所定の基準方向を向いている場合には、前記基準画素L1〜L3,R1〜R3の前記合成色情報として、該基準方向に関連づけられて予め設定された基準値を取得し、前記仮想カメラが前記基準方向以外の方向を向いている場合には、近傍に位置する前記基準方向に関連づけられた前記基準値に基づいて、前記基準画素L1〜L3,R1〜R3の前記合成色情報を取得するよう構成されていてもよい。
【0013】
また、前記基準画素L1〜L3,R1〜R3の前記合成色情報は、前記仮想カメラの上下方向に関する配置に応じて変更されるよう構成されていてもよい。
【0014】
本発明に係る記録媒体は、上述した何れかの画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0015】
本発明に係るコンピュータ装置は、上述した何れかの画像処理プログラムを読み込んで実行するコンピュータ装置である。
【発明の効果】
【0016】
本発明によれば、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置を提供することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態に係るゲーム装置(コンピュータ装置)の構成を示すブロック図である。
【図2】図1に示したゲーム装置とは別体を成すコントローラの構成を示すブロック図である。
【図3】本ゲームにおいて設定されている仮想ゲーム空間とこれをモニタに表示する際の画像とを示す模式図である。
【図4】ゲーム装置が備える制御部の機能的な構成を示すブロック図である。
【図5】仮想カメラの配置変更を説明するための模式図である。
【図6】仮想空間合成画像の生成を説明するための模式図である。
【図7】フィルタ画像を説明するための図面であり、(a)はフィルタ画像に設定された基準画素を、(b)は仮想カメラの水平方向の向きを、(c)は仮想カメラの水平方向の向きに関連づけられて予め設定された各基準画素の色情報を、それぞれ示している。
【図8】仮想カメラの上下方向の向きと中間の基準画素の上下位置との関係を説明するためのグラフである。
【図9】フィルタ画像の例を示す模式図であり、(a)は仮想カメラが水平方向に向けられているとき、(b)は水平方向より上方へ向けられているとき、(c)は水平方向より下方へ向けられているとき、の夫々のフィルタ画像を示している。
【図10】フレーム画像を生成する処理を示すフローチャートであり、(a)は全体の流れを示し、(b)は仮想空間素材画像とフィルタ画像とを合成する処理の流れを示している。
【図11】仮想ゲーム空間が昼間の地上である場合において、仮想カメラの向きを上下方向に変化させたときの仮想空間合成画像を示す模式図である。
【図12】仮想カメラの高さ位置と中間の基準画素の上下位置との関係を説明するためのグラフである。
【図13】水中の仮想ゲーム空間において、仮想カメラの高さ位置を上下方向に変化させたときの仮想空間合成画像を示す模式図である。
【図14】仮想カメラの上下方向の向きと中間の基準画素の上下位置との関係の変形例を示すグラフである。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態に係る画像処理プログラム、記録媒体、及びコンピュータ装置について、図面を参照しつつ説明する。
【0019】
[ハードウェアの構成]
図1は、本発明の実施の形態に係るゲーム装置(コンピュータ装置)の構成を示すブロック図である。ゲーム装置1は、片手で持ち運びできる程度の寸法のボックス形状を成すハウジングに収納され、図1に示すように、このゲーム装置1には制御部8が備えらており、制御部8にはCPU(Central Processing Unit)3が備えられている。制御部8において、CPU3は、データ転送を統括的に制御するメモリコントローラ2を介して、GPU(Graphics Processing Unit)4、メインメモリ5、及びDSP(Digital Signal Processor)6に接続されている。また、ゲーム装置1において、メモリコントローラ2には、バス9を介して、コントローラ・インタフェース(以下、「インタフェース」は「I/F」と記す)10、ビデオI/F11、外部メモリI/F12、オーディオI/F13、及びディスクI/F14が接続されている。そして、コントローラI/F10には受信ユニット15が接続され、オーディオI/F13及びディスクI/F14にはディスクドライブ16が接続されている。
【0020】
更に、ゲーム装置1が有するビデオI/F11及びオーディオI/F13には、外部機器であるモニタ20及びスピーカ22が夫々に接続可能になっており、記録媒体としてのメモリカード21及び光ディスク23が、外部メモリI/F12及びディスクドライブ16に対して夫々装填可能になっている。
【0021】
このうちCPU3は、図示しないブートROMに記録された起動プログラムを実行してメインメモリ5の初期化等を行った後、ディスクドライブ16に装填された光ディスク23に記録されているゲームプログラム(画像処理プログラム)24を実行し、該ゲームプログラムの内容に応じたゲーム処理を行うものである。また、メインメモリ5は、CPU3の動作時に使用されるデータを記録する記録領域を有し、例えば、光ディスク23から読み出されたゲームプログラム24や各種のデータを記録する。
【0022】
GPU4は、三次元グラフィックスの表示に必要な計算処理を行う半導体チップで構成されており、CPU3からの指示に基づいて画像処理を行う。一例を挙げると、GPU4は、メインメモリ5の一部の記録領域や図示しない画像処理専用のメモリを用い、経時的に変化する三次元の仮想ゲーム空間(仮想空間)の各フレーム画像を生成することができ、この画像は、メモリコントローラ2及びビデオI/F11を介してモニタ20に表示される。
【0023】
DSP6は、CPU3がゲームプログラム24を実行しているときに生成されるサウンドデータの処理を行うものであり、該サウンドデータを記録するためのARAM(Audio RAM)7が接続されている。DSP6は、光ディスク23から先読みしておいたサウンドデータをARAM7に記録しておき、適宜のタイミングでARAM7から読み出したサウンドデータを出力するものであり、DSP6から出力されたサウンドデータは、メモリコントローラ2及びオーディオI/F13を介してスピーカ22から外部へ出力される。
【0024】
一方、受信ユニット15は、ゲーム装置1とは別体を成すコントローラ(Remote controller)30(図2参照)から送られてきたデータを受信するものであり、受信したデータは、コントローラI/F10及びメモリコントローラ2を介してCPU3へ送られる。外部メモリI/F12は、メモリカード21が装填された状態で該メモリカード21内の記録領域にアクセス可能であり、該記録領域内のデータを読み出し、又はバックアップデータを書き込むことができる。
【0025】
オーディオI/F13に接続されたスピーカ22は、上述したようにDSP6がARAM7から読み出したサウンドデータを外部へ出力する他、ディスクドライブ16が光ディスク23から読み出したサウンドデータを直接的に外部へ出力する。また、ディスクドライブ16は、上述したように、装填された光ディスク23に記録されたゲームプログラム24を読み出し、このゲームプログラム24をオーディオI/F13又はディスクI/F14へ出力する。
【0026】
図2は、ゲーム装置1とは別体を成すコントローラ30の構成を示すブロック図である。コントローラ30は、例えばプラスチック成型により形成された略直方体形状を成すハウジングを有しており、片手で把持可能な寸法に設計されている。そして、図2に示すように、コントローラ30は、撮像情報演算部31、通信部32、操作部33、加速度センサ34、及びバイブレータ35を備えている。
【0027】
撮像情報演算部31は、赤外線フィルタ31a、レンズ31b、撮像素子31c、及び画像処理回路31dを有しており、赤外線フィルタ31aは、外部からの入射光のうち赤外線のみをレンズ31bへ通過させる。レンズ31bは、赤外線フィルタ31aを通過した赤外線を集光して撮像素子31cへ出射する。撮像素子31cは、例えばCMOSセンサのような個体撮像素子であって、レンズ31bが集光した赤外線を撮像して画像データを生成する。ここで、ゲーム装置1に接続されるモニタ20(図1参照)には、高輝度の赤外線を発光する2つの発光部(図示せず)が設けられており、画像処理回路31dは、撮像素子31cで生成された画像データから高輝度部分を抽出することにより、前記発光部からの光を検出する。そして、画像処理回路31dは、検出した光に基づいてコントローラ30の向きを示すデータを算出し、該データを通信部32へ出力する。
【0028】
通信部32は、マイクロコンピュータ(Micro Computer:マイコン)32a、メモリ32b、無線モジュール32c、及びアンテナ32dを有している。この通信部32は、マイコン32aが無線モジュール32cの動作を制御することによって、所定のデータをアンテナ32dから外部に対して無線送信するものであり、送信処理の際にメモリ32bはデータの記録領域として使用される。また、アンテナ32dから無線送信されたデータは、ゲーム装置1が備える受信ユニット15(図1参照)において受信可能になっている。
【0029】
操作部33は、十字キー及び各種のボタンスイッチを有しており、これらは、コントローラ30を把持したプレイヤの手によって操作可能になっている。そして、プレイヤにより操作部33が操作されると、何れのキー又はスイッチが操作されたかを示す操作信号が、通信部32によってゲーム装置1へ送信されるようになっている。また、加速度センサ34は、コントローラ7に対して設定された直交3軸方向(上下方向、左右方向、及び前後方向)についての加速度を検出するものであり、検出された加速度を示す信号は、通信部32によってゲーム装置1へ送信される。
【0030】
バイブレータ35は、例えば偏芯質量を有する振動モータ又はソレノイド等を備えており、その作動によってコントローラ30自身に振動を発生させることができる。該バイブレータ35を適宜作動させることにより、コントローラ30を把持するプレイヤの手に振動を体感させることができ、いわゆる振動対応ゲームが実現できる。
【0031】
なお、上述したコントローラ30の向きを示すデータ、操作信号、及び加速度を示す信号等は、通信部32から無線送信されるに先だって一時的にメモリ32bに格納される。マイコン32aは、無線モジュール32cを制御して、このメモリ32bに格納されているデータを所定周波数の搬送波にのせ、所定の短い周期で、アンテナ32dから送信するようになっている。
【0032】
[ゲーム内容の説明]
上記のゲーム装置1がゲームプログラム24を実行することによりプレイすることのできるゲームの一例を説明する。図3は、本ゲームにおいて設定されている仮想ゲーム空間と、これをモニタ20に表示する際の画像とを示す模式図である。図3に示すように、本ゲームでは地上又は水中を表現する三次元の仮想ゲーム空間41が設定されており(図3では地上の場合のみ示している)、この仮想ゲーム空間41には、人型のプレイヤキャラクタとモンスターを模した敵キャラクタとが登場する(図示せず)。このうちプレイヤキャラクタは、プレイヤがコントローラ30を操作することにより、その動作を直接的に制御することのできるキャラクタである。一方、敵キャラクタC2及び味方キャラクタC3は、いわゆるノンプレイヤキャラクタであり、プレイヤはその動作を直接的には制御することができず、ゲーム装置1のCPU3によって動作が制御されるキャラクタである。そして、本実施の形態に係るゲームは、プレイヤの操作によってプレイヤキャラクタを仮想ゲーム空間41内で行動させ、次々と出現する敵キャラクタと戦闘を行い、これを討伐することで所定のミッションを遂行することを目的とするアクションゲームになっている。
【0033】
また、このようなゲームをプレイするにあたり、ゲーム装置1はモニタ20に仮想ゲーム空間を示す画像Pを表示する。図3に示すように、この画像Pは、仮想ゲーム空間41内に設けた仮想カメラ42によって該仮想ゲーム空間41を撮影したときの画像となっている。そして、プレイヤによるコントローラ30の操作によって、後述するように仮想カメラ42の配置を変更可能になっている。例えば、仮想ゲーム空間41内において、図3の矢印A1に示すように、水平面内の任意の方向へ向きを変更することができ、矢印A2に示すように上下方向の向きを変更することができ、矢印A3に示すように上下方向の高さ位置を変更することができる。また、上記のように仮想カメラ42の配置が変更された場合には、変更された状態の仮想カメラ42によって撮影された画像Pが、モニタ20に表示される。
【0034】
更に、本実施の形態に係る仮想ゲーム空間41内には、太陽などの仮想光源43が設定されている。そして、仮想ゲーム空間41を示す画像Pは、仮想ゲーム空間41が仮想光源43に照らされたときに生じる視覚的な効果を表現するように構成されている。より具体的に説明すると、現実の野外空間において太陽が天頂(観察者の直上)に位置する場合、太陽からの直射日光や、上空に浮遊する塵による太陽光の乱反射などの影響によって、観察者の視界はその上部がやや白色化して知覚される。また、観察者が視点を上方へ向けるに従って白色化して知覚される範囲は下方へと広がり、逆に視点を下方へ向けるに従って白色化して知覚される範囲は上方へ狭まっていく。
【0035】
また、例えば観察者が水中に位置している場合にも、太陽光による視覚的な効果が生じる。即ち、上方から降り注ぐ太陽光や、水中での乱反射などの影響によって、観察者の視界はその上部がやや白色化して知覚され、正面方向の周囲は青色化して知覚され、下部は黒色化して知覚される。そして、観察者が視点を上方へ向けるに従って、白色化して知覚される範囲が下方へ広がると共に、青色化して知覚される範囲及び黒色化して知覚される範囲は下方へと狭まっていく。逆に、観察者が視点を下方へ向けるに従って、白色化して知覚される範囲は上方へ狭まり、青色化して知覚される範囲及び黒色化して知覚される範囲は上方へと広がっていく。
【0036】
そこで本実施の形態では、このような光源からの光による視覚的な効果を表現するべく、光源を特定しない状態(例えば、上記の地上の例でいう「光源による白色化」を考慮しない状態)の仮想ゲーム空間41を示す仮想空間素材画像P1と、光源43からの光による視覚的な効果(上記の地上の例でいう「白色化」)を示すフィルタ画像P2とを合成することにより、仮想ゲーム空間41を示す画像P(以下、「仮想空間合成画像P」と称する)を構成している。そして、仮想カメラ42の配置(位置,向き)に基づいて、フィルタ画像P2の内容を変更させるようにしている。なお、このような仮想空間合成画像Pの生成については後に詳述する。
【0037】
[制御部の機能的構成]
上述したような仮想空間合成画像Pは、ゲーム装置1が備える制御部8によって生成される。そこで、次に、仮想空間合成画像Pの生成に関連する機能を含む制御部8の機能について説明する。
【0038】
図4は、ゲーム装置1が備える制御部8の機能的な構成を示すブロック図である。図4に示すように、制御部8はキャラクタ制御手段51及びゲーム進行制御手段52を備え、更に、仮想カメラ制御手段53、素材画像生成手段54、フィルタ画像生成手段55、及び合成画像生成手段56を備えている。このうちキャラクタ制御手段51は、プレイヤによるコントローラ30の操作に応じて、仮想ゲーム空間41内で行動するプレイヤキャラクタの動作を制御し、また、ゲームプログラム24から読み出したデータに基づき、仮想ゲーム空間41内で行動する敵キャラクタの動作を制御する。ゲーム進行制御手段52は、プレイヤによるコントローラ30の操作等に応じてゲームを進行させる。
【0039】
仮想カメラ制御手段53は、プレイヤによるコントローラ30の操作に応じて、又は、ゲームの進行状況に応じて、仮想カメラ42の配置を変更するものである。図5は、仮想カメラ42の配置変更を説明するための模式図である。この図5に示すように、本ゲームでは仮想カメラ42の水平方向の向き(図3の矢印A1も参照)を変更可能であり、本実施の形態では仮想カメラ42を中心とする平面視で360度任意の方向へ向けることができる。即ち、仮想ゲーム空間41内に適宜設定された水平方向の基準である基準水平方向D1と、仮想カメラ42の水平方向の向きとの間の角度(仮想カメラ42を中心とする時計回り方向の角度)をa1とした場合、角度a1は、0〜360度の範囲の任意の値をとることができる。なお、本実施の形態では、基準水平方向D1をZ軸方向とし、水平面内でZ軸方向に直交する方向をX軸方向、Z軸方向及びX方向の両方に直交する高さ方向をY軸方向とする(図3も参照)。
【0040】
また、仮想カメラ42は上下方向の向き(図3の矢印A2も参照)を変更可能であり、本実施の形態では、側面視で、仮想カメラ42を中心とする所定の角度範囲内の任意の方向へ向けることができる。即ち、仮想カメラ42の向いている方向の水平方向前方に対する角度をa2とした場合、上方へは+90度までの所定角度まで向けることができ、下方へは−90度までの所定角度まで向けることができる。また、仮想カメラ42は上下方向の高さ位置a3を変更可能であり、本実施の形態では、所定の高さ(初期高さ)を基準としたときの高さ位置a3が、所定の上限値及び下限値の間で変更可能になっている。このように、仮想カメラ制御手段53はプレイヤによるコントローラ30の操作等に応じて、仮想カメラ42の水平方向の角度a1、上下方向の角度a2、及び上下方向の高さ位置a3を変更可能になっている。
【0041】
*フィルタ画像の基準合成色情報*
制御部8が有する、素材画像生成手段54は、前述した仮想空間素材画像P1を生成するものであり、フィルタ画像生成手段55はフィルタ画像P2を生成するものであり、合成画像生成手段56は、上記仮想空間素材画像P1とフィルタ画像P2とを合成して仮想空間合成画像Pを生成するものである。
【0042】
図6は、仮想空間合成画像Pの生成を説明するための模式図である。この図6に示すように、素材画像生成手段54により生成される仮想空間素材画像P1は、光源を特定しない状態(光源43による白色化等を考慮しない状態)の仮想ゲーム空間41を示す画像であり、例えば地上の場合であれば、地面、山や岩、海面、空、雲などが描画された背景画像となっている。一方、フィルタ画像生成手段55が生成するフィルタ画像P2は、光源43からの光による視覚的な効果(例えば白色化)を示す画像であり、例えば図6のように地上の場合であれば、上端から下端へ向かうに従って白色から無色透明になるグラデーション画像となっている。なお、これらの仮想空間素材画像P1とフィルタ画像P2とは、アスペクト比及び画素数が互いに同一の長方形状の画像になっている。また、図示の都合、及び理解のしやすさの観点から、図6では白色を黒色で代替して示している。
【0043】
ここで、フィルタ画像生成手段55が生成するフィルタ画像P2について更に詳述する。図7は、フィルタ画像P2を説明するための図面であり、(a)はフィルタ画像に設定された基準画素を、(b)は仮想カメラ42の水平方向の向きを、(c)は仮想カメラ42の水平方向の向きに関連づけられて予め設定された各基準画素の色情報を、それぞれ示している。端的に言えば、フィルタ画像生成手段55は、所定の境界線で仕切られる上側領域H1と下側領域H2との夫々にて形成したグラデーション画像によりフィルタ画像P2を生成する一方、仮想カメラ42の上下方向に関する配置の変化に応じて、前記境界線の上下位置を変化させるものである。
端的に言えば、フィルタ画像生成手段55は、仮想空間素材画像P1を所定の境界線により上下の領域(領域H1,H2)に仕切り、これら各領域の四隅に位置する画素に設定された合成色情報に基づき、各領域に対応するグラデーション画像を形成してフィルタ画像を生成する。また、仮想カメラ42の上下方向に関する配置の変化に応じて、境界線の上下位置を変化させるよう構成されている。
【0044】
より具体的に説明すると、まず、図7(a)に示すように、フィルタ画像P2には6つの基準画素が設定されている。即ち、左上の頂点に位置する基準画素L1、左下の頂点に位置する基準画素L2、左端において上記基準画素L1,L2の中間付近に位置する基準画素L3が設定され、また、右上の頂点に位置する基準画素R1、右下の頂点に位置する基準画素R2、右端において上記基準画素R1,R2の中間付近に位置する基準画素R3が設定されている。この左右の基準画素L3,R3が、上述した領域H1,H2を仕切る境界線を成している。
【0045】
換言すれば、フィルタ画像P2は、基準画素L1,L2,R1,R2を四隅の点とする長方形状であり、中央付近の左右に基準画素L3,R3が設定されている。そしてフィルタ画像P2は、基準画素L3,R3を結ぶ線分(仮想の境界線であり、フィルタ画像P2には表示されない)により、上側の領域H1(基準画素L1,R1,L3,R3を四隅とする領域)と、下側の領域H2(基準画素L2,R2,L3,R3を四隅とする領域)とに仕切られている。また、本実施の形態においては、基準画素L1,R1を結ぶ線分、基準画素L2,R2を結ぶ線分、及び基準画素L3,R3を結ぶ線分(境界線)は、何れも互いに平行になっている。
【0046】
なお、上述したように仮想空間素材画像P1とフィルタ画像P2とは、アスペクト比及び画素数が互いに同一である。従って、フィルタ画像P2の四隅に位置する基準画素L1,L2,R1,R2は、仮想空間素材画像P1における四隅の画素に夫々対応しており、基準画素P3,R3は、仮想空間素材画像P1の左右端における上下方向の中間付近の画素に対応したものとなっている。
【0047】
これらの基準画素L1〜L3,R1〜R3には、仮想カメラ42の水平方向の所定の向き(角度a1)に関連づけられて、予め色情報(基準合成色情報)Cが設定されている。基準合成色情報Cが関連づけられる仮想カメラ42の所定の向きとしては、図7(b)に示すように6つの基準方向D1〜D6が設定されている。このうち基準方向D1は既に説明した基準水平方向D1であり、残りの基準方向D2〜D6は、水平方向の角度a1が45度,135度,180度,225度,315度となる方向として設定されている。なお、本実施の形態では説明の便宜のため、基準水平方向D1は仮想カメラ42が光源43を正面に見たときの水平方向としている。
【0048】
そして、図7(c)に示すように、仮想カメラ42の基準方向D1に関連づけられて、基準画素L1〜L3,R1〜R3の夫々には、固有の基準合成色情報CL11,CL21,CL31,CR11,CR21,CR31が設定されている。同様にして、他の基準方向D2〜D6に対しても、基準画素L1〜L3,R1〜R3の夫々には固有の基準合成色情報Cが関連づけられて設定されている。この基準合成色情報Cは、後述するようにしてフィルタ画像P2の生成に用いるものであり、各基準画素の彩度、明度、色相、及び透明度を示す情報であって、例えばRGB値とα値とから成るRGBAにより表現されるものである。
【0049】
例えば昼間の地上を示す仮想ゲーム空間41の場合、正面向きの基準方向D1に関連づけられて、左上の基準画素L1には白色を示す基準合成色情報CL11が設定され、左下の基準画素L2には無色透明を示す基準合成色情報CL21が設定され、これらの中間の基準画素L3については、基準画素L1,L2の中間色(半透明の白色)を示す基準合成色情報CL31が設定されている。また、右側の基準画素R1〜R3についても、上記左側の基準画素L1〜L3と同じ値を有する基準合成色情報CR11,CR21,CR31が、基準方向D1に関連づけられて設定されている。
【0050】
基準方向D1の右に位置する基準方向D2については、上記基準方向D1に関連づけられた基準合成色情報Cよりも全体的に明度が低く設定され、更に、光源43に近い方の基準画素L1〜L3よりも遠い方の基準画素R1〜R3の方が、明度が低く設定されている。その後方に位置する基準方向D3の基準合成色情報Cについては、更に全体的に明度が低く設定され、且つ、光源43に近い方の基準画素L1〜L3よりも遠い方の基準画素R1〜R3の方が、明度が低く設定されている。基準方向D1の左に位置する基準方向D6、及びその後方に位置する基準方向D5についても、左右の関係が逆なだけで、その他は上記基準方向D2,D3の場合と同様である。そして、基準方向D1と正反対の後方向きである基準方向D4については、左側の基準画素L1〜L3と右側の基準画素R1〜R3とで同一の基準合成色情報Cが設定されており、且つ、その明度は他の基準方向D1〜D3,D5,D6の場合に比べて最も低く設定されている。
【0051】
このような基準合成色情報Cは、仮想ゲーム空間41の環境(地上、水中、空中、早朝、昼間、夕方、夜中、及び、光源43の数、位置など)に応じて、複数種類が光ディスク23に記録されており、制御部8によって適宜読み出される。
【0052】
一方、上記基準方向D1〜D6以外の方向へ仮想カメラ42が向いている場合は、基準方向D1〜D6のうち、仮想カメラ42の方向を挟んで近接する2つの基準方向に関連づけられた基準合成色情報Cに基づいて、各基準画素L1〜L3,R1〜R3についての基準合成色情報Cを取得する。例えば、仮想カメラ42の水平方向の向きを示す角度a1が30度であった場合、仮想カメラ42は、基準方向D1,D2の間に向けられていることとなる。この場合、フィルタ画像P2(a1=30度)の基準画素L1の基準合成色情報Cは、基準方向D1,D2に関連づけられた基準画素L1の基準合成色情報CL11,CL12(図7(c)参照)に基づいて算出する。具体的には、基準方向D1(a1=0度)から基準方向D2(a1=45度)まで、基準合成色情報の数値をCL11からCL12へと直線的に変化させていった場合に、仮想カメラ42が向けられた方向(a1=30度)に対応する基準合成色情報Cを取得する。
【0053】
より一般的に言えば、仮想カメラ42が基準方向D1,D2間を向いている場合に、基準方向D1と仮想カメラ42の向きとの間の角度をx、仮想カメラの向きと基準方向D2との間の角度をyとすると、このときの基準画素L1の基準合成色情報Cxyは、
【0054】
【数1】

【0055】
と表される式(1)によって算出することができる。また、その他の基準画素L2,L3,R1〜R3についても同様にして算出できる。更に、仮想カメラ42の向きが他の基準方向の間を向いている場合も、同様の考え方から、その向きに対応する基準合成色情報Cを算出することができる。
【0056】
*中間の基準画素位置の変位*
ところで、基準画素L1〜L3,R1〜R3のうち、中間に位置する基準画素L3,R3は、仮想カメラ42の上下方向の向き(角度a2)に応じて、上下方向の位置が変更されるようになっている。図8は、仮想カメラ42の上下方向の向きと中間の基準画素L3,R3の上下位置との関係を説明するためのグラフである。なお、このグラフ中の縦軸は仮想カメラ42の上下方向の向き(角度a2)を示しており、原点(a2=0)は仮想カメラ42が仮想ゲーム空間41にて水平方向を向いている状態、原点より上方(a2>0)は仮想カメラ42が上方を向いている状態、原点より下方(a2<0)は仮想カメラ42が下方を向いている状態を夫々意味している。また、グラフ中の横軸は基準画素L3,R3の位置を示しており、原点は、フィルタ画像P2の上下方向中央付近に設定された初期位置を示し、原点から軸に沿って右へ行くほど、フィルタ画像P2では上側の基準画素L1,R1に接近し、原点から軸に沿って左へ行くほど、フィルタ画像P2では下側の基準画素L2,R2に接近することを意味している。
【0057】
この図8に示すように、仮想カメラ42が水平方向に向けられているとき(角度a2=0のとき)は、基準画素L3,R3は上下方向の中央付近の初期位置に設定される。そして、仮想カメラ42が上方(a2>0)へ向けられるに従って、基準画素L3,R3は下降して下側の基準画素L2,R2に接近し、上側の領域H1は広く、下側の領域H2は狭くなっていく。逆に、仮想カメラ42が下方(a2<0)へ向けられるに従って、基準画素L3,R3は上昇して上側の基準画素L1,R1に接近し、上側の領域H1は狭く、下側の領域H2は広くなっていく。
【0058】
なお、図8に示すように本実施の形態では、仮想カメラ42の上下方向の向きの変位量(角度a2の変位量)と、基準画素L3,R3の上下方向位置の変位量とは、直線的な反比例の関係を有するように設定されている。また、基準画素L3,R3の変位可能な範囲の上限は上側の基準画素L1,R1とし、下限は下側の基準画素L2,R2としている。また、基準画素L3,R3の上限位置には仮想カメラ42の上下方向の向きの下限(a2=min)が対応し、基準画素L3,R3の下限位置には仮想カメラ42の上下方向の向きの上限(a2=max)が対応している。即ち、仮想カメラ42を上方へ向けていくと基準画素L3,R3は下方へ移動し、仮想カメラ42が上限の向きに達した時点で基準画素L3,R3は下限である基準画素L2,R2の位置に到達する。逆に、仮想カメラ42を下方へ向けていくと基準画素L3,R3は上方へ移動し、仮想カメラ42が下限の向きに達した時点で基準画素L3,R3は上限である基準画素L1,R1の位置に到達する。
【0059】
*フィルタ画像の取得*
ここで、図4に示すように本ゲーム装置1のフィルタ画像生成手段55は、基準合成色情報取得手段55aと、中間画素位置変更手段55bと、フィルタ画像取得手段55cとを有している。このうち基準合成色情報取得手段55aは、基準画素L1〜L3,R1〜R3についての基準合成色情報Cを、上述したように仮想カメラ42の水平方向の向き(角度a1)に基づいて取得するものである。また、中間画素位置変更手段55bは、中間の基準画素L3,R3の位置を、上述したように仮想カメラ42の上下方向の向き(角度a2)に基づいて取得するものである。そしてフィルタ画像取得手段55cは、取得した基準合成色情報Cと基準画素L3,R3の位置とに基づき、フィルタ画像P2を取得するものである。
【0060】
図9は、フィルタ画像P2の例を示す模式図であり、(a)は仮想カメラ42が水平方向に向けられているとき、(b)は水平方向より上方へ向けられているとき、(c)は水平方向より下方へ向けられているとき、の夫々のフィルタ画像P2を示している。なお、図9では、昼間の地上を表す仮想ゲーム空間41を撮影したときの仮想空間合成画像Pを生成する際のフィルタ画像P2を例示しており、光源43に照らされている状態を表現するために、上端から下端に向かうに従って、白色から無色透明へと緩やかに変化するグラデーションを成す画像としている。但し、図示の都合、及び理解のしやすさの観点から、図9では白色を黒色で代替して示している。
【0061】
図9(a)に示すように、仮想カメラ42が水平方向(a2=0)に向けられている場合、基準画素L3,R3は上下方向の中央付近の初期位置に設定され、上下の領域H1,H2は略同一の面積を有している。そしてフィルタ画像取得手段55cにより、上側の領域H1と下側の領域H2とについて、夫々別個にグラデーション画像が形成される。
【0062】
具体的に説明すると、上側の領域H1については、この領域H1内の各画素(基準画素L1,R1,L3,R3を除く)の合成色情報を、基準画素L1,R1,L3,R3の夫々の間でグラデーションを成すように設定(算出)する。例えば、領域H1における上端の基準画素L1,R1に白色を示す基準合成色情報Cが設定され、下端の基準画素L3,R3に半透明白色を示す基準合成色情報Cが設定されているとする。この場合、上端から下端へ向かうに従って、白色から半透明白色へ緩やかに変化するグラデーションとなるように、各画素の合成色情報が設定される。これにより、領域H1について、基準画素L1,R1,L3,R3に基づきグラデーション画像が形成される。
【0063】
下側の領域H2についても同様に、この領域H2内の各画素(基準画素L2,R2,L3,R3を除く)の合成色情報を、基準画素L2,R2,L3,R3の夫々の間でグラデーションを成すように設定(算出)する。例えば、領域H2における上端の基準画素L3,R3に半透明白色を示す基準合成色情報Cが設定され、下端の基準画素L2,R2に無色透明を示す基準合成色情報Cが設定されていたとする。この場合、上端から下端へ向かうに従って、半透明白色から無色透明へ緩やかに変化するグラデーションとなるように、各画素の合成色情報が設定される。これにより、領域H2について、基準画素L2,R2,L3,R3に基づきグラデーション画像が形成される。そして、このようにして形成した領域H1,H2での各グラデーション画像により、1つのフィルタ画像P2が取得される。
【0064】
図9(b)に示すように、仮想カメラ42が水平方向より上方(a2>0)へ向けられている場合も、上記と同様にして領域H1,H2の夫々について個別にグラデーション画像が形成され、これらを合わせることで1つのフィルタ画像P2が取得される。但し、この場合は、中間の基準画素L3,R3の位置が中央付近の初期位置よりも下方に設定されるため、上側の領域H1が下側の領域H2よりも広くなっている。そのため、上記で例示したような昼間の仮想ゲーム空間41の場合には、白色化した領域が図9(a)の場合よりも下方へ広がったフィルタ画像P2となる。
【0065】
図9(c)に示すように、仮想カメラ42が水平方向より下方(a2<0)へ向けられている場合も、上記と同様にして領域H1,H2の夫々について個別にグラデーション画像が形成され、これらを合わせることで1つのフィルタ画像P2が取得される。但し、この場合は、中間の基準画素L3,R3の位置が中央付近の初期位置よりも上方に設定されるため、上側の領域H1が下側の領域H2よりも狭くなっている。そのため、上記で例示したような昼間の仮想ゲーム空間41の場合には、白色化した領域が図9(a)の場合よりも上方へ狭まったフィルタ画像P2となる。
【0066】
このように、フィルタ画像P2は、仮想カメラ42の水平方向の向き(角度a1)、及び上下方向の向き(角度a2)に応じて、異なった画像となるようになっている。
【0067】
[フレーム画像生成処理]
次に、仮想空間素材画像P1とフィルタ画像P2とを合成して仮想空間合成画像Pを取得し、これにその他の処理を施してフレーム画像を生成する処理について説明する。図10は、フレーム画像を生成する処理を示すフローチャートであり、(a)は全体の流れを示し、(b)は仮想空間素材画像P1とフィルタ画像P2とを合成する処理の流れを示している。ここに示された処理は、1フレーム画像を生成する毎に制御部8により実行され、本実施の形態に係るゲーム装置1では1/60[秒]単位で実行される。
【0068】
図10(a)に示すように、まず、仮想ゲーム空間41を構成する山や海などの背景画像や各キャラクタなど、不透明色で表現されるオブジェクトを描画するためのデータを取得するべく、ソリッド処理(ステップS1)を実行する。次に、仮想ゲーム空間41に存在する木の葉などの平面的なオブジェクトの状態を示す描画データを取得するための、いわゆる「ヌキ処理」(ステップS2)を実行する。また、仮想ゲーム空間41を構成する透明なオブジェクトについての描画データを取得するトランスペアレンシー処理(ステップS3)、及び、戦闘シーンでの爆風や火花等の粒子状のもの(パーティクル等)の描画データを取得するエフェクト処理(ステップS4)を実行する。
【0069】
続いて、フィルタ処理(ステップS5)が実行される。このフィルタ処理では、上記ステップS1〜S4により得られた描画データ、即ち、本実施の形態に係る仮想空間素材画像P1に対してフィルタ画像P2を合成する処理が実行される。即ち、図10(b)に示すように、仮想カメラ42の水平方向の向き(角度a1)から基準合成色情報Cを取得し(ステップS51)、仮想カメラ42の上下方向の向き(角度a2)から基準画素L3,R3の位置を設定し(ステップS52)、これら基準合成色情報C及び基準画素L3,R3の位置に基づいてフィルタ画像P2を生成する(ステップS53)。そして、このフィルタ画像P2を仮想空間素材画像P1に合成し(ステップS54)、仮想空間合成画像Pを生成する。
【0070】
また、ステップS5のフィルタ処理では、上記のような合成処理の他、必要に応じて仮想ゲーム空間41をよりリアルに表現するために、「もや」などを示すフィルタ画像を生成し、これを仮想空間合成画像Pに合成する処理も実行する。そして、プレイヤキャラクタの体力値や体力ゲージなど、他のオブジェクトに対して最も仮想カメラ42に近い位置に表示する二次元の描画データを取得するスクリーン処理(ステップS6)を実行する。このようにして取得される描画データは、逐次ゲーム装置1のフレームバッファに書き込まれ、GPU4によって所定のタイミングでモニタ20に描画(表示)される。
【0071】
(実施例1)
図11は、仮想ゲーム空間41が昼間の地上である場合において、仮想カメラ42の向きを上下方向に変化させたときの仮想空間合成画像Pを示す模式図である。また、図11において、(a)は仮想カメラ42が水平方向に向けられているとき、(b)は水平方向より上方へ向けられているとき、(c)は水平方向より下方へ向けられているとき、の夫々の仮想空間合成画像Pを示しており、フィルタ画像P2も合わせて示している。なお、(a)〜(c)に示したフィルタ画像P2は、図9(a)〜(c)に示したものと同じである。
【0072】
図11(a)に示すように、仮想カメラ42が水平方向(a2=0)に向けられている場合、仮想空間合成画像Pは、地平線(又は水平線)が上下方向の略中央付近に位置する画像となっている。そしてこの画像Pには、上端から下端へ向かうに従って白色から無色透明へ緩やかに変化するグラデーションを成すフィルタ画像P2が合成されている。その結果、仮想空間合成画像Pは、上空の仮想光源43(太陽)に近い上部の背景画像が白色化し、下方へ向かうに従って背景の白色化の傾向が少なく(白色が薄く)なっていく画像となっている。これにより、現実空間において、太陽からの直射日光や、上空に浮遊する塵による太陽光の乱反射などの影響により、観察者の視界の上部がやや白色化して知覚される状態を表現している。
【0073】
図11(b)に示すように仮想カメラ42が水平方向より上方(a2>0)へ向けられている場合、仮想空間合成画像Pは、地平線(又は水平線)が下方に位置して、上部の広い領域が空中を表示する画像となっている。そしてこの画像Pには、上部の白色化した領域H1が図11(a)の場合よりも下方へ広がったフィルタ画像P2が合成されている。その結果、仮想空間合成画像Pは、上空の仮想光源43(太陽)に近いより広い上部領域の背景画像が、白色化した画像となっている。これにより、現実空間において観察者が上方を見上げたときに、視界上部のより広い範囲が白色化して知覚される状態を表現している。
【0074】
図11(c)に示すように仮想カメラ42が水平方向より下方(a2<0)へ向けられている場合、仮想空間合成画像Pは、地平線(又は水平線)が上方に位置して、上部の空中を表示する領域が狭い画像となっている。そしてこの画像Pには、上部の白色化した領域H1が図11(a)の場合よりも上方へ狭まったフィルタ画像P2が合成されている。その結果、仮想空間合成画像Pは、上部の狭い領域の背景画像が白色化し、下部の広い領域の背景画像は白色化の傾向が少ない(白色が薄い)画像となっている。これにより、現実空間において観察者が下方を見下ろしたときに、視界上部の狭い範囲だけが白色化して知覚される状態を表現している。
【0075】
(実施例2)
上述したゲーム装置1においては、仮想カメラ42の上下方向の向き(角度a2)に応じて基準画素L3,R3の上下位置を変更する構成を説明したが、仮想カメラ42は上下方向の高さ位置a3も変更可能である(図5参照)。そして、この高さ位置a3に応じて基準画素L3,R3の上下位置を変更するようにしてもよい。そこで以下では、仮想ゲーム空間41が水中である場合を例として、仮想カメラ42の高さ位置a3を変更したときの仮想空間合成画像Pについて説明する。なお、ここでは、既に説明した態様と相違する部分についてのみ説明し、その他については上述した態様と同様であるため説明を省略する。
【0076】
図12は、仮想カメラ42の高さ位置と中間の基準画素L3,R3の上下位置との関係を説明するためのグラフである。なお、このグラフ中の縦軸は仮想カメラ42の高さ位置a3を示しており、原点(a3=0)は、仮想カメラ42が水中の仮想ゲーム空間41にて所定の高さ(初期高さ)に位置している状態、原点より上方(a3>0)は仮想カメラ42が初期高さより上方に位置している状態、原点より下方(a3<0)は仮想カメラ42が初期高さより下方に位置している状態を夫々意味している。また、グラフ中の横軸は基準画素L3,R3の位置を示しており、図8に示したグラフの横軸と同じ設定としている。
【0077】
この図12に示すように、仮想カメラ42が初期高さに位置しているとき(a3=0)は、基準画素L3,R3は上下方向の中央付近の初期位置に設定される。そして、仮想カメラ42が上方(a3>0)へ移動するに従って、基準画素L3,R3は下降して下側の基準画素L2,R2に接近し、上側の領域H1は広く、下側の領域H2は狭くなっていく。逆に、仮想カメラ42が下方(a3<0)へ移動するに従って、基準画素L3,R3は上昇して上側の基準画素L1,R1に接近し、上側の領域H1は狭く、下側の領域H2は広くなっていく。
【0078】
なお、図12に示すように本実施例2では、仮想カメラ42の高さ位置a3の変位量と、基準画素L3,R3の上下方向位置の変位量とは、直線的な反比例の関係を有するように設定されている。また、基準画素L3,R3の変位可能な範囲の上限は上側の基準画素L1,R1とし、下限は下側の基準画素L2,R2としている。また、基準画素L3,R3の上限位置には仮想カメラ42の高さ位置の下限(a3=min)が対応し、基準画素L3,R3の下限位置には仮想カメラ42の高さ位置の上限(a3=max)が対応している。即ち、仮想カメラ42を上方へ移動させていくと基準画素L3,R3は下方へ移動し、仮想カメラ42が上限の高さ位置に達した時点で基準画素L3,R3は下限である基準画素L2,R2の位置に到達する。逆に、仮想カメラ42を下方へ移動させていくと基準画素L3,R3は上方へ移動し、仮想カメラ42が下限の高さ位置に達した時点で基準画素L3,R3は上限である基準画素L1,R1の位置に到達する。
【0079】
また、本実施例2では、仮想ゲーム空間41が水中であることから、基準合成色情報Cはこれを考慮した内容となっている。即ち、水上に位置する光源43を正面とする基準方向D1について説明すると、左上の基準画素L1には透明度の低い白色を示す基準合成色情報CL11が設定され、左下の基準画素L2には透明度の低い黒色を示す基準合成色情報CL21が設定され、これらの中間の基準画素L3には透明度の高い青色を示す基準合成色情報CL31が設定されている。また、右側の基準画素R1〜R3についても、上記左側の基準画素L1〜L3と同じ値を有する基準合成色情報CR11,CR21,CR31が設定されている。
【0080】
従って、基準方向D1でのフィルタ画像P2は、上端が白色化し、下方の中央部分へ向かうに従って透明度の高い青色へと変化し、中央部分から更に下方へ向かうに従って青色化しつつ、下端へ近付くにつれて黒色化したグラデーション画像となっている。なお、その他の基準方向D2〜D6については、図7(c)において説明した地上のゲーム空間41の場合と同様の基準により、各基準合成色情報Cが設定されている。
【0081】
図13は、水中の仮想ゲーム空間41において、仮想カメラ42の高さ位置a3を上下方向に変化させたときの仮想空間合成画像Pを示す模式図である。また、図13において(a)は、仮想カメラ42が所定の初期高さに位置しているとき、(b)は初期高さより上方に位置しているとき、(c)は初期高さより下方に位置しているとき、の夫々の仮想空間合成画像Pを示しており、フィルタ画像P2も合わせて示している。
【0082】
図13(a)に示すように、仮想カメラ42が初期高さ(a3=0)に位置している場合、仮想空間合成画像Pは、上方の水面61と下方の水底62との何れからも比較的離れて水中60に位置する画像となっている。そしてこの画像Pには、上端から下端へ向かうに従って、白色、透明度の高い青色、青色、黒色と緩やかに変化するグラデーションを成すフィルタ画像P2が合成されている。その結果、仮想空間合成画像Pは、水面61に近い上部の背景画像が白色化し、下方へ向かうに従って背景の白色化の傾向が少なく(白色が薄く)なって僅かに青みを帯びていき、中央付近のやや下部の背景画像は青みがかり、水底62近傍の下部の背景画像は黒っぽくなった画像となっている。これにより、現実に水中の観察者が見たときの情景をリアルに表現している。
【0083】
図13(b)に示すように、仮想カメラ42が初期高さより上方(a3>0)に位置している場合、仮想空間合成画像Pは、水面61に近付いた状態を表す画像となっている。そしてこの画像Pには、基準画素L3,R3がより下方に位置するフィルタ画像P2が合成されている。その結果、仮想空間合成画像Pは、水面61に近い上部のより広い領域の背景画像が白色化し、青みがかった領域及び黒色化した領域が下方に狭まった画像となっている。このように、仮想カメラ42の高さ位置a3に応じて異なるフィルタ画像P2を用いることにより、現実に水中の観察者が水面61の近くに位置しているときに見える情景を、よりリアルに表現している。
【0084】
図13(c)に示すように、仮想カメラ42が初期高さより下方(a3<0)に位置している場合、仮想空間合成画像Pは、水底62に近付いた状態を表す画像となっている。そしてこの画像Pには、基準画素L3,R3がより上方に位置するフィルタ画像P2が合成されている。その結果、仮想空間合成画像Pは、水底62に近い下部のより広い領域の背景画像が黒色化し、中央付近の広い領域の背景画像が青みがかり、白色化した領域が上方に狭まった画像となっている。これにより、現実に水中の観察者が水底62の近くに位置しているときに見える情景を、よりリアルに表現している。
【0085】
(変形例)
ところで、上述した説明では、仮想カメラ42の上下方向の向きを変更したときの態様と、上下方向の高さ位置を変更したときの態様とを、夫々別個に例示したが、両方の態様を同時に実現するようにしてもよい。即ち、仮想カメラ42の上下方向の向きと高さ位置とに基づいて基準画素L3,R3の位置を設定するようにしてもよい。これにより、現実に観察者が水中又は空中などで、上下方向へ移動し、視線を上下方向に変化させたときの仮想ゲーム空間41を表すよりリアルな画像を生成することができる。
【0086】
また、上下方向の向き、及び/又は、上下方向の高さ位置の変化に応じて、基準合成色情報Cの内容を変更するようにしてもよい。例えば、地上の仮想ゲーム空間41の場合、仮想カメラ42が水平方向から下方へ向きを変えるに従って、上端の基準画素L1,R1の透明度を高くするように設定してもよい。基準画素L1,R1に透明度の比較的低い白色を表す基準合成色情報Cが設定されていると、仮想カメラ42を下向きにしたときに、仮想空間合成画像Pの上部に透明度の低い白色を成す狭い帯状領域が形成され、リアリティに欠けた画像となる可能性がある。しかしながら、上記のように透明度を高く変更するように設定することにより、前記帯状領域の白色化を低減できるため、リアリティを向上させることができる。
【0087】
また、仮想カメラ42が水平方向から上方へ向きを変えるに従って、上端の基準画素L1,R1の透明度を高くするように設定してもよい。基準画素L1,R1に透明度の比較的低い白色を表す基準合成色情報Cが設定されていると、仮想カメラ42を上向きにしたときに、仮想空間合成画像Pの上部の広い領域が、透明度の低い白色で覆われてしまい、リアリティに欠けた画像となる可能性がある。しかしながら、上記のように透明度を高く変更するように設定することにより、上部の広い領域での白色化を低減できるため、リアリティを向上させることができる。
【0088】
また、上記2つの例を合わせて、仮想カメラ42が水平方向に対して上方へ向かうに従って、上端の基準画素L1,R1の合成色情報Cを透明度が高くなっていくように設定し、且つ、仮想カメラ42が水平方向に対して下方へ向かうに従って、基準画素L1,R1の合成色情報Cを透明度が高くなっていくように設定してもよい。
【0089】
なお、水中の仮想ゲーム空間41の場合も同様に、仮想カメラ42を上方又は下方へ向けるに従って、フィルタ画像P2の四隅の基準画素L1,L2,R1,R2の透明度を高くするように設定してもよい。更に、地上及び水中の何れの場合も、仮想カメラ42の高さ位置が上方又は下方へ移動するに従って、四隅の基準画素L1,L2,R1,R2の透明度を高くするように設定してもよい。
【0090】
また、本実施の形態では図8及び図12に示すように、仮想カメラ42の上下方向の向き又は高さ位置と基準画素L2,R2の位置との関係として、連続する直線的な関係を有する態様について説明したが、これに限られない。原点やその他の点を境界として、傾きの異なる直線で表される関係としてもよいし、曲線的な関係となるように設定してもよい。
【0091】
例えば、地上の仮想ゲーム空間41では、仮想カメラ42の高さ位置が地表近くに設定されている。そのため、図14に示すように、仮想カメラ42の上下方向の向きの可動範囲について、水平方向から上限(a2=max)までの角度範囲(a2>0の範囲)を、水平方向から下限(a2=min)までの角度範囲(a2<0の範囲)よりも大きく設定する場合がある。このような場合には、図14のグラフ中に実線で示すように、仮想カメラ42を水平方向より下方へ向ける場合に比べて上方へ向ける場合の方が、基準画素L3,R3の変位量の変化率が小さくなるように設定してもよい。これにより、基準画素L3,R3の上限位置(フィルタ画像P2の上端)に仮想カメラ42の上下方向の向きの下限(a2=min)を対応させ、基準画素L3,R3の下限位置(フィルタ画像P2の下端)に仮想カメラ42の上下方向の向きの上限(a2=max)を対応させることができる。
【0092】
なお、必ずしも、基準画素L3,R3の上限・下限位置に、仮想カメラ42の上下方向の向きの下限・上限を対応させることを要しない。例えば、図14のグラフ中に二点差線で示すように、仮想カメラ42の向きが原点と上限との間の角度のときに、基準画素L3,R3が下限位置(フィルタ画像P2の下端)に到達するように設定してもよい。
【0093】
また、本実施の形態では基準画素L3,R3の初期位置を、フィルタ画像P2の上下方向の中央付近としているが、例えば地上の仮想ゲーム空間41にあっては、基準画素L3,R3を結ぶ線分が、仮想空間素材画像P1に描画される地平線(又は水平線)と一致するように設定してもよい。そして、仮想カメラ42の配置変更により地平線(又は水平線)が移動した場合に、基準画素L3,R3を、これらを結ぶ線分が地平線(又は水平線)に追従して移動するように設定してもよい。このようにすることにより、フィルタ画像P2を構成する上下のグラデーション画像の境界(基準画素L3,R3を結ぶ線分)と、地平線(又は水平線)とを、互いに一致させることができる。
【0094】
また、本実施の形態では上下の基準画素L1,L2,R1,R2の間に一組の基準画素L3,R3を設定した態様について説明したが、これに限られない。例えば、基準画素L3,R3を、基準画素L3−1,R3−1と、基準画素L3−2,R3−2との二組に分けて設定してもよい。この場合は、基準画素L1,R1,L3−1,R3−1を四隅とする上部領域と、基準画素L3−1,R3−1,L3−2,R3−2を四隅とする中間領域と、基準画素L2,R2,L3−2,R3−2を四隅とする下部領域との夫々でグラデーション画像を形成し、これらを合わせたフィルタ画像P2を生成することができる。そのため、該フィルタ画像P2を仮想空間素材画像P1と合成することで、仮想光源43に光がもたらす視覚的効果をよりリアルに表現した仮想空間合成画像Pを生成することができる。また、同様にして、基準画素L3,R3を三組以上に分けるように設定してもよい。
【0095】
更に、上述した例では、仮想カメラ42の上下方向の配置変更により生じる光の視覚的効果を表現する場合について説明したが、左右方向の配置変更により生じる光の視覚的効果を表現するように設定することもできる。具体的には、上述した基準画素L3,R3に換えて、またはこれに加えて、上端の基準画素L1,R1間と、下端の基準画素L2,R2間とに、夫々新たな基準画素M1,M2を設定する。この上下の基準画素M1,M2に基準合成色情報を付与し、且つ仮想カメラ42の左右方向の向きに応じて基準画素M1,M2を左右へ移動させる。そして、基準画素L1,L2及び移動後の基準画素M1,M2を四隅とする左側領域についてグラデーション画像を生成し、基準画素R1,R2及び移動後の基準画素M1,M2を四隅とする右側領域についてグラデーション画像を生成し、これらに基づいてフィルタ画像P2を生成する。これにより、例えば仮想ゲーム空間41が、早朝や夕方のように太陽が地平線近くに位置する場合に、仮想カメラ42の左右方向の向きの変化によって生じる光の視覚的効果をリアルに表現することができる。
【0096】
上述した説明では、プレイヤの操作によってプレイヤキャラクタと敵キャラクタとが対戦するアクションゲーム用のプログラムについて説明したが、これに限られない。仮想ゲーム空間41にて、仮想カメラ42の配置を変更可能であるような他のゲームプログラムにも適用することができる。また、ゲーム以外にも、配置を変更可能な仮想カメラによって、仮想空間を撮影した画像をモニタ20に表示するようなシステムの画像処理プログラムにも適用することができる。
【0097】
また、仮想光源43が上方に位置する場合について説明したが、これに限られず、例えば赤い光を放つ溶岩が地表を流れているような仮想ゲーム空間41では、仮想光源43を下方に設定してもよい。そして、この場合のフィルタ画像P2は、仮想光源43(溶岩)からの光の影響を表現するために、下部から上部へ向かうに従って赤色から透明へと変化するグラデーション画像とすればよい。更に、例えば太陽及び溶岩のように仮想光源43を仮想ゲーム空間41の上方と下方とに2つ設定してもよい。そして、この場合のフィルタ画像P2は、夫々の仮想光源43からの光の影響を表現するように、上部及び下部の夫々から中央部へ向かってグラデーションを成すように形成すればよい。なお、グラデーション画像にて変化させる色は上述した白色、青色、及び黒色に限られず、仮想光源43からの光に照らされた仮想ゲーム空間41を表現するのに好適な、様々の色を採用することができることは言うまでもない。
【0098】
また、基準画素L3,R3の上下方向位置は、仮想カメラ42の上下方向の配置の変化に応じて変化させることについて説明したが、これに限られない。例えば、時間の経過に伴って太陽の位置が変化する場合のように、仮想光源43の上下方向位置が変化する場合には、このような仮想光源43の上下方向位置の変化に応じて基準画素L3,R3の上下方向位置を変更するようにしてもよい。
【0099】
また、上述したように、フィルタ画像P2を構成する領域H1は、少なくともその四隅に位置する計4つの画素の合成色情報を用いてグラデーション画像を生成すればよく、これら4つの画素を含む計5つ以上の画素の合成色情報を用いてグラデーション画像を生成してもよい。フィルタ画像P2を構成するもう1つの領域H2についても同様である。
【0100】
更に、フィルタ画像P2の領域H1,H2のうち、何れか一方の領域のみをグラデーション画像とし、他方の領域についてはグラデーション画像としないようにしてもよい。例えば、図7(c)に示す表において、基準方向D1での基準画素L2,L3,R2,R3の色情報CL21,CL31,CR21,CR31を全て同一値とすることで、仮想カメラ42が基準方向D1へ向けられた場合に、これらの基準画素により囲まれる領域H2を単一色の画像(即ち、彩度、明度、色相、及び透明度の何れもが変化のない画像)としてもよい。
【産業上の利用可能性】
【0101】
本発明は、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置を提供することができる。
【符号の説明】
【0102】
1 ゲーム装置(コンピュータ装置)
8 制御部
23 光ディスク(記録媒体)
24 ゲームプログラム(画像処理プログラム)
41 仮想ゲーム空間
42 仮想カメラ
43 仮想光源
53 仮想カメラ制御手段
54 素材画像生成手段
55 フィルタ画像生成手段
55a 基準合成色情報取得手段
55b 中間画素位置変更手段
55c フィルタ画像取得手段
56 合成画像生成手段
C 基準合成色情報
D1〜D6 基準方向
L1〜L3,R1〜R3 基準画素
P 仮想空間合成画像
P1 仮想空間素材画像
P2 フィルタ画像

【特許請求の範囲】
【請求項1】
仮想空間を撮影する仮想カメラの配置を制御して、該仮想カメラにより撮影された前記仮想空間を表示手段に表示させる画像処理装置のコンピュータを、
前記仮想カメラにより撮影した前記仮想空間を示す仮想空間素材画像を生成する素材画像生成手段、
仮想光源に照らされた前記仮想空間を表現すべく、前記仮想空間素材画像の領域全体に対応するフィルタ画像を生成するフィルタ画像生成手段、及び
前記仮想空間素材画像と前記フィルタ画像とを合成して仮想空間合成画像を生成する合成画像生成手段、として機能させ、
前記フィルタ画像生成手段は、
所定の境界線により上下の領域に仕切られた前記フィルタ画像であって、少なくとも1つの前記領域に関して、該領域の少なくとも四隅に位置する画素の合成色情報に基づいて該領域が少なくとも上下方向についてグラデーション画像となるような前記フィルタ画像を生成する一方、前記仮想カメラの上下方向に関する配置の変化に応じて、前記境界線の上下位置を変化させるよう構成されていることを特徴とする画像処理プログラム。
【請求項2】
前記仮想カメラの上下方向に関する配置には、該仮想カメラの上下方向の向き及び/又は高さ位置が含まれることを特徴とする請求項1に記載の画像処理プログラム。
【請求項3】
前記フィルタ画像生成手段は、前記仮想カメラの配置が相対的に上向きの場合又は高い場合には、前記境界線の位置を下方へ変更し、前記仮想カメラの配置が相対的に下向きの場合又は低い場合には、前記境界線の位置を上方へ変更することを特徴とする請求項2に記載の画像処理プログラム。
【請求項4】
前記フィルタ画像生成手段は、
前記仮想空間素材画像の左上に位置する基準画素L1、右上に位置する基準画素R1、左下に位置する基準画素L2、右下に位置する基準画素R2、前記基準画素L1,L2間に位置して前記境界線の左端に位置する基準画素L3、及び前記基準画素R1,R2間に位置して前記境界線の右端に位置する基準画素R3について、予め設定された基準値に基づいて前記合成色情報を取得する基準合成色情報取得手段
を有することを特徴とする請求項1乃至3の何れかに記載の画像処理プログラム。
【請求項5】
前記基準合成色情報取得手段は、
前記仮想カメラが前記光源に対して水平面内の所定の基準方向を向いている場合には、前記基準画素L1〜L3,R1〜R3の前記合成色情報として、該基準方向に関連づけられて予め設定された前記基準値を取得し、
前記仮想カメラが前記基準方向以外の方向を向いている場合には、近傍に位置する前記基準方向に関連づけられた前記基準値に基づいて、前記基準画素L1〜L3,R1〜R3の前記合成色情報を取得する
ことを特徴とする請求項4に記載の画像処理プログラム。
【請求項6】
前記基準画素L1〜L3,R1〜R3の前記合成色情報は、前記仮想カメラの上下方向に関する配置に応じて変更されることを特徴とする請求項4又は5に記載の画像処理プログラム。
【請求項7】
請求項1乃至6の何れかに記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項8】
請求項1乃至6の何れかに記載の画像処理プログラムを読み込んで実行するコンピュータ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2011−215737(P2011−215737A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−81522(P2010−81522)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000129149)株式会社カプコン (192)
【Fターム(参考)】