画像処理装置、画像処理装置の制御方法、及びプログラム
【課題】処理負荷を抑えつつ、毛髪の立体感を表現する。
【解決手段】ゲーム装置(10)は、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段(32)に表示する。オブジェクト設定部(72)は、キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクト(60)を含むキャラクタオブジェクト(44)を設定する。テクスチャ画像取得部(74)は、毛髪テクスチャ画像(90)が毛髪描画用オブジェクト(60)にマッピングされた場合に、毛髪が毛髪描画用オブジェクト(60)の表面に沿って螺旋状に表れる毛髪テクスチャ画像(90)を取得する。表示制御部(76)は、毛髪テクスチャ画像(90)がマッピングされた毛髪描画用オブジェクト(60)を含むキャラクタオブジェクト(44)を視点(46)から見た画像を表示手段(32)に表示させる。
【解決手段】ゲーム装置(10)は、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段(32)に表示する。オブジェクト設定部(72)は、キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクト(60)を含むキャラクタオブジェクト(44)を設定する。テクスチャ画像取得部(74)は、毛髪テクスチャ画像(90)が毛髪描画用オブジェクト(60)にマッピングされた場合に、毛髪が毛髪描画用オブジェクト(60)の表面に沿って螺旋状に表れる毛髪テクスチャ画像(90)を取得する。表示制御部(76)は、毛髪テクスチャ画像(90)がマッピングされた毛髪描画用オブジェクト(60)を含むキャラクタオブジェクト(44)を視点(46)から見た画像を表示手段(32)に表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、仮想3次元空間を所与の視点から見た画像を表示させる画像処理装置が知られている。特許文献1には、テクスチャ画像がマッピングされたキャラクタオブジェクトを仮想カメラから見た画像を表示する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−230543号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、キャラクタの毛髪を表す場合、特許文献1のように、単にテクスチャ画像をキャラクタオブジェクトにマッピングする方法では、平面的な描写となってしまうので、毛髪(例えば、パーマがかかった毛髪)の立体感を十分に表現することはできない。毛髪の立体感を表現するために、キャラクタオブジェクトに含まれるポリゴンを細かく設定することも考えられるが、ポリゴンの頂点数が増加するため処理負荷が増大する可能性がある。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、処理負荷を抑えつつ、毛髪の立体感を表現することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置であって、前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段と、前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段と、前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置の制御方法であって、前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定ステップと、前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得ステップと、前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御ステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段、前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段、前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段、を含む画像処理装置として前記コンピュータを機能させることを特徴とする。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
【0010】
本発明によれば、処理負荷を抑えつつ、毛髪の立体感を表現することが可能になる。
【0011】
また、本発明の一態様では、前記テクスチャ画像取得手段は、前記毛髪テクスチャ画像の第1の位置から第2の位置まで伸びる第1の毛髪部分が表れ、前記毛髪テクスチャ画像の第3の位置から第4の位置まで伸びる第2の毛髪部分が表れてなる前記毛髪テクスチャ画像を取得し、前記表示制御手段は、前記毛髪描画用オブジェクトの表面において、前記第2の位置と前記第3の位置とが略一致するように前記テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる、ことを特徴とする。
【0012】
また、本発明の一態様では、前記テクスチャ画像取得手段は、前記第2の位置と前記第3の位置とが前記毛髪テクスチャ画像の水平方向又は垂直方向の中心線に対して線対称になっている前記毛髪テクスチャ画像を取得することを特徴とする。
【0013】
また、本発明の一態様では、前記テクスチャ画像取得手段は、前記第2の位置が前記毛髪テクスチャ画像の一の端部に対応する端部領域に含まれ、かつ、前記第3の位置が他の端部に対応する端部領域に含まれる前記毛髪テクスチャ画像を取得することを特徴とする。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】ゲーム空間の一例を示す図である。
【図3】キャラクタオブジェクトのうちキャラクタの頭部を表すオブジェクトを示す図である。
【図4】毛髪描画用オブジェクトを示す図である。
【図5】頭皮オブジェクトの周囲に設定された毛髪描画用オブジェクトを示す図である。
【図6】ゲーム画面の一例を示す図である。
【図7】ゲーム装置で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。
【図8】顔テクスチャ画像の一例を示す図である。
【図9】毛髪テクスチャ画像の一例を示す図である。
【図10】毛髪テクスチャ画像がマッピングされた毛髪描画用オブジェクトを示す図である。
【図11】ゲーム装置が所定時間ごとに実行する処理を示すフロー図である。
【図12】変形例(1−1)における毛髪テクスチャ画像を示す図である。
【図13】変形例(1−2)における毛髪テクスチャ画像がマッピングされる様子を表す図である。
【図14】変形例(1−3)における毛髪テクスチャ画像がマッピングされる様子を表す図である。
【図15】変形例(1−4)における毛髪テクスチャ画像がマッピングされる様子を表す図である。
【図16】変形例(2)における毛髪テクスチャ画像がマッピングされる様子を示す図である。
【発明を実施するための形態】
【0015】
[1.実施形態]
実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係る画像処理装置は、例えば、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。本実施形態においては、本発明に係る画像処理装置を、家庭用ゲーム機に適用した場合について説明する。
【0016】
[2.ゲーム装置のハードウェア構成]
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部32、音声出力部34、及び光ディスク36(情報記憶媒体)を含む。
【0017】
表示部32及び音声出力部34は、家庭用ゲーム機11に接続される。表示部32は、例えば、家庭用テレビ受像機又は液晶ディスプレイなどである。音声出力部34は、例えば、家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホンなどである。
【0018】
家庭用ゲーム機11は、公知のコンピュータゲームシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスク再生部24、ハードディスク26、通信インタフェース28、及びコントローラ30を含む。
【0019】
制御部14は、一又は複数のCPUを含む。制御部14は、図示しないROMに格納されるオペレーティングシステムや、光ディスク36から読み出されるプログラムに基づいて、家庭用ゲーム機11の各部を制御する処理や情報処理を実行する。
【0020】
主記憶16は、例えば、RAMを含む。光ディスク36から読み出されたプログラム及びデータは、主記憶16に書き込まれる。主記憶16は、制御部14の作業用メモリとしても用いられる。バス12は、アドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0021】
画像処理部18は、VRAMを含む。画像処理部18は、制御部14から供給される画像データに基づいてVRAM上にゲーム画面を描画する。VRAM上に描画されたゲーム画面は、ビデオ信号に変換されて所定のタイミングで表示部32に出力される。
【0022】
入出力処理部20は、制御部14が、音声処理部22、光ディスク再生部24、ハードディスク26、通信インタフェース28、及びコントローラ30にアクセスするためのインタフェースである。
【0023】
音声処理部22は、サウンドバッファを含む。音声処理部22は、光ディスク36からサウンドバッファに読み出された音声データを、音声出力部34から出力する。
【0024】
通信インタフェース28は、インターネットなどの通信ネットワークに、家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0025】
光ディスク再生部24は、光ディスク36に記録されたプログラムやデータを読み取る。本実施形態においては、プログラムやデータを家庭用ゲーム機11に供給するために、光ディスク36が用られる場合を説明するが、メモリカード等の他の情報記憶媒体が用いられて、プログラムやデータが家庭用ゲーム機11に対して供給されるようにしてもよい。他にも例えば、通信ネットワークを介して遠隔地からプログラムやデータが家庭用ゲーム機11に供給されるようにしてもよい。
【0026】
ハードディスク26は、一般的なハードディスク装置(補助記憶装置)である。なお、本実施形態において光ディスク36に記憶されるものとして説明するプログラムやデータは、ハードディスク26に記憶されていてもよい。
【0027】
コントローラ30は、ユーザが操作を行うための操作部である。家庭用ゲーム機11には、一又は複数のコントローラ30が、有線又は無線接続される。入出力処理部20は、一定周期毎(例えば1/60秒毎)に、コントローラ30の各操作部材の状態をスキャンする。このスキャン結果を表す操作信号は、バス12を介して制御部14に供給される。制御部14は、この操作信号に基づいてユーザの操作を判定する。
【0028】
[3.ゲーム装置において実行されるゲーム]
ゲーム装置10は、光ディスク36から読み出したゲームプログラムを実行することによって、例えば、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段(例えば、表示部32)に表示する。
【0029】
以下では、キャラクタを表すキャラクタオブジェクトがゲーム空間(3次元空間)内を移動するゲーム(例えば、サッカーゲーム)が実行される場合について説明する。ゲームが開始されると、例えば、ゲーム空間が、主記憶16に構築される。
【0030】
図2は、ゲーム空間の一例を示す図である。図2に示すゲーム空間40は、互いに直交する3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間になっている。
【0031】
図2に示すように、ゲーム空間40には、地面を表すフィールドオブジェクト42が配置される。フィールドオブジェクト42上には、キャラクタを表すキャラクタオブジェクト44が配置される。なお、図2においては、各オブジェクトの形状が、簡略化されて表されている。
【0032】
ゲーム空間40に配置されるオブジェクトは、複数のポリゴンを含んで構成される。即ち、複数のポリゴンによって、各オブジェクトの立体形状が表現される。各オブジェクトに含まれるポリゴンの位置(頂点座標)は、例えば、ワールド座標系(Xw−Yw−Zw座標系)の3次元座標で特定される。
【0033】
本実施形態においては、キャラクタオブジェクト44は、キャラクタの各部位(例えば、頭部、胴部等)を表すオブジェクトと、当該オブジェクトの周囲に設定される略筒状(例えば、円筒状、多角柱状、円錐台状等)の毛髪描画用オブジェクトと、を含んでなる。
【0034】
図3は、キャラクタオブジェクト44のうちキャラクタの頭部を表すオブジェクトを示す図である。ここで、キャラクタの頭部とは、キャラクタの首から上の部位のことを示す。図3に示すように、キャラクタオブジェクト44は、複数のポリゴンによってキャラクタの頭部の部位の凹凸が表現されている。例えば、キャラクタオブジェクト44は、目オブジェクト52、鼻オブジェクト54、口オブジェクト56、頭皮オブジェクト58を含んで構成される。
【0035】
図4は、毛髪描画用オブジェクトを示す図である。図4に示すように、毛髪描画用オブジェクト60は、略筒状である。詳細は後述するが、略筒状の毛髪描画用オブジェクト60に巻きつくように、キャラクタの毛髪が描画される。例えば、頭皮オブジェクト58の周囲に毛髪描画用オブジェクト60が設定される。別の言い方をすれば、毛髪描画用オブジェクト60は、頭皮オブジェクト58の表面に隣接する位置に設定される。
【0036】
なお、本実施形態において、「オブジェクトが設定される」とは、ゲーム空間40にオブジェクトが配置されることと同じ意である。即ち、「オブジェクトが設定される」と、このオブジェクトの各点(例えば、ポリゴンの頂点座標)を示す情報が主記憶16に記憶されることになる。
【0037】
図5は、頭皮オブジェクト58の周囲に設定された毛髪描画用オブジェクト60を示す図である。図5に示すように、頭皮オブジェクト58の周囲には、複数の毛髪描画用オブジェクト60が設定される。即ち、毛髪描画用オブジェクト60は、パーマがかかっている毛髪が表されるべき位置に設定されることになる。
【0038】
また、図5のように設定されたキャラクタオブジェクト44には、キャラクタの顔や毛髪を表すテクスチャ画像がマッピングされることによって、キャラクタの顔や毛髪が描かれることになる。テクスチャ画像をオブジェクトにマッピングする方法は、公知の種々の手法を適用可能である。
【0039】
なお、本実施形態において、毛髪描画用オブジェクト60自体は透明である。例えば、毛髪描画用オブジェクト60は、半透明ポリゴンを含んで構成される、いわゆる透明オブジェクトである。即ち、表示部32に表示される画像には、毛髪描画用オブジェクト60自体は表示されず、毛髪描画用オブジェクト60の表面に描かれた毛髪が表示されることになる。
【0040】
図2に戻り、ゲーム空間40には、仮想カメラ46(視点)が設定される。表示部32には、ゲーム空間40を仮想カメラ46から見た様子を表す画像(ゲーム画面)が表示される。このゲーム画面は、ゲーム空間40に配置された各オブジェクトの頂点座標(ポリゴンの頂点座標)が、所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換されることによって生成される。
【0041】
図6は、ゲーム画面の一例を示す図である。例えば、仮想カメラ46の視界内にあるキャラクタオブジェクト44が表すキャラクタがゲーム画面Gに表示される。本実施形態においては、図6に示すように、立体的なパーマがかかった毛髪を有するキャラクタがゲーム画面Gに表示される。
【0042】
本実施形態においては、ゲーム装置10の処理負荷を抑えつつパーマがかかった毛髪の立体感を表現するために、図5のように設定された毛髪描画用オブジェクト60の表面に沿って螺旋状に毛髪が表れるようにテクスチャ画像がマッピングされる。以降、この技術について詳細に説明する。
【0043】
[4.ゲーム装置において実現される機能]
図7は、ゲーム装置10で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。図7に示すように、ゲーム装置10は、ゲームデータ記憶部70、オブジェクト設定部72、テクスチャ画像取得部74、及び表示制御部76を含む。
【0044】
[4−1.ゲームデータ記憶部]
ゲームデータ記憶部70は、例えば、主記憶16及び光ディスク36等を主として実現される。ゲームデータ記憶部70は、例えば、ゲームを実現してゲーム画面を表示させるために必要なデータを記憶する。なお、制御部14は、ゲームデータ記憶部70に記憶された各種データを取得する手段として機能する。
【0045】
ゲームデータ記憶部70には、例えば、以下のようなデータが記憶される。
(1)実行中のゲームの現在の状況を示すゲーム状況データ
(2)ゲーム空間40に配置されるオブジェクトにマッピングされるテクスチャ画像の画像データ
【0046】
[ゲーム状況データ]
ゲーム状況データには、例えば、ゲーム空間40の現在の状況を示すデータが格納される。例えば、ゲーム状況データには、キャラクタオブジェクト44の現在の状態(代表点、ポリゴンの頂点座標、キャラクタの姿勢、移動方向等)を示すデータ、仮想カメラ46の現在の状態(位置及び視線方向等)を示すデータ等が含まれる。
【0047】
ゲーム状況データは、ゲームプログラムに基づいて、所定の時間間隔で更新される。例えば、キャラクタオブジェクト44の移動方向に基づいて、キャラクタオブジェクト44の位置や姿勢が更新される。更新されたゲーム状況データに基づいて、ゲーム画面の表示も更新されることになる。
【0048】
[画像データ]
画像データには、例えば、キャラクタオブジェクト44にマッピングされるテクスチャ画像のデータが含まれる。これらのテクスチャ画像の各部は、マッピングされるべきオブジェクトの位置(ポリゴンの頂点座標)と関連付けられている。この関連付けを示すデータは、ゲームデータ記憶部70に記憶されているものとする。本実施形態においては、キャラクタの顔を表す顔テクスチャ画像と、パーマがかかった毛髪を表す毛髪テクスチャ画像と、が画像データとして記憶される場合を説明する。
【0049】
図8は、顔テクスチャ画像の一例を示す図である。図8に示す顔テクスチャ画像80には、例えば、目82、鼻84、口86等が描かれている。なお、図8では省略されているが、顔テクスチャ画像80には、キャラクタの毛髪(例えば、パーマが立体的にかかっていない部分)や耳、肌の質感等も描かれる。
【0050】
例えば、目82、鼻84、口86は、それぞれ目オブジェクト52、鼻オブジェクト54、口オブジェクト56と関連付けられている。顔テクスチャ画像80に表れる他の部位についても同様に、キャラクタオブジェクト44のうちキャラクタの頭部を表すオブジェクトの各点と関連付けられている。
【0051】
図9は、毛髪テクスチャ画像の一例を示す図である。図9に示すように、毛髪テクスチャ画像90には、パーマがかかったキャラクタの毛髪(図9に網かけで示す。)が描かれている。毛髪テクスチャ画像90は、毛髪描画用オブジェクト60にマッピングされる。即ち、毛髪テクスチャ画像90の各点と、毛髪描画用オブジェクト60の各点と、は関連付けられている。
【0052】
この毛髪テクスチャ画像90は、毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされた場合に、毛髪が毛髪描画用オブジェクト60の表面に沿って螺旋状に表れるようになっている。
【0053】
「毛髪が毛髪描画用オブジェクト60の表面に沿って螺旋状に表れる」とは、毛髪描画用オブジェクト60の表面にキャラクタの毛髪が巻回(旋回)されるように表れることであり、毛髪描画用オブジェクト60の表面にキャラクタの毛髪がコイル状に巻きつくように表れることである。したがって、いわゆるスパイラルパーマのかかった毛髪が、ロッドに巻きついているように表される。
【0054】
また、本実施形態においては、毛髪テクスチャ画像90においては、毛髪テクスチャ画像90の第1の位置92aから第2の位置92bまで伸びる第1の毛髪部分94aが表れる。また、毛髪テクスチャ画像90においては、毛髪テクスチャ画像90の第3の位置92cから第4の位置92dまで伸びる第2の毛髪部分94bが表れる。
【0055】
第1の位置92a〜第4の位置92dとは、毛髪テクスチャ画像90を構成する画素の位置である。「第1の位置92aから第2の位置92bまで伸びる」とは、第1の位置92aから毛髪テクスチャ画像90に表れる第1の毛髪部分94aをたどると(毛髪を表す画素をつなぐと)、第2の位置92bにたどりつくことである。第1の毛髪部分94aは、第1の位置92aから第2の位置92bまで直線的に伸びてもよいし、第1の毛髪部分94aは、第1の位置92aから第2の位置92bまで湾曲するように伸びてもよい。「毛髪テクスチャ画像90の第3の位置92cから第4の位置92dまで伸びる」も同様の意である。
【0056】
なお、毛髪テクスチャ画像90のうち、第1の毛髪部分94aと第2の毛髪部分94b以外の領域(画素)は、透明である。画素に透明色を設定する方法としては、例えば、画像の各画素に対応付けて半透明度を示すアルファ情報が記憶される半透明テクスチャを用いる方法等、種々の手法を適用することができる。
【0057】
また、本実施形態においては、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとが毛髪テクスチャ画像90の水平方向又は垂直方向の中心線に対して線対称になっている。
【0058】
「毛髪テクスチャ画像90の垂直方向又は水平方向」とは、それぞれ、「毛髪テクスチャ画像90の縦方向及び横方向」と同じ意である。図9の例では、毛髪テクスチャ画像90の各画素の位置を特定するために設定される2次元座標(U−V座標)のうち、U軸の正方向が水平方向であり、V軸の正方向が垂直方向である。なお、図9においては、毛髪テクスチャ画像90の左上端点を原点としている。
【0059】
図9に示す場合、第2の位置92bと第3の位置92cとは、毛髪テクスチャ画像90の垂直方向の中心線(U座標がU1/2となる線)に対して線対称になっている。
【0060】
更に、本実施形態においては、毛髪テクスチャ画像90の第2の位置92bが毛髪テクスチャ画像90の一の端部に対応する端部領域96bに含まれ、かつ、第3の位置92cが他の端部に対応する端部領域96cに含まれる場合を説明する。
【0061】
端部領域とは、毛髪テクスチャ画像90の領域のうち、画像の端部を少なくとも含む所定領域のことである。例えば、図9に示す例では、毛髪テクスチャ画像90の端部領域は、水平方向及び垂直方向のそれぞれの両端部に対応する4つの端部領域96a〜96dからなる。
【0062】
例えば、端部領域96aは、垂直方向の一方の端部(V座標が最も小さい画素)を含む所定領域(例えば、V座標が0≦V≦αを満足する領域(αは任意の正整数))のことである。また、端部領域96dは、垂直方向の他方の端部(V座標が最も大きいV1となる画素)を含む所定領域(例えば、V座標がV1−α≦V≦V1の領域)のことである。
【0063】
また例えば、端部領域96bは、水平方向の一方の端部(U座標が最も大きい画素)を含む所定領域(例えば、U座標がU1−α≦U≦U1を満足する領域)のことである。また、端部領域96dは、水平方向の他方の端部(U座標が最も小さい画素)を含む所定領域(例えば、U座標が0≦U≦αを満足する領域)のことである。
【0064】
なお、本実施形態においては、毛髪テクスチャ画像90には、毛髪テクスチャ画像90の水平方向又は垂直方向に対して斜めにキャラクタの毛髪が表される。「水平方向又は垂直方向に対して斜めにキャラクタの毛髪が表れる」とは、毛髪テクスチャ画像90の水平方向又は垂直方向と、毛髪テクスチャ画像90の各画素のうちキャラクタの毛髪を表す画素をつないだ方向と、のなす角(θ)が、例えば、0°<θ<90°の関係を満たす(例えば、θ=30°)ことである。このようにキャラクタの毛髪を描いておくことによって、キャラクタの毛髪にパーマがかかっている状態を容易に表現することができる。
【0065】
[4−2.オブジェクト設定部]
オブジェクト設定部72は、制御部14を主として実現される。オブジェクト設定部72は、キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクト60を含むキャラクタオブジェクト44を設定する。例えば、オブジェクト設定部72は、キャラクタオブジェクト44のうちキャラクタの各部位の何れかを表すオブジェクトの周囲に毛髪描画用オブジェクト60を設定する。
【0066】
オブジェクト設定部72は、ゲーム状況データに格納されたキャラクタオブジェクト44の位置(例えば、キャラクタオブジェクト44の代表点)に基づいて毛髪描画用オブジェクト60を設定する。毛髪描画用オブジェクト60の位置(ポリゴンの頂点座標)を示す情報は、ゲーム状況データに格納されることになる。
【0067】
なお、オブジェクト設定部72は、キャラクタオブジェクト44の頭部を表すオブジェクトの位置変化に基づいて、毛髪描画用オブジェクト60の位置、移動方向、及び移動速度を変化させるようにしてもよい。即ち、キャラクタの頭の動きに合わせてパーマがかかった毛髪が揺れるように表現されるようにしてもよい。
【0068】
[4−3.テクスチャ画像取得部]
テクスチャ画像取得部74は、制御部14を主として実現される。テクスチャ画像取得部74は、ゲームデータ記憶部70を参照することによって、キャラクタオブジェクト44にマッピングするテクスチャ画像を取得する。例えば、テクスチャ画像取得部74は、キャラクタの毛髪が表されてなる毛髪テクスチャ画像90を取得する。
【0069】
[4−4.表示制御部]
表示制御部76は、制御部14を主として実現される。表示制御部76は、毛髪テクスチャ画像90がマッピングされた毛髪描画用オブジェクト60を含むキャラクタオブジェクト44を視点(例えば、仮想カメラ46)から見た画像(例えば、ゲーム画面)を表示手段(例えば、表示部32)に表示させる。
【0070】
本実施形態においては、例えば、第2の位置92bと第3の位置92cとが略一致するように毛髪テクスチャ画像90がマッピングされる。別の言い方をすれば、第2の位置92bの第1の毛髪部分94aがマッピングされる毛髪描画用オブジェクト60の位置と、第3の位置92cの第2の毛髪部分94bがマッピングされる毛髪描画用オブジェクト60の位置と、が略一致する。
【0071】
例えば、第2の位置92bに関連付けられた毛髪描画用オブジェクト60の位置と、第3の位置92cに関連付けられた毛髪描画用オブジェクト60の位置と、が略一致するように、毛髪テクスチャ画像90の位置と毛髪描画用オブジェクト60の位置とが対応付けられてゲームデータ記憶部70に記憶されている。
【0072】
図10は、毛髪テクスチャ画像90がマッピングされた毛髪描画用オブジェクト60を示す図である。図10に示す毛髪描画用オブジェクト60の表面の位置62a,62b,62c,62dは、それぞれ毛髪テクスチャ画像90の第1の位置92a、第2の位置92b、第3の位置92c、第4の位置92dに対応する。
【0073】
図10に示すように、位置62bと位置62cとが略一致する。即ち、第2の位置92bの第1の毛髪部分94aと、第3の位置92cの第2の毛髪部分94bと、が毛髪描画用オブジェクト60の表面で繋がるようになる。このようにすることによって、図10に示すように、略筒状の毛髪描画用オブジェクト60の表面に沿って螺旋状にキャラクタの毛髪が表れるようになる。即ち、パーマがかかった毛髪が螺旋状になっている様子を立体的に表現することができる。
【0074】
[5.ゲーム装置において実行される処理]
次に、ゲーム装置10で実行される処理について説明する。図11は、ゲーム装置10が所定時間(例えば、1/60秒)ごとに実行する処理を示すフロー図である。制御部14が、光ディスク36に記憶されたプログラムに従って、図11に示す処理を実行する。
【0075】
まず、制御部14は、ゲーム空間40に毛髪描画用オブジェクト60を設定する(S101)。S101においては、例えば、ゲーム状況データが参照され、キャラクタの各部位の周囲に複数の毛髪描画用オブジェクト60が設定される。毛髪描画用オブジェクト60が配置される位置及び数は、キャラクタ毎に予め定められていてもよい。例えば、長い毛髪のキャラクタの場合、腰の周辺に毛髪描画用オブジェクト60が設定され、短い毛髪のキャラクタの場合、顔の周辺に毛髪描画用オブジェクト60が設定される。
【0076】
制御部14は、毛髪テクスチャ画像90を参照する(S102)。制御部14は、S101で設定した毛髪描画用オブジェクト60に毛髪テクスチャ画像90をマッピングする(S103)。S103においては、例えば、図9のような毛髪テクスチャ画像90が、略筒状の毛髪描画用オブジェクト60を包むようにしてマッピングされる。即ち、毛髪描画用オブジェクト60の表面に沿って螺旋状に、キャラクタの毛髪が表れるようになる。
【0077】
なお、一つの毛髪テクスチャ画像90が複数の毛髪描画用オブジェクト60にマッピングされるようにしてもよいし、キャラクタごと又は毛髪描画用オブジェクト60ごとに毛髪テクスチャ画像90を用意しておいてもよい。
【0078】
制御部14は、毛髪テクスチャ画像90がマッピングされた毛髪描画用オブジェクト60を含むキャラクタオブジェクト44を仮想カメラ46から見た画像を生成する(S104)。即ち、図6のように、パーマの立体感が表現されたゲーム画面が表示部32に表示されることになる。
【0079】
以上説明したゲーム装置10によれば、毛髪描画用オブジェクト60の表面に沿って螺旋状にキャラクタの毛髪が表れるので、パーマがかかっている毛髪の立体感を表現することができる。パーマがかかっている毛髪の立体感をポリゴンの複雑な形状によって表現する場合に比べて、少ないポリゴン数でパーマの立体感を表現することができるので、処理負荷を抑えつつ、毛髪の立体感を表現することができる。
【0080】
更に、毛髪テクスチャ画像90がマッピングされた際に、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとの位置が略一致するので、第1の毛髪部分94aと第2の毛髪部分94bとをつなげることができる。即ち、毛髪描画用オブジェクト60の表面に何重にも螺旋状に毛髪を描画することができる。
【0081】
更に、第2の位置92bと第3の位置92cとが中心線で線対称になり、端部領域に第2の位置92bと第3の位置92cが含まれることによって、マッピング位置の設定を容易にすることができる。即ち、図9に示すような毛髪テクスチャ画像90の場合、略円筒状の毛髪描画用オブジェクト60に巻きつけて、毛髪テクスチャ画像90の両端部を合わせるようにしてマッピングさせることによって、螺旋状に毛髪を描画することができる。
【0082】
なお、上記実施形態においては、キャラクタの毛髪が毛髪テクスチャ画像90の水平方向に表れる場合を説明したが、キャラクタの毛髪が毛髪テクスチャ画像90の垂直方向に表れる場合も同様の処理によって、毛髪描画用オブジェクト60の表面に螺旋状に毛髪を表すことができる。即ち、垂直方向の端部領域96a,96dに含まれる第2の位置92bと第3の位置92cとが、毛髪描画用オブジェクト60の表面において、略一致するようにマッピングされるようにすればよい。
【0083】
また、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0084】
(1)例えば、図9に示すような毛髪テクスチャ画像90を例に挙げて説明したが、毛髪テクスチャ画像90は、毛髪描画用オブジェクト60にマッピングされた場合に螺旋状に毛髪が表れるものであればよい。即ち、毛髪描画用オブジェクト60にマッピングされるのは、実施形態のような毛髪テクスチャ画像90に限られない。
【0085】
(1−1)例えば、図9においては、毛髪テクスチャ画像90に第1の毛髪部分94aと第2の毛髪部分94bとの2つの毛髪部分が表れる場合を説明したが、キャラクタの毛髪は図9の例に限られない。例えば、毛髪部分は3つ以上表れるようにしてもよい。
【0086】
図12は、変形例(1−1)における毛髪テクスチャ画像90を示す図である。例えば、図12に示すように、第1の毛髪部分94aと第2の毛髪部分94bに加えて、第3の毛髪部分94cが毛髪テクスチャ画像90に表れるようにしてもよい。このような毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされることによって、パーマがかかった毛髪が複雑に絡みあう様子を、立体的に表現することができる。
【0087】
(1−2)また例えば、必ずしも、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとは、水平方向又は垂直方向の中心線で線対称になっていなくてもよい。
【0088】
図13は、変形例(1−2)における毛髪テクスチャ画像90がマッピングされる様子を表す図である。図13に示すように、第2の位置92bと第3の位置92cとが線対称の関係になっていなくても、毛髪描画用オブジェクト60の表面において、第2の位置92bと第3の位置92cとが略一致するように(即ち、位置62bと位置62cとが略一致するように)、毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされるようにすればよい。
【0089】
つまり、図13のような毛髪テクスチャ画像90を使用した場合であっても、第2の位置92bが関連付けられる位置62bと、第3の位置92cが関連付けられる位置62cとがほぼ一致していればよい。別の言い方をすれば、図13に示す毛髪テクスチャ画像90を右回りに所定角度回転させて毛髪描画用オブジェクト60を包むように、毛髪テクスチャ画像90がマッピングされるようにすればよい。
【0090】
(1−3)また例えば、必ずしも、毛髪テクスチャ画像90の水平方向又は垂直方向に対して斜めに毛髪が表れていなくてもよい。毛髪テクスチャ画像90の水平方向又は垂直方向に対して毛髪が表れるようにしてもよい。
【0091】
図14は、変形例(1−3)における毛髪テクスチャ画像90がマッピングされる様子を表す図である。図13に示すように、第1の位置92aと第2の位置92bとを結ぶ方向(即ち、第1の毛髪部分94aの方向)、及び、第3の位置92cと第4の位置92dとを結ぶ方向(即ち、第2の毛髪部分94bの方向)が水平方向であってもよい。この場合も、変形例(1−2)と同様に、毛髪描画用オブジェクト60の表面において、第2の位置92bと第3の位置92cとが略一致するようにマッピングされるようにすればよい。
【0092】
(1−4)また例えば、必ずしも、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとは、端部領域96a,96b,96c,96dに含まれていなくてもよい。毛髪テクスチャ画像90の第1の位置92、第2の位置92b、第3の位置92c、第4の位置92dは、それぞれ、毛髪テクスチャ画像90内の任意の位置でよい。
【0093】
図15は、変形例(1−4)における毛髪テクスチャ画像90がマッピングされる様子を表す図である。図14に示すように、第2の位置92bと第3の位置92cとが、端部領域に含まれていなくても、毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされた場合に、毛髪描画用オブジェクト60の表面において、第2の位置92bと第3の位置92cとが略一致するようにすればよい。例えば、変形例(1−4)においては、毛髪テクスチャ画像90のうち領域E(図15の一点鎖線で示す)が、毛髪描画用オブジェクト60にマッピングされるようにすればよい。
【0094】
(2)また例えば、毛髪描画用オブジェクト60に対して複数の毛髪テクスチャ画像が多重マッピングされることによって、毛髪描画用オブジェクト60の表面に螺旋状に毛髪が描画されるようにしてもよい。
【0095】
図16は、変形例(2)における毛髪テクスチャ画像90がマッピングされる様子を示す図である。図16に示すように、毛髪テクスチャ画像90には、キャラクタの毛髪が3つの領域90a,90b,90cをまたがるように表されている。領域90a,90b,90cのそれぞれは、図9に示す毛髪テクスチャ画像90と同じ広さ(U1*V1の広さ)であってよい。
【0096】
例えば、まず、毛髪テクスチャ画像90のうち領域90aを毛髪描画用オブジェクト60にマッピングすると、毛髪描画用オブジェクト60の表面に、位置P1から位置P2までの毛髪が表れる(図16に示す毛髪描画用オブジェクト60aの状態)。次いで、毛髪テクスチャ画像90のうち領域90bを毛髪描画用オブジェクト60にマッピングすると、毛髪描画用オブジェクト60の表面に、位置P2から位置P3までの毛髪が表れる(図16に示す毛髪描画用オブジェクト60bの状態)。最後に、毛髪テクスチャ画像90のうち領域90cを毛髪描画用オブジェクト60にマッピングすると、毛髪描画用オブジェクト60の表面に、位置P3から位置P4までの毛髪が表れる(図16に示す毛髪描画用オブジェクト60cの状態)。
【0097】
変形例(2)においては、毛髪テクスチャ画像90が複数の領域に分割され、それぞれの領域が毛髪描画用オブジェクト60に多重マッピングされる。さらに、毛髪描画用オブジェクト60の表面において、毛髪テクスチャ画像90の各領域の境界(図16の位置P2,P3)に含まれる毛髪の位置が略一致するように、毛髪テクスチャ画像90の複数の領域が毛髪描画用オブジェクト60に多重マッピングされる。
【0098】
上記のようにようにすることによって、毛髪描画用オブジェクト60の表面に螺旋状に毛髪を描画することができる。別の言い方をすれば、図16に示す毛髪テクスチャ画像90を、毛髪描画用オブジェクト60に対して3重に巻くようにマッピングすることになる。
【0099】
(3)また例えば、実施形態においては、図4のような形状の毛髪描画用オブジェクト60が設定される場合を説明したが、毛髪描画用オブジェクト60は、他の形状であってもよい。毛髪描画用オブジェクト60は、毛髪テクスチャ画像90がマッピングされた場合に、表面にキャラクタの毛髪が螺旋状に表れるような略筒状の形状であればよい。
【0100】
(4)また、オブジェクト設定部72は、仮想カメラ46の視界内に配置されるキャラクタオブジェクト44の数に基づいて、毛髪描画用オブジェクト60の数及び/又はポリゴンの細かさを変化させるようにしてもよい。仮想カメラ46の視界にパーマがかかっているキャラクタが密集している場合には、設定すべき毛髪描画用オブジェクト60の数が多くなるので、上記のようにしてゲーム装置10の処理負荷を抑えるようにしてもよい。即ち、オブジェクト設定部72は、仮想カメラ46の視界内に配置されるキャラクタオブジェクト44の数が増加するほど、毛髪描画用オブジェクト60の数を少なく、かつ/又は、ポリゴンが粗くなるように設定してもよい。
【0101】
同様に、オブジェクト設定部72は、キャラクタオブジェクト44の位置と仮想カメラ46の位置との距離に基づいて、毛髪描画用オブジェクト60の数及び/又はポリゴンの細かさを変化させるようにしてもよい。即ち、キャラクタオブジェクト44と仮想カメラ46との距離が長い場合には、比較的大雑把に毛髪を描写しても見た目にはあまり変化がない。即ち、オブジェクト設定部72は、キャラクタオブジェクト44の位置と仮想カメラ46の位置との距離が長くなるほど、毛髪描画用オブジェクト60の数を少なく、かつ/又は、ポリゴンが粗くなるように設定してもよい。
【0102】
(5)また、上記実施形態及び変形例においては、人間を模したキャラクタの毛髪を例に挙げて説明したが、人間以外の他のキャラクタに本発明を適用してもよい。例えば、全身が毛におおわれたモンスターを模したキャラクタに本発明を適用してもよい。
【0103】
(6)また例えば、本発明に係る画像処理装置は、キャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示するものであればよく、ゲーム装置以外の装置にも、本発明を適用することができる。
【符号の説明】
【0104】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスク再生部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 表示部、34 音声出力部、36 光ディスク、40 ゲーム空間、42 フィールドオブジェクト、44 キャラクタオブジェクト、46 仮想カメラ、52 目オブジェクト、54 鼻オブジェクト、56 口オブジェクト、58 頭皮オブジェクト、60 毛髪描画用オブジェクト、70 ゲームデータ記憶部、72 オブジェクト設定部、74 テクスチャ画像取得部、76 表示制御部、80 顔テクスチャ画像、90 毛髪テクスチャ画像。
【技術分野】
【0001】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、仮想3次元空間を所与の視点から見た画像を表示させる画像処理装置が知られている。特許文献1には、テクスチャ画像がマッピングされたキャラクタオブジェクトを仮想カメラから見た画像を表示する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−230543号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、キャラクタの毛髪を表す場合、特許文献1のように、単にテクスチャ画像をキャラクタオブジェクトにマッピングする方法では、平面的な描写となってしまうので、毛髪(例えば、パーマがかかった毛髪)の立体感を十分に表現することはできない。毛髪の立体感を表現するために、キャラクタオブジェクトに含まれるポリゴンを細かく設定することも考えられるが、ポリゴンの頂点数が増加するため処理負荷が増大する可能性がある。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、処理負荷を抑えつつ、毛髪の立体感を表現することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置であって、前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段と、前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段と、前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理装置の制御方法は、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置の制御方法であって、前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定ステップと、前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得ステップと、前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御ステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段、前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段、前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段、を含む画像処理装置として前記コンピュータを機能させることを特徴とする。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
【0010】
本発明によれば、処理負荷を抑えつつ、毛髪の立体感を表現することが可能になる。
【0011】
また、本発明の一態様では、前記テクスチャ画像取得手段は、前記毛髪テクスチャ画像の第1の位置から第2の位置まで伸びる第1の毛髪部分が表れ、前記毛髪テクスチャ画像の第3の位置から第4の位置まで伸びる第2の毛髪部分が表れてなる前記毛髪テクスチャ画像を取得し、前記表示制御手段は、前記毛髪描画用オブジェクトの表面において、前記第2の位置と前記第3の位置とが略一致するように前記テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる、ことを特徴とする。
【0012】
また、本発明の一態様では、前記テクスチャ画像取得手段は、前記第2の位置と前記第3の位置とが前記毛髪テクスチャ画像の水平方向又は垂直方向の中心線に対して線対称になっている前記毛髪テクスチャ画像を取得することを特徴とする。
【0013】
また、本発明の一態様では、前記テクスチャ画像取得手段は、前記第2の位置が前記毛髪テクスチャ画像の一の端部に対応する端部領域に含まれ、かつ、前記第3の位置が他の端部に対応する端部領域に含まれる前記毛髪テクスチャ画像を取得することを特徴とする。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】ゲーム空間の一例を示す図である。
【図3】キャラクタオブジェクトのうちキャラクタの頭部を表すオブジェクトを示す図である。
【図4】毛髪描画用オブジェクトを示す図である。
【図5】頭皮オブジェクトの周囲に設定された毛髪描画用オブジェクトを示す図である。
【図6】ゲーム画面の一例を示す図である。
【図7】ゲーム装置で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。
【図8】顔テクスチャ画像の一例を示す図である。
【図9】毛髪テクスチャ画像の一例を示す図である。
【図10】毛髪テクスチャ画像がマッピングされた毛髪描画用オブジェクトを示す図である。
【図11】ゲーム装置が所定時間ごとに実行する処理を示すフロー図である。
【図12】変形例(1−1)における毛髪テクスチャ画像を示す図である。
【図13】変形例(1−2)における毛髪テクスチャ画像がマッピングされる様子を表す図である。
【図14】変形例(1−3)における毛髪テクスチャ画像がマッピングされる様子を表す図である。
【図15】変形例(1−4)における毛髪テクスチャ画像がマッピングされる様子を表す図である。
【図16】変形例(2)における毛髪テクスチャ画像がマッピングされる様子を示す図である。
【発明を実施するための形態】
【0015】
[1.実施形態]
実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係る画像処理装置は、例えば、家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。本実施形態においては、本発明に係る画像処理装置を、家庭用ゲーム機に適用した場合について説明する。
【0016】
[2.ゲーム装置のハードウェア構成]
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部32、音声出力部34、及び光ディスク36(情報記憶媒体)を含む。
【0017】
表示部32及び音声出力部34は、家庭用ゲーム機11に接続される。表示部32は、例えば、家庭用テレビ受像機又は液晶ディスプレイなどである。音声出力部34は、例えば、家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホンなどである。
【0018】
家庭用ゲーム機11は、公知のコンピュータゲームシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスク再生部24、ハードディスク26、通信インタフェース28、及びコントローラ30を含む。
【0019】
制御部14は、一又は複数のCPUを含む。制御部14は、図示しないROMに格納されるオペレーティングシステムや、光ディスク36から読み出されるプログラムに基づいて、家庭用ゲーム機11の各部を制御する処理や情報処理を実行する。
【0020】
主記憶16は、例えば、RAMを含む。光ディスク36から読み出されたプログラム及びデータは、主記憶16に書き込まれる。主記憶16は、制御部14の作業用メモリとしても用いられる。バス12は、アドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0021】
画像処理部18は、VRAMを含む。画像処理部18は、制御部14から供給される画像データに基づいてVRAM上にゲーム画面を描画する。VRAM上に描画されたゲーム画面は、ビデオ信号に変換されて所定のタイミングで表示部32に出力される。
【0022】
入出力処理部20は、制御部14が、音声処理部22、光ディスク再生部24、ハードディスク26、通信インタフェース28、及びコントローラ30にアクセスするためのインタフェースである。
【0023】
音声処理部22は、サウンドバッファを含む。音声処理部22は、光ディスク36からサウンドバッファに読み出された音声データを、音声出力部34から出力する。
【0024】
通信インタフェース28は、インターネットなどの通信ネットワークに、家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0025】
光ディスク再生部24は、光ディスク36に記録されたプログラムやデータを読み取る。本実施形態においては、プログラムやデータを家庭用ゲーム機11に供給するために、光ディスク36が用られる場合を説明するが、メモリカード等の他の情報記憶媒体が用いられて、プログラムやデータが家庭用ゲーム機11に対して供給されるようにしてもよい。他にも例えば、通信ネットワークを介して遠隔地からプログラムやデータが家庭用ゲーム機11に供給されるようにしてもよい。
【0026】
ハードディスク26は、一般的なハードディスク装置(補助記憶装置)である。なお、本実施形態において光ディスク36に記憶されるものとして説明するプログラムやデータは、ハードディスク26に記憶されていてもよい。
【0027】
コントローラ30は、ユーザが操作を行うための操作部である。家庭用ゲーム機11には、一又は複数のコントローラ30が、有線又は無線接続される。入出力処理部20は、一定周期毎(例えば1/60秒毎)に、コントローラ30の各操作部材の状態をスキャンする。このスキャン結果を表す操作信号は、バス12を介して制御部14に供給される。制御部14は、この操作信号に基づいてユーザの操作を判定する。
【0028】
[3.ゲーム装置において実行されるゲーム]
ゲーム装置10は、光ディスク36から読み出したゲームプログラムを実行することによって、例えば、キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段(例えば、表示部32)に表示する。
【0029】
以下では、キャラクタを表すキャラクタオブジェクトがゲーム空間(3次元空間)内を移動するゲーム(例えば、サッカーゲーム)が実行される場合について説明する。ゲームが開始されると、例えば、ゲーム空間が、主記憶16に構築される。
【0030】
図2は、ゲーム空間の一例を示す図である。図2に示すゲーム空間40は、互いに直交する3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間になっている。
【0031】
図2に示すように、ゲーム空間40には、地面を表すフィールドオブジェクト42が配置される。フィールドオブジェクト42上には、キャラクタを表すキャラクタオブジェクト44が配置される。なお、図2においては、各オブジェクトの形状が、簡略化されて表されている。
【0032】
ゲーム空間40に配置されるオブジェクトは、複数のポリゴンを含んで構成される。即ち、複数のポリゴンによって、各オブジェクトの立体形状が表現される。各オブジェクトに含まれるポリゴンの位置(頂点座標)は、例えば、ワールド座標系(Xw−Yw−Zw座標系)の3次元座標で特定される。
【0033】
本実施形態においては、キャラクタオブジェクト44は、キャラクタの各部位(例えば、頭部、胴部等)を表すオブジェクトと、当該オブジェクトの周囲に設定される略筒状(例えば、円筒状、多角柱状、円錐台状等)の毛髪描画用オブジェクトと、を含んでなる。
【0034】
図3は、キャラクタオブジェクト44のうちキャラクタの頭部を表すオブジェクトを示す図である。ここで、キャラクタの頭部とは、キャラクタの首から上の部位のことを示す。図3に示すように、キャラクタオブジェクト44は、複数のポリゴンによってキャラクタの頭部の部位の凹凸が表現されている。例えば、キャラクタオブジェクト44は、目オブジェクト52、鼻オブジェクト54、口オブジェクト56、頭皮オブジェクト58を含んで構成される。
【0035】
図4は、毛髪描画用オブジェクトを示す図である。図4に示すように、毛髪描画用オブジェクト60は、略筒状である。詳細は後述するが、略筒状の毛髪描画用オブジェクト60に巻きつくように、キャラクタの毛髪が描画される。例えば、頭皮オブジェクト58の周囲に毛髪描画用オブジェクト60が設定される。別の言い方をすれば、毛髪描画用オブジェクト60は、頭皮オブジェクト58の表面に隣接する位置に設定される。
【0036】
なお、本実施形態において、「オブジェクトが設定される」とは、ゲーム空間40にオブジェクトが配置されることと同じ意である。即ち、「オブジェクトが設定される」と、このオブジェクトの各点(例えば、ポリゴンの頂点座標)を示す情報が主記憶16に記憶されることになる。
【0037】
図5は、頭皮オブジェクト58の周囲に設定された毛髪描画用オブジェクト60を示す図である。図5に示すように、頭皮オブジェクト58の周囲には、複数の毛髪描画用オブジェクト60が設定される。即ち、毛髪描画用オブジェクト60は、パーマがかかっている毛髪が表されるべき位置に設定されることになる。
【0038】
また、図5のように設定されたキャラクタオブジェクト44には、キャラクタの顔や毛髪を表すテクスチャ画像がマッピングされることによって、キャラクタの顔や毛髪が描かれることになる。テクスチャ画像をオブジェクトにマッピングする方法は、公知の種々の手法を適用可能である。
【0039】
なお、本実施形態において、毛髪描画用オブジェクト60自体は透明である。例えば、毛髪描画用オブジェクト60は、半透明ポリゴンを含んで構成される、いわゆる透明オブジェクトである。即ち、表示部32に表示される画像には、毛髪描画用オブジェクト60自体は表示されず、毛髪描画用オブジェクト60の表面に描かれた毛髪が表示されることになる。
【0040】
図2に戻り、ゲーム空間40には、仮想カメラ46(視点)が設定される。表示部32には、ゲーム空間40を仮想カメラ46から見た様子を表す画像(ゲーム画面)が表示される。このゲーム画面は、ゲーム空間40に配置された各オブジェクトの頂点座標(ポリゴンの頂点座標)が、所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換されることによって生成される。
【0041】
図6は、ゲーム画面の一例を示す図である。例えば、仮想カメラ46の視界内にあるキャラクタオブジェクト44が表すキャラクタがゲーム画面Gに表示される。本実施形態においては、図6に示すように、立体的なパーマがかかった毛髪を有するキャラクタがゲーム画面Gに表示される。
【0042】
本実施形態においては、ゲーム装置10の処理負荷を抑えつつパーマがかかった毛髪の立体感を表現するために、図5のように設定された毛髪描画用オブジェクト60の表面に沿って螺旋状に毛髪が表れるようにテクスチャ画像がマッピングされる。以降、この技術について詳細に説明する。
【0043】
[4.ゲーム装置において実現される機能]
図7は、ゲーム装置10で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。図7に示すように、ゲーム装置10は、ゲームデータ記憶部70、オブジェクト設定部72、テクスチャ画像取得部74、及び表示制御部76を含む。
【0044】
[4−1.ゲームデータ記憶部]
ゲームデータ記憶部70は、例えば、主記憶16及び光ディスク36等を主として実現される。ゲームデータ記憶部70は、例えば、ゲームを実現してゲーム画面を表示させるために必要なデータを記憶する。なお、制御部14は、ゲームデータ記憶部70に記憶された各種データを取得する手段として機能する。
【0045】
ゲームデータ記憶部70には、例えば、以下のようなデータが記憶される。
(1)実行中のゲームの現在の状況を示すゲーム状況データ
(2)ゲーム空間40に配置されるオブジェクトにマッピングされるテクスチャ画像の画像データ
【0046】
[ゲーム状況データ]
ゲーム状況データには、例えば、ゲーム空間40の現在の状況を示すデータが格納される。例えば、ゲーム状況データには、キャラクタオブジェクト44の現在の状態(代表点、ポリゴンの頂点座標、キャラクタの姿勢、移動方向等)を示すデータ、仮想カメラ46の現在の状態(位置及び視線方向等)を示すデータ等が含まれる。
【0047】
ゲーム状況データは、ゲームプログラムに基づいて、所定の時間間隔で更新される。例えば、キャラクタオブジェクト44の移動方向に基づいて、キャラクタオブジェクト44の位置や姿勢が更新される。更新されたゲーム状況データに基づいて、ゲーム画面の表示も更新されることになる。
【0048】
[画像データ]
画像データには、例えば、キャラクタオブジェクト44にマッピングされるテクスチャ画像のデータが含まれる。これらのテクスチャ画像の各部は、マッピングされるべきオブジェクトの位置(ポリゴンの頂点座標)と関連付けられている。この関連付けを示すデータは、ゲームデータ記憶部70に記憶されているものとする。本実施形態においては、キャラクタの顔を表す顔テクスチャ画像と、パーマがかかった毛髪を表す毛髪テクスチャ画像と、が画像データとして記憶される場合を説明する。
【0049】
図8は、顔テクスチャ画像の一例を示す図である。図8に示す顔テクスチャ画像80には、例えば、目82、鼻84、口86等が描かれている。なお、図8では省略されているが、顔テクスチャ画像80には、キャラクタの毛髪(例えば、パーマが立体的にかかっていない部分)や耳、肌の質感等も描かれる。
【0050】
例えば、目82、鼻84、口86は、それぞれ目オブジェクト52、鼻オブジェクト54、口オブジェクト56と関連付けられている。顔テクスチャ画像80に表れる他の部位についても同様に、キャラクタオブジェクト44のうちキャラクタの頭部を表すオブジェクトの各点と関連付けられている。
【0051】
図9は、毛髪テクスチャ画像の一例を示す図である。図9に示すように、毛髪テクスチャ画像90には、パーマがかかったキャラクタの毛髪(図9に網かけで示す。)が描かれている。毛髪テクスチャ画像90は、毛髪描画用オブジェクト60にマッピングされる。即ち、毛髪テクスチャ画像90の各点と、毛髪描画用オブジェクト60の各点と、は関連付けられている。
【0052】
この毛髪テクスチャ画像90は、毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされた場合に、毛髪が毛髪描画用オブジェクト60の表面に沿って螺旋状に表れるようになっている。
【0053】
「毛髪が毛髪描画用オブジェクト60の表面に沿って螺旋状に表れる」とは、毛髪描画用オブジェクト60の表面にキャラクタの毛髪が巻回(旋回)されるように表れることであり、毛髪描画用オブジェクト60の表面にキャラクタの毛髪がコイル状に巻きつくように表れることである。したがって、いわゆるスパイラルパーマのかかった毛髪が、ロッドに巻きついているように表される。
【0054】
また、本実施形態においては、毛髪テクスチャ画像90においては、毛髪テクスチャ画像90の第1の位置92aから第2の位置92bまで伸びる第1の毛髪部分94aが表れる。また、毛髪テクスチャ画像90においては、毛髪テクスチャ画像90の第3の位置92cから第4の位置92dまで伸びる第2の毛髪部分94bが表れる。
【0055】
第1の位置92a〜第4の位置92dとは、毛髪テクスチャ画像90を構成する画素の位置である。「第1の位置92aから第2の位置92bまで伸びる」とは、第1の位置92aから毛髪テクスチャ画像90に表れる第1の毛髪部分94aをたどると(毛髪を表す画素をつなぐと)、第2の位置92bにたどりつくことである。第1の毛髪部分94aは、第1の位置92aから第2の位置92bまで直線的に伸びてもよいし、第1の毛髪部分94aは、第1の位置92aから第2の位置92bまで湾曲するように伸びてもよい。「毛髪テクスチャ画像90の第3の位置92cから第4の位置92dまで伸びる」も同様の意である。
【0056】
なお、毛髪テクスチャ画像90のうち、第1の毛髪部分94aと第2の毛髪部分94b以外の領域(画素)は、透明である。画素に透明色を設定する方法としては、例えば、画像の各画素に対応付けて半透明度を示すアルファ情報が記憶される半透明テクスチャを用いる方法等、種々の手法を適用することができる。
【0057】
また、本実施形態においては、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとが毛髪テクスチャ画像90の水平方向又は垂直方向の中心線に対して線対称になっている。
【0058】
「毛髪テクスチャ画像90の垂直方向又は水平方向」とは、それぞれ、「毛髪テクスチャ画像90の縦方向及び横方向」と同じ意である。図9の例では、毛髪テクスチャ画像90の各画素の位置を特定するために設定される2次元座標(U−V座標)のうち、U軸の正方向が水平方向であり、V軸の正方向が垂直方向である。なお、図9においては、毛髪テクスチャ画像90の左上端点を原点としている。
【0059】
図9に示す場合、第2の位置92bと第3の位置92cとは、毛髪テクスチャ画像90の垂直方向の中心線(U座標がU1/2となる線)に対して線対称になっている。
【0060】
更に、本実施形態においては、毛髪テクスチャ画像90の第2の位置92bが毛髪テクスチャ画像90の一の端部に対応する端部領域96bに含まれ、かつ、第3の位置92cが他の端部に対応する端部領域96cに含まれる場合を説明する。
【0061】
端部領域とは、毛髪テクスチャ画像90の領域のうち、画像の端部を少なくとも含む所定領域のことである。例えば、図9に示す例では、毛髪テクスチャ画像90の端部領域は、水平方向及び垂直方向のそれぞれの両端部に対応する4つの端部領域96a〜96dからなる。
【0062】
例えば、端部領域96aは、垂直方向の一方の端部(V座標が最も小さい画素)を含む所定領域(例えば、V座標が0≦V≦αを満足する領域(αは任意の正整数))のことである。また、端部領域96dは、垂直方向の他方の端部(V座標が最も大きいV1となる画素)を含む所定領域(例えば、V座標がV1−α≦V≦V1の領域)のことである。
【0063】
また例えば、端部領域96bは、水平方向の一方の端部(U座標が最も大きい画素)を含む所定領域(例えば、U座標がU1−α≦U≦U1を満足する領域)のことである。また、端部領域96dは、水平方向の他方の端部(U座標が最も小さい画素)を含む所定領域(例えば、U座標が0≦U≦αを満足する領域)のことである。
【0064】
なお、本実施形態においては、毛髪テクスチャ画像90には、毛髪テクスチャ画像90の水平方向又は垂直方向に対して斜めにキャラクタの毛髪が表される。「水平方向又は垂直方向に対して斜めにキャラクタの毛髪が表れる」とは、毛髪テクスチャ画像90の水平方向又は垂直方向と、毛髪テクスチャ画像90の各画素のうちキャラクタの毛髪を表す画素をつないだ方向と、のなす角(θ)が、例えば、0°<θ<90°の関係を満たす(例えば、θ=30°)ことである。このようにキャラクタの毛髪を描いておくことによって、キャラクタの毛髪にパーマがかかっている状態を容易に表現することができる。
【0065】
[4−2.オブジェクト設定部]
オブジェクト設定部72は、制御部14を主として実現される。オブジェクト設定部72は、キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクト60を含むキャラクタオブジェクト44を設定する。例えば、オブジェクト設定部72は、キャラクタオブジェクト44のうちキャラクタの各部位の何れかを表すオブジェクトの周囲に毛髪描画用オブジェクト60を設定する。
【0066】
オブジェクト設定部72は、ゲーム状況データに格納されたキャラクタオブジェクト44の位置(例えば、キャラクタオブジェクト44の代表点)に基づいて毛髪描画用オブジェクト60を設定する。毛髪描画用オブジェクト60の位置(ポリゴンの頂点座標)を示す情報は、ゲーム状況データに格納されることになる。
【0067】
なお、オブジェクト設定部72は、キャラクタオブジェクト44の頭部を表すオブジェクトの位置変化に基づいて、毛髪描画用オブジェクト60の位置、移動方向、及び移動速度を変化させるようにしてもよい。即ち、キャラクタの頭の動きに合わせてパーマがかかった毛髪が揺れるように表現されるようにしてもよい。
【0068】
[4−3.テクスチャ画像取得部]
テクスチャ画像取得部74は、制御部14を主として実現される。テクスチャ画像取得部74は、ゲームデータ記憶部70を参照することによって、キャラクタオブジェクト44にマッピングするテクスチャ画像を取得する。例えば、テクスチャ画像取得部74は、キャラクタの毛髪が表されてなる毛髪テクスチャ画像90を取得する。
【0069】
[4−4.表示制御部]
表示制御部76は、制御部14を主として実現される。表示制御部76は、毛髪テクスチャ画像90がマッピングされた毛髪描画用オブジェクト60を含むキャラクタオブジェクト44を視点(例えば、仮想カメラ46)から見た画像(例えば、ゲーム画面)を表示手段(例えば、表示部32)に表示させる。
【0070】
本実施形態においては、例えば、第2の位置92bと第3の位置92cとが略一致するように毛髪テクスチャ画像90がマッピングされる。別の言い方をすれば、第2の位置92bの第1の毛髪部分94aがマッピングされる毛髪描画用オブジェクト60の位置と、第3の位置92cの第2の毛髪部分94bがマッピングされる毛髪描画用オブジェクト60の位置と、が略一致する。
【0071】
例えば、第2の位置92bに関連付けられた毛髪描画用オブジェクト60の位置と、第3の位置92cに関連付けられた毛髪描画用オブジェクト60の位置と、が略一致するように、毛髪テクスチャ画像90の位置と毛髪描画用オブジェクト60の位置とが対応付けられてゲームデータ記憶部70に記憶されている。
【0072】
図10は、毛髪テクスチャ画像90がマッピングされた毛髪描画用オブジェクト60を示す図である。図10に示す毛髪描画用オブジェクト60の表面の位置62a,62b,62c,62dは、それぞれ毛髪テクスチャ画像90の第1の位置92a、第2の位置92b、第3の位置92c、第4の位置92dに対応する。
【0073】
図10に示すように、位置62bと位置62cとが略一致する。即ち、第2の位置92bの第1の毛髪部分94aと、第3の位置92cの第2の毛髪部分94bと、が毛髪描画用オブジェクト60の表面で繋がるようになる。このようにすることによって、図10に示すように、略筒状の毛髪描画用オブジェクト60の表面に沿って螺旋状にキャラクタの毛髪が表れるようになる。即ち、パーマがかかった毛髪が螺旋状になっている様子を立体的に表現することができる。
【0074】
[5.ゲーム装置において実行される処理]
次に、ゲーム装置10で実行される処理について説明する。図11は、ゲーム装置10が所定時間(例えば、1/60秒)ごとに実行する処理を示すフロー図である。制御部14が、光ディスク36に記憶されたプログラムに従って、図11に示す処理を実行する。
【0075】
まず、制御部14は、ゲーム空間40に毛髪描画用オブジェクト60を設定する(S101)。S101においては、例えば、ゲーム状況データが参照され、キャラクタの各部位の周囲に複数の毛髪描画用オブジェクト60が設定される。毛髪描画用オブジェクト60が配置される位置及び数は、キャラクタ毎に予め定められていてもよい。例えば、長い毛髪のキャラクタの場合、腰の周辺に毛髪描画用オブジェクト60が設定され、短い毛髪のキャラクタの場合、顔の周辺に毛髪描画用オブジェクト60が設定される。
【0076】
制御部14は、毛髪テクスチャ画像90を参照する(S102)。制御部14は、S101で設定した毛髪描画用オブジェクト60に毛髪テクスチャ画像90をマッピングする(S103)。S103においては、例えば、図9のような毛髪テクスチャ画像90が、略筒状の毛髪描画用オブジェクト60を包むようにしてマッピングされる。即ち、毛髪描画用オブジェクト60の表面に沿って螺旋状に、キャラクタの毛髪が表れるようになる。
【0077】
なお、一つの毛髪テクスチャ画像90が複数の毛髪描画用オブジェクト60にマッピングされるようにしてもよいし、キャラクタごと又は毛髪描画用オブジェクト60ごとに毛髪テクスチャ画像90を用意しておいてもよい。
【0078】
制御部14は、毛髪テクスチャ画像90がマッピングされた毛髪描画用オブジェクト60を含むキャラクタオブジェクト44を仮想カメラ46から見た画像を生成する(S104)。即ち、図6のように、パーマの立体感が表現されたゲーム画面が表示部32に表示されることになる。
【0079】
以上説明したゲーム装置10によれば、毛髪描画用オブジェクト60の表面に沿って螺旋状にキャラクタの毛髪が表れるので、パーマがかかっている毛髪の立体感を表現することができる。パーマがかかっている毛髪の立体感をポリゴンの複雑な形状によって表現する場合に比べて、少ないポリゴン数でパーマの立体感を表現することができるので、処理負荷を抑えつつ、毛髪の立体感を表現することができる。
【0080】
更に、毛髪テクスチャ画像90がマッピングされた際に、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとの位置が略一致するので、第1の毛髪部分94aと第2の毛髪部分94bとをつなげることができる。即ち、毛髪描画用オブジェクト60の表面に何重にも螺旋状に毛髪を描画することができる。
【0081】
更に、第2の位置92bと第3の位置92cとが中心線で線対称になり、端部領域に第2の位置92bと第3の位置92cが含まれることによって、マッピング位置の設定を容易にすることができる。即ち、図9に示すような毛髪テクスチャ画像90の場合、略円筒状の毛髪描画用オブジェクト60に巻きつけて、毛髪テクスチャ画像90の両端部を合わせるようにしてマッピングさせることによって、螺旋状に毛髪を描画することができる。
【0082】
なお、上記実施形態においては、キャラクタの毛髪が毛髪テクスチャ画像90の水平方向に表れる場合を説明したが、キャラクタの毛髪が毛髪テクスチャ画像90の垂直方向に表れる場合も同様の処理によって、毛髪描画用オブジェクト60の表面に螺旋状に毛髪を表すことができる。即ち、垂直方向の端部領域96a,96dに含まれる第2の位置92bと第3の位置92cとが、毛髪描画用オブジェクト60の表面において、略一致するようにマッピングされるようにすればよい。
【0083】
また、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0084】
(1)例えば、図9に示すような毛髪テクスチャ画像90を例に挙げて説明したが、毛髪テクスチャ画像90は、毛髪描画用オブジェクト60にマッピングされた場合に螺旋状に毛髪が表れるものであればよい。即ち、毛髪描画用オブジェクト60にマッピングされるのは、実施形態のような毛髪テクスチャ画像90に限られない。
【0085】
(1−1)例えば、図9においては、毛髪テクスチャ画像90に第1の毛髪部分94aと第2の毛髪部分94bとの2つの毛髪部分が表れる場合を説明したが、キャラクタの毛髪は図9の例に限られない。例えば、毛髪部分は3つ以上表れるようにしてもよい。
【0086】
図12は、変形例(1−1)における毛髪テクスチャ画像90を示す図である。例えば、図12に示すように、第1の毛髪部分94aと第2の毛髪部分94bに加えて、第3の毛髪部分94cが毛髪テクスチャ画像90に表れるようにしてもよい。このような毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされることによって、パーマがかかった毛髪が複雑に絡みあう様子を、立体的に表現することができる。
【0087】
(1−2)また例えば、必ずしも、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとは、水平方向又は垂直方向の中心線で線対称になっていなくてもよい。
【0088】
図13は、変形例(1−2)における毛髪テクスチャ画像90がマッピングされる様子を表す図である。図13に示すように、第2の位置92bと第3の位置92cとが線対称の関係になっていなくても、毛髪描画用オブジェクト60の表面において、第2の位置92bと第3の位置92cとが略一致するように(即ち、位置62bと位置62cとが略一致するように)、毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされるようにすればよい。
【0089】
つまり、図13のような毛髪テクスチャ画像90を使用した場合であっても、第2の位置92bが関連付けられる位置62bと、第3の位置92cが関連付けられる位置62cとがほぼ一致していればよい。別の言い方をすれば、図13に示す毛髪テクスチャ画像90を右回りに所定角度回転させて毛髪描画用オブジェクト60を包むように、毛髪テクスチャ画像90がマッピングされるようにすればよい。
【0090】
(1−3)また例えば、必ずしも、毛髪テクスチャ画像90の水平方向又は垂直方向に対して斜めに毛髪が表れていなくてもよい。毛髪テクスチャ画像90の水平方向又は垂直方向に対して毛髪が表れるようにしてもよい。
【0091】
図14は、変形例(1−3)における毛髪テクスチャ画像90がマッピングされる様子を表す図である。図13に示すように、第1の位置92aと第2の位置92bとを結ぶ方向(即ち、第1の毛髪部分94aの方向)、及び、第3の位置92cと第4の位置92dとを結ぶ方向(即ち、第2の毛髪部分94bの方向)が水平方向であってもよい。この場合も、変形例(1−2)と同様に、毛髪描画用オブジェクト60の表面において、第2の位置92bと第3の位置92cとが略一致するようにマッピングされるようにすればよい。
【0092】
(1−4)また例えば、必ずしも、毛髪テクスチャ画像90の第2の位置92bと第3の位置92cとは、端部領域96a,96b,96c,96dに含まれていなくてもよい。毛髪テクスチャ画像90の第1の位置92、第2の位置92b、第3の位置92c、第4の位置92dは、それぞれ、毛髪テクスチャ画像90内の任意の位置でよい。
【0093】
図15は、変形例(1−4)における毛髪テクスチャ画像90がマッピングされる様子を表す図である。図14に示すように、第2の位置92bと第3の位置92cとが、端部領域に含まれていなくても、毛髪テクスチャ画像90が毛髪描画用オブジェクト60にマッピングされた場合に、毛髪描画用オブジェクト60の表面において、第2の位置92bと第3の位置92cとが略一致するようにすればよい。例えば、変形例(1−4)においては、毛髪テクスチャ画像90のうち領域E(図15の一点鎖線で示す)が、毛髪描画用オブジェクト60にマッピングされるようにすればよい。
【0094】
(2)また例えば、毛髪描画用オブジェクト60に対して複数の毛髪テクスチャ画像が多重マッピングされることによって、毛髪描画用オブジェクト60の表面に螺旋状に毛髪が描画されるようにしてもよい。
【0095】
図16は、変形例(2)における毛髪テクスチャ画像90がマッピングされる様子を示す図である。図16に示すように、毛髪テクスチャ画像90には、キャラクタの毛髪が3つの領域90a,90b,90cをまたがるように表されている。領域90a,90b,90cのそれぞれは、図9に示す毛髪テクスチャ画像90と同じ広さ(U1*V1の広さ)であってよい。
【0096】
例えば、まず、毛髪テクスチャ画像90のうち領域90aを毛髪描画用オブジェクト60にマッピングすると、毛髪描画用オブジェクト60の表面に、位置P1から位置P2までの毛髪が表れる(図16に示す毛髪描画用オブジェクト60aの状態)。次いで、毛髪テクスチャ画像90のうち領域90bを毛髪描画用オブジェクト60にマッピングすると、毛髪描画用オブジェクト60の表面に、位置P2から位置P3までの毛髪が表れる(図16に示す毛髪描画用オブジェクト60bの状態)。最後に、毛髪テクスチャ画像90のうち領域90cを毛髪描画用オブジェクト60にマッピングすると、毛髪描画用オブジェクト60の表面に、位置P3から位置P4までの毛髪が表れる(図16に示す毛髪描画用オブジェクト60cの状態)。
【0097】
変形例(2)においては、毛髪テクスチャ画像90が複数の領域に分割され、それぞれの領域が毛髪描画用オブジェクト60に多重マッピングされる。さらに、毛髪描画用オブジェクト60の表面において、毛髪テクスチャ画像90の各領域の境界(図16の位置P2,P3)に含まれる毛髪の位置が略一致するように、毛髪テクスチャ画像90の複数の領域が毛髪描画用オブジェクト60に多重マッピングされる。
【0098】
上記のようにようにすることによって、毛髪描画用オブジェクト60の表面に螺旋状に毛髪を描画することができる。別の言い方をすれば、図16に示す毛髪テクスチャ画像90を、毛髪描画用オブジェクト60に対して3重に巻くようにマッピングすることになる。
【0099】
(3)また例えば、実施形態においては、図4のような形状の毛髪描画用オブジェクト60が設定される場合を説明したが、毛髪描画用オブジェクト60は、他の形状であってもよい。毛髪描画用オブジェクト60は、毛髪テクスチャ画像90がマッピングされた場合に、表面にキャラクタの毛髪が螺旋状に表れるような略筒状の形状であればよい。
【0100】
(4)また、オブジェクト設定部72は、仮想カメラ46の視界内に配置されるキャラクタオブジェクト44の数に基づいて、毛髪描画用オブジェクト60の数及び/又はポリゴンの細かさを変化させるようにしてもよい。仮想カメラ46の視界にパーマがかかっているキャラクタが密集している場合には、設定すべき毛髪描画用オブジェクト60の数が多くなるので、上記のようにしてゲーム装置10の処理負荷を抑えるようにしてもよい。即ち、オブジェクト設定部72は、仮想カメラ46の視界内に配置されるキャラクタオブジェクト44の数が増加するほど、毛髪描画用オブジェクト60の数を少なく、かつ/又は、ポリゴンが粗くなるように設定してもよい。
【0101】
同様に、オブジェクト設定部72は、キャラクタオブジェクト44の位置と仮想カメラ46の位置との距離に基づいて、毛髪描画用オブジェクト60の数及び/又はポリゴンの細かさを変化させるようにしてもよい。即ち、キャラクタオブジェクト44と仮想カメラ46との距離が長い場合には、比較的大雑把に毛髪を描写しても見た目にはあまり変化がない。即ち、オブジェクト設定部72は、キャラクタオブジェクト44の位置と仮想カメラ46の位置との距離が長くなるほど、毛髪描画用オブジェクト60の数を少なく、かつ/又は、ポリゴンが粗くなるように設定してもよい。
【0102】
(5)また、上記実施形態及び変形例においては、人間を模したキャラクタの毛髪を例に挙げて説明したが、人間以外の他のキャラクタに本発明を適用してもよい。例えば、全身が毛におおわれたモンスターを模したキャラクタに本発明を適用してもよい。
【0103】
(6)また例えば、本発明に係る画像処理装置は、キャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示するものであればよく、ゲーム装置以外の装置にも、本発明を適用することができる。
【符号の説明】
【0104】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスク再生部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 表示部、34 音声出力部、36 光ディスク、40 ゲーム空間、42 フィールドオブジェクト、44 キャラクタオブジェクト、46 仮想カメラ、52 目オブジェクト、54 鼻オブジェクト、56 口オブジェクト、58 頭皮オブジェクト、60 毛髪描画用オブジェクト、70 ゲームデータ記憶部、72 オブジェクト設定部、74 テクスチャ画像取得部、76 表示制御部、80 顔テクスチャ画像、90 毛髪テクスチャ画像。
【特許請求の範囲】
【請求項1】
キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置であって、
前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段と、
前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段と、
前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
前記テクスチャ画像取得手段は、前記毛髪テクスチャ画像の第1の位置から第2の位置まで伸びる第1の毛髪部分が表れ、前記毛髪テクスチャ画像の第3の位置から第4の位置まで伸びる第2の毛髪部分が表れてなる前記毛髪テクスチャ画像を取得し、
前記表示制御手段は、前記毛髪描画用オブジェクトの表面において、前記第2の位置と前記第3の位置とが略一致するように前記テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記テクスチャ画像取得手段は、前記第2の位置と前記第3の位置とが前記毛髪テクスチャ画像の水平方向又は垂直方向の中心線に対して線対称になっている前記毛髪テクスチャ画像を取得することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記テクスチャ画像取得手段は、前記第2の位置が前記毛髪テクスチャ画像の一の端部に対応する端部領域に含まれ、かつ、前記第3の位置が他の端部に対応する端部領域に含まれる前記毛髪テクスチャ画像を取得することを特徴とする請求項2又は3に記載の画像処理装置。
【請求項5】
キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置の制御方法であって、
前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定ステップと、
前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得ステップと、
前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御ステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項6】
キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段、
前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段、
前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段、
を含む画像処理装置として前記コンピュータを機能させることを特徴とするプログラム。
【請求項1】
キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置であって、
前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段と、
前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段と、
前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
前記テクスチャ画像取得手段は、前記毛髪テクスチャ画像の第1の位置から第2の位置まで伸びる第1の毛髪部分が表れ、前記毛髪テクスチャ画像の第3の位置から第4の位置まで伸びる第2の毛髪部分が表れてなる前記毛髪テクスチャ画像を取得し、
前記表示制御手段は、前記毛髪描画用オブジェクトの表面において、前記第2の位置と前記第3の位置とが略一致するように前記テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記テクスチャ画像取得手段は、前記第2の位置と前記第3の位置とが前記毛髪テクスチャ画像の水平方向又は垂直方向の中心線に対して線対称になっている前記毛髪テクスチャ画像を取得することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記テクスチャ画像取得手段は、前記第2の位置が前記毛髪テクスチャ画像の一の端部に対応する端部領域に含まれ、かつ、前記第3の位置が他の端部に対応する端部領域に含まれる前記毛髪テクスチャ画像を取得することを特徴とする請求項2又は3に記載の画像処理装置。
【請求項5】
キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置の制御方法であって、
前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定ステップと、
前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得ステップと、
前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御ステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項6】
キャラクタを表すキャラクタオブジェクトが配置された3次元空間を所与の視点から見た画像を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記キャラクタの毛髪を表す略筒状の毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを設定するオブジェクト設定手段、
前記キャラクタの毛髪が表されてなる毛髪テクスチャ画像であって、前記毛髪テクスチャ画像が前記毛髪描画用オブジェクトにマッピングされた場合に、前記毛髪が前記毛髪描画用オブジェクトの表面に沿って螺旋状に表れる前記毛髪テクスチャ画像を取得するテクスチャ画像取得手段、
前記毛髪テクスチャ画像がマッピングされた前記毛髪描画用オブジェクトを含む前記キャラクタオブジェクトを前記視点から見た画像を前記表示手段に表示させる表示制御手段、
を含む画像処理装置として前記コンピュータを機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−63820(P2012−63820A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−205265(P2010−205265)
【出願日】平成22年9月14日(2010.9.14)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願日】平成22年9月14日(2010.9.14)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]