画像表示装置、画像表示方法、ならびに、プログラム
【課題】記憶容量や計算資源の消費を抑えつつ、ゲーム等に使用される3次元キャラクタの瞳がカメラ方向に向いているように見せる画像表示装置等を提供する。
【解決手段】仮想空間内に配置される眼窩サーフェスは顔サーフェスから筒状に頭の内部へくぼみ、瞳サーフェスは眼窩サーフェス内に奥まって配置され、これらの形状・位置・向き・テクスチャ、投射点の位置・向き、投射面の位置・向きが記憶部201に記憶され、更新部202は、投射点や投射面の位置・向きを、ユーザの指示入力等に応じて更新し、生成部203は、これらのサーフェスの形状・位置・向き、投射点や投射面の位置・向きに基づいて、サーフェスのそれぞれを投射面へ投影し、投影先の各領域に、対応するテクスチャを貼り付けて、当該投射点の方向に瞳を向けているかのようなキャラクターの画像を生成する。
【解決手段】仮想空間内に配置される眼窩サーフェスは顔サーフェスから筒状に頭の内部へくぼみ、瞳サーフェスは眼窩サーフェス内に奥まって配置され、これらの形状・位置・向き・テクスチャ、投射点の位置・向き、投射面の位置・向きが記憶部201に記憶され、更新部202は、投射点や投射面の位置・向きを、ユーザの指示入力等に応じて更新し、生成部203は、これらのサーフェスの形状・位置・向き、投射点や投射面の位置・向きに基づいて、サーフェスのそれぞれを投射面へ投影し、投影先の各領域に、対応するテクスチャを貼り付けて、当該投射点の方向に瞳を向けているかのようなキャラクターの画像を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶容量や計算資源の消費を抑えつつ、ゲーム等に使用される3次元キャラクタの瞳がカメラ方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムに関する。
【背景技術】
【0002】
従来、ゲームに使用される画像を生成する3次元コンピュータグラフィックスの分野においては、個々の物体の形状を、たとえばポリゴン等の組み合わせによるサーフェスで定義(モデル化)し、ポリゴンの表面に各種のテクスチャをマッピングしてモデルの質感を表現する。たとえば特許文献1には、仮想3次元空間内の水面を表す水面モデルの周囲に配置される背景モデルを上下反転させた画像を記憶し、仮想3次元空間内における仮想カメラ視点に基づいて設定される透明度変化領域内の水面モデルの透明度を変化させ、透明度が変化された水面モデルにテクスチャ(背景モデルを上下反転画像)を貼り付け、テクスチャの貼り付けられた水面モデルを背景画像に合成して描画する技術が開示されている。
【特許文献1】特許第3737784号公報
【0003】
したがって、特許文献1に開示されている技術に基づいて3次元キャラクタの瞳を表現する際には、たとえば、正面を向いた瞳、右を向いた瞳、左を向いた瞳などのテクスチャを視線の方向に応じてそれぞれ用意する必要があった。瞳の向きを直接変化させれば、瞳をカメラ目線(カメラを向いているように見える視線)にすることも出来るが、それには複雑なプログラム制御が必要となる。ゲーム機などのように、計算資源が限られた環境では、記憶容量と計算資源とを抑える必要があるため、これらの手法は採用できないこともある。したがって、記憶容量や起算資源の消費を抑えつつ、3次元キャラクタの瞳をカメラ目線とするのに、好適な技術が求められている。
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は以上のような課題を解決するためのものであり、記憶容量と計算資源とを抑えつつ、ゲーム端末等で表示するキャラクタの瞳がカメラの方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の第1の観点に係る画像表示装置は、仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部を備える。
【0006】
ここで、眼窩サーフェス形状は、瞳の白目部分を表し、内側が表面を形成する。眼窩テクスチャは、眼窩サーフェス形状の表面である内側に貼り付けられる。一方、瞳サーフェス形状は、球状であり、瞳の黒目部分を表す。瞳サーフェス形状は、眼窩サーフェス形状の内部に、顔サーフェス形状より奥まった部分に配置される。瞳サーフェス形状および、顔サーフェス形状は、外側が表面であり、それぞれのテクスチャは外側の面に貼り付けられる。
【0007】
また、露眼領域とは、顔の表面のうち、目玉が露出している部分をいい、顔皮領域とは、顔の表面のうち、露眼領域以外の部分をいう。
【0008】
なお、投射点は3次元仮想空間を見ている仮想カメラであり、投射面は当該仮想空間を2次元平面に描画するために投射点から当該仮想空間内に存在する物体を投射する面である。投射面の向きは、仮想カメラの位置、仮想カメラの向き、仮想カメラのズーム倍率などから後述の更新部によって算出され、記憶部に記憶される。
【0009】
各サーフェス形状、テクスチャ情報、そして仮想カメラの位置、向き、ズーム倍率などは、たとえばDVD−ROMドライブに装着されたDVD−ROM等の外部記憶媒体に予め格納される。DVD−ROMから読み出された情報は、典型的にはRAMなどの揮発性メモリに一時記憶され、ゲームの進行に応じて随時更新される。
【0010】
また、画像表示装置は、記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部を備える。
【0011】
即ち、ユーザが、コントローラなどの入力装置を用いて、仮想カメラ(投射点)の位置、仮想カメラの向き(視線ベクトル)、仮想カメラのズーム倍率等を指定するためのパラメータを変更する旨の指示をすると、更新部は指示入力に基づいて投射面の位置と向きを算出し、記憶部に記憶する。即ち、更新部は記憶部に記憶される投射面の配置位置と向きとを更新する。なお、投射面は、たとえば、視線ベクトルと垂直をなす方向に配置され、投射面の位置はズーム倍率などによって算出される。
【0012】
また、画像表示装置は、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部を備える。
【0013】
即ち、顔サーフェス形状は眼窩サーフェス形状や瞳サーフェス形状よりも外側に配置されるため、露眼領域に貼り付ける際の顔テクスチャの透明度を完全透明とすれば、露眼領域において顔テクスチャは描画されず、顔サーフェス形状の内部に配置される眼窩サーフェス形状や瞳サーフェス形状が描画される。この際、瞳サーフェス形状は、眼窩サーフェス形状の露眼領域から奥まった部分に配置されるため、露眼領域からは奥まって描画され、キャラクタの目線がカメラ方向を向いているように見せることができる。
【0014】
なお、顔テクスチャ情報は、露眼部分以外の顔皮部分に貼り付けられる不透明のテクスチャとする手法があるが、この場合には、露眼領域の投影先には、顔テクスチャ情報の貼り付けは行わない。
【0015】
一方、顔テクスチャ情報を顔全体に貼り付けられるテクスチャとする場合には、露眼領域は完全透明のテクスチャで、顔皮領域は不透明のテクスチャで構成するのが典型的である。このようにすると、顔テクスチャを貼り付ける際には、露眼領域の透明度は完全透明で、顔皮領域の透明度は所定の透明度(典型的には完全不透明の透明度)で、それぞれ貼り付けることになる。
【0016】
また、画像表示装置は、生成された画像を表示する表示部を備える。なお、生成部は描画した画像データを通常フレームバッファなどに記憶し、垂直同期割り込みが生じると、フレームバッファの内容を表示部に転送する。表示部は生成部の生成した画像データを表示する。
【0017】
以上により、実際に瞳サーフェス形状を動かしたり、露眼領域に対して複数のテクスチャを用意せずとも、目線がカメラに向いているように見える仮想キャラクタを描画・表示することが可能となる。
【0018】
また、記憶部には、当該仮想世界を照らす光源の位置がさらに記憶されるようにしてもよい。そして、生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付けるようにしてもよい。
【0019】
即ち、通常テクスチャをサーフェスに貼り付ける場合、サーフェスの面に対する光源の位置に基づいてテクスチャの明度を変化させるが、眼窩テクスチャの明度は光源の位置に関わらず、所定の明度で貼り付ける。こうすることで、眼窩テクスチャの立体感がなくなり、白目のように見せることが可能となる。瞳テクスチャについても同様に、黒目部分が立体的に見えることが好ましくない場合については所定の明度でテクスチャ情報を貼り付ける。一方、黒目部分が立体的に見えることが好ましい場合は光源の位置に応じてテクスチャの明度を変化させ貼り付ける。
【0020】
また、生成部は、当該顔テクスチャ情報を当該露眼領域に貼り付ける際の透明度を、時間経過もしくはユーザの指示操作により完全透明と不透明とのいずれかに切り換えるようにしてもよい。即ち、露眼領域に貼り付ける際の顔テクスチャの透明度を完全透明とすれば、上述のようにカメラを向いているように見える目線(カメラ目線)が得られる。一方、当該透明度を完全不透明とすれば、露眼領域には対応する顔テクスチャ領域が描画される。したがって、当該露眼領域に貼り付ける際の透明度を、完全透明から、完全不透明に切り替えれば、瞬時にカメラ目線以外の目の状態を描画することが可能となる。
【0021】
この際は、上記のように、当該顔テクスチャ情報は、当該露眼領域に貼り付けられるテクスチャ情報と当該顔皮領域に貼り付けられるテクスチャ情報とから構成されるようにする。
【0022】
また、記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付けるようにしてもよい。
【0023】
即ち、生成部は、眼窩サーフェス形状、瞳サーフェス形状、顔サーフェス形状の順番で上書きして描画することで、陰面処理を行うことも可能であるが、投射点からみた全ポリゴンの前後関係を比較して、最終的に当該投射点からの距離が最も近いポリゴンが描画されるようにしてもよい。
【0024】
本発明の他の観点に係る画像表示方法は、記憶部と、更新部と、生成部と、表示部と、を備える、画像表示装置を制御する工程を備える。
【0025】
まず、記憶工程では、記憶部が、仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する。
【0026】
更新工程では、更新部が、記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する。
【0027】
生成工程では、生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する。
【0028】
表示工程では、表示部が、生成された画像を表示する。
【0029】
本発明の他の観点に係るプログラムは、コンピュータを、上記の画像処理装置として機能させるように構成する。本発明の他の観点に係るプログラムは、コンピュータに上記の画像処理方法を実行させるように構成する。
【0030】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0031】
本発明は、記憶容量と計算資源とを抑えつつ、ゲーム端末等で表示するキャラクタの瞳がカメラの方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムを提供することができる。
【発明を実施するための最良の形態】
【0032】
以下に本発明の実施の形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施の形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施の形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと等しいものに置換した実施形態を採用することが可能であるが、これらの実施の形態も本発明の範囲に含まれる。
【実施例1】
【0033】
図1は、本発明の実施形態の1つに係るゲーム端末が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0034】
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD(Digital Versatile Disk)−ROMドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0035】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の端末装置が実現される。
【0036】
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0037】
ROM102は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。このIPLをCPU 101が実行することにより、DVD−ROMに記録されたプログラムがRAM103に読み出され、CPU 101による実行が開始される。
【0038】
また、ROM102にはゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0039】
RAM103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータ等が保持される。
【0040】
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0041】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、たとえばチャット通信のログのデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記憶することができる。
【0042】
DVD−ROMドライブ108に装着されるDVD−ROMには、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM103等に一時的に記憶される。
【0043】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0044】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0045】
また、3次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から3 次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0046】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0047】
NIC 109は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものである。NIC 109は、たとえばLAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0048】
インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を取得することによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。
【0049】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0050】
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103 、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0051】
尚、本実施の形態に係る画像処理装置200は、ゲーム装置100や、携帯式のゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROM ドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、画像処理装置として機能させることができる。
【0052】
以下では、注記しない限り、画像処理装置200について、図1に示したゲーム装置100により説明を加える。画像処理装置200は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。
【0053】
(画像処理装置の概要構成)
図2は、本実施の形態に係る画像処理装置200の概要構成を示す模式図である。以下本図を参照して説明する。
【0054】
画像処理装置200は、ユーザの指示、または時間経過に応じて、3次元仮想空間内のキャラクタの瞳がカメラを向いているように見せるよう制御し、該キャラクタを描画する装置である。画像処理装置200は、図2に示すように、記憶部201、更新部202、生成部203、表示部204等を備える。
【0055】
以下に画像処理装置200の各構成要素について説明する。
【0056】
記憶部201は、仮想空間内のキャラクタの頭部オブジェクト300を構成する各要素(オブジェクト、あるいはモデルとも呼ばれる)の形状情報や、各要素が配置される位置情報等を記憶する(なお、複数のオブジェクトをグループ化して、頭部オブジェクトなどの、より大きなオブジェクトを定義することが可能である)。これらの情報はたとえばDVD−ROMに予め格納されており、CPU 101がDVD−ROMドライブ 108に装着されたDVD−ROMを読み出してRAM 103に一時記憶させる。あるいは、外部メモリ106に記憶させたこれら情報を、CPU 101に読み出させ、RAM 103に一時記憶させるようにしてもよい。なお、CPU 101は、一時記憶された情報を、たとえばゲームの進行に応じて、随時更新することができる。このように、CPU 101、RAM 103、DVD−ROMドライブ108等が協働して動作することにより、記憶部201として機能する。
【0057】
以下に記憶部201に記憶される頭部オブジェクト300を構成する各要素の情報について説明する。
【0058】
図3に示すように、頭部オブジェクト300は、顔オブジェクト310、眼窩オブジェクト320、瞳オブジェクト330、などのオブジェクトから構成されている。各オブジェクトは、その形状をポリゴンと呼ばれる、微小な多角形(たとえば三角形や四角形等)の組み合わせによって定義されるサーフェスとして表現される。
【0059】
記憶部201は、顔オブジェクトを形成する顔サーフェス形状と、白目や瞳が配置される領域(以下「露眼領域340」と呼ぶ)の外周から当該キャラクタの顔の内部へ延びる眼窩オブジェクトを形成する「眼窩サーフェス形状」と、当該露眼領域340と当該眼窩サーフェス形状とに囲まれる領域内に配置される瞳オブジェクトを形成する「瞳サーフェス形状」とを記憶する。
【0060】
なお、眼窩オブジェクト320は所謂白目部分を表現するものであり、瞳オブジェクト330は、所謂黒目の部分を表現するためのものである。
【0061】
サーフェス形状は、たとえばオブジェクトごとに用意されたローカル座標系(ボディ座標系)に基づいて定義する。典型的にはオブジェクトの重心がローカル座標系の原点となる。なお、眼窩サーフェス形状については、内側、即ち、瞳が配置される側に面しているサーフェスをその表面であるとし、表面である内側に、眼窩テクスチャ情報が貼り付けられる。一方、顔サーフェス形状、および瞳サーフェス形状は、外側が表面であり、それぞれの外側に、顔テクスチャ情報、瞳テクスチャ情報が貼り付けられる。
【0062】
記憶部201は、頭部オブジェクト300を構成する各オブジェクトの、仮想空間内の位置情報および向きも記憶する。たとえば、記憶部210は、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、オブジェクト毎に固定されたローカル座標系とを記憶する。典型的には、オブジェクトの代表点(たとえば重心)がローカル座標系の原点であり、ローカル座標系はグローバル座標系からの平行移動量と回転量によって定義することができる。したがって、ローカル座標系から、オブジェクトの位置および向きを決定することができる。
【0063】
なお、位置情報は直交座標系を用いて定義しても、1個の動径と2個の偏角を用いた極座標系を用いて(r,θ,φ)で表してもよい。
【0064】
なお、図3では、眼窩オブジェクト320の形状は筒状である。しかし、眼窩オブジェクト320が、一端は露眼領域340で開孔し、他端は閉じられた形状を有していれば、円錐状であったり、球状であってもよい。また、瞳オブジェクト330は、眼窩サーフェス形状が顔サーフェス形状と交わる位置(即ち露眼領域340の縁)よりも奥まった位置に配置されれば、眼窩領域340よりも直径が大きくても良いし、球状でなく、立方体の角を丸めたような形状であってもよい。露眼領域340についても、必要に応じて、真円、楕円、長方形の角を丸めた形状等、としてもよい。
【0065】
さらに、記憶部201は、オブジェクトの表面に貼り付けるテクスチャと呼ばれる画像データを記憶する。テクスチャを貼り付けることで、オブジェクトの質感を表現することが可能となる。記憶部201は、顔サーフェス形状、眼窩サーフェス形状、瞳サーフェス形状に対し、それぞれ、顔テクスチャ情報、眼窩テクスチャ情報、瞳テクスチャ情報を記憶する。
【0066】
また、記憶部201は、投射点の位置、および、投射面の位置ならびに向きを記憶する。ここで、投射点とは、仮想的カメラが該仮想空間においてオブジェクトを見ている視点である。投射面とは、投射点からみた3次元仮想空間の様子を投射する2次元平面であり、投影面ともいう。この他、記憶部201は、当該仮想空間を照らす光源の位置を記憶する。
【0067】
次に、更新部202は、インターフェイス104を介して接続された入力装置を操作してユーザが指示した入力等に基づいて、または、ユーザがプログラムなどによって指示した内容などに基づいて、記憶部201に記憶される投射点の位置、および、投射面の位置ならびに向きを更新する。ここで、CPU 101、RAM 103、が協働して動作することにより、更新部202として機能する。
【0068】
生成部203は、記憶部201に記憶された各サーフェス形状、および対応するテクスチャと、更新部202によって更新された投射点の位置、および、投射面の位置ならびに向きに基づいて、当該3次元仮想空間内において、当該投射点から、オブジェクトを投射面に投射(投影)して、モニターに表示する画像データを生成する。ここで、CPU 101、RAM 103、画像処理部107が協働して動作することにより、生成部203として機能する。なお、生成部203の投射方法については、生成部203の動作処理を説明する部分に詳述する。
【0069】
表示部204は、生成部203が生成した画像データを表示するモニター(図示せず)である。
【0070】
(画像処理装置の動作)
以上のような構成を有する画像処理装置において、3次元仮想空間に配置されるキャラクタの顔を描画して表示する動作を図4を参照して説明する。
【0071】
画像処理装置が電源を投入されて、処理を開始すると、RAM 103に必要な情報(たとえば仮想カメラの位置や向き、オブジェクトの形状、位置、そして向きなど)が読み込まれ、記憶部201が初期化される(ステップS11)。
【0072】
ユーザは、コントローラ105を用いて、仮想カメラ(投射点)の位置、仮想カメラの向き(視線方向)、仮想カメラの撮影倍率(ズーム率)等を指定するためのパラメータを変更する旨の指示ができる。当該ユーザからの指示入力があった場合、支持入力に応じて更新部202は記憶部201の仮想カメラの位置、向き、ズーム率を更新する(ステップS12)。そして、仮想カメラの位置や、向き、そしてズーム率に応じて、仮想空間内に投射面が配置される位置や向きを算出する。
【0073】
即ち、更新部202は投射点を起点とする視線ベクトルと垂直に交わる向きを算出し、これを投射面の向きとする。そして、ズームインの際には投射面を3次元空間内の撮影対象に近づくように(投射点から遠ざかるように)並行移動させ、ズームアウトの際には撮影対象から遠ざかるように(投射点に近づくように)平行移動させる。視線ベクトルの向きを変える(即ち仮想カメラをパンする)ときには、視線ベクトルの向きにしたがって投射面の向きも変える。このように、更新部202は投射点の位置および投射点の見ている方向(視線ベクトルの向き)、そしてズーム倍率などから投射面の位置や向きを決定し、記憶部201に記憶(更新)する。
【0074】
なお、仮想カメラの位置や向き、および撮影倍率のパラメータは、制御プログラムなどから与えられてもよいし、あるいは、時間の経過に対応付けてパラメータを所定の値に変更したり、ランダムに変更したりしてもよい。
【0075】
次いで、生成部203は、画像生成処理(ステップS13)へと処理を進め、3次元仮想空間内の各オブジェクトの2次元画像を描画する。
【0076】
典型的には、計算量やメモリ消費量を押さえつつ陰面処理を行うために、たとえば、オブジェクトの代表点(たとえば重心)と投射点との距離を求め、最も距離が遠い順番にオブジェクトを描画する方法等が用いられる。しかし、本実施の形態においては、代表点と投射点の距離を求めることなく、生成部203は、頭部オブジェクト300を描画する場合、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番でそれぞれステップS21〜S22を実行して描画する。顔オブジェクト310は最も外側に位置するため、この順番で描画することにより、顔オブジェクトの内部に位置する瞳や眼窩が先に描画され、露眼領域を残し、顔サーフェス形状が描画される。
【0077】
まず、ステップS21では、現在処理中のオブジェクトのサーフェス形状を定義する各ポリゴンについて、ステップS12で位置を決定した位置や方向に投射面を配置した際の、投射面への投影先を求める。たとえば、生成部203は、各オブジェクトを投射面に透視投影する。これにより、3次元仮想空間に配置された各オブジェクトが、2次元仮想スクリーンに投影される。本実施形態では、投影の手法として1点透視を採用するので、投射点から遠くにあるオブジェクトは小さく、近くにあるオブジェクトは大きく投影されることになる。ただし、1点透視の代わりに平行投影を採用することもできる。
【0078】
投影先を求めると、投影先の各領域に、対応するテクスチャ(たとえば、眼窩サーフェス形状は、対応する眼窩テクスチャ)の対応する領域を貼り付けて(マッピングして)描画する(ステップS22)。ただし、生成部203はオブジェクト毎に、たとえばZバッファ法などを用いて陰面処理を行って描画するものとする。ここで、Zバッファ法とは、描画する画像データを構成する画素を、投射面に最も近いポリゴンに対応するテクスチャ情報の色で塗る手法である。視線ベクトルの方向と、ポリゴンのサーフェス形状の法線ベクトルの向きが同じ場合、該サーフェスは視線ベクトルと反対を向いていることを意味するため、生成部203はこのようなサーフェスを描画しないようにしてもよい。
【0079】
また、テクスチャを貼り付ける際は、各オブジェクトを形成するポリゴンの光源に対する向きを考慮する。即ち、オブジェクトを構成するサーフェス形状の各ポリゴンの裏から表へ向かう法線と、当該ポリゴンの位置から光源へ向かう方向ベクトルとが成す角度が小さい程テクスチャの明度を高くする。逆に直角に近い程、明度を低くする。ただし、明度に反射率を乗算することで質感を変化させる場合は、ポリゴンの法線と当該方向ベクトルの成す角度が直角であっても明度を完全に0とはしない。こうすることで、暗い部分においても質感(ざらざら感や、滑らか感、など)を表現することが可能となる。なお、角度そのものではなく、角度の余弦をベクトルの内積により求めて、1に近いほど明度を明るくしてもよい。また、ポリゴンの境界において明るさの違いが目立たないように、グローシェーディングやフォンシェーディングなどを適用してもよい。
【0080】
ただし、眼窩オブジェクト320にテクスチャを貼り付ける際には、明度を所定の値に固定し、光源の角度に応じて変化させない。こうすることで、眼窩の色はポリゴンの方向によらずに一定となり、本来あるべきでない立体感をなくすことが可能となる。
【0081】
瞳オブジェクト330についても、黒目が球状に見えることが好ましい場合は、光源の方向を考慮して明度を決定し、球状に見えることが好ましくない場合は、所定の値に明度を固定する。さらに反射率をランダムにし、球状に見えないよう工夫してもよい。
【0082】
図5(B)は、仮想カメラ(投射点)が頭部オブジェクト300から見て左手方向に配置された場合に、生成部203が頭部オブジェクト300を、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番で描画した例を示す。ただし、図5(B)を生成するにあたって、図6(A)に示すような顔テクスチャに対して、図6(B)に示すような透明フィルタを用いたものとする(網掛け部分は完全に透明であることを示すものとする)。なお、図6(A)に示す目の部分と図6(B)に示す網掛け部分が、露眼領域340に対応するものとする。
【0083】
図5(B)を描画したときの3次元仮想空間における各オブジェクトの位置関係は図5(A)に示すとおりであり、瞳オブジェクト330は、上述したように眼窩オブジェクト320内に奥まって配置される。また、図6(B)のような透明フィルタを顔テクスチャに適用すると、露眼領域340における顔テクスチャは完全に透明になる。よって、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番で描画すると、先に描画された眼窩および瞳の上に、露眼領域340においては顔テクスチャが上書きして描画されることはない。この結果、仮想カメラが斜め方向に位置すれば、図5(B)に示すように、瞳は奥まって描画され、カメラ目線、即ち、カメラを向いているかのような目線となる。
【0084】
一方、当該透明フィルタを完全不透明に設定すれば、露眼領域340に対応する顔テクスチャ領域が描画される。したがって、図6(A)に示すような正面を向いた瞳の画像を有する顔テクスチャを用意すれば、正面を向いた瞳が顔テクスチャとして露眼領域に貼り付けられ、カメラ目線ではなく、正面を見ている瞳を表現することが可能となる。
【0085】
テクスチャを張って描画する場合と、瞳オブジェクト330を投影して描画する場合で、瞳(黒目)の大きさや位置が異なると透明度を切り替えた際に不自然となる。よって、図7(A)を顔テクスチャの露眼領域に適用するフィルタを完全透明とした際に描画される頭部オブジェクト300であるとすると、当該フィルタを完全不透明とした際に描画される頭部オブジェクト300が図7(B)のようになる顔テクスチャ(図6(A))を用意する。
【0086】
なお、露眼領域340に対応する顔テクスチャの領域に、まぶたの画像を用意し、露眼領域内340を不透明に設定すれば、まぶたを閉じた状態を描画することが可能となる。
【0087】
露眼領域340に適用する透明フィルタの透明度は、仮想カメラの位置や向きを変更する場合と同様に、インターフェイス104を介して接続された入力装置を操作してユーザが指示した入力等に基づいて切り替え可能である。あるいは、制御プログラムなどから変更指示を与えるようにしてもよい。時間の経過に応じて透明度を所定の値に変更したり、ランダムに変更したりしてもよい。
【0088】
同様の手法で、日本の漫画やアニメーションに多く見られる目の中の「星」を表現することも可能である。「星」とは、目の輝きを誇張した表現手法であり、白い斑点や星型の小さい図形等を目の中に描く描法である。たとえば、図8(A)に示すような、星を浮かべた瞳の画像を有する顔テクスチャを用意する。そして、この顔テクスチャに対して、図8(B)に示すような透明フィルタを用意する。図8(B)の透明フィルタは、図6(B)と似ているが、顔テクスチャの有する瞳の中の星に対応する部分を不透明に、そして、星以外の露眼領域340は透明に設定している(図では、透明部分を網掛けで表現している)。図8(C)は顔オブジェクトから見て左手方向に仮想カメラが設置されている場合に、ステップS11〜S15、およびS21、22を実行して描画した結果を示した例である(仮想カメラの方向を向いていない眼窩サーフェスのポリゴンは描画していない)。
【0089】
次いで、図8(C)の上に、図8(B)の透明フィルタを適用した図8(A)の顔テクスチャを貼り付けて顔オブジェクトを描画すると、図8(D)が得られる。即ち、顔テクスチャのうち、露眼領域340の外側と、星の部分のみが、図8(C)に上書きして描画される。
【0090】
なお、顔テクスチャにおける瞳の星の色と、眼窩テクスチャの色とを同じ色に設定すれば、図8(D)に示すように星が欠けてしまった場合でも、星が、白目部分に溶け込んだように見え不自然さが解消される。
【0091】
瞳に浮かぶ星は、瞳テクスチャ情報として用意して、瞳サーフェスにマッピングすることもできる。しかし、瞳を立体的に球状に見せることが好ましいような場合では、瞳テクスチャに描かれている星にまで瞳の立体感が現れてしまう。この問題を回避したい場合、上述のよう露眼領域に透明フィルタを適用して瞳の星を表現する方法が有効となる。
【0092】
以上の画像生成処理を終了すると、生成部203は垂直同期割込が生じるまで待機する(ステップS14)。この待機中には、他の処理(たとえば、RAM 103内に記憶される各オブジェクトの位置や向きを、時間の経過やユーザからの処理に基づいて更新する等の処理)をコルーチン的に実行してもよい。
【0093】
垂直同期割込が生じたら、生成部203は描画した画像データ(通常フレームバッファに記憶)の内容を表示部204に転送する。表示部204は転送された画像を表示し(ステップS15)、ステップS12に戻る。
【0094】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【0095】
たとえば、図9(A)および(B)に、典型的な日本の所謂「漫画目」の例を示す。図9(A)および(B)に示す「漫画目」は正面からみると図9(A)のように黒目の左右の縁が凸状に外側に湾曲しているが、たとえば頭部の左側(向かって右方向)から見た場合、図9(B)に示すように、黒目の左側の縁のみが、凹状に内側に湾曲する。このような目を実現するために、瞳オブジェクトの形状を、図9(C)に示すような凹型の形状にし、図9(D)に示すように露眼領域を長方形に近い円にしてもよい。こうすることで、3次元仮想空間から2次元平面へと投影したときに、正面からみた場合は、図9(E)に示すよう目を描画することが可能となり、また、左手から見た場合、図9(F)に示すような目を描画することが可能となる。ただし、図9(F)から理解できるように、カメラを頭部の斜め方向に配置して2次元平面へと投影すると、目の幅が正面から見た場合よりも若干狭く描画される。
【0096】
凹状に湾曲する瞳オブジェクトの他、円板状の瞳オブジェクトを用意してもよい。そして、瞳オブジェクトに対し、黒目を表現する黒い瞳テクスチャ情報を用意する。なお、典型的な日本のアニメーションや、漫画で用いられるような瞳を表現する場合、瞳テクスチャ情報は、2段階の黒目や、黒目の中に瞳の輝きを表す「星」を備えるようにしてもよい。図10に、テクスチャ情報を貼り付けた円板状の瞳オブジェクトの例を示す。
【0097】
図10に示す瞳オブジェクトを描画する際、投射点の方向に瞳オブジェクトの法線ベクトルが向くように、瞳オブジェクトの向きを制御してもよい。こうすることで、視点を頭部オブジェクトの斜め方向においた場合でも、瞳オブジェクトは常にカメラ方向を向くため、瞳の幅が狭く描画されることがなくなり、より有効的に瞳を表現することが可能となる。
【0098】
また、上記実施の形態においては、露眼領域340に対応する領域を顔テクスチャ情報に含め、透明フィルタを用いて顔テクスチャの露眼領域340に対応する領域を描画するか否かを制御するようにした。そうではなく、顔テクスチャ情報は露眼領域を除いた領域(即ち顔の皮膚を表す顔皮領域)のみ用意して、露眼領域には、瞼を上下に分けるようにして顔テクスチャ情報を貼り付けてもよい。このようにすることで、透明フィルタを用いることなく、眼窩オブジェクトや瞳オブジェクトを描画することが可能となる。
【0099】
また、上記実施の形態においては、生成部203が頭部オブジェクト300を描画する際、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番で投射面への投射領域を求め、対応するテクスチャ情報を貼り付けた。顔オブジェクト310は最も外側に位置するため、この順番で描画することにより、顔オブジェクトの内部に位置する瞳や眼窩が先に描画され、露眼領域を残し、顔サーフェス形状が描画される。しかし、たとえば、全オブジェクトのサーフェス形状を構成する全ポリゴンについて、Zバッファ法を適用し、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付けて描画するように生成部を動作させるようにしてもよい。
【図面の簡単な説明】
【0100】
【図1】本発明の実施の形態に係るゲーム端末等が実現される典型的なゲーム装置の概要構成を示す模式図である。
【図2】本実施の形態に係る画像処理装置の概要構成を示す説明図である。
【図3】頭部オブジェクトの例を示す図である。
【図4】画像処理装置の処理の流れを示すフロー図である。
【図5】(A)はオブジェクトの位置関係を示す図であり、(B)は本手法を用いて描画した頭部の例を示す図である。
【図6】(A)は顔テクスチャの例を示す図であり、(B)は顔テクスチャに適用する透明フィルタの例を示す図である。
【図7】(A)は本手法を用いて描画した正面からみた頭部の例を示す図であり、(B)は顔テクスチャによって、顔を描画した例を示す図である。
【図8】黒目の星を表現する手法を示す図であり、(A)は露眼領域付近の顔テクスチャを示す図であり、(B)は顔テクスチャに適用する透明フィルタの例を示す図であり、(C)は、眼窩と瞳を描画した例を示す図であり、(D)は(B)の透明フィルタを適用した(A)の顔テクスチャを(C)上に描画した例を示す図である。
【図9】(A)および(B)は典型的な「漫画目」の例を示す図であり、(C)は瞳オブジェクトの形状の例を示す図であり、(D)は露眼領域の形状の例を示す図であり、(E)および(F)は、(C)および(D)を用いて本手法にて瞳を描画した例を示す図である。
【図10】円板状の瞳オブジェクトの例を示す図である。
【符号の説明】
【0101】
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 画像処理装置
201 記憶部
202 更新部
203 生成部
204 表示部
300 頭部オブジェクト
310 顔オブジェクト
320 眼窩オブジェクト
330 瞳オブジェクト
340 露眼領域
【技術分野】
【0001】
本発明は、記憶容量や計算資源の消費を抑えつつ、ゲーム等に使用される3次元キャラクタの瞳がカメラ方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムに関する。
【背景技術】
【0002】
従来、ゲームに使用される画像を生成する3次元コンピュータグラフィックスの分野においては、個々の物体の形状を、たとえばポリゴン等の組み合わせによるサーフェスで定義(モデル化)し、ポリゴンの表面に各種のテクスチャをマッピングしてモデルの質感を表現する。たとえば特許文献1には、仮想3次元空間内の水面を表す水面モデルの周囲に配置される背景モデルを上下反転させた画像を記憶し、仮想3次元空間内における仮想カメラ視点に基づいて設定される透明度変化領域内の水面モデルの透明度を変化させ、透明度が変化された水面モデルにテクスチャ(背景モデルを上下反転画像)を貼り付け、テクスチャの貼り付けられた水面モデルを背景画像に合成して描画する技術が開示されている。
【特許文献1】特許第3737784号公報
【0003】
したがって、特許文献1に開示されている技術に基づいて3次元キャラクタの瞳を表現する際には、たとえば、正面を向いた瞳、右を向いた瞳、左を向いた瞳などのテクスチャを視線の方向に応じてそれぞれ用意する必要があった。瞳の向きを直接変化させれば、瞳をカメラ目線(カメラを向いているように見える視線)にすることも出来るが、それには複雑なプログラム制御が必要となる。ゲーム機などのように、計算資源が限られた環境では、記憶容量と計算資源とを抑える必要があるため、これらの手法は採用できないこともある。したがって、記憶容量や起算資源の消費を抑えつつ、3次元キャラクタの瞳をカメラ目線とするのに、好適な技術が求められている。
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は以上のような課題を解決するためのものであり、記憶容量と計算資源とを抑えつつ、ゲーム端末等で表示するキャラクタの瞳がカメラの方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の第1の観点に係る画像表示装置は、仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部を備える。
【0006】
ここで、眼窩サーフェス形状は、瞳の白目部分を表し、内側が表面を形成する。眼窩テクスチャは、眼窩サーフェス形状の表面である内側に貼り付けられる。一方、瞳サーフェス形状は、球状であり、瞳の黒目部分を表す。瞳サーフェス形状は、眼窩サーフェス形状の内部に、顔サーフェス形状より奥まった部分に配置される。瞳サーフェス形状および、顔サーフェス形状は、外側が表面であり、それぞれのテクスチャは外側の面に貼り付けられる。
【0007】
また、露眼領域とは、顔の表面のうち、目玉が露出している部分をいい、顔皮領域とは、顔の表面のうち、露眼領域以外の部分をいう。
【0008】
なお、投射点は3次元仮想空間を見ている仮想カメラであり、投射面は当該仮想空間を2次元平面に描画するために投射点から当該仮想空間内に存在する物体を投射する面である。投射面の向きは、仮想カメラの位置、仮想カメラの向き、仮想カメラのズーム倍率などから後述の更新部によって算出され、記憶部に記憶される。
【0009】
各サーフェス形状、テクスチャ情報、そして仮想カメラの位置、向き、ズーム倍率などは、たとえばDVD−ROMドライブに装着されたDVD−ROM等の外部記憶媒体に予め格納される。DVD−ROMから読み出された情報は、典型的にはRAMなどの揮発性メモリに一時記憶され、ゲームの進行に応じて随時更新される。
【0010】
また、画像表示装置は、記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部を備える。
【0011】
即ち、ユーザが、コントローラなどの入力装置を用いて、仮想カメラ(投射点)の位置、仮想カメラの向き(視線ベクトル)、仮想カメラのズーム倍率等を指定するためのパラメータを変更する旨の指示をすると、更新部は指示入力に基づいて投射面の位置と向きを算出し、記憶部に記憶する。即ち、更新部は記憶部に記憶される投射面の配置位置と向きとを更新する。なお、投射面は、たとえば、視線ベクトルと垂直をなす方向に配置され、投射面の位置はズーム倍率などによって算出される。
【0012】
また、画像表示装置は、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部を備える。
【0013】
即ち、顔サーフェス形状は眼窩サーフェス形状や瞳サーフェス形状よりも外側に配置されるため、露眼領域に貼り付ける際の顔テクスチャの透明度を完全透明とすれば、露眼領域において顔テクスチャは描画されず、顔サーフェス形状の内部に配置される眼窩サーフェス形状や瞳サーフェス形状が描画される。この際、瞳サーフェス形状は、眼窩サーフェス形状の露眼領域から奥まった部分に配置されるため、露眼領域からは奥まって描画され、キャラクタの目線がカメラ方向を向いているように見せることができる。
【0014】
なお、顔テクスチャ情報は、露眼部分以外の顔皮部分に貼り付けられる不透明のテクスチャとする手法があるが、この場合には、露眼領域の投影先には、顔テクスチャ情報の貼り付けは行わない。
【0015】
一方、顔テクスチャ情報を顔全体に貼り付けられるテクスチャとする場合には、露眼領域は完全透明のテクスチャで、顔皮領域は不透明のテクスチャで構成するのが典型的である。このようにすると、顔テクスチャを貼り付ける際には、露眼領域の透明度は完全透明で、顔皮領域の透明度は所定の透明度(典型的には完全不透明の透明度)で、それぞれ貼り付けることになる。
【0016】
また、画像表示装置は、生成された画像を表示する表示部を備える。なお、生成部は描画した画像データを通常フレームバッファなどに記憶し、垂直同期割り込みが生じると、フレームバッファの内容を表示部に転送する。表示部は生成部の生成した画像データを表示する。
【0017】
以上により、実際に瞳サーフェス形状を動かしたり、露眼領域に対して複数のテクスチャを用意せずとも、目線がカメラに向いているように見える仮想キャラクタを描画・表示することが可能となる。
【0018】
また、記憶部には、当該仮想世界を照らす光源の位置がさらに記憶されるようにしてもよい。そして、生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付けるようにしてもよい。
【0019】
即ち、通常テクスチャをサーフェスに貼り付ける場合、サーフェスの面に対する光源の位置に基づいてテクスチャの明度を変化させるが、眼窩テクスチャの明度は光源の位置に関わらず、所定の明度で貼り付ける。こうすることで、眼窩テクスチャの立体感がなくなり、白目のように見せることが可能となる。瞳テクスチャについても同様に、黒目部分が立体的に見えることが好ましくない場合については所定の明度でテクスチャ情報を貼り付ける。一方、黒目部分が立体的に見えることが好ましい場合は光源の位置に応じてテクスチャの明度を変化させ貼り付ける。
【0020】
また、生成部は、当該顔テクスチャ情報を当該露眼領域に貼り付ける際の透明度を、時間経過もしくはユーザの指示操作により完全透明と不透明とのいずれかに切り換えるようにしてもよい。即ち、露眼領域に貼り付ける際の顔テクスチャの透明度を完全透明とすれば、上述のようにカメラを向いているように見える目線(カメラ目線)が得られる。一方、当該透明度を完全不透明とすれば、露眼領域には対応する顔テクスチャ領域が描画される。したがって、当該露眼領域に貼り付ける際の透明度を、完全透明から、完全不透明に切り替えれば、瞬時にカメラ目線以外の目の状態を描画することが可能となる。
【0021】
この際は、上記のように、当該顔テクスチャ情報は、当該露眼領域に貼り付けられるテクスチャ情報と当該顔皮領域に貼り付けられるテクスチャ情報とから構成されるようにする。
【0022】
また、記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付けるようにしてもよい。
【0023】
即ち、生成部は、眼窩サーフェス形状、瞳サーフェス形状、顔サーフェス形状の順番で上書きして描画することで、陰面処理を行うことも可能であるが、投射点からみた全ポリゴンの前後関係を比較して、最終的に当該投射点からの距離が最も近いポリゴンが描画されるようにしてもよい。
【0024】
本発明の他の観点に係る画像表示方法は、記憶部と、更新部と、生成部と、表示部と、を備える、画像表示装置を制御する工程を備える。
【0025】
まず、記憶工程では、記憶部が、仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する。
【0026】
更新工程では、更新部が、記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する。
【0027】
生成工程では、生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する。
【0028】
表示工程では、表示部が、生成された画像を表示する。
【0029】
本発明の他の観点に係るプログラムは、コンピュータを、上記の画像処理装置として機能させるように構成する。本発明の他の観点に係るプログラムは、コンピュータに上記の画像処理方法を実行させるように構成する。
【0030】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0031】
本発明は、記憶容量と計算資源とを抑えつつ、ゲーム端末等で表示するキャラクタの瞳がカメラの方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムを提供することができる。
【発明を実施するための最良の形態】
【0032】
以下に本発明の実施の形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施の形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施の形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと等しいものに置換した実施形態を採用することが可能であるが、これらの実施の形態も本発明の範囲に含まれる。
【実施例1】
【0033】
図1は、本発明の実施形態の1つに係るゲーム端末が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0034】
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD(Digital Versatile Disk)−ROMドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0035】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の端末装置が実現される。
【0036】
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0037】
ROM102は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。このIPLをCPU 101が実行することにより、DVD−ROMに記録されたプログラムがRAM103に読み出され、CPU 101による実行が開始される。
【0038】
また、ROM102にはゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0039】
RAM103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータ等が保持される。
【0040】
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0041】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、たとえばチャット通信のログのデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記憶することができる。
【0042】
DVD−ROMドライブ108に装着されるDVD−ROMには、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM103等に一時的に記憶される。
【0043】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0044】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0045】
また、3次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から3 次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0046】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0047】
NIC 109は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものである。NIC 109は、たとえばLAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0048】
インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を取得することによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。
【0049】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0050】
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103 、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0051】
尚、本実施の形態に係る画像処理装置200は、ゲーム装置100や、携帯式のゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROM ドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、画像処理装置として機能させることができる。
【0052】
以下では、注記しない限り、画像処理装置200について、図1に示したゲーム装置100により説明を加える。画像処理装置200は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。
【0053】
(画像処理装置の概要構成)
図2は、本実施の形態に係る画像処理装置200の概要構成を示す模式図である。以下本図を参照して説明する。
【0054】
画像処理装置200は、ユーザの指示、または時間経過に応じて、3次元仮想空間内のキャラクタの瞳がカメラを向いているように見せるよう制御し、該キャラクタを描画する装置である。画像処理装置200は、図2に示すように、記憶部201、更新部202、生成部203、表示部204等を備える。
【0055】
以下に画像処理装置200の各構成要素について説明する。
【0056】
記憶部201は、仮想空間内のキャラクタの頭部オブジェクト300を構成する各要素(オブジェクト、あるいはモデルとも呼ばれる)の形状情報や、各要素が配置される位置情報等を記憶する(なお、複数のオブジェクトをグループ化して、頭部オブジェクトなどの、より大きなオブジェクトを定義することが可能である)。これらの情報はたとえばDVD−ROMに予め格納されており、CPU 101がDVD−ROMドライブ 108に装着されたDVD−ROMを読み出してRAM 103に一時記憶させる。あるいは、外部メモリ106に記憶させたこれら情報を、CPU 101に読み出させ、RAM 103に一時記憶させるようにしてもよい。なお、CPU 101は、一時記憶された情報を、たとえばゲームの進行に応じて、随時更新することができる。このように、CPU 101、RAM 103、DVD−ROMドライブ108等が協働して動作することにより、記憶部201として機能する。
【0057】
以下に記憶部201に記憶される頭部オブジェクト300を構成する各要素の情報について説明する。
【0058】
図3に示すように、頭部オブジェクト300は、顔オブジェクト310、眼窩オブジェクト320、瞳オブジェクト330、などのオブジェクトから構成されている。各オブジェクトは、その形状をポリゴンと呼ばれる、微小な多角形(たとえば三角形や四角形等)の組み合わせによって定義されるサーフェスとして表現される。
【0059】
記憶部201は、顔オブジェクトを形成する顔サーフェス形状と、白目や瞳が配置される領域(以下「露眼領域340」と呼ぶ)の外周から当該キャラクタの顔の内部へ延びる眼窩オブジェクトを形成する「眼窩サーフェス形状」と、当該露眼領域340と当該眼窩サーフェス形状とに囲まれる領域内に配置される瞳オブジェクトを形成する「瞳サーフェス形状」とを記憶する。
【0060】
なお、眼窩オブジェクト320は所謂白目部分を表現するものであり、瞳オブジェクト330は、所謂黒目の部分を表現するためのものである。
【0061】
サーフェス形状は、たとえばオブジェクトごとに用意されたローカル座標系(ボディ座標系)に基づいて定義する。典型的にはオブジェクトの重心がローカル座標系の原点となる。なお、眼窩サーフェス形状については、内側、即ち、瞳が配置される側に面しているサーフェスをその表面であるとし、表面である内側に、眼窩テクスチャ情報が貼り付けられる。一方、顔サーフェス形状、および瞳サーフェス形状は、外側が表面であり、それぞれの外側に、顔テクスチャ情報、瞳テクスチャ情報が貼り付けられる。
【0062】
記憶部201は、頭部オブジェクト300を構成する各オブジェクトの、仮想空間内の位置情報および向きも記憶する。たとえば、記憶部210は、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、オブジェクト毎に固定されたローカル座標系とを記憶する。典型的には、オブジェクトの代表点(たとえば重心)がローカル座標系の原点であり、ローカル座標系はグローバル座標系からの平行移動量と回転量によって定義することができる。したがって、ローカル座標系から、オブジェクトの位置および向きを決定することができる。
【0063】
なお、位置情報は直交座標系を用いて定義しても、1個の動径と2個の偏角を用いた極座標系を用いて(r,θ,φ)で表してもよい。
【0064】
なお、図3では、眼窩オブジェクト320の形状は筒状である。しかし、眼窩オブジェクト320が、一端は露眼領域340で開孔し、他端は閉じられた形状を有していれば、円錐状であったり、球状であってもよい。また、瞳オブジェクト330は、眼窩サーフェス形状が顔サーフェス形状と交わる位置(即ち露眼領域340の縁)よりも奥まった位置に配置されれば、眼窩領域340よりも直径が大きくても良いし、球状でなく、立方体の角を丸めたような形状であってもよい。露眼領域340についても、必要に応じて、真円、楕円、長方形の角を丸めた形状等、としてもよい。
【0065】
さらに、記憶部201は、オブジェクトの表面に貼り付けるテクスチャと呼ばれる画像データを記憶する。テクスチャを貼り付けることで、オブジェクトの質感を表現することが可能となる。記憶部201は、顔サーフェス形状、眼窩サーフェス形状、瞳サーフェス形状に対し、それぞれ、顔テクスチャ情報、眼窩テクスチャ情報、瞳テクスチャ情報を記憶する。
【0066】
また、記憶部201は、投射点の位置、および、投射面の位置ならびに向きを記憶する。ここで、投射点とは、仮想的カメラが該仮想空間においてオブジェクトを見ている視点である。投射面とは、投射点からみた3次元仮想空間の様子を投射する2次元平面であり、投影面ともいう。この他、記憶部201は、当該仮想空間を照らす光源の位置を記憶する。
【0067】
次に、更新部202は、インターフェイス104を介して接続された入力装置を操作してユーザが指示した入力等に基づいて、または、ユーザがプログラムなどによって指示した内容などに基づいて、記憶部201に記憶される投射点の位置、および、投射面の位置ならびに向きを更新する。ここで、CPU 101、RAM 103、が協働して動作することにより、更新部202として機能する。
【0068】
生成部203は、記憶部201に記憶された各サーフェス形状、および対応するテクスチャと、更新部202によって更新された投射点の位置、および、投射面の位置ならびに向きに基づいて、当該3次元仮想空間内において、当該投射点から、オブジェクトを投射面に投射(投影)して、モニターに表示する画像データを生成する。ここで、CPU 101、RAM 103、画像処理部107が協働して動作することにより、生成部203として機能する。なお、生成部203の投射方法については、生成部203の動作処理を説明する部分に詳述する。
【0069】
表示部204は、生成部203が生成した画像データを表示するモニター(図示せず)である。
【0070】
(画像処理装置の動作)
以上のような構成を有する画像処理装置において、3次元仮想空間に配置されるキャラクタの顔を描画して表示する動作を図4を参照して説明する。
【0071】
画像処理装置が電源を投入されて、処理を開始すると、RAM 103に必要な情報(たとえば仮想カメラの位置や向き、オブジェクトの形状、位置、そして向きなど)が読み込まれ、記憶部201が初期化される(ステップS11)。
【0072】
ユーザは、コントローラ105を用いて、仮想カメラ(投射点)の位置、仮想カメラの向き(視線方向)、仮想カメラの撮影倍率(ズーム率)等を指定するためのパラメータを変更する旨の指示ができる。当該ユーザからの指示入力があった場合、支持入力に応じて更新部202は記憶部201の仮想カメラの位置、向き、ズーム率を更新する(ステップS12)。そして、仮想カメラの位置や、向き、そしてズーム率に応じて、仮想空間内に投射面が配置される位置や向きを算出する。
【0073】
即ち、更新部202は投射点を起点とする視線ベクトルと垂直に交わる向きを算出し、これを投射面の向きとする。そして、ズームインの際には投射面を3次元空間内の撮影対象に近づくように(投射点から遠ざかるように)並行移動させ、ズームアウトの際には撮影対象から遠ざかるように(投射点に近づくように)平行移動させる。視線ベクトルの向きを変える(即ち仮想カメラをパンする)ときには、視線ベクトルの向きにしたがって投射面の向きも変える。このように、更新部202は投射点の位置および投射点の見ている方向(視線ベクトルの向き)、そしてズーム倍率などから投射面の位置や向きを決定し、記憶部201に記憶(更新)する。
【0074】
なお、仮想カメラの位置や向き、および撮影倍率のパラメータは、制御プログラムなどから与えられてもよいし、あるいは、時間の経過に対応付けてパラメータを所定の値に変更したり、ランダムに変更したりしてもよい。
【0075】
次いで、生成部203は、画像生成処理(ステップS13)へと処理を進め、3次元仮想空間内の各オブジェクトの2次元画像を描画する。
【0076】
典型的には、計算量やメモリ消費量を押さえつつ陰面処理を行うために、たとえば、オブジェクトの代表点(たとえば重心)と投射点との距離を求め、最も距離が遠い順番にオブジェクトを描画する方法等が用いられる。しかし、本実施の形態においては、代表点と投射点の距離を求めることなく、生成部203は、頭部オブジェクト300を描画する場合、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番でそれぞれステップS21〜S22を実行して描画する。顔オブジェクト310は最も外側に位置するため、この順番で描画することにより、顔オブジェクトの内部に位置する瞳や眼窩が先に描画され、露眼領域を残し、顔サーフェス形状が描画される。
【0077】
まず、ステップS21では、現在処理中のオブジェクトのサーフェス形状を定義する各ポリゴンについて、ステップS12で位置を決定した位置や方向に投射面を配置した際の、投射面への投影先を求める。たとえば、生成部203は、各オブジェクトを投射面に透視投影する。これにより、3次元仮想空間に配置された各オブジェクトが、2次元仮想スクリーンに投影される。本実施形態では、投影の手法として1点透視を採用するので、投射点から遠くにあるオブジェクトは小さく、近くにあるオブジェクトは大きく投影されることになる。ただし、1点透視の代わりに平行投影を採用することもできる。
【0078】
投影先を求めると、投影先の各領域に、対応するテクスチャ(たとえば、眼窩サーフェス形状は、対応する眼窩テクスチャ)の対応する領域を貼り付けて(マッピングして)描画する(ステップS22)。ただし、生成部203はオブジェクト毎に、たとえばZバッファ法などを用いて陰面処理を行って描画するものとする。ここで、Zバッファ法とは、描画する画像データを構成する画素を、投射面に最も近いポリゴンに対応するテクスチャ情報の色で塗る手法である。視線ベクトルの方向と、ポリゴンのサーフェス形状の法線ベクトルの向きが同じ場合、該サーフェスは視線ベクトルと反対を向いていることを意味するため、生成部203はこのようなサーフェスを描画しないようにしてもよい。
【0079】
また、テクスチャを貼り付ける際は、各オブジェクトを形成するポリゴンの光源に対する向きを考慮する。即ち、オブジェクトを構成するサーフェス形状の各ポリゴンの裏から表へ向かう法線と、当該ポリゴンの位置から光源へ向かう方向ベクトルとが成す角度が小さい程テクスチャの明度を高くする。逆に直角に近い程、明度を低くする。ただし、明度に反射率を乗算することで質感を変化させる場合は、ポリゴンの法線と当該方向ベクトルの成す角度が直角であっても明度を完全に0とはしない。こうすることで、暗い部分においても質感(ざらざら感や、滑らか感、など)を表現することが可能となる。なお、角度そのものではなく、角度の余弦をベクトルの内積により求めて、1に近いほど明度を明るくしてもよい。また、ポリゴンの境界において明るさの違いが目立たないように、グローシェーディングやフォンシェーディングなどを適用してもよい。
【0080】
ただし、眼窩オブジェクト320にテクスチャを貼り付ける際には、明度を所定の値に固定し、光源の角度に応じて変化させない。こうすることで、眼窩の色はポリゴンの方向によらずに一定となり、本来あるべきでない立体感をなくすことが可能となる。
【0081】
瞳オブジェクト330についても、黒目が球状に見えることが好ましい場合は、光源の方向を考慮して明度を決定し、球状に見えることが好ましくない場合は、所定の値に明度を固定する。さらに反射率をランダムにし、球状に見えないよう工夫してもよい。
【0082】
図5(B)は、仮想カメラ(投射点)が頭部オブジェクト300から見て左手方向に配置された場合に、生成部203が頭部オブジェクト300を、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番で描画した例を示す。ただし、図5(B)を生成するにあたって、図6(A)に示すような顔テクスチャに対して、図6(B)に示すような透明フィルタを用いたものとする(網掛け部分は完全に透明であることを示すものとする)。なお、図6(A)に示す目の部分と図6(B)に示す網掛け部分が、露眼領域340に対応するものとする。
【0083】
図5(B)を描画したときの3次元仮想空間における各オブジェクトの位置関係は図5(A)に示すとおりであり、瞳オブジェクト330は、上述したように眼窩オブジェクト320内に奥まって配置される。また、図6(B)のような透明フィルタを顔テクスチャに適用すると、露眼領域340における顔テクスチャは完全に透明になる。よって、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番で描画すると、先に描画された眼窩および瞳の上に、露眼領域340においては顔テクスチャが上書きして描画されることはない。この結果、仮想カメラが斜め方向に位置すれば、図5(B)に示すように、瞳は奥まって描画され、カメラ目線、即ち、カメラを向いているかのような目線となる。
【0084】
一方、当該透明フィルタを完全不透明に設定すれば、露眼領域340に対応する顔テクスチャ領域が描画される。したがって、図6(A)に示すような正面を向いた瞳の画像を有する顔テクスチャを用意すれば、正面を向いた瞳が顔テクスチャとして露眼領域に貼り付けられ、カメラ目線ではなく、正面を見ている瞳を表現することが可能となる。
【0085】
テクスチャを張って描画する場合と、瞳オブジェクト330を投影して描画する場合で、瞳(黒目)の大きさや位置が異なると透明度を切り替えた際に不自然となる。よって、図7(A)を顔テクスチャの露眼領域に適用するフィルタを完全透明とした際に描画される頭部オブジェクト300であるとすると、当該フィルタを完全不透明とした際に描画される頭部オブジェクト300が図7(B)のようになる顔テクスチャ(図6(A))を用意する。
【0086】
なお、露眼領域340に対応する顔テクスチャの領域に、まぶたの画像を用意し、露眼領域内340を不透明に設定すれば、まぶたを閉じた状態を描画することが可能となる。
【0087】
露眼領域340に適用する透明フィルタの透明度は、仮想カメラの位置や向きを変更する場合と同様に、インターフェイス104を介して接続された入力装置を操作してユーザが指示した入力等に基づいて切り替え可能である。あるいは、制御プログラムなどから変更指示を与えるようにしてもよい。時間の経過に応じて透明度を所定の値に変更したり、ランダムに変更したりしてもよい。
【0088】
同様の手法で、日本の漫画やアニメーションに多く見られる目の中の「星」を表現することも可能である。「星」とは、目の輝きを誇張した表現手法であり、白い斑点や星型の小さい図形等を目の中に描く描法である。たとえば、図8(A)に示すような、星を浮かべた瞳の画像を有する顔テクスチャを用意する。そして、この顔テクスチャに対して、図8(B)に示すような透明フィルタを用意する。図8(B)の透明フィルタは、図6(B)と似ているが、顔テクスチャの有する瞳の中の星に対応する部分を不透明に、そして、星以外の露眼領域340は透明に設定している(図では、透明部分を網掛けで表現している)。図8(C)は顔オブジェクトから見て左手方向に仮想カメラが設置されている場合に、ステップS11〜S15、およびS21、22を実行して描画した結果を示した例である(仮想カメラの方向を向いていない眼窩サーフェスのポリゴンは描画していない)。
【0089】
次いで、図8(C)の上に、図8(B)の透明フィルタを適用した図8(A)の顔テクスチャを貼り付けて顔オブジェクトを描画すると、図8(D)が得られる。即ち、顔テクスチャのうち、露眼領域340の外側と、星の部分のみが、図8(C)に上書きして描画される。
【0090】
なお、顔テクスチャにおける瞳の星の色と、眼窩テクスチャの色とを同じ色に設定すれば、図8(D)に示すように星が欠けてしまった場合でも、星が、白目部分に溶け込んだように見え不自然さが解消される。
【0091】
瞳に浮かぶ星は、瞳テクスチャ情報として用意して、瞳サーフェスにマッピングすることもできる。しかし、瞳を立体的に球状に見せることが好ましいような場合では、瞳テクスチャに描かれている星にまで瞳の立体感が現れてしまう。この問題を回避したい場合、上述のよう露眼領域に透明フィルタを適用して瞳の星を表現する方法が有効となる。
【0092】
以上の画像生成処理を終了すると、生成部203は垂直同期割込が生じるまで待機する(ステップS14)。この待機中には、他の処理(たとえば、RAM 103内に記憶される各オブジェクトの位置や向きを、時間の経過やユーザからの処理に基づいて更新する等の処理)をコルーチン的に実行してもよい。
【0093】
垂直同期割込が生じたら、生成部203は描画した画像データ(通常フレームバッファに記憶)の内容を表示部204に転送する。表示部204は転送された画像を表示し(ステップS15)、ステップS12に戻る。
【0094】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【0095】
たとえば、図9(A)および(B)に、典型的な日本の所謂「漫画目」の例を示す。図9(A)および(B)に示す「漫画目」は正面からみると図9(A)のように黒目の左右の縁が凸状に外側に湾曲しているが、たとえば頭部の左側(向かって右方向)から見た場合、図9(B)に示すように、黒目の左側の縁のみが、凹状に内側に湾曲する。このような目を実現するために、瞳オブジェクトの形状を、図9(C)に示すような凹型の形状にし、図9(D)に示すように露眼領域を長方形に近い円にしてもよい。こうすることで、3次元仮想空間から2次元平面へと投影したときに、正面からみた場合は、図9(E)に示すよう目を描画することが可能となり、また、左手から見た場合、図9(F)に示すような目を描画することが可能となる。ただし、図9(F)から理解できるように、カメラを頭部の斜め方向に配置して2次元平面へと投影すると、目の幅が正面から見た場合よりも若干狭く描画される。
【0096】
凹状に湾曲する瞳オブジェクトの他、円板状の瞳オブジェクトを用意してもよい。そして、瞳オブジェクトに対し、黒目を表現する黒い瞳テクスチャ情報を用意する。なお、典型的な日本のアニメーションや、漫画で用いられるような瞳を表現する場合、瞳テクスチャ情報は、2段階の黒目や、黒目の中に瞳の輝きを表す「星」を備えるようにしてもよい。図10に、テクスチャ情報を貼り付けた円板状の瞳オブジェクトの例を示す。
【0097】
図10に示す瞳オブジェクトを描画する際、投射点の方向に瞳オブジェクトの法線ベクトルが向くように、瞳オブジェクトの向きを制御してもよい。こうすることで、視点を頭部オブジェクトの斜め方向においた場合でも、瞳オブジェクトは常にカメラ方向を向くため、瞳の幅が狭く描画されることがなくなり、より有効的に瞳を表現することが可能となる。
【0098】
また、上記実施の形態においては、露眼領域340に対応する領域を顔テクスチャ情報に含め、透明フィルタを用いて顔テクスチャの露眼領域340に対応する領域を描画するか否かを制御するようにした。そうではなく、顔テクスチャ情報は露眼領域を除いた領域(即ち顔の皮膚を表す顔皮領域)のみ用意して、露眼領域には、瞼を上下に分けるようにして顔テクスチャ情報を貼り付けてもよい。このようにすることで、透明フィルタを用いることなく、眼窩オブジェクトや瞳オブジェクトを描画することが可能となる。
【0099】
また、上記実施の形態においては、生成部203が頭部オブジェクト300を描画する際、眼窩オブジェクト320、瞳オブジェクト330、顔オブジェクト310の順番で投射面への投射領域を求め、対応するテクスチャ情報を貼り付けた。顔オブジェクト310は最も外側に位置するため、この順番で描画することにより、顔オブジェクトの内部に位置する瞳や眼窩が先に描画され、露眼領域を残し、顔サーフェス形状が描画される。しかし、たとえば、全オブジェクトのサーフェス形状を構成する全ポリゴンについて、Zバッファ法を適用し、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付けて描画するように生成部を動作させるようにしてもよい。
【図面の簡単な説明】
【0100】
【図1】本発明の実施の形態に係るゲーム端末等が実現される典型的なゲーム装置の概要構成を示す模式図である。
【図2】本実施の形態に係る画像処理装置の概要構成を示す説明図である。
【図3】頭部オブジェクトの例を示す図である。
【図4】画像処理装置の処理の流れを示すフロー図である。
【図5】(A)はオブジェクトの位置関係を示す図であり、(B)は本手法を用いて描画した頭部の例を示す図である。
【図6】(A)は顔テクスチャの例を示す図であり、(B)は顔テクスチャに適用する透明フィルタの例を示す図である。
【図7】(A)は本手法を用いて描画した正面からみた頭部の例を示す図であり、(B)は顔テクスチャによって、顔を描画した例を示す図である。
【図8】黒目の星を表現する手法を示す図であり、(A)は露眼領域付近の顔テクスチャを示す図であり、(B)は顔テクスチャに適用する透明フィルタの例を示す図であり、(C)は、眼窩と瞳を描画した例を示す図であり、(D)は(B)の透明フィルタを適用した(A)の顔テクスチャを(C)上に描画した例を示す図である。
【図9】(A)および(B)は典型的な「漫画目」の例を示す図であり、(C)は瞳オブジェクトの形状の例を示す図であり、(D)は露眼領域の形状の例を示す図であり、(E)および(F)は、(C)および(D)を用いて本手法にて瞳を描画した例を示す図である。
【図10】円板状の瞳オブジェクトの例を示す図である。
【符号の説明】
【0101】
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 画像処理装置
201 記憶部
202 更新部
203 生成部
204 表示部
300 頭部オブジェクト
310 顔オブジェクト
320 眼窩オブジェクト
330 瞳オブジェクト
340 露眼領域
【特許請求の範囲】
【請求項1】
仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
を備えることを特徴とする画像表示装置。
【請求項2】
請求項1に記載の画像表示装置であって、
前記記憶部には、当該仮想世界を照らす光源の位置がさらに記憶され、
前記生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付ける
ことを特徴とする画像表示装置。
【請求項3】
請求項1または2に記載の画像表示装置であって、
当該顔テクスチャ情報は、当該露眼領域に貼り付けられるテクスチャ情報と当該顔皮領域に貼り付けられるテクスチャ情報とからなり、
前記生成部は、当該顔テクスチャ情報を当該露眼領域に貼り付ける際の透明度を、時間経過もしくはユーザの指示操作により完全透明と不透明とのいずれかに切り換える
ことを特徴とする画像表示装置。
【請求項4】
請求項1から3のいずれか1項に記載の画像表示装置であって、
前記記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、
前記生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付ける
ことを特徴とする画像表示装置。
【請求項5】
記憶部、更新部、生成部、表示部を備える画像表示装置を制御する画像表示方法であって、
前記記憶部が、仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶工程、
前記更新部が、前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新工程、
前記生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成工程、
前記表示部が、前記生成された画像を表示する表示工程、
を備えることを特徴とする画像表示方法。
【請求項6】
コンピュータを、
仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
として機能させることを特徴とするプログラム。
【請求項1】
仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
を備えることを特徴とする画像表示装置。
【請求項2】
請求項1に記載の画像表示装置であって、
前記記憶部には、当該仮想世界を照らす光源の位置がさらに記憶され、
前記生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付ける
ことを特徴とする画像表示装置。
【請求項3】
請求項1または2に記載の画像表示装置であって、
当該顔テクスチャ情報は、当該露眼領域に貼り付けられるテクスチャ情報と当該顔皮領域に貼り付けられるテクスチャ情報とからなり、
前記生成部は、当該顔テクスチャ情報を当該露眼領域に貼り付ける際の透明度を、時間経過もしくはユーザの指示操作により完全透明と不透明とのいずれかに切り換える
ことを特徴とする画像表示装置。
【請求項4】
請求項1から3のいずれか1項に記載の画像表示装置であって、
前記記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、
前記生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付ける
ことを特徴とする画像表示装置。
【請求項5】
記憶部、更新部、生成部、表示部を備える画像表示装置を制御する画像表示方法であって、
前記記憶部が、仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶工程、
前記更新部が、前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新工程、
前記生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成工程、
前記表示部が、前記生成された画像を表示する表示工程、
を備えることを特徴とする画像表示方法。
【請求項6】
コンピュータを、
仮想空間内のキャラクタの顔のサーフェス形状(以下「顔サーフェス形状」という。)と、当該キャラクタの顔のうち目が配置される領域(以下「露眼領域」という。)の外周から当該キャラクタの顔の内部へ展延するサーフェス形状(以下「眼窩サーフェス形状」という。)と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状(以下「瞳サーフェス形状」という。)と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域(以下「顔皮領域」という。)に貼り付けられるテクスチャ情報(以下「顔テクスチャ情報」という。)と、当該眼窩サーフェス形状に対するテクスチャ情報(以下「眼窩テクスチャ情報」という。)と、当該瞳サーフェス形状に対するテクスチャ情報(以下「瞳テクスチャ情報」という。)と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2009−37276(P2009−37276A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−198488(P2007−198488)
【出願日】平成19年7月31日(2007.7.31)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願日】平成19年7月31日(2007.7.31)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]