(57)【特許請求の範囲】
【請求項１】
仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
を備え、
前記記憶部には、当該仮想世界を照らす光源の位置がさらに記憶され、
前記生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付ける
ことを特徴とする画像表示装置。
【請求項２】
請求項１に記載の画像表示装置であって、
当該顔テクスチャ情報は、当該露眼領域に貼り付けられるテクスチャ情報と当該顔皮領域に貼り付けられるテクスチャ情報とからなり、
前記生成部は、当該顔テクスチャ情報を当該露眼領域に貼り付ける際の透明度を、時間経過もしくはユーザの指示操作により完全透明と不透明とのいずれかに切り換える
ことを特徴とする画像表示装置。
【請求項３】
仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
を備え、
前記記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、
前記生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付ける
ことを特徴とする画像表示装置。
【請求項４】
記憶部、更新部、生成部、表示部を備える画像表示装置を制御する画像表示方法であって、
前記記憶部が、仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶工程、
前記更新部が、前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新工程、
前記生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成工程、
前記表示部が、前記生成された画像を表示する表示工程、
を備え、
前記記憶工程では、前記記憶部に、当該仮想世界を照らす光源の位置がさらに記憶され、
前記生成工程では、前記生成部が、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付ける
ことを特徴とする画像表示方法。
【請求項５】
記憶部、更新部、生成部、表示部を備える画像表示装置を制御する画像表示方法であって、
前記記憶部が、仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶工程、
前記更新部が、前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新工程、
前記生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成工程、
前記表示部が、前記生成された画像を表示する表示工程、
を備え、
前記記憶工程では、前記記憶部に、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、
前記生成工程では、前記生成部が、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付ける
ことを特徴とする画像表示方法。
【請求項６】
コンピュータを、
仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
として機能させ、
前記記憶部には、当該仮想世界を照らす光源の位置がさらに記憶され、
前記生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付ける
ように機能させることを特徴とするプログラム。
【請求項７】
コンピュータを、
仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する記憶部、
前記記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部、
当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部、
前記生成された画像を表示する表示部
として機能させ、
前記記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、
前記生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付ける
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶容量や計算資源の消費を抑えつつ、ゲーム等に使用される３次元キャラクタの瞳がカメラ方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムに関する。
【背景技術】
【０００２】
従来、ゲームに使用される画像を生成する３次元コンピュータグラフィックスの分野においては、個々の物体の形状を、たとえばポリゴン等の組み合わせによるサーフェスで定義（モデル化）し、ポリゴンの表面に各種のテクスチャをマッピングしてモデルの質感を表現する。たとえば特許文献１には、仮想３次元空間内の水面を表す水面モデルの周囲に配置される背景モデルを上下反転させた画像を記憶し、仮想３次元空間内における仮想カメラ視点に基づいて設定される透明度変化領域内の水面モデルの透明度を変化させ、透明度が変化された水面モデルにテクスチャ（背景モデルを上下反転画像）を貼り付け、テクスチャの貼り付けられた水面モデルを背景画像に合成して描画する技術が開示されている。
【特許文献１】特許第３７３７７８４号公報
【０００３】
したがって、特許文献１に開示されている技術に基づいて３次元キャラクタの瞳を表現する際には、たとえば、正面を向いた瞳、右を向いた瞳、左を向いた瞳などのテクスチャを視線の方向に応じてそれぞれ用意する必要があった。瞳の向きを直接変化させれば、瞳をカメラ目線（カメラを向いているように見える視線）にすることも出来るが、それには複雑なプログラム制御が必要となる。ゲーム機などのように、計算資源が限られた環境では、記憶容量と計算資源とを抑える必要があるため、これらの手法は採用できないこともある。したがって、記憶容量や起算資源の消費を抑えつつ、３次元キャラクタの瞳をカメラ目線とするのに、好適な技術が求められている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は以上のような課題を解決するためのものであり、記憶容量と計算資源とを抑えつつ、ゲーム端末等で表示するキャラクタの瞳がカメラの方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の第１の観点に係る画像表示装置は、仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、が記憶される記憶部を備える。
【０００６】
ここで、眼窩サーフェス形状は、瞳の白目部分を表し、内側が表面を形成する。眼窩テクスチャは、眼窩サーフェス形状の表面である内側に貼り付けられる。一方、瞳サーフェス形状は、球状であり、瞳の黒目部分を表す。瞳サーフェス形状は、眼窩サーフェス形状の内部に、顔サーフェス形状より奥まった部分に配置される。瞳サーフェス形状および、顔サーフェス形状は、外側が表面であり、それぞれのテクスチャは外側の面に貼り付けられる。
【０００７】
また、露眼領域とは、顔の表面のうち、目玉が露出している部分をいい、顔皮領域とは、顔の表面のうち、露眼領域以外の部分をいう。
【０００８】
なお、投射点は３次元仮想空間を見ている仮想カメラであり、投射面は当該仮想空間を２次元平面に描画するために投射点から当該仮想空間内に存在する物体を投射する面である。投射面の向きは、仮想カメラの位置、仮想カメラの向き、仮想カメラのズーム倍率などから後述の更新部によって算出され、記憶部に記憶される。
【０００９】
各サーフェス形状、テクスチャ情報、そして仮想カメラの位置、向き、ズーム倍率などは、たとえばＤＶＤ−ＲＯＭドライブに装着されたＤＶＤ−ＲＯＭ等の外部記憶媒体に予め格納される。ＤＶＤ−ＲＯＭから読み出された情報は、典型的にはＲＡＭなどの揮発性メモリに一時記憶され、ゲームの進行に応じて随時更新される。
【００１０】
また、画像表示装置は、記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する更新部を備える。
【００１１】
即ち、ユーザが、コントローラなどの入力装置を用いて、仮想カメラ（投射点）の位置、仮想カメラの向き（視線ベクトル）、仮想カメラのズーム倍率等を指定するためのパラメータを変更する旨の指示をすると、更新部は指示入力に基づいて投射面の位置と向きを算出し、記憶部に記憶する。即ち、更新部は記憶部に記憶される投射面の配置位置と向きとを更新する。なお、投射面は、たとえば、視線ベクトルと垂直をなす方向に配置され、投射面の位置はズーム倍率などによって算出される。
【００１２】
また、画像表示装置は、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する生成部を備える。
【００１３】
即ち、顔サーフェス形状は眼窩サーフェス形状や瞳サーフェス形状よりも外側に配置されるため、露眼領域に貼り付ける際の顔テクスチャの透明度を完全透明とすれば、露眼領域において顔テクスチャは描画されず、顔サーフェス形状の内部に配置される眼窩サーフェス形状や瞳サーフェス形状が描画される。この際、瞳サーフェス形状は、眼窩サーフェス形状の露眼領域から奥まった部分に配置されるため、露眼領域からは奥まって描画され、キャラクタの目線がカメラ方向を向いているように見せることができる。
【００１４】
なお、顔テクスチャ情報は、露眼部分以外の顔皮部分に貼り付けられる不透明のテクスチャとする手法があるが、この場合には、露眼領域の投影先には、顔テクスチャ情報の貼り付けは行わない。
【００１５】
一方、顔テクスチャ情報を顔全体に貼り付けられるテクスチャとする場合には、露眼領域は完全透明のテクスチャで、顔皮領域は不透明のテクスチャで構成するのが典型的である。このようにすると、顔テクスチャを貼り付ける際には、露眼領域の透明度は完全透明で、顔皮領域の透明度は所定の透明度（典型的には完全不透明の透明度）で、それぞれ貼り付けることになる。
【００１６】
また、画像表示装置は、生成された画像を表示する表示部を備える。なお、生成部は描画した画像データを通常フレームバッファなどに記憶し、垂直同期割り込みが生じると、フレームバッファの内容を表示部に転送する。表示部は生成部の生成した画像データを表示する。
【００１７】
以上により、実際に瞳サーフェス形状を動かしたり、露眼領域に対して複数のテクスチャを用意せずとも、目線がカメラに向いているように見える仮想キャラクタを描画・表示することが可能となる。
【００１８】
また、記憶部には、当該仮想世界を照らす光源の位置がさらに記憶されるようにしてもよい。そして、生成部は、当該眼窩テクスチャ情報を所定の明度で貼り付け、当該光源の位置と当該瞳サーフェス形状とから定められる明度で、もしくは所定の明度で当該瞳テクスチャ情報を貼り付け、当該光源の位置と当該顔サーフェス形状とから定められる明度で、当該顔テクスチャ情報を貼り付けるようにしてもよい。
【００１９】
即ち、通常テクスチャをサーフェスに貼り付ける場合、サーフェスの面に対する光源の位置に基づいてテクスチャの明度を変化させるが、眼窩テクスチャの明度は光源の位置に関わらず、所定の明度で貼り付ける。こうすることで、眼窩テクスチャの立体感がなくなり、白目のように見せることが可能となる。瞳テクスチャについても同様に、黒目部分が立体的に見えることが好ましくない場合については所定の明度でテクスチャ情報を貼り付ける。一方、黒目部分が立体的に見えることが好ましい場合は光源の位置に応じてテクスチャの明度を変化させ貼り付ける。
【００２０】
また、生成部は、当該顔テクスチャ情報を当該露眼領域に貼り付ける際の透明度を、時間経過もしくはユーザの指示操作により完全透明と不透明とのいずれかに切り換えるようにしてもよい。即ち、露眼領域に貼り付ける際の顔テクスチャの透明度を完全透明とすれば、上述のようにカメラを向いているように見える目線（カメラ目線）が得られる。一方、当該透明度を完全不透明とすれば、露眼領域には対応する顔テクスチャ領域が描画される。したがって、当該露眼領域に貼り付ける際の透明度を、完全透明から、完全不透明に切り替えれば、瞬時にカメラ目線以外の目の状態を描画することが可能となる。
【００２１】
この際は、上記のように、当該顔テクスチャ情報は、当該露眼領域に貼り付けられるテクスチャ情報と当該顔皮領域に貼り付けられるテクスチャ情報とから構成されるようにする。
【００２２】
また、記憶部には、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンの情報が記憶され、生成部は、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状のそれぞれを構成するポリゴンが投影される領域を求め、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付けるようにしてもよい。
【００２３】
即ち、生成部は、眼窩サーフェス形状、瞳サーフェス形状、顔サーフェス形状の順番で上書きして描画することで、陰面処理を行うことも可能であるが、投射点からみた全ポリゴンの前後関係を比較して、最終的に当該投射点からの距離が最も近いポリゴンが描画されるようにしてもよい。
【００２４】
本発明の他の観点に係る画像表示方法は、記憶部と、更新部と、生成部と、表示部と、を備える、画像表示装置を制御する工程を備える。
【００２５】
まず、記憶工程では、記憶部が、仮想空間内のキャラクタの顔のサーフェス形状（以下「顔サーフェス形状」という。）と、当該キャラクタの顔のうち目が配置される領域（以下「露眼領域」という。）の外周から当該キャラクタの顔の内部へ展延するサーフェス形状（以下「眼窩サーフェス形状」という。）と、当該顔サーフェス形状のうち当該露眼領域と当該眼窩サーフェス形状とに囲まれる領域内に配置されるサーフェス形状（以下「瞳サーフェス形状」という。）と、当該顔サーフェス形状に対するテクスチャ情報であって、少なくとも当該露眼領域以外の領域（以下「顔皮領域」という。）に貼り付けられるテクスチャ情報（以下「顔テクスチャ情報」という。）と、当該眼窩サーフェス形状に対するテクスチャ情報（以下「眼窩テクスチャ情報」という。）と、当該瞳サーフェス形状に対するテクスチャ情報（以下「瞳テクスチャ情報」という。）と、当該仮想空間に配置される投射点の位置および投射面の位置ならびに向きと、を記憶する。
【００２６】
更新工程では、更新部が、記憶される投射点の位置および投射面の位置ならびに向きを、ユーザからの指示入力に基づいて、もしくは、時間経過に対応付けられた値に、それぞれ更新する。
【００２７】
生成工程では、生成部が、当該投射点の位置、当該投射面の位置ならびに向き、当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状から、当該投射面に当該眼窩サーフェス形状、当該瞳サーフェス形状、当該顔サーフェス形状が投射される領域を求め、当該眼窩サーフェス形状が投射される領域に当該眼窩テクスチャ情報を貼り付け、当該瞳サーフェス形状が投射される領域に当該瞳テクスチャ情報を貼り付け、当該顔サーフェス形状が投射される領域のうち当該顔皮領域が投射される領域に当該顔テクスチャ情報を貼り付けて、当該投射点から見た当該仮想世界の画像を生成する。
【００２８】
表示工程では、表示部が、生成された画像を表示する。
【００２９】
本発明の他の観点に係るプログラムは、コンピュータを、上記の画像処理装置として機能させるように構成する。本発明の他の観点に係るプログラムは、コンピュータに上記の画像処理方法を実行させるように構成する。
【００３０】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３１】
本発明は、記憶容量と計算資源とを抑えつつ、ゲーム端末等で表示するキャラクタの瞳がカメラの方向に向いているように見せるのに好適な画像表示装置、画像表示方法、ならびにコンピュータ上で実現するためのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３２】
以下に本発明の実施の形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施の形態を説明するが、各種のコンピュータ、ＰＤＡ、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施の形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと等しいものに置換した実施形態を採用することが可能であるが、これらの実施の形態も本発明の範囲に含まれる。
【実施例１】
【００３３】
図１は、本発明の実施形態の１つに係るゲーム端末が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００３４】
ゲーム装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）  １０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭドライブ１０８と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０９と、音声処理部１１０と、を備える。
【００３５】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、ゲーム装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の端末装置が実現される。
【００３６】
ＣＰＵ  １０１は、ゲーム装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００３７】
ＲＯＭ１０２は、電源投入直後に実行されるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）を記憶する。このＩＰＬをＣＰＵ  １０１が実行することにより、ＤＶＤ−ＲＯＭに記録されたプログラムがＲＡＭ１０３に読み出され、ＣＰＵ  １０１による実行が開始される。
【００３８】
また、ＲＯＭ１０２にはゲーム装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３９】
ＲＡＭ１０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータ等が保持される。
【００４０】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００４１】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、たとえばチャット通信のログのデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記憶することができる。
【００４２】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ１０３等に一時的に記憶される。
【００４３】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００４４】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００４５】
また、３次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から３  次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００４６】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００４７】
ＮＩＣ  １０９は、ゲーム装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものである。ＮＩＣ  １０９は、たとえばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）モデム、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４８】
インターネット内のＳＮＴＰサーバにＮＩＣ  １０９を介して接続し、ここから情報を取得することによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【００４９】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００５０】
このほか、ゲーム装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３  、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５１】
尚、本実施の形態に係る画像処理装置２００は、ゲーム装置１００や、携帯式のゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記ゲーム装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭ  ドライブ、および、ＮＩＣを備え、ゲーム装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、画像処理装置として機能させることができる。
【００５２】
以下では、注記しない限り、画像処理装置２００について、図１に示したゲーム装置１００により説明を加える。画像処理装置２００は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。
【００５３】
（画像処理装置の概要構成）
図２は、本実施の形態に係る画像処理装置２００の概要構成を示す模式図である。以下本図を参照して説明する。  
【００５４】
画像処理装置２００は、ユーザの指示、または時間経過に応じて、３次元仮想空間内のキャラクタの瞳がカメラを向いているように見せるよう制御し、該キャラクタを描画する装置である。画像処理装置２００は、図２に示すように、記憶部２０１、更新部２０２、生成部２０３、表示部２０４等を備える。
【００５５】
以下に画像処理装置２００の各構成要素について説明する。
【００５６】
記憶部２０１は、仮想空間内のキャラクタの頭部オブジェクト３００を構成する各要素（オブジェクト、あるいはモデルとも呼ばれる）の形状情報や、各要素が配置される位置情報等を記憶する（なお、複数のオブジェクトをグループ化して、頭部オブジェクトなどの、より大きなオブジェクトを定義することが可能である）。これらの情報はたとえばＤＶＤ−ＲＯＭに予め格納されており、ＣＰＵ  １０１がＤＶＤ−ＲＯＭドライブ  １０８に装着されたＤＶＤ−ＲＯＭを読み出してＲＡＭ  １０３に一時記憶させる。あるいは、外部メモリ１０６に記憶させたこれら情報を、ＣＰＵ  １０１に読み出させ、ＲＡＭ  １０３に一時記憶させるようにしてもよい。なお、ＣＰＵ  １０１は、一時記憶された情報を、たとえばゲームの進行に応じて、随時更新することができる。このように、ＣＰＵ  １０１、ＲＡＭ  １０３、ＤＶＤ−ＲＯＭドライブ１０８等が協働して動作することにより、記憶部２０１として機能する。
【００５７】
以下に記憶部２０１に記憶される頭部オブジェクト３００を構成する各要素の情報について説明する。
【００５８】
図３に示すように、頭部オブジェクト３００は、顔オブジェクト３１０、眼窩オブジェクト３２０、瞳オブジェクト３３０、などのオブジェクトから構成されている。各オブジェクトは、その形状をポリゴンと呼ばれる、微小な多角形（たとえば三角形や四角形等）の組み合わせによって定義されるサーフェスとして表現される。
【００５９】
記憶部２０１は、顔オブジェクトを形成する顔サーフェス形状と、白目や瞳が配置される領域（以下「露眼領域３４０」と呼ぶ）の外周から当該キャラクタの顔の内部へ延びる眼窩オブジェクトを形成する「眼窩サーフェス形状」と、当該露眼領域３４０と当該眼窩サーフェス形状とに囲まれる領域内に配置される瞳オブジェクトを形成する「瞳サーフェス形状」とを記憶する。
【００６０】
なお、眼窩オブジェクト３２０は所謂白目部分を表現するものであり、瞳オブジェクト３３０は、所謂黒目の部分を表現するためのものである。
【００６１】
サーフェス形状は、たとえばオブジェクトごとに用意されたローカル座標系（ボディ座標系）に基づいて定義する。典型的にはオブジェクトの重心がローカル座標系の原点となる。なお、眼窩サーフェス形状については、内側、即ち、瞳が配置される側に面しているサーフェスをその表面であるとし、表面である内側に、眼窩テクスチャ情報が貼り付けられる。一方、顔サーフェス形状、および瞳サーフェス形状は、外側が表面であり、それぞれの外側に、顔テクスチャ情報、瞳テクスチャ情報が貼り付けられる。
【００６２】
記憶部２０１は、頭部オブジェクト３００を構成する各オブジェクトの、仮想空間内の位置情報および向きも記憶する。たとえば、記憶部２１０は、仮想空間の全体を表現するグローバル座標系（ワールド座標系）と、オブジェクト毎に固定されたローカル座標系とを記憶する。典型的には、オブジェクトの代表点（たとえば重心）がローカル座標系の原点であり、ローカル座標系はグローバル座標系からの平行移動量と回転量によって定義することができる。したがって、ローカル座標系から、オブジェクトの位置および向きを決定することができる。
【００６３】
なお、位置情報は直交座標系を用いて定義しても、１個の動径と２個の偏角を用いた極座標系を用いて（ｒ,θ,φ）で表してもよい。
【００６４】
なお、図３では、眼窩オブジェクト３２０の形状は筒状である。しかし、眼窩オブジェクト３２０が、一端は露眼領域３４０で開孔し、他端は閉じられた形状を有していれば、円錐状であったり、球状であってもよい。また、瞳オブジェクト３３０は、眼窩サーフェス形状が顔サーフェス形状と交わる位置（即ち露眼領域３４０の縁）よりも奥まった位置に配置されれば、眼窩領域３４０よりも直径が大きくても良いし、球状でなく、立方体の角を丸めたような形状であってもよい。露眼領域３４０についても、必要に応じて、真円、楕円、長方形の角を丸めた形状等、としてもよい。
【００６５】
さらに、記憶部２０１は、オブジェクトの表面に貼り付けるテクスチャと呼ばれる画像データを記憶する。テクスチャを貼り付けることで、オブジェクトの質感を表現することが可能となる。記憶部２０１は、顔サーフェス形状、眼窩サーフェス形状、瞳サーフェス形状に対し、それぞれ、顔テクスチャ情報、眼窩テクスチャ情報、瞳テクスチャ情報を記憶する。
【００６６】
また、記憶部２０１は、投射点の位置、および、投射面の位置ならびに向きを記憶する。ここで、投射点とは、仮想的カメラが該仮想空間においてオブジェクトを見ている視点である。投射面とは、投射点からみた３次元仮想空間の様子を投射する２次元平面であり、投影面ともいう。この他、記憶部２０１は、当該仮想空間を照らす光源の位置を記憶する。
【００６７】
次に、更新部２０２は、インターフェイス１０４を介して接続された入力装置を操作してユーザが指示した入力等に基づいて、または、ユーザがプログラムなどによって指示した内容などに基づいて、記憶部２０１に記憶される投射点の位置、および、投射面の位置ならびに向きを更新する。ここで、ＣＰＵ  １０１、ＲＡＭ  １０３、が協働して動作することにより、更新部２０２として機能する。
【００６８】
生成部２０３は、記憶部２０１に記憶された各サーフェス形状、および対応するテクスチャと、更新部２０２によって更新された投射点の位置、および、投射面の位置ならびに向きに基づいて、当該３次元仮想空間内において、当該投射点から、オブジェクトを投射面に投射（投影）して、モニターに表示する画像データを生成する。ここで、ＣＰＵ  １０１、ＲＡＭ  １０３、画像処理部１０７が協働して動作することにより、生成部２０３として機能する。なお、生成部２０３の投射方法については、生成部２０３の動作処理を説明する部分に詳述する。
【００６９】
表示部２０４は、生成部２０３が生成した画像データを表示するモニター（図示せず）である。
【００７０】
（画像処理装置の動作）
以上のような構成を有する画像処理装置において、３次元仮想空間に配置されるキャラクタの顔を描画して表示する動作を図４を参照して説明する。  
【００７１】
画像処理装置が電源を投入されて、処理を開始すると、ＲＡＭ  １０３に必要な情報（たとえば仮想カメラの位置や向き、オブジェクトの形状、位置、そして向きなど）が読み込まれ、記憶部２０１が初期化される（ステップＳ１１）。
【００７２】
ユーザは、コントローラ１０５を用いて、仮想カメラ（投射点）の位置、仮想カメラの向き（視線方向）、仮想カメラの撮影倍率（ズーム率）等を指定するためのパラメータを変更する旨の指示ができる。当該ユーザからの指示入力があった場合、支持入力に応じて更新部２０２は記憶部２０１の仮想カメラの位置、向き、ズーム率を更新する（ステップＳ１２）。そして、仮想カメラの位置や、向き、そしてズーム率に応じて、仮想空間内に投射面が配置される位置や向きを算出する。
【００７３】
即ち、更新部２０２は投射点を起点とする視線ベクトルと垂直に交わる向きを算出し、これを投射面の向きとする。そして、ズームインの際には投射面を３次元空間内の撮影対象に近づくように（投射点から遠ざかるように）並行移動させ、ズームアウトの際には撮影対象から遠ざかるように（投射点に近づくように）平行移動させる。視線ベクトルの向きを変える（即ち仮想カメラをパンする）ときには、視線ベクトルの向きにしたがって投射面の向きも変える。このように、更新部２０２は投射点の位置および投射点の見ている方向（視線ベクトルの向き）、そしてズーム倍率などから投射面の位置や向きを決定し、記憶部２０１に記憶（更新）する。
【００７４】
なお、仮想カメラの位置や向き、および撮影倍率のパラメータは、制御プログラムなどから与えられてもよいし、あるいは、時間の経過に対応付けてパラメータを所定の値に変更したり、ランダムに変更したりしてもよい。
【００７５】
次いで、生成部２０３は、画像生成処理（ステップＳ１３）へと処理を進め、３次元仮想空間内の各オブジェクトの２次元画像を描画する。
【００７６】
典型的には、計算量やメモリ消費量を押さえつつ陰面処理を行うために、たとえば、オブジェクトの代表点（たとえば重心）と投射点との距離を求め、最も距離が遠い順番にオブジェクトを描画する方法等が用いられる。しかし、本実施の形態においては、代表点と投射点の距離を求めることなく、生成部２０３は、頭部オブジェクト３００を描画する場合、眼窩オブジェクト３２０、瞳オブジェクト３３０、顔オブジェクト３１０の順番でそれぞれステップＳ２１〜Ｓ２２を実行して描画する。顔オブジェクト３１０は最も外側に位置するため、この順番で描画することにより、顔オブジェクトの内部に位置する瞳や眼窩が先に描画され、露眼領域を残し、顔サーフェス形状が描画される。
【００７７】
まず、ステップＳ２１では、現在処理中のオブジェクトのサーフェス形状を定義する各ポリゴンについて、ステップＳ１２で位置を決定した位置や方向に投射面を配置した際の、投射面への投影先を求める。たとえば、生成部２０３は、各オブジェクトを投射面に透視投影する。これにより、３次元仮想空間に配置された各オブジェクトが、２次元仮想スクリーンに投影される。本実施形態では、投影の手法として１点透視を採用するので、投射点から遠くにあるオブジェクトは小さく、近くにあるオブジェクトは大きく投影されることになる。ただし、１点透視の代わりに平行投影を採用することもできる。
【００７８】
投影先を求めると、投影先の各領域に、対応するテクスチャ（たとえば、眼窩サーフェス形状は、対応する眼窩テクスチャ）の対応する領域を貼り付けて（マッピングして）描画する（ステップＳ２２）。ただし、生成部２０３はオブジェクト毎に、たとえばＺバッファ法などを用いて陰面処理を行って描画するものとする。ここで、Ｚバッファ法とは、描画する画像データを構成する画素を、投射面に最も近いポリゴンに対応するテクスチャ情報の色で塗る手法である。視線ベクトルの方向と、ポリゴンのサーフェス形状の法線ベクトルの向きが同じ場合、該サーフェスは視線ベクトルと反対を向いていることを意味するため、生成部２０３はこのようなサーフェスを描画しないようにしてもよい。
【００７９】
また、テクスチャを貼り付ける際は、各オブジェクトを形成するポリゴンの光源に対する向きを考慮する。即ち、オブジェクトを構成するサーフェス形状の各ポリゴンの裏から表へ向かう法線と、当該ポリゴンの位置から光源へ向かう方向ベクトルとが成す角度が小さい程テクスチャの明度を高くする。逆に直角に近い程、明度を低くする。ただし、明度に反射率を乗算することで質感を変化させる場合は、ポリゴンの法線と当該方向ベクトルの成す角度が直角であっても明度を完全に０とはしない。こうすることで、暗い部分においても質感（ざらざら感や、滑らか感、など）を表現することが可能となる。なお、角度そのものではなく、角度の余弦をベクトルの内積により求めて、１に近いほど明度を明るくしてもよい。また、ポリゴンの境界において明るさの違いが目立たないように、グローシェーディングやフォンシェーディングなどを適用してもよい。
【００８０】
ただし、眼窩オブジェクト３２０にテクスチャを貼り付ける際には、明度を所定の値に固定し、光源の角度に応じて変化させない。こうすることで、眼窩の色はポリゴンの方向によらずに一定となり、本来あるべきでない立体感をなくすことが可能となる。
【００８１】
瞳オブジェクト３３０についても、黒目が球状に見えることが好ましい場合は、光源の方向を考慮して明度を決定し、球状に見えることが好ましくない場合は、所定の値に明度を固定する。さらに反射率をランダムにし、球状に見えないよう工夫してもよい。
【００８２】
図５（Ｂ）は、仮想カメラ（投射点）が頭部オブジェクト３００から見て左手方向に配置された場合に、生成部２０３が頭部オブジェクト３００を、眼窩オブジェクト３２０、瞳オブジェクト３３０、顔オブジェクト３１０の順番で描画した例を示す。ただし、図５（Ｂ）を生成するにあたって、図６（Ａ）に示すような顔テクスチャに対して、図６（Ｂ）に示すような透明フィルタを用いたものとする（網掛け部分は完全に透明であることを示すものとする）。なお、図６（Ａ）に示す目の部分と図６（Ｂ）に示す網掛け部分が、露眼領域３４０に対応するものとする。
【００８３】
図５（Ｂ）を描画したときの３次元仮想空間における各オブジェクトの位置関係は図５（Ａ）に示すとおりであり、瞳オブジェクト３３０は、上述したように眼窩オブジェクト３２０内に奥まって配置される。また、図６（Ｂ）のような透明フィルタを顔テクスチャに適用すると、露眼領域３４０における顔テクスチャは完全に透明になる。よって、眼窩オブジェクト３２０、瞳オブジェクト３３０、顔オブジェクト３１０の順番で描画すると、先に描画された眼窩および瞳の上に、露眼領域３４０においては顔テクスチャが上書きして描画されることはない。この結果、仮想カメラが斜め方向に位置すれば、図５（Ｂ）に示すように、瞳は奥まって描画され、カメラ目線、即ち、カメラを向いているかのような目線となる。
【００８４】
一方、当該透明フィルタを完全不透明に設定すれば、露眼領域３４０に対応する顔テクスチャ領域が描画される。したがって、図６（Ａ）に示すような正面を向いた瞳の画像を有する顔テクスチャを用意すれば、正面を向いた瞳が顔テクスチャとして露眼領域に貼り付けられ、カメラ目線ではなく、正面を見ている瞳を表現することが可能となる。
【００８５】
テクスチャを張って描画する場合と、瞳オブジェクト３３０を投影して描画する場合で、瞳（黒目）の大きさや位置が異なると透明度を切り替えた際に不自然となる。よって、図７（Ａ）を顔テクスチャの露眼領域に適用するフィルタを完全透明とした際に描画される頭部オブジェクト３００であるとすると、当該フィルタを完全不透明とした際に描画される頭部オブジェクト３００が図７（Ｂ）のようになる顔テクスチャ（図６（Ａ））を用意する。
【００８６】
なお、露眼領域３４０に対応する顔テクスチャの領域に、まぶたの画像を用意し、露眼領域内３４０を不透明に設定すれば、まぶたを閉じた状態を描画することが可能となる。
【００８７】
露眼領域３４０に適用する透明フィルタの透明度は、仮想カメラの位置や向きを変更する場合と同様に、インターフェイス１０４を介して接続された入力装置を操作してユーザが指示した入力等に基づいて切り替え可能である。あるいは、制御プログラムなどから変更指示を与えるようにしてもよい。時間の経過に応じて透明度を所定の値に変更したり、ランダムに変更したりしてもよい。
【００８８】
同様の手法で、日本の漫画やアニメーションに多く見られる目の中の「星」を表現することも可能である。「星」とは、目の輝きを誇張した表現手法であり、白い斑点や星型の小さい図形等を目の中に描く描法である。たとえば、図８（Ａ）に示すような、星を浮かべた瞳の画像を有する顔テクスチャを用意する。そして、この顔テクスチャに対して、図８（Ｂ）に示すような透明フィルタを用意する。図８（Ｂ）の透明フィルタは、図６（Ｂ）と似ているが、顔テクスチャの有する瞳の中の星に対応する部分を不透明に、そして、星以外の露眼領域３４０は透明に設定している（図では、透明部分を網掛けで表現している）。図８（Ｃ）は顔オブジェクトから見て左手方向に仮想カメラが設置されている場合に、ステップＳ１１〜Ｓ１５、およびＳ２１、２２を実行して描画した結果を示した例である（仮想カメラの方向を向いていない眼窩サーフェスのポリゴンは描画していない）。
【００８９】
次いで、図８（Ｃ）の上に、図８（Ｂ）の透明フィルタを適用した図８（Ａ）の顔テクスチャを貼り付けて顔オブジェクトを描画すると、図８（Ｄ）が得られる。即ち、顔テクスチャのうち、露眼領域３４０の外側と、星の部分のみが、図８（Ｃ）に上書きして描画される。
【００９０】
なお、顔テクスチャにおける瞳の星の色と、眼窩テクスチャの色とを同じ色に設定すれば、図８（Ｄ）に示すように星が欠けてしまった場合でも、星が、白目部分に溶け込んだように見え不自然さが解消される。
【００９１】
瞳に浮かぶ星は、瞳テクスチャ情報として用意して、瞳サーフェスにマッピングすることもできる。しかし、瞳を立体的に球状に見せることが好ましいような場合では、瞳テクスチャに描かれている星にまで瞳の立体感が現れてしまう。この問題を回避したい場合、上述のよう露眼領域に透明フィルタを適用して瞳の星を表現する方法が有効となる。
【００９２】
以上の画像生成処理を終了すると、生成部２０３は垂直同期割込が生じるまで待機する（ステップＳ１４）。この待機中には、他の処理（たとえば、ＲＡＭ  １０３内に記憶される各オブジェクトの位置や向きを、時間の経過やユーザからの処理に基づいて更新する等の処理）をコルーチン的に実行してもよい。
【００９３】
垂直同期割込が生じたら、生成部２０３は描画した画像データ（通常フレームバッファに記憶）の内容を表示部２０４に転送する。表示部２０４は転送された画像を表示し（ステップＳ１５）、ステップＳ１２に戻る。
【００９４】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【００９５】
たとえば、図９（Ａ）および（Ｂ）に、典型的な日本の所謂「漫画目」の例を示す。図９（Ａ）および（Ｂ）に示す「漫画目」は正面からみると図９（Ａ）のように黒目の左右の縁が凸状に外側に湾曲しているが、たとえば頭部の左側（向かって右方向）から見た場合、図９（Ｂ）に示すように、黒目の左側の縁のみが、凹状に内側に湾曲する。このような目を実現するために、瞳オブジェクトの形状を、図９（Ｃ）に示すような凹型の形状にし、図９（Ｄ）に示すように露眼領域を長方形に近い円にしてもよい。こうすることで、３次元仮想空間から２次元平面へと投影したときに、正面からみた場合は、図９（Ｅ）に示すよう目を描画することが可能となり、また、左手から見た場合、図９（Ｆ）に示すような目を描画することが可能となる。ただし、図９（Ｆ）から理解できるように、カメラを頭部の斜め方向に配置して２次元平面へと投影すると、目の幅が正面から見た場合よりも若干狭く描画される。
【００９６】
凹状に湾曲する瞳オブジェクトの他、円板状の瞳オブジェクトを用意してもよい。そして、瞳オブジェクトに対し、黒目を表現する黒い瞳テクスチャ情報を用意する。なお、典型的な日本のアニメーションや、漫画で用いられるような瞳を表現する場合、瞳テクスチャ情報は、２段階の黒目や、黒目の中に瞳の輝きを表す「星」を備えるようにしてもよい。図１０に、テクスチャ情報を貼り付けた円板状の瞳オブジェクトの例を示す。
【００９７】
図１０に示す瞳オブジェクトを描画する際、投射点の方向に瞳オブジェクトの法線ベクトルが向くように、瞳オブジェクトの向きを制御してもよい。こうすることで、視点を頭部オブジェクトの斜め方向においた場合でも、瞳オブジェクトは常にカメラ方向を向くため、瞳の幅が狭く描画されることがなくなり、より有効的に瞳を表現することが可能となる。
【００９８】
また、上記実施の形態においては、露眼領域３４０に対応する領域を顔テクスチャ情報に含め、透明フィルタを用いて顔テクスチャの露眼領域３４０に対応する領域を描画するか否かを制御するようにした。そうではなく、顔テクスチャ情報は露眼領域を除いた領域（即ち顔の皮膚を表す顔皮領域）のみ用意して、露眼領域には、瞼を上下に分けるようにして顔テクスチャ情報を貼り付けてもよい。このようにすることで、透明フィルタを用いることなく、眼窩オブジェクトや瞳オブジェクトを描画することが可能となる。
【００９９】
また、上記実施の形態においては、生成部２０３が頭部オブジェクト３００を描画する際、眼窩オブジェクト３２０、瞳オブジェクト３３０、顔オブジェクト３１０の順番で投射面への投射領域を求め、対応するテクスチャ情報を貼り付けた。顔オブジェクト３１０は最も外側に位置するため、この順番で描画することにより、顔オブジェクトの内部に位置する瞳や眼窩が先に描画され、露眼領域を残し、顔サーフェス形状が描画される。しかし、たとえば、全オブジェクトのサーフェス形状を構成する全ポリゴンについて、Ｚバッファ法を適用し、当該投射点からの距離が遠い順に、当該ポリゴンが投影される領域に対応付けられるテクスチャ情報を貼り付けて描画するように生成部を動作させるようにしてもよい。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施の形態に係るゲーム端末等が実現される典型的なゲーム装置の概要構成を示す模式図である。
【図２】本実施の形態に係る画像処理装置の概要構成を示す説明図である。
【図３】頭部オブジェクトの例を示す図である。
【図４】画像処理装置の処理の流れを示すフロー図である。
【図５】（Ａ）はオブジェクトの位置関係を示す図であり、（Ｂ）は本手法を用いて描画した頭部の例を示す図である。
【図６】（Ａ）は顔テクスチャの例を示す図であり、（Ｂ）は顔テクスチャに適用する透明フィルタの例を示す図である。
【図７】（Ａ）は本手法を用いて描画した正面からみた頭部の例を示す図であり、（Ｂ）は顔テクスチャによって、顔を描画した例を示す図である。
【図８】黒目の星を表現する手法を示す図であり、（Ａ）は露眼領域付近の顔テクスチャを示す図であり、（Ｂ）は顔テクスチャに適用する透明フィルタの例を示す図であり、（Ｃ）は、眼窩と瞳を描画した例を示す図であり、（Ｄ）は（Ｂ）の透明フィルタを適用した（Ａ）の顔テクスチャを（Ｃ）上に描画した例を示す図である。
【図９】（Ａ）および（Ｂ）は典型的な「漫画目」の例を示す図であり、（Ｃ）は瞳オブジェクトの形状の例を示す図であり、（Ｄ）は露眼領域の形状の例を示す図であり、（Ｅ）および（Ｆ）は、（Ｃ）および（Ｄ）を用いて本手法にて瞳を描画した例を示す図である。
【図１０】円板状の瞳オブジェクトの例を示す図である。
【符号の説明】
【０１０１】
１００  ゲーム装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２００  画像処理装置
２０１  記憶部
２０２  更新部
２０３  生成部
２０４  表示部
３００  頭部オブジェクト
３１０  顔オブジェクト
３２０  眼窩オブジェクト
３３０  瞳オブジェクト
３４０  露眼領域
【図１】
0004572220.tif 000002
【図２】
0004572220.tif 000003
【図３】
0004572220.tif 000004
【図４】
0004572220.tif 000005
【図５】
0004572220.tif 000006
【図６】
0004572220.tif 000007
【図７】
0004572220.tif 000008
【図８】
0004572220.tif 000009
【図９】
0004572220.tif 000010
【図１０】
0004572220.tif 000011