(57)【特許請求の範囲】
【請求項１】
プロセッサによる演算・制御により、光源と眼球の配置位置および向きとに基づいて当該眼球の輝度処理を行う輝度処理手段と、前記眼球を含む仮想空間の画像を生成する手段と、を前記プロセッサを備える装置に対して機能させるための画像生成情報であって、
前記輝度処理手段が、前記眼球の実際の向きに対する当該眼球の基準向きを用いて前記輝度処理を行うように、前記装置に機能させるための情報を含むことを特徴とする画像生成情報。
【請求項２】
請求項１に記載の画像生成情報において、
複数のプリミティブ面によって前記眼球を形成する手段を、前記装置に機能させるための情報と、
前記輝度処理手段が、前記眼球が前記基準向きに配置されたときの、当該眼球を形成するプリミティブ面の頂点の法線ベクトルに基づいて、前記輝度処理を行うように、前記装置に機能させるための情報を含むことを特徴とする画像生成情報。
【請求項３】
請求項１または２に記載の画像生成情報において、
開口方向が非平行な眼孔部を複数有するとともに、各眼孔部に眼球を配置したキャラクタを前記仮想空間に配置するキャラクタ配置手段を前記装置に機能させるための情報と、
前記輝度処理手段が、前記キャラクタ配置手段により配置されたキャラクタの眼球それぞれについて前記輝度処理を行う、ように前記装置に機能させるための情報と、
を含むことを特徴とする画像生成情報。
【請求項４】
プロセッサによる演算・制御により、反射体である眼球と視点との位置関係に応じて当該反射体である眼球に映る被反射物を表現する反射表現手段と、前記眼球を含む仮想空間の画像を前記視点に基づいて生成する手段と、を前記プロセッサを備える装置に対して機能させるための画像生成情報であって、
前記反射表現手段が、前記眼球の実際の向きに対する当該眼球の基準向きを用いて反射体である当該眼球に映る被反射物を決定する、ように前記装置に機能させるための情報を含むことを特徴とする画像生成情報。
【請求項５】
請求項４に記載の画像生成情報において、
複数のプリミティブ面によって前記眼球を形成する手段を、前記装置に機能させるための情報と、
前記反射表現手段が、前記眼球が基準向きに配置されたときの、当該眼球の頂点の法線ベクトルに基づいて、当該眼球に映る被反射物を決定する、ように前記装置に機能させるための情報を含むことを特徴とする画像生成情報。
【請求項６】
プロセッサによる演算・制御により、操作入力に応答してキャラクタをリアルタイムに動作させ、前記キャラクタが登場するゲームを実行する手段と、視点に基づいて前記キャラクタを含む仮想空間の画像を生成する手段と、を前記プロセッサを備える装置に機能させるためのゲーム情報であって、
前記キャラクタが、開口方向が非平行な眼孔部を複数有するとともに、各眼孔部に眼球を配置して前記キャラクタを構成するキャラクタ構成手段と、
前記各眼球にハイライトを描画する際に、当該眼球の実際の向きに対する当該眼球の基準の向きを用いて相対的に同じ位置にハイライトを描画するハイライト手段と、
を前記装置に機能させるための情報を含むことを特徴とするゲーム情報。
【請求項７】
請求項１から５の何れかに記載の画像生成情報または、請求項６に記載のゲーム情報を記憶することを特徴とする情報記憶媒体。
【請求項８】
光源と眼球の配置位置および向きとに基づいて当該眼球の輝度処理を行う輝度処理手段と、前記眼球を含む仮想空間の画像を生成する手段と、を備える画像生成装置であって、
前記輝度処理手段は、前記眼球の実際の向きに対する当該眼球の基準向きを用いて前記輝度処理を行うことを特徴とする画像生成装置。
【請求項９】
反射体である眼球と視点との位置関係に応じて当該反射体である眼球に映る被反射物を表現する反射表現手段と、前記眼球を含む仮想空間の画像を前記視点に基づいて生成する手段と、を備える画像生成装置であって、
前記反射表現手段は、前記眼球の実際の向きに対する当該眼球の基準向きを用いて反射体である当該眼球に映る被反射物を決定することを特徴とする画像生成装置。
【請求項１０】
操作入力に応答してキャラクタをリアルタイムに動作させ、前記キャラクタが登場するゲームを実行する手段と、視点に基づいて前記キャラクタを含む仮想空間の画像を生成する手段と、を備えるゲーム装置であって、
前記キャラクタが、開口方向が非平行な眼孔部を複数有するとともに、各眼孔部に眼球を配置して前記キャラクタを構成するキャラクタ構成手段と、
前記各眼球にハイライトを描画する際に、当該眼球の実際の向きに対する当該眼球の基準の向きを用いて相対的に同じ位置にハイライトを描画するハイライト手段と、
を更に備えることを特徴とするゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャラクタを含む仮想空間の画像を生成するための画像生成情報、ゲーム情報、係る画像生成情報またはゲーム情報を記憶する情報記憶媒体、およびキャラクタを含む仮想空間の画像を生成する装置等に関する。
【０００２】
【発明の背景】
コンピュータ等の装置を用いて、３次元の仮想空間を構築し、係る仮想空間の画像を生成する技術が多く開発されている。係る技術では、オブジェクトを仮想空間内に配置し、これらオブジェクトを仮想空間内に設定した視点に基づいて描画して、画像を生成している。なお、一般にオブジェクトには、建物や机、木、車などの物体の他、人などの動物も含まれる。以下では、動物を形象するオブジェクトを他のオブジェクトと区別するために、「キャラクタ」と表記する。
【０００３】
各オブジェクトやキャラクタの形状は、一般に、ポリゴンと呼ばれる三角形や四角形の平面を複数繋ぎ合わせたモデルにより定義される。そして、これらのモデルを構成する個々のポリゴンと視点との位置関係、ポリゴン同士の位置関係、各ポリゴンの色情報などに基づいて係るモデルを描画している。
【０００４】
ところで、上述のようにコンピュータを用いて仮想空間の画像を生成する際には、モデルの質感をリアルに表現したり、仮想空間全体を写実的に表現するために、現実世界における物理法則に基づく光学処理を施すことがある。具体的には、仮想空間内に光源の位置を設定し、係る光源、視点、モデルを形成する各ポリゴン、などの位置および向きの関係に基づく光線反射の計算を行ったり、各ポリゴンの輝度処理を行うなどして、モデルの鏡面性やハイライトを表現することがある。
【０００５】
【発明が解決しようとする課題】
コンピュータによる仮想空間の画像生成においては、上述のように物理法則に基づく処理を行って、現実性、写実性を追及することが多くある。しかし、その一方で、現実世界には存在しない空想上の物体を表現したり、或いは現実世界に存在する物体をデフォルメして表現するような場合もある。
【０００６】
例えば、キャラクタの顔について、顔面全体に対する目の占める割合を、現実世界における多くの人よりも著しく大きくし、係るキャラクタのかわいらしさを強調することがある。このように目を大きく設定すれば、係るキャラクタの頭部における目の配置と、現実の人の頭部における目の配置との間に差異が生じる。一般的な人の場合、左右の眼孔部分（即ち、眼球が配置される頭部の穴）の開口方向は、それぞれ頭部前方を向き、尚且つ略平行となっている。即ち、頭部表面に現れる眼球の部分（いわゆる目として見える部分）は、左右ほぼ等しい方向を向いている。一方、目の大きいキャラクタの場合、頭部を占める目の割合が高いため、眼孔部分を頭部の形状にそって配置することとなり、頭部表面に現れる眼球の部分の向きが左右で異なる。それ故、上記キャラクタの眼球のハイライトを物理法則に基づいて表現すると、左右の眼球の輝き方が現実世界に見られるような輝き方とは異なることとなり、見る人に違和感を与える恐れがある。
【０００７】
特に、プレーヤの操作入力に応答してリアルタイムに画像を生成するタイプのゲーム装置においては、物理法則とは無関係に法則性なしに、尤らしく反射やハイライトを表現することは困難である。即ち、現実世界では見られないようなデフォルメされたモデルについて、そのモデルの形状とは無関係に、尤らしい位置にハイライトを表現したり、妥当な反射を実行することは、画像をリアルタイムに生成する制約上、困難な問題であった。
【０００８】
本発明の課題は、仮想空間の画像を生成する装置において、モデルの形状に関わらず、理想的な反射や輝度処理を実現することである。
【０００９】
【課題を解決するための手段】
請求項１に記載の発明は、プロセッサによる演算・制御により、光源と物体の配置位置および向きとに基づいて当該物体の輝度処理を行う輝度処理手段（例えば、図１１の輝度処理部１２２）と、前記物体を含む仮想空間の画像を生成する手段（例えば、図１１の画像生成部１２０）と、を前記プロセッサを備える装置（例えば、図１のゲーム装置１）に対して機能させるための画像生成情報であって、前記輝度処理手段が、前記物体の向きに代えて、当該物体の基準向きを用いて前記輝度処理を行う（例えば、図１４の眼球輝度処理）ように、前記装置に機能させるための情報を含むことを特徴とする。
なお、画像生成情報とは、電子計算機（コンピュータ）による処理の用に供する、プログラムに準じた情報の意である。
【００１０】
請求項８に記載の発明は、光源と物体の配置位置および向きとに基づいて当該物体の輝度処理を行う輝度処理手段（例えば、図１１の輝度処理部１２２）と、前記物体を含む仮想空間の画像を生成する手段（例えば、図１１の画像生成部１２０）と、を備える画像生成装置（例えば、図１のゲーム装置１）であって、前記輝度処理手段は、前記物体の向きに代えて、当該物体の基準向きを用いて前記輝度処理を行う（例えば、図１４の眼球輝度処理）ことを特徴とする。
【００１１】
この請求項１または８に記載の発明によれば、物体の輝度処理をする際に、係る物体の向きに代えて、当該物体の基準向きを用いる。故に、仮想空間に配置する物体の位置および向きについて、従来に知られた輝度処理の方法では実現することのないはずの輝きを、係る従来に知られた輝度処理の方法を用いて実現することが可能となる。
【００１２】
ところで、コンピュータグラフィックスの技術において、輝度処理を実行する際には、一般的に、仮想空間に配置した物体の法線ベクトルを用いて行うことがある。そこで、請求項２に記載の発明のように、請求項１に記載の画像生成情報において、複数のプリミティブ面によって前記物体を形成する手段を、前記装置に機能させるための情報と、前記輝度処理手段が、前記物体が前記基準向きに配置されたときの、当該物体を形成するプリミティブ面の頂点の法線ベクトル（例えば、本実施の形態における仮法線ベクトル）に基づいて、前記輝度処理を行うように、前記装置に機能させるための情報を含むこととしてもよい。
【００１３】
ここで、プリミティブとは、コンピュータグラフィックスにおいて広く用いられる幾何形状（基本要素）の意であって、プリミティブ面とは、係る幾何形状の内、面を意味する。例えば、複数の頂点により形成されるポリゴンと呼ばれる平面も含む。
【００１４】
また、請求項３に記載の発明のように、請求項１または２に記載の画像生成情報において、開口方向が非平行な眼孔部を複数有するとともに、各眼孔部に眼球を配置したキャラクタを前記仮想空間に配置するキャラクタ配置手段（例えば、図１１のキャラクタ制御部１１２）を前記装置に機能させるための情報と、前記複数の眼孔部に配置される眼球それぞれを前記物体とするための手段を前記装置に機能させるための情報と、前記輝度処理手段が、前記複数の眼孔部に配置される眼球それぞれの向きに代えて、前記基準向きを用いて、前記眼球それぞれについて前記輝度処理を行う、ように前記装置に機能させるための情報と、を含むこととしてもよい。
【００１５】
この請求項３に記載の発明によれば、キャラクタについて、眼球が配置される複数の眼孔部の開口方向が非平行となっている。そして、個々の眼球の輝度処理をする際には、眼球の向きに代えて、基準向きを用いて行う。顔面に対する目の占める割合の高い、目の大きいキャラクタの場合、頭部の形状に合わせて目（眼球）を配置すれば、目の開口方向が左右で非平行になり、現実世界における人の目の配置とは異なる。係るキャラクタを表現する際にも、人の目の眼球運動に基づく眼球の向きを基準向きとしてキャラクタの眼球の輝度処理を実行すれば、現実世界での目のハイライトと同等の違和感のないハイライトを実現することが可能となる。
【００１６】
請求項４に記載の発明は、プロセッサによる演算・制御により、反射体と視点との位置関係に応じて当該反射体に映る被反射物を表現する反射表現手段と、前記反射体を含む仮想空間の画像を前記視点に基づいて生成する手段と、を前記プロセッサを備える装置に対して機能させるための画像生成情報であって、前記反射表現手段が、前記反射体の向きに代えて、前記反射体の基準向きを用いて当該反射体に映る被反射物を決定する、ように前記装置に機能させるための情報を含むことを特徴とする。
【００１７】
請求項９に記載の発明は、反射体と視点との位置関係に応じて当該反射体に映る被反射物を表現する反射表現手段と、前記反射体を含む仮想空間の画像を前記視点に基づいて生成する手段と、を備える画像生成装置であって、前記反射表現手段は、前記反射体の向きに代えて、当該反射体の基準向きを用いて当該反射体に映る被反射物を決定することを特徴とする。
【００１８】
この請求項４または９に記載の発明によれば、物体の表面に映る被反射物を決定する処理において、係る物体の向きに代えて、当該物体の基準向きを用いる。故に、仮想空間に配置する物体の位置および向きについて、従来に知られた反射の計算方法では実現することのないはずの反射を、係る従来に知られた計算方法を用いて実現することが可能となる。
【００１９】
なお、反射の計算においては、物体表面の法線ベクトルを用いて計算を行うことが一般的である。故に、請求項５に記載の発明のように、請求項４に記載の画像生成情報において、複数のプリミティブ面によって前記物体を形成する手段を、前記装置に機能させるための情報と、前記反射表現手段が、前記反射体が基準向きに配置されたときの、当該反射体の頂点の法線ベクトルに基づいて、当該反射体に映る被反射物を決定する、ように前記装置に機能させるための情報を含むこととしてもよい。
【００２０】
請求項６に記載の発明は、プロセッサによる演算・制御により、操作入力に応答してキャラクタをリアルタイムに動作させ、前記キャラクタが登場するゲームを実行する手段と、視点に基づいて前記キャラクタを含む仮想空間の画像を生成する手段と、を前記プロセッサを備える装置（例えば、図１１のゲーム装置１）に機能させるためのゲーム情報であって、前記キャラクタが、開口方向が非平行な眼孔部を複数有するとともに、各眼孔部に眼球を配置して前記キャラクタを構成するキャラクタ構成手段と、前記各眼球にハイライトを描画する際に、前記各眼孔部に対する相対的に同じ位置にハイライトを描画するハイライト手段と、を前記装置に機能させるための情報を含むことを特徴とする。
なお、ゲーム情報とは、ゲーム装置等の電子計算機（コンピュータ）による処理の用に供する、プログラムに準じた情報の意である。
【００２１】
請求項１０に記載の発明は、操作入力に応答してキャラクタをリアルタイムに動作させ、前記キャラクタが登場するゲームを実行する手段と、視点に基づいて前記キャラクタを含む仮想空間の画像を生成する手段と、を備えるゲーム装置であって、前記キャラクタが、開口方向が非平行な眼孔部を複数有するとともに、各眼孔部に眼球を配置して前記キャラクタを構成するキャラクタ構成手段と、前記各眼球にハイライトを描画する際に、前記各眼孔部に対する相対的に同じ位置にハイライトを描画するハイライト手段と、を更に備えることを特徴とする。
【００２２】
この請求項６または１０に記載の発明によれば、仮想空間に配置するキャラクタは、開口方向が非平行な複数の眼孔部を有し、係る眼孔部にそれぞれ眼球が配置されている。係る眼球のハイライトを表現する際には、各眼孔部に対する相対的に同じ位置にハイライトを描画する。故に、現実世界における一般的な人に見られる目のハイライトと同様なハイライトを実現することが可能となる。
【００２３】
なお、請求項７に記載の発明のように、情報記憶媒体に対して、請求項１から５の何れかに記載の画像生成情報または、請求項６に記載のゲーム情報を記憶することとしても良いことは勿論である。
【００２４】
【発明の実施の形態】
以下に、本実施の形態について図面を参照して説明する。
なお以下では、家庭用のゲーム装置１により３次元の仮想空間を用いたゲームを実行する場合を例に説明する。また、以下では、人型キャラクタの眼球のハイライト（特に明るい部分や白く見える部分）を表現する場合を例に説明するが、以下の場合に限定する必要はない。
【００２５】
図１は、家庭用のゲーム装置１の一例を示す図である。同図によれば、ゲーム装置１は、ディスプレイ２、ゲームコントローラ３，４等が着脱自在な構成になっている。また、ゲーム装置１に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ５、ＩＣカード６、メモリカード７および、ゲーム装置１本体が備える情報記憶媒体等に、システムプログラムやゲームプログラム、ゲームデータ、本実施の形態を実現する為に必要な情報等のゲーム情報が格納されている。
【００２６】
プレーヤは、ディスプレイ２に表示されるゲーム画像を見ながらゲームコントローラ３，４を操作して仮想空間内に存在するキャラクタの動作を指示したり、各種選択を行ってゲームを楽しむ。
【００２７】
一方、ゲーム装置１の処理系は、ゲームコントローラ３，４から入力される信号やゲーム情報に基づいて、１フレーム毎に３次元の仮想空間の画像（ゲーム画像）を生成して、ディスプレイ２に表示させる。なお、仮想空間内には各種キャラクタやオブジェクトを配置し、ゲームコントローラ３，４から入力される信号やゲーム情報に基づいて、上記キャラクタやオブジェクトの存在位置や向き、動作等を１フレーム毎に決定する。
【００２８】
さて、本実施の形態は、キャラクタの眼球のハイライトを尤らしく表現することを特徴としている。その際、ゲーム装置１の処理系は、仮想空間における光源とキャラクタの眼球との位置関係に応じた輝度処理を行って、キャラクタの目の妥当な部分を輝かせる。
【００２９】
以下では、原則的に物体の輝度を次ぎのように決定する。
図２は、仮想空間における光源の光線ベクトルＬ１４と、物体１０の表面との位置関係の一例を示す図である。図２における（Ｘ，Ｙ，Ｚ）は、仮想空間の座標系（以下、ワールド座標系という）を示している。また、光線ベクトルＬ１４の大きさは、大きさ”１”である。
【００３０】
さて、物体１０表面上の点１２の輝度は、光線ベクトルＬ１４の逆ベクトル（−Ｌ１４´）と、点１２における物体１０の法線ベクトルＮ１６（大きさ”１”）との内積（cosθ）によって決定する。このとき、内積の絶対値｜cosθ｜が１に近いほど物体１０における点１２の輝度が高く、内積の絶対値が０に近いほど輝度が低くなるように設定する。なお、この計算方法は、現実世界における拡散反射の概念とほぼ同等の計算方法である。
【００３１】
また、本実施の形態では、ゲームに登場させるキャラクタの顔面における左右の目を比較的大きく表現する。
図３は、本実施の形態におけるキャラクタ２０の顔面の一例を示す図である。図３によれば、キャラクタ２０の右目２２と左目２４は、鼻２６や唇２８と比較して著しく大きい。このように左右の目２２、２４を大きく設定することで、キャラクタ２０をかわいらしく、また幻想的に表現する。
【００３２】
ところで人の頭部は一般にいびつな形状をしている。具体的に、頭部は、その前方の目が配置される部分は平面的であるものの、目尻から耳にかけて、更に耳から後頭部へと湾曲しており、頭部の水平断面は閉曲線を成している。
【００３３】
図４（ａ）は、現実世界における一般的な人の頭部３０について、左右の眼球３２，３４を含む水平断面を模式的に描いたものである。また（ｂ）は、（ａ）に示す頭部３０の正面（即ち顔面）の模式図である。一般的な人の眼孔部（即ち、眼球が配置される頭部の穴）は左右それぞれ頭部前方に配置されており、尚且つ、その開口面は左右で略平行となっている。
【００３４】
ここで、眼孔部の開口面とは、まぶたを開いたときのいわゆる目の縁（目の輪郭線）を含む面の意である。なお以下では、まぶたを開いたときに頭部表面に現れる眼球の部分を単に「目」という。また、眼孔部の開口面、即ち目の縁は、厳密には平面的ではないが、以下では説明の簡便化のため平面的なものとし、係る眼孔部の開口面を眼孔開口面という。
【００３５】
なお、図４（ａ）においては、直線３２ｈが眼球３２に対する眼孔開口面を示し、直線３４ｈが眼球３４に対する眼孔開口面を示しており、左右の眼孔開口面３２ｈ，３４ｈは略平行に配置されている。このとき、左右の目３２´，３４´における相対的に同等な部分の法線ベクトルは、それぞれ略平行な向きを指している。例えば、図４（ａ）、（ｂ）に示す頭部３０の左目３４´の中心にある点３８の法線ベクトル４２と、右目３２´の中心にある点３６の法線ベクトル４０は、略平行になっている。故に、上記拡散反射の計算方法によって眼球のハイライトを計算すれば、各眼球に平行な光線を投射したとき、左右の目の同等な部分が同様に輝くことがわかる。
【００３６】
一方、図３に示したように、キャラクタの左右の目２２、２４を現実世界における人の平均的な目のサイズよりも大きく設定した場合、眼球の大きさと頭部の形状との関係上、左右の眼孔開口面の向きは平行にならず、それぞれ略放射した方向を向くこととなる。
【００３７】
図４（ｃ）は、目の大きいキャラクタの左右の眼球５２，５４を含む頭部５０の水平断面を模式的に描いたものである。また（ｄ）は、（ｃ）に示す頭部５０の正面（即ち顔面）の模式図である。（ｃ）においては、直線５２ｈが眼球５２に対する眼孔開口面を示し、直線５４ｈが眼球５４に対する眼孔開口面を示している。このように、左右の眼球を比較的大きく設定し、頭部の形状に合わせて各眼球を配置すると、左右の眼孔開口面５２ｈ，５４ｈは非平行となる。従って、左右の目５２´，５４´における相対的に同一な部分の法線ベクトルは、それぞれ異なる方向を向くこととなる。例えば、図４（ｄ）に示す頭部５０の左目５４´の中心にある点５８の法線ベクトル７２と、右目５２´の中心にある点５６の法線ベクトル７０は、互いに異なる方向を向いている。
【００３８】
この場合において、平行な光線ベクトルに対する各眼球の輝度を、上記計算方法に基づいて決定すれば、左右の各眼球がばらばらな光り方をすることとなる。例えば、図４（ｃ）、（ｄ）において、左目５４´の中心点５８における法線ベクトル７２は、右目５２´の中心点５６の法線ベクトル７０とは異なる向きを指すが、右目５２´の中心からずれた点６０の法線ベクトル７４と略平行になっている。故にこれらの眼球に平行な光線ベクトルを投射したときに、左目５４´の中心５８の輝度が高ければ、それと法線ベクトルの向きが等しい右目５２´の位置６０の輝度が高くなり、左右の目５２´、５４´の異なる部分が輝くこととなる。
【００３９】
このように、目の大きいキャラクタを表現する場合において、上述の計算方法に基づいて眼球の輝度を決定すると、現実の世界における人の目のハイライトとは異なるハイライトを表現することとなり、ゲーム画像を見るプレーヤに対して違和感を与える恐れがある。
【００４０】
このとき、目の大きさに合わせて頭部を大きく設計すれば、目の配置が一般的な人の目の配置と同等になるが、目が大きいというキャラクタの特徴が消滅する。また、頭部の形状を変えずに左右の眼孔開口面の向きが平行となるように設計すれば、目が飛び出たようになり、若しくは目が落ち窪んだようになり、キャラクタの美観が損なわれる。
【００４１】
そこで、本実施の形態では、左右の眼孔開口面が略平行となる状態、即ち、左右の目が頭部前方に略平行に配置されたと仮定したときの眼球の向きを基準向きとし、係る基準向きに配置された眼球の法線ベクトルを用いて、実際の向きに配置された眼球の輝度処理を行う。なお、眼球の向きとは、瞳孔（本来、瞳孔は面であるが、ここでは黒目における中心点とする）の法線ベクトルの向きを指すこととする。
【００４２】
但し一般的に、眼球は、目の縁（輪郭）内を上下左右に自由に移動させ得るものであるから、キャラクタの眼球についても、眼孔開口面の向きに関わらずゲーム実行中に自由に眼球の向きを変更できるようにしてもよい。これに伴い、本実施の形態では、「基準向き」を、キャラクタの頭部や仮想空間に対して絶対的に定めるのではなく、実際の眼球のあらゆる向きに対する相対的な向きとして設定する。
【００４３】
以下に、本実施の形態における「基準向き」の定義を説明する。
図５は、眼球の「実際の向き」と「基準向き」との関係を説明する為の図である。
図５（ａ）は、実際の眼孔開口面の向きと、理想的な眼孔開口面の向きの関係を示す図であり、頭部の水平断面を示している。（ａ）において、頭部における鼻頭と後頭部とを結ぶ直線８０と垂直に交わる直線５４ｈ´が理想的な眼孔開口面を示し、頭部に沿って引かれた直線５４ｈが、眼球５４の実際の眼孔開口面を示している。（ａ）によれば、実際の眼孔開口面５４ｈと理想的な眼孔開口面５４ｈ´は、角度ψを成している。以下では、係る角度を「変移角」という。
【００４４】
図５（ｂ）は、（ａ）に示す設定のもとでの、左目５４´における黒目の位置に対する、眼球５４の「実際の向き」と「基準向き」との関係を示す図である。（ｂ）において、眼球の実際の向きをＤで表記し、対応する眼球の基準向きをＤSによって表記する。また、各向きＤ、ＤSは、頭部の形状を定義するための座標系（ｘH，ｙH，ｚH）における向きを示している。
【００４５】
さて、本実施の形態では、眼孔開口面の実際の配置と理想的な配置とで、「目の縁」に対する黒目の位置が等しくなるように、眼球の「実際の向き」と「基準向き」とを対応付ける。
【００４６】
具体的に図５（ｂ）を参照して、黒目を左目５４´の中央に配置する場合を例に説明する。実際の左目５４´の向き（即ち、眼孔開口面５４ｈの向き）に対しては、瞳孔の法線ベクトルが眼孔開口面５４ｈに垂直となるように眼球５４を配置すれば、黒目を左目５４´の中央に配置できる。同様に、理想的な左目５４´の向き（即ち、理想的な眼孔開口面５４ｈ´の向き）に対しては、瞳孔の法線ベクトルが眼孔開口面５４ｈ´に垂直となるように眼球５４を配置すれば、黒目を目の縁５４´の中央に配置できる。このように、瞳孔（黒目）が目の同等な部分に位置するように、「実際の向き」と「基準向き」とを対応付ける。
即ち本実施の形態では、基準向きＤSを、「頭部の鉛直方向（図５（ｂ）におけるｙHの方向）を軸として眼球の実際の向きＤを±ψ回転させたもの」として定義する。ここで、符号＋はｚH−ｘH平面における左回りを意味し、符号−は右回りを意味する。例えば、眼球５４の場合には、符号は−となる。
【００４７】
この「基準向き」の定義によれば、眼球の法線ベクトルを変移角ψの分だけ傾けて設定すれば、眼球を何れの向きに配置しても、必ず基準向きに配置された場合の法線ベクトルを用いた輝度処理を行うことができる。以下では、眼球の法線ベクトルを変移角ψの分だけ傾けたベクトルを、仮法線ベクトルという。
【００４８】
図６（ａ）は、眼孔開口面５２ｈ´、５４ｈ´が理想的な位置に配置された場合の、眼球の各頂点の法線ベクトルを示す図である。また、（ｂ）は、実際の向きに眼孔開口面５２ｈ、５４ｈが配置された場合の、眼球の各頂点の仮法線ベクトルを示す図である。なお、（ａ）に示す眼球も、（ｂ）に示す眼球も、いずれも黒目が目の中央に位置するための方向を向いている。即ち、（ａ）に示す眼球の向きは、（ｂ）に示す眼球の向きに対する基準向きとなっている。
【００４９】
図６（ａ）によれば、左右の眼球５２，５４上の相対的に同一な部分の法線ベクトルはそれぞれ略平行となっている。例えば、右目５２の左方向の点ＰR1における法線ベクトルＮR1は、左目５４の左方向の点ＰL1における法線ベクトルＮL1と略平行であり、同様に、右目５２中央の点ＰR2の法線ベクトルＮR2は、左目５４中央の点ＰL2の法線ベクトルＮL2と略平行に、右目５２の点ＰR3の法線ベクトルＮR2は、左目５４の点ＰL3の法線ベクトルＮL3と略平行になっている。
【００５０】
一方、図６（ｂ）によれば、眼球上の各点ＰR1〜点ＰR3、点ＰL1〜点ＰL3の仮法線ベクトルは、眼球が基準向きに配置されたときの法線ベクトルＮR1〜ＮR3、ＮL1〜ＮL3と一致する。故に、左右の眼球５２，５４の相対的に同一な部分の仮法線ベクトルはそれぞれ略平行な向きとなり、係る仮法線ベクトルを用いて輝度計算を行えば、現実世界における人の目のハイライトと何ら変わることないキャラクタの目のハイライトを表現することができる。
【００５１】
ところで、本実施の形態では、眼球の形状をポリゴンモデルによって定義する。また、輝度の計算は、各ポリゴンを形成する頂点の一つ一つに対して実行する。具体的には、各頂点に予め基調色と光彩色とを設定し、ゲーム実行中に、上記計算方法に基づいて頂点の輝度を算出し、係る輝度に基づいて頂点の基調色と光彩色の合成率を決定し、頂点の色を決定する。また、ポリゴンの表面全体の色は、各頂点の色を補間して決定する。
【００５２】
図７は、眼球のポリゴンモデル（以下、眼球モデルという）の一部を示す図であり、頭部の形状に従って眼球モデル９２，９４を配置し、頭部から俯瞰したときの一例を示している。なお、本実施の形態では、各眼球モデル９２，９４を球形状ではなく、図７に示す形状とする。これは、左右の各眼球を、それぞれ瞳孔部分における垂線に対して垂直に切断したときの、瞳孔を含む側の部分である。以下では、係る眼球の切断面９６，９８を、便宜上、眼球底面という。
【００５３】
本実施の形態では、眼球モデルにおける頂点の一つ一つに対して仮法線ベクトルを設定する。
【００５４】
なお、頭部の形状に合わせて配置された眼球モデルの各頂点には、当該眼球モデルの法線ベクトルを変移角ψだけ傾けたものを、仮法線ベクトルとして設定するわけであるが、各頂点の法線ベクトルは、その頂点を含む全てのポリゴンの法線ベクトルを平均したものとする。例えば、図８における、六つの三角形のポリゴンＳ1〜Ｓ6に含まれる頂点ｐの法線ベクトルは、各ポリゴンＳ1〜Ｓ6の各法線ベクトルの平均によって決定する。
【００５５】
次ぎに、各眼球モデルを定義する座標系（ｘ，ｙ，ｚ）における仮法線ベクトルの向きについて説明する。以下では、眼球モデルを定義する為の座標系を眼球座標系という。
【００５６】
図９（ａ）は、図７に示した左目の眼球モデル９４の断面を示す模式図である。なお、眼球座標系の原点ｏは、眼球底面９８の中心にあることとし、（ａ）に示す断面は、眼球座標系の原点ｏと瞳孔Ｐ3を含む断面である。更に、（ａ）においては、眼球座標系のｚ軸が眼球底面９８と垂直の関係にあり、ｙ軸の正方向を眼球モデル９４における上向きとする。さて、眼球モデル９４における頂点Ｐ1の法線ベクトルはＮ1であり、頂点Ｐ2の法線ベクトルはＮ2であり、頂点Ｐ3の法線ベクトルはＮ3であり、頂点Ｐ4の法線ベクトルはＮ4であり、頂点Ｐ5の法線ベクトルはＮ5である。
【００５７】
このとき、図５（ａ）に示したように、眼孔開口面の変移角がψである場合には、眼球座標系における眼球モデル９４および仮法線ベクトルを、図９（ｂ）若しくは（ｃ）に示すように設定する。
【００５８】
図９（ｂ）は、眼球座標系において、（ａ）に示す眼球モデル９４を変移角ψだけｙ軸周りの正方向（左回り）に回転させた一例を示す図である。この場合には、ｙ軸回転変換前の各頂点Ｐ1〜Ｐ5の法線ベクトルＮ1〜Ｎ5（即ち（ａ）に示す各頂点の法線ベクトル）をそのまま、回転変換後の各頂点Ｐ´1〜Ｐ´5の仮法線ベクトルとして設定する。
【００５９】
図９（ｃ）は、眼球座標系において、眼球モデル９４の向きを維持させたままで、各頂点Ｐ1〜Ｐ5の法線ベクトルの向きを変移角ψだけｙ軸方向を軸として負方向（左回り）に回転させた一例を示す図である。この場合には、各頂点Ｐ1〜Ｐ5の一つ一つについて、対応する法線ベクトルＮ1〜Ｎ5をｙ軸回転させて、その回転後の各ベクトルＮ´1〜Ｎ´5を各頂点の仮法線ベクトルとして設定する。
【００６０】
図１０は、仮法線ベクトルを用いた場合と、通常の法線ベクトルを用いた場合の描画結果の比較を示す図である。なお、左右二つのキャラクタ８２，８４は、頭部に対する左右の眼球の配置構成が等しい。また、図１０は、各キャラクタ８２，８４にそれぞれに平行光線を投射して描画したものである。但し、左側のキャラクタ８２については、上記仮法線ベクトルを用いて眼球の輝度処理を行い、右側のキャラクタ８４については、通常の法線ベクトルを用いて眼球の輝度処理を行った。その結果、左側のキャラクタ８２では、左右の目の図中右方にハイライトが表現されているのに対し、右側のキャラクタ８４では、左右の目のハイライトが異なる位置に表現されている。このように、目の大きいキャラクタについて、眼球の法線ベクトルを用いて輝度処理をすれば、違和感の有るハイライトを表現することとなるが、仮法線ベクトルを用いて輝度処理を行うことで、尤らしいハイライトを表現することが可能となる。
【００６１】
本実施の形態におけるゲーム装置１の機能構成について説明する。
図１１は、ゲーム装置１の機能ブロックの一例を示す図である。
図１１によれば、ゲーム装置１は、処理部１００と、入力部２００と、表示部３００と、情報記憶媒体４００と、一時記憶部５００と、を備える。
【００６２】
処理部１００は、システム全体の制御、システム内の各機能部への命令の指示、入力部２００から入力される操作信号や情報記憶媒体４００に記憶されたゲーム情報４１０に基づいてゲームを進行するための処理の他、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）等のハードウェア、あるいは所与のプログラムにより実現できる。また、処理部１００は、主に、ゲーム演算部１１０と画像生成部１２０とを含み、入力部２００から入力される操作信号に応じた処理をゲーム演算部１１０に実行させ、更に、その処理結果に基づく画像を画像生成部１２０に生成させる。
【００６３】
ゲーム演算部１１０は、ゲームにおける各種選択用の画面の設定処理や、ゲームの進行処理、仮想空間に存在する各キャラクタやオブジェクト等の座標、向き、動作などを決定する処理、視点の位置および向きを決定する処理、などの種々のゲーム処理を実行する。なお、これらの処理は、入力部２００から入力される操作信号や、情報記憶媒体４００に格納されたゲーム情報４１０に基づいて実行する。また、ゲーム演算部１１０は、キャラクタ制御部１１２を含み、情報記憶媒体４００に格納されたゲーム情報４１０に基づいて機能させる。
【００６４】
画像生成部１２０は、ゲーム演算部１１０によって決定された情報に基づいて１フレーム毎にゲーム画像をリアルタイムに生成する処理を実行するものであり、ＣＰＵ、ＤＳＰ、画像生成専用のＩＣ、メモリなどのハードウェアにより構成される。具体的には、画像生成部１２０は、前方・後方クリッピングを実行して仮想空間のビューボリューム（視点から投影面を通して見える仮想空間の範囲）を決定する処理、ワールド座標系における各キャラクタやオブジェクトの座標を視点の座標に基づいて２次元座標系（投影面）へと変換する処理、個々のオブジェクトを順次描画してゲーム画像を生成する処理、などを１フレーム毎に実行してゲーム画像を生成する。そして、生成したゲーム画像を必要なタイミング（即ち、１フレーム間隔）で表示部３００に出力して表示させる。
【００６５】
また、画像生成部１２０は、各モデルの頂点の輝度を決定する処理を実行する輝度処理部１２２を含み、情報記憶媒体４００に格納されるゲーム情報４１０に基づいて機能させる。
【００６６】
入力部２００は、図１に示したゲームコントローラ３，４に相当する機能部であって、プレーヤの操作入力を電気信号として処理部１００に出力するものである。なお、入力部２００は、図１に示したようなゲームコントローラ３，４だけでなく、キーボードなどの汎用の入力装置、マウス、トラックボール、ジョイスティック等の入力手段を用いてもよい。
【００６７】
表示部３００は、図１に示すディスプレイ２に相当する機能部であり、処理部１００から入力される指示に従って、画像生成部１２０が生成するゲーム画像を逐次表示する。なお、表示部３００は主にコンピュータなどに接続されるディスプレイにより実現しても良いし、ＴＶ放送を表示する際に主に用いられるディスプレイによって実現してもかまわない。
【００６８】
情報記憶媒体４００は、本実施の形態におけるゲーム装置１の駆動に係るシステムプログラムやデータ、ゲームを実現する為に必要なゲーム情報４１０などを記憶するものであり、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、メモリ、ハードディスク等のハードウェアにより実現できる。
【００６９】
なお、ゲーム情報４１０には、ゲーム演算部１１０を機能させる為に必要な情報が含まれる。具体的には、ゲームシナリオや、仮想空間に配置する各オブジェクトの情報、入力部２００から入力される操作信号に応じて各オブジェクトやキャラクタの動作を決定する為の情報、ゲームの得点を算出するための情報、ゲーム時間を計時するための情報、キャラクタ制御部１１２を機能させる為のキャラクタ制御プログラム４２０、などが含まれる。
【００７０】
また、ゲーム情報４１０には、画像生成部１２０が機能する為に必要な情報が含まれる。即ち、ゲーム演算部１１０による処理結果に基づいて画像生成部１２０が１フレーム毎にゲーム画像を生成するためのプログラムが含まれる。例えば、仮想空間におけるオブジェクトやキャラクタの座標をワールド座標系から視点に基づく２次元座標系に変換する処理を実現する為の情報、輝度処理部１２２が輝度処理を行う為の輝度処理プログラム４３０、などが含まれる。
更に、ゲーム情報４１０には、キャラクタモデルデータ４４０と、眼球モデルデータ４５０とが含まれる。
【００７１】
キャラクタモデルデータ４４０とは、キャラクタを構成する各部位モデル（例えば、頭部、胴体部、腕部、といった部位のモデル）のデフォルトの位置関係を定義するための情報である。
【００７２】
また、キャラクタモデルデータ４４０には、頭部モデルに対する眼球モデルの位置およびデフォルトの向きが記憶されている。正確には、頭部モデルに対する、眼球座標系の原点の位置、および眼球座標系における各座標軸のデフォルトの方向等が設定されている。例えば、図９（ｂ）に示すように、眼球座標系における眼球モデルを変移角ψの分だけ傾けて設定した場合には、キャラクタモデルデータ４４０には、眼球座標系のｚ−ｙ平面を頭部モデルの鼻頭と後頭部とを結ぶ平面と平行に配置するための情報が含まれる。また、図９（ｃ）に示すように、瞳孔の法線ベクトルがｚ軸（眼球座標系）と平行に設定されている場合には、キャラクタモデルデータ４４０には、眼球座標系のｚ−ｙ平面が、鼻頭と後頭部とを結ぶ平面と変移角ψを成す（鋭角が）ように配置するための情報が含まれる。即ち、キャラクタ制御部１１２は、ワールド座標系における頭部モデルの配置を決定した後、キャラクタモデルデータ４４０に基づいてワールド座標系における眼球モデルの配置を決定する。
【００７３】
眼球モデルデータ４５０とは、眼球モデルの形状を定義する為の情報であり、頂点データ４５２と、ポリゴンデータ４５４を含む。
【００７４】
図１２は、頂点データ４５２の格納形式の一例を示す図である。図１２によれば、頂点データ４５２には、眼球モデルを形成する各頂点を識別するための頂点Ｎｏ．と、眼球座標系における各頂点の座標と、眼球座標系における各頂点の仮法線ベクトルと、各頂点の基調色情報（ＲK，ＧK，ＢK）と、光彩色情報（ＲL，ＧL，ＢL）とがそれぞれテーブル形式で記憶されている。
【００７５】
ここで、基調色情報とは、該当する頂点に光が投射されていないときの、頂点のベースの色を意味する。また、光彩色情報とは、該当する頂点に光を投射したときの輝きの色を意味する。なお、Ｒは赤、Ｇは緑、Ｂは青、の各原色の濃淡値を示している。
【００７６】
図１３は、ポリゴンデータ４５４の格納形式の一例を示す図である。図１３によれば、ポリゴンデータ４５４には、各ポリゴンを識別する為のポリゴンＮｏ．と、各ポリゴンを構成する頂点の頂点Ｎｏ．とがテーブル形式で記憶されている。
【００７７】
一時記憶部５００は、処理部１００の作業領域として用いられる記憶部であり、処理部１００による演算結果や、入力部２００から入力される操作情報、情報記憶媒体４００から読み出したデータやプログラムなどを一時的に記憶する機能部である。具体的には、各キャラクタの座標、向き、動作内容などを記憶したり、ゲーム得点を記憶したり、処理部１００により生成された画像情報を記憶したりする。また、一時記憶部５００は、ＲＡＭやＶＲＡＭなどのハードウェアにより実現されるものである。
【００７８】
なお、ゲーム演算部１１０に含まれるキャラクタ制御部１１２は、入力部２００から入力される操作信号や、情報記憶媒体４００に記憶されるキャラクタ制御プログラム４２０に基づいて、仮想空間（ワールド座標系）におけるキャラクタの位置、向き、ポーズ、動作を決定する機能部である。
【００７９】
より詳細には、キャラクタ制御部１１２は、まず、キャラクタの座標系（キャラクタ座標系）内で、キャラクタの形状を決定する。その際、キャラクタモデルデータ４４０に含まれる各部位モデルのデフォルトの位置関係と、入力部２００から入力される操作信号などに基づいて、各部位モデルを回転させたり、平行移動させることによって、キャラクタ座標系における、キャラクタの形状を特定する為の各頂点の座標を決定する。
【００８０】
一方で、キャラクタ制御部１１２は、入力部２００から入力される操作信号やゲーム情報４１０に基づいて、ワールド座標系におけるキャラクタの代表点の座標および向きを決定する。そして、その決定したキャラクタの代表点の座標および向きに基づいて、キャラクタ座標系における各頂点の座標を、ワールド座標系に変換する。
【００８１】
また、キャラクタ制御部１１２は、キャラクタモデルデータ４４０に基づいて、ワールド座標系における頭部モデルの座標および向きを決定すると、更にその決定情報に基づいて、ワールド座標系における眼球モデルの代表点の座標および向きを決定する。また、眼球モデルデータ４５０に基づいて、眼球座標系における眼球モデルの各頂点の座標を決定するとともに、各頂点の座標を、眼球モデルの代表点の座標に基づいて、眼球座標系からワールド座標系に変換する。
【００８２】
また、画像生成部１２０に含まれる輝度処理部１２２は、眼球モデルの各頂点の仮法線ベクトルと、基調色情報、光彩色情報、および、ワールド座標系における光線ベクトルと、に基づいて、各頂点の色情報を決定する機能部である。
具体的には、キャラクタ制御部１１２によって、ワールド座標系における眼球モデルの各頂点の座標を決定すると、係る頂点における仮法線ベクトルＮと、光線ベクトルＬとの内積Ｎ・Ｌを算出して、輝度γ（＝｜Ｎ・Ｌ｜）を決定する。そして、基調色情報（ＲK，ＧK，ＢK）と光彩色情報（ＲL，ＧL，ＢL）の各色成分を輝度γに基づいて合成し、係る頂点の色情報（Ｒ，Ｇ，Ｂ）を決定する。
Ｒ＝ＲK・（１−γ）＋ＲL・γ        …（１）
Ｇ，Ｂについても同様に行う。
【００８３】
以下に、眼球モデルにおける各頂点の色を決定する処理を説明する。
図１４は、眼球輝度処理を説明するためのフローチャートである。
以下に示す処理は、キャラクタ制御部１１２と輝度処理部１２２がゲーム情報４１０に基づいて、１フレーム毎に、左右の眼球モデルに対してそれぞれ実行する処理である。
【００８４】
図１４によれば、キャラクタ制御部１１２は、まず、ワールド座標系における眼球モデルの代表点の位置および向きを決定する（ステップＳ１；図１５（ａ））。より正確には、ワールド座標系における、眼球座標系の原点２１０の座標と、各座標軸（ｘ軸、ｙ軸、ｚ軸）の方向を決定する。
【００８５】
そして、ワールド座標系における眼球座標系の原点の座標と各座標軸の方向とに基づいて、眼球モデルの各頂点の座標を、眼球座標系からワールド座標系へと変換する（ステップＳ２；図１５（ｂ））。更に、ワールド座標系における眼球座標系の各座標軸の方向に基づいて各頂点の仮法線ベクトルを、ワールド座標系における向きに変換する（ステップＳ３；図１５（ｃ））。なお、ステップＳ２、Ｓ３にて決定したワールド座標系における各頂点の座標と、仮法線ベクトルの向きは、変換後頂点データ５１０として一時記憶部５００に記憶する。
【００８６】
図１６は、変換後頂点データ５１０の格納形式の一例を示す図である。図１６によれば、変換後頂点データ５１０には、頂点Ｎｏ．と、ワールド座標系への変換後の頂点の座標と、変換後の仮法線ベクトルとがテーブル形式で記憶されている。
【００８７】
眼球モデルにおける全ての頂点について、ワールド座標系における座標と、仮法線ベクトルの向きを決定すると、輝度処理部１２２が各頂点の色を決定する処理を開始する。
【００８８】
まず、輝度処理部１２２は、一時記憶部５００に記憶された変換後頂点データ５１０の中から、未処理の頂点Ｎｏ．を抽出する（ステップＳ４）。そしてその抽出した頂点Ｎｏ．に対応する仮法線ベクトルを読み出す（ステップＳ５）。
【００８９】
更に、その読み出した仮法線ベクトルと、ワールド座標系における光線ベクトルの内積を算出し（ステップＳ６）、その内積結果に基づいて、基調色情報と輝度色情報を合成して該当する頂点に与える色情報を決定する。決定した色情報は、頂点色情報データ５２０として頂点Ｎｏ．と対応付けて一時記憶部５００に格納する（ステップＳ７）。
【００９０】
図１７は、頂点色情報データ５２０の格納形式の一例を示す図である。図１７によれば、頂点色情報データ５２０には、頂点Ｎｏ．と色情報とがテーブル形式で記憶されている。
【００９１】
該当する頂点の色情報を一時記憶部５００に記憶すると、変換後頂点データ５１０に記憶された全ての頂点について色情報を決定したか否かを判定し（ステップＳ８）、未処理の頂点が存在する場合には、ステップＳ４に戻って処理を繰り返す。一方、全ての頂点について色情報を決定する処理が終了した場合には、本処理を終了する。
【００９２】
なお、眼球モデルを形成するポリゴンを描画する際には、３次元のワールド座標系から２次元座標系（投影面）へと各頂点の座標を変換し、更に各頂点の色情報を線形補間することによって、ポリゴンを描画する。例えば、図１８に示すような、頂点ｐ1〜ｐ3によって形成されるポリゴン２２０内の点２２２の色を決定する際には、次ぎのように計算する。まず、線分ｐ1−ｐ2上の点ｐ12の色を、頂点ｐ1とｐ2の色情報を線形補間することによって決定する。同様に、線分ｐ1−ｐ3上の点ｐ13の色を、頂点ｐ1とｐ3の色情報を線形補間することによって決定する。更に、線分ｐ12−ｐ13上の点２２２の色を、頂点ｐ12とｐ13の色情報を線形補間することによって決定する。
【００９３】
即ち、画像生成部１２０は、図１３に示したポリゴンデータ４５４の中から各ポリゴンを構成する頂点の頂点Ｎｏ．を読み出し、一時記憶部５００に記憶された変換後頂点データ５１０の中からその頂点Ｎｏ．に対応する座標（ワールド座標系）を読み出す。更に、その頂点の座標を、ワールド座標系から２次元座標系（投影面の座標系）へと変換するとともに、眼球輝度処理にて決定した各頂点の色情報を一時記憶部５００に記憶された頂点色情報データ５２０の中から読み出して、係るポリゴンの描画を実行する。
【００９４】
次に、ゲーム装置１のハードウェア構成について説明する。
図１９は、本実施の形態を実現可能とするハードウェア構成の一例を示す図である。同図によればゲーム装置１には、ＣＰＵ６００、ＲＡＭ６０２、ＲＯＭ６０４、情報記憶媒体６０６、画像生成ＩＣ６０８、音生成ＩＣ６１０、Ｉ／Ｏポート６１２，６１４が、システムバス６１６により相互にデータ入出力可能に接続されている。そして、画像生成ＩＣ６０８には、表示装置６１８が接続され、音生成ＩＣ６１０には、スピーカ６２０が接続され、Ｉ／Ｏポート６１２には、コントロール装置６２２が接続され、Ｉ／Ｏポート６１４には、通信装置６２４が接続されている。
【００９５】
ＲＯＭ６０４は、ゲーム装置１本体の初期化情報、ゲーム装置１本体の各部を機能させるための基本情報などが記憶されている。なお、情報記憶媒体６０６は、図１１に示す機能ブロックにおける情報記憶媒体４００に相当するものであり、ゲーム情報４１０や、本実施の形態におけるゲームに登場する各キャラクタやオブジェクトなどを表現する為のモデルデータやテクスチャデータなどを記憶する他、その他各種画像データ、音データ、プレイデータ等を格納する。また、ゲーム情報４１０等を記憶する情報記憶媒体として、ＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ、メモリカードなどが用いられる。なお、業務用のゲーム装置により本実施の形態を実現する場合には、ゲーム情報４１０等を記憶する情報記憶媒体をＲＯＭなどのハードウェアにより実現でき、この場合には情報記憶媒体６０６はＲＯＭ６０４になる。また、パーソナルコンピュータにて本実施の形態を実現する場合には、ＣＤ−ＲＯＭ、ＤＶＤ、ＲＯＭ等のメモリやハードディスク等が用いられる。
【００９６】
コントロール装置６２２は、図１に示したようなゲームコントローラ３，４に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００９７】
ＣＰＵ６００は、情報記憶媒体６０６に格納されるプログラム、ＲＯＭ６０４に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置６２２によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。ＲＡＭ６０２は、このＣＰＵ６００の作業領域等として用いられる記憶手段であり、情報記憶媒体６０６やＲＯＭ６０４の所与の内容、あるいはＣＰＵ６００の演算結果が格納される。なお、ＲＡＭ６０２は、図１１に示した機能ブロックにおける一時記憶部５００に相当する働きをする。
【００９８】
更に、この種の装置には、音生成ＩＣ６１０と画像生成ＩＣ６０８とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ６１０は、情報記憶媒体６０６やＲＯＭ６０４に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ６２０によって出力される。また、画像生成ＩＣ６０８は、ＲＡＭ６０２、ＲＯＭ６０４、情報記憶媒体６０６等から出力される画像情報に基づいて表示装置６１８に出力するための画素情報を生成する集積回路である。また表示装置６１８は、ＣＲＴやＬＣＤ、ＴＶ、プラズマディスプレイ、プロジェクター等により実現される。
【００９９】
また、通信装置６２４は、ゲーム装置１の内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲーム情報４１０に応じた所与の情報を送受し、また、通信回線を介してゲーム情報４１０等の情報を送受すること等に利用される。
【０１００】
また、図１〜図１８で説明した種々の処理は、図１４のフローチャートに示したゲーム実行中の処理等を行うためのプログラムを含むゲーム情報４１０を格納した情報記憶媒体６０６と、該プログラムに従って動作するＣＰＵ６００、画像生成ＩＣ６０８、音生成ＩＣ６１０等によって実現される。なお、画像生成ＩＣ６０８、音生成ＩＣ６１０等で行われる処理は、ＣＰＵ６００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１０１】
なお、本実施の形態は、図１に示した家庭用のゲーム装置１だけでなく、他のいかなる形態のゲーム装置に適用してもかまわない。例えば、図２０に、ホスト装置７００と、このホスト装置７００と通信回線７０２を介して接続される端末７０４−１〜７０４−ｎとを含むゲーム装置に本実施の形態を適用した場合の例を示す。
【０１０２】
図２０に示す形態の場合、図１１に示した情報記憶媒体４００に記憶されるゲーム情報４１０等は、例えば、ホスト装置７００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体７０６に格納されている。また、端末７０４−１〜７０４−ｎが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ、を有し、スタンドアローンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置７００からは、ゲーム画像、ゲーム音を生成するためのゲーム情報４１０等が端末７０４−１〜７０４−ｎに伝送される。一方、スタンドアローンで生成できない場合には、ホスト装置７００がゲーム画像、ゲーム音を生成し、これを端末７０４−１〜７０４−ｎに伝送し端末において出力することになる。
【０１０３】
あるいは、図２１に示すように、本実施の形態を業務用ゲーム装置８００に適用してもよい。この業務用ゲーム装置８００は、プレーヤがスピーカ８０２から出力される音を聞きながら、操作ボタン８０４を操作することによって、ディスプレイ８０６に表示される所与のキャラクタを操作して所与のゲームを楽しむ装置である。業務用ゲーム装置８００に内蔵されるシステム基板８０８には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ、ＲＡＭ、ＲＯＭ、およびゲーム情報４１０を記憶する情報記憶媒体であるメモリ８１０などが実装されている。そして、ＣＰＵによって上記図１〜図１８を用いて説明した各種処理を実行して、ゲームを実現する。
【０１０４】
なお、上記実施の形態では、眼球モデルを基準向きに配置した際の法線ベクトルに基づいて輝度処理を行うこととした。しかし、この場合に限定する必要はなく、基準向きに配置した際の法線ベクトルを用いて、他の光学計算（例えば、光の反射や透過の計算）を行っても良いし、リフレクションマッピングなどの処理を行っても良いことは勿論である。
【０１０５】
例えば、光線追跡法として知られる方法では、通常、物体Ａの法線ベクトルと、視点の視線ベクトルとの内積を算出して、視線ベクトルの反射方向を決定し、その視線の反射方向に存在する物体Ｂを、物体Ａの表面上に表現することによって、物体Ａの反射を表現している。そこで、眼球の反射を表現する際には、図９を用いて説明したような仮法線ベクトルを眼球の各頂点に設定し、図２２に示すように、眼球モデルの頂点９００の仮法線ベクトル９０２と、視点９０４の視線ベクトル９０６との内積によって、視線ベクトル９０６の反射方向９０８を算出し、係る反射方向９０８に存在するオブジェクトを判定して眼球表面に表示するようにしてもよい。
【０１０６】
或いは、図９を用いて説明したような仮法線ベクトルを用いて、リフレクションマッピングを行っても良い。通常、リフレクションマッピングとして知られる方法では、視点周辺の環境を表す環境テクスチャを生成するとともに、物体Ａの各頂点の法線ベクトルと、視点の視線ベクトルとの内積を各頂点毎に算出し、各頂点における視線ベクトルの反射方向を決定する。そして、各頂点における視線ベクトルの反射方向に該当する環境テクスチャの範囲を物体Ａの表面にマッピングしている。
【０１０７】
そこで、リフレクションマッピングを用いて眼球の反射を表現する際には、図２３に示すように、眼球モデルの各頂点９１０、９１２、９１４の仮法線ベクトル９２０，９２２，９２４と、視点９３０の視線ベクトルの内積をそれぞれ計算して、視線ベクトルの反射方向を決定する。そして、各頂点９１０、９１２、９１４における視線ベクトルの反射方向に該当する環境テクスチャ９４０の範囲９４２を決定して、眼球モデルの該当するポリゴンにマッピングする。
【０１０８】
或いは、より単純に、光線ベクトルの反射方向を決定する際に、上述の仮法線ベクトルを用いて決定しても良い。また、上記仮法線ベクトルを用いて、フォン・シェーディングを行っても良いことは勿論である。
【０１０９】
これらの処理によって、図３に示したような目の大きいキャラクタについても、左右の眼球に対して、相対的に同等な位置に同じ環境の画像を表現することが可能となる。
【０１１０】
なお、本実施の形態では、頂点の法線ベクトルを算出する際に、係る頂点を含む全てのポリゴンの面における法線ベクトルの平均を設定することとして説明したが、これに限定する必要はない。
【０１１１】
また、上記実施の形態では、眼球のハイライトを尤らしく表現する場合を例に説明したが、眼球に限定する必要はない。また、本実施の形態は、家庭用、業務用のゲーム装置のみならず、シミュレータ、ディスプレイに画像表示してアトラクションを実行するタイプの大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステム基板等の種々の画像生成装置にも適用できる。
【０１１２】
【発明の効果】
本発明によれば、物体の輝度処理をする際、若しくは、物体表面に映る被反射物を決定する際に、係る物体の向きに代えて、当該物体の基準向きを用いる。故に、仮想空間に配置する物体の位置および向きについて、従来に知られた輝度処理、反射処理の方法では実現することのないはずの輝きや反射を、係る従来に知られた処理の方法を用いて実現することが可能となる。
【図面の簡単な説明】
【図１】本実施の形態における家庭用のゲーム装置の外観例を示す図である。
【図２】輝度の決定方法について説明する為の図である。
【図３】目の大きいキャラクタの顔面の一例を示す図である。
【図４】（ａ）は、一般的な人の頭部の断面図である。（ｂ）は、（ａ）に示す頭部の正面図である。（ｃ）は、目の大きいキャラクタの頭部の断面図である。（ｄ）は、（ｃ）に示す頭部の正面図である。
【図５】（ａ）は、理想と実際の眼孔開口面の配置例を示す図である。（ｂ）は、眼球の「実際の向き」と「基準向き」との関係を説明する為の図である。
【図６】（ａ）は、左右の眼球をそれぞれ基準向きに配置した一例を示す図である。（ｂ）は、左右の眼球を頭部の形状に合わせて配置した一例を示す図である。
【図７】眼球モデルの一例を示す図である。
【図８】六つのポリゴンに含まれる頂点の一例を示す図である。
【図９】（ａ）は、図６に示す眼球モデルのｘ−ｚ断面を示す図である。（ｂ）は、（ａ）に示す眼球モデルをｙ軸周りにψ回転させた一例を示す図である。（ｃ）は、各頂点の法線ベクトルをｙ軸周りに−ψ回転させた一例を示す図である。
【図１０】仮法線ベクトルを用いて眼球を描画した例と、通常の法線ベクトルを用いて描画した例を示す図である。
【図１１】本実施の形態におけるゲーム装置の機能ブロックの一例を示す図である。
【図１２】頂点データの格納形態の一例を示す図である。
【図１３】ポリゴンデータの格納形態の一例を示す図である。
【図１４】眼球輝度処理を説明するためのフローチャートである。
【図１５】（ａ）は、ワールド座標系に眼球座標系を配置した模式図である。（ｂ）は、ワールド座標系に眼球モデルの各頂点を配置した模式図である。（ｃ）は、ワールド座標系に各仮法線ベクトルを配置した模式図である。
【図１６】変換後頂点データの格納形態の一例を示す図である。
【図１７】頂点色情報データの格納形態の一例を示す図である。
【図１８】ポリゴンの３つの頂点を投影面の座標系に変換した一例を示す図である。
【図１９】本実施の形態におけるゲーム装置のハードウェア構成の一例を示す図である。
【図２０】ホスト装置と端末を含むゲーム装置への本実施の形態の適用例を示す図である。
【図２１】本実施形態を業務用のゲーム装置に適用した例を示す図である。
【図２２】仮法線ベクトルを用いた反射計算の一例を示す図である。
【図２３】仮法線ベクトルを用いたリフレクションマッピングの一例を示す図である。
【符号の説明】
１          ゲーム装置
１００            処理部
１１０      ゲーム演算部
１１２            キャラクタ制御部
１２０      画像生成部
１２２            輝度処理部
２００            入力部
３００            表示部
４００            情報記憶媒体
４１０      ゲーム情報
４２０      キャラクタ制御プログラム
４３０      輝度処理プログラム
４４０      キャラクタモデルデータ
４５０      眼球モデルデータ
４５２            頂点データ
４５４            ポリゴンデータ
５００            一時記憶部
５１０      変換後頂点データ
５２０      頂点色情報データ
【図１】
0004006243.tif 000002
【図２】
0004006243.tif 000003
【図３】
0004006243.tif 000004
【図４】
0004006243.tif 000005
【図５】
0004006243.tif 000006
【図６】
0004006243.tif 000007
【図７】
0004006243.tif 000008
【図８】
0004006243.tif 000009
【図９】
0004006243.tif 000010
【図１０】
0004006243.tif 000011
【図１１】
0004006243.tif 000012
【図１２】
0004006243.tif 000013
【図１３】
0004006243.tif 000014
【図１４】
0004006243.tif 000015
【図１５】
0004006243.tif 000016
【図１６】
0004006243.tif 000017
【図１７】
0004006243.tif 000018
【図１８】
0004006243.tif 000019
【図１９】
0004006243.tif 000020
【図２０】
0004006243.tif 000021
【図２１】
0004006243.tif 000022
【図２２】
0004006243.tif 000023
【図２３】
0004006243.tif 000024