画像処理装置、画像処理装置の制御方法及びプログラム
【課題】例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を実現する場合の手間の軽減を図ることが可能になる画像処理装置を提供すること。
【解決手段】本発明では、第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像が取得される(S201)。また、第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像が取得される(S202)。また本発明では、第1のテクスチャ画像又は/及び第2のテクスチャ画像の各画素の透明度を特定するための透明度データが記憶される。そして、第1のテクスチャ画像と第2のテクスチャ画像とを透明度データに基づいて半透明合成してなるテクスチャ画像が、仮想3次元空間に配置されるオブジェクトにマッピングされる(S203)。
【解決手段】本発明では、第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像が取得される(S201)。また、第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像が取得される(S202)。また本発明では、第1のテクスチャ画像又は/及び第2のテクスチャ画像の各画素の透明度を特定するための透明度データが記憶される。そして、第1のテクスチャ画像と第2のテクスチャ画像とを透明度データに基づいて半透明合成してなるテクスチャ画像が、仮想3次元空間に配置されるオブジェクトにマッピングされる(S203)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、画像処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
仮想3次元空間を仮想カメラ(視点)から見た様子を表す画像を表示する画像処理装置が知られている。このような画像処理装置の例としてはゲーム装置が挙げられる。
【特許文献1】特開2007−082859号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記のような画像処理装置(ゲーム装置)では、例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像を画面に表示したい場合がある。このような画像の表示を実現するにあたっては、その実現にかかる手間の軽減が強く望まれる。
【0004】
本発明は上記課題に鑑みてなされたものであって、その目的は、例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を実現する場合の手間の軽減を図ることが可能になる画像処理装置、画像処理装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る画像処理装置は、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置において、第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段と、第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段と、前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段と、前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段と、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段と、前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段と、を含むことを特徴とする。
【0006】
また、本発明に係る画像処理装置の制御方法は、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置の制御方法において、第1の単位テクスチャ画像を記憶してなる第1の単位テクスチャ画像記憶手段から前記第1の単位テクスチャ画像を読み出すステップと、第2の単位テクスチャ画像を記憶してなる第2の単位テクスチャ画像記憶手段から前記第2の単位テクスチャ画像を読み出すステップと、前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得ステップと、前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得ステップと、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶してなる透明度データ記憶手段から前記透明度データを読み出すステップと、前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピングステップと、を含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置として、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段、第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段、前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段、前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段、及び、前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段、として前記コンピュータを機能させるためのプログラムである。
【0008】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【0009】
本発明は、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置に関するものである。本発明では第1の単位テクスチャ画像と第2の単位テクスチャ画像とが記憶される。また、第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像が取得され、第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像が取得される。また本発明では、第1のテクスチャ画像又は/及び第2のテクスチャ画像の各画素の透明度を特定するための透明度データが記憶される。そして、第1のテクスチャ画像と第2のテクスチャ画像とを透明度データに基づいて半透明合成してなるテクスチャ画像が、仮想3次元空間に配置されるオブジェクトにマッピングされる。例えば、「第1の単位テクスチャ画像」は土を精細に表すテクスチャ画像である。また、「第2の単位テクスチャ画像」は草を精細に表すテクスチャ画像である。また、「オブジェクト」は例えば地面オブジェクトである。本発明によれば、例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を実現する場合の手間の軽減を図ることが可能になる。
【0010】
また、本発明の一態様では、前記透明度データは、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度の時間経過に伴う変化を示すデータであり、前記マッピング手段は、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を前記透明度データに基づいて変化させ、前記オブジェクトにマッピングされる前記テクスチャ画像を時間経過に伴って変化させるようにしてもよい。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0012】
図1は、本発明の実施形態に係るゲーム装置(画像処理装置)の全体構成を示す図である。図1に示すゲーム装置10は、家庭用ゲーム機11、モニタ32、スピーカ34、光ディスク36を含んでいる。モニタ32及びスピーカ34は家庭用ゲーム機11に接続される。モニタ32としては例えば家庭用テレビ受像機が用いられる。スピーカ34としては例えば家庭用テレビ受像機に内蔵されたスピーカが用いられる。光ディスク36は情報記憶媒体であり、家庭用ゲーム機11に装着される。
【0013】
家庭用ゲーム機11は公知のコンピュータゲームシステムである。家庭用ゲーム機11は、バス12、マイクロプロセッサ14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30を含む。コントローラ30以外の構成要素は家庭用ゲーム機11の筐体内に収容される。
【0014】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、主記憶16、画像処理部18及び入出力処理部20は、バス12によって相互データ通信可能に接続される。
【0015】
マイクロプロセッサ14は図示しないROMに格納されるオペレーティングシステム、光ディスク36又はハードディスク26から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機11の各部を制御する。主記憶16は例えばRAMを含む。主記憶16には光ディスク36又はハードディスク26から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶16はマイクロプロセッサ14の作業用メモリとしても用いられる。
【0016】
画像処理部18はVRAMを含む。画像処理部18はマイクロプロセッサ14から送られる画像データに基づいてVRAM上にゲーム画面を描画する。そして、画像処理部18はVRAM上に描画されたゲーム画面をビデオ信号に変換して所定のタイミングでモニタ32に出力する。すなわち画像処理部18は、マイクロプロセッサ14から視点座標系での各ポリゴンの頂点座標、頂点色情報(RGB値)、テクスチャ座標及びアルファ値等を受け取る。そして、それら情報を用いて表示画像を構成する各画素の色情報、Z値(奥行き情報)及びアルファ値等をVRAMの表示用バッファに描画する。このとき、VRAMにはテクスチャ画像が予め書き込まれており、各テクスチャ座標により特定されるテクスチャ画像中の領域が、それらテクスチャ座標に対応する頂点座標により特定されるポリゴンにマッピング(貼付)されるようになっている。こうして生成される表示画像は所定タイミングでモニタ32に出力される。
【0017】
入出力処理部20はマイクロプロセッサ14が音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30にアクセスするためのインタフェースである。入出力処理部20には、音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30が接続される。
【0018】
音声処理部22はサウンドバッファを含む。サウンドバッファには光ディスク36又はハードディスク26から読み出されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データが記憶される。音声処理部22はサウンドバッファに記憶された各種音声データを再生してスピーカ34から出力する。
【0019】
光ディスク読み取り部24はマイクロプロセッサ14からの指示に従って光ディスク36に記録されたプログラムやデータを読み取る。なお、ここではプログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いることとするが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えばインターネット等の通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。
【0020】
ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。ハードディスク26にはプログラムやデータが記憶される。通信インタフェース28はインターネット等の通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0021】
コントローラ30はユーザが各種ゲーム操作を入力するための汎用操作入力手段である。入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各部の状態をスキャンする。そして、入出力処理部20はそのスキャン結果を表す操作信号をバス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14はその操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11には複数のコントローラ30を接続することが可能である。マイクロプロセッサ14は各コントローラ30から入力される操作信号に基づいてゲーム制御を実行する。
【0022】
上記の構成を備えるゲーム装置10では、例えばプレイヤの操作に従ってプレイヤキャラクタオブジェクトが敵キャラクタオブジェクトを退治するアクションゲームが実行される。このアクションゲームは、光ディスク36又はハードディスク26から読み出されたゲームプログラムが実行されることによって実現される。
【0023】
ゲーム装置10の主記憶16には仮想3次元空間が構築される。図2は仮想3次元空間の一例を示している。図2に示す仮想3次元空間40には地面オブジェクト42が配置されている。また、地面オブジェクト42上にはプレイヤキャラクタオブジェクト44と敵キャラクタオブジェクト46とが配置されている。また仮想3次元空間40には、プレイヤキャラクタオブジェクト44の移動に従って移動する仮想カメラ48が設定される。この仮想カメラ48から仮想3次元空間40を見た様子を表すゲーム画面が生成され、該ゲーム画面がモニタ32に表示される。
【0024】
以下、上記のゲーム装置10において、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を好適に実現するための技術について説明する。
【0025】
図3は、ゲーム装置10が所定時間(例えば1/60秒)ごとに実行する処理のうち、本発明に関連する処理を主として示すフロー図である。図3に示す処理は光ディスク36又はハードディスク26に記憶されたプログラムに従って実行される。
【0026】
図3に示すように、まず環境処理が実行される(S101)。環境処理では、仮想3次元空間40のすべてのオブジェクトの位置及び姿勢が算出される。また環境処理では、視点座標、視線方向及び画角も算出される。なお、画角には例えば固定値が用いられる。こうして算出される視点座標、視線方向及び画角に従って、仮想カメラ48が仮想3次元空間40に仮想的に配置される。
【0027】
その後、ジオメトリ処理が実行される(S102)。ジオメトリ処理では、ワールド座標系(Xw,Yw,Zw)から視点座標系(すなわち、視点座標を原点とし、視線方向をZ方向、水平方向をX方向、垂直方向をY方向とする座標系)への座標変換が行われる。また、各オブジェクトを構成するポリゴンについて、頂点の色情報が光源情報に基づいて算出される。さらに、クリッピング処理も行われる。
【0028】
その後、レンダリング処理が実行される(S103)。すなわち、マイクロプロセッサ14が、視野範囲内の各ポリゴンの頂点座標、頂点色情報及びテクスチャ座標等を画像処理部18に渡す。そして、画像処理部18が、それらの情報に基づいてVRAM上にゲーム画面を形成する。ゲーム画面は、視点座標系で記述された各オブジェクトをスクリーン座標系に変換することによって形成される。こうして、仮想3次元空間40を仮想カメラ48から見た様子を表すゲーム画面がVRAM上に描画される。VRAM上に描画されたゲーム画面は所与のタイミングでモニタ32に表示出力される(S104)。
【0029】
ここで、地面オブジェクト42へのテクスチャ画像のマッピングについて詳細に説明する。
【0030】
まず、地面オブジェクト42へのテクスチャ画像のマッピングに関連するデータについて説明する。
【0031】
光ディスク36(第1の単位テクスチャ画像記憶手段及び第2の単位テクスチャ画像記憶手段)には、土を表す単位テクスチャ画像(第1の単位テクスチャ画像)と、草を表す単位テクスチャ画像(第2の単位テクスチャ画像)と、が記憶される。土の単位テクスチャ画像には土が比較的精細に(比較的高解像度で)描かれており、草の単位テクスチャ画像には草が比較的精細に(比較的高解像度で)描かれている。また、これらの単位テクスチャ画像の大きさ(広さ)は地面オブジェクト42よりも小さくなっている。なお以下では、土の単位テクスチャ画像50を図4に示すように表し、草の単位テクスチャ画像52を図5に示すように表す。光ディスク36には、地面オブジェクト42へのテクスチャ画像のマッピングに関連するデータが他にも記憶されるが、このデータについては後述する。
【0032】
次に、地面オブジェクト42へのテクスチャ画像のマッピングに関する処理について説明する。図6は、地面オブジェクト42へのテクスチャ画像のマッピングに関する処理を示すフロー図である。図6に示す処理は光ディスク36又はハードディスク26に記憶されたプログラムに従って実行される。
【0033】
図6に示すように、マイクロプロセッサ14及び画像処理部18(第1のテクスチャ画像取得手段)は、土の単位テクスチャ画像50を縦又は/及び横に繰り返し配置することによって、土テクスチャ画像(第1のテクスチャ画像)をVRAM上に生成する(S201)。図7は、このステップで生成される土テクスチャ画像60の一例を示す。なお図7において、点線は、土の単位テクスチャ画像50が繰り返し配置されることを明確化するために描かれたものであり、実際には表されない。土テクスチャ画像60の大きさ(広さ)は地面オブジェクト42の大きさに対応している。すなわち、土テクスチャ画像60は、地面オブジェクト42の全体を覆うことが可能な大きさ(広さ)を有する。すなわち、土テクスチャ画像60は少なくとも地面オブジェクト42と同じ大きさ(広さ)を有する。
【0034】
また、マイクロプロセッサ14及び画像処理部18(第2のテクスチャ画像取得手段)は、草の単位テクスチャ画像52を縦又は/及び横に繰り返し配置することによって、草テクスチャ画像(第2のテクスチャ画像)をVRAM上に生成する(S202)。図8は、このステップで生成される草テクスチャ画像62の一例を示す。なお図8においても、点線は、草の単位テクスチャ画像52が繰り返し配置されることを明確化するために描かれたものであり、実際には表されない。草テクスチャ画像62の大きさ(広さ)も地面オブジェクト42の大きさに対応している。すなわち、草テクスチャ画像62も、地面オブジェクト42の全体を覆うことが可能な大きさ(広さ)を有する。つまり、草テクスチャ画像62も少なくとも地面オブジェクト42と同じ大きさ(広さ)を有する。また、土テクスチャ画像60と草テクスチャ画像62とは同じ大きさ(広さ)を有する。
【0035】
その後、マイクロプロセッサ14及び画像処理部18(マッピング手段)は、土テクスチャ画像60と草テクスチャ画像62とを重ねて、地面オブジェクト42にマッピングする(S203)。すなわち、土テクスチャ画像60と草テクスチャ画像62とが半透明合成されてなるテクスチャ画像が地面オブジェクト42に対してマッピングされる。
【0036】
このステップの処理に関連するデータとして、光ディスク36にはグレースケールのテクスチャ画像が記憶される。図9はこのテクスチャ画像の一例を示す。なお図9において、斜線部分はその部分の色が灰色であることを表している。また、灰色部分の濃さは一定ではなく、黒から白、又は白から黒へと滑らかに変化するように徐々に濃く又は薄くなるようになっている。このテクスチャ画像70の大きさ(広さ)は地面オブジェクト42(又は草テクスチャ画像62や土テクスチャ画像60)の大きさに対応している。本実施の形態の場合、このテクスチャ画像70の大きさ(広さ)は草テクスチャ画像62(又は土テクスチャ画像60)と同じ大きさである。このテクスチャ画像70は草テクスチャ画像62や土テクスチャ画像60とともに地面オブジェクト42に適用されることによって、草テクスチャ画像62(又は土テクスチャ画像60)の各画素の透明度(アルファ値:半透明合成の割合)を制御する役割を果たす。すなわち、このテクスチャ画像70は、草テクスチャ画像62(又は土テクスチャ画像60)の各画素の透明度を示す透明度データとしての役割を果たす。なお、ここでは、テクスチャ画像70は、草テクスチャ画像62の各画素の透明度を白黒の濃淡で示す256階調のグレースケール画像であることとして説明する。白色領域72は、草テクスチャ画像62の画素が完全不透明に設定されることを示す。黒色領域74は、草テクスチャ画像62の画素が完全透明に設定されることを示す。灰色領域76(斜線部分)は、草テクスチャ画像62の画素が半透明に設定されることを示す。なお、256階調のグレースケール画像は白黒の濃淡度を0〜255の値で保持するデータであり、値「0」は黒色に対応し、値「255」は白色に対応する。以下では、図9に示すテクスチャ画像のことを「透明度データ」と記載する。
【0037】
地面オブジェクト42(地面オブジェクト42にマッピングされるテクスチャ画像)の各画素のRGB値(R,G,B)は下記の式(1)〜(3)のようになる。なお、下記の式(1)〜(3)において、(Ra,Ga,Ba)は土テクスチャ画像60の対象画素のRGB値を示し、(Rb,Gb,Bb)は草テクスチャ画像62の対象画素のRGB値を示す。また、αは、透明度データの対象画素の色情報(256階調のグレースケール)から特定される透明度(アルファ値)を示す。
【0038】
R=(Ra*((255−α)/255))+(Rb*(α/255)) ・・・(1)
G=(Ga*((255−α)/255))+(Gb*(α/255)) ・・・(2)
B=(Ba*((255−α)/255))+(Bb*(α/255)) ・・・(3)
【0039】
上記のように、地面オブジェクト42には、土テクスチャ画像60と草体テクスチャ画像62とを透明度データに従って半透明合成してなるテクスチャ画像がマッピングされる。図10は地面オブジェクト42にマッピングされるテクスチャ画像80の一例を示している。なお図10において、実線部分は、土テクスチャ画像60や草体テクスチャ画像62が完全不透明に設定されることを示しており、点線部分は、土テクスチャ画像60や草体テクスチャ画像62が半透明に設定されることを示している。
【0040】
なお、S201及びS202で生成される土テクスチャ画像60や草テクスチャ画像62は、ゲームが実行される間、VRAMに保持され続けるようにしてもよい。この場合、S201及びS202の処理は例えばゲーム開始時に一度だけ実行すればよい。
【0041】
以上説明したゲーム装置10によれば、土の単位テクスチャ画像50や草の単位テクスチャ画像52がテクスチャ解像度を維持したまま地面オブジェクト42にマッピングされることになる。その結果、比較的広範囲の地面の所々に草が生えている様子を表す画像(ゲーム画面)には地面や草が比較的精細に表されるようになる。
【0042】
ところで、比較的広範囲の地面の所々に草が生えている様子を比較的精細に表す画像(ゲーム画面)を表示するための手法としては、下記のような手法も考えられる。図11及び図12はこの手法を説明するための図である。この手法では、図11に示すように、地面オブジェクト42が、土の単位テクスチャ画像50がマッピングされる部分(土を表す部分)のポリゴン(以下、「土ポリゴン」と記載する。)90と、草の単位テクスチャ画像52がマッピングされる部分(草を表す部分)のポリゴン(以下、「草ポリゴン」と記載する。)92と、にあらかじめ分割される。そして、図12に示すように、土ポリゴン90には土の単位テクスチャ画像50がマッピングされる。このとき、土の単位テクスチャ画像50はその解像度(テクスチャ解像度)を維持したままマッピングされる。このため、土ポリゴン90の大きさ(広さ)が土の単位テクスチャ画像50よりも大きい場合には、土の単位テクスチャ画像50が土ポリゴン90に対して繰り返しマッピングされる。同様に、図12に示すように、草ポリゴン92には草の単位テクスチャ画像52がその解像度(テクスチャ解像度)を維持したままマッピングされる。すなわち、草の単位テクスチャ画像52が草ポリゴン92に対して繰り返しマッピングされる。このようにしても、比較的広い範囲の地面の所々に草が生える様子を比較的精細に表す画像を表示することができる。
【0043】
しかしながら、上記の手法では、例えば草が点々と生えている様子を表す画像を表示する場合のように、草が生えている場所を多く設ける場合、地面オブジェクト42を多くのポリゴンに分割しなければならなくなる。また、ゲーム開発の過程では、草が生える場所を変更する必要が生じる場合がある。この場合、上記の手法では、地面オブジェクト42のポリゴン分割からやり直さなければならなくなる。このため、上記の手法では、ゲーム制作者の手間がかかってしまう場合があった。
【0044】
この点、ゲーム装置10で採用されている手法によれば、例えば草が生える場所を多く設ける場合であっても、透明度データ(図9参照)を調整すれば足り、地面オブジェクト42を多くのポリゴンに分割する必要がない。また、ゲーム装置10で採用されている手法によれば、例えば草が生える場所を変更する場合であっても、透明度データ(図9参照)を変更すれば足り、地面オブジェクト42のポリゴン分割からやり直す必要がない。したがって、ゲーム装置10で採用されている手法によれば、ゲーム制作者の手間の軽減を図ることが可能になる。
【0045】
また、ゲーム装置10で採用されている手法によれば、草が生えている場所から草が生えていない場所へと滑らかに変化させることが可能になる。
【0046】
図11及び図12を用いて説明した手法(地面オブジェクト42を土ポリゴン90と草ポリゴン92とに分割する方法)に関しては、草が生えている場所から草が生えていない場所へと滑らかに変化させるため手法として、下記のような手法が考えられる。図13はこの方法を説明するための図である。この手法では、図13に示すように、草ポリゴン92の一部が土ポリゴン90が重なるように草ポリゴン92が設けられる。図13に示す例では、土ポリゴン90内の太線で囲まれた部分90aと、草ポリゴン92内の太線で囲まれた部分92aと、が重なるようになっている。また、土ポリゴン90内の太線で囲まれた部分90bと、草ポリゴン92内の太線で囲まれた部分92bと、が重なるようになっている。そして、草ポリゴン92の土ポリゴン90との重なり部分(部分92a,92b)内の頂点94の透明度が、草が生えている場所から草が生えていない場所へと滑らかに変化するように調整される。
【0047】
しかしながら、上記の方法では、透明度の調整対象が頂点94に限られるため、透明度調整の自由度が低い。このため、草が生えている場所から草が生えていない場所への変化の滑らかさが、ゲーム制作者が所望する程度の滑らかさにならない場合がある。
【0048】
この点、ゲーム装置10で採用されている手法によれば、土テクスチャ画像60や草テクスチャ画像62の透明度を画素単位で調整できるようになるため、透明度調整の自由度を向上することができる。その結果、草が生えている場所から草が生えていない場所への変化の滑らかさを、ゲーム制作者が所望する程度の滑らかさにすることが可能になる。
【0049】
本発明は以上に説明した実施の形態に限定されるものではない。
【0050】
例えば、透明度データは、草テクスチャ画像62(又は土テクスチャ画像60)の各画素の透明度(α値)の時間経過に伴う変化を示すデータであってもよい。例えば、透明度データは、各画素の白黒の濃淡度の所定時間(例えば1/60秒)ごとの変化を表すグレースケールのアニメーションデータとしてもよい。こうすれば、地面オブジェクト42にマッピングされる草テクスチャ画像62(又は土テクスチャ画像60)の透明度を時間経過に伴って変化させることが可能になる。その結果、例えば、草の生える場所が時間経過に伴って変化する様子を画面に表すことが可能になる。
【0051】
また例えば、本発明は、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像を表示する場合以外にも適用することができる。例えば、本発明は、比較的広範囲の地面の所々に草以外の物が生える様子を比較的精細に表す画像を表示する場合以外にも適用することができる。
【0052】
また例えば、以上の説明では、プログラムを情報記憶媒体たる光ディスク36を介してゲーム装置10に供給するようにしたが、通信ネットワークを介してプログラムをゲーム装置10に配信するようにしてもよい。図14は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図14に基づいて本発明に係るプログラム配信方法を説明する。図14に示すように、このプログラム配信システム100はゲーム装置10、通信ネットワーク106、プログラム配信装置108を含む。プログラム配信装置108はデータベース102とサーバ104とを含む。通信ネットワーク106は、例えばインターネットやケーブルテレビネットワークを含む。このシステムでは、データベース(情報記憶媒体)102に、光ディスク36に記憶されるプログラムと同様のプログラムが記憶されている。そして、需要者がゲーム装置10を用いてゲーム配信要求をすることにより、それが通信ネットワーク106を介してサーバ104に伝えられる。そして、サーバ104はゲーム配信要求に応じてデータベース102からプログラムを読み出し、それをゲーム配信要求元のゲーム装置10に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ104から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信(一括配信)する必要はなく、ゲームの局面に応じて必要な部分を配信(分割配信)するようにしてもよい。このように通信ネットワーク106を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【0053】
【図1】本実施の形態に係るゲーム装置(画像処理装置)のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】ゲーム装置が実行する処理を示すフロー図である。
【図4】土の単位テクスチャ画像を示す図である。
【図5】草の単位テクスチャ画像を示す図である。
【図6】ゲーム装置が実行する処理を示すフロー図である。
【図7】土テクスチャ画像を示す図である。
【図8】草テクスチャ画像を示す図である。
【図9】透明度データを示す図である。
【図10】地面オブジェクトにマッピングされるテクスチャ画像を示す図である。
【図11】他の手法について説明するための図である。
【図12】他の手法について説明するための図である。
【図13】他の手法について説明するための図である。
【図14】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【0054】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスク読み取り部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 モニタ、34 スピーカ、36 光ディスク、40 仮想3次元空間、42 地面オブジェクト、44 プレイヤキャラクタオブジェクト、46 敵キャラクタオブジェクト、48 仮想カメラ、50 土の単位テクスチャ画像、52 草の単位テクスチャ画像、60 土テクスチャ画像、62 草テクスチャ画像、70 テクスチャ画像、72 白色領域、74 黒色領域、76 灰色領域、80 テクスチャ画像、90 土ポリゴン、92 草ポリゴン、94 頂点、100 プログラム配信システム、102 データベース、104 サーバ、106 通信ネットワーク、108 プログラム配信装置。
【技術分野】
【0001】
本発明は画像処理装置、画像処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
仮想3次元空間を仮想カメラ(視点)から見た様子を表す画像を表示する画像処理装置が知られている。このような画像処理装置の例としてはゲーム装置が挙げられる。
【特許文献1】特開2007−082859号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記のような画像処理装置(ゲーム装置)では、例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像を画面に表示したい場合がある。このような画像の表示を実現するにあたっては、その実現にかかる手間の軽減が強く望まれる。
【0004】
本発明は上記課題に鑑みてなされたものであって、その目的は、例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を実現する場合の手間の軽減を図ることが可能になる画像処理装置、画像処理装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る画像処理装置は、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置において、第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段と、第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段と、前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段と、前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段と、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段と、前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段と、を含むことを特徴とする。
【0006】
また、本発明に係る画像処理装置の制御方法は、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置の制御方法において、第1の単位テクスチャ画像を記憶してなる第1の単位テクスチャ画像記憶手段から前記第1の単位テクスチャ画像を読み出すステップと、第2の単位テクスチャ画像を記憶してなる第2の単位テクスチャ画像記憶手段から前記第2の単位テクスチャ画像を読み出すステップと、前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得ステップと、前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得ステップと、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶してなる透明度データ記憶手段から前記透明度データを読み出すステップと、前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピングステップと、を含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置として、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段、第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段、前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段、前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段、及び、前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段、として前記コンピュータを機能させるためのプログラムである。
【0008】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【0009】
本発明は、仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置に関するものである。本発明では第1の単位テクスチャ画像と第2の単位テクスチャ画像とが記憶される。また、第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像が取得され、第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像が取得される。また本発明では、第1のテクスチャ画像又は/及び第2のテクスチャ画像の各画素の透明度を特定するための透明度データが記憶される。そして、第1のテクスチャ画像と第2のテクスチャ画像とを透明度データに基づいて半透明合成してなるテクスチャ画像が、仮想3次元空間に配置されるオブジェクトにマッピングされる。例えば、「第1の単位テクスチャ画像」は土を精細に表すテクスチャ画像である。また、「第2の単位テクスチャ画像」は草を精細に表すテクスチャ画像である。また、「オブジェクト」は例えば地面オブジェクトである。本発明によれば、例えば、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を実現する場合の手間の軽減を図ることが可能になる。
【0010】
また、本発明の一態様では、前記透明度データは、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度の時間経過に伴う変化を示すデータであり、前記マッピング手段は、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を前記透明度データに基づいて変化させ、前記オブジェクトにマッピングされる前記テクスチャ画像を時間経過に伴って変化させるようにしてもよい。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0012】
図1は、本発明の実施形態に係るゲーム装置(画像処理装置)の全体構成を示す図である。図1に示すゲーム装置10は、家庭用ゲーム機11、モニタ32、スピーカ34、光ディスク36を含んでいる。モニタ32及びスピーカ34は家庭用ゲーム機11に接続される。モニタ32としては例えば家庭用テレビ受像機が用いられる。スピーカ34としては例えば家庭用テレビ受像機に内蔵されたスピーカが用いられる。光ディスク36は情報記憶媒体であり、家庭用ゲーム機11に装着される。
【0013】
家庭用ゲーム機11は公知のコンピュータゲームシステムである。家庭用ゲーム機11は、バス12、マイクロプロセッサ14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30を含む。コントローラ30以外の構成要素は家庭用ゲーム機11の筐体内に収容される。
【0014】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、主記憶16、画像処理部18及び入出力処理部20は、バス12によって相互データ通信可能に接続される。
【0015】
マイクロプロセッサ14は図示しないROMに格納されるオペレーティングシステム、光ディスク36又はハードディスク26から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機11の各部を制御する。主記憶16は例えばRAMを含む。主記憶16には光ディスク36又はハードディスク26から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶16はマイクロプロセッサ14の作業用メモリとしても用いられる。
【0016】
画像処理部18はVRAMを含む。画像処理部18はマイクロプロセッサ14から送られる画像データに基づいてVRAM上にゲーム画面を描画する。そして、画像処理部18はVRAM上に描画されたゲーム画面をビデオ信号に変換して所定のタイミングでモニタ32に出力する。すなわち画像処理部18は、マイクロプロセッサ14から視点座標系での各ポリゴンの頂点座標、頂点色情報(RGB値)、テクスチャ座標及びアルファ値等を受け取る。そして、それら情報を用いて表示画像を構成する各画素の色情報、Z値(奥行き情報)及びアルファ値等をVRAMの表示用バッファに描画する。このとき、VRAMにはテクスチャ画像が予め書き込まれており、各テクスチャ座標により特定されるテクスチャ画像中の領域が、それらテクスチャ座標に対応する頂点座標により特定されるポリゴンにマッピング(貼付)されるようになっている。こうして生成される表示画像は所定タイミングでモニタ32に出力される。
【0017】
入出力処理部20はマイクロプロセッサ14が音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30にアクセスするためのインタフェースである。入出力処理部20には、音声処理部22、光ディスク読み取り部24、ハードディスク26、通信インタフェース28及びコントローラ30が接続される。
【0018】
音声処理部22はサウンドバッファを含む。サウンドバッファには光ディスク36又はハードディスク26から読み出されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データが記憶される。音声処理部22はサウンドバッファに記憶された各種音声データを再生してスピーカ34から出力する。
【0019】
光ディスク読み取り部24はマイクロプロセッサ14からの指示に従って光ディスク36に記録されたプログラムやデータを読み取る。なお、ここではプログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いることとするが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えばインターネット等の通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。
【0020】
ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。ハードディスク26にはプログラムやデータが記憶される。通信インタフェース28はインターネット等の通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0021】
コントローラ30はユーザが各種ゲーム操作を入力するための汎用操作入力手段である。入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各部の状態をスキャンする。そして、入出力処理部20はそのスキャン結果を表す操作信号をバス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14はその操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11には複数のコントローラ30を接続することが可能である。マイクロプロセッサ14は各コントローラ30から入力される操作信号に基づいてゲーム制御を実行する。
【0022】
上記の構成を備えるゲーム装置10では、例えばプレイヤの操作に従ってプレイヤキャラクタオブジェクトが敵キャラクタオブジェクトを退治するアクションゲームが実行される。このアクションゲームは、光ディスク36又はハードディスク26から読み出されたゲームプログラムが実行されることによって実現される。
【0023】
ゲーム装置10の主記憶16には仮想3次元空間が構築される。図2は仮想3次元空間の一例を示している。図2に示す仮想3次元空間40には地面オブジェクト42が配置されている。また、地面オブジェクト42上にはプレイヤキャラクタオブジェクト44と敵キャラクタオブジェクト46とが配置されている。また仮想3次元空間40には、プレイヤキャラクタオブジェクト44の移動に従って移動する仮想カメラ48が設定される。この仮想カメラ48から仮想3次元空間40を見た様子を表すゲーム画面が生成され、該ゲーム画面がモニタ32に表示される。
【0024】
以下、上記のゲーム装置10において、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像の表示を好適に実現するための技術について説明する。
【0025】
図3は、ゲーム装置10が所定時間(例えば1/60秒)ごとに実行する処理のうち、本発明に関連する処理を主として示すフロー図である。図3に示す処理は光ディスク36又はハードディスク26に記憶されたプログラムに従って実行される。
【0026】
図3に示すように、まず環境処理が実行される(S101)。環境処理では、仮想3次元空間40のすべてのオブジェクトの位置及び姿勢が算出される。また環境処理では、視点座標、視線方向及び画角も算出される。なお、画角には例えば固定値が用いられる。こうして算出される視点座標、視線方向及び画角に従って、仮想カメラ48が仮想3次元空間40に仮想的に配置される。
【0027】
その後、ジオメトリ処理が実行される(S102)。ジオメトリ処理では、ワールド座標系(Xw,Yw,Zw)から視点座標系(すなわち、視点座標を原点とし、視線方向をZ方向、水平方向をX方向、垂直方向をY方向とする座標系)への座標変換が行われる。また、各オブジェクトを構成するポリゴンについて、頂点の色情報が光源情報に基づいて算出される。さらに、クリッピング処理も行われる。
【0028】
その後、レンダリング処理が実行される(S103)。すなわち、マイクロプロセッサ14が、視野範囲内の各ポリゴンの頂点座標、頂点色情報及びテクスチャ座標等を画像処理部18に渡す。そして、画像処理部18が、それらの情報に基づいてVRAM上にゲーム画面を形成する。ゲーム画面は、視点座標系で記述された各オブジェクトをスクリーン座標系に変換することによって形成される。こうして、仮想3次元空間40を仮想カメラ48から見た様子を表すゲーム画面がVRAM上に描画される。VRAM上に描画されたゲーム画面は所与のタイミングでモニタ32に表示出力される(S104)。
【0029】
ここで、地面オブジェクト42へのテクスチャ画像のマッピングについて詳細に説明する。
【0030】
まず、地面オブジェクト42へのテクスチャ画像のマッピングに関連するデータについて説明する。
【0031】
光ディスク36(第1の単位テクスチャ画像記憶手段及び第2の単位テクスチャ画像記憶手段)には、土を表す単位テクスチャ画像(第1の単位テクスチャ画像)と、草を表す単位テクスチャ画像(第2の単位テクスチャ画像)と、が記憶される。土の単位テクスチャ画像には土が比較的精細に(比較的高解像度で)描かれており、草の単位テクスチャ画像には草が比較的精細に(比較的高解像度で)描かれている。また、これらの単位テクスチャ画像の大きさ(広さ)は地面オブジェクト42よりも小さくなっている。なお以下では、土の単位テクスチャ画像50を図4に示すように表し、草の単位テクスチャ画像52を図5に示すように表す。光ディスク36には、地面オブジェクト42へのテクスチャ画像のマッピングに関連するデータが他にも記憶されるが、このデータについては後述する。
【0032】
次に、地面オブジェクト42へのテクスチャ画像のマッピングに関する処理について説明する。図6は、地面オブジェクト42へのテクスチャ画像のマッピングに関する処理を示すフロー図である。図6に示す処理は光ディスク36又はハードディスク26に記憶されたプログラムに従って実行される。
【0033】
図6に示すように、マイクロプロセッサ14及び画像処理部18(第1のテクスチャ画像取得手段)は、土の単位テクスチャ画像50を縦又は/及び横に繰り返し配置することによって、土テクスチャ画像(第1のテクスチャ画像)をVRAM上に生成する(S201)。図7は、このステップで生成される土テクスチャ画像60の一例を示す。なお図7において、点線は、土の単位テクスチャ画像50が繰り返し配置されることを明確化するために描かれたものであり、実際には表されない。土テクスチャ画像60の大きさ(広さ)は地面オブジェクト42の大きさに対応している。すなわち、土テクスチャ画像60は、地面オブジェクト42の全体を覆うことが可能な大きさ(広さ)を有する。すなわち、土テクスチャ画像60は少なくとも地面オブジェクト42と同じ大きさ(広さ)を有する。
【0034】
また、マイクロプロセッサ14及び画像処理部18(第2のテクスチャ画像取得手段)は、草の単位テクスチャ画像52を縦又は/及び横に繰り返し配置することによって、草テクスチャ画像(第2のテクスチャ画像)をVRAM上に生成する(S202)。図8は、このステップで生成される草テクスチャ画像62の一例を示す。なお図8においても、点線は、草の単位テクスチャ画像52が繰り返し配置されることを明確化するために描かれたものであり、実際には表されない。草テクスチャ画像62の大きさ(広さ)も地面オブジェクト42の大きさに対応している。すなわち、草テクスチャ画像62も、地面オブジェクト42の全体を覆うことが可能な大きさ(広さ)を有する。つまり、草テクスチャ画像62も少なくとも地面オブジェクト42と同じ大きさ(広さ)を有する。また、土テクスチャ画像60と草テクスチャ画像62とは同じ大きさ(広さ)を有する。
【0035】
その後、マイクロプロセッサ14及び画像処理部18(マッピング手段)は、土テクスチャ画像60と草テクスチャ画像62とを重ねて、地面オブジェクト42にマッピングする(S203)。すなわち、土テクスチャ画像60と草テクスチャ画像62とが半透明合成されてなるテクスチャ画像が地面オブジェクト42に対してマッピングされる。
【0036】
このステップの処理に関連するデータとして、光ディスク36にはグレースケールのテクスチャ画像が記憶される。図9はこのテクスチャ画像の一例を示す。なお図9において、斜線部分はその部分の色が灰色であることを表している。また、灰色部分の濃さは一定ではなく、黒から白、又は白から黒へと滑らかに変化するように徐々に濃く又は薄くなるようになっている。このテクスチャ画像70の大きさ(広さ)は地面オブジェクト42(又は草テクスチャ画像62や土テクスチャ画像60)の大きさに対応している。本実施の形態の場合、このテクスチャ画像70の大きさ(広さ)は草テクスチャ画像62(又は土テクスチャ画像60)と同じ大きさである。このテクスチャ画像70は草テクスチャ画像62や土テクスチャ画像60とともに地面オブジェクト42に適用されることによって、草テクスチャ画像62(又は土テクスチャ画像60)の各画素の透明度(アルファ値:半透明合成の割合)を制御する役割を果たす。すなわち、このテクスチャ画像70は、草テクスチャ画像62(又は土テクスチャ画像60)の各画素の透明度を示す透明度データとしての役割を果たす。なお、ここでは、テクスチャ画像70は、草テクスチャ画像62の各画素の透明度を白黒の濃淡で示す256階調のグレースケール画像であることとして説明する。白色領域72は、草テクスチャ画像62の画素が完全不透明に設定されることを示す。黒色領域74は、草テクスチャ画像62の画素が完全透明に設定されることを示す。灰色領域76(斜線部分)は、草テクスチャ画像62の画素が半透明に設定されることを示す。なお、256階調のグレースケール画像は白黒の濃淡度を0〜255の値で保持するデータであり、値「0」は黒色に対応し、値「255」は白色に対応する。以下では、図9に示すテクスチャ画像のことを「透明度データ」と記載する。
【0037】
地面オブジェクト42(地面オブジェクト42にマッピングされるテクスチャ画像)の各画素のRGB値(R,G,B)は下記の式(1)〜(3)のようになる。なお、下記の式(1)〜(3)において、(Ra,Ga,Ba)は土テクスチャ画像60の対象画素のRGB値を示し、(Rb,Gb,Bb)は草テクスチャ画像62の対象画素のRGB値を示す。また、αは、透明度データの対象画素の色情報(256階調のグレースケール)から特定される透明度(アルファ値)を示す。
【0038】
R=(Ra*((255−α)/255))+(Rb*(α/255)) ・・・(1)
G=(Ga*((255−α)/255))+(Gb*(α/255)) ・・・(2)
B=(Ba*((255−α)/255))+(Bb*(α/255)) ・・・(3)
【0039】
上記のように、地面オブジェクト42には、土テクスチャ画像60と草体テクスチャ画像62とを透明度データに従って半透明合成してなるテクスチャ画像がマッピングされる。図10は地面オブジェクト42にマッピングされるテクスチャ画像80の一例を示している。なお図10において、実線部分は、土テクスチャ画像60や草体テクスチャ画像62が完全不透明に設定されることを示しており、点線部分は、土テクスチャ画像60や草体テクスチャ画像62が半透明に設定されることを示している。
【0040】
なお、S201及びS202で生成される土テクスチャ画像60や草テクスチャ画像62は、ゲームが実行される間、VRAMに保持され続けるようにしてもよい。この場合、S201及びS202の処理は例えばゲーム開始時に一度だけ実行すればよい。
【0041】
以上説明したゲーム装置10によれば、土の単位テクスチャ画像50や草の単位テクスチャ画像52がテクスチャ解像度を維持したまま地面オブジェクト42にマッピングされることになる。その結果、比較的広範囲の地面の所々に草が生えている様子を表す画像(ゲーム画面)には地面や草が比較的精細に表されるようになる。
【0042】
ところで、比較的広範囲の地面の所々に草が生えている様子を比較的精細に表す画像(ゲーム画面)を表示するための手法としては、下記のような手法も考えられる。図11及び図12はこの手法を説明するための図である。この手法では、図11に示すように、地面オブジェクト42が、土の単位テクスチャ画像50がマッピングされる部分(土を表す部分)のポリゴン(以下、「土ポリゴン」と記載する。)90と、草の単位テクスチャ画像52がマッピングされる部分(草を表す部分)のポリゴン(以下、「草ポリゴン」と記載する。)92と、にあらかじめ分割される。そして、図12に示すように、土ポリゴン90には土の単位テクスチャ画像50がマッピングされる。このとき、土の単位テクスチャ画像50はその解像度(テクスチャ解像度)を維持したままマッピングされる。このため、土ポリゴン90の大きさ(広さ)が土の単位テクスチャ画像50よりも大きい場合には、土の単位テクスチャ画像50が土ポリゴン90に対して繰り返しマッピングされる。同様に、図12に示すように、草ポリゴン92には草の単位テクスチャ画像52がその解像度(テクスチャ解像度)を維持したままマッピングされる。すなわち、草の単位テクスチャ画像52が草ポリゴン92に対して繰り返しマッピングされる。このようにしても、比較的広い範囲の地面の所々に草が生える様子を比較的精細に表す画像を表示することができる。
【0043】
しかしながら、上記の手法では、例えば草が点々と生えている様子を表す画像を表示する場合のように、草が生えている場所を多く設ける場合、地面オブジェクト42を多くのポリゴンに分割しなければならなくなる。また、ゲーム開発の過程では、草が生える場所を変更する必要が生じる場合がある。この場合、上記の手法では、地面オブジェクト42のポリゴン分割からやり直さなければならなくなる。このため、上記の手法では、ゲーム制作者の手間がかかってしまう場合があった。
【0044】
この点、ゲーム装置10で採用されている手法によれば、例えば草が生える場所を多く設ける場合であっても、透明度データ(図9参照)を調整すれば足り、地面オブジェクト42を多くのポリゴンに分割する必要がない。また、ゲーム装置10で採用されている手法によれば、例えば草が生える場所を変更する場合であっても、透明度データ(図9参照)を変更すれば足り、地面オブジェクト42のポリゴン分割からやり直す必要がない。したがって、ゲーム装置10で採用されている手法によれば、ゲーム制作者の手間の軽減を図ることが可能になる。
【0045】
また、ゲーム装置10で採用されている手法によれば、草が生えている場所から草が生えていない場所へと滑らかに変化させることが可能になる。
【0046】
図11及び図12を用いて説明した手法(地面オブジェクト42を土ポリゴン90と草ポリゴン92とに分割する方法)に関しては、草が生えている場所から草が生えていない場所へと滑らかに変化させるため手法として、下記のような手法が考えられる。図13はこの方法を説明するための図である。この手法では、図13に示すように、草ポリゴン92の一部が土ポリゴン90が重なるように草ポリゴン92が設けられる。図13に示す例では、土ポリゴン90内の太線で囲まれた部分90aと、草ポリゴン92内の太線で囲まれた部分92aと、が重なるようになっている。また、土ポリゴン90内の太線で囲まれた部分90bと、草ポリゴン92内の太線で囲まれた部分92bと、が重なるようになっている。そして、草ポリゴン92の土ポリゴン90との重なり部分(部分92a,92b)内の頂点94の透明度が、草が生えている場所から草が生えていない場所へと滑らかに変化するように調整される。
【0047】
しかしながら、上記の方法では、透明度の調整対象が頂点94に限られるため、透明度調整の自由度が低い。このため、草が生えている場所から草が生えていない場所への変化の滑らかさが、ゲーム制作者が所望する程度の滑らかさにならない場合がある。
【0048】
この点、ゲーム装置10で採用されている手法によれば、土テクスチャ画像60や草テクスチャ画像62の透明度を画素単位で調整できるようになるため、透明度調整の自由度を向上することができる。その結果、草が生えている場所から草が生えていない場所への変化の滑らかさを、ゲーム制作者が所望する程度の滑らかさにすることが可能になる。
【0049】
本発明は以上に説明した実施の形態に限定されるものではない。
【0050】
例えば、透明度データは、草テクスチャ画像62(又は土テクスチャ画像60)の各画素の透明度(α値)の時間経過に伴う変化を示すデータであってもよい。例えば、透明度データは、各画素の白黒の濃淡度の所定時間(例えば1/60秒)ごとの変化を表すグレースケールのアニメーションデータとしてもよい。こうすれば、地面オブジェクト42にマッピングされる草テクスチャ画像62(又は土テクスチャ画像60)の透明度を時間経過に伴って変化させることが可能になる。その結果、例えば、草の生える場所が時間経過に伴って変化する様子を画面に表すことが可能になる。
【0051】
また例えば、本発明は、比較的広範囲の地面の所々に草が生える様子を比較的精細に表す画像を表示する場合以外にも適用することができる。例えば、本発明は、比較的広範囲の地面の所々に草以外の物が生える様子を比較的精細に表す画像を表示する場合以外にも適用することができる。
【0052】
また例えば、以上の説明では、プログラムを情報記憶媒体たる光ディスク36を介してゲーム装置10に供給するようにしたが、通信ネットワークを介してプログラムをゲーム装置10に配信するようにしてもよい。図14は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図14に基づいて本発明に係るプログラム配信方法を説明する。図14に示すように、このプログラム配信システム100はゲーム装置10、通信ネットワーク106、プログラム配信装置108を含む。プログラム配信装置108はデータベース102とサーバ104とを含む。通信ネットワーク106は、例えばインターネットやケーブルテレビネットワークを含む。このシステムでは、データベース(情報記憶媒体)102に、光ディスク36に記憶されるプログラムと同様のプログラムが記憶されている。そして、需要者がゲーム装置10を用いてゲーム配信要求をすることにより、それが通信ネットワーク106を介してサーバ104に伝えられる。そして、サーバ104はゲーム配信要求に応じてデータベース102からプログラムを読み出し、それをゲーム配信要求元のゲーム装置10に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ104から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信(一括配信)する必要はなく、ゲームの局面に応じて必要な部分を配信(分割配信)するようにしてもよい。このように通信ネットワーク106を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【0053】
【図1】本実施の形態に係るゲーム装置(画像処理装置)のハードウェア構成を示す図である。
【図2】仮想3次元空間の一例を示す図である。
【図3】ゲーム装置が実行する処理を示すフロー図である。
【図4】土の単位テクスチャ画像を示す図である。
【図5】草の単位テクスチャ画像を示す図である。
【図6】ゲーム装置が実行する処理を示すフロー図である。
【図7】土テクスチャ画像を示す図である。
【図8】草テクスチャ画像を示す図である。
【図9】透明度データを示す図である。
【図10】地面オブジェクトにマッピングされるテクスチャ画像を示す図である。
【図11】他の手法について説明するための図である。
【図12】他の手法について説明するための図である。
【図13】他の手法について説明するための図である。
【図14】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【0054】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスク読み取り部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 モニタ、34 スピーカ、36 光ディスク、40 仮想3次元空間、42 地面オブジェクト、44 プレイヤキャラクタオブジェクト、46 敵キャラクタオブジェクト、48 仮想カメラ、50 土の単位テクスチャ画像、52 草の単位テクスチャ画像、60 土テクスチャ画像、62 草テクスチャ画像、70 テクスチャ画像、72 白色領域、74 黒色領域、76 灰色領域、80 テクスチャ画像、90 土ポリゴン、92 草ポリゴン、94 頂点、100 プログラム配信システム、102 データベース、104 サーバ、106 通信ネットワーク、108 プログラム配信装置。
【特許請求の範囲】
【請求項1】
仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置において、
第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段と、
第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段と、
前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段と、
前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段と、
前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段と、
前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記透明度データは、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度の時間経過に伴う変化を示すデータであり、
前記マッピング手段は、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を前記透明度データに基づいて変化させ、前記オブジェクトにマッピングされる前記テクスチャ画像を時間経過に伴って変化させる、
ことを特徴とする画像処理装置。
【請求項3】
仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置の制御方法において、
第1の単位テクスチャ画像を記憶してなる第1の単位テクスチャ画像記憶手段から前記第1の単位テクスチャ画像を読み出すステップと、
第2の単位テクスチャ画像を記憶してなる第2の単位テクスチャ画像記憶手段から前記第2の単位テクスチャ画像を読み出すステップと、
前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得ステップと、
前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得ステップと、
前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶してなる透明度データ記憶手段から前記透明度データを読み出すステップと、
前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピングステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項4】
仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段、
第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段、
前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段、
前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段、
前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段、及び、
前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段、
として前記コンピュータを機能させるためのプログラム。
【請求項1】
仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置において、
第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段と、
第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段と、
前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段と、
前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段と、
前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段と、
前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記透明度データは、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度の時間経過に伴う変化を示すデータであり、
前記マッピング手段は、前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を前記透明度データに基づいて変化させ、前記オブジェクトにマッピングされる前記テクスチャ画像を時間経過に伴って変化させる、
ことを特徴とする画像処理装置。
【請求項3】
仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置の制御方法において、
第1の単位テクスチャ画像を記憶してなる第1の単位テクスチャ画像記憶手段から前記第1の単位テクスチャ画像を読み出すステップと、
第2の単位テクスチャ画像を記憶してなる第2の単位テクスチャ画像記憶手段から前記第2の単位テクスチャ画像を読み出すステップと、
前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得ステップと、
前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得ステップと、
前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶してなる透明度データ記憶手段から前記透明度データを読み出すステップと、
前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピングステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項4】
仮想3次元空間を仮想カメラから見た様子を表す画像を表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
第1の単位テクスチャ画像を記憶する第1の単位テクスチャ画像記憶手段、
第2の単位テクスチャ画像を記憶する第2の単位テクスチャ画像記憶手段、
前記第1の単位テクスチャ画像を複数配列してなる第1のテクスチャ画像を取得する第1のテクスチャ画像取得手段、
前記第2の単位テクスチャ画像を複数配列してなる第2のテクスチャ画像を取得する第2のテクスチャ画像取得手段、
前記第1のテクスチャ画像又は/及び前記第2のテクスチャ画像の各画素の透明度を示す透明度データを記憶する透明度データ記憶手段、及び、
前記第1のテクスチャ画像と前記第2のテクスチャ画像とを前記透明度データに基づいて半透明合成してなるテクスチャ画像を、前記仮想3次元空間に配置されるオブジェクトにマッピングするマッピング手段、
として前記コンピュータを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2009−145941(P2009−145941A)
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願番号】特願2007−319440(P2007−319440)
【出願日】平成19年12月11日(2007.12.11)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願日】平成19年12月11日(2007.12.11)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]