(57)【特許請求の範囲】
【請求項１】
仮想空間を撮影する仮想カメラの配置を制御して、該仮想カメラにより撮影された前記仮想空間を表示手段に表示させる画像処理装置のコンピュータを、
前記仮想カメラにより撮影した前記仮想空間を示す仮想空間素材画像を生成する素材画像生成手段、
仮想光源に照らされた前記仮想空間を表現すべく、前記仮想空間素材画像の領域全体に対応するフィルタ画像を生成するフィルタ画像生成手段、及び
前記仮想空間素材画像と前記フィルタ画像とを合成して仮想空間合成画像を生成する合成画像生成手段、として機能させ、
前記フィルタ画像生成手段は、
所定の境界線により上下の領域に仕切られた前記フィルタ画像であって、少なくとも上側の前記領域に関して、該領域の少なくとも四隅に位置する画素の合成色情報に基づいて該領域が少なくとも上下方向についてグラデーション画像となるような前記フィルタ画像を生成する一方、前記仮想カメラの上下方向に関する配置の変化に応じて、前記境界線の上下位置を変化させるよう構成され、
更に、前記上側の領域の四隅の画素のうち上側の左右２つの画素について、前記仮想カメラの向きが水平方向から上方または下方へ向かうに従い、透明度を高くするよう構成されていることを特徴とする画像処理プログラム。
【請求項２】
前記仮想カメラの上下方向に関する配置には、該仮想カメラの上下方向の向き及び／又は高さ位置が含まれることを特徴とする請求項１に記載の画像処理プログラム。
【請求項３】
前記フィルタ画像生成手段は、前記仮想カメラの配置が相対的に上向きの場合又は高い場合には、前記境界線の位置を下方へ変更し、前記仮想カメラの配置が相対的に下向きの場合又は低い場合には、前記境界線の位置を上方へ変更することを特徴とする請求項２に記載の画像処理プログラム。
【請求項４】
請求項１〜３の何れかに記載の画像処理プログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶された前記画像処理プログラムを実行するコンピュータと、を備えるゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想光源に照らされた仮想空間を仮想カメラの配置に応じた画像としてよりリアルに表現するための画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置に関する。
【背景技術】
【０００２】
近年、仮想のゲーム空間内にて、モンスター等の敵キャラクタを討伐しながらゲームを進行させるアクションゲームが市販されている。このようなゲームでは、三次元の仮想空間を仮想カメラによって撮影した画像（フレーム）を、該仮想空間を投影変換することで生成し、これをディスプレイに表示させている。また、仮想空間をよりリアルに表現するために、仮想空間内に仮想の光源を設定し、この光源からの光に起因する視覚的な効果を、仮想空間を示す画像に合成するようにしたものもある。例えば、特許文献１には、光源からの強い光（太陽光など）がレンズに入射した場合に生じるレンズフレアという現象を、仮想空間を示す画像に再現し、リアリティを向上させる思想が開示されている。
【０００３】
また、仮想空間を示す画像に対し、太陽光によって生じる視覚的効果を表すサンスクリーンフィルタを合成することで、仮想空間をよりリアルに表現する技術が知られている。このサンスクリーンフィルタは、上端から下端へ向かうに従って、白色から無色透明へと変化するグラデーション画像である。そして、仮想空間を示す画像にこのグラデーション画像を合成することにより、光源である太陽に近い上側部分が白みがかった状態を表現することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２１５９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した公知の技術を用いて生成したグラデーション画像は、仮想カメラの向きや高さの変化が加味されていないため、看者に対して不自然さを感じさせてしまう場合がある。例えば、現実の野外空間において太陽が天頂（観察者の直上）に位置する場合、太陽からの直射日光や、上空に浮遊する塵による太陽光の乱反射などの影響によって、観察者の視界はその上部がやや白色化して知覚される。また、観察者が視点を上方へ向けるに従って白色化して知覚される範囲は下方へと広がり、逆に視点を下方へ向けるに従って白色化して知覚される範囲は上方へ狭まっていく。このような、現実空間において光源からの光により生じる視覚的効果が、仮想空間を撮影した画像では十分に表現されていない。
【０００６】
そこで本発明は、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理プログラムは、仮想空間を撮影する仮想カメラの配置を制御して、該仮想カメラにより撮影された前記仮想空間を表示手段に表示させる画像処理装置のコンピュータを、前記仮想カメラにより撮影した前記仮想空間を示す仮想空間素材画像を生成する素材画像生成手段、仮想光源に照らされた前記仮想空間を表現すべく、前記仮想空間素材画像の領域全体に対応するフィルタ画像を生成するフィルタ画像生成手段、及び前記仮想空間素材画像と前記フィルタ画像とを合成して仮想空間合成画像を生成する合成画像生成手段、として機能させ、前記フィルタ画像生成手段は、所定の境界線により上下の領域に仕切られた前記フィルタ画像であって、少なくとも１つの前記領域に関して、該領域の少なくとも四隅に位置する画素の合成色情報に基づいて該領域が少なくとも上下方向についてグラデーション画像となるような前記フィルタ画像を生成する一方、前記仮想カメラの上下方向に関する配置の変化に応じて、前記境界線の上下位置を変化させるよう構成されている。
【０００８】
このような構成とすることにより、仮想カメラの上下方向に関する配置に応じて、上側領域及び下側領域の面積比を変更することができる。そのため、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することができる。
【０００９】
また、前記仮想カメラの上下方向に関する配置には、該仮想カメラの上下方向の向き及び／又は高さ位置が含まれていてもよい。
【００１０】
また、前記フィルタ画像生成手段は、前記仮想カメラの配置が相対的に上向きの場合又は高い場合には、前記境界線の位置を下方へ変更し、前記仮想カメラの配置が相対的に下向きの場合又は低い場合には、前記境界線の位置を上方へ変更するよう構成されていてもよい。
【００１１】
また、前記フィルタ画像生成手段は、前記仮想空間素材画像の左上に位置する基準画素Ｌ１、右上に位置する基準画素Ｒ１、左下に位置する基準画素Ｌ２、右下に位置する基準画素Ｒ２、前記基準画素Ｌ１，Ｌ２間に位置して前記境界線の左端に位置する基準画素Ｌ３、及び前記基準画素Ｒ１，Ｒ２間に位置して前記境界線の右端に位置する基準画素Ｒ３について、予め設定された基準値に基づいて前記合成色情報を取得する基準合成色情報取得手段を有していてもよい。
【００１２】
また、前記基準合成色情報取得手段は、前記仮想カメラが前記光源に対して水平面内の所定の基準方向を向いている場合には、前記基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３の前記合成色情報として、該基準方向に関連づけられて予め設定された基準値を取得し、前記仮想カメラが前記基準方向以外の方向を向いている場合には、近傍に位置する前記基準方向に関連づけられた前記基準値に基づいて、前記基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３の前記合成色情報を取得するよう構成されていてもよい。
【００１３】
また、前記基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３の前記合成色情報は、前記仮想カメラの上下方向に関する配置に応じて変更されるよう構成されていてもよい。
【００１４】
本発明に係る記録媒体は、上述した何れかの画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１５】
本発明に係るコンピュータ装置は、上述した何れかの画像処理プログラムを読み込んで実行するコンピュータ装置である。
【発明の効果】
【００１６】
本発明によれば、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係るゲーム装置（コンピュータ装置）の構成を示すブロック図である。
【図２】図１に示したゲーム装置とは別体を成すコントローラの構成を示すブロック図である。
【図３】本ゲームにおいて設定されている仮想ゲーム空間とこれをモニタに表示する際の画像とを示す模式図である。
【図４】ゲーム装置が備える制御部の機能的な構成を示すブロック図である。
【図５】仮想カメラの配置変更を説明するための模式図である。
【図６】仮想空間合成画像の生成を説明するための模式図である。
【図７】フィルタ画像を説明するための図面であり、（ａ）はフィルタ画像に設定された基準画素を、（ｂ）は仮想カメラの水平方向の向きを、（ｃ）は仮想カメラの水平方向の向きに関連づけられて予め設定された各基準画素の色情報を、それぞれ示している。
【図８】仮想カメラの上下方向の向きと中間の基準画素の上下位置との関係を説明するためのグラフである。
【図９】フィルタ画像の例を示す模式図であり、（ａ）は仮想カメラが水平方向に向けられているとき、（ｂ）は水平方向より上方へ向けられているとき、（ｃ）は水平方向より下方へ向けられているとき、の夫々のフィルタ画像を示している。
【図１０】フレーム画像を生成する処理を示すフローチャートであり、（ａ）は全体の流れを示し、（ｂ）は仮想空間素材画像とフィルタ画像とを合成する処理の流れを示している。
【図１１】仮想ゲーム空間が昼間の地上である場合において、仮想カメラの向きを上下方向に変化させたときの仮想空間合成画像を示す模式図である。
【図１２】仮想カメラの高さ位置と中間の基準画素の上下位置との関係を説明するためのグラフである。
【図１３】水中の仮想ゲーム空間において、仮想カメラの高さ位置を上下方向に変化させたときの仮想空間合成画像を示す模式図である。
【図１４】仮想カメラの上下方向の向きと中間の基準画素の上下位置との関係の変形例を示すグラフである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態に係る画像処理プログラム、記録媒体、及びコンピュータ装置について、図面を参照しつつ説明する。
【００１９】
［ハードウェアの構成］
図１は、本発明の実施の形態に係るゲーム装置（コンピュータ装置）の構成を示すブロック図である。ゲーム装置１は、片手で持ち運びできる程度の寸法のボックス形状を成すハウジングに収納され、図１に示すように、このゲーム装置１には制御部８が備えらており、制御部８にはＣＰＵ（Central Processing Unit）３が備えられている。制御部８において、ＣＰＵ３は、データ転送を統括的に制御するメモリコントローラ２を介して、ＧＰＵ（Graphics Processing Unit）４、メインメモリ５、及びＤＳＰ（Digital Signal Processor）６に接続されている。また、ゲーム装置１において、メモリコントローラ２には、バス９を介して、コントローラ・インタフェース（以下、「インタフェース」は「Ｉ／Ｆ」と記す）１０、ビデオＩ／Ｆ１１、外部メモリＩ／Ｆ１２、オーディオＩ／Ｆ１３、及びディスクＩ／Ｆ１４が接続されている。そして、コントローラＩ／Ｆ１０には受信ユニット１５が接続され、オーディオＩ／Ｆ１３及びディスクＩ／Ｆ１４にはディスクドライブ１６が接続されている。
【００２０】
更に、ゲーム装置１が有するビデオＩ／Ｆ１１及びオーディオＩ／Ｆ１３には、外部機器であるモニタ２０及びスピーカ２２が夫々に接続可能になっており、記録媒体としてのメモリカード２１及び光ディスク２３が、外部メモリＩ／Ｆ１２及びディスクドライブ１６に対して夫々装填可能になっている。
【００２１】
このうちＣＰＵ３は、図示しないブートＲＯＭに記録された起動プログラムを実行してメインメモリ５の初期化等を行った後、ディスクドライブ１６に装填された光ディスク２３に記録されているゲームプログラム（画像処理プログラム）２４を実行し、該ゲームプログラムの内容に応じたゲーム処理を行うものである。また、メインメモリ５は、ＣＰＵ３の動作時に使用されるデータを記録する記録領域を有し、例えば、光ディスク２３から読み出されたゲームプログラム２４や各種のデータを記録する。
【００２２】
ＧＰＵ４は、三次元グラフィックスの表示に必要な計算処理を行う半導体チップで構成されており、ＣＰＵ３からの指示に基づいて画像処理を行う。一例を挙げると、ＧＰＵ４は、メインメモリ５の一部の記録領域や図示しない画像処理専用のメモリを用い、経時的に変化する三次元の仮想ゲーム空間（仮想空間）の各フレーム画像を生成することができ、この画像は、メモリコントローラ２及びビデオＩ／Ｆ１１を介してモニタ２０に表示される。
【００２３】
ＤＳＰ６は、ＣＰＵ３がゲームプログラム２４を実行しているときに生成されるサウンドデータの処理を行うものであり、該サウンドデータを記録するためのＡＲＡＭ（Audio RAM）７が接続されている。ＤＳＰ６は、光ディスク２３から先読みしておいたサウンドデータをＡＲＡＭ７に記録しておき、適宜のタイミングでＡＲＡＭ７から読み出したサウンドデータを出力するものであり、ＤＳＰ６から出力されたサウンドデータは、メモリコントローラ２及びオーディオＩ／Ｆ１３を介してスピーカ２２から外部へ出力される。
【００２４】
一方、受信ユニット１５は、ゲーム装置１とは別体を成すコントローラ（Remote controller）３０（図２参照）から送られてきたデータを受信するものであり、受信したデータは、コントローラＩ／Ｆ１０及びメモリコントローラ２を介してＣＰＵ３へ送られる。外部メモリＩ／Ｆ１２は、メモリカード２１が装填された状態で該メモリカード２１内の記録領域にアクセス可能であり、該記録領域内のデータを読み出し、又はバックアップデータを書き込むことができる。
【００２５】
オーディオＩ／Ｆ１３に接続されたスピーカ２２は、上述したようにＤＳＰ６がＡＲＡＭ７から読み出したサウンドデータを外部へ出力する他、ディスクドライブ１６が光ディスク２３から読み出したサウンドデータを直接的に外部へ出力する。また、ディスクドライブ１６は、上述したように、装填された光ディスク２３に記録されたゲームプログラム２４を読み出し、このゲームプログラム２４をオーディオＩ／Ｆ１３又はディスクＩ／Ｆ１４へ出力する。
【００２６】
図２は、ゲーム装置１とは別体を成すコントローラ３０の構成を示すブロック図である。コントローラ３０は、例えばプラスチック成型により形成された略直方体形状を成すハウジングを有しており、片手で把持可能な寸法に設計されている。そして、図２に示すように、コントローラ３０は、撮像情報演算部３１、通信部３２、操作部３３、加速度センサ３４、及びバイブレータ３５を備えている。
【００２７】
撮像情報演算部３１は、赤外線フィルタ３１ａ、レンズ３１ｂ、撮像素子３１ｃ、及び画像処理回路３１ｄを有しており、赤外線フィルタ３１ａは、外部からの入射光のうち赤外線のみをレンズ３１ｂへ通過させる。レンズ３１ｂは、赤外線フィルタ３１ａを通過した赤外線を集光して撮像素子３１ｃへ出射する。撮像素子３１ｃは、例えばＣＭＯＳセンサのような個体撮像素子であって、レンズ３１ｂが集光した赤外線を撮像して画像データを生成する。ここで、ゲーム装置１に接続されるモニタ２０（図１参照）には、高輝度の赤外線を発光する２つの発光部（図示せず）が設けられており、画像処理回路３１ｄは、撮像素子３１ｃで生成された画像データから高輝度部分を抽出することにより、前記発光部からの光を検出する。そして、画像処理回路３１ｄは、検出した光に基づいてコントローラ３０の向きを示すデータを算出し、該データを通信部３２へ出力する。
【００２８】
通信部３２は、マイクロコンピュータ（Micro Computer：マイコン）３２ａ、メモリ３２ｂ、無線モジュール３２ｃ、及びアンテナ３２ｄを有している。この通信部３２は、マイコン３２ａが無線モジュール３２ｃの動作を制御することによって、所定のデータをアンテナ３２ｄから外部に対して無線送信するものであり、送信処理の際にメモリ３２ｂはデータの記録領域として使用される。また、アンテナ３２ｄから無線送信されたデータは、ゲーム装置１が備える受信ユニット１５（図１参照）において受信可能になっている。
【００２９】
操作部３３は、十字キー及び各種のボタンスイッチを有しており、これらは、コントローラ３０を把持したプレイヤの手によって操作可能になっている。そして、プレイヤにより操作部３３が操作されると、何れのキー又はスイッチが操作されたかを示す操作信号が、通信部３２によってゲーム装置１へ送信されるようになっている。また、加速度センサ３４は、コントローラ７に対して設定された直交３軸方向（上下方向、左右方向、及び前後方向）についての加速度を検出するものであり、検出された加速度を示す信号は、通信部３２によってゲーム装置１へ送信される。
【００３０】
バイブレータ３５は、例えば偏芯質量を有する振動モータ又はソレノイド等を備えており、その作動によってコントローラ３０自身に振動を発生させることができる。該バイブレータ３５を適宜作動させることにより、コントローラ３０を把持するプレイヤの手に振動を体感させることができ、いわゆる振動対応ゲームが実現できる。
【００３１】
なお、上述したコントローラ３０の向きを示すデータ、操作信号、及び加速度を示す信号等は、通信部３２から無線送信されるに先だって一時的にメモリ３２ｂに格納される。マイコン３２ａは、無線モジュール３２ｃを制御して、このメモリ３２ｂに格納されているデータを所定周波数の搬送波にのせ、所定の短い周期で、アンテナ３２ｄから送信するようになっている。
【００３２】
［ゲーム内容の説明］
上記のゲーム装置１がゲームプログラム２４を実行することによりプレイすることのできるゲームの一例を説明する。図３は、本ゲームにおいて設定されている仮想ゲーム空間と、これをモニタ２０に表示する際の画像とを示す模式図である。図３に示すように、本ゲームでは地上又は水中を表現する三次元の仮想ゲーム空間４１が設定されており（図３では地上の場合のみ示している）、この仮想ゲーム空間４１には、人型のプレイヤキャラクタとモンスターを模した敵キャラクタとが登場する（図示せず）。このうちプレイヤキャラクタは、プレイヤがコントローラ３０を操作することにより、その動作を直接的に制御することのできるキャラクタである。一方、敵キャラクタＣ２及び味方キャラクタＣ３は、いわゆるノンプレイヤキャラクタであり、プレイヤはその動作を直接的には制御することができず、ゲーム装置１のＣＰＵ３によって動作が制御されるキャラクタである。そして、本実施の形態に係るゲームは、プレイヤの操作によってプレイヤキャラクタを仮想ゲーム空間４１内で行動させ、次々と出現する敵キャラクタと戦闘を行い、これを討伐することで所定のミッションを遂行することを目的とするアクションゲームになっている。
【００３３】
また、このようなゲームをプレイするにあたり、ゲーム装置１はモニタ２０に仮想ゲーム空間を示す画像Ｐを表示する。図３に示すように、この画像Ｐは、仮想ゲーム空間４１内に設けた仮想カメラ４２によって該仮想ゲーム空間４１を撮影したときの画像となっている。そして、プレイヤによるコントローラ３０の操作によって、後述するように仮想カメラ４２の配置を変更可能になっている。例えば、仮想ゲーム空間４１内において、図３の矢印Ａ１に示すように、水平面内の任意の方向へ向きを変更することができ、矢印Ａ２に示すように上下方向の向きを変更することができ、矢印Ａ３に示すように上下方向の高さ位置を変更することができる。また、上記のように仮想カメラ４２の配置が変更された場合には、変更された状態の仮想カメラ４２によって撮影された画像Ｐが、モニタ２０に表示される。
【００３４】
更に、本実施の形態に係る仮想ゲーム空間４１内には、太陽などの仮想光源４３が設定されている。そして、仮想ゲーム空間４１を示す画像Ｐは、仮想ゲーム空間４１が仮想光源４３に照らされたときに生じる視覚的な効果を表現するように構成されている。より具体的に説明すると、現実の野外空間において太陽が天頂（観察者の直上）に位置する場合、太陽からの直射日光や、上空に浮遊する塵による太陽光の乱反射などの影響によって、観察者の視界はその上部がやや白色化して知覚される。また、観察者が視点を上方へ向けるに従って白色化して知覚される範囲は下方へと広がり、逆に視点を下方へ向けるに従って白色化して知覚される範囲は上方へ狭まっていく。
【００３５】
また、例えば観察者が水中に位置している場合にも、太陽光による視覚的な効果が生じる。即ち、上方から降り注ぐ太陽光や、水中での乱反射などの影響によって、観察者の視界はその上部がやや白色化して知覚され、正面方向の周囲は青色化して知覚され、下部は黒色化して知覚される。そして、観察者が視点を上方へ向けるに従って、白色化して知覚される範囲が下方へ広がると共に、青色化して知覚される範囲及び黒色化して知覚される範囲は下方へと狭まっていく。逆に、観察者が視点を下方へ向けるに従って、白色化して知覚される範囲は上方へ狭まり、青色化して知覚される範囲及び黒色化して知覚される範囲は上方へと広がっていく。
【００３６】
そこで本実施の形態では、このような光源からの光による視覚的な効果を表現するべく、光源を特定しない状態（例えば、上記の地上の例でいう「光源による白色化」を考慮しない状態）の仮想ゲーム空間４１を示す仮想空間素材画像Ｐ１と、光源４３からの光による視覚的な効果（上記の地上の例でいう「白色化」）を示すフィルタ画像Ｐ２とを合成することにより、仮想ゲーム空間４１を示す画像Ｐ（以下、「仮想空間合成画像Ｐ」と称する）を構成している。そして、仮想カメラ４２の配置（位置，向き）に基づいて、フィルタ画像Ｐ２の内容を変更させるようにしている。なお、このような仮想空間合成画像Ｐの生成については後に詳述する。
【００３７】
［制御部の機能的構成］
上述したような仮想空間合成画像Ｐは、ゲーム装置１が備える制御部８によって生成される。そこで、次に、仮想空間合成画像Ｐの生成に関連する機能を含む制御部８の機能について説明する。
【００３８】
図４は、ゲーム装置１が備える制御部８の機能的な構成を示すブロック図である。図４に示すように、制御部８はキャラクタ制御手段５１及びゲーム進行制御手段５２を備え、更に、仮想カメラ制御手段５３、素材画像生成手段５４、フィルタ画像生成手段５５、及び合成画像生成手段５６を備えている。このうちキャラクタ制御手段５１は、プレイヤによるコントローラ３０の操作に応じて、仮想ゲーム空間４１内で行動するプレイヤキャラクタの動作を制御し、また、ゲームプログラム２４から読み出したデータに基づき、仮想ゲーム空間４１内で行動する敵キャラクタの動作を制御する。ゲーム進行制御手段５２は、プレイヤによるコントローラ３０の操作等に応じてゲームを進行させる。
【００３９】
仮想カメラ制御手段５３は、プレイヤによるコントローラ３０の操作に応じて、又は、ゲームの進行状況に応じて、仮想カメラ４２の配置を変更するものである。図５は、仮想カメラ４２の配置変更を説明するための模式図である。この図５に示すように、本ゲームでは仮想カメラ４２の水平方向の向き（図３の矢印Ａ１も参照）を変更可能であり、本実施の形態では仮想カメラ４２を中心とする平面視で３６０度任意の方向へ向けることができる。即ち、仮想ゲーム空間４１内に適宜設定された水平方向の基準である基準水平方向Ｄ１と、仮想カメラ４２の水平方向の向きとの間の角度（仮想カメラ４２を中心とする時計回り方向の角度）をａ１とした場合、角度ａ１は、０〜３６０度の範囲の任意の値をとることができる。なお、本実施の形態では、基準水平方向Ｄ１をＺ軸方向とし、水平面内でＺ軸方向に直交する方向をＸ軸方向、Ｚ軸方向及びＸ方向の両方に直交する高さ方向をＹ軸方向とする（図３も参照）。
【００４０】
また、仮想カメラ４２は上下方向の向き（図３の矢印Ａ２も参照）を変更可能であり、本実施の形態では、側面視で、仮想カメラ４２を中心とする所定の角度範囲内の任意の方向へ向けることができる。即ち、仮想カメラ４２の向いている方向の水平方向前方に対する角度をａ２とした場合、上方へは＋９０度までの所定角度まで向けることができ、下方へは−９０度までの所定角度まで向けることができる。また、仮想カメラ４２は上下方向の高さ位置ａ３を変更可能であり、本実施の形態では、所定の高さ（初期高さ）を基準としたときの高さ位置ａ３が、所定の上限値及び下限値の間で変更可能になっている。このように、仮想カメラ制御手段５３はプレイヤによるコントローラ３０の操作等に応じて、仮想カメラ４２の水平方向の角度ａ１、上下方向の角度ａ２、及び上下方向の高さ位置ａ３を変更可能になっている。
【００４１】
＊フィルタ画像の基準合成色情報＊
制御部８が有する、素材画像生成手段５４は、前述した仮想空間素材画像Ｐ１を生成するものであり、フィルタ画像生成手段５５はフィルタ画像Ｐ２を生成するものであり、合成画像生成手段５６は、上記仮想空間素材画像Ｐ１とフィルタ画像Ｐ２とを合成して仮想空間合成画像Ｐを生成するものである。
【００４２】
図６は、仮想空間合成画像Ｐの生成を説明するための模式図である。この図６に示すように、素材画像生成手段５４により生成される仮想空間素材画像Ｐ１は、光源を特定しない状態（光源４３による白色化等を考慮しない状態）の仮想ゲーム空間４１を示す画像であり、例えば地上の場合であれば、地面、山や岩、海面、空、雲などが描画された背景画像となっている。一方、フィルタ画像生成手段５５が生成するフィルタ画像Ｐ２は、光源４３からの光による視覚的な効果（例えば白色化）を示す画像であり、例えば図６のように地上の場合であれば、上端から下端へ向かうに従って白色から無色透明になるグラデーション画像となっている。なお、これらの仮想空間素材画像Ｐ１とフィルタ画像Ｐ２とは、アスペクト比及び画素数が互いに同一の長方形状の画像になっている。また、図示の都合、及び理解のしやすさの観点から、図６では白色を黒色で代替して示している。
【００４３】
ここで、フィルタ画像生成手段５５が生成するフィルタ画像Ｐ２について更に詳述する。図７は、フィルタ画像Ｐ２を説明するための図面であり、（ａ）はフィルタ画像に設定された基準画素を、（ｂ）は仮想カメラ４２の水平方向の向きを、（ｃ）は仮想カメラ４２の水平方向の向きに関連づけられて予め設定された各基準画素の色情報を、それぞれ示している。端的に言えば、フィルタ画像生成手段５５は、所定の境界線で仕切られる上側領域Ｈ１と下側領域Ｈ２との夫々にて形成したグラデーション画像によりフィルタ画像Ｐ２を生成する一方、仮想カメラ４２の上下方向に関する配置の変化に応じて、前記境界線の上下位置を変化させるものである。
端的に言えば、フィルタ画像生成手段５５は、仮想空間素材画像Ｐ１を所定の境界線により上下の領域（領域Ｈ１，Ｈ２）に仕切り、これら各領域の四隅に位置する画素に設定された合成色情報に基づき、各領域に対応するグラデーション画像を形成してフィルタ画像を生成する。また、仮想カメラ４２の上下方向に関する配置の変化に応じて、境界線の上下位置を変化させるよう構成されている。
【００４４】
より具体的に説明すると、まず、図７（ａ）に示すように、フィルタ画像Ｐ２には６つの基準画素が設定されている。即ち、左上の頂点に位置する基準画素Ｌ１、左下の頂点に位置する基準画素Ｌ２、左端において上記基準画素Ｌ１，Ｌ２の中間付近に位置する基準画素Ｌ３が設定され、また、右上の頂点に位置する基準画素Ｒ１、右下の頂点に位置する基準画素Ｒ２、右端において上記基準画素Ｒ１，Ｒ２の中間付近に位置する基準画素Ｒ３が設定されている。この左右の基準画素Ｌ３，Ｒ３が、上述した領域Ｈ１，Ｈ２を仕切る境界線を成している。
【００４５】
換言すれば、フィルタ画像Ｐ２は、基準画素Ｌ１，Ｌ２，Ｒ１，Ｒ２を四隅の点とする長方形状であり、中央付近の左右に基準画素Ｌ３，Ｒ３が設定されている。そしてフィルタ画像Ｐ２は、基準画素Ｌ３，Ｒ３を結ぶ線分（仮想の境界線であり、フィルタ画像Ｐ２には表示されない）により、上側の領域Ｈ１（基準画素Ｌ１，Ｒ１，Ｌ３，Ｒ３を四隅とする領域）と、下側の領域Ｈ２（基準画素Ｌ２，Ｒ２，Ｌ３，Ｒ３を四隅とする領域）とに仕切られている。また、本実施の形態においては、基準画素Ｌ１，Ｒ１を結ぶ線分、基準画素Ｌ２，Ｒ２を結ぶ線分、及び基準画素Ｌ３，Ｒ３を結ぶ線分（境界線）は、何れも互いに平行になっている。
【００４６】
なお、上述したように仮想空間素材画像Ｐ１とフィルタ画像Ｐ２とは、アスペクト比及び画素数が互いに同一である。従って、フィルタ画像Ｐ２の四隅に位置する基準画素Ｌ１，Ｌ２，Ｒ１，Ｒ２は、仮想空間素材画像Ｐ１における四隅の画素に夫々対応しており、基準画素Ｐ３，Ｒ３は、仮想空間素材画像Ｐ１の左右端における上下方向の中間付近の画素に対応したものとなっている。
【００４７】
これらの基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３には、仮想カメラ４２の水平方向の所定の向き（角度ａ１）に関連づけられて、予め色情報（基準合成色情報）Ｃが設定されている。基準合成色情報Ｃが関連づけられる仮想カメラ４２の所定の向きとしては、図７（ｂ）に示すように６つの基準方向Ｄ１〜Ｄ６が設定されている。このうち基準方向Ｄ１は既に説明した基準水平方向Ｄ１であり、残りの基準方向Ｄ２〜Ｄ６は、水平方向の角度ａ１が４５度，１３５度，１８０度，２２５度，３１５度となる方向として設定されている。なお、本実施の形態では説明の便宜のため、基準水平方向Ｄ１は仮想カメラ４２が光源４３を正面に見たときの水平方向としている。
【００４８】
そして、図７（ｃ）に示すように、仮想カメラ４２の基準方向Ｄ１に関連づけられて、基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３の夫々には、固有の基準合成色情報ＣＬ１１，ＣＬ２１，ＣＬ３１，ＣＲ１１，ＣＲ２１，ＣＲ３１が設定されている。同様にして、他の基準方向Ｄ２〜Ｄ６に対しても、基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３の夫々には固有の基準合成色情報Ｃが関連づけられて設定されている。この基準合成色情報Ｃは、後述するようにしてフィルタ画像Ｐ２の生成に用いるものであり、各基準画素の彩度、明度、色相、及び透明度を示す情報であって、例えばＲＧＢ値とα値とから成るＲＧＢＡにより表現されるものである。
【００４９】
例えば昼間の地上を示す仮想ゲーム空間４１の場合、正面向きの基準方向Ｄ１に関連づけられて、左上の基準画素Ｌ１には白色を示す基準合成色情報ＣＬ１１が設定され、左下の基準画素Ｌ２には無色透明を示す基準合成色情報ＣＬ２１が設定され、これらの中間の基準画素Ｌ３については、基準画素Ｌ１，Ｌ２の中間色（半透明の白色）を示す基準合成色情報ＣＬ３１が設定されている。また、右側の基準画素Ｒ１〜Ｒ３についても、上記左側の基準画素Ｌ１〜Ｌ３と同じ値を有する基準合成色情報ＣＲ１１，ＣＲ２１，ＣＲ３１が、基準方向Ｄ１に関連づけられて設定されている。
【００５０】
基準方向Ｄ１の右に位置する基準方向Ｄ２については、上記基準方向Ｄ１に関連づけられた基準合成色情報Ｃよりも全体的に明度が低く設定され、更に、光源４３に近い方の基準画素Ｌ１〜Ｌ３よりも遠い方の基準画素Ｒ１〜Ｒ３の方が、明度が低く設定されている。その後方に位置する基準方向Ｄ３の基準合成色情報Ｃについては、更に全体的に明度が低く設定され、且つ、光源４３に近い方の基準画素Ｌ１〜Ｌ３よりも遠い方の基準画素Ｒ１〜Ｒ３の方が、明度が低く設定されている。基準方向Ｄ１の左に位置する基準方向Ｄ６、及びその後方に位置する基準方向Ｄ５についても、左右の関係が逆なだけで、その他は上記基準方向Ｄ２，Ｄ３の場合と同様である。そして、基準方向Ｄ１と正反対の後方向きである基準方向Ｄ４については、左側の基準画素Ｌ１〜Ｌ３と右側の基準画素Ｒ１〜Ｒ３とで同一の基準合成色情報Ｃが設定されており、且つ、その明度は他の基準方向Ｄ１〜Ｄ３，Ｄ５，Ｄ６の場合に比べて最も低く設定されている。
【００５１】
このような基準合成色情報Ｃは、仮想ゲーム空間４１の環境（地上、水中、空中、早朝、昼間、夕方、夜中、及び、光源４３の数、位置など）に応じて、複数種類が光ディスク２３に記録されており、制御部８によって適宜読み出される。
【００５２】
一方、上記基準方向Ｄ１〜Ｄ６以外の方向へ仮想カメラ４２が向いている場合は、基準方向Ｄ１〜Ｄ６のうち、仮想カメラ４２の方向を挟んで近接する２つの基準方向に関連づけられた基準合成色情報Ｃに基づいて、各基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３についての基準合成色情報Ｃを取得する。例えば、仮想カメラ４２の水平方向の向きを示す角度ａ１が３０度であった場合、仮想カメラ４２は、基準方向Ｄ１，Ｄ２の間に向けられていることとなる。この場合、フィルタ画像Ｐ２（ａ１＝３０度）の基準画素Ｌ１の基準合成色情報Ｃは、基準方向Ｄ１，Ｄ２に関連づけられた基準画素Ｌ１の基準合成色情報ＣＬ１１，ＣＬ１２（図７（ｃ）参照）に基づいて算出する。具体的には、基準方向Ｄ１（ａ１＝０度）から基準方向Ｄ２（ａ１＝４５度）まで、基準合成色情報の数値をＣＬ１１からＣＬ１２へと直線的に変化させていった場合に、仮想カメラ４２が向けられた方向（ａ１＝３０度）に対応する基準合成色情報Ｃを取得する。
【００５３】
より一般的に言えば、仮想カメラ４２が基準方向Ｄ１，Ｄ２間を向いている場合に、基準方向Ｄ１と仮想カメラ４２の向きとの間の角度をｘ、仮想カメラの向きと基準方向Ｄ２との間の角度をｙとすると、このときの基準画素Ｌ１の基準合成色情報Ｃｘｙは、
【００５４】
【数１】
0005613433.tif 000002
【００５５】
と表される式（１）によって算出することができる。また、その他の基準画素Ｌ２，Ｌ３，Ｒ１〜Ｒ３についても同様にして算出できる。更に、仮想カメラ４２の向きが他の基準方向の間を向いている場合も、同様の考え方から、その向きに対応する基準合成色情報Ｃを算出することができる。
【００５６】
＊中間の基準画素位置の変位＊
ところで、基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３のうち、中間に位置する基準画素Ｌ３，Ｒ３は、仮想カメラ４２の上下方向の向き（角度ａ２）に応じて、上下方向の位置が変更されるようになっている。図８は、仮想カメラ４２の上下方向の向きと中間の基準画素Ｌ３，Ｒ３の上下位置との関係を説明するためのグラフである。なお、このグラフ中の縦軸は仮想カメラ４２の上下方向の向き（角度ａ２）を示しており、原点（ａ２＝０）は仮想カメラ４２が仮想ゲーム空間４１にて水平方向を向いている状態、原点より上方（ａ２＞０）は仮想カメラ４２が上方を向いている状態、原点より下方（ａ２＜０）は仮想カメラ４２が下方を向いている状態を夫々意味している。また、グラフ中の横軸は基準画素Ｌ３，Ｒ３の位置を示しており、原点は、フィルタ画像Ｐ２の上下方向中央付近に設定された初期位置を示し、原点から軸に沿って右へ行くほど、フィルタ画像Ｐ２では上側の基準画素Ｌ１，Ｒ１に接近し、原点から軸に沿って左へ行くほど、フィルタ画像Ｐ２では下側の基準画素Ｌ２，Ｒ２に接近することを意味している。
【００５７】
この図８に示すように、仮想カメラ４２が水平方向に向けられているとき（角度ａ２＝０のとき）は、基準画素Ｌ３，Ｒ３は上下方向の中央付近の初期位置に設定される。そして、仮想カメラ４２が上方（ａ２＞０）へ向けられるに従って、基準画素Ｌ３，Ｒ３は下降して下側の基準画素Ｌ２，Ｒ２に接近し、上側の領域Ｈ１は広く、下側の領域Ｈ２は狭くなっていく。逆に、仮想カメラ４２が下方（ａ２＜０）へ向けられるに従って、基準画素Ｌ３，Ｒ３は上昇して上側の基準画素Ｌ１，Ｒ１に接近し、上側の領域Ｈ１は狭く、下側の領域Ｈ２は広くなっていく。
【００５８】
なお、図８に示すように本実施の形態では、仮想カメラ４２の上下方向の向きの変位量（角度ａ２の変位量）と、基準画素Ｌ３，Ｒ３の上下方向位置の変位量とは、直線的な反比例の関係を有するように設定されている。また、基準画素Ｌ３，Ｒ３の変位可能な範囲の上限は上側の基準画素Ｌ１，Ｒ１とし、下限は下側の基準画素Ｌ２，Ｒ２としている。また、基準画素Ｌ３，Ｒ３の上限位置には仮想カメラ４２の上下方向の向きの下限（ａ２＝ｍｉｎ）が対応し、基準画素Ｌ３，Ｒ３の下限位置には仮想カメラ４２の上下方向の向きの上限（ａ２＝ｍａｘ）が対応している。即ち、仮想カメラ４２を上方へ向けていくと基準画素Ｌ３，Ｒ３は下方へ移動し、仮想カメラ４２が上限の向きに達した時点で基準画素Ｌ３，Ｒ３は下限である基準画素Ｌ２，Ｒ２の位置に到達する。逆に、仮想カメラ４２を下方へ向けていくと基準画素Ｌ３，Ｒ３は上方へ移動し、仮想カメラ４２が下限の向きに達した時点で基準画素Ｌ３，Ｒ３は上限である基準画素Ｌ１，Ｒ１の位置に到達する。
【００５９】
＊フィルタ画像の取得＊
ここで、図４に示すように本ゲーム装置１のフィルタ画像生成手段５５は、基準合成色情報取得手段５５ａと、中間画素位置変更手段５５ｂと、フィルタ画像取得手段５５ｃとを有している。このうち基準合成色情報取得手段５５ａは、基準画素Ｌ１〜Ｌ３，Ｒ１〜Ｒ３についての基準合成色情報Ｃを、上述したように仮想カメラ４２の水平方向の向き（角度ａ１）に基づいて取得するものである。また、中間画素位置変更手段５５ｂは、中間の基準画素Ｌ３，Ｒ３の位置を、上述したように仮想カメラ４２の上下方向の向き（角度ａ２）に基づいて取得するものである。そしてフィルタ画像取得手段５５ｃは、取得した基準合成色情報Ｃと基準画素Ｌ３，Ｒ３の位置とに基づき、フィルタ画像Ｐ２を取得するものである。
【００６０】
図９は、フィルタ画像Ｐ２の例を示す模式図であり、（ａ）は仮想カメラ４２が水平方向に向けられているとき、（ｂ）は水平方向より上方へ向けられているとき、（ｃ）は水平方向より下方へ向けられているとき、の夫々のフィルタ画像Ｐ２を示している。なお、図９では、昼間の地上を表す仮想ゲーム空間４１を撮影したときの仮想空間合成画像Ｐを生成する際のフィルタ画像Ｐ２を例示しており、光源４３に照らされている状態を表現するために、上端から下端に向かうに従って、白色から無色透明へと緩やかに変化するグラデーションを成す画像としている。但し、図示の都合、及び理解のしやすさの観点から、図９では白色を黒色で代替して示している。
【００６１】
図９（ａ）に示すように、仮想カメラ４２が水平方向（ａ２＝０）に向けられている場合、基準画素Ｌ３，Ｒ３は上下方向の中央付近の初期位置に設定され、上下の領域Ｈ１，Ｈ２は略同一の面積を有している。そしてフィルタ画像取得手段５５ｃにより、上側の領域Ｈ１と下側の領域Ｈ２とについて、夫々別個にグラデーション画像が形成される。
【００６２】
具体的に説明すると、上側の領域Ｈ１については、この領域Ｈ１内の各画素（基準画素Ｌ１，Ｒ１，Ｌ３，Ｒ３を除く）の合成色情報を、基準画素Ｌ１，Ｒ１，Ｌ３，Ｒ３の夫々の間でグラデーションを成すように設定（算出）する。例えば、領域Ｈ１における上端の基準画素Ｌ１，Ｒ１に白色を示す基準合成色情報Ｃが設定され、下端の基準画素Ｌ３，Ｒ３に半透明白色を示す基準合成色情報Ｃが設定されているとする。この場合、上端から下端へ向かうに従って、白色から半透明白色へ緩やかに変化するグラデーションとなるように、各画素の合成色情報が設定される。これにより、領域Ｈ１について、基準画素Ｌ１，Ｒ１，Ｌ３，Ｒ３に基づきグラデーション画像が形成される。
【００６３】
下側の領域Ｈ２についても同様に、この領域Ｈ２内の各画素（基準画素Ｌ２，Ｒ２，Ｌ３，Ｒ３を除く）の合成色情報を、基準画素Ｌ２，Ｒ２，Ｌ３，Ｒ３の夫々の間でグラデーションを成すように設定（算出）する。例えば、領域Ｈ２における上端の基準画素Ｌ３，Ｒ３に半透明白色を示す基準合成色情報Ｃが設定され、下端の基準画素Ｌ２，Ｒ２に無色透明を示す基準合成色情報Ｃが設定されていたとする。この場合、上端から下端へ向かうに従って、半透明白色から無色透明へ緩やかに変化するグラデーションとなるように、各画素の合成色情報が設定される。これにより、領域Ｈ２について、基準画素Ｌ２，Ｒ２，Ｌ３，Ｒ３に基づきグラデーション画像が形成される。そして、このようにして形成した領域Ｈ１，Ｈ２での各グラデーション画像により、１つのフィルタ画像Ｐ２が取得される。
【００６４】
図９（ｂ）に示すように、仮想カメラ４２が水平方向より上方（ａ２＞０）へ向けられている場合も、上記と同様にして領域Ｈ１，Ｈ２の夫々について個別にグラデーション画像が形成され、これらを合わせることで１つのフィルタ画像Ｐ２が取得される。但し、この場合は、中間の基準画素Ｌ３，Ｒ３の位置が中央付近の初期位置よりも下方に設定されるため、上側の領域Ｈ１が下側の領域Ｈ２よりも広くなっている。そのため、上記で例示したような昼間の仮想ゲーム空間４１の場合には、白色化した領域が図９（ａ）の場合よりも下方へ広がったフィルタ画像Ｐ２となる。
【００６５】
図９（ｃ）に示すように、仮想カメラ４２が水平方向より下方（ａ２＜０）へ向けられている場合も、上記と同様にして領域Ｈ１，Ｈ２の夫々について個別にグラデーション画像が形成され、これらを合わせることで１つのフィルタ画像Ｐ２が取得される。但し、この場合は、中間の基準画素Ｌ３，Ｒ３の位置が中央付近の初期位置よりも上方に設定されるため、上側の領域Ｈ１が下側の領域Ｈ２よりも狭くなっている。そのため、上記で例示したような昼間の仮想ゲーム空間４１の場合には、白色化した領域が図９（ａ）の場合よりも上方へ狭まったフィルタ画像Ｐ２となる。
【００６６】
このように、フィルタ画像Ｐ２は、仮想カメラ４２の水平方向の向き（角度ａ１）、及び上下方向の向き（角度ａ２）に応じて、異なった画像となるようになっている。
【００６７】
［フレーム画像生成処理］
次に、仮想空間素材画像Ｐ１とフィルタ画像Ｐ２とを合成して仮想空間合成画像Ｐを取得し、これにその他の処理を施してフレーム画像を生成する処理について説明する。図１０は、フレーム画像を生成する処理を示すフローチャートであり、（ａ）は全体の流れを示し、（ｂ）は仮想空間素材画像Ｐ１とフィルタ画像Ｐ２とを合成する処理の流れを示している。ここに示された処理は、１フレーム画像を生成する毎に制御部８により実行され、本実施の形態に係るゲーム装置１では１／６０［秒］単位で実行される。
【００６８】
図１０（ａ）に示すように、まず、仮想ゲーム空間４１を構成する山や海などの背景画像や各キャラクタなど、不透明色で表現されるオブジェクトを描画するためのデータを取得するべく、ソリッド処理（ステップＳ１）を実行する。次に、仮想ゲーム空間４１に存在する木の葉などの平面的なオブジェクトの状態を示す描画データを取得するための、いわゆる「ヌキ処理」（ステップＳ２）を実行する。また、仮想ゲーム空間４１を構成する透明なオブジェクトについての描画データを取得するトランスペアレンシー処理（ステップＳ３）、及び、戦闘シーンでの爆風や火花等の粒子状のもの（パーティクル等）の描画データを取得するエフェクト処理（ステップＳ４）を実行する。
【００６９】
続いて、フィルタ処理（ステップＳ５）が実行される。このフィルタ処理では、上記ステップＳ１〜Ｓ４により得られた描画データ、即ち、本実施の形態に係る仮想空間素材画像Ｐ１に対してフィルタ画像Ｐ２を合成する処理が実行される。即ち、図１０（ｂ）に示すように、仮想カメラ４２の水平方向の向き（角度ａ１）から基準合成色情報Ｃを取得し（ステップＳ５１）、仮想カメラ４２の上下方向の向き（角度ａ２）から基準画素Ｌ３，Ｒ３の位置を設定し（ステップＳ５２）、これら基準合成色情報Ｃ及び基準画素Ｌ３，Ｒ３の位置に基づいてフィルタ画像Ｐ２を生成する（ステップＳ５３）。そして、このフィルタ画像Ｐ２を仮想空間素材画像Ｐ１に合成し（ステップＳ５４）、仮想空間合成画像Ｐを生成する。
【００７０】
また、ステップＳ５のフィルタ処理では、上記のような合成処理の他、必要に応じて仮想ゲーム空間４１をよりリアルに表現するために、「もや」などを示すフィルタ画像を生成し、これを仮想空間合成画像Ｐに合成する処理も実行する。そして、プレイヤキャラクタの体力値や体力ゲージなど、他のオブジェクトに対して最も仮想カメラ４２に近い位置に表示する二次元の描画データを取得するスクリーン処理（ステップＳ６）を実行する。このようにして取得される描画データは、逐次ゲーム装置１のフレームバッファに書き込まれ、ＧＰＵ４によって所定のタイミングでモニタ２０に描画（表示）される。
【００７１】
（実施例１）
図１１は、仮想ゲーム空間４１が昼間の地上である場合において、仮想カメラ４２の向きを上下方向に変化させたときの仮想空間合成画像Ｐを示す模式図である。また、図１１において、（ａ）は仮想カメラ４２が水平方向に向けられているとき、（ｂ）は水平方向より上方へ向けられているとき、（ｃ）は水平方向より下方へ向けられているとき、の夫々の仮想空間合成画像Ｐを示しており、フィルタ画像Ｐ２も合わせて示している。なお、（ａ）〜（ｃ）に示したフィルタ画像Ｐ２は、図９（ａ）〜（ｃ）に示したものと同じである。
【００７２】
図１１（ａ）に示すように、仮想カメラ４２が水平方向（ａ２＝０）に向けられている場合、仮想空間合成画像Ｐは、地平線（又は水平線）が上下方向の略中央付近に位置する画像となっている。そしてこの画像Ｐには、上端から下端へ向かうに従って白色から無色透明へ緩やかに変化するグラデーションを成すフィルタ画像Ｐ２が合成されている。その結果、仮想空間合成画像Ｐは、上空の仮想光源４３（太陽）に近い上部の背景画像が白色化し、下方へ向かうに従って背景の白色化の傾向が少なく（白色が薄く）なっていく画像となっている。これにより、現実空間において、太陽からの直射日光や、上空に浮遊する塵による太陽光の乱反射などの影響により、観察者の視界の上部がやや白色化して知覚される状態を表現している。
【００７３】
図１１（ｂ）に示すように仮想カメラ４２が水平方向より上方（ａ２＞０）へ向けられている場合、仮想空間合成画像Ｐは、地平線（又は水平線）が下方に位置して、上部の広い領域が空中を表示する画像となっている。そしてこの画像Ｐには、上部の白色化した領域Ｈ１が図１１（ａ）の場合よりも下方へ広がったフィルタ画像Ｐ２が合成されている。その結果、仮想空間合成画像Ｐは、上空の仮想光源４３（太陽）に近いより広い上部領域の背景画像が、白色化した画像となっている。これにより、現実空間において観察者が上方を見上げたときに、視界上部のより広い範囲が白色化して知覚される状態を表現している。
【００７４】
図１１（ｃ）に示すように仮想カメラ４２が水平方向より下方（ａ２＜０）へ向けられている場合、仮想空間合成画像Ｐは、地平線（又は水平線）が上方に位置して、上部の空中を表示する領域が狭い画像となっている。そしてこの画像Ｐには、上部の白色化した領域Ｈ１が図１１（ａ）の場合よりも上方へ狭まったフィルタ画像Ｐ２が合成されている。その結果、仮想空間合成画像Ｐは、上部の狭い領域の背景画像が白色化し、下部の広い領域の背景画像は白色化の傾向が少ない（白色が薄い）画像となっている。これにより、現実空間において観察者が下方を見下ろしたときに、視界上部の狭い範囲だけが白色化して知覚される状態を表現している。
【００７５】
（実施例２）
上述したゲーム装置１においては、仮想カメラ４２の上下方向の向き（角度ａ２）に応じて基準画素Ｌ３，Ｒ３の上下位置を変更する構成を説明したが、仮想カメラ４２は上下方向の高さ位置ａ３も変更可能である（図５参照）。そして、この高さ位置ａ３に応じて基準画素Ｌ３，Ｒ３の上下位置を変更するようにしてもよい。そこで以下では、仮想ゲーム空間４１が水中である場合を例として、仮想カメラ４２の高さ位置ａ３を変更したときの仮想空間合成画像Ｐについて説明する。なお、ここでは、既に説明した態様と相違する部分についてのみ説明し、その他については上述した態様と同様であるため説明を省略する。
【００７６】
図１２は、仮想カメラ４２の高さ位置と中間の基準画素Ｌ３，Ｒ３の上下位置との関係を説明するためのグラフである。なお、このグラフ中の縦軸は仮想カメラ４２の高さ位置ａ３を示しており、原点（ａ３＝０）は、仮想カメラ４２が水中の仮想ゲーム空間４１にて所定の高さ（初期高さ）に位置している状態、原点より上方（ａ３＞０）は仮想カメラ４２が初期高さより上方に位置している状態、原点より下方（ａ３＜０）は仮想カメラ４２が初期高さより下方に位置している状態を夫々意味している。また、グラフ中の横軸は基準画素Ｌ３，Ｒ３の位置を示しており、図８に示したグラフの横軸と同じ設定としている。
【００７７】
この図１２に示すように、仮想カメラ４２が初期高さに位置しているとき（ａ３＝０）は、基準画素Ｌ３，Ｒ３は上下方向の中央付近の初期位置に設定される。そして、仮想カメラ４２が上方（ａ３＞０）へ移動するに従って、基準画素Ｌ３，Ｒ３は下降して下側の基準画素Ｌ２，Ｒ２に接近し、上側の領域Ｈ１は広く、下側の領域Ｈ２は狭くなっていく。逆に、仮想カメラ４２が下方（ａ３＜０）へ移動するに従って、基準画素Ｌ３，Ｒ３は上昇して上側の基準画素Ｌ１，Ｒ１に接近し、上側の領域Ｈ１は狭く、下側の領域Ｈ２は広くなっていく。
【００７８】
なお、図１２に示すように本実施例２では、仮想カメラ４２の高さ位置ａ３の変位量と、基準画素Ｌ３，Ｒ３の上下方向位置の変位量とは、直線的な反比例の関係を有するように設定されている。また、基準画素Ｌ３，Ｒ３の変位可能な範囲の上限は上側の基準画素Ｌ１，Ｒ１とし、下限は下側の基準画素Ｌ２，Ｒ２としている。また、基準画素Ｌ３，Ｒ３の上限位置には仮想カメラ４２の高さ位置の下限（ａ３＝ｍｉｎ）が対応し、基準画素Ｌ３，Ｒ３の下限位置には仮想カメラ４２の高さ位置の上限（ａ３＝ｍａｘ）が対応している。即ち、仮想カメラ４２を上方へ移動させていくと基準画素Ｌ３，Ｒ３は下方へ移動し、仮想カメラ４２が上限の高さ位置に達した時点で基準画素Ｌ３，Ｒ３は下限である基準画素Ｌ２，Ｒ２の位置に到達する。逆に、仮想カメラ４２を下方へ移動させていくと基準画素Ｌ３，Ｒ３は上方へ移動し、仮想カメラ４２が下限の高さ位置に達した時点で基準画素Ｌ３，Ｒ３は上限である基準画素Ｌ１，Ｒ１の位置に到達する。
【００７９】
また、本実施例２では、仮想ゲーム空間４１が水中であることから、基準合成色情報Ｃはこれを考慮した内容となっている。即ち、水上に位置する光源４３を正面とする基準方向Ｄ１について説明すると、左上の基準画素Ｌ１には透明度の低い白色を示す基準合成色情報ＣＬ１１が設定され、左下の基準画素Ｌ２には透明度の低い黒色を示す基準合成色情報ＣＬ２１が設定され、これらの中間の基準画素Ｌ３には透明度の高い青色を示す基準合成色情報ＣＬ３１が設定されている。また、右側の基準画素Ｒ１〜Ｒ３についても、上記左側の基準画素Ｌ１〜Ｌ３と同じ値を有する基準合成色情報ＣＲ１１，ＣＲ２１，ＣＲ３１が設定されている。
【００８０】
従って、基準方向Ｄ１でのフィルタ画像Ｐ２は、上端が白色化し、下方の中央部分へ向かうに従って透明度の高い青色へと変化し、中央部分から更に下方へ向かうに従って青色化しつつ、下端へ近付くにつれて黒色化したグラデーション画像となっている。なお、その他の基準方向Ｄ２〜Ｄ６については、図７（ｃ）において説明した地上のゲーム空間４１の場合と同様の基準により、各基準合成色情報Ｃが設定されている。
【００８１】
図１３は、水中の仮想ゲーム空間４１において、仮想カメラ４２の高さ位置ａ３を上下方向に変化させたときの仮想空間合成画像Ｐを示す模式図である。また、図１３において（ａ）は、仮想カメラ４２が所定の初期高さに位置しているとき、（ｂ）は初期高さより上方に位置しているとき、（ｃ）は初期高さより下方に位置しているとき、の夫々の仮想空間合成画像Ｐを示しており、フィルタ画像Ｐ２も合わせて示している。
【００８２】
図１３（ａ）に示すように、仮想カメラ４２が初期高さ（ａ３＝０）に位置している場合、仮想空間合成画像Ｐは、上方の水面６１と下方の水底６２との何れからも比較的離れて水中６０に位置する画像となっている。そしてこの画像Ｐには、上端から下端へ向かうに従って、白色、透明度の高い青色、青色、黒色と緩やかに変化するグラデーションを成すフィルタ画像Ｐ２が合成されている。その結果、仮想空間合成画像Ｐは、水面６１に近い上部の背景画像が白色化し、下方へ向かうに従って背景の白色化の傾向が少なく（白色が薄く）なって僅かに青みを帯びていき、中央付近のやや下部の背景画像は青みがかり、水底６２近傍の下部の背景画像は黒っぽくなった画像となっている。これにより、現実に水中の観察者が見たときの情景をリアルに表現している。
【００８３】
図１３（ｂ）に示すように、仮想カメラ４２が初期高さより上方（ａ３＞０）に位置している場合、仮想空間合成画像Ｐは、水面６１に近付いた状態を表す画像となっている。そしてこの画像Ｐには、基準画素Ｌ３，Ｒ３がより下方に位置するフィルタ画像Ｐ２が合成されている。その結果、仮想空間合成画像Ｐは、水面６１に近い上部のより広い領域の背景画像が白色化し、青みがかった領域及び黒色化した領域が下方に狭まった画像となっている。このように、仮想カメラ４２の高さ位置ａ３に応じて異なるフィルタ画像Ｐ２を用いることにより、現実に水中の観察者が水面６１の近くに位置しているときに見える情景を、よりリアルに表現している。
【００８４】
図１３（ｃ）に示すように、仮想カメラ４２が初期高さより下方（ａ３＜０）に位置している場合、仮想空間合成画像Ｐは、水底６２に近付いた状態を表す画像となっている。そしてこの画像Ｐには、基準画素Ｌ３，Ｒ３がより上方に位置するフィルタ画像Ｐ２が合成されている。その結果、仮想空間合成画像Ｐは、水底６２に近い下部のより広い領域の背景画像が黒色化し、中央付近の広い領域の背景画像が青みがかり、白色化した領域が上方に狭まった画像となっている。これにより、現実に水中の観察者が水底６２の近くに位置しているときに見える情景を、よりリアルに表現している。
【００８５】
（変形例）
ところで、上述した説明では、仮想カメラ４２の上下方向の向きを変更したときの態様と、上下方向の高さ位置を変更したときの態様とを、夫々別個に例示したが、両方の態様を同時に実現するようにしてもよい。即ち、仮想カメラ４２の上下方向の向きと高さ位置とに基づいて基準画素Ｌ３，Ｒ３の位置を設定するようにしてもよい。これにより、現実に観察者が水中又は空中などで、上下方向へ移動し、視線を上下方向に変化させたときの仮想ゲーム空間４１を表すよりリアルな画像を生成することができる。
【００８６】
また、上下方向の向き、及び／又は、上下方向の高さ位置の変化に応じて、基準合成色情報Ｃの内容を変更するようにしてもよい。例えば、地上の仮想ゲーム空間４１の場合、仮想カメラ４２が水平方向から下方へ向きを変えるに従って、上端の基準画素Ｌ１，Ｒ１の透明度を高くするように設定してもよい。基準画素Ｌ１，Ｒ１に透明度の比較的低い白色を表す基準合成色情報Ｃが設定されていると、仮想カメラ４２を下向きにしたときに、仮想空間合成画像Ｐの上部に透明度の低い白色を成す狭い帯状領域が形成され、リアリティに欠けた画像となる可能性がある。しかしながら、上記のように透明度を高く変更するように設定することにより、前記帯状領域の白色化を低減できるため、リアリティを向上させることができる。
【００８７】
また、仮想カメラ４２が水平方向から上方へ向きを変えるに従って、上端の基準画素Ｌ１，Ｒ１の透明度を高くするように設定してもよい。基準画素Ｌ１，Ｒ１に透明度の比較的低い白色を表す基準合成色情報Ｃが設定されていると、仮想カメラ４２を上向きにしたときに、仮想空間合成画像Ｐの上部の広い領域が、透明度の低い白色で覆われてしまい、リアリティに欠けた画像となる可能性がある。しかしながら、上記のように透明度を高く変更するように設定することにより、上部の広い領域での白色化を低減できるため、リアリティを向上させることができる。
【００８８】
また、上記２つの例を合わせて、仮想カメラ４２が水平方向に対して上方へ向かうに従って、上端の基準画素Ｌ１，Ｒ１の合成色情報Ｃを透明度が高くなっていくように設定し、且つ、仮想カメラ４２が水平方向に対して下方へ向かうに従って、基準画素Ｌ１，Ｒ１の合成色情報Ｃを透明度が高くなっていくように設定してもよい。
【００８９】
なお、水中の仮想ゲーム空間４１の場合も同様に、仮想カメラ４２を上方又は下方へ向けるに従って、フィルタ画像Ｐ２の四隅の基準画素Ｌ１，Ｌ２，Ｒ１，Ｒ２の透明度を高くするように設定してもよい。更に、地上及び水中の何れの場合も、仮想カメラ４２の高さ位置が上方又は下方へ移動するに従って、四隅の基準画素Ｌ１，Ｌ２，Ｒ１，Ｒ２の透明度を高くするように設定してもよい。
【００９０】
また、本実施の形態では図８及び図１２に示すように、仮想カメラ４２の上下方向の向き又は高さ位置と基準画素Ｌ２，Ｒ２の位置との関係として、連続する直線的な関係を有する態様について説明したが、これに限られない。原点やその他の点を境界として、傾きの異なる直線で表される関係としてもよいし、曲線的な関係となるように設定してもよい。
【００９１】
例えば、地上の仮想ゲーム空間４１では、仮想カメラ４２の高さ位置が地表近くに設定されている。そのため、図１４に示すように、仮想カメラ４２の上下方向の向きの可動範囲について、水平方向から上限（ａ２＝ｍａｘ）までの角度範囲（ａ２＞０の範囲）を、水平方向から下限（ａ２＝ｍｉｎ）までの角度範囲（ａ２＜０の範囲）よりも大きく設定する場合がある。このような場合には、図１４のグラフ中に実線で示すように、仮想カメラ４２を水平方向より下方へ向ける場合に比べて上方へ向ける場合の方が、基準画素Ｌ３，Ｒ３の変位量の変化率が小さくなるように設定してもよい。これにより、基準画素Ｌ３，Ｒ３の上限位置（フィルタ画像Ｐ２の上端）に仮想カメラ４２の上下方向の向きの下限（ａ２＝ｍｉｎ）を対応させ、基準画素Ｌ３，Ｒ３の下限位置（フィルタ画像Ｐ２の下端）に仮想カメラ４２の上下方向の向きの上限（ａ２＝ｍａｘ）を対応させることができる。
【００９２】
なお、必ずしも、基準画素Ｌ３，Ｒ３の上限・下限位置に、仮想カメラ４２の上下方向の向きの下限・上限を対応させることを要しない。例えば、図１４のグラフ中に二点差線で示すように、仮想カメラ４２の向きが原点と上限との間の角度のときに、基準画素Ｌ３，Ｒ３が下限位置（フィルタ画像Ｐ２の下端）に到達するように設定してもよい。
【００９３】
また、本実施の形態では基準画素Ｌ３，Ｒ３の初期位置を、フィルタ画像Ｐ２の上下方向の中央付近としているが、例えば地上の仮想ゲーム空間４１にあっては、基準画素Ｌ３，Ｒ３を結ぶ線分が、仮想空間素材画像Ｐ１に描画される地平線（又は水平線）と一致するように設定してもよい。そして、仮想カメラ４２の配置変更により地平線（又は水平線）が移動した場合に、基準画素Ｌ３，Ｒ３を、これらを結ぶ線分が地平線（又は水平線）に追従して移動するように設定してもよい。このようにすることにより、フィルタ画像Ｐ２を構成する上下のグラデーション画像の境界（基準画素Ｌ３，Ｒ３を結ぶ線分）と、地平線（又は水平線）とを、互いに一致させることができる。
【００９４】
また、本実施の形態では上下の基準画素Ｌ１，Ｌ２，Ｒ１，Ｒ２の間に一組の基準画素Ｌ３，Ｒ３を設定した態様について説明したが、これに限られない。例えば、基準画素Ｌ３，Ｒ３を、基準画素Ｌ３−１，Ｒ３−１と、基準画素Ｌ３−２，Ｒ３−２との二組に分けて設定してもよい。この場合は、基準画素Ｌ１，Ｒ１，Ｌ３−１，Ｒ３−１を四隅とする上部領域と、基準画素Ｌ３−１，Ｒ３−１，Ｌ３−２，Ｒ３−２を四隅とする中間領域と、基準画素Ｌ２，Ｒ２，Ｌ３−２，Ｒ３−２を四隅とする下部領域との夫々でグラデーション画像を形成し、これらを合わせたフィルタ画像Ｐ２を生成することができる。そのため、該フィルタ画像Ｐ２を仮想空間素材画像Ｐ１と合成することで、仮想光源４３に光がもたらす視覚的効果をよりリアルに表現した仮想空間合成画像Ｐを生成することができる。また、同様にして、基準画素Ｌ３，Ｒ３を三組以上に分けるように設定してもよい。
【００９５】
更に、上述した例では、仮想カメラ４２の上下方向の配置変更により生じる光の視覚的効果を表現する場合について説明したが、左右方向の配置変更により生じる光の視覚的効果を表現するように設定することもできる。具体的には、上述した基準画素Ｌ３，Ｒ３に換えて、またはこれに加えて、上端の基準画素Ｌ１，Ｒ１間と、下端の基準画素Ｌ２，Ｒ２間とに、夫々新たな基準画素Ｍ１，Ｍ２を設定する。この上下の基準画素Ｍ１，Ｍ２に基準合成色情報を付与し、且つ仮想カメラ４２の左右方向の向きに応じて基準画素Ｍ１，Ｍ２を左右へ移動させる。そして、基準画素Ｌ１，Ｌ２及び移動後の基準画素Ｍ１，Ｍ２を四隅とする左側領域についてグラデーション画像を生成し、基準画素Ｒ１，Ｒ２及び移動後の基準画素Ｍ１，Ｍ２を四隅とする右側領域についてグラデーション画像を生成し、これらに基づいてフィルタ画像Ｐ２を生成する。これにより、例えば仮想ゲーム空間４１が、早朝や夕方のように太陽が地平線近くに位置する場合に、仮想カメラ４２の左右方向の向きの変化によって生じる光の視覚的効果をリアルに表現することができる。
【００９６】
上述した説明では、プレイヤの操作によってプレイヤキャラクタと敵キャラクタとが対戦するアクションゲーム用のプログラムについて説明したが、これに限られない。仮想ゲーム空間４１にて、仮想カメラ４２の配置を変更可能であるような他のゲームプログラムにも適用することができる。また、ゲーム以外にも、配置を変更可能な仮想カメラによって、仮想空間を撮影した画像をモニタ２０に表示するようなシステムの画像処理プログラムにも適用することができる。
【００９７】
また、仮想光源４３が上方に位置する場合について説明したが、これに限られず、例えば赤い光を放つ溶岩が地表を流れているような仮想ゲーム空間４１では、仮想光源４３を下方に設定してもよい。そして、この場合のフィルタ画像Ｐ２は、仮想光源４３（溶岩）からの光の影響を表現するために、下部から上部へ向かうに従って赤色から透明へと変化するグラデーション画像とすればよい。更に、例えば太陽及び溶岩のように仮想光源４３を仮想ゲーム空間４１の上方と下方とに２つ設定してもよい。そして、この場合のフィルタ画像Ｐ２は、夫々の仮想光源４３からの光の影響を表現するように、上部及び下部の夫々から中央部へ向かってグラデーションを成すように形成すればよい。なお、グラデーション画像にて変化させる色は上述した白色、青色、及び黒色に限られず、仮想光源４３からの光に照らされた仮想ゲーム空間４１を表現するのに好適な、様々の色を採用することができることは言うまでもない。
【００９８】
また、基準画素Ｌ３，Ｒ３の上下方向位置は、仮想カメラ４２の上下方向の配置の変化に応じて変化させることについて説明したが、これに限られない。例えば、時間の経過に伴って太陽の位置が変化する場合のように、仮想光源４３の上下方向位置が変化する場合には、このような仮想光源４３の上下方向位置の変化に応じて基準画素Ｌ３，Ｒ３の上下方向位置を変更するようにしてもよい。
【００９９】
また、上述したように、フィルタ画像Ｐ２を構成する領域Ｈ１は、少なくともその四隅に位置する計４つの画素の合成色情報を用いてグラデーション画像を生成すればよく、これら４つの画素を含む計５つ以上の画素の合成色情報を用いてグラデーション画像を生成してもよい。フィルタ画像Ｐ２を構成するもう１つの領域Ｈ２についても同様である。
【０１００】
更に、フィルタ画像Ｐ２の領域Ｈ１，Ｈ２のうち、何れか一方の領域のみをグラデーション画像とし、他方の領域についてはグラデーション画像としないようにしてもよい。例えば、図７（ｃ）に示す表において、基準方向Ｄ１での基準画素Ｌ２，Ｌ３，Ｒ２，Ｒ３の色情報ＣＬ２１，ＣＬ３１，ＣＲ２１，ＣＲ３１を全て同一値とすることで、仮想カメラ４２が基準方向Ｄ１へ向けられた場合に、これらの基準画素により囲まれる領域Ｈ２を単一色の画像（即ち、彩度、明度、色相、及び透明度の何れもが変化のない画像）としてもよい。
【産業上の利用可能性】
【０１０１】
本発明は、仮想光源に照らされた仮想空間を、仮想カメラの配置に応じた画像としてよりリアルに表現することのできる画像処理プログラム、該画像処理プログラムを記録した記録媒体、及びコンピュータ装置を提供することができる。
【符号の説明】
【０１０２】
１      ゲーム装置（コンピュータ装置）
８      制御部
２３    光ディスク（記録媒体）
２４    ゲームプログラム（画像処理プログラム）
４１    仮想ゲーム空間
４２    仮想カメラ
４３    仮想光源
５３    仮想カメラ制御手段
５４    素材画像生成手段
５５    フィルタ画像生成手段
５５ａ  基準合成色情報取得手段
５５ｂ  中間画素位置変更手段
５５ｃ  フィルタ画像取得手段
５６    合成画像生成手段
Ｃ      基準合成色情報
Ｄ１〜Ｄ６  基準方向
Ｌ１〜Ｌ３，Ｒ１〜Ｒ３  基準画素
Ｐ      仮想空間合成画像
Ｐ１    仮想空間素材画像
Ｐ２    フィルタ画像
【図１】
0005613433.tif 000003
【図２】
0005613433.tif 000004
【図３】
0005613433.tif 000005
【図４】
0005613433.tif 000006
【図５】
0005613433.tif 000007
【図６】
0005613433.tif 000008
【図７】
0005613433.tif 000009
【図８】
0005613433.tif 000010
【図９】
0005613433.tif 000011
【図１０】
0005613433.tif 000012
【図１１】
0005613433.tif 000013
【図１２】
0005613433.tif 000014
【図１３】
0005613433.tif 000015
【図１４】
0005613433.tif 000016