(57)【特許請求の範囲】
【請求項１】
複数のラインを有するオブジェクトの画像を生成する画像生成装置であって、
複数のラインを有する前記オブジェクトの各ラインの始点に対して第１の法線ベクトルを設定すると共に、該各ラインの終点に対して第２の法線ベクトルを設定する法線ベクトル設定手段と、
前記第１、第２の法線ベクトルに基づいて、前記複数のラインの各ラインについてのシェーディング演算を行うシェーディング演算手段とを含み、
複数のラインを有する前記オブジェクトがコアオブジェクトを含み、
該コアオブジェクトを構成するプリミティブ面から前記各ラインが伸びるように前記各ラインが設定され、
前記法線ベクトル設定手段は、
前記コアオブジェクトのプリミティブ面に設定された法線ベクトルを、前記第１、第２の法線ベクトルとして前記各ラインの始点、終点に設定することを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記コアオブジェクトを構成するプリミティブ面に設定された前記法線ベクトルの方向に前記各ラインが伸びるように前記各ラインが設定されることを特徴とする画像生成装置。
【請求項３】
請求項１において、
前記複数のラインが、始点から終点に伸びるにしたがい所与の方向に向かって傾斜していることを特徴とする画像生成装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記各ラインの傾斜を可変に制御する傾斜制御手段を含むことを特徴とする画像生成装置。
【請求項５】
請求項４において、
複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、
前記傾斜制御手段は、
該パーツオブジェクトのローカル座標系における所与の座標軸に沿って該パーツオブジェクトをスケーリングすることで、前記各ラインの傾斜を可変に制御することを特徴とする画像生成装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、
該パーツオブジェクトの位置及び方向の少なくとも一方をリアルタイムに変化させるオブジェクト制御手段を含むことを特徴とする画像生成装置。
【請求項７】
コンピュータによる情報の読み出しが可能であり、複数のラインを有するオブジェクトの画像を生成するための情報記憶媒体であって、
複数のラインを有する前記オブジェクトの各ラインの始点に対して第１の法線ベクトルを設定すると共に、該各ラインの終点に対して第２の法線ベクトルを設定する法線ベクトル設定手段と、
前記第１，第２の法線ベクトルに基づいて、前記複数のラインの各ラインについてのシェーディング演算を行うシェーディング演算手段としてコンピュータを機能させるプログラムを記憶し、
複数のラインを有する前記オブジェクトがコアオブジェクトを含み、
該コアオブジェクトを構成するプリミティブ面から前記各ラインが伸びるように前記各ラインが設定され、
前記法線ベクトル設定手段は、
前記コアオブジェクトのプリミティブ面に設定された法線ベクトルを、前記第１、第２の法線ベクトルとして前記各ラインの始点、終点に設定することを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のラインを有するオブジェクトの画像を生成する画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
ゲーム画像やＣＧ画像を生成する画像生成装置においては、画像を見る者の仮想現実感を高めるために、如何にしてリアルな画像を生成するかが重要な技術的課題となっている。そして、画像のリアリティを高める技術として、毛質レンダリング（fur rendering）と呼ばれる技術が知られている。この毛質レンダリングを利用することで、毛の生えた表示物のリアルな表現が可能になり、より写実的な画像を生成できるようになる。
【０００３】
さて、従来の毛質レンダリングでは、以下のようにして毛をモデリングし、レンダリングしていた。即ち、毛を、図１に示すように多角柱（例えば六角柱）オブジェクト３００によりモデリングする。そして、多角柱オブジェクト３００の各頂点に法線ベクトルＮＶを設定する。そして、この法線ベクトルＮＶと、光源ベクトルＬＶ、光源の明るさなどの光源パラメータと、照明モデルに基づいて、多角柱オブジェクト３００のポリゴン（プリミティブ面）のシェーディング演算を行う。
【０００４】
しかしながら、この従来の毛質レンダリングには以下のような問題点がある。
【０００５】
第１に、毛のモデリングに多数のポリゴンが必要になる。従って、画像生成装置の処理の高速化が妨げられる。また、画像生成装置が１フレーム内に処理可能なポリゴン数が限られている場合には、１フレーム内に描画できないポリゴンが発生し、表示物の欠落などの事態を引き起こす。
【０００６】
第２に、シェーディング演算に多数の法線ベクトルを使用する。従って、シェーディング演算の負担が増え、画像生成装置の処理の高速化が妨げられる。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、複数のラインを有するオブジェクトを高速にレンダリングできる画像生成装置及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明は、複数のラインを有するオブジェクトの画像を生成する画像生成装置であって、複数のラインを有する前記オブジェクトの各ラインの始点に対して、該各ラインと同一方向を向く第１の法線ベクトルを設定すると共に、該各ラインの終点に対して、該各ラインと同一方向を向く第２の法線ベクトルを設定する手段と、前記第１，第２の法線ベクトルに基づいて、前記複数のラインの各ラインについてのシェーディング演算を行う手段とを含むことを特徴とする。
【０００９】
本発明によれば、獣毛、人毛、草木や飾りの毛などのラインと同一方向を向く第１，第２の法線ベクトルがラインの始点、終点に設定される。そして、これらの第１，第２の法線ベクトルに基づいてラインがシェーディングされる。このようにすれば、ラインのシェーディングに必要な法線ベクトルの数を少なくできるため、処理の高速化を図れる。そして、本発明によれば、このように処理を高速化できるにもかかわらず、第１，第２の法線ベクトルに基づくリアルな陰影づけがラインに対して施され、複数のラインを有するオブジェクトのリアルな画像を生成できる。
【００１０】
また本発明は、複数のラインを有する前記オブジェクトがコアオブジェクトを含み、該コアオブジェクトを構成するプリミティブ面に設定された法線ベクトルの方向に前記各ラインを伸ばすと共に、該法線ベクトルを、前記第１，第２の法線ベクトルとして前記各ラインの始点、終点に設定することを特徴とする。このようにすれば、プリミティブ面に設定された法線ベクトルを第１，第２の法線ベクトルとして用いることができるため、処理の更なる高速化を図れる。また、コアオブジェクトと同様の陰影づけを各ラインに施すことが可能になり、よりリアルな画像を生成できるようになる。
【００１１】
また本発明は、前記複数のラインが、始点から終点に伸びるにしたがい所与の方向に向かって傾斜していることを特徴とする。このようにすれば、ラインに施された陰影づけを、より目立たせることが可能になる。
【００１２】
また本発明は、前記各ラインの傾斜を可変に制御することを特徴とする。このようにすれば、ラインに対する陰影づけの施され方が異なる種々の画像を生成できるようになり、生成される画像のバラエティを増すことができる。
【００１３】
また本発明は、複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、該パーツオブジェクトのローカル座標系における所与の座標軸に沿って該パーツオブジェクトをスケーリングすることで、前記各ラインの傾斜を可変に制御することを特徴とする。このようにすれば、負担の少ない処理でラインの傾斜を制御できるようになる。
【００１４】
また本発明は、複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、該パーツオブジェクトの位置及び方向の少なくとも一方をリアルタイムに変化させることを特徴とする。このようにすれば、複数のラインを有するオブジェクトをアニメーションさせることができ、ゲームやＣＧに好適な画像を生成できるようになる。
【００１５】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００１６】
なお、以下では、毛オブジェクト（furry  object）の表現に本発明を適用した場合について主に説明する。しかしながら、本発明は、これに限定されず、例えば、毛虫、草木、クリスマスツリーの飾り、絨毯、毛の生えた人体など、複数のラインを有する種々のオブジェクトの表現に適用できる。
【００１７】
１．本実施形態の構成
図２に、本実施形態の機能ブロック図の一例を示す。
【００１８】
ここで操作部１０は、プレーヤが、レバー、ボタン、ステアリング、アクセルペダル、銃等を模したシューティングデバイスなどを操作することで操作データを入力するためのものであり、操作部１０にて得られた操作データは処理部１００に入力される。
【００１９】
処理部１００は、上記操作データと所与のプログラムなどに基づいて、オブジェクト空間にオブジェクトを配置する処理や、このオブジェクト空間の所与の視点での画像を生成する処理を行うものである。この処理部１００の機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、ＡＳＩＣ（ゲートアレイ等）、メモリなどのハードウェアや、所与のプログラムなどにより実現できる。
【００２０】
情報記憶媒体１９０は、プログラムやデータを記憶するものである。この情報記憶媒体１９０の機能は、例えば光ディスク（ＣＤＲＯＭ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、ゲームカセット、ＩＣカード、半導体メモリなどのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１９０からのプログラム、データに基づいて種々の処理を行うことになる。
【００２１】
処理部１００は、ゲーム演算部１１０と画像生成部１５０を含む。
【００２２】
ここでゲーム演算部１１０は、ゲームモードの設定処理、ゲームの進行処理、移動体の位置や方向を決める処理、視点位置や視線方向を決める処理、オブジェクト空間へオブジェクトを配置する処理等を行う。
【００２３】
画像生成部１５０は、ゲーム演算部１１０により設定されたオブジェクト空間での所与の視点での画像を生成する処理を行う。画像生成部１５０により生成された画像は表示部１２において表示される。
【００２４】
ゲーム演算部１１０は、移動体演算部１１２、視点制御部１１４、データ設定部１１６を含む。
【００２５】
ここで移動体演算部１１２は、操作部１０から入力される操作データや所与のプログラムに基づき、プレーヤが操作する移動体や所与の制御プログラム（コンピュータ）により動きが制御される移動体を、オブジェクト空間内で移動させるための演算を行う。より具体的には、移動体の位置や方向を例えば１フレーム（１／６０秒）毎に求める演算を行う。
【００２６】
例えば（ｋ−１）フレームでの移動体の位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでの移動体の位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
【００２７】
視点制御部１１４は、移動体演算部１１２で得られた移動体の位置や方向のデータなどに基づいて、視点位置や視線方向等を求める処理を行う。より具体的には、プレーヤの操作する移動体に例えば追従するように視点を移動させる処理を行う。この場合、移動体に対して例えば慣性を持ちながら視点を追従させることが望ましい。画像生成部１５０は、この視点制御部１１４により制御される視点において見える画像を生成することになる。
【００２８】
なお、移動体の移動に依存せずに、視点位置、視線を独立に制御するようにしてもよい。
【００２９】
データ設定部１１６は、画像生成部１５０での画像生成に必要な種々のデータを設定する処理を行う。より具体的には、毛オブジェクトなどのオブジェクトやオブジェクトを構成するパーツオブジェクトやパーツオブジェクトを構成するポリゴン（広義には、ポリゴン、曲面などのプリミティブ面）に関する位置、方向、色、法線ベクトルなどの各種データを設定するための処理を行う。画像生成部１５０は、データ設定部１１６で設定されたこれらのデータに基づいて画像を生成することになる。
【００３０】
データ設定部１１６は法線ベクトル設定部１１８を含む。法線ベクトル設定部１１８は、毛オブジェクト（広義には複数のラインを有するオブジェクト）が有する毛（広義にはライン）のジオメトリーなどに基づいて、毛と同一方向を向く第１、第２の法線ベクトルを求める。そして、毛の始点に対して上記第１の法線ベクトルを設定すると共に、毛の終点に対して上記第２の法線ベクトルを設定する。
【００３１】
そして、画像生成部１５０が含むシェーディング演算部１５２は、これらの設定された第１，第２の法線ベクトルに基づいて、毛のシェーディングを行うことになる。より具体的には、いわゆるグーローシェーディングの場合には、上記第１，第２の法線ベクトルと光源パラメーター（光源ベクトル等）と照明モデルに基づいて、毛の始点、終点の輝度を求める。そして、これらの輝度を線形補間することで毛の各ドット（ピクセル）の輝度を求める。
【００３２】
なお本実施形態のシェーディング演算はグーローシェーディングに限定されず、少なくとも第１，第２の法線ベクトルを使用できるものであれば、フォンシェーディング、ブリンシェーディング等、種々のシェーディング演算を採用できる。
【００３３】
２．本実施形態の特徴
本実施形態の特徴は以下の通りである。
【００３４】
即ち、本実施形態では図３において、毛２１のジオメトリーなどに基づき、毛２１と同一方向を向く第１の法線ベクトルＮ１１，第２の法線ベクトルＮ１２を求める。具体的には、毛２１の始点ＰＳ１と終点ＰＥ１を結ぶベクトルを求め、このベクトルを正規化することで第１，第２の法線ベクトルＮ１１，Ｎ１２を得る。次に、得られた第１，第２の法線ベクトルＮ１１，Ｎ１２を、各々、毛２１の始点ＰＳ１、終点ＰＥ１に設定する。そして、これらの第１，第２の法線ベクトルＮ１１，Ｎ１２と、光源パラメータ（光源ベクトルＬＶ、光源の明るさ等）と、照明モデル（ランバード拡散反射モデル、鏡面反射モデル等）に基づいて、毛２１のシェーディング演算を行う。
【００３５】
毛２２，２３についても同様に、第１の法線ベクトルＮ２１，Ｎ３１、第２の法線ベクトルＮ２２，Ｎ３２を求め、得られた法線ベクトルと光源パラメータと照明モデルに基づいて毛２２，２３のシェーディング演算を行う。
【００３６】
本実施形態によれば、図１の手法に比べて、非常に簡易なモデルで毛質レンダリングが可能になると共に、シェーディング演算に使用する法線ベクトルの数も非常に少なくなる。従って、画像生成装置の処理の高速化を図れる。これにより、画像生成のリアルタイム性が要求され、１フレーム内ですべてのオブジェクトを描画しなければならないゲーム装置においても、毛質レンダリングを容易に実現できるようになる。
【００３７】
また本実施形態では、毛に対して光源パラメータ、照明モデルに基づくシェーディング演算が通常通り施されるため、上記のように高速な処理が可能でありながら陰影のあるリアルな毛の表現が可能になる。
【００３８】
さて、本実施形態においては、毛オブジェクトがコアオブジェクトを含むようにしてもよい。即ち、このコアオブジェクトから複数の毛（ライン）が伸びるようにする。そして、コアオブジェクトを構成するポリゴン（プリミティブ面）に設定される法線ベクトルの方向に毛を伸ばすようにする。この場合、図４（Ａ）に示すように、コアオブジェクト３０を構成するポリゴン（例えば３１，３２）に垂直な法線ベクトル（例えば３３，３４）の方向に毛が伸びるようにしてもよい。或いは、図４（Ｂ）に示すように、コアオブジェクト３０を構成するポリゴン（例えば３５，３６）の頂点に設定された法線ベクトル（例えば３７，３８，３９，４０）の方向に毛が伸びるようにしてもよい。
【００３９】
そしてコアオブジェクト３０を構成するポリゴンに設定された法線ベクトル（例えば図４（Ａ）、（Ｂ）の３３，３４，３７，３８，３９，４０）を、第１の法線ベクトル（図３のＮ１１，Ｎ２１，Ｎ３１）、第２の法線ベクトル（図３のＮ１２，Ｎ２２，Ｎ３２）として毛の始点、終点に設定する。このようにすれば、第１，第２の法線ベクトルを求める処理（毛の方向ベクトルを求め、そのベクトルを正規化する処理）を省略でき、処理の更なる高速化を図れるようになる。
【００４０】
以上のように、毛オブジェクトにコアオブジェクトを含ませ、コアオブジェクトを構成するポリゴンの法線ベクトルの方向に毛を伸ばすようにすることで、以下のような効果を得ることができる。
【００４１】
即ち図５（Ａ）、（Ｂ）に示すように、ポリゴンに設定される法線ベクトルは、通常、コアオブジェクト３０のシェーディング演算に使用される。そして図６に示すように、本実施形態では毛４４のシェーディング演算が、コアオブジェクト３０のポリゴン４２に設定される法線ベクトルＮと同一のベクトルである第１，第２の法線ベクトルＮ１，Ｎ２により行われる（Ｎ＝Ｎ１＝Ｎ２）。従って、毛４４の始点ＰＳ、終点ＰＥは、ポリゴン４２と同様の陰影づけ（質感）を持つようになる（点光源の場合には若干異なる陰影づけになる）。例えば、毛の終点を結んだ仮想的なオブジェクト４８を仮定したとすると、コアオブジェクト３０の陰影づけと同様の陰影づけが、この仮想的なオブジェクト４８に施されたように見えるようになる。即ち、毛の部分に対して、コアオブジェクト３０と同様の陰影づけが施されたように見える。従って、本実施形態によれば、高速な処理で、毛に対して陰影づけが施されたリアルな毛質レンダリングを実現できるようになる。
【００４２】
図７のような球オブジェクト（コアオブジェクト）５０から毛を伸ばした場合に本実施形態により生成される画像の例を図８に示す。なお実際には球オブジェクト５０のすべての表面から毛が伸びているが、図７では、正面方向に伸びる毛については省略して示している。
【００４３】
図８のＡ１に示すように、本実施形態によれば、球オブジェクト５０及び毛の両方にハイライト効果が施されるようになる。このため、球オブジェクト５０を覆う毛に対して光が当たっている様子を表現でき、画像の写実性を高めることができる。
【００４４】
なお、グーローシェーディングは通常ハイライト表現に不適であるが、照明モデルのパラメータとして鏡面反射（スペキュラー）パラメータを設定することなどにより、グーローシェーディングであってもハイライト表現が可能になる。
【００４５】
さて、本実施形態においては、毛オブジェクトから伸びる複数の毛を、毛の始点から終点に伸びるにしたがい所与の方向に向かって傾斜させることが望ましい。
【００４６】
例えば図９（Ａ）に示すように、毛５２が傾斜していないと、毛５２に施された陰影づけが、プレーヤの視点５４から見て目立たなくなってしまう。
【００４７】
これに対して、図９（Ｂ）に示すように、毛５２を傾斜させれば（図９（Ｂ）では、毛５２が、始点ＰＳから終点ＰＥに伸びるにしたがい右方向に傾斜している）、毛５２に施された陰影づけが、プレーヤの視点５４から見て目立つようになる。図９（Ｂ）では、毛５２の側面が視点５４からよく見えるようになるからである。従って、毛に対してリアルな陰影づけが施されるという本実施形態の手法を最大限に生かすためには、図９（Ｂ）のように毛５２を傾斜させることが望ましい。この場合、すべての毛を一方向（図９（Ｂ）では右方向）に傾斜させることが特に望ましい。
【００４８】
また、本実施形態においては、毛オブジェクトを複数のパーツオブジェクトにより構成してもよい。例えば図１０（Ａ）では、図１０（Ｂ）に示すようなパーツオブジェクト５８を複数個組み合わせて、毛オブジェクト６０を構成する。
【００４９】
ここでパーツオブジェクト５８は、図１０（Ｂ）に示すように、その各々が複数の毛（６１，６２，６３等）を有している。また、図１０（Ｂ）では、図９（Ｂ）と同様にこれらの毛を傾斜させて、毛に施された陰影づけが目立つようになっている。より具体的には、仮想的な輪６４を始点として仮想的な輪６６の方に向かって毛が放射状に伸びている。
【００５０】
この場合、毛の傾斜を可変に制御するようにしてもよい。このようすれば、毛に施された陰影づけの目立ち度合いや毛オブジェクト６０の形状を可変に制御できるようになる。これにより、同じ毛オブジェクト６０を使用しながら、種々の画像表現画が可能になり、表現できる画像のバラエティを増すことができる。
【００５１】
なお、図１０（Ａ）では図７、図８と異なり、毛オブジェクト６０はコアオブジェクトを有していない。このように、毛オブジェクトにコアオブジェクトを含ませるか否かは任意であり、コアオブジェクトを含ませなくても本実施形態によれば十分にリアルな毛質レンダリングを実現できる。
【００５２】
さて、毛の傾斜を可変に制御する手法としては種々の手法を考えることができる。
【００５３】
例えば図１１（Ａ）、（Ｂ）では、各パーツオブジェクト５８に設定されたローカル座標系ＸＹＺ（Ｘ軸は、Ｙ軸及びＺ軸に直交する座標軸であり、図示せず）の中のＺ軸に沿って、パーツオブジェクト５８をスケーリングすることで、毛の傾斜を可変に制御している。即ち、毛の終点の座標のＺ成分をスケーリングすることで、毛の傾斜を可変に制御している。この手法によれば、画像生成装置の処理負担をそれほど増すことなく、毛の傾斜を簡易に制御できるようになる。
【００５４】
なお、図１１（Ａ）、（Ｂ）では、Ｚ軸に沿って毛をスケーリングしているが、Ｘ軸やＹ軸に沿ってスケーリングするようにしてもよい。
【００５５】
さて、図１０（Ａ）に示すように毛オブジェクト６０を複数のパーツオブジェクト５８により構成した場合には、各パーツオブジェクト５８の位置（代表点の位置）Ｐ１，Ｐ２，Ｐ３，Ｐ４、或いは方向Ｄ１，Ｄ２，Ｄ３，Ｄ４をリアルタイムに変化させることが望ましい。このようにすることで、毛オブジェクト６０のアニメーションが可能になり、ゲームやＣＧに最適な動画像を得ることができる。
【００５６】
図１２（Ａ）、（Ｂ）、（Ｃ）、図１３（Ａ）、（Ｂ）、（Ｃ）に、このように毛オブジェクト６０を構成するパーツオブジェクトの位置、方向をリアルタイムに変化させた場合に得られる画像の例を示す。このような画像を用いれば、クリスマスツリーの飾りや草木が揺れる様子、毛虫が動く様子などのリアルな表現が可能になる。これにより、よりリアルなゲーム画像やＣＧ画像を得ることができる。
【００５７】
３．本実施形態の処理例
次に本実施形態の詳細な処理例について、図１４のフローチャートを用いて説明する。
【００５８】
まず、プレーヤの操作データや所与のプログラムに基づいて、各フレームでの視点位置、視線方向を演算する（ステップＳ１）。なお、光源パラメータや照明モデルや画角などは、例えば画像生成装置への電源投入時などに初期設定される。
【００５９】
次に、オブジェクト空間内のすべての毛オブジェクトについての処理が終了したか否か（毛オブジェクト以外のオブジェクトがある場合にはそのオブジェクトの処理についても終了したか否か）を判断する（ステップＳ２）。そして、終了していない場合には、処理が終了していない毛オブジェクトについての位置（代表点の位置）、方向（向く方向）を得る（ステップＳ３）。
【００６０】
この場合、あらかじめ用意された位置データ、方向データに基づいて毛オブジェクトの位置、方向を変化させてもよいし、プレーヤの操作データや、毛オブジェクトの動きを制御するプログラムに基づいて毛オブジェクトの位置、方向を変化させてもよい。
【００６１】
次に、毛オブジェクトを構成するすべてのパーツオブジェクトについての処理が終了したか否かを判断し（ステップＳ４）、終了していない場合には、処理が終了してないパーツオブジェクトについての位置、方向を得る（ステップＳ５）。
【００６２】
この場合、あらかじめ用意された毛オブジェクトのモーションデータに基づいて、パーツオブジェクトの位置や方向を変化させてもよいし、プレーヤの操作データや、パーツオブジェクトの動きを制御するプログラムに基づいてパーツオブジェクトの位置、方向を変化させてもよい。
【００６３】
また、各パーツオブジェクトのワールド座標系での位置、方向は、ステップＳ３で得られた毛オブジェクトの位置、方向に基づいて求められることになる。
【００６４】
次に、毛の質感を表すために色等のマテリアルを設定する（ステップＳ６）。なお、ステップＳ６ではパーツオブジェクト毎にマテリアルの設定を行っているが、毛オブジェクト毎、或いは、毛毎にマテリアルの設定を行ってもよい。
【００６５】
次に、パーツオブジェクトが有するすべての毛（ライン）についての処理が終了したか否かを判断し（ステップＳ７）、終了していない場合には、処理が終了していない毛についての第１，第２の法線ベクトルを求める（ステップＳ８）。即ち、図３で説明したように、毛の始点と終点を結ぶ方向ベクトルを正規化することで第１，第２の法線ベクトルを得る。
【００６６】
次に、第１の法線ベクトルを毛の始点に設定する（ステップＳ９）。そして、毛の始点の位置等を設定する（ステップＳ１０）。この場合、毛の始点のワールド座標系での位置は、ステップＳ５で得られたパーツオブジェクトの位置、方向に基づいて求められることになる。
【００６７】
次に、第２の法線ベクトルを毛の終点に設定する（ステップＳ１１）。そして、毛の終点の位置等を設定する（ステップＳ１２）。毛の終点のワールド座標系での位置は、ステップＳ５で得られたパーツオブジェクトの位置、方向に基づいて求められることになる。
【００６８】
以上のようにして、すべての毛オブジェクト、すべてのパーツオブジェクト、すべての毛についての処理が終了すると、シェーディング演算が行われる（ステップＳ１３）。この場合、本実施形態では、ステップＳ９、Ｓ１１で毛の始点、終点に設定された第１，第２の法線ベクトルに基づいて、毛のシェーディング演算が行われることになる。
【００６９】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１５を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００７０】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【００７１】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００７２】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００７３】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００７４】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。これにより、電話回線を介した遠隔地通信なども可能になる。
【００７５】
そして図２〜図１３（Ｃ）で説明した種々の処理は、図１４のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００７６】
図１６（Ａ）に、本実施形態を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４を操作してゲームを楽しむ。装置に内蔵されるシステムボード１１０６には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装されている。そして、複数のラインを有するオブジェクトの各ラインの始点に対して、該各ラインと同一方向を向く第１の法線ベクトルを設定すると共に、該各ラインの終点に対して、該各ラインと同一方向を向く第２の法線ベクトルを設定するための情報、第１，第２の法線ベクトルに基づいて、複数のラインの各ラインについてのシェーディング演算を行うための情報、コアオブジェクトを構成するプリミティブ面に設定された法線ベクトルの方向に各ラインを伸ばすと共に、該法線ベクトルを、第１，第２の法線ベクトルとして各ラインの始点、終点に設定するための情報など、本実施形態を実現するための種々の情報は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００７７】
図１６（Ｂ）に、本実施形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００７８】
図１６（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４-1〜１３０４-nとを含むゲーム装置に本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【００７９】
図１７に、画像生成装置の１つであるＣＧ作成ツールに本実施形態を適用した場合の例を示す。開発者は、キーボード２００、マウス２０２などの操作手段を用いて、ＣＧ作成に必要な種々のデータを入力したり、ＣＧ作成ツールへの種々の指示を行う。
【００８０】
処理部２１０は、ＣＧ作成部２１２と、ＣＧ作成部２１２で設定されたデータに基づいて画像を生成する画像生成部２１４とを含む。
【００８１】
ＣＧ作成部２１２は、画像生成部２１４での画像生成に必要な種々のデータ（毛オブジェクト、パーツオブジェクト、ポリゴンなどに関する位置、方向、色、法線ベクトルなどのデータ）を設定するデータ設定部２２０を含む。そして、データ設定部２２０は、毛の始点、終点に毛と同一方向を向く第１，第２の法線ベクトルを設定する法線ベクトル設定部２２２を含む。
【００８２】
画像生成部２１４は、法線ベクトル設定部２２２で設定された第１，第２の法線ベクトルに基づいてシェーディング演算を行うシェーディング演算部２２４を含む。画像生成部２１４により生成されたＣＧ画像は表示部２１８に表示される。
【００８３】
情報記憶媒体２１６には、ＣＧ作成プログラムや、このプログラムの実行のために必要な種々のデータが格納されている。
【００８４】
図１７のＣＧ作成ツールによれば、毛オブジェクトの形状、動き、陰影づけ（質感）などを確認しながらＣＧ画像を生成できるため、設計作業の効率化を図れる。
【００８５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【００８６】
例えば本発明は、毛オブジェクトに限らず、複数のラインを有する種々のオブジェクトの画像生成に適用できる。
【００８７】
また、本発明においては、各ラインに色のグラディエーションなどを持たせることが望ましい。このようにすることで、より豊かな画像表現が可能になる。
【００８８】
また、複数のラインを有するオブジェクトは、コアオブジェクトを含まなくてもよいし、複数のパーツオブジェクトにより構成されていなくてもよい。
【００８９】
また、第１，第２の法線ベクトルの設定手法についても、本実施形態で説明した手法と数学的に等価な手法であれば本発明の範囲内に含まれる。
【００９０】
また本発明は、家庭用、業務用のゲーム装置、ＣＧ作成ツールのみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成装置にも適用できる。
【００９１】
【図面の簡単な説明】
【図１】毛質レンダリングの問題点について説明するための図である。
【図２】本実施形態の画像生成装置の機能ブロック図の一例である。
【図３】本実施形態の特徴について説明するための図である。
【図４】図４（Ａ）、（Ｂ）は、ポリゴンに設定された法線ベクトルの方向に毛を伸ばす手法について説明するための図である。
【図５】図５（Ａ）、（Ｂ）は、法線ベクトルを用いたコアオブジェクトのシェーディング演算について説明するための図である。
【図６】毛に対してリアルな陰影づけが施される理由について説明するための図である。
【図７】球オブジェクト（コアオブジェクト）から法線ベクトルの方向に毛を伸ばす手法について説明するための図である。
【図８】図７の手法で生成された画像の例を示す図である。
【図９】図９（Ａ）、（Ｂ）は、毛を所与の方向に傾斜させる手法について説明するための図である。
【図１０】図１０（Ａ）、（Ｂ）は、毛オブジェクトを複数のパーツオブジェクトにより構成する手法について説明するための図である。
【図１１】図１１（Ａ）、（Ｂ）は、Ｚ軸に沿ったスケーリングにより毛の傾斜を可変に制御する手法について説明するための図である。
【図１２】図１２（Ａ）、（Ｂ）、（Ｃ）は、パーツオブジェクトの位置、方向をリアルタイムに変化させることで生成される画像の例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）も、パーツオブジェクトの位置、方向をリアルタイムに変化させることで生成される画像の例を示す図である。
【図１４】本実施形態の詳細な処理例を説明するためのフローチャートである。
【図１５】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１６】図１６（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態の装置の例を示す図である。
【図１７】本実施形態をＣＧ作成ツールに適用した場合の例を示す図である。
【符号の説明】
Ｎ１１，Ｎ２１，Ｎ３１  第１の法線ベクトル
Ｎ１２，Ｎ２２，Ｎ３２  第２の法線ベクトル
ＰＳ１，ＰＳ２，ＰＳ３  始点
ＰＥ１，ＰＥ２，ＰＥ３  終点
ＬＶ    光源ベクトル
１０    操作部
１２    表示部
２１，２２，２３  毛（ライン）
３０    コアオブジェクト
３１，３２，３５，３６  ポリゴン（プリミティブ面）
３３，３４，３７，３８，３９，４０  法線ベクトル
１００  処理部
１１０  ゲーム演算部
１１２  移動体演算部
１１４  視点制御部
１１６  データ設定部
１１８  法線ベクトル設定部
１５０  画像生成部
１５２  シェーディング演算部
１９０  情報記憶媒体
【図１】
0004159060.tif 000002
【図２】
0004159060.tif 000003
【図３】
0004159060.tif 000004
【図４】
0004159060.tif 000005
【図５】
0004159060.tif 000006
【図６】
0004159060.tif 000007
【図７】
0004159060.tif 000008
【図８】
0004159060.tif 000009
【図９】
0004159060.tif 000010
【図１０】
0004159060.tif 000011
【図１１】
0004159060.tif 000012
【図１２】
0004159060.tif 000013
【図１３】
0004159060.tif 000014
【図１４】
0004159060.tif 000015
【図１５】
0004159060.tif 000016
【図１６】
0004159060.tif 000017
【図１７】
0004159060.tif 000018