画像処理装置、画像処理装置の制御方法、及びプログラム
【課題】光源が視界内に入っていない場合であっても、光源からの光によって視界内の領域が照らされる様子を好適に表現する。
【解決手段】オブジェクトが配置された仮想3次元空間40を所与の視点から見た様子を表す画面を表示させるゲーム装置10であって、仮想3次元空間40を視点から見た様子を表す第1画像を作成する第1画像作成部52と、仮想3次元空間40に設定された光源48の3次元座標を取得する座標取得部54と、光源48の3次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する第2画像作成部56と、第1画像と第2画像が合成された画面を表示させる表示制御部58と、を含む。
【解決手段】オブジェクトが配置された仮想3次元空間40を所与の視点から見た様子を表す画面を表示させるゲーム装置10であって、仮想3次元空間40を視点から見た様子を表す第1画像を作成する第1画像作成部52と、仮想3次元空間40に設定された光源48の3次元座標を取得する座標取得部54と、光源48の3次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する第2画像作成部56と、第1画像と第2画像が合成された画面を表示させる表示制御部58と、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
ゲームキャラクタ等の各種オブジェクトや光源が配置された仮想3次元空間を所与の視点から見た様子を表示するゲーム装置が知られている。例えば、オブジェクトの影の描画が、光源の位置やオブジェクトの位置及び形状に基づいて制御され、ゲーム画面が表示されるゲーム装置が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−195747号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲーム装置では、光源がゲーム画面に対応する視界から外れた場合等に、光源からの光が正確に表現されない場合がある。光源が視界内に入っていない場合に、光源からの光によって視界内の領域が照らされる様子を表現することができなかった。
【0005】
本発明は、上記課題に鑑みてなされたものであって、その目的とするところは、光源が視界内に入っていない場合であっても、光源からの光によって視界内の領域が照らされる様子を好適に表現することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置であって、前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段と、前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段と、前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段と、前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置の制御方法であって、前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像ステップと、前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得ステップと、前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成ステップと、前記第1画像と前記第2画像が合成された画面を表示させる表示制御ステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段、前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段、前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段、前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段、として前記コンピュータを機能させることを特徴とする。このコンピュータは、パーソナルコンピュータ、サーバコンピュータ、家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末等である。また、プログラムは、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な情報記憶媒体に格納されてもよい。
【0009】
本発明によれば、光源が視界内に入っていない場合であっても、光源からの光によって視界内の領域が照らされる様子を好適に表現することが可能になる。
【0010】
また、本発明の一態様では、前記第1画像又は前記第2画像の各画素に対応する奥行き情報を取得する奥行き情報取得手段を更に含み、前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記各画素の半透明合成の割合を前記奥行き情報に基づいて決定する第1の決定手段を含むことを特徴とする。
【0011】
また、本発明の一態様では、前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、前記第2画像作成手段は、前記第2画像の各画素の画素値を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて設定することを特徴とする。
【0012】
また、本発明の一態様では、前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記第2画像の各画素の半透明合成の割合を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて決定する第2の決定手段を含むことを特徴とする。
【0013】
また、本発明の一態様では、前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する手段であって、前記影画像の画素のうちの、影の領域内の画素の画素値を、該画素が前記第2画像の光の領域に対応する画素であるか否かに基づいて設定する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成することを特徴とする。
【0014】
また、本発明の一態様では、前記第2画像作成手段は、前記光源の3次元座標を画面に対応する2次元座標に変換する座標変換手段を含み、前記光源の2次元座標から光が拡散するように第2画像を作成することを特徴とする。
【0015】
また、本発明の一態様では、前記第2画像作成手段は、前記光源の3次元座標を中心とする所定半径の球を前記視点に対応する平面で切断した切断面の中心点を算出する中心点算出手段と、前記中心点の3次元座標を画面に対応する2次元座標に変換する座標変換手段と、含み、前記中心点の2次元座標から光が拡散するように第2画像を作成することを特徴とすることを特徴とする。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】ゲーム画面の一例を示す図である。
【図4】実施形態1に係るゲーム装置に実現される機能群を示す機能ブロック図である。
【図5】(a)は、第1画像の一例を示す図であり、(b)は、第2画像の一例を示す図であり、(c)は、合成画像の一例を示す図である。
【図6】ゲーム装置において実行される処理の一例を示すフロー図である。
【図7】実施形態2に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図8】(a)は、仮想3次元空間のXw−Zw平面を表す図であり、(b)は、仮想3次元空間のXw−Yw平面を表す図である。
【図9】実施形態3に係るゲーム装置に実現される機能群を示す機能ブロック図である。
【図10】奥行き情報の一例を示す図である。
【図11】実施形態3に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図12】実施形態4に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図13】(a)は、オブジェクト画像の一例を示す図であり、(b)は、影画像の一例を示す図であり、(c)は、第2画像の一例を示す図である。
【図14】実施形態5に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図15】実施形態6に係るゲーム装置において実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0017】
[1.実施形態1]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置は、例えば、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、実施形態1に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0018】
[1−1.ゲーム装置のハードウェア構成]
図1は、本発明の実施形態に係るゲーム装置の構成を示す図である。図1に示すように、ゲーム装置10においては、家庭用ゲーム機11に情報記憶媒体である光ディスク25及びメモリカード28が装着される。また、ゲーム装置10には、表示部18及び音声出力部22が接続される。例えば、表示部18には家庭用テレビ受像機が用いられ、音声出力部22にはその内蔵スピーカが用いられる。
【0019】
家庭用ゲーム機11は、バス12、マイクロプロセッサ14、画像処理部16、音声処理部20、光ディスク再生部24、主記憶26、入出力処理部30及びコントローラ32を含んで構成される公知のコンピュータゲームシステムである。コントローラ32以外の構成要素は筐体内に収容される。
【0020】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、画像処理部16、主記憶26及び入出力処理部30は、バス12によって相互データ通信可能に接続される。
【0021】
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、光ディスク25から読み出されるプログラムや、メモリカード28から読み出されるデータに基づいて、家庭用ゲーム機11の各部を制御する。
【0022】
主記憶26は、例えばRAMを含んで構成されるものであり、光ディスク25から読み出されたプログラムやメモリカード28から読み出されたデータが必要に応じて書き込まれる。主記憶26は、マイクロプロセッサ14の作業用メモリとしても用いられる。
【0023】
画像処理部16は、VRAMを含んで構成される。画像処理部16は、マイクロプロセッサ14から送られる画像データに基づいてVRAM上にゲーム画面を描画する。画像処理部16は、この内容をビデオ信号に変換して所定のタイミングで表示部18に出力する。
【0024】
入出力処理部30は、マイクロプロセッサ14が音声処理部20、光ディスク再生部24、メモリカード28及びコントローラ32にアクセスするためのインタフェースである。入出力処理部30には、音声処理部20、光ディスク再生部24、メモリカード28及びコントローラ32が接続される。
【0025】
音声処理部20はサウンドバッファを含んで構成される。音声処理部20は、光ディスク25から読み出されてサウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを音声出力部22から出力する。
【0026】
光ディスク再生部24は、マイクロプロセッサ14からの指示に従って光ディスク25に記録されたプログラムを読み取る。なお、ここではプログラムを家庭用ゲーム機11に供給するために光ディスク25を用いることとするが、CD−ROMやROMカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機11に供給するようにしてもよい。
【0027】
メモリカード28は、不揮発性メモリ(例えばEEPROM等)を含んで構成される。家庭用ゲーム機11は、メモリカード28を装着するための複数のメモリカードスロットを備えており、複数のメモリカード28を同時に装着可能となっている。メモリカード28は、このメモリカードスロットに対して脱着可能に構成され、例えば、セーブデータなどの各種ゲームデータを記憶させるために用いられる。
【0028】
コントローラ32は、プレイヤが各種ゲーム操作の入力をするためのものである。入出力処理部30は、一定周期毎(例えば1/60秒毎)にコントローラ32の各部の状態をスキャンする。このスキャン結果を表す操作信号は、バス12を介してマイクロプロセッサ14に入力される。
【0029】
マイクロプロセッサ14は、コントローラ32からの操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11は、複数のコントローラ32を接続可能に構成されている。つまり、家庭用ゲーム機11は、各コントローラ32から入力される操作信号に基づいて、マイクロプロセッサ14がゲーム制御を行うようになっている。
【0030】
[1−2.ゲーム装置における仮想3次元空間]
ゲーム装置10では、仮想3次元空間(仮想的な3次元ゲーム空間)が主記憶26に構築される。図2は、主記憶26に構築される仮想3次元空間の一部(仮想3次元空間40)を示す図である。図2に示すように、仮想3次元空間40には、互いに直交するXw軸、Yw軸、及びZw軸が設定される。仮想3次元空間40内の位置は、これらの座標軸の3次元座標、即ちワールド座標値(ワールド座標系の座標値)により特定される。
【0031】
仮想3次元空間40には、地面や床面等を表すフィールドオブジェクト42が配置される。フィールドオブジェクト42は、例えば、Xw−Zw平面に平行に配置される。フィールドオブジェクト42上には、キャラクタオブジェクト44が配置される。
【0032】
なお、図2では省略されているが、例えば、ゲーム装置10でサッカーゲームが実行される場合には、サッカーのゴールを表すオブジェクトや、サッカーボールを表すオブジェクトが配置される。つまり、仮想3次元空間40には、サッカーの試合会場が形成される。
【0033】
また、仮想3次元空間40には仮想カメラ46(視点)が設定される。この仮想カメラ46から仮想3次元空間40を見た様子を表すゲーム画面が生成され、表示部18に表示される。
【0034】
仮想カメラ46に対応する視錘台46aに含まれる各オブジェクトが、ゲーム画面に表示される。図2に示すように、視錘台46aは、仮想カメラ46の視野のうち、ニアクリップ46bと、ファークリップ46cと、によって囲まれる斜線内の領域である。
【0035】
図2のように、仮想カメラ46の視野は、仮想カメラ46の位置座標、仮想カメラ46の視線方向を示す視線ベクトルv、仮想カメラ46の視野角θ、及びゲーム画面のアスペクト比Aによって決定される。これらの値は、主記憶26に記憶され、ゲームの状況に応じて適宜変更される。
【0036】
ニアクリップ46bは、ゲーム画面に表示されるもののうち、仮想3次元空間において、最も仮想カメラ46に近いものを定義する。ファークリップ46cは、ゲーム画面に表示される領域のうち、仮想3次元空間において、最も仮想カメラ46から遠いものを定義する。
【0037】
ニアクリップ46b及びファークリップ46cのそれぞれと、仮想カメラ46と、の距離に関する情報が主記憶26に記憶される。この距離に関する情報は、ゲーム状況に応じて適宜変更される。即ち、視錘台46aは、仮想カメラ46の視野を、ニアクリップ46bとファークリップ46cとで切り取った領域となる。
【0038】
図2に示すように、仮想3次元空間40には光源48が設定される。この光源48の位置座標に基づいて後述の処理を行うことにより、ゲーム画面に光が拡散する様子を表現することができる。また、光源48からの光により、フィールドオブジェクト42上にキャラクタオブジェクト44の影ができるようにしてもよい。
【0039】
[1−3.ゲーム画面に対応する2次元座標]
図3は、図2に示す仮想3次元空間を仮想カメラ46から見た様子を表すゲーム画面である。ゲーム画面は、所定時間毎(例えば1/60秒毎)に表示が更新される。図3に示すように、視錘台46aに含まれるフィールドオブジェクト42及びキャラクタオブジェクト44がゲーム画面に表示される。ゲーム画面は、互いに直行するXs軸、Ys軸が設定される。例えば、左上を原点O(0,0)とし、各画素に対応する座標が割り当てられる。
【0040】
同様に、ゲーム画面の左下を座標P1(0,Ymax)、右上を座標P2(Xmax,0)、右下を座標P3(Xmax,Ymax)とする。つまり、図3に示すゲーム画面例では、ゲーム画面領域を構成するXmaxとYmaxの比率は、ゲーム画面のアスペクト比Aに対応する。
【0041】
ゲーム画面を表示させる際、マイクロプロセッサ14は、まず、視錘台46aの領域内にある各オブジェクトの3次元座標に、行列を用いた所定の演算処理を行う。この演算処理により、各オブジェクトの3次元座標が、2次元座標であるスクリーン座標(スクリーン座標系の座標)に変換される。この2次元座標により、ゲーム画面上にオブジェクトを表示すべき位置が特定される。
【0042】
図2に示す例では、光源48は視錘台46aの領域外にあるので、図3に示すように、光源48に対応する2次元座標はゲーム画面の領域外となる。後述する処理においては、この光源48の2次元座標に基づいて、光源48からの光の拡散を表す画像が作成される。
【0043】
[1−4.ゲーム装置で実現される機能]
図4は、ゲーム装置10において実現される機能群を示す機能ブロック図である。図4に示すように、ゲーム装置10では、ゲームデータ記憶部50、第1画像作成部52、座標取得部54、第2画像作成部56、及び表示制御部58が実現される。これらの機能は、マイクロプロセッサ14が光ディスク25から読み出されたプログラムに従って動作することにより、実現される。
【0044】
[1−4−1.ゲームデータ記憶部]
ゲームデータ記憶部50は、主記憶26及び光ディスク25を主として実現される。ゲームデータ記憶部50は、ゲームに必要な各種データを記憶する。本実施形態の場合、ゲームデータ記憶部50は、仮想3次元空間の現在の状況を示すゲーム状況データ等を記憶する。
【0045】
図2に示す仮想3次元空間は、ゲーム状況データに基づいて主記憶26に構築される。ゲーム状況データには、各オブジェクト、仮想カメラ46、及び光源48の3次元座標や、オブジェクトの色や光源の強さ等のゲーム画面の色彩に関する情報が格納される。また、ゲーム状況データには、ニアクリップ46b及びファークリップ46cのそれぞれと、仮想カメラ46と、の距離に関する情報が格納される。他にも、ゲーム状況データには、仮想カメラ46の視線ベクトルv、視野角θ、ゲーム画面のアスペクト比A等が格納される。
【0046】
[1−4−2.第1画像作成部]
第1画像作成部52は、マイクロプロセッサ14を主として実現される。第1画像作成部52は、仮想3次元空間40を仮想カメラ46から見た様子を表す第1画像を作成する。この第1画像は、ゲームデータ記憶部50が参照されることにより作成される。つまり、この第1画像は、光源48からの光の拡散が考慮されずに、各オブジェクトの色が、そのまま表された画像である。
【0047】
図5(a)は、第1画像作成部52が作成する第1画像の一例を示す図である。第1画像は、仮想3次元空間40を仮想カメラ46から見た様子が表され、図5(a)に示すように、各オブジェクトの色がそのまま表された状態で作成される。
【0048】
[1−4−3.座標取得部]
座標取得部54は、マイクロプロセッサ14を主として実現される。座標取得部54は、ゲームデータ記憶部50に格納された光源48の3次元座標を取得する。
【0049】
[1−4−4.第2画像作成部]
第2画像作成部56は、マイクロプロセッサ14を主として実現される。第2画像作成部56は、座標取得部54が取得した光源48の3次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する。この第2画像は、視錘台46a内の各オブジェクトが含まれずに光のグラデーションのみが表現された画像である。
【0050】
図5(b)は、第2画像作成部56が作成する第2画像の一例を示す図である。図5(b)の例は、図3に示す位置に光源48の2次元座標がある場合に作成される第2画像である。図5(b)に示すように、光源48の2次元座標を中心に円を描くように光が拡散する第2画像が作成される。
【0051】
[1−4−5.表示制御部]
表示制御部58は、マイクロプロセッサ14及び画像処理部16を主として実現される。表示制御部58は、第1画像作成部52が作成した第1画像と、第2画像作成部56が作成した第2画像と、が合成されたゲーム画面を表示部18に表示させる。
【0052】
第1画像と第2画像を合成させる方法は、いわゆるアルファ値(半透明合成率,透過度)を使用した半透明合成を用いるものとする。例えば、アルファ値を0〜1の実数とすると、ゲーム画面のある画素(座標を(Xs,Ys)とする)の画素値は、「(1−アルファ値)×第1画像の座標(Xs,Ys)の画素値+アルファ値×第2画像の座標(Xs,Ys)の画素値」等のように算出される。例えば、アルファ値は0.2に設定される。なお、第1画像と第2画像を合成させる方法は、これに限られず、他の任意の手法も適用可能とする。
【0053】
図5(c)は、表示制御部58が表示させる画像の一例を示す図である。図5(c)に示すように、第1画像と第2画像が合成された画像が表示されることにより、視界外の光源からの光によって視界内の領域が照らされる様子を表すゲーム画面を表示させることができる。
【0054】
[1−5.ゲーム装置にて実行される処理]
図6は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される処理の一例を示すフロー図である。図6の処理は、マイクロプロセッサ14が、光ディスク25から読み出されたプログラムに従って動作することにより実行される。
【0055】
図6に示すように、まず、マイクロプロセッサ14(第1画像作成部52)は、ゲームデータ記憶部50を参照し、光源48が取り除かれた状態における第1画像を作成する(S101)。S101において作成される第1画像は、視錘台46aに含まれる各オブジェクトの色がそのまま表された画像である。
【0056】
なお、S101においては、光源48が取り除かれた状態における第1画像が作成されるようにしたが、視錘台46aに含まれる各オブジェクトの色がそのまま表されるようにすればよく、第1画像の作成方法は、これに限られない。例えば、S101においては、視錘台46aに含まれる各オブジェクトの影等が表現されるように第1画像が作成されるようにしてもよい。
【0057】
次いで、マイクロプロセッサ14(座標取得部54)は、主記憶26に記憶されたゲーム状況データを参照して光源48の3次元座標を取得する(S102)。マイクロプロセッサ14(第2画像作成部56、座標変換手段)は、光源48の3次元座標をゲーム画面に対応する2次元座標に変換する(S103)。S103においては、先述のように所定の行列演算により変換処理が行われる。
【0058】
マイクロプロセッサ14は、光源48の2次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する(S104)。S104においては、光源48の2次元座標から光が拡散するように第2画像が作成される。例えば、光源48の2次元座標が図3に示す位置の場合、この位置を中心とした所定半径の円が計算され、この円の中心点とゲーム画面内の画素との距離に応じた強さの光が拡散されるように各画素値が決定されて第2画像が作成される。つまり、円の中心点と画素との距離が短ければ光が強く、距離が長ければ光が弱くなるように各画素値が決定される。
【0059】
なお、上記のような円ではなく、他の形状(楕円や四角形等)に基づいて光が拡散されるように各画素値が決定され、第2画像が作成されるようにしてもよい。この場合も上記と同様に、光源48の2次元座標と画素との距離に応じた強さの光が拡散されるように各画素値が決定されて第2画像が作成される。
【0060】
また、S104においては、光源48の2次元座標に基づいて第2画像が作成されればよく、作成の方法はこれらに限られない。例えば、光の拡散を表す所定の計算式に光源48の2次元座標を代入し、各画素の画素値が算出されることにより第2画像が作成されるようにしてもよい。
【0061】
次いで、マイクロプロセッサ14(表示制御部58)は、S101で作成した第1画像と、S104で作成した第2画像と、を合成して表示部18に表示させる(S105)。S105においては、第1画像と第2画像が所定のアルファ値に基づいて半透明合成され、この合成画像が表示部18に表示される。このアルファ値は、ゲーム状況データ等に応じて可変であってよい。例えば、ゲーム空間において雨が降っている場合や夕暮れの場合は、第2画像の割合が低くなるように設定される。
【0062】
[1−6.実施形態1のまとめ]
以上説明した実施形態1に係るゲーム装置10は、仮想3次元空間(各オブジェクト)を表す第1画像と、光源48からの光の拡散を表す第2画像と、が合成されたゲーム画面を表示させる。実施形態1におけるゲーム装置10によれば、光源48がゲーム画面の領域外にある場合でも、光が照らされる様子を表現したゲーム画面を表示させることができる。
【0063】
また、ゲーム装置10は、光源48の3次元座標を2次元座標に変換して第2画像を作成する。光源48と各オブジェクトとの位置関係等に基づいて、比較的簡易な処理によって実現することができる。例えば、オブジェクトの色を画素毎に色変換する方法等に比べて、処理負荷を軽減することができる。
【0064】
なお、本発明は、以上説明した実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。例えば、本実施形態では家庭用ゲーム機を例に挙げて説明したが、ゲームセンター等に設置されるアーケード型ゲーム機であってもよい。
【0065】
また、S103においては、光源48の3次元座標を2次元座標に変換して、光源48の2次元座標に基づいて第2画像を作成したが、この変換処理を行わずに光源48の3次元座標に基づいて第2画像が作成されるようにしてもよい。例えば、仮想カメラ46の方向ベクトルvがXw軸方向と一致している場合等に、光源48の3次元座標のYw座標成分とZw座標成分とに基づいて第2画像が作成されるようにしてもよい。他にも、ニアクリップ46bの中心点と光源48との3次元座標の位置関係に基づいて第2画像が作成されるようにしてもよい。
【0066】
また、光源48の3次元座標をワールド座標値として説明したが、第2画像を作成する際に使用される光源48の3次元座標は、仮想カメラ46の位置を原点とするビュー座標値等であってもよい。
【0067】
また、実施形態1においては、光源48を1つとして説明したが、任意の数の光源48が仮想3次元空間40に配置されていてよい。例えば、ゲーム装置10が、夜間におけるサッカーゲームを実行する際には、実際のサッカー場の照明に対応する位置に、複数の光源48を配置してもよい。第2画像を作成する際には、それぞれの光源48から光が拡散される画像が作成される。つまり、それぞれの光源48についてS104と同様の処理が行われて光の拡散が計算される。これらの光の拡散のそれぞれが各画素毎に加算されることにより、第2画像が作成される。
【0068】
[2.実施形態2]
以下、実施形態2について説明する。実施形態1においては、光源48の3次元座標を2次元座標に変換して第2画像を作成していた。この点、実施形態2は、光源48の3次元座標を中心とする所定半径の球を、ニアクリップ46bで切断した切断面の中心点に基づいて第2画像を作成する点に特徴がある。
【0069】
なお、実施形態2に係るゲーム装置10のハードウェア構成や機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態2に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0070】
[2−1.ゲーム装置にて実行される処理]
図7に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図7に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0071】
図7に示すように、S201,S202は、それぞれS101,S102と同様であるので、説明を省略する。
【0072】
マイクロプロセッサ14(第2画像作成部56、中心点算出手段)は、光源48の3次元座標を中心とした所定半径rの球(図8(a)及び図8(b)の球B)をニアクリップ46bで切断した切断面(同図の面S)の中心点(同図の点cp)を算出する(S203)。この所定半径rは、光源48からの光が届く距離に対応する。球の半径を示す情報は、光ディスク25等に記憶されている。
【0073】
すなわち、S203においては、球の半径を示す情報を光ディスク25等から読み出し、マイクロプロセッサ14は、ニアクリップ46bの位置に基づいて球の切断面を決定して中心点を算出する。なお、球の半径を示す情報は、ゲーム状況データ等に応じて可変であってよい。例えば、霧がかかった状態のサッカーゲームにおいては、球の半径を小さくする等してもよい。
【0074】
より具体的には、図8(a)に示すように、例えば、光源48の3次元座標lpから、仮想カメラ46の単位ベクトルv方向に、光源48からニアクリップ46bまでの距離dだけ移動させた点が、中心点の3次元座標cpとして算出される。距離dは、仮想カメラ46の3次元座標、光源の3次元座標lp、及び仮想カメラ46とニアクリップ46bとの距離に基づいて算出される。図8(a)は、仮想3次元空間40のXw−Zw平面を表す図であるが、図8(b)は、仮想3次元空間40のXw−Yw平面を表す図である。
【0075】
なお、S203においては、上記の球をニアクリップ46bで切断した例を挙げたが、この球をゲーム画面に対応する平面で切断されるようにすればよく、これに限られない。例えば、ファークリップ46cで球を切断するようにしてもよいし、視錘台46aに含まれるオブジェクトを通る平面で切断するようにしてもよい。S203においては、これらの切断面の中心点が算出されるようにすればよい。
【0076】
マイクロプロセッサ14(第2画像作成部56、座標変換手段)は、S203において算出した中心点の3次元座標を2次元座標に変換する(S204)。S204においては、S103と同様に行列を用いた変換処理が行われる。
【0077】
マイクロプロセッサ14は、中心点の2次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する(S205)。S205においては、S104と同様の処理が実行される。光の拡散を表す際に基準となる点が、S104においては光源48の2次元座標であるが、S205においては切断面の中心点の2次元座標である点でのみ異なる。つまり、切断面の中心点から光が拡散されるように第2画像が作成される。
【0078】
次いで、マイクロプロセッサ14(表示制御部58)は、S201で作成した第1画像と、S205で作成した第2画像と、を合成して表示部18に表示させる(S206)。
【0079】
[2−2.実施形態2のまとめ]
以上説明した実施形態2に係るゲーム装置10は、仮想3次元空間40(各オブジェクト)を表す第1画像と、光源48を中心とする球の切断面の中心点からの光の拡散を表す第2画像と、を合成したゲーム画面を表示させる。実施形態2におけるゲーム装置10によれば、実施形態1と同様に、比較的簡易な処理によって、光が照らされる様子を表現したゲーム画面を表示させることができる。
【0080】
なお、ゲーム装置10においては、ゲームの状況に応じて、実施形態1の図6に示す処理と、実施形態2の図7に示す処理と、を使い分けるようにしてもよい。例えば、仮想カメラ46の視界が所定の角度である場合には、実施形態2の図7に示す処理が実行されてゲーム画面が作成され、他の角度である場合には、実施形態1の図6に示す処理が実行されてゲーム画面が作成されるようにしてもよい。
【0081】
上記のように、処理をゲーム状況に応じて使い分けることにより、現実の光の拡散を表す画像をより正確に再現できるとともに、状況に応じた最適な処理を行うことができる。例えば、仮想3次元空間40内にオブジェクトが多数配置されている場合には、より簡易な処理である実施形態1の図6に示す処理を実行することにより、ゲーム画面の表示による処理負荷を軽減することができる。
【0082】
[3.実施形態3]
以下、実施形態3について説明する。実施形態1と実施形態2においては、仮想3次元空間40を仮想カメラ46から見た様子を表す第1画像と、光源48からの光の拡散を表す第2画像と、が合成されていた。
【0083】
しかしながら、第1画像と第2画像とを単に合成すると、光の遮蔽が表現されない場合がある。例えば、仮想カメラ46と光源48との間にオブジェクトがある場合には、本来であれば、オブジェクトによって光が遮られる。この光が遮られた領域は暗く表現されるべきであるが、第1画像と第2画像とを単に合成すると、光の拡散を表す第2画像のために、この暗くすべき領域も明るくなってしまう可能性がある。
【0084】
上記のことを防止するためには、光が遮蔽された場合、暗くすべき領域については、光の拡散を示す第2画像の割合を0にして画像を合成することも考えられる。しかし、この手法では、オブジェクトが不自然に暗くなってしまう場合がある。つまり、光源48がオブジェクトによって遮られた場合に、光がオブジェクトを回りこむような様子を表現することができない。
【0085】
この点、実施形態3は、第1画像と第2画像とを合成する際に、奥行き情報を考慮する点に特徴がある。
【0086】
なお、実施形態3に係るゲーム装置10のハードウェア構成は、実施形態1(図1参照)と同様であるため、ここでは説明を省略する。また、実施形態3に係るゲーム装置10においても、図2と同様の仮想3次元空間40が生成されてゲームが実行される。
【0087】
実施形態3に係るゲーム装置10の機能ブロック図は、奥行き情報取得部60が含まれる点において実施形態1とは異なる。
【0088】
[3−1.ゲーム装置で実現される機能]
図9は、実施形態3に係るゲーム装置10において実現される機能群を示す機能ブロック図である。図9に示すように、実施形態3においては、奥行き情報取得部60が含まれる。この機能は、マイクロプロセッサ14が光ディスク25から読み出されたプログラムに従って動作することにより、実現される。
【0089】
[奥行き情報取得部]
奥行き情報取得部60は、表示部18に表示されるゲーム画面の各画素に対応する奥行き情報を取得する。奥行き情報とは、仮想カメラ46からの距離を示す情報である。例えば、キャラクタオブジェクト44が表示されている画素に対応する奥行き情報は、仮想カメラ46とキャラクタオブジェクト44との距離を示す。
【0090】
奥行き情報は、図示しないROM等に記憶されたプログラマブルシェーダ等によって作成される。奥行き情報は、例えば、8ビットのグレースケールの画像で表現されて主記憶26等に記憶される。仮想カメラ46に最も近い画素の画素値を255(白を表す)とし、最も遠い画素の画素値を0(黒を表す)とする。即ち、仮想カメラ46からの距離に応じて画素値が0〜255の間で表現される。なお、奥行き情報の作成方法はこれに限られず、公知の種々の方法を適用可能とする。
【0091】
図10は、奥行き情報の一例を示す図である。図10に示す例は、ゲーム装置10においてサッカーゲームが実行され、いわゆるゴールキックの際にキーパーのキャラクタオブジェクト44aの背面に仮想カメラ46が配置された場合の奥行き情報である。この例では、仮想的に奥行き情報を4段階(図10の領域E1〜領域E4)とする。
【0092】
図10に示すように、仮想カメラ46との距離が近い画素の領域E1は白く(網かけがない領域)、仮想カメラ46との距離が遠い画素の領域E4は黒く(網かけがある領域)表現される。領域E1と領域E2の間にある領域E2とE3は、仮想カメラ46からの距離に応じて濃淡が決定される。つまり、仮想カメラ46からの距離が画素値によって表現されている。
【0093】
[3−2.ゲーム装置にて実行される処理]
図11に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図11に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0094】
図11に示すように、S301はS101と同様であるので、説明を省略する。
【0095】
マイクロプロセッサ14は、光源48からの光の拡散を表す第2画像を作成する(S302)。S302においては、例えば、S102〜S104の処理、又はS202〜S205の処理が行われることにより、第2画像が作成される。
【0096】
次いで、マイクロプロセッサ14(奥行き情報取得部60)は、ゲーム画面の各画素に対応する奥行き情報を取得する(S303)。先述のように、例えばプログラマブルシェーダ等によって、表示部18のフレーム処理が実行される毎に奥行き情報が作成されて主記憶26等に記憶されている。
【0097】
マイクロプロセッサ14(表示制御部58、第1の決定手段)は、奥行き情報に基づいて各画素の半透明合成の割合を決定する(S304)。S304においては、図10に示す画素値から半透明合成の割合が決定される。決定された割合は、画素の位置と対応付けられて主記憶26に記憶される。
【0098】
例えば、ゲーム画面のある画素の画素値を、「(1−アルファ値)×第1画像の画素値+アルファ値×第2画像の画素値」として算出することにより合成する場合、S304においては、アルファ値=α(例えば0.3)−Δα(ただし、Δα=0.2*(画素値/255))となるように算出される。
【0099】
このようにアルファ値を定めることにより、奥行き情報に応じたアルファ値を画素毎に決定することができる。この場合には、仮想カメラ46に近い画素ほどアルファ値が大きくなるので、第2画像の割合を小さくすることができる。
【0100】
なお、S304における半透明合成の割合の決定方法は、奥行き情報に基づいていればよく、これに限られない。例えば、奥行き情報と半透明合成の割合が対応付けられたデータテーブルを用意しておいてもよいし、所定の計算式に基づいて半透明合成の割合が算出されるようにしてもよい。
【0101】
マイクロプロセッサ14は、S304において決定された半透明合成の割合に基づいて第1画像と第2画像とを合成して表示部18に表示させる(S305)。
【0102】
[3−3.実施形態3のまとめ]
以上説明した実施形態3に係るゲーム装置10は、ゲーム画面の各画素に対応する奥行き情報を取得し、この奥行き情報に基づいて各画素の半透明合成の割合を決定する。実施形態3におけるゲーム装置10によれば、光源48からの光が遮蔽された場合であっても、遮蔽物を回り込む光を表現することができる。画素毎に半透明合成の割合を決定するので、ゲーム画面に表示される遮蔽物の領域が黒くなりすぎることを防止することができる。つまり、光源48からの光がオブジェクトに遮られつつも、光がオブジェクトを回り込む様子を表現することができる。
【0103】
[4.実施形態4]
以下、実施形態4について説明する。実施形態1〜3においては、光源48からの光の拡散が表現されるようにゲーム画面が作成されていた。
【0104】
しかしながら、単に第1画像と第2画像とを合成すると、光の拡散を表す第2画像のために、第1画像に表されたオブジェクトの影が薄くなってしまう場合がある。
【0105】
この点、実施形態4は、仮想3次元空間40における各オブジェクトの影をゲーム画面に反映しつつ、光の拡散を表現する点に特徴がある。
【0106】
なお、実施形態4に係るゲーム装置10のハードウェア構成及び機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態4に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0107】
[4−1.ゲーム装置にて実行される処理]
図12に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図12に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0108】
図12に示すように、まず、マイクロプロセッサ14(第1画像作成部52、オブジェクト画像作成手段)は、光源が取り除かれた状態における仮想3次元空間(各オブジェクト)を表す画像を作成する(S401)。S101(図6)においては、視錘台46aに含まれる各オブジェクトの影が第1画像に含まれてもよいが、S401においては、この影を含ませずに、各オブジェクトの画像のみが作成される点で、S401はS101と異なる。S401において作成される画像を、以降ではオブジェクト画像という。オブジェクト画像は、主記憶26等に記憶される。
【0109】
図13(a)は、S401において作成されるオブジェクト画像の一例である。図13(a)に示すように、光源が取り除かれた状態における各キャラクタオブジェクト44b,44c、44dを仮想カメラ46から見た様子を表す画像が作成される。
【0110】
マイクロプロセッサ14(第1画像作成部52、影画像作成手段)は、視錘台46aに含まれる各オブジェクトの影を表す画像を作成する(S402)。S402においては、マイクロプロセッサ14は、ゲームデータ記憶部50に記憶されたオブジェクトの位置座標に対応する所定領域を塗りつぶしたり、光源48から各オブジェクトに光が照射されてフィールドオブジェクト42に影が映るように予め定められた計算式によって影の領域を算出する等して画像を作成する。以降、S402において作成される画像を、影画像という。影画像は、主記憶26等に記憶される。
【0111】
図13(b)は、S402において作成される影画像の一例である。図13(b)に示すように、図13(a)に示す各キャラクタオブジェクト44b,44c,44dに対応する位置に影44e,44f,44gが配置された画像が作成される。影画像に含まれる影のそれぞれは色の濃淡が異なっていてもよい。例えば、光源48から近い影は濃く、光源48から遠い影は淡くするようにしてもよい。
【0112】
次いで、マイクロプロセッサ14は、S401で作成したオブジェクト画像と、S402で作成した影画像と、を合成して第1画像を作成する(S403)。S403における合成処理においても、S105と同様の半透明合成が行われる。
【0113】
マイクロプロセッサ14は、S402で作成した影画像に基づいて光の拡散を表す第2画像を作成する(S404)。S404においては、図6に示すS102〜S104の処理、又は図7に示すS202〜S205の処理と同様の処理が行われる。S404では、第2画像の各画素の画素値を、該画素が影画像の影の領域に対応する画素であるか否かに基づいて設定する点で、S102〜S104又はS202〜S205とは異なる。より具体的には、第2画像の、影画像の影の領域に対応する画素の画素値を、影画像の影の領域に対応する画素でない場合に比べて、暗く(すなわち、光が弱くなるように)設定する点で、S102〜S104又はS202〜S205とは異なる。
【0114】
図13(c)は、S404において作成される第2画像の一例である。図13(c)に示すように、図13(b)に示す影画像の影44e,44f,44gに対応する領域が、影がない場合に比べて暗くなるように第2画像が作成される。S404においては、例えば、S102〜S104と同様の処理で光の拡散を表す画像を作成し、この画像のうち影画像の影の領域に対応する画素を所定値だけ暗くする。例えば、この画素の画素値を2/3にする。
【0115】
なお、S404においては、影画像に含まれる影の領域に基づいて第2画像が作成されればよく、第2画像の作成方法は、これに限られない。他にも、影画像に含まれる影の領域のうち、光源48に近い画素と遠い画素とで暗くさせる割合を異ならしめるようにしてもよい。
【0116】
S405は、S105と同様であるので説明を省略する。
【0117】
[4−2.実施形態4のまとめ]
以上説明した実施形態4に係るゲーム装置10は、影画像とオブジェクト画像を合成して第1画像を作成し、第2画像(光源48からの光の拡散を表す画像)の画素のうちの、影画像に含まれる影の領域に対応する画素の画素値を、光が弱くなるように(すなわち、暗くなるように)設定する。実施形態4におけるゲーム装置10によれば、各オブジェクトに対応する影の濃さを正確に表現することができる。即ち、第1画像と第2画像を合成した際に、第1画像に表されたオブジェクトの影が明るくなって影が目立たなくなってしまうことを防止することができる。
【0118】
[5.実施形態5]
以下、実施形態5について説明する。実施形態4においては、影画像に含まれる影の領域が暗くなるように第2画像が作成されていた。この点、実施形態5は、影画像に含まれる影領域に基づいて各画素の半透明合成の割合を決定して第1画像と第2画像を合成する点に特徴がある。
【0119】
なお、実施形態5に係るゲーム装置10のハードウェア構成及び機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態5に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0120】
[5−1.ゲーム装置にて実行される処理]
図14に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図14に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0121】
図14に示すように、S501〜S503は、それぞれS401〜S403と同様であるので説明を省略する。
【0122】
マイクロプロセッサ14は、光の拡散を表す第2画像を作成する(S504)。S504においては、S102〜S104の処理、又はS202〜S205の処理が行われて第2画像が作成される。
【0123】
マイクロプロセッサ14(表示制御部58、第2の決定手段)は、S502で作成した影画像に基づいて各画素の半透明合成の割合を決定する(S505)。S505においては、第2画像の各画素の半透明合成の割合が、該画素が影画像の影の領域に対応する画素であるか否かに基づいて決定する。具体的には、第2画像の画素のうちの、影画像に含まれる影の領域内に対応する画素は、この領域外の画素よりも半透明合成の割合を小さくする。
【0124】
例えば、ゲーム画面のある画素の画素値を、「(1−アルファ値)×第1画像の画素値+アルファ値×第2画像の画素値」として算出することにより合成する場合、S505においては、影画像の影の領域内に対応する画素のアルファ値を0.4、他の領域の画素のアルファ値を0.5等のように決定される。この場合、影画像の影の領域内に対応する画素については、第2画像(光源からの光の拡散を表す画像)の半透明合成の割合が低くなるため、後述するS506において半透明合成を行った際に、影の領域が薄くなりすぎないようにして合成される。
【0125】
なお、S505における半透明合成の割合の決定方法は、影画像に基づいたものであればよく、これに限られない。例えば、影画像の画素値と半透明合成の割合が対応付けられたデータテーブルを用意しておいて、S505で参照されるようにしてもよい。
【0126】
マイクロプロセッサ14は、S505において決定された割合に基づいて第1画素と第2画素を合成する(S506)。
【0127】
[5−2.実施形態5のまとめ]
以上説明した実施形態5に係るゲーム装置10では、影画像とオブジェクト画像を合成して第1画像を作成し、第2画像の画素のうちの、影画像に含まれる影の領域に対応する画素の半透明合成の割合を、影の領域に対応しない画素よりも小さくする。実施形態5におけるゲーム装置10によれば、各オブジェクトに対応する影の濃さを正確に表現することができる。即ち、第1画像に第2画像を半透明合成した際に、第1画像に表されたオブジェクトの影が薄くなってしまうことを防止することができる。
【0128】
[6.実施形態6]
以下、実施形態6について説明する。実施形態4においては、影画像に含まれる影の領域が暗くなるように第2画像が作成されていた。実施形態5においては、影画像に含まれる影領域に基づいて各画素の半透明合成の割合を決定して第1画像と第2画像を合成していた。この点、実施形態6は、影画像の、第2画像の光の領域に対応する領域に表される影が濃くなるようにして影画像を作成する点に特徴がある。
【0129】
なお、実施形態6に係るゲーム装置10のハードウェア構成及び機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態6に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0130】
[6−1.ゲーム装置にて実行される処理]
図15に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図15に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0131】
図15に示すように、S601とS602は、それぞれS504とS501と同様であるので説明を省略する。
【0132】
マイクロプロセッサ14(第1画像作成部52、影画像作成手段)は、オブジェクトの影を表した影画像を作成する(S603)。この場合、影画像の画素のうちの、影の領域内の画素の画素値が、該画素が前記第2画像の光の領域に対応する画素であるか否かに基づいて設定される。
【0133】
具体的には、第2画像の画素値が参照されることにより、所定値よりも明るい画素が光の領域と判断され、そして、影画像の画素のうちの、影が表される領域内の画素の画素値が、該画素が第2画像の光の領域に対応する画素である場合には、該画素が第2画像の光の領域に対応する画素でない場合に比べて暗く(影が濃くなるように)設定される。なお、S603においては、第2画像の光の領域に基づいて影画像が作成されればよく、これに限られない。例えば、光源48との距離が一定値以内である影については暗くする等してもよい。
【0134】
マイクロプロセッサ14は、S602において作成したオブジェクト画像とS603において作成した影画像とを合成して第1画像を作成する(S604)。S604においては、S503と同様の処理が行われる。
【0135】
S605は、S105と同様であるので説明を省略する。
【0136】
[6−2.実施形態6のまとめ]
以上説明した実施形態6に係るゲーム装置10では、影画像を作成する際に、影が表される領域内の画素が第2画像の光の領域に対応する画素である場合、該画素の画素値が、影が濃くなるように設定される。実施形態6におけるゲーム装置10によれば、各オブジェクトに対応する影の濃さを正確に表現することができる。即ち、第1画像(影画像)に第2画像を半透明合成した際に、第1画像に表されたオブジェクトの影が薄くなってしまうことを防止することができる。
【0137】
なお、実施形態1〜実施形態6においては、画像処理装置をゲーム装置に適用した例を挙げて説明したが、本発明に係る画像処理装置の適用対象は、パーソナルコンピュータ等他の装置であってもよい。
【符号の説明】
【0138】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 画像処理部、18 表示部、20 音声処理部、22 音声出力部、24 光ディスク再生部、25 光ディスク、26 主記憶、28 メモリカード、30 入出力処理部、32 コントローラ、40 仮想3次元空間、42 フィールドオブジェクト、44 キャラクタオブジェクト、46 仮想カメラ、46a 視錘台、46b ニアクリップ、46c ファークリップ、48 光源、50 ゲームデータ記憶部、52 第1画像作成部、54 座標取得部、56 第2画像作成部、58 表示制御部、60 奥行き情報取得部、θ 視野角、v 視線ベクトル、A アスペクト比、B 球、S 切断面。
【技術分野】
【0001】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
ゲームキャラクタ等の各種オブジェクトや光源が配置された仮想3次元空間を所与の視点から見た様子を表示するゲーム装置が知られている。例えば、オブジェクトの影の描画が、光源の位置やオブジェクトの位置及び形状に基づいて制御され、ゲーム画面が表示されるゲーム装置が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−195747号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲーム装置では、光源がゲーム画面に対応する視界から外れた場合等に、光源からの光が正確に表現されない場合がある。光源が視界内に入っていない場合に、光源からの光によって視界内の領域が照らされる様子を表現することができなかった。
【0005】
本発明は、上記課題に鑑みてなされたものであって、その目的とするところは、光源が視界内に入っていない場合であっても、光源からの光によって視界内の領域が照らされる様子を好適に表現することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置であって、前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段と、前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段と、前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段と、前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置の制御方法であって、前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像ステップと、前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得ステップと、前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成ステップと、前記第1画像と前記第2画像が合成された画面を表示させる表示制御ステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段、前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段、前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段、前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段、として前記コンピュータを機能させることを特徴とする。このコンピュータは、パーソナルコンピュータ、サーバコンピュータ、家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末等である。また、プログラムは、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な情報記憶媒体に格納されてもよい。
【0009】
本発明によれば、光源が視界内に入っていない場合であっても、光源からの光によって視界内の領域が照らされる様子を好適に表現することが可能になる。
【0010】
また、本発明の一態様では、前記第1画像又は前記第2画像の各画素に対応する奥行き情報を取得する奥行き情報取得手段を更に含み、前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記各画素の半透明合成の割合を前記奥行き情報に基づいて決定する第1の決定手段を含むことを特徴とする。
【0011】
また、本発明の一態様では、前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、前記第2画像作成手段は、前記第2画像の各画素の画素値を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて設定することを特徴とする。
【0012】
また、本発明の一態様では、前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記第2画像の各画素の半透明合成の割合を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて決定する第2の決定手段を含むことを特徴とする。
【0013】
また、本発明の一態様では、前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する手段であって、前記影画像の画素のうちの、影の領域内の画素の画素値を、該画素が前記第2画像の光の領域に対応する画素であるか否かに基づいて設定する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成することを特徴とする。
【0014】
また、本発明の一態様では、前記第2画像作成手段は、前記光源の3次元座標を画面に対応する2次元座標に変換する座標変換手段を含み、前記光源の2次元座標から光が拡散するように第2画像を作成することを特徴とする。
【0015】
また、本発明の一態様では、前記第2画像作成手段は、前記光源の3次元座標を中心とする所定半径の球を前記視点に対応する平面で切断した切断面の中心点を算出する中心点算出手段と、前記中心点の3次元座標を画面に対応する2次元座標に変換する座標変換手段と、含み、前記中心点の2次元座標から光が拡散するように第2画像を作成することを特徴とすることを特徴とする。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】ゲーム画面の一例を示す図である。
【図4】実施形態1に係るゲーム装置に実現される機能群を示す機能ブロック図である。
【図5】(a)は、第1画像の一例を示す図であり、(b)は、第2画像の一例を示す図であり、(c)は、合成画像の一例を示す図である。
【図6】ゲーム装置において実行される処理の一例を示すフロー図である。
【図7】実施形態2に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図8】(a)は、仮想3次元空間のXw−Zw平面を表す図であり、(b)は、仮想3次元空間のXw−Yw平面を表す図である。
【図9】実施形態3に係るゲーム装置に実現される機能群を示す機能ブロック図である。
【図10】奥行き情報の一例を示す図である。
【図11】実施形態3に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図12】実施形態4に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図13】(a)は、オブジェクト画像の一例を示す図であり、(b)は、影画像の一例を示す図であり、(c)は、第2画像の一例を示す図である。
【図14】実施形態5に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図15】実施形態6に係るゲーム装置において実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0017】
[1.実施形態1]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置は、例えば、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、実施形態1に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0018】
[1−1.ゲーム装置のハードウェア構成]
図1は、本発明の実施形態に係るゲーム装置の構成を示す図である。図1に示すように、ゲーム装置10においては、家庭用ゲーム機11に情報記憶媒体である光ディスク25及びメモリカード28が装着される。また、ゲーム装置10には、表示部18及び音声出力部22が接続される。例えば、表示部18には家庭用テレビ受像機が用いられ、音声出力部22にはその内蔵スピーカが用いられる。
【0019】
家庭用ゲーム機11は、バス12、マイクロプロセッサ14、画像処理部16、音声処理部20、光ディスク再生部24、主記憶26、入出力処理部30及びコントローラ32を含んで構成される公知のコンピュータゲームシステムである。コントローラ32以外の構成要素は筐体内に収容される。
【0020】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、画像処理部16、主記憶26及び入出力処理部30は、バス12によって相互データ通信可能に接続される。
【0021】
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、光ディスク25から読み出されるプログラムや、メモリカード28から読み出されるデータに基づいて、家庭用ゲーム機11の各部を制御する。
【0022】
主記憶26は、例えばRAMを含んで構成されるものであり、光ディスク25から読み出されたプログラムやメモリカード28から読み出されたデータが必要に応じて書き込まれる。主記憶26は、マイクロプロセッサ14の作業用メモリとしても用いられる。
【0023】
画像処理部16は、VRAMを含んで構成される。画像処理部16は、マイクロプロセッサ14から送られる画像データに基づいてVRAM上にゲーム画面を描画する。画像処理部16は、この内容をビデオ信号に変換して所定のタイミングで表示部18に出力する。
【0024】
入出力処理部30は、マイクロプロセッサ14が音声処理部20、光ディスク再生部24、メモリカード28及びコントローラ32にアクセスするためのインタフェースである。入出力処理部30には、音声処理部20、光ディスク再生部24、メモリカード28及びコントローラ32が接続される。
【0025】
音声処理部20はサウンドバッファを含んで構成される。音声処理部20は、光ディスク25から読み出されてサウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを音声出力部22から出力する。
【0026】
光ディスク再生部24は、マイクロプロセッサ14からの指示に従って光ディスク25に記録されたプログラムを読み取る。なお、ここではプログラムを家庭用ゲーム機11に供給するために光ディスク25を用いることとするが、CD−ROMやROMカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機11に供給するようにしてもよい。
【0027】
メモリカード28は、不揮発性メモリ(例えばEEPROM等)を含んで構成される。家庭用ゲーム機11は、メモリカード28を装着するための複数のメモリカードスロットを備えており、複数のメモリカード28を同時に装着可能となっている。メモリカード28は、このメモリカードスロットに対して脱着可能に構成され、例えば、セーブデータなどの各種ゲームデータを記憶させるために用いられる。
【0028】
コントローラ32は、プレイヤが各種ゲーム操作の入力をするためのものである。入出力処理部30は、一定周期毎(例えば1/60秒毎)にコントローラ32の各部の状態をスキャンする。このスキャン結果を表す操作信号は、バス12を介してマイクロプロセッサ14に入力される。
【0029】
マイクロプロセッサ14は、コントローラ32からの操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11は、複数のコントローラ32を接続可能に構成されている。つまり、家庭用ゲーム機11は、各コントローラ32から入力される操作信号に基づいて、マイクロプロセッサ14がゲーム制御を行うようになっている。
【0030】
[1−2.ゲーム装置における仮想3次元空間]
ゲーム装置10では、仮想3次元空間(仮想的な3次元ゲーム空間)が主記憶26に構築される。図2は、主記憶26に構築される仮想3次元空間の一部(仮想3次元空間40)を示す図である。図2に示すように、仮想3次元空間40には、互いに直交するXw軸、Yw軸、及びZw軸が設定される。仮想3次元空間40内の位置は、これらの座標軸の3次元座標、即ちワールド座標値(ワールド座標系の座標値)により特定される。
【0031】
仮想3次元空間40には、地面や床面等を表すフィールドオブジェクト42が配置される。フィールドオブジェクト42は、例えば、Xw−Zw平面に平行に配置される。フィールドオブジェクト42上には、キャラクタオブジェクト44が配置される。
【0032】
なお、図2では省略されているが、例えば、ゲーム装置10でサッカーゲームが実行される場合には、サッカーのゴールを表すオブジェクトや、サッカーボールを表すオブジェクトが配置される。つまり、仮想3次元空間40には、サッカーの試合会場が形成される。
【0033】
また、仮想3次元空間40には仮想カメラ46(視点)が設定される。この仮想カメラ46から仮想3次元空間40を見た様子を表すゲーム画面が生成され、表示部18に表示される。
【0034】
仮想カメラ46に対応する視錘台46aに含まれる各オブジェクトが、ゲーム画面に表示される。図2に示すように、視錘台46aは、仮想カメラ46の視野のうち、ニアクリップ46bと、ファークリップ46cと、によって囲まれる斜線内の領域である。
【0035】
図2のように、仮想カメラ46の視野は、仮想カメラ46の位置座標、仮想カメラ46の視線方向を示す視線ベクトルv、仮想カメラ46の視野角θ、及びゲーム画面のアスペクト比Aによって決定される。これらの値は、主記憶26に記憶され、ゲームの状況に応じて適宜変更される。
【0036】
ニアクリップ46bは、ゲーム画面に表示されるもののうち、仮想3次元空間において、最も仮想カメラ46に近いものを定義する。ファークリップ46cは、ゲーム画面に表示される領域のうち、仮想3次元空間において、最も仮想カメラ46から遠いものを定義する。
【0037】
ニアクリップ46b及びファークリップ46cのそれぞれと、仮想カメラ46と、の距離に関する情報が主記憶26に記憶される。この距離に関する情報は、ゲーム状況に応じて適宜変更される。即ち、視錘台46aは、仮想カメラ46の視野を、ニアクリップ46bとファークリップ46cとで切り取った領域となる。
【0038】
図2に示すように、仮想3次元空間40には光源48が設定される。この光源48の位置座標に基づいて後述の処理を行うことにより、ゲーム画面に光が拡散する様子を表現することができる。また、光源48からの光により、フィールドオブジェクト42上にキャラクタオブジェクト44の影ができるようにしてもよい。
【0039】
[1−3.ゲーム画面に対応する2次元座標]
図3は、図2に示す仮想3次元空間を仮想カメラ46から見た様子を表すゲーム画面である。ゲーム画面は、所定時間毎(例えば1/60秒毎)に表示が更新される。図3に示すように、視錘台46aに含まれるフィールドオブジェクト42及びキャラクタオブジェクト44がゲーム画面に表示される。ゲーム画面は、互いに直行するXs軸、Ys軸が設定される。例えば、左上を原点O(0,0)とし、各画素に対応する座標が割り当てられる。
【0040】
同様に、ゲーム画面の左下を座標P1(0,Ymax)、右上を座標P2(Xmax,0)、右下を座標P3(Xmax,Ymax)とする。つまり、図3に示すゲーム画面例では、ゲーム画面領域を構成するXmaxとYmaxの比率は、ゲーム画面のアスペクト比Aに対応する。
【0041】
ゲーム画面を表示させる際、マイクロプロセッサ14は、まず、視錘台46aの領域内にある各オブジェクトの3次元座標に、行列を用いた所定の演算処理を行う。この演算処理により、各オブジェクトの3次元座標が、2次元座標であるスクリーン座標(スクリーン座標系の座標)に変換される。この2次元座標により、ゲーム画面上にオブジェクトを表示すべき位置が特定される。
【0042】
図2に示す例では、光源48は視錘台46aの領域外にあるので、図3に示すように、光源48に対応する2次元座標はゲーム画面の領域外となる。後述する処理においては、この光源48の2次元座標に基づいて、光源48からの光の拡散を表す画像が作成される。
【0043】
[1−4.ゲーム装置で実現される機能]
図4は、ゲーム装置10において実現される機能群を示す機能ブロック図である。図4に示すように、ゲーム装置10では、ゲームデータ記憶部50、第1画像作成部52、座標取得部54、第2画像作成部56、及び表示制御部58が実現される。これらの機能は、マイクロプロセッサ14が光ディスク25から読み出されたプログラムに従って動作することにより、実現される。
【0044】
[1−4−1.ゲームデータ記憶部]
ゲームデータ記憶部50は、主記憶26及び光ディスク25を主として実現される。ゲームデータ記憶部50は、ゲームに必要な各種データを記憶する。本実施形態の場合、ゲームデータ記憶部50は、仮想3次元空間の現在の状況を示すゲーム状況データ等を記憶する。
【0045】
図2に示す仮想3次元空間は、ゲーム状況データに基づいて主記憶26に構築される。ゲーム状況データには、各オブジェクト、仮想カメラ46、及び光源48の3次元座標や、オブジェクトの色や光源の強さ等のゲーム画面の色彩に関する情報が格納される。また、ゲーム状況データには、ニアクリップ46b及びファークリップ46cのそれぞれと、仮想カメラ46と、の距離に関する情報が格納される。他にも、ゲーム状況データには、仮想カメラ46の視線ベクトルv、視野角θ、ゲーム画面のアスペクト比A等が格納される。
【0046】
[1−4−2.第1画像作成部]
第1画像作成部52は、マイクロプロセッサ14を主として実現される。第1画像作成部52は、仮想3次元空間40を仮想カメラ46から見た様子を表す第1画像を作成する。この第1画像は、ゲームデータ記憶部50が参照されることにより作成される。つまり、この第1画像は、光源48からの光の拡散が考慮されずに、各オブジェクトの色が、そのまま表された画像である。
【0047】
図5(a)は、第1画像作成部52が作成する第1画像の一例を示す図である。第1画像は、仮想3次元空間40を仮想カメラ46から見た様子が表され、図5(a)に示すように、各オブジェクトの色がそのまま表された状態で作成される。
【0048】
[1−4−3.座標取得部]
座標取得部54は、マイクロプロセッサ14を主として実現される。座標取得部54は、ゲームデータ記憶部50に格納された光源48の3次元座標を取得する。
【0049】
[1−4−4.第2画像作成部]
第2画像作成部56は、マイクロプロセッサ14を主として実現される。第2画像作成部56は、座標取得部54が取得した光源48の3次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する。この第2画像は、視錘台46a内の各オブジェクトが含まれずに光のグラデーションのみが表現された画像である。
【0050】
図5(b)は、第2画像作成部56が作成する第2画像の一例を示す図である。図5(b)の例は、図3に示す位置に光源48の2次元座標がある場合に作成される第2画像である。図5(b)に示すように、光源48の2次元座標を中心に円を描くように光が拡散する第2画像が作成される。
【0051】
[1−4−5.表示制御部]
表示制御部58は、マイクロプロセッサ14及び画像処理部16を主として実現される。表示制御部58は、第1画像作成部52が作成した第1画像と、第2画像作成部56が作成した第2画像と、が合成されたゲーム画面を表示部18に表示させる。
【0052】
第1画像と第2画像を合成させる方法は、いわゆるアルファ値(半透明合成率,透過度)を使用した半透明合成を用いるものとする。例えば、アルファ値を0〜1の実数とすると、ゲーム画面のある画素(座標を(Xs,Ys)とする)の画素値は、「(1−アルファ値)×第1画像の座標(Xs,Ys)の画素値+アルファ値×第2画像の座標(Xs,Ys)の画素値」等のように算出される。例えば、アルファ値は0.2に設定される。なお、第1画像と第2画像を合成させる方法は、これに限られず、他の任意の手法も適用可能とする。
【0053】
図5(c)は、表示制御部58が表示させる画像の一例を示す図である。図5(c)に示すように、第1画像と第2画像が合成された画像が表示されることにより、視界外の光源からの光によって視界内の領域が照らされる様子を表すゲーム画面を表示させることができる。
【0054】
[1−5.ゲーム装置にて実行される処理]
図6は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される処理の一例を示すフロー図である。図6の処理は、マイクロプロセッサ14が、光ディスク25から読み出されたプログラムに従って動作することにより実行される。
【0055】
図6に示すように、まず、マイクロプロセッサ14(第1画像作成部52)は、ゲームデータ記憶部50を参照し、光源48が取り除かれた状態における第1画像を作成する(S101)。S101において作成される第1画像は、視錘台46aに含まれる各オブジェクトの色がそのまま表された画像である。
【0056】
なお、S101においては、光源48が取り除かれた状態における第1画像が作成されるようにしたが、視錘台46aに含まれる各オブジェクトの色がそのまま表されるようにすればよく、第1画像の作成方法は、これに限られない。例えば、S101においては、視錘台46aに含まれる各オブジェクトの影等が表現されるように第1画像が作成されるようにしてもよい。
【0057】
次いで、マイクロプロセッサ14(座標取得部54)は、主記憶26に記憶されたゲーム状況データを参照して光源48の3次元座標を取得する(S102)。マイクロプロセッサ14(第2画像作成部56、座標変換手段)は、光源48の3次元座標をゲーム画面に対応する2次元座標に変換する(S103)。S103においては、先述のように所定の行列演算により変換処理が行われる。
【0058】
マイクロプロセッサ14は、光源48の2次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する(S104)。S104においては、光源48の2次元座標から光が拡散するように第2画像が作成される。例えば、光源48の2次元座標が図3に示す位置の場合、この位置を中心とした所定半径の円が計算され、この円の中心点とゲーム画面内の画素との距離に応じた強さの光が拡散されるように各画素値が決定されて第2画像が作成される。つまり、円の中心点と画素との距離が短ければ光が強く、距離が長ければ光が弱くなるように各画素値が決定される。
【0059】
なお、上記のような円ではなく、他の形状(楕円や四角形等)に基づいて光が拡散されるように各画素値が決定され、第2画像が作成されるようにしてもよい。この場合も上記と同様に、光源48の2次元座標と画素との距離に応じた強さの光が拡散されるように各画素値が決定されて第2画像が作成される。
【0060】
また、S104においては、光源48の2次元座標に基づいて第2画像が作成されればよく、作成の方法はこれらに限られない。例えば、光の拡散を表す所定の計算式に光源48の2次元座標を代入し、各画素の画素値が算出されることにより第2画像が作成されるようにしてもよい。
【0061】
次いで、マイクロプロセッサ14(表示制御部58)は、S101で作成した第1画像と、S104で作成した第2画像と、を合成して表示部18に表示させる(S105)。S105においては、第1画像と第2画像が所定のアルファ値に基づいて半透明合成され、この合成画像が表示部18に表示される。このアルファ値は、ゲーム状況データ等に応じて可変であってよい。例えば、ゲーム空間において雨が降っている場合や夕暮れの場合は、第2画像の割合が低くなるように設定される。
【0062】
[1−6.実施形態1のまとめ]
以上説明した実施形態1に係るゲーム装置10は、仮想3次元空間(各オブジェクト)を表す第1画像と、光源48からの光の拡散を表す第2画像と、が合成されたゲーム画面を表示させる。実施形態1におけるゲーム装置10によれば、光源48がゲーム画面の領域外にある場合でも、光が照らされる様子を表現したゲーム画面を表示させることができる。
【0063】
また、ゲーム装置10は、光源48の3次元座標を2次元座標に変換して第2画像を作成する。光源48と各オブジェクトとの位置関係等に基づいて、比較的簡易な処理によって実現することができる。例えば、オブジェクトの色を画素毎に色変換する方法等に比べて、処理負荷を軽減することができる。
【0064】
なお、本発明は、以上説明した実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。例えば、本実施形態では家庭用ゲーム機を例に挙げて説明したが、ゲームセンター等に設置されるアーケード型ゲーム機であってもよい。
【0065】
また、S103においては、光源48の3次元座標を2次元座標に変換して、光源48の2次元座標に基づいて第2画像を作成したが、この変換処理を行わずに光源48の3次元座標に基づいて第2画像が作成されるようにしてもよい。例えば、仮想カメラ46の方向ベクトルvがXw軸方向と一致している場合等に、光源48の3次元座標のYw座標成分とZw座標成分とに基づいて第2画像が作成されるようにしてもよい。他にも、ニアクリップ46bの中心点と光源48との3次元座標の位置関係に基づいて第2画像が作成されるようにしてもよい。
【0066】
また、光源48の3次元座標をワールド座標値として説明したが、第2画像を作成する際に使用される光源48の3次元座標は、仮想カメラ46の位置を原点とするビュー座標値等であってもよい。
【0067】
また、実施形態1においては、光源48を1つとして説明したが、任意の数の光源48が仮想3次元空間40に配置されていてよい。例えば、ゲーム装置10が、夜間におけるサッカーゲームを実行する際には、実際のサッカー場の照明に対応する位置に、複数の光源48を配置してもよい。第2画像を作成する際には、それぞれの光源48から光が拡散される画像が作成される。つまり、それぞれの光源48についてS104と同様の処理が行われて光の拡散が計算される。これらの光の拡散のそれぞれが各画素毎に加算されることにより、第2画像が作成される。
【0068】
[2.実施形態2]
以下、実施形態2について説明する。実施形態1においては、光源48の3次元座標を2次元座標に変換して第2画像を作成していた。この点、実施形態2は、光源48の3次元座標を中心とする所定半径の球を、ニアクリップ46bで切断した切断面の中心点に基づいて第2画像を作成する点に特徴がある。
【0069】
なお、実施形態2に係るゲーム装置10のハードウェア構成や機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態2に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0070】
[2−1.ゲーム装置にて実行される処理]
図7に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図7に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0071】
図7に示すように、S201,S202は、それぞれS101,S102と同様であるので、説明を省略する。
【0072】
マイクロプロセッサ14(第2画像作成部56、中心点算出手段)は、光源48の3次元座標を中心とした所定半径rの球(図8(a)及び図8(b)の球B)をニアクリップ46bで切断した切断面(同図の面S)の中心点(同図の点cp)を算出する(S203)。この所定半径rは、光源48からの光が届く距離に対応する。球の半径を示す情報は、光ディスク25等に記憶されている。
【0073】
すなわち、S203においては、球の半径を示す情報を光ディスク25等から読み出し、マイクロプロセッサ14は、ニアクリップ46bの位置に基づいて球の切断面を決定して中心点を算出する。なお、球の半径を示す情報は、ゲーム状況データ等に応じて可変であってよい。例えば、霧がかかった状態のサッカーゲームにおいては、球の半径を小さくする等してもよい。
【0074】
より具体的には、図8(a)に示すように、例えば、光源48の3次元座標lpから、仮想カメラ46の単位ベクトルv方向に、光源48からニアクリップ46bまでの距離dだけ移動させた点が、中心点の3次元座標cpとして算出される。距離dは、仮想カメラ46の3次元座標、光源の3次元座標lp、及び仮想カメラ46とニアクリップ46bとの距離に基づいて算出される。図8(a)は、仮想3次元空間40のXw−Zw平面を表す図であるが、図8(b)は、仮想3次元空間40のXw−Yw平面を表す図である。
【0075】
なお、S203においては、上記の球をニアクリップ46bで切断した例を挙げたが、この球をゲーム画面に対応する平面で切断されるようにすればよく、これに限られない。例えば、ファークリップ46cで球を切断するようにしてもよいし、視錘台46aに含まれるオブジェクトを通る平面で切断するようにしてもよい。S203においては、これらの切断面の中心点が算出されるようにすればよい。
【0076】
マイクロプロセッサ14(第2画像作成部56、座標変換手段)は、S203において算出した中心点の3次元座標を2次元座標に変換する(S204)。S204においては、S103と同様に行列を用いた変換処理が行われる。
【0077】
マイクロプロセッサ14は、中心点の2次元座標に基づいて、光源48からの光の拡散を表す第2画像を作成する(S205)。S205においては、S104と同様の処理が実行される。光の拡散を表す際に基準となる点が、S104においては光源48の2次元座標であるが、S205においては切断面の中心点の2次元座標である点でのみ異なる。つまり、切断面の中心点から光が拡散されるように第2画像が作成される。
【0078】
次いで、マイクロプロセッサ14(表示制御部58)は、S201で作成した第1画像と、S205で作成した第2画像と、を合成して表示部18に表示させる(S206)。
【0079】
[2−2.実施形態2のまとめ]
以上説明した実施形態2に係るゲーム装置10は、仮想3次元空間40(各オブジェクト)を表す第1画像と、光源48を中心とする球の切断面の中心点からの光の拡散を表す第2画像と、を合成したゲーム画面を表示させる。実施形態2におけるゲーム装置10によれば、実施形態1と同様に、比較的簡易な処理によって、光が照らされる様子を表現したゲーム画面を表示させることができる。
【0080】
なお、ゲーム装置10においては、ゲームの状況に応じて、実施形態1の図6に示す処理と、実施形態2の図7に示す処理と、を使い分けるようにしてもよい。例えば、仮想カメラ46の視界が所定の角度である場合には、実施形態2の図7に示す処理が実行されてゲーム画面が作成され、他の角度である場合には、実施形態1の図6に示す処理が実行されてゲーム画面が作成されるようにしてもよい。
【0081】
上記のように、処理をゲーム状況に応じて使い分けることにより、現実の光の拡散を表す画像をより正確に再現できるとともに、状況に応じた最適な処理を行うことができる。例えば、仮想3次元空間40内にオブジェクトが多数配置されている場合には、より簡易な処理である実施形態1の図6に示す処理を実行することにより、ゲーム画面の表示による処理負荷を軽減することができる。
【0082】
[3.実施形態3]
以下、実施形態3について説明する。実施形態1と実施形態2においては、仮想3次元空間40を仮想カメラ46から見た様子を表す第1画像と、光源48からの光の拡散を表す第2画像と、が合成されていた。
【0083】
しかしながら、第1画像と第2画像とを単に合成すると、光の遮蔽が表現されない場合がある。例えば、仮想カメラ46と光源48との間にオブジェクトがある場合には、本来であれば、オブジェクトによって光が遮られる。この光が遮られた領域は暗く表現されるべきであるが、第1画像と第2画像とを単に合成すると、光の拡散を表す第2画像のために、この暗くすべき領域も明るくなってしまう可能性がある。
【0084】
上記のことを防止するためには、光が遮蔽された場合、暗くすべき領域については、光の拡散を示す第2画像の割合を0にして画像を合成することも考えられる。しかし、この手法では、オブジェクトが不自然に暗くなってしまう場合がある。つまり、光源48がオブジェクトによって遮られた場合に、光がオブジェクトを回りこむような様子を表現することができない。
【0085】
この点、実施形態3は、第1画像と第2画像とを合成する際に、奥行き情報を考慮する点に特徴がある。
【0086】
なお、実施形態3に係るゲーム装置10のハードウェア構成は、実施形態1(図1参照)と同様であるため、ここでは説明を省略する。また、実施形態3に係るゲーム装置10においても、図2と同様の仮想3次元空間40が生成されてゲームが実行される。
【0087】
実施形態3に係るゲーム装置10の機能ブロック図は、奥行き情報取得部60が含まれる点において実施形態1とは異なる。
【0088】
[3−1.ゲーム装置で実現される機能]
図9は、実施形態3に係るゲーム装置10において実現される機能群を示す機能ブロック図である。図9に示すように、実施形態3においては、奥行き情報取得部60が含まれる。この機能は、マイクロプロセッサ14が光ディスク25から読み出されたプログラムに従って動作することにより、実現される。
【0089】
[奥行き情報取得部]
奥行き情報取得部60は、表示部18に表示されるゲーム画面の各画素に対応する奥行き情報を取得する。奥行き情報とは、仮想カメラ46からの距離を示す情報である。例えば、キャラクタオブジェクト44が表示されている画素に対応する奥行き情報は、仮想カメラ46とキャラクタオブジェクト44との距離を示す。
【0090】
奥行き情報は、図示しないROM等に記憶されたプログラマブルシェーダ等によって作成される。奥行き情報は、例えば、8ビットのグレースケールの画像で表現されて主記憶26等に記憶される。仮想カメラ46に最も近い画素の画素値を255(白を表す)とし、最も遠い画素の画素値を0(黒を表す)とする。即ち、仮想カメラ46からの距離に応じて画素値が0〜255の間で表現される。なお、奥行き情報の作成方法はこれに限られず、公知の種々の方法を適用可能とする。
【0091】
図10は、奥行き情報の一例を示す図である。図10に示す例は、ゲーム装置10においてサッカーゲームが実行され、いわゆるゴールキックの際にキーパーのキャラクタオブジェクト44aの背面に仮想カメラ46が配置された場合の奥行き情報である。この例では、仮想的に奥行き情報を4段階(図10の領域E1〜領域E4)とする。
【0092】
図10に示すように、仮想カメラ46との距離が近い画素の領域E1は白く(網かけがない領域)、仮想カメラ46との距離が遠い画素の領域E4は黒く(網かけがある領域)表現される。領域E1と領域E2の間にある領域E2とE3は、仮想カメラ46からの距離に応じて濃淡が決定される。つまり、仮想カメラ46からの距離が画素値によって表現されている。
【0093】
[3−2.ゲーム装置にて実行される処理]
図11に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図11に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0094】
図11に示すように、S301はS101と同様であるので、説明を省略する。
【0095】
マイクロプロセッサ14は、光源48からの光の拡散を表す第2画像を作成する(S302)。S302においては、例えば、S102〜S104の処理、又はS202〜S205の処理が行われることにより、第2画像が作成される。
【0096】
次いで、マイクロプロセッサ14(奥行き情報取得部60)は、ゲーム画面の各画素に対応する奥行き情報を取得する(S303)。先述のように、例えばプログラマブルシェーダ等によって、表示部18のフレーム処理が実行される毎に奥行き情報が作成されて主記憶26等に記憶されている。
【0097】
マイクロプロセッサ14(表示制御部58、第1の決定手段)は、奥行き情報に基づいて各画素の半透明合成の割合を決定する(S304)。S304においては、図10に示す画素値から半透明合成の割合が決定される。決定された割合は、画素の位置と対応付けられて主記憶26に記憶される。
【0098】
例えば、ゲーム画面のある画素の画素値を、「(1−アルファ値)×第1画像の画素値+アルファ値×第2画像の画素値」として算出することにより合成する場合、S304においては、アルファ値=α(例えば0.3)−Δα(ただし、Δα=0.2*(画素値/255))となるように算出される。
【0099】
このようにアルファ値を定めることにより、奥行き情報に応じたアルファ値を画素毎に決定することができる。この場合には、仮想カメラ46に近い画素ほどアルファ値が大きくなるので、第2画像の割合を小さくすることができる。
【0100】
なお、S304における半透明合成の割合の決定方法は、奥行き情報に基づいていればよく、これに限られない。例えば、奥行き情報と半透明合成の割合が対応付けられたデータテーブルを用意しておいてもよいし、所定の計算式に基づいて半透明合成の割合が算出されるようにしてもよい。
【0101】
マイクロプロセッサ14は、S304において決定された半透明合成の割合に基づいて第1画像と第2画像とを合成して表示部18に表示させる(S305)。
【0102】
[3−3.実施形態3のまとめ]
以上説明した実施形態3に係るゲーム装置10は、ゲーム画面の各画素に対応する奥行き情報を取得し、この奥行き情報に基づいて各画素の半透明合成の割合を決定する。実施形態3におけるゲーム装置10によれば、光源48からの光が遮蔽された場合であっても、遮蔽物を回り込む光を表現することができる。画素毎に半透明合成の割合を決定するので、ゲーム画面に表示される遮蔽物の領域が黒くなりすぎることを防止することができる。つまり、光源48からの光がオブジェクトに遮られつつも、光がオブジェクトを回り込む様子を表現することができる。
【0103】
[4.実施形態4]
以下、実施形態4について説明する。実施形態1〜3においては、光源48からの光の拡散が表現されるようにゲーム画面が作成されていた。
【0104】
しかしながら、単に第1画像と第2画像とを合成すると、光の拡散を表す第2画像のために、第1画像に表されたオブジェクトの影が薄くなってしまう場合がある。
【0105】
この点、実施形態4は、仮想3次元空間40における各オブジェクトの影をゲーム画面に反映しつつ、光の拡散を表現する点に特徴がある。
【0106】
なお、実施形態4に係るゲーム装置10のハードウェア構成及び機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態4に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0107】
[4−1.ゲーム装置にて実行される処理]
図12に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図12に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0108】
図12に示すように、まず、マイクロプロセッサ14(第1画像作成部52、オブジェクト画像作成手段)は、光源が取り除かれた状態における仮想3次元空間(各オブジェクト)を表す画像を作成する(S401)。S101(図6)においては、視錘台46aに含まれる各オブジェクトの影が第1画像に含まれてもよいが、S401においては、この影を含ませずに、各オブジェクトの画像のみが作成される点で、S401はS101と異なる。S401において作成される画像を、以降ではオブジェクト画像という。オブジェクト画像は、主記憶26等に記憶される。
【0109】
図13(a)は、S401において作成されるオブジェクト画像の一例である。図13(a)に示すように、光源が取り除かれた状態における各キャラクタオブジェクト44b,44c、44dを仮想カメラ46から見た様子を表す画像が作成される。
【0110】
マイクロプロセッサ14(第1画像作成部52、影画像作成手段)は、視錘台46aに含まれる各オブジェクトの影を表す画像を作成する(S402)。S402においては、マイクロプロセッサ14は、ゲームデータ記憶部50に記憶されたオブジェクトの位置座標に対応する所定領域を塗りつぶしたり、光源48から各オブジェクトに光が照射されてフィールドオブジェクト42に影が映るように予め定められた計算式によって影の領域を算出する等して画像を作成する。以降、S402において作成される画像を、影画像という。影画像は、主記憶26等に記憶される。
【0111】
図13(b)は、S402において作成される影画像の一例である。図13(b)に示すように、図13(a)に示す各キャラクタオブジェクト44b,44c,44dに対応する位置に影44e,44f,44gが配置された画像が作成される。影画像に含まれる影のそれぞれは色の濃淡が異なっていてもよい。例えば、光源48から近い影は濃く、光源48から遠い影は淡くするようにしてもよい。
【0112】
次いで、マイクロプロセッサ14は、S401で作成したオブジェクト画像と、S402で作成した影画像と、を合成して第1画像を作成する(S403)。S403における合成処理においても、S105と同様の半透明合成が行われる。
【0113】
マイクロプロセッサ14は、S402で作成した影画像に基づいて光の拡散を表す第2画像を作成する(S404)。S404においては、図6に示すS102〜S104の処理、又は図7に示すS202〜S205の処理と同様の処理が行われる。S404では、第2画像の各画素の画素値を、該画素が影画像の影の領域に対応する画素であるか否かに基づいて設定する点で、S102〜S104又はS202〜S205とは異なる。より具体的には、第2画像の、影画像の影の領域に対応する画素の画素値を、影画像の影の領域に対応する画素でない場合に比べて、暗く(すなわち、光が弱くなるように)設定する点で、S102〜S104又はS202〜S205とは異なる。
【0114】
図13(c)は、S404において作成される第2画像の一例である。図13(c)に示すように、図13(b)に示す影画像の影44e,44f,44gに対応する領域が、影がない場合に比べて暗くなるように第2画像が作成される。S404においては、例えば、S102〜S104と同様の処理で光の拡散を表す画像を作成し、この画像のうち影画像の影の領域に対応する画素を所定値だけ暗くする。例えば、この画素の画素値を2/3にする。
【0115】
なお、S404においては、影画像に含まれる影の領域に基づいて第2画像が作成されればよく、第2画像の作成方法は、これに限られない。他にも、影画像に含まれる影の領域のうち、光源48に近い画素と遠い画素とで暗くさせる割合を異ならしめるようにしてもよい。
【0116】
S405は、S105と同様であるので説明を省略する。
【0117】
[4−2.実施形態4のまとめ]
以上説明した実施形態4に係るゲーム装置10は、影画像とオブジェクト画像を合成して第1画像を作成し、第2画像(光源48からの光の拡散を表す画像)の画素のうちの、影画像に含まれる影の領域に対応する画素の画素値を、光が弱くなるように(すなわち、暗くなるように)設定する。実施形態4におけるゲーム装置10によれば、各オブジェクトに対応する影の濃さを正確に表現することができる。即ち、第1画像と第2画像を合成した際に、第1画像に表されたオブジェクトの影が明るくなって影が目立たなくなってしまうことを防止することができる。
【0118】
[5.実施形態5]
以下、実施形態5について説明する。実施形態4においては、影画像に含まれる影の領域が暗くなるように第2画像が作成されていた。この点、実施形態5は、影画像に含まれる影領域に基づいて各画素の半透明合成の割合を決定して第1画像と第2画像を合成する点に特徴がある。
【0119】
なお、実施形態5に係るゲーム装置10のハードウェア構成及び機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態5に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0120】
[5−1.ゲーム装置にて実行される処理]
図14に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図14に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0121】
図14に示すように、S501〜S503は、それぞれS401〜S403と同様であるので説明を省略する。
【0122】
マイクロプロセッサ14は、光の拡散を表す第2画像を作成する(S504)。S504においては、S102〜S104の処理、又はS202〜S205の処理が行われて第2画像が作成される。
【0123】
マイクロプロセッサ14(表示制御部58、第2の決定手段)は、S502で作成した影画像に基づいて各画素の半透明合成の割合を決定する(S505)。S505においては、第2画像の各画素の半透明合成の割合が、該画素が影画像の影の領域に対応する画素であるか否かに基づいて決定する。具体的には、第2画像の画素のうちの、影画像に含まれる影の領域内に対応する画素は、この領域外の画素よりも半透明合成の割合を小さくする。
【0124】
例えば、ゲーム画面のある画素の画素値を、「(1−アルファ値)×第1画像の画素値+アルファ値×第2画像の画素値」として算出することにより合成する場合、S505においては、影画像の影の領域内に対応する画素のアルファ値を0.4、他の領域の画素のアルファ値を0.5等のように決定される。この場合、影画像の影の領域内に対応する画素については、第2画像(光源からの光の拡散を表す画像)の半透明合成の割合が低くなるため、後述するS506において半透明合成を行った際に、影の領域が薄くなりすぎないようにして合成される。
【0125】
なお、S505における半透明合成の割合の決定方法は、影画像に基づいたものであればよく、これに限られない。例えば、影画像の画素値と半透明合成の割合が対応付けられたデータテーブルを用意しておいて、S505で参照されるようにしてもよい。
【0126】
マイクロプロセッサ14は、S505において決定された割合に基づいて第1画素と第2画素を合成する(S506)。
【0127】
[5−2.実施形態5のまとめ]
以上説明した実施形態5に係るゲーム装置10では、影画像とオブジェクト画像を合成して第1画像を作成し、第2画像の画素のうちの、影画像に含まれる影の領域に対応する画素の半透明合成の割合を、影の領域に対応しない画素よりも小さくする。実施形態5におけるゲーム装置10によれば、各オブジェクトに対応する影の濃さを正確に表現することができる。即ち、第1画像に第2画像を半透明合成した際に、第1画像に表されたオブジェクトの影が薄くなってしまうことを防止することができる。
【0128】
[6.実施形態6]
以下、実施形態6について説明する。実施形態4においては、影画像に含まれる影の領域が暗くなるように第2画像が作成されていた。実施形態5においては、影画像に含まれる影領域に基づいて各画素の半透明合成の割合を決定して第1画像と第2画像を合成していた。この点、実施形態6は、影画像の、第2画像の光の領域に対応する領域に表される影が濃くなるようにして影画像を作成する点に特徴がある。
【0129】
なお、実施形態6に係るゲーム装置10のハードウェア構成及び機能ブロック図は、実施形態1(図1、図4参照)と同様であるため、ここでは説明を省略する。また、実施形態6に係るゲーム装置10においても、図2と同様の仮想3次元空間が生成されてゲームが実行される。
【0130】
[6−1.ゲーム装置にて実行される処理]
図15に示す処理は、実施形態1における図6に示す処理に対応している。つまり、図15に示す処理は、ゲーム装置10において所定時間毎(例えば1/60秒毎)に実行される。
【0131】
図15に示すように、S601とS602は、それぞれS504とS501と同様であるので説明を省略する。
【0132】
マイクロプロセッサ14(第1画像作成部52、影画像作成手段)は、オブジェクトの影を表した影画像を作成する(S603)。この場合、影画像の画素のうちの、影の領域内の画素の画素値が、該画素が前記第2画像の光の領域に対応する画素であるか否かに基づいて設定される。
【0133】
具体的には、第2画像の画素値が参照されることにより、所定値よりも明るい画素が光の領域と判断され、そして、影画像の画素のうちの、影が表される領域内の画素の画素値が、該画素が第2画像の光の領域に対応する画素である場合には、該画素が第2画像の光の領域に対応する画素でない場合に比べて暗く(影が濃くなるように)設定される。なお、S603においては、第2画像の光の領域に基づいて影画像が作成されればよく、これに限られない。例えば、光源48との距離が一定値以内である影については暗くする等してもよい。
【0134】
マイクロプロセッサ14は、S602において作成したオブジェクト画像とS603において作成した影画像とを合成して第1画像を作成する(S604)。S604においては、S503と同様の処理が行われる。
【0135】
S605は、S105と同様であるので説明を省略する。
【0136】
[6−2.実施形態6のまとめ]
以上説明した実施形態6に係るゲーム装置10では、影画像を作成する際に、影が表される領域内の画素が第2画像の光の領域に対応する画素である場合、該画素の画素値が、影が濃くなるように設定される。実施形態6におけるゲーム装置10によれば、各オブジェクトに対応する影の濃さを正確に表現することができる。即ち、第1画像(影画像)に第2画像を半透明合成した際に、第1画像に表されたオブジェクトの影が薄くなってしまうことを防止することができる。
【0137】
なお、実施形態1〜実施形態6においては、画像処理装置をゲーム装置に適用した例を挙げて説明したが、本発明に係る画像処理装置の適用対象は、パーソナルコンピュータ等他の装置であってもよい。
【符号の説明】
【0138】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 画像処理部、18 表示部、20 音声処理部、22 音声出力部、24 光ディスク再生部、25 光ディスク、26 主記憶、28 メモリカード、30 入出力処理部、32 コントローラ、40 仮想3次元空間、42 フィールドオブジェクト、44 キャラクタオブジェクト、46 仮想カメラ、46a 視錘台、46b ニアクリップ、46c ファークリップ、48 光源、50 ゲームデータ記憶部、52 第1画像作成部、54 座標取得部、56 第2画像作成部、58 表示制御部、60 奥行き情報取得部、θ 視野角、v 視線ベクトル、A アスペクト比、B 球、S 切断面。
【特許請求の範囲】
【請求項1】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置であって、
前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段と、
前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段と、
前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段と、
前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
前記第1画像又は前記第2画像の各画素に対応する奥行き情報を取得する奥行き情報取得手段を更に含み、
前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記各画素の半透明合成の割合を前記奥行き情報に基づいて決定する第1の決定手段を含むことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、
前記第2画像作成手段は、前記第2画像の各画素の画素値を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて設定することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、
前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記第2画像の各画素の半透明合成の割合を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて決定する第2の決定手段を含むことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する手段であって、前記影画像の画素のうちの、影の領域内の画素の画素値を、該画素が前記第2画像の光の領域に対応する画素であるか否かに基づいて設定する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項6】
前記第2画像作成手段は、前記光源の3次元座標を画面に対応する2次元座標に変換する座標変換手段を含み、前記光源の2次元座標から光が拡散するように第2画像を作成することを特徴とする請求項1〜5の何れか一項に記載の画像処理装置。
【請求項7】
前記第2画像作成手段は、前記光源の3次元座標を中心とする所定半径の球を前記視点に対応する平面で切断した切断面の中心点を算出する中心点算出手段と、前記中心点の3次元座標を画面に対応する2次元座標に変換する座標変換手段と、含み、前記中心点の2次元座標から光が拡散するように第2画像を作成することを特徴とすることを特徴とする請求項1〜5の何れか一項に記載の画像処理装置。
【請求項8】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置の制御方法であって、
前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像ステップと、
前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得ステップと、
前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成ステップと、
前記第1画像と前記第2画像が合成された画面を表示させる表示制御ステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項9】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段、
前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段、
前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段、
前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【請求項1】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置であって、
前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段と、
前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段と、
前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段と、
前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
前記第1画像又は前記第2画像の各画素に対応する奥行き情報を取得する奥行き情報取得手段を更に含み、
前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記各画素の半透明合成の割合を前記奥行き情報に基づいて決定する第1の決定手段を含むことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、
前記第2画像作成手段は、前記第2画像の各画素の画素値を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて設定することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成し、
前記表示制御手段は、前記第1画像と前記第2画像を半透明合成する場合の前記第2画像の各画素の半透明合成の割合を、該画素が前記影画像の影の領域に対応する画素であるか否かに基づいて決定する第2の決定手段を含むことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
前記第1画像作成手段は、前記オブジェクトの影を表す影画像を作成する手段であって、前記影画像の画素のうちの、影の領域内の画素の画素値を、該画素が前記第2画像の光の領域に対応する画素であるか否かに基づいて設定する影画像作成手段と、前記オブジェクトを前記視点から見た様子を表すオブジェクト画像を作成するオブジェクト画像作成手段と、を含み、当該2つの画像を合成して前記第1画像を作成することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項6】
前記第2画像作成手段は、前記光源の3次元座標を画面に対応する2次元座標に変換する座標変換手段を含み、前記光源の2次元座標から光が拡散するように第2画像を作成することを特徴とする請求項1〜5の何れか一項に記載の画像処理装置。
【請求項7】
前記第2画像作成手段は、前記光源の3次元座標を中心とする所定半径の球を前記視点に対応する平面で切断した切断面の中心点を算出する中心点算出手段と、前記中心点の3次元座標を画面に対応する2次元座標に変換する座標変換手段と、含み、前記中心点の2次元座標から光が拡散するように第2画像を作成することを特徴とすることを特徴とする請求項1〜5の何れか一項に記載の画像処理装置。
【請求項8】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置の制御方法であって、
前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像ステップと、
前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得ステップと、
前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成ステップと、
前記第1画像と前記第2画像が合成された画面を表示させる表示制御ステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項9】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画面を表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記仮想3次元空間を前記視点から見た様子を表す第1画像を作成する第1画像作成手段、
前記仮想3次元空間に設定された光源の3次元座標を取得する座標取得手段、
前記光源の3次元座標に基づいて、当該光源からの光の拡散を表す第2画像を作成する第2画像作成手段、
前記第1画像と前記第2画像が合成された画面を表示させる表示制御手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−65382(P2011−65382A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−214945(P2009−214945)
【出願日】平成21年9月16日(2009.9.16)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願日】平成21年9月16日(2009.9.16)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]