画像処理装置、画像処理装置の制御方法及びプログラム
【課題】オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる画像処理装置を提供すること。
【解決手段】シェーディング処理実行部62は、オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルに基づいて、オブジェクト表面に対するシェーディング処理を実行する。シェーディング処理実行制限部66は、視点からオブジェクトまでの距離に基づいて、シェーディング処理実行部62によるシェーディング処理の実行を制限する。擬似法線ベクトル取得部60は、視点からの距離と、各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する。そして、擬似法線ベクトル取得部60は、各画素の擬似法線ベクトルを、視点からオブジェクトまでの距離に対応する擬似法線ベクトル情報に基づいて取得する。
【解決手段】シェーディング処理実行部62は、オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルに基づいて、オブジェクト表面に対するシェーディング処理を実行する。シェーディング処理実行制限部66は、視点からオブジェクトまでの距離に基づいて、シェーディング処理実行部62によるシェーディング処理の実行を制限する。擬似法線ベクトル取得部60は、視点からの距離と、各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する。そして、擬似法線ベクトル取得部60は、各画素の擬似法線ベクトルを、視点からオブジェクトまでの距離に対応する擬似法線ベクトル情報に基づいて取得する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、画像処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
3次元画像処理では、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子が表示出力される。この際、オブジェクト表面の凹凸を表現する技術としてバンプマッピングがある。バンプマッピングによれば、オブジェクト表面の凹凸をポリゴンで厳密に表現しなくとも、オブジェクト表面の法線ベクトルに凹凸に応じた補正を施すことにより、凹凸に応じた陰影(明暗)をオブジェクト表面に施すことができる。
【0003】
バンプマッピングとしては、一般的に、オブジェクト表面にマッピングされるテクスチャ画像を構成する各画素に対して擬似的に法線ベクトル(以下、「擬似法線ベクトル」と記載する。)を設定しておき、オブジェクト表面に対するシェーディング処理(オブジェクト表面に凹凸に応じた陰影を施す処理)を各画素に設定された擬似法線ベクトルに基づいて実行することが行われている。この場合、オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを示すデータとして「法線マップ」と呼ばれるデータが一般的に用意される。法線マップは、テクスチャ画像の各画素に対して設定される擬似法線ベクトルをRGB値で表すデータである。すなわち、法線マップは、擬似法線ベクトルの仮想3次元空間(WX軸、WY軸及びWZ軸からなる空間)におけるWX軸方向成分をR(Red)値で示し、WY軸方向成分をG(Green)値で示し、WZ軸方向成分をB(Blue)値で示すデータである。図12はシェーディング処理の概要を示す図である。シェーディング処理では、オブジェクトを構成するポリゴン54を描画する場合には、各画素52の輝度がその画素52の擬似法線ベクトルNに基づいて決定される。より具体的には、各画素52の輝度が、その画素52から光源50への方向を示す光源方向ベクトルLと、その画素52の擬似法線ベクトルNと、のなす角度θが小さい場合にはその画素52の輝度が高くなり、該角度θが大きい場合にはその画素52の輝度が低くなるようにして決定される。このようにすれば、オブジェクト表面に精細な陰影を施すことができる。
【特許文献1】特開2001−283250号公報
【特許文献2】特開2004−102900号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
バンプマッピングは少ないポリゴン数でオブジェクト表面の凹凸に応じた陰影を表現するのに有効な技術であるが、それを厳密に行うには画像処理の負荷が少なからずかかる。このため、画面に小さく表されるオブジェクトに対してまでバンプマッピングを実施するのは現実的でない。そこで、オブジェクトと視点との間の距離が所定の基準距離以上になったら、そのオブジェクトに対するバンプマッピングを抑止することによって、画像処理の負荷の軽減を図ることが考えられる。しかしながら、その場合、オブジェクトに対するバンプマッピングが実行される状態から、オブジェクトに対するバンプマッピングが実行されない状態に切り替わる際には、ゲーム画面においてオブジェクト表面に凹凸に応じた陰影が精細に表現される状態から、オブジェクト表面に凹凸に応じた陰影が精細に表現されない状態へと切り替わることになるため、ユーザが違和感を感じてしまう場合がある。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる画像処理装置、画像処理装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置において、前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段と、前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段と、前記視点から前記オブジェクトまでの距離を取得する距離取得手段と、前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段と、を含み、前記擬似法線ベクトル取得手段は、前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置の制御方法において、前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得ステップと、前記擬似法線ベクトル取得ステップによって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行ステップと、前記視点から前記オブジェクトまでの距離を取得する距離取得ステップと、前記距離取得ステップによって取得された距離に基づいて、前記シェーディング処理実行ステップによるシェーディング処理の実行を制限するシェーディング処理実行制限ステップと、を含み、前記擬似法線ベクトル取得ステップは、前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段から、前記距離取得ステップによって取得された距離に対応する前記擬似法線ベクトル情報を読み出す擬似法線ベクトル情報読み出しステップと、前記テクスチャ画像の各画素の擬似法線ベクトルを、前記擬似法線ベクトル情報読み出しステップによって読み出された擬似法線ベクトル情報に基づいて取得するステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段、前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段、前記視点から前記オブジェクトまでの距離を取得する距離取得手段、及び、前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段、として前記コンピュータを機能させ、前記擬似法線ベクトル取得手段は、前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含むことを特徴とするプログラムである。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【0010】
本発明は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置に関するものである。本発明では、オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルが取得される。そして、取得された擬似法線ベクトルに基づいて、オブジェクト表面に対するシェーディング処理が実行される。また本発明では、視点からオブジェクトまでの距離が取得される。そして、取得された距離に基づいて、オブジェクト表面に対する上記のシェーディング処理の実行が制限される。特に本発明では、視点からの距離と、テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報が記憶される。そして、テクスチャ画像の各画素の擬似法線ベクトルが、上記の取得された距離に対応する擬似法線ベクトル情報に基づいて取得される。本発明によれば、オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる。
【0011】
また、本発明の一態様では、前記シェーディング処理実行制限手段は、前記距離取得手段によって取得された距離が所定の基準距離以上であるか否かを判定する手段を含み、前記距離取得手段によって取得された距離が前記基準距離以上である場合、前記シェーディング処理実行手段によるシェーディング処理の実行を制限し、前記擬似法線ベクトル情報は、前記距離取得手段によって取得された距離が前記基準距離に近づくにつれて、前記テクスチャ画像の各画素の擬似法線ベクトルの、前記オブジェクト表面の法線ベクトルに対する傾き角度が小さくなるように設定されるようにしてもよい。
【0012】
また、本発明の一態様では、前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の基本擬似法線ベクトルを示す情報を記憶する手段を含み、前記擬似法線ベクトル情報は、前記基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、の合成比率を示す情報であり、前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の擬似法線ベクトルを、該画素の基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、を、前記距離取得手段によって取得された距離に対応する前記合成比率に基づいて合成することによって取得するようにしてもよい。
【0013】
また、本発明の一態様では、前記擬似法線ベクトル情報は、前記テクスチャ画像の各画素の擬似法線ベクトルを示す情報であり、前記擬似法線ベクトル取得手段は、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報によって示される、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するようにしてもよい。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合の例について説明する。なお、本発明はゲーム装置以外の画像処理装置にも適用できるものである。
【0015】
図1は、本発明の実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置10は、家庭用ゲーム機11に情報記憶媒体たるDVD−ROM25及びメモリカード28が装着され、さらにモニタ18及びスピーカ22が接続されることによって構成される。例えば、モニタ18には家庭用テレビ受像機が用いられ、スピーカ22にはその内蔵スピーカが用いられる。
【0016】
家庭用ゲーム機11は、バス12、マイクロプロセッサ14、画像処理部16、音声処理部20、DVD−ROM再生部24、主記憶26、入出力処理部30及びコントローラ32を含んで構成される公知のコンピュータゲームシステムである。コントローラ32以外の構成要素は筐体内に収容される。
【0017】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、画像処理部16、主記憶26及び入出力処理部30は、バス12によって相互データ通信可能に接続される。
【0018】
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、DVD−ROM25やメモリカード28から読み出されるゲームプログラムやゲームデータに基づいて、家庭用ゲーム機11の各部を制御する。主記憶26は、例えばRAMを含んで構成されるものであり、DVD−ROM25やメモリカード28から読み出されたゲームプログラムやゲームデータが必要に応じて書き込まれる。主記憶26はマイクロプロセッサ14の作業用としても用いられる。
【0019】
画像処理部16はVRAMを含んで構成されており、マイクロプロセッサ14から送られる画像データを受け取ってVRAM上にゲーム画面を描画するとともに、その内容を所定のビデオ信号に変換して所定タイミングでモニタ18に出力する。すなわち画像処理部16は、マイクロプロセッサ14から視点座標系での各ポリゴンの頂点座標、頂点色情報(RGB値)、テクスチャ座標及びアルファ値等を受け取る。そして、それら情報を用いて表示画像を構成する各画素の色情報、Z値(奥行き情報)及びアルファ値等をVRAMの表示用バッファに描画する。このとき、VRAMにはテクスチャ画像が予め書き込まれており、各テクスチャ座標により特定されるテクスチャ画像中の領域が、それらテクスチャ座標に対応する頂点座標により特定されるポリゴンにマッピング(貼付)されるようになっている。こうして生成される表示画像は所定タイミングでモニタ18に出力される。
【0020】
入出力処理部30は、マイクロプロセッサ14が音声処理部20、DVD−ROM再生部24、メモリカード28及びコントローラ32にアクセスするためのインタフェースである。入出力処理部30には、音声処理部20、DVD−ROM再生部24、メモリカード28及びコントローラ32が接続される。
【0021】
音声処理部20はサウンドバッファを含んで構成されており、DVD−ROM25から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ22から出力する。
【0022】
DVD−ROM再生部24はマイクロプロセッサ14からの指示に従ってDVD−ROM25に記録されたゲームプログラムやゲームデータを読み取る。ここではゲームプログラムやゲームデータを家庭用ゲーム機11に供給するためにDVD−ROM25を用いることとするが、CD−ROMやROMカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からゲームプログラムやゲームデータを家庭用ゲーム機11に供給するようにしてもよい。
【0023】
メモリカード28は不揮発性メモリ(例えばEEPROM等)を含んで構成される。家庭用ゲーム機11は複数のメモリカードスロットを備えており、複数のメモリカード28を同時に装着可能となっている。メモリカード28は、このメモリカードスロットに対して脱着可能に構成され、例えばセーブデータなどの各種ゲームデータを記憶させるために用いられる。
【0024】
コントローラ32は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部30は一定周期毎(例えば1/60秒毎)にコントローラ32の各部の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14は、その操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11は複数のコントローラ32を接続可能に構成されており、各コントローラ32から入力される操作信号に基づいて、マイクロプロセッサ14がゲーム制御を行う。
【0025】
以下、上記構成を有するゲーム装置10において、オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる技術について説明する。ここでは、サッカーゲームに登場する選手キャラクタのユニフォーム上の陰影を表現する場合を例に説明する。
【0026】
まず、主記憶26に構築される仮想3次元空間について説明する。図2は仮想3次元空間の一例を示す図である。図2に示すように、仮想3次元空間40には、サッカーのフィールドを表すフィールドオブジェクト42と、ゴールを表すゴールオブジェクト44と、が配置され、サッカーの試合会場が形成される。フィールドオブジェクト42上には、サッカー選手を表す選手オブジェクト46と、サッカーボールを表すボールオブジェクト47と、が配置される。選手オブジェクト46には例えばユニフォームを表すテクスチャ画像がマッピングされる。図2では省略されているが、フィールドオブジェクト42上には22体の選手オブジェクト46が配置される。なお、仮想3次元空間40に配置される各オブジェクトは1又は複数のポリゴンによって構成される。
【0027】
仮想3次元空間40には仮想カメラ48(視点48a及び視線方向48b)が設定される。仮想カメラ48は例えばボールオブジェクト47に従動する。仮想カメラ48から仮想3次元空間40を見た様子を表すゲーム画面がモニタ18に表示される。すなわち、視点48aから視線方向48bを見た場合の仮想3次元空間40の様子がゲーム画面に表される。プレイヤはゲーム画面を見ながらコントローラ32を操作し、例えば操作対象の選手オブジェクト46に対する行動指示を行う。
【0028】
また仮想3次元空間40には光源50が設定される。ゲーム画面には、この光源50によって選手オブジェクト46のユニフォーム上に陰影が生じる様子や、この光源50によってフィールドオブジェクト42上にゴールオブジェクト44、選手オブジェクト46やボールオブジェクト47の影が生じる様子が表される。
【0029】
次に、ゲーム装置10に記憶されるデータについて説明する。
【0030】
主記憶26には、仮想3次元空間40に配置される各選手オブジェクト46やボールオブジェクト47の位置や姿勢を示す情報が記憶される。また主記憶26には、仮想3次元空間40に設定される仮想カメラ48の位置(視点48a)や姿勢(視線方向48b)を示す情報や、光源50の位置を示す情報も記憶される。
【0031】
DVD−ROM25には、仮想3次元空間40に配置される各オブジェクトの形状を表すモデルデータや、各オブジェクトにマッピングされるテクスチャ画像が記憶される。例えば、選手オブジェクト46の形状を表すモデルデータや、選手オブジェクト46のユニフォームを表すテクスチャ画像(以下、「ユニフォームテクスチャ画像」と記載する。)が記憶される。
【0032】
またDVD−ROM25には、ユニフォームテクスチャ画像に対応して生成された法線マップが記憶される。この法線マップは、ユニフォームテクスチャ画像を構成する各画素に対して設定される擬似法線ベクトルをRGB値で表すデータである。ここで、各画素の擬似法線ベクトルは単位ベクトル(長さが1のベクトル)に正規化されている。なお以下では、法線マップに保持される各画素の擬似法線ベクトルのことを「基本擬似法線ベクトル」と記載する。
【0033】
またDVD−ROM25には合成比率テーブルが記憶される。図3は合成比率テーブルの一例を示している。図3に示すように、この合成比率テーブルは距離範囲と合成比率とを対応づけてなるデータである。合成比率は、後述するように(図6のS305、図7参照)、基本擬似法線ベクトルと、ユニフォームテクスチャ画像がマッピングされるポリゴンの法線ベクトルと、を合成する場合の、基本擬似法線ベクトルの合成比率を示しており、0以上1以下の値をとる。例えば、合成比率「0.6」は、基本擬似法線ベクトルに0.6を乗じることによって得られるベクトルと、ユニフォームテクスチャ画像がマッピングされる面の法線ベクトルに0.4(=1.0−0.6)を乗じることによって得られるベクトルと、が合成されることを示している。
【0034】
次に、ゲーム装置10でゲーム画面を生成するために実行される処理について説明する。図4は、ゲーム装置10で所定時間(例えば1/60秒)ごとに実行される処理のうち、本発明に関連するものを主として示すフロー図である。この処理は、DVD−ROM25から読み出されるプログラムがゲーム装置10で実行されることによって実現される。
【0035】
図4に示すように、ゲーム装置10はまずゲーム環境処理を実行する(S101)。ゲーム環境処理では、仮想3次元空間40に配置される各オブジェクトの位置及び姿勢が演算される。例えば、操作対象の選手オブジェクト46の位置や姿勢が、コントローラ32から入力される操作信号に基づいて演算される。そして、主記憶26に記憶される各オブジェクトの位置情報や姿勢情報がその演算結果に基づいて更新される。またゲーム環境処理では視点48a、視線方向48bや画角が決定され、視野範囲が算出される。視野範囲内に属しないオブジェクトは以降の処理の対象から外される。
【0036】
その後、ゲーム装置10はジオメトリ処理を実行する(S102)。ジオメトリ処理ではワールド座標系から視点座標系への座標変換が行われる。ここで、ワールド座標系とは、図2に示すWX軸、WY軸、WZ軸からなる座標系である。視点座標系は、視点48aを原点とし、視線方向48bをZ方向、水平方向をX方向、垂直方向をY方向とする座標系である。ジオメトリ処理ではクリッピング処理も行われる。
【0037】
その後、ゲーム装置10はレンダリング処理を実行する(S103)。レンダリング処理では、視野範囲内の各オブジェクトの各頂点の座標、色情報及びアルファ値や、視野範囲内の各オブジェクトの表面にマッピングされるテクスチャ画像及びそのテクスチャ画像に対応する法線マップ等に基づいて、VRAM上の表示用バッファにゲーム画面が描画される。
【0038】
ここで、レンダリング処理のうち、選手オブジェクト46を描画する際の処理について説明する。図5はこの処理を示すフロー図である。
【0039】
図5に示すように、ゲーム装置10は、選手オブジェクト46の代表点と視点48aとの間の距離d(仮想3次元空間40における距離)を算出する(S201)。この距離dは、主記憶26に記憶される選手オブジェクト46や仮想カメラ48の位置情報に基づいて算出される。そして、ゲーム装置10は、距離dが所定の基準距離D5(図3参照)未満であるか否かを判定する(S202)。
【0040】
距離dが基準距離D5未満である場合、ゲーム装置10は選手オブジェクト46の描画を法線マップを用いて実行する(S203)。この場合、選手オブジェクト46のユニフォーム部分に対して、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルに基づいてシェーディング処理が実行される。すなわち、選手オブジェクト46のユニフォームに対して精細な陰影が施される。
【0041】
S203では、ゲーム装置10は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを次のようにして取得する。図6は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを取得するための処理を示すフロー図である。また図7はこの処理の概要を説明するための図である。
【0042】
図6に示すように、ゲーム装置10は、ユニフォームテクスチャ画像の一の画素52(対象画素)の擬似法線ベクトルを取得する場合、まず距離dが所定の基準距離D1(図3参照)未満であるか否かを判定する(S301)。ここで、距離dは図5のS201において取得されたものである。
【0043】
距離dが基準距離D1以上である場合(距離dが基準距離D1未満でない場合)、ゲーム装置10は、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0を取得する(S302)。またゲーム装置10は、ユニフォームテクスチャ画像に対応する法線マップから、画素52の基本擬似法線ベクトルN1を取得する(S303)。さらにゲーム装置10は、合成比率テーブルから、距離dが属する距離範囲に対応する合成比率aを取得する(S304)。そして、ゲーム装置10は、合成比率aに従って、法線ベクトルN0と基本擬似法線ベクトルN1とを合成することによって、画素52の擬似法線ベクトルNを算出する(S305)。より具体的には、ゲーム装置10は、下記の式(1)に示すように、法線ベクトルN0に係数(1−a)を乗じることによって得られるベクトルN0’と、基本擬似法線ベクトルN1に係数(a)を乗じることによって得られるベクトルN1’と、の和のベクトルを取得し、かつ、そのベクトルを単位ベクトルに正規化することによって、擬似法線ベクトルNを取得する。
【0044】
【数1】
【0045】
一方、距離dが基準距離D1未満である場合、ゲーム装置10は、ユニフォームテクスチャ画像に対応する法線マップから、画素52の基本擬似法線ベクトルN1を画素52の擬似法線ベクトルNとして取得する(S306)。
【0046】
図8は、上記のようにして取得される擬似法線ベクトルNについて説明するための図である。図8において、擬似法線ベクトルNaは、距離dが基準距離D1未満である場合の擬似法線ベクトルNを示している。この場合、画素52の擬似法線ベクトルNaは画素52の基本擬似法線ベクトルN1と等しくなる(図6のS306参照)。また、擬似法線ベクトルNbは、距離dが基準距離D1以上であって、かつ、基準距離D2未満である場合の擬似法線ベクトルNを示している。同様に、擬似法線ベクトルNcは、距離dが基準距離D2以上であって、かつ、基準距離D3未満である場合の擬似法線ベクトルNを示している。擬似法線ベクトルNdは、距離dが基準距離D3以上であって、かつ、基準距離D4未満である場合の擬似法線ベクトルNを示している。擬似法線ベクトルNeは、距離dが基準距離D4以上であって、かつ、基準距離D5未満である場合の擬似法線ベクトルNを示している。図8に示すように、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離dが基準距離D5に近づくにつれて、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0と、画素52の擬似法線ベクトルNと、のなす角が小さくなるようになっている。
【0047】
またS203では、ゲーム装置10は、以上のようにして取得された擬似法線ベクトルNに基づいて、選手オブジェクト46のユニフォーム部分に係る各画素の輝度を決定する。すなわち、図12に示すように、各画素52の輝度が、その画素52から光源50への方向を示す光源方向ベクトルLと、その画素52の擬似法線ベクトルNと、のなす角度θが小さい場合にはその画素52の輝度が高くなり、該角度θが大きい場合にはその画素52の輝度が低くなるようにして決定される。例えば、ゲーム装置10は、光源方向ベクトルLと擬似法線ベクトルNとの内積値を算出し、この内積値に基づいて画素の色情報を算出する。
【0048】
一方、S202において、距離dが基準距離D5以上であると判定された場合、ゲーム装置10は選手オブジェクト46の描画を法線マップを用いずに実行する(S204)。この場合、選手オブジェクト46のユニフォーム部分に係る各画素の輝度が、ユニフォームテクスチャ画像がマッピングされるポリゴンの法線ベクトル(図7に示す法線ベクトルN0)と、そのポリゴンから光源50までの方向を示す光源方向ベクトルと、に基づいて決定される。すなわち、この場合、各画素に一様な輝度が設定されることになり、選手オブジェクト46のユニフォーム部分に表される陰影の精細さは、S203が実行される場合に比較して劣ることになる。ただし、S204では、各画素ごとに輝度が算出されないため、S203に比べて処理負荷は軽くなる。
【0049】
以上のように、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が所定の基準距離D5以上になると、その選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理の実行が抑止され、選手オブジェクト46のユニフォーム部分に対する陰影表現が制限される。選手オブジェクト46と仮想カメラ48との間の距離が比較的大きくなると、選手オブジェクト46はゲーム画面に比較的小さく表されるため、選手オブジェクト46のユニフォーム部分の陰影を精細に表さなくても見た目上問題がない。この点、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が比較的大きくなる場合には、選手オブジェクト46のユニフォーム部分の陰影表現を制限することによって、ゲーム画面を描画するための処理負荷の軽減が図られている。
【0050】
また、ゲーム装置10では、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される場合、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルNが、選手オブジェクト46と仮想カメラ48との間の距離に基づいて変化する。選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される状態と、該シェーディング処理の実行が抑止される状態と、が切り替わる際には、ゲーム画面において選手オブジェクト46のユニフォーム部分に凹凸に応じた陰影が精細に表現される状態から、選手オブジェクト46のユニフォーム部分に凹凸に応じた陰影が精細に表現されない状態へと切り替わることになるため、ユーザに違和感を感じさせてしまう場合がある。この点、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が所定の基準距離D5以上になると、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理の実行が抑止される。この場合、選手オブジェクト46のユニフォーム部分に係る各画素の輝度が、ユニフォームテクスチャ画像がマッピングされるポリゴンの法線ベクトルN0に基づいて決定される。そして、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が所定の基準距離D5未満である場合、すなわち、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される場合には、例えば図8に示したように、選手オブジェクト46と仮想カメラ48との間の距離が上記基準距離D5に近づくにつれて、各画素52の擬似法線ベクトルN(Na乃至Ne)の、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0に対する傾き角度が小さくなるようになっている。このため、ゲーム装置10では、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される状態から、該シェーディング処理の実行が抑止される状態に切り替わる場合には、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が徐々に制限されるようになり、ユーザに違和感を感じさせないように図られている。
【0051】
なお、ゲーム装置10では、図3に示す合成比率テーブルを記憶する代わりに、選手オブジェクト46と仮想カメラ48との間の距離に基づいて合成比率を算出するための1又は複数の演算式を記憶するようにしてもよい。そして、図6のS304では、その演算式に従って合成比率aが算出されるようにしてもよい。
【0052】
また、ゲーム装置10では、図3に示す合成比率テーブルを記憶する代わりに、例えば図9に示すような法線マップテーブルを記憶するようにしてもよい。すなわち、選手オブジェクト46と仮想カメラ48との間の距離が複数の距離範囲の各々に属する場合の、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルNをあらかじめ算出しておくようにしてもよい。そして、ゲーム装置10では、その算出結果を示す法線マップを各距離範囲に対応づけて記憶しておくようにしてもよい。ここで、法線マップテーブル及び法線マップA乃至Eも、図3に示す合成比率テーブルと同様、図8に示すように、選手オブジェクト46と仮想カメラ48との間の距離が上記基準距離D5に近づくにつれて、各画素52の擬似法線ベクトルN(Na乃至Ne)の、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0に対する傾き角度が小さくなるように設定される。
【0053】
なお、図3に示す合成比率テーブル、又は、選手オブジェクト46と仮想カメラ48との間の距離に基づいて合成比率を算出するための演算式を記憶する態様によれば、図9に示すような法線マップテーブルを記憶する態様に比べて、あらかじめ記憶される法線マップの数が少なくてすむため、選手オブジェクト46のユニフォーム部分の陰影表現にかかるデータ量の軽減を図ることが可能になる。
【0054】
次に、ゲーム装置10において実現される機能について説明する。図10は、ゲーム装置10において実現される機能のうち、本発明に関連するものを主として示す機能ブロック図である。図10に示すように、ゲーム装置10は、擬似法線ベクトル取得部60と、シェーディング処理実行部62と、距離取得部64と、シェーディング処理実行制限部66と、を機能的に含んでいる。これらの機能は、例えば図4乃至図6に示す処理を実行するためのプログラムがDVD−ROM25から読み出され、ゲーム装置10によって実行されることによって実現される。
【0055】
[距離取得部]
距離取得部64はマイクロプロセッサ14を主として実現される。距離取得部64は、仮想カメラ48(視点48a)から選手オブジェクト46までの距離を取得する。
【0056】
[擬似法線ベクトル取得部]
擬似法線ベクトル取得部60はマイクロプロセッサ14を主として実現される。擬似法線ベクトル取得部60は、選手オブジェクト46の表面にマッピングされるユニフォームテクスチャ画像の各画素に擬似的に設定される擬似法線ベクトルを取得する。
【0057】
擬似法線ベクトル取得部60は、仮想カメラ48(視点48a)からの距離と、擬似法線ベクトル情報と、を対応づけてなる情報を記憶する。ここで、擬似法線ベクトル情報は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを取得するための情報である。また、擬似法線ベクトル情報は、距離取得部64によって取得された距離が基準距離D5に近づくにつれて、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルの、選手オブジェクト46の表面(ユニフォームテクスチャ画像がマッピングされるポリゴン)の法線ベクトルに対する傾き角度が小さくなるように設定される。擬似法線ベクトル取得部60は、距離取得部64によって取得された距離に対応する擬似法線ベクトル情報を取得し、該擬似法線ベクトル情報に基づいて取得する。
【0058】
例えば、擬似法線ベクトル取得部60は、ユニフォームテクスチャ画像の各画素の基本擬似法線ベクトルを示す情報を記憶する。「ユニフォームテクスチャ画像の各画素の基本擬似法線ベクトルを示す情報」は、例えばユニフォームテクスチャ画像の法線マップである。また、擬似法線ベクトル取得部60は、基本擬似法線ベクトルと、選手オブジェクト46の表面(ユニフォームテクスチャ画像がマッピングされるポリゴン)の法線ベクトルと、の合成比率を示す情報を仮想カメラ48からの距離に対応づけてなる情報を記憶する。この場合、合成比率を示す情報が「擬似法線ベクトル情報」に相当する。「合成比率を示す情報を仮想カメラ48からの距離に対応づけてなる情報」は、テーブル式の情報であってもよいし、1又は複数の演算式であってもよい。テーブル形式の情報と1又は複数の演算式との組合せであってもよい。「合成比率を示す情報を仮想カメラ48からの距離に対応づけてなる情報」は、例えば図3に示す合成比率テーブルや、仮想カメラ48からの距離に基づいて合成比率を算出するための演算式である。そして、擬似法線ベクトル取得部60は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを、該画素の基本擬似法線ベクトルと、選手オブジェクト46の表面(ユニフォームテクスチャ画像がマッピングされるポリゴン)の法線ベクトルと、を、距離取得部64によって取得された距離に対応する合成比率に基づいて合成することによって取得する。
【0059】
または、擬似法線ベクトル取得部60は、仮想カメラ48からの距離に対応づけて、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを示す情報を記憶するようにしてもよい。「ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを示す情報」は、例えば法線マップである。例えば、擬似法線ベクトル取得部60は、図9に示す法線マップテーブルを法線マップA乃至Eとともに記憶するようにしてもよい。そして、擬似法線ベクトル取得部60は、距離取得部64によって取得された距離に対応する法線マップを取得し、該法線マップによって示される、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを取得するようにしてもよい。
【0060】
[シェーディング処理実行部]
シェーディング処理実行部62はマイクロプロセッサ14や画像処理部16を主として実現される。シェーディング処理実行部62は、擬似法線ベクトル取得部60によって取得される擬似法線ベクトルに基づいて、選手オブジェクト46の表面(ユニフォーム部分)に対するシェーディング処理を実行する。
【0061】
[シェーディング処理実行制限部]
シェーディング処理実行制限部66はマイクロプロセッサ14や画像処理部16を主として実現される。シェーディング処理実行制限部66は、距離取得部64によって取得された距離に基づいて、シェーディング処理実行部62によるシェーディング処理の実行を制限する。例えば、シェーディング処理実行制限部66は、距離取得部64によって取得された距離が所定の基準距離D5以上であるか否かを判定する。シェーディング処理実行制限部66は、距離取得部64によって取得された距離が上記基準距離D5以上である場合、シェーディング処理実行部62によるシェーディング処理の実行を制限する。
【0062】
以上説明したように、ゲーム装置10によれば、選手オブジェクト46のユニフォーム部分の陰影表現を、ゲーム画面を描画するための処理負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザに違和感を感じさせないように図ることも可能になる。
【0063】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0064】
例えば、以上の説明では、プログラムを情報記憶媒体たるDVD−ROM25から家庭用ゲーム機11に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図11は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図11に基づいて本発明に係るプログラム配信方法を説明する。図11に示すように、このプログラム配信システム100は、ゲームデータベース102、サーバ104、通信ネットワーク106、パソコン108、家庭用ゲーム機110、PDA(携帯情報端末)112を含んでいる。このうち、ゲームデータベース102とサーバ104とによりプログラム配信装置114が構成される。通信ネットワーク106は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース(情報記憶媒体)102に、DVD−ROM25の記憶内容と同様のプログラムが記憶されている。そして、パソコン108、家庭用ゲーム機110又はPDA112等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク106を介してサーバ104に伝えられる。そして、サーバ104はゲーム配信要求に応じてゲームデータベース102からプログラムを読み出し、それをパソコン108、家庭用ゲーム機110、PDA112等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ104から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信(一括配信)する必要はなく、ゲームの局面に応じて必要な部分を配信(分割配信)するようにしてもよい。このように通信ネットワーク106を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【0065】
また例えば、本発明はサッカーゲーム以外のゲームを実行するゲーム装置にも適用することができる。また、本発明はゲーム装置以外の画像処理装置にも適用することができる。
【図面の簡単な説明】
【0066】
【図1】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】合成比率テーブルの一例を示す図である。
【図4】ゲーム装置で実行される処理について示すフロー図である。
【図5】ゲーム装置で実行される処理について示すフロー図である。
【図6】ゲーム装置で実行される処理について示すフロー図である。
【図7】ゲーム装置で実行される処理の概念を示す図である。
【図8】ゲーム装置で実行される処理の概念を示す図である。
【図9】法線マップテーブルの一例を示す図である。
【図10】本実施の形態に係るゲーム装置の機能ブロック図である。
【図11】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【図12】法線マップを用いたシェーディング処理の概念を示す図である。
【符号の説明】
【0067】
10 ゲーム装置、11,110 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 画像処理部、18 モニタ、20 音声処理部、22 スピーカ、24 DVD−ROM再生部、25 DVD−ROM、26 主記憶、28 メモリカード、30 入出力処理部、32 コントローラ、40 仮想3次元空間、42 フィールドオブジェクト、44 ゴールオブジェクト、46 選手オブジェクト、47 ボールオブジェクト、48 仮想カメラ、48a 視点、48b 視線方向、50 光源、52 画素、54 ポリゴン、60 擬似法線ベクトル取得部、62 シェーディング処理実行部、64 距離取得部、66 シェーディング処理実行制限部、100 プログラム配信システム、102 ゲームデータベース、104 サーバ、106 通信ネットワーク、108 パソコン、112 携帯情報端末(PDA)、114 プログラム配信装置。
【技術分野】
【0001】
本発明は画像処理装置、画像処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
3次元画像処理では、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子が表示出力される。この際、オブジェクト表面の凹凸を表現する技術としてバンプマッピングがある。バンプマッピングによれば、オブジェクト表面の凹凸をポリゴンで厳密に表現しなくとも、オブジェクト表面の法線ベクトルに凹凸に応じた補正を施すことにより、凹凸に応じた陰影(明暗)をオブジェクト表面に施すことができる。
【0003】
バンプマッピングとしては、一般的に、オブジェクト表面にマッピングされるテクスチャ画像を構成する各画素に対して擬似的に法線ベクトル(以下、「擬似法線ベクトル」と記載する。)を設定しておき、オブジェクト表面に対するシェーディング処理(オブジェクト表面に凹凸に応じた陰影を施す処理)を各画素に設定された擬似法線ベクトルに基づいて実行することが行われている。この場合、オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを示すデータとして「法線マップ」と呼ばれるデータが一般的に用意される。法線マップは、テクスチャ画像の各画素に対して設定される擬似法線ベクトルをRGB値で表すデータである。すなわち、法線マップは、擬似法線ベクトルの仮想3次元空間(WX軸、WY軸及びWZ軸からなる空間)におけるWX軸方向成分をR(Red)値で示し、WY軸方向成分をG(Green)値で示し、WZ軸方向成分をB(Blue)値で示すデータである。図12はシェーディング処理の概要を示す図である。シェーディング処理では、オブジェクトを構成するポリゴン54を描画する場合には、各画素52の輝度がその画素52の擬似法線ベクトルNに基づいて決定される。より具体的には、各画素52の輝度が、その画素52から光源50への方向を示す光源方向ベクトルLと、その画素52の擬似法線ベクトルNと、のなす角度θが小さい場合にはその画素52の輝度が高くなり、該角度θが大きい場合にはその画素52の輝度が低くなるようにして決定される。このようにすれば、オブジェクト表面に精細な陰影を施すことができる。
【特許文献1】特開2001−283250号公報
【特許文献2】特開2004−102900号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
バンプマッピングは少ないポリゴン数でオブジェクト表面の凹凸に応じた陰影を表現するのに有効な技術であるが、それを厳密に行うには画像処理の負荷が少なからずかかる。このため、画面に小さく表されるオブジェクトに対してまでバンプマッピングを実施するのは現実的でない。そこで、オブジェクトと視点との間の距離が所定の基準距離以上になったら、そのオブジェクトに対するバンプマッピングを抑止することによって、画像処理の負荷の軽減を図ることが考えられる。しかしながら、その場合、オブジェクトに対するバンプマッピングが実行される状態から、オブジェクトに対するバンプマッピングが実行されない状態に切り替わる際には、ゲーム画面においてオブジェクト表面に凹凸に応じた陰影が精細に表現される状態から、オブジェクト表面に凹凸に応じた陰影が精細に表現されない状態へと切り替わることになるため、ユーザが違和感を感じてしまう場合がある。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる画像処理装置、画像処理装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置において、前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段と、前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段と、前記視点から前記オブジェクトまでの距離を取得する距離取得手段と、前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段と、を含み、前記擬似法線ベクトル取得手段は、前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置の制御方法において、前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得ステップと、前記擬似法線ベクトル取得ステップによって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行ステップと、前記視点から前記オブジェクトまでの距離を取得する距離取得ステップと、前記距離取得ステップによって取得された距離に基づいて、前記シェーディング処理実行ステップによるシェーディング処理の実行を制限するシェーディング処理実行制限ステップと、を含み、前記擬似法線ベクトル取得ステップは、前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段から、前記距離取得ステップによって取得された距離に対応する前記擬似法線ベクトル情報を読み出す擬似法線ベクトル情報読み出しステップと、前記テクスチャ画像の各画素の擬似法線ベクトルを、前記擬似法線ベクトル情報読み出しステップによって読み出された擬似法線ベクトル情報に基づいて取得するステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段、前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段、前記視点から前記オブジェクトまでの距離を取得する距離取得手段、及び、前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段、として前記コンピュータを機能させ、前記擬似法線ベクトル取得手段は、前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含むことを特徴とするプログラムである。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【0010】
本発明は、オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置に関するものである。本発明では、オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルが取得される。そして、取得された擬似法線ベクトルに基づいて、オブジェクト表面に対するシェーディング処理が実行される。また本発明では、視点からオブジェクトまでの距離が取得される。そして、取得された距離に基づいて、オブジェクト表面に対する上記のシェーディング処理の実行が制限される。特に本発明では、視点からの距離と、テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報が記憶される。そして、テクスチャ画像の各画素の擬似法線ベクトルが、上記の取得された距離に対応する擬似法線ベクトル情報に基づいて取得される。本発明によれば、オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる。
【0011】
また、本発明の一態様では、前記シェーディング処理実行制限手段は、前記距離取得手段によって取得された距離が所定の基準距離以上であるか否かを判定する手段を含み、前記距離取得手段によって取得された距離が前記基準距離以上である場合、前記シェーディング処理実行手段によるシェーディング処理の実行を制限し、前記擬似法線ベクトル情報は、前記距離取得手段によって取得された距離が前記基準距離に近づくにつれて、前記テクスチャ画像の各画素の擬似法線ベクトルの、前記オブジェクト表面の法線ベクトルに対する傾き角度が小さくなるように設定されるようにしてもよい。
【0012】
また、本発明の一態様では、前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の基本擬似法線ベクトルを示す情報を記憶する手段を含み、前記擬似法線ベクトル情報は、前記基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、の合成比率を示す情報であり、前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の擬似法線ベクトルを、該画素の基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、を、前記距離取得手段によって取得された距離に対応する前記合成比率に基づいて合成することによって取得するようにしてもよい。
【0013】
また、本発明の一態様では、前記擬似法線ベクトル情報は、前記テクスチャ画像の各画素の擬似法線ベクトルを示す情報であり、前記擬似法線ベクトル取得手段は、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報によって示される、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するようにしてもよい。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合の例について説明する。なお、本発明はゲーム装置以外の画像処理装置にも適用できるものである。
【0015】
図1は、本発明の実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置10は、家庭用ゲーム機11に情報記憶媒体たるDVD−ROM25及びメモリカード28が装着され、さらにモニタ18及びスピーカ22が接続されることによって構成される。例えば、モニタ18には家庭用テレビ受像機が用いられ、スピーカ22にはその内蔵スピーカが用いられる。
【0016】
家庭用ゲーム機11は、バス12、マイクロプロセッサ14、画像処理部16、音声処理部20、DVD−ROM再生部24、主記憶26、入出力処理部30及びコントローラ32を含んで構成される公知のコンピュータゲームシステムである。コントローラ32以外の構成要素は筐体内に収容される。
【0017】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、画像処理部16、主記憶26及び入出力処理部30は、バス12によって相互データ通信可能に接続される。
【0018】
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、DVD−ROM25やメモリカード28から読み出されるゲームプログラムやゲームデータに基づいて、家庭用ゲーム機11の各部を制御する。主記憶26は、例えばRAMを含んで構成されるものであり、DVD−ROM25やメモリカード28から読み出されたゲームプログラムやゲームデータが必要に応じて書き込まれる。主記憶26はマイクロプロセッサ14の作業用としても用いられる。
【0019】
画像処理部16はVRAMを含んで構成されており、マイクロプロセッサ14から送られる画像データを受け取ってVRAM上にゲーム画面を描画するとともに、その内容を所定のビデオ信号に変換して所定タイミングでモニタ18に出力する。すなわち画像処理部16は、マイクロプロセッサ14から視点座標系での各ポリゴンの頂点座標、頂点色情報(RGB値)、テクスチャ座標及びアルファ値等を受け取る。そして、それら情報を用いて表示画像を構成する各画素の色情報、Z値(奥行き情報)及びアルファ値等をVRAMの表示用バッファに描画する。このとき、VRAMにはテクスチャ画像が予め書き込まれており、各テクスチャ座標により特定されるテクスチャ画像中の領域が、それらテクスチャ座標に対応する頂点座標により特定されるポリゴンにマッピング(貼付)されるようになっている。こうして生成される表示画像は所定タイミングでモニタ18に出力される。
【0020】
入出力処理部30は、マイクロプロセッサ14が音声処理部20、DVD−ROM再生部24、メモリカード28及びコントローラ32にアクセスするためのインタフェースである。入出力処理部30には、音声処理部20、DVD−ROM再生部24、メモリカード28及びコントローラ32が接続される。
【0021】
音声処理部20はサウンドバッファを含んで構成されており、DVD−ROM25から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ22から出力する。
【0022】
DVD−ROM再生部24はマイクロプロセッサ14からの指示に従ってDVD−ROM25に記録されたゲームプログラムやゲームデータを読み取る。ここではゲームプログラムやゲームデータを家庭用ゲーム機11に供給するためにDVD−ROM25を用いることとするが、CD−ROMやROMカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からゲームプログラムやゲームデータを家庭用ゲーム機11に供給するようにしてもよい。
【0023】
メモリカード28は不揮発性メモリ(例えばEEPROM等)を含んで構成される。家庭用ゲーム機11は複数のメモリカードスロットを備えており、複数のメモリカード28を同時に装着可能となっている。メモリカード28は、このメモリカードスロットに対して脱着可能に構成され、例えばセーブデータなどの各種ゲームデータを記憶させるために用いられる。
【0024】
コントローラ32は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部30は一定周期毎(例えば1/60秒毎)にコントローラ32の各部の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14は、その操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11は複数のコントローラ32を接続可能に構成されており、各コントローラ32から入力される操作信号に基づいて、マイクロプロセッサ14がゲーム制御を行う。
【0025】
以下、上記構成を有するゲーム装置10において、オブジェクト表面の陰影表現を画像処理の負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザが感じる違和感の軽減を図ることも可能になる技術について説明する。ここでは、サッカーゲームに登場する選手キャラクタのユニフォーム上の陰影を表現する場合を例に説明する。
【0026】
まず、主記憶26に構築される仮想3次元空間について説明する。図2は仮想3次元空間の一例を示す図である。図2に示すように、仮想3次元空間40には、サッカーのフィールドを表すフィールドオブジェクト42と、ゴールを表すゴールオブジェクト44と、が配置され、サッカーの試合会場が形成される。フィールドオブジェクト42上には、サッカー選手を表す選手オブジェクト46と、サッカーボールを表すボールオブジェクト47と、が配置される。選手オブジェクト46には例えばユニフォームを表すテクスチャ画像がマッピングされる。図2では省略されているが、フィールドオブジェクト42上には22体の選手オブジェクト46が配置される。なお、仮想3次元空間40に配置される各オブジェクトは1又は複数のポリゴンによって構成される。
【0027】
仮想3次元空間40には仮想カメラ48(視点48a及び視線方向48b)が設定される。仮想カメラ48は例えばボールオブジェクト47に従動する。仮想カメラ48から仮想3次元空間40を見た様子を表すゲーム画面がモニタ18に表示される。すなわち、視点48aから視線方向48bを見た場合の仮想3次元空間40の様子がゲーム画面に表される。プレイヤはゲーム画面を見ながらコントローラ32を操作し、例えば操作対象の選手オブジェクト46に対する行動指示を行う。
【0028】
また仮想3次元空間40には光源50が設定される。ゲーム画面には、この光源50によって選手オブジェクト46のユニフォーム上に陰影が生じる様子や、この光源50によってフィールドオブジェクト42上にゴールオブジェクト44、選手オブジェクト46やボールオブジェクト47の影が生じる様子が表される。
【0029】
次に、ゲーム装置10に記憶されるデータについて説明する。
【0030】
主記憶26には、仮想3次元空間40に配置される各選手オブジェクト46やボールオブジェクト47の位置や姿勢を示す情報が記憶される。また主記憶26には、仮想3次元空間40に設定される仮想カメラ48の位置(視点48a)や姿勢(視線方向48b)を示す情報や、光源50の位置を示す情報も記憶される。
【0031】
DVD−ROM25には、仮想3次元空間40に配置される各オブジェクトの形状を表すモデルデータや、各オブジェクトにマッピングされるテクスチャ画像が記憶される。例えば、選手オブジェクト46の形状を表すモデルデータや、選手オブジェクト46のユニフォームを表すテクスチャ画像(以下、「ユニフォームテクスチャ画像」と記載する。)が記憶される。
【0032】
またDVD−ROM25には、ユニフォームテクスチャ画像に対応して生成された法線マップが記憶される。この法線マップは、ユニフォームテクスチャ画像を構成する各画素に対して設定される擬似法線ベクトルをRGB値で表すデータである。ここで、各画素の擬似法線ベクトルは単位ベクトル(長さが1のベクトル)に正規化されている。なお以下では、法線マップに保持される各画素の擬似法線ベクトルのことを「基本擬似法線ベクトル」と記載する。
【0033】
またDVD−ROM25には合成比率テーブルが記憶される。図3は合成比率テーブルの一例を示している。図3に示すように、この合成比率テーブルは距離範囲と合成比率とを対応づけてなるデータである。合成比率は、後述するように(図6のS305、図7参照)、基本擬似法線ベクトルと、ユニフォームテクスチャ画像がマッピングされるポリゴンの法線ベクトルと、を合成する場合の、基本擬似法線ベクトルの合成比率を示しており、0以上1以下の値をとる。例えば、合成比率「0.6」は、基本擬似法線ベクトルに0.6を乗じることによって得られるベクトルと、ユニフォームテクスチャ画像がマッピングされる面の法線ベクトルに0.4(=1.0−0.6)を乗じることによって得られるベクトルと、が合成されることを示している。
【0034】
次に、ゲーム装置10でゲーム画面を生成するために実行される処理について説明する。図4は、ゲーム装置10で所定時間(例えば1/60秒)ごとに実行される処理のうち、本発明に関連するものを主として示すフロー図である。この処理は、DVD−ROM25から読み出されるプログラムがゲーム装置10で実行されることによって実現される。
【0035】
図4に示すように、ゲーム装置10はまずゲーム環境処理を実行する(S101)。ゲーム環境処理では、仮想3次元空間40に配置される各オブジェクトの位置及び姿勢が演算される。例えば、操作対象の選手オブジェクト46の位置や姿勢が、コントローラ32から入力される操作信号に基づいて演算される。そして、主記憶26に記憶される各オブジェクトの位置情報や姿勢情報がその演算結果に基づいて更新される。またゲーム環境処理では視点48a、視線方向48bや画角が決定され、視野範囲が算出される。視野範囲内に属しないオブジェクトは以降の処理の対象から外される。
【0036】
その後、ゲーム装置10はジオメトリ処理を実行する(S102)。ジオメトリ処理ではワールド座標系から視点座標系への座標変換が行われる。ここで、ワールド座標系とは、図2に示すWX軸、WY軸、WZ軸からなる座標系である。視点座標系は、視点48aを原点とし、視線方向48bをZ方向、水平方向をX方向、垂直方向をY方向とする座標系である。ジオメトリ処理ではクリッピング処理も行われる。
【0037】
その後、ゲーム装置10はレンダリング処理を実行する(S103)。レンダリング処理では、視野範囲内の各オブジェクトの各頂点の座標、色情報及びアルファ値や、視野範囲内の各オブジェクトの表面にマッピングされるテクスチャ画像及びそのテクスチャ画像に対応する法線マップ等に基づいて、VRAM上の表示用バッファにゲーム画面が描画される。
【0038】
ここで、レンダリング処理のうち、選手オブジェクト46を描画する際の処理について説明する。図5はこの処理を示すフロー図である。
【0039】
図5に示すように、ゲーム装置10は、選手オブジェクト46の代表点と視点48aとの間の距離d(仮想3次元空間40における距離)を算出する(S201)。この距離dは、主記憶26に記憶される選手オブジェクト46や仮想カメラ48の位置情報に基づいて算出される。そして、ゲーム装置10は、距離dが所定の基準距離D5(図3参照)未満であるか否かを判定する(S202)。
【0040】
距離dが基準距離D5未満である場合、ゲーム装置10は選手オブジェクト46の描画を法線マップを用いて実行する(S203)。この場合、選手オブジェクト46のユニフォーム部分に対して、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルに基づいてシェーディング処理が実行される。すなわち、選手オブジェクト46のユニフォームに対して精細な陰影が施される。
【0041】
S203では、ゲーム装置10は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを次のようにして取得する。図6は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを取得するための処理を示すフロー図である。また図7はこの処理の概要を説明するための図である。
【0042】
図6に示すように、ゲーム装置10は、ユニフォームテクスチャ画像の一の画素52(対象画素)の擬似法線ベクトルを取得する場合、まず距離dが所定の基準距離D1(図3参照)未満であるか否かを判定する(S301)。ここで、距離dは図5のS201において取得されたものである。
【0043】
距離dが基準距離D1以上である場合(距離dが基準距離D1未満でない場合)、ゲーム装置10は、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0を取得する(S302)。またゲーム装置10は、ユニフォームテクスチャ画像に対応する法線マップから、画素52の基本擬似法線ベクトルN1を取得する(S303)。さらにゲーム装置10は、合成比率テーブルから、距離dが属する距離範囲に対応する合成比率aを取得する(S304)。そして、ゲーム装置10は、合成比率aに従って、法線ベクトルN0と基本擬似法線ベクトルN1とを合成することによって、画素52の擬似法線ベクトルNを算出する(S305)。より具体的には、ゲーム装置10は、下記の式(1)に示すように、法線ベクトルN0に係数(1−a)を乗じることによって得られるベクトルN0’と、基本擬似法線ベクトルN1に係数(a)を乗じることによって得られるベクトルN1’と、の和のベクトルを取得し、かつ、そのベクトルを単位ベクトルに正規化することによって、擬似法線ベクトルNを取得する。
【0044】
【数1】
【0045】
一方、距離dが基準距離D1未満である場合、ゲーム装置10は、ユニフォームテクスチャ画像に対応する法線マップから、画素52の基本擬似法線ベクトルN1を画素52の擬似法線ベクトルNとして取得する(S306)。
【0046】
図8は、上記のようにして取得される擬似法線ベクトルNについて説明するための図である。図8において、擬似法線ベクトルNaは、距離dが基準距離D1未満である場合の擬似法線ベクトルNを示している。この場合、画素52の擬似法線ベクトルNaは画素52の基本擬似法線ベクトルN1と等しくなる(図6のS306参照)。また、擬似法線ベクトルNbは、距離dが基準距離D1以上であって、かつ、基準距離D2未満である場合の擬似法線ベクトルNを示している。同様に、擬似法線ベクトルNcは、距離dが基準距離D2以上であって、かつ、基準距離D3未満である場合の擬似法線ベクトルNを示している。擬似法線ベクトルNdは、距離dが基準距離D3以上であって、かつ、基準距離D4未満である場合の擬似法線ベクトルNを示している。擬似法線ベクトルNeは、距離dが基準距離D4以上であって、かつ、基準距離D5未満である場合の擬似法線ベクトルNを示している。図8に示すように、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離dが基準距離D5に近づくにつれて、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0と、画素52の擬似法線ベクトルNと、のなす角が小さくなるようになっている。
【0047】
またS203では、ゲーム装置10は、以上のようにして取得された擬似法線ベクトルNに基づいて、選手オブジェクト46のユニフォーム部分に係る各画素の輝度を決定する。すなわち、図12に示すように、各画素52の輝度が、その画素52から光源50への方向を示す光源方向ベクトルLと、その画素52の擬似法線ベクトルNと、のなす角度θが小さい場合にはその画素52の輝度が高くなり、該角度θが大きい場合にはその画素52の輝度が低くなるようにして決定される。例えば、ゲーム装置10は、光源方向ベクトルLと擬似法線ベクトルNとの内積値を算出し、この内積値に基づいて画素の色情報を算出する。
【0048】
一方、S202において、距離dが基準距離D5以上であると判定された場合、ゲーム装置10は選手オブジェクト46の描画を法線マップを用いずに実行する(S204)。この場合、選手オブジェクト46のユニフォーム部分に係る各画素の輝度が、ユニフォームテクスチャ画像がマッピングされるポリゴンの法線ベクトル(図7に示す法線ベクトルN0)と、そのポリゴンから光源50までの方向を示す光源方向ベクトルと、に基づいて決定される。すなわち、この場合、各画素に一様な輝度が設定されることになり、選手オブジェクト46のユニフォーム部分に表される陰影の精細さは、S203が実行される場合に比較して劣ることになる。ただし、S204では、各画素ごとに輝度が算出されないため、S203に比べて処理負荷は軽くなる。
【0049】
以上のように、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が所定の基準距離D5以上になると、その選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理の実行が抑止され、選手オブジェクト46のユニフォーム部分に対する陰影表現が制限される。選手オブジェクト46と仮想カメラ48との間の距離が比較的大きくなると、選手オブジェクト46はゲーム画面に比較的小さく表されるため、選手オブジェクト46のユニフォーム部分の陰影を精細に表さなくても見た目上問題がない。この点、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が比較的大きくなる場合には、選手オブジェクト46のユニフォーム部分の陰影表現を制限することによって、ゲーム画面を描画するための処理負荷の軽減が図られている。
【0050】
また、ゲーム装置10では、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される場合、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルNが、選手オブジェクト46と仮想カメラ48との間の距離に基づいて変化する。選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される状態と、該シェーディング処理の実行が抑止される状態と、が切り替わる際には、ゲーム画面において選手オブジェクト46のユニフォーム部分に凹凸に応じた陰影が精細に表現される状態から、選手オブジェクト46のユニフォーム部分に凹凸に応じた陰影が精細に表現されない状態へと切り替わることになるため、ユーザに違和感を感じさせてしまう場合がある。この点、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が所定の基準距離D5以上になると、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理の実行が抑止される。この場合、選手オブジェクト46のユニフォーム部分に係る各画素の輝度が、ユニフォームテクスチャ画像がマッピングされるポリゴンの法線ベクトルN0に基づいて決定される。そして、ゲーム装置10では、選手オブジェクト46と仮想カメラ48との間の距離が所定の基準距離D5未満である場合、すなわち、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される場合には、例えば図8に示したように、選手オブジェクト46と仮想カメラ48との間の距離が上記基準距離D5に近づくにつれて、各画素52の擬似法線ベクトルN(Na乃至Ne)の、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0に対する傾き角度が小さくなるようになっている。このため、ゲーム装置10では、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が実行される状態から、該シェーディング処理の実行が抑止される状態に切り替わる場合には、選手オブジェクト46のユニフォーム部分に対する法線マップを用いたシェーディング処理が徐々に制限されるようになり、ユーザに違和感を感じさせないように図られている。
【0051】
なお、ゲーム装置10では、図3に示す合成比率テーブルを記憶する代わりに、選手オブジェクト46と仮想カメラ48との間の距離に基づいて合成比率を算出するための1又は複数の演算式を記憶するようにしてもよい。そして、図6のS304では、その演算式に従って合成比率aが算出されるようにしてもよい。
【0052】
また、ゲーム装置10では、図3に示す合成比率テーブルを記憶する代わりに、例えば図9に示すような法線マップテーブルを記憶するようにしてもよい。すなわち、選手オブジェクト46と仮想カメラ48との間の距離が複数の距離範囲の各々に属する場合の、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルNをあらかじめ算出しておくようにしてもよい。そして、ゲーム装置10では、その算出結果を示す法線マップを各距離範囲に対応づけて記憶しておくようにしてもよい。ここで、法線マップテーブル及び法線マップA乃至Eも、図3に示す合成比率テーブルと同様、図8に示すように、選手オブジェクト46と仮想カメラ48との間の距離が上記基準距離D5に近づくにつれて、各画素52の擬似法線ベクトルN(Na乃至Ne)の、ユニフォームテクスチャ画像がマッピングされるポリゴン54の法線ベクトルN0に対する傾き角度が小さくなるように設定される。
【0053】
なお、図3に示す合成比率テーブル、又は、選手オブジェクト46と仮想カメラ48との間の距離に基づいて合成比率を算出するための演算式を記憶する態様によれば、図9に示すような法線マップテーブルを記憶する態様に比べて、あらかじめ記憶される法線マップの数が少なくてすむため、選手オブジェクト46のユニフォーム部分の陰影表現にかかるデータ量の軽減を図ることが可能になる。
【0054】
次に、ゲーム装置10において実現される機能について説明する。図10は、ゲーム装置10において実現される機能のうち、本発明に関連するものを主として示す機能ブロック図である。図10に示すように、ゲーム装置10は、擬似法線ベクトル取得部60と、シェーディング処理実行部62と、距離取得部64と、シェーディング処理実行制限部66と、を機能的に含んでいる。これらの機能は、例えば図4乃至図6に示す処理を実行するためのプログラムがDVD−ROM25から読み出され、ゲーム装置10によって実行されることによって実現される。
【0055】
[距離取得部]
距離取得部64はマイクロプロセッサ14を主として実現される。距離取得部64は、仮想カメラ48(視点48a)から選手オブジェクト46までの距離を取得する。
【0056】
[擬似法線ベクトル取得部]
擬似法線ベクトル取得部60はマイクロプロセッサ14を主として実現される。擬似法線ベクトル取得部60は、選手オブジェクト46の表面にマッピングされるユニフォームテクスチャ画像の各画素に擬似的に設定される擬似法線ベクトルを取得する。
【0057】
擬似法線ベクトル取得部60は、仮想カメラ48(視点48a)からの距離と、擬似法線ベクトル情報と、を対応づけてなる情報を記憶する。ここで、擬似法線ベクトル情報は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを取得するための情報である。また、擬似法線ベクトル情報は、距離取得部64によって取得された距離が基準距離D5に近づくにつれて、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルの、選手オブジェクト46の表面(ユニフォームテクスチャ画像がマッピングされるポリゴン)の法線ベクトルに対する傾き角度が小さくなるように設定される。擬似法線ベクトル取得部60は、距離取得部64によって取得された距離に対応する擬似法線ベクトル情報を取得し、該擬似法線ベクトル情報に基づいて取得する。
【0058】
例えば、擬似法線ベクトル取得部60は、ユニフォームテクスチャ画像の各画素の基本擬似法線ベクトルを示す情報を記憶する。「ユニフォームテクスチャ画像の各画素の基本擬似法線ベクトルを示す情報」は、例えばユニフォームテクスチャ画像の法線マップである。また、擬似法線ベクトル取得部60は、基本擬似法線ベクトルと、選手オブジェクト46の表面(ユニフォームテクスチャ画像がマッピングされるポリゴン)の法線ベクトルと、の合成比率を示す情報を仮想カメラ48からの距離に対応づけてなる情報を記憶する。この場合、合成比率を示す情報が「擬似法線ベクトル情報」に相当する。「合成比率を示す情報を仮想カメラ48からの距離に対応づけてなる情報」は、テーブル式の情報であってもよいし、1又は複数の演算式であってもよい。テーブル形式の情報と1又は複数の演算式との組合せであってもよい。「合成比率を示す情報を仮想カメラ48からの距離に対応づけてなる情報」は、例えば図3に示す合成比率テーブルや、仮想カメラ48からの距離に基づいて合成比率を算出するための演算式である。そして、擬似法線ベクトル取得部60は、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを、該画素の基本擬似法線ベクトルと、選手オブジェクト46の表面(ユニフォームテクスチャ画像がマッピングされるポリゴン)の法線ベクトルと、を、距離取得部64によって取得された距離に対応する合成比率に基づいて合成することによって取得する。
【0059】
または、擬似法線ベクトル取得部60は、仮想カメラ48からの距離に対応づけて、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを示す情報を記憶するようにしてもよい。「ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを示す情報」は、例えば法線マップである。例えば、擬似法線ベクトル取得部60は、図9に示す法線マップテーブルを法線マップA乃至Eとともに記憶するようにしてもよい。そして、擬似法線ベクトル取得部60は、距離取得部64によって取得された距離に対応する法線マップを取得し、該法線マップによって示される、ユニフォームテクスチャ画像の各画素の擬似法線ベクトルを取得するようにしてもよい。
【0060】
[シェーディング処理実行部]
シェーディング処理実行部62はマイクロプロセッサ14や画像処理部16を主として実現される。シェーディング処理実行部62は、擬似法線ベクトル取得部60によって取得される擬似法線ベクトルに基づいて、選手オブジェクト46の表面(ユニフォーム部分)に対するシェーディング処理を実行する。
【0061】
[シェーディング処理実行制限部]
シェーディング処理実行制限部66はマイクロプロセッサ14や画像処理部16を主として実現される。シェーディング処理実行制限部66は、距離取得部64によって取得された距離に基づいて、シェーディング処理実行部62によるシェーディング処理の実行を制限する。例えば、シェーディング処理実行制限部66は、距離取得部64によって取得された距離が所定の基準距離D5以上であるか否かを判定する。シェーディング処理実行制限部66は、距離取得部64によって取得された距離が上記基準距離D5以上である場合、シェーディング処理実行部62によるシェーディング処理の実行を制限する。
【0062】
以上説明したように、ゲーム装置10によれば、選手オブジェクト46のユニフォーム部分の陰影表現を、ゲーム画面を描画するための処理負荷の軽減を図りつつ実現することが可能になり、かつ、ユーザに違和感を感じさせないように図ることも可能になる。
【0063】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0064】
例えば、以上の説明では、プログラムを情報記憶媒体たるDVD−ROM25から家庭用ゲーム機11に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図11は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図11に基づいて本発明に係るプログラム配信方法を説明する。図11に示すように、このプログラム配信システム100は、ゲームデータベース102、サーバ104、通信ネットワーク106、パソコン108、家庭用ゲーム機110、PDA(携帯情報端末)112を含んでいる。このうち、ゲームデータベース102とサーバ104とによりプログラム配信装置114が構成される。通信ネットワーク106は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース(情報記憶媒体)102に、DVD−ROM25の記憶内容と同様のプログラムが記憶されている。そして、パソコン108、家庭用ゲーム機110又はPDA112等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク106を介してサーバ104に伝えられる。そして、サーバ104はゲーム配信要求に応じてゲームデータベース102からプログラムを読み出し、それをパソコン108、家庭用ゲーム機110、PDA112等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ104から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信(一括配信)する必要はなく、ゲームの局面に応じて必要な部分を配信(分割配信)するようにしてもよい。このように通信ネットワーク106を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【0065】
また例えば、本発明はサッカーゲーム以外のゲームを実行するゲーム装置にも適用することができる。また、本発明はゲーム装置以外の画像処理装置にも適用することができる。
【図面の簡単な説明】
【0066】
【図1】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】合成比率テーブルの一例を示す図である。
【図4】ゲーム装置で実行される処理について示すフロー図である。
【図5】ゲーム装置で実行される処理について示すフロー図である。
【図6】ゲーム装置で実行される処理について示すフロー図である。
【図7】ゲーム装置で実行される処理の概念を示す図である。
【図8】ゲーム装置で実行される処理の概念を示す図である。
【図9】法線マップテーブルの一例を示す図である。
【図10】本実施の形態に係るゲーム装置の機能ブロック図である。
【図11】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【図12】法線マップを用いたシェーディング処理の概念を示す図である。
【符号の説明】
【0067】
10 ゲーム装置、11,110 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 画像処理部、18 モニタ、20 音声処理部、22 スピーカ、24 DVD−ROM再生部、25 DVD−ROM、26 主記憶、28 メモリカード、30 入出力処理部、32 コントローラ、40 仮想3次元空間、42 フィールドオブジェクト、44 ゴールオブジェクト、46 選手オブジェクト、47 ボールオブジェクト、48 仮想カメラ、48a 視点、48b 視線方向、50 光源、52 画素、54 ポリゴン、60 擬似法線ベクトル取得部、62 シェーディング処理実行部、64 距離取得部、66 シェーディング処理実行制限部、100 プログラム配信システム、102 ゲームデータベース、104 サーバ、106 通信ネットワーク、108 パソコン、112 携帯情報端末(PDA)、114 プログラム配信装置。
【特許請求の範囲】
【請求項1】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置において、
前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段と、
前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段と、
前記視点から前記オブジェクトまでの距離を取得する距離取得手段と、
前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段と、
を含み、
前記擬似法線ベクトル取得手段は、
前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、
前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記シェーディング処理実行制限手段は、前記距離取得手段によって取得された距離が所定の基準距離以上であるか否かを判定する手段を含み、前記距離取得手段によって取得された距離が前記基準距離以上である場合、前記シェーディング処理実行手段によるシェーディング処理の実行を制限し、
前記擬似法線ベクトル情報は、前記距離取得手段によって取得された距離が前記基準距離に近づくにつれて、前記テクスチャ画像の各画素の擬似法線ベクトルの、前記オブジェクト表面の法線ベクトルに対する傾き角度が小さくなるように設定される、
ことを特徴とする画像処理装置。
【請求項3】
請求項1又は2に記載の画像処理装置において、
前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の基本擬似法線ベクトルを示す情報を記憶する手段を含み、
前記擬似法線ベクトル情報は、前記基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、の合成比率を示す情報であり、
前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の擬似法線ベクトルを、該画素の基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、を、前記距離取得手段によって取得された距離に対応する前記合成比率に基づいて合成することによって取得する、
ことを特徴とする画像処理装置。
【請求項4】
請求項1又は2に記載の画像処理装置において、
前記擬似法線ベクトル情報は、前記テクスチャ画像の各画素の擬似法線ベクトルを示す情報であり、
前記擬似法線ベクトル取得手段は、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報によって示される、前記テクスチャ画像の各画素の擬似法線ベクトルを取得する、
ことを特徴とする画像処理装置。
【請求項5】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置の制御方法において、
前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得ステップと、
前記擬似法線ベクトル取得ステップによって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行ステップと、
前記視点から前記オブジェクトまでの距離を取得する距離取得ステップと、
前記距離取得ステップによって取得された距離に基づいて、前記シェーディング処理実行ステップによるシェーディング処理の実行を制限するシェーディング処理実行制限ステップと、
を含み、
前記擬似法線ベクトル取得ステップは、
前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段から、前記距離取得ステップによって取得された距離に対応する前記擬似法線ベクトル情報を読み出す擬似法線ベクトル情報読み出しステップと、
前記テクスチャ画像の各画素の擬似法線ベクトルを、前記擬似法線ベクトル情報読み出しステップによって読み出された擬似法線ベクトル情報に基づいて取得するステップと、を含む、
ことを特徴とする画像処理装置の制御方法。
【請求項6】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段、
前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段、
前記視点から前記オブジェクトまでの距離を取得する距離取得手段、及び、
前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段、
として前記コンピュータを機能させ、
前記擬似法線ベクトル取得手段は、
前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、
前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含む、
ことを特徴とするプログラム。
【請求項1】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置において、
前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段と、
前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段と、
前記視点から前記オブジェクトまでの距離を取得する距離取得手段と、
前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段と、
を含み、
前記擬似法線ベクトル取得手段は、
前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、
前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記シェーディング処理実行制限手段は、前記距離取得手段によって取得された距離が所定の基準距離以上であるか否かを判定する手段を含み、前記距離取得手段によって取得された距離が前記基準距離以上である場合、前記シェーディング処理実行手段によるシェーディング処理の実行を制限し、
前記擬似法線ベクトル情報は、前記距離取得手段によって取得された距離が前記基準距離に近づくにつれて、前記テクスチャ画像の各画素の擬似法線ベクトルの、前記オブジェクト表面の法線ベクトルに対する傾き角度が小さくなるように設定される、
ことを特徴とする画像処理装置。
【請求項3】
請求項1又は2に記載の画像処理装置において、
前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の基本擬似法線ベクトルを示す情報を記憶する手段を含み、
前記擬似法線ベクトル情報は、前記基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、の合成比率を示す情報であり、
前記擬似法線ベクトル取得手段は、前記テクスチャ画像の各画素の擬似法線ベクトルを、該画素の基本擬似法線ベクトルと、前記オブジェクト表面の法線ベクトルと、を、前記距離取得手段によって取得された距離に対応する前記合成比率に基づいて合成することによって取得する、
ことを特徴とする画像処理装置。
【請求項4】
請求項1又は2に記載の画像処理装置において、
前記擬似法線ベクトル情報は、前記テクスチャ画像の各画素の擬似法線ベクトルを示す情報であり、
前記擬似法線ベクトル取得手段は、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報によって示される、前記テクスチャ画像の各画素の擬似法線ベクトルを取得する、
ことを特徴とする画像処理装置。
【請求項5】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置の制御方法において、
前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得ステップと、
前記擬似法線ベクトル取得ステップによって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行ステップと、
前記視点から前記オブジェクトまでの距離を取得する距離取得ステップと、
前記距離取得ステップによって取得された距離に基づいて、前記シェーディング処理実行ステップによるシェーディング処理の実行を制限するシェーディング処理実行制限ステップと、
を含み、
前記擬似法線ベクトル取得ステップは、
前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段から、前記距離取得ステップによって取得された距離に対応する前記擬似法線ベクトル情報を読み出す擬似法線ベクトル情報読み出しステップと、
前記テクスチャ画像の各画素の擬似法線ベクトルを、前記擬似法線ベクトル情報読み出しステップによって読み出された擬似法線ベクトル情報に基づいて取得するステップと、を含む、
ことを特徴とする画像処理装置の制御方法。
【請求項6】
オブジェクトが配置された仮想3次元空間を所与の視点から見た様子を表す画像を表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記オブジェクト表面にマッピングされるテクスチャ画像の各画素の擬似法線ベクトルを取得する擬似法線ベクトル取得手段、
前記擬似法線ベクトル取得手段によって取得される擬似法線ベクトルに基づいて、前記オブジェクト表面に対するシェーディング処理を実行するシェーディング処理実行手段、
前記視点から前記オブジェクトまでの距離を取得する距離取得手段、及び、
前記距離取得手段によって取得された距離に基づいて、前記シェーディング処理実行手段によるシェーディング処理の実行を制限するシェーディング処理実行制限手段、
として前記コンピュータを機能させ、
前記擬似法線ベクトル取得手段は、
前記視点からの距離と、前記テクスチャ画像の各画素の擬似法線ベクトルを取得するための擬似法線ベクトル情報と、を対応づけてなる情報を記憶する手段と、
前記テクスチャ画像の各画素の擬似法線ベクトルを、前記距離取得手段によって取得された距離に対応する前記擬似法線ベクトル情報に基づいて取得する手段と、を含む、
ことを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−77371(P2008−77371A)
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願番号】特願2006−255458(P2006−255458)
【出願日】平成18年9月21日(2006.9.21)
【特許番号】特許第4031509号(P4031509)
【特許公報発行日】平成20年1月9日(2008.1.9)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願日】平成18年9月21日(2006.9.21)
【特許番号】特許第4031509号(P4031509)
【特許公報発行日】平成20年1月9日(2008.1.9)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]