JP4159060B2 - 画像生成装置及び情報記憶媒体 - Google Patents
画像生成装置及び情報記憶媒体 Download PDFInfo
- Publication number
- JP4159060B2 JP4159060B2 JP21978498A JP21978498A JP4159060B2 JP 4159060 B2 JP4159060 B2 JP 4159060B2 JP 21978498 A JP21978498 A JP 21978498A JP 21978498 A JP21978498 A JP 21978498A JP 4159060 B2 JP4159060 B2 JP 4159060B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- lines
- hair
- normal vector
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、複数のラインを有するオブジェクトの画像を生成する画像生成装置及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
ゲーム画像やCG画像を生成する画像生成装置においては、画像を見る者の仮想現実感を高めるために、如何にしてリアルな画像を生成するかが重要な技術的課題となっている。そして、画像のリアリティを高める技術として、毛質レンダリング(fur rendering)と呼ばれる技術が知られている。この毛質レンダリングを利用することで、毛の生えた表示物のリアルな表現が可能になり、より写実的な画像を生成できるようになる。
【0003】
さて、従来の毛質レンダリングでは、以下のようにして毛をモデリングし、レンダリングしていた。即ち、毛を、図1に示すように多角柱(例えば六角柱)オブジェクト300によりモデリングする。そして、多角柱オブジェクト300の各頂点に法線ベクトルNVを設定する。そして、この法線ベクトルNVと、光源ベクトルLV、光源の明るさなどの光源パラメータと、照明モデルに基づいて、多角柱オブジェクト300のポリゴン(プリミティブ面)のシェーディング演算を行う。
【0004】
しかしながら、この従来の毛質レンダリングには以下のような問題点がある。
【0005】
第1に、毛のモデリングに多数のポリゴンが必要になる。従って、画像生成装置の処理の高速化が妨げられる。また、画像生成装置が1フレーム内に処理可能なポリゴン数が限られている場合には、1フレーム内に描画できないポリゴンが発生し、表示物の欠落などの事態を引き起こす。
【0006】
第2に、シェーディング演算に多数の法線ベクトルを使用する。従って、シェーディング演算の負担が増え、画像生成装置の処理の高速化が妨げられる。
【0007】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、複数のラインを有するオブジェクトを高速にレンダリングできる画像生成装置及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、複数のラインを有するオブジェクトの画像を生成する画像生成装置であって、複数のラインを有する前記オブジェクトの各ラインの始点に対して、該各ラインと同一方向を向く第1の法線ベクトルを設定すると共に、該各ラインの終点に対して、該各ラインと同一方向を向く第2の法線ベクトルを設定する手段と、前記第1,第2の法線ベクトルに基づいて、前記複数のラインの各ラインについてのシェーディング演算を行う手段とを含むことを特徴とする。
【0009】
本発明によれば、獣毛、人毛、草木や飾りの毛などのラインと同一方向を向く第1,第2の法線ベクトルがラインの始点、終点に設定される。そして、これらの第1,第2の法線ベクトルに基づいてラインがシェーディングされる。このようにすれば、ラインのシェーディングに必要な法線ベクトルの数を少なくできるため、処理の高速化を図れる。そして、本発明によれば、このように処理を高速化できるにもかかわらず、第1,第2の法線ベクトルに基づくリアルな陰影づけがラインに対して施され、複数のラインを有するオブジェクトのリアルな画像を生成できる。
【0010】
また本発明は、複数のラインを有する前記オブジェクトがコアオブジェクトを含み、該コアオブジェクトを構成するプリミティブ面に設定された法線ベクトルの方向に前記各ラインを伸ばすと共に、該法線ベクトルを、前記第1,第2の法線ベクトルとして前記各ラインの始点、終点に設定することを特徴とする。このようにすれば、プリミティブ面に設定された法線ベクトルを第1,第2の法線ベクトルとして用いることができるため、処理の更なる高速化を図れる。また、コアオブジェクトと同様の陰影づけを各ラインに施すことが可能になり、よりリアルな画像を生成できるようになる。
【0011】
また本発明は、前記複数のラインが、始点から終点に伸びるにしたがい所与の方向に向かって傾斜していることを特徴とする。このようにすれば、ラインに施された陰影づけを、より目立たせることが可能になる。
【0012】
また本発明は、前記各ラインの傾斜を可変に制御することを特徴とする。このようにすれば、ラインに対する陰影づけの施され方が異なる種々の画像を生成できるようになり、生成される画像のバラエティを増すことができる。
【0013】
また本発明は、複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、該パーツオブジェクトのローカル座標系における所与の座標軸に沿って該パーツオブジェクトをスケーリングすることで、前記各ラインの傾斜を可変に制御することを特徴とする。このようにすれば、負担の少ない処理でラインの傾斜を制御できるようになる。
【0014】
また本発明は、複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、該パーツオブジェクトの位置及び方向の少なくとも一方をリアルタイムに変化させることを特徴とする。このようにすれば、複数のラインを有するオブジェクトをアニメーションさせることができ、ゲームやCGに好適な画像を生成できるようになる。
【0015】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0016】
なお、以下では、毛オブジェクト(furry object)の表現に本発明を適用した場合について主に説明する。しかしながら、本発明は、これに限定されず、例えば、毛虫、草木、クリスマスツリーの飾り、絨毯、毛の生えた人体など、複数のラインを有する種々のオブジェクトの表現に適用できる。
【0017】
1.本実施形態の構成
図2に、本実施形態の機能ブロック図の一例を示す。
【0018】
ここで操作部10は、プレーヤが、レバー、ボタン、ステアリング、アクセルペダル、銃等を模したシューティングデバイスなどを操作することで操作データを入力するためのものであり、操作部10にて得られた操作データは処理部100に入力される。
【0019】
処理部100は、上記操作データと所与のプログラムなどに基づいて、オブジェクト空間にオブジェクトを配置する処理や、このオブジェクト空間の所与の視点での画像を生成する処理を行うものである。この処理部100の機能は、CPU(CISC型、RISC型)、DSP、ASIC(ゲートアレイ等)、メモリなどのハードウェアや、所与のプログラムなどにより実現できる。
【0020】
情報記憶媒体190は、プログラムやデータを記憶するものである。この情報記憶媒体190の機能は、例えば光ディスク(CDROM、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、ゲームカセット、ICカード、半導体メモリなどのハードウェアにより実現できる。処理部100は、この情報記憶媒体190からのプログラム、データに基づいて種々の処理を行うことになる。
【0021】
処理部100は、ゲーム演算部110と画像生成部150を含む。
【0022】
ここでゲーム演算部110は、ゲームモードの設定処理、ゲームの進行処理、移動体の位置や方向を決める処理、視点位置や視線方向を決める処理、オブジェクト空間へオブジェクトを配置する処理等を行う。
【0023】
画像生成部150は、ゲーム演算部110により設定されたオブジェクト空間での所与の視点での画像を生成する処理を行う。画像生成部150により生成された画像は表示部12において表示される。
【0024】
ゲーム演算部110は、移動体演算部112、視点制御部114、データ設定部116を含む。
【0025】
ここで移動体演算部112は、操作部10から入力される操作データや所与のプログラムに基づき、プレーヤが操作する移動体や所与の制御プログラム(コンピュータ)により動きが制御される移動体を、オブジェクト空間内で移動させるための演算を行う。より具体的には、移動体の位置や方向を例えば1フレーム(1/60秒)毎に求める演算を行う。
【0026】
例えば(k−1)フレームでの移動体の位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでの移動体の位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
【0027】
視点制御部114は、移動体演算部112で得られた移動体の位置や方向のデータなどに基づいて、視点位置や視線方向等を求める処理を行う。より具体的には、プレーヤの操作する移動体に例えば追従するように視点を移動させる処理を行う。この場合、移動体に対して例えば慣性を持ちながら視点を追従させることが望ましい。画像生成部150は、この視点制御部114により制御される視点において見える画像を生成することになる。
【0028】
なお、移動体の移動に依存せずに、視点位置、視線を独立に制御するようにしてもよい。
【0029】
データ設定部116は、画像生成部150での画像生成に必要な種々のデータを設定する処理を行う。より具体的には、毛オブジェクトなどのオブジェクトやオブジェクトを構成するパーツオブジェクトやパーツオブジェクトを構成するポリゴン(広義には、ポリゴン、曲面などのプリミティブ面)に関する位置、方向、色、法線ベクトルなどの各種データを設定するための処理を行う。画像生成部150は、データ設定部116で設定されたこれらのデータに基づいて画像を生成することになる。
【0030】
データ設定部116は法線ベクトル設定部118を含む。法線ベクトル設定部118は、毛オブジェクト(広義には複数のラインを有するオブジェクト)が有する毛(広義にはライン)のジオメトリーなどに基づいて、毛と同一方向を向く第1、第2の法線ベクトルを求める。そして、毛の始点に対して上記第1の法線ベクトルを設定すると共に、毛の終点に対して上記第2の法線ベクトルを設定する。
【0031】
そして、画像生成部150が含むシェーディング演算部152は、これらの設定された第1,第2の法線ベクトルに基づいて、毛のシェーディングを行うことになる。より具体的には、いわゆるグーローシェーディングの場合には、上記第1,第2の法線ベクトルと光源パラメーター(光源ベクトル等)と照明モデルに基づいて、毛の始点、終点の輝度を求める。そして、これらの輝度を線形補間することで毛の各ドット(ピクセル)の輝度を求める。
【0032】
なお本実施形態のシェーディング演算はグーローシェーディングに限定されず、少なくとも第1,第2の法線ベクトルを使用できるものであれば、フォンシェーディング、ブリンシェーディング等、種々のシェーディング演算を採用できる。
【0033】
2.本実施形態の特徴
本実施形態の特徴は以下の通りである。
【0034】
即ち、本実施形態では図3において、毛21のジオメトリーなどに基づき、毛21と同一方向を向く第1の法線ベクトルN11,第2の法線ベクトルN12を求める。具体的には、毛21の始点PS1と終点PE1を結ぶベクトルを求め、このベクトルを正規化することで第1,第2の法線ベクトルN11,N12を得る。次に、得られた第1,第2の法線ベクトルN11,N12を、各々、毛21の始点PS1、終点PE1に設定する。そして、これらの第1,第2の法線ベクトルN11,N12と、光源パラメータ(光源ベクトルLV、光源の明るさ等)と、照明モデル(ランバード拡散反射モデル、鏡面反射モデル等)に基づいて、毛21のシェーディング演算を行う。
【0035】
毛22,23についても同様に、第1の法線ベクトルN21,N31、第2の法線ベクトルN22,N32を求め、得られた法線ベクトルと光源パラメータと照明モデルに基づいて毛22,23のシェーディング演算を行う。
【0036】
本実施形態によれば、図1の手法に比べて、非常に簡易なモデルで毛質レンダリングが可能になると共に、シェーディング演算に使用する法線ベクトルの数も非常に少なくなる。従って、画像生成装置の処理の高速化を図れる。これにより、画像生成のリアルタイム性が要求され、1フレーム内ですべてのオブジェクトを描画しなければならないゲーム装置においても、毛質レンダリングを容易に実現できるようになる。
【0037】
また本実施形態では、毛に対して光源パラメータ、照明モデルに基づくシェーディング演算が通常通り施されるため、上記のように高速な処理が可能でありながら陰影のあるリアルな毛の表現が可能になる。
【0038】
さて、本実施形態においては、毛オブジェクトがコアオブジェクトを含むようにしてもよい。即ち、このコアオブジェクトから複数の毛(ライン)が伸びるようにする。そして、コアオブジェクトを構成するポリゴン(プリミティブ面)に設定される法線ベクトルの方向に毛を伸ばすようにする。この場合、図4(A)に示すように、コアオブジェクト30を構成するポリゴン(例えば31,32)に垂直な法線ベクトル(例えば33,34)の方向に毛が伸びるようにしてもよい。或いは、図4(B)に示すように、コアオブジェクト30を構成するポリゴン(例えば35,36)の頂点に設定された法線ベクトル(例えば37,38,39,40)の方向に毛が伸びるようにしてもよい。
【0039】
そしてコアオブジェクト30を構成するポリゴンに設定された法線ベクトル(例えば図4(A)、(B)の33,34,37,38,39,40)を、第1の法線ベクトル(図3のN11,N21,N31)、第2の法線ベクトル(図3のN12,N22,N32)として毛の始点、終点に設定する。このようにすれば、第1,第2の法線ベクトルを求める処理(毛の方向ベクトルを求め、そのベクトルを正規化する処理)を省略でき、処理の更なる高速化を図れるようになる。
【0040】
以上のように、毛オブジェクトにコアオブジェクトを含ませ、コアオブジェクトを構成するポリゴンの法線ベクトルの方向に毛を伸ばすようにすることで、以下のような効果を得ることができる。
【0041】
即ち図5(A)、(B)に示すように、ポリゴンに設定される法線ベクトルは、通常、コアオブジェクト30のシェーディング演算に使用される。そして図6に示すように、本実施形態では毛44のシェーディング演算が、コアオブジェクト30のポリゴン42に設定される法線ベクトルNと同一のベクトルである第1,第2の法線ベクトルN1,N2により行われる(N=N1=N2)。従って、毛44の始点PS、終点PEは、ポリゴン42と同様の陰影づけ(質感)を持つようになる(点光源の場合には若干異なる陰影づけになる)。例えば、毛の終点を結んだ仮想的なオブジェクト48を仮定したとすると、コアオブジェクト30の陰影づけと同様の陰影づけが、この仮想的なオブジェクト48に施されたように見えるようになる。即ち、毛の部分に対して、コアオブジェクト30と同様の陰影づけが施されたように見える。従って、本実施形態によれば、高速な処理で、毛に対して陰影づけが施されたリアルな毛質レンダリングを実現できるようになる。
【0042】
図7のような球オブジェクト(コアオブジェクト)50から毛を伸ばした場合に本実施形態により生成される画像の例を図8に示す。なお実際には球オブジェクト50のすべての表面から毛が伸びているが、図7では、正面方向に伸びる毛については省略して示している。
【0043】
図8のA1に示すように、本実施形態によれば、球オブジェクト50及び毛の両方にハイライト効果が施されるようになる。このため、球オブジェクト50を覆う毛に対して光が当たっている様子を表現でき、画像の写実性を高めることができる。
【0044】
なお、グーローシェーディングは通常ハイライト表現に不適であるが、照明モデルのパラメータとして鏡面反射(スペキュラー)パラメータを設定することなどにより、グーローシェーディングであってもハイライト表現が可能になる。
【0045】
さて、本実施形態においては、毛オブジェクトから伸びる複数の毛を、毛の始点から終点に伸びるにしたがい所与の方向に向かって傾斜させることが望ましい。
【0046】
例えば図9(A)に示すように、毛52が傾斜していないと、毛52に施された陰影づけが、プレーヤの視点54から見て目立たなくなってしまう。
【0047】
これに対して、図9(B)に示すように、毛52を傾斜させれば(図9(B)では、毛52が、始点PSから終点PEに伸びるにしたがい右方向に傾斜している)、毛52に施された陰影づけが、プレーヤの視点54から見て目立つようになる。図9(B)では、毛52の側面が視点54からよく見えるようになるからである。従って、毛に対してリアルな陰影づけが施されるという本実施形態の手法を最大限に生かすためには、図9(B)のように毛52を傾斜させることが望ましい。この場合、すべての毛を一方向(図9(B)では右方向)に傾斜させることが特に望ましい。
【0048】
また、本実施形態においては、毛オブジェクトを複数のパーツオブジェクトにより構成してもよい。例えば図10(A)では、図10(B)に示すようなパーツオブジェクト58を複数個組み合わせて、毛オブジェクト60を構成する。
【0049】
ここでパーツオブジェクト58は、図10(B)に示すように、その各々が複数の毛(61,62,63等)を有している。また、図10(B)では、図9(B)と同様にこれらの毛を傾斜させて、毛に施された陰影づけが目立つようになっている。より具体的には、仮想的な輪64を始点として仮想的な輪66の方に向かって毛が放射状に伸びている。
【0050】
この場合、毛の傾斜を可変に制御するようにしてもよい。このようすれば、毛に施された陰影づけの目立ち度合いや毛オブジェクト60の形状を可変に制御できるようになる。これにより、同じ毛オブジェクト60を使用しながら、種々の画像表現画が可能になり、表現できる画像のバラエティを増すことができる。
【0051】
なお、図10(A)では図7、図8と異なり、毛オブジェクト60はコアオブジェクトを有していない。このように、毛オブジェクトにコアオブジェクトを含ませるか否かは任意であり、コアオブジェクトを含ませなくても本実施形態によれば十分にリアルな毛質レンダリングを実現できる。
【0052】
さて、毛の傾斜を可変に制御する手法としては種々の手法を考えることができる。
【0053】
例えば図11(A)、(B)では、各パーツオブジェクト58に設定されたローカル座標系XYZ(X軸は、Y軸及びZ軸に直交する座標軸であり、図示せず)の中のZ軸に沿って、パーツオブジェクト58をスケーリングすることで、毛の傾斜を可変に制御している。即ち、毛の終点の座標のZ成分をスケーリングすることで、毛の傾斜を可変に制御している。この手法によれば、画像生成装置の処理負担をそれほど増すことなく、毛の傾斜を簡易に制御できるようになる。
【0054】
なお、図11(A)、(B)では、Z軸に沿って毛をスケーリングしているが、X軸やY軸に沿ってスケーリングするようにしてもよい。
【0055】
さて、図10(A)に示すように毛オブジェクト60を複数のパーツオブジェクト58により構成した場合には、各パーツオブジェクト58の位置(代表点の位置)P1,P2,P3,P4、或いは方向D1,D2,D3,D4をリアルタイムに変化させることが望ましい。このようにすることで、毛オブジェクト60のアニメーションが可能になり、ゲームやCGに最適な動画像を得ることができる。
【0056】
図12(A)、(B)、(C)、図13(A)、(B)、(C)に、このように毛オブジェクト60を構成するパーツオブジェクトの位置、方向をリアルタイムに変化させた場合に得られる画像の例を示す。このような画像を用いれば、クリスマスツリーの飾りや草木が揺れる様子、毛虫が動く様子などのリアルな表現が可能になる。これにより、よりリアルなゲーム画像やCG画像を得ることができる。
【0057】
3.本実施形態の処理例
次に本実施形態の詳細な処理例について、図14のフローチャートを用いて説明する。
【0058】
まず、プレーヤの操作データや所与のプログラムに基づいて、各フレームでの視点位置、視線方向を演算する(ステップS1)。なお、光源パラメータや照明モデルや画角などは、例えば画像生成装置への電源投入時などに初期設定される。
【0059】
次に、オブジェクト空間内のすべての毛オブジェクトについての処理が終了したか否か(毛オブジェクト以外のオブジェクトがある場合にはそのオブジェクトの処理についても終了したか否か)を判断する(ステップS2)。そして、終了していない場合には、処理が終了していない毛オブジェクトについての位置(代表点の位置)、方向(向く方向)を得る(ステップS3)。
【0060】
この場合、あらかじめ用意された位置データ、方向データに基づいて毛オブジェクトの位置、方向を変化させてもよいし、プレーヤの操作データや、毛オブジェクトの動きを制御するプログラムに基づいて毛オブジェクトの位置、方向を変化させてもよい。
【0061】
次に、毛オブジェクトを構成するすべてのパーツオブジェクトについての処理が終了したか否かを判断し(ステップS4)、終了していない場合には、処理が終了してないパーツオブジェクトについての位置、方向を得る(ステップS5)。
【0062】
この場合、あらかじめ用意された毛オブジェクトのモーションデータに基づいて、パーツオブジェクトの位置や方向を変化させてもよいし、プレーヤの操作データや、パーツオブジェクトの動きを制御するプログラムに基づいてパーツオブジェクトの位置、方向を変化させてもよい。
【0063】
また、各パーツオブジェクトのワールド座標系での位置、方向は、ステップS3で得られた毛オブジェクトの位置、方向に基づいて求められることになる。
【0064】
次に、毛の質感を表すために色等のマテリアルを設定する(ステップS6)。なお、ステップS6ではパーツオブジェクト毎にマテリアルの設定を行っているが、毛オブジェクト毎、或いは、毛毎にマテリアルの設定を行ってもよい。
【0065】
次に、パーツオブジェクトが有するすべての毛(ライン)についての処理が終了したか否かを判断し(ステップS7)、終了していない場合には、処理が終了していない毛についての第1,第2の法線ベクトルを求める(ステップS8)。即ち、図3で説明したように、毛の始点と終点を結ぶ方向ベクトルを正規化することで第1,第2の法線ベクトルを得る。
【0066】
次に、第1の法線ベクトルを毛の始点に設定する(ステップS9)。そして、毛の始点の位置等を設定する(ステップS10)。この場合、毛の始点のワールド座標系での位置は、ステップS5で得られたパーツオブジェクトの位置、方向に基づいて求められることになる。
【0067】
次に、第2の法線ベクトルを毛の終点に設定する(ステップS11)。そして、毛の終点の位置等を設定する(ステップS12)。毛の終点のワールド座標系での位置は、ステップS5で得られたパーツオブジェクトの位置、方向に基づいて求められることになる。
【0068】
以上のようにして、すべての毛オブジェクト、すべてのパーツオブジェクト、すべての毛についての処理が終了すると、シェーディング演算が行われる(ステップS13)。この場合、本実施形態では、ステップS9、S11で毛の始点、終点に設定された第1,第2の法線ベクトルに基づいて、毛のシェーディング演算が行われることになる。
【0069】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図15を用いて説明する。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ送受信可能に接続されている。そして前記画像生成IC1010にはディスプレイ1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0070】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてCD−ROM、ゲームカセット、DVD等が用いられる。また業務用ゲーム装置ではROM等のメモリが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0071】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0072】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000は装置全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このRAM又は情報記憶媒体上に構築されることになる。
【0073】
更に、この種の装置には音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。なおディスプレイ1018として、いわゆるヘッドマウントディスプレイ(HMD)と呼ばれるものを使用することもできる。
【0074】
また、通信装置1024はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。これにより、電話回線を介した遠隔地通信なども可能になる。
【0075】
そして図2〜図13(C)で説明した種々の処理は、図14のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0076】
図16(A)に、本実施形態を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104を操作してゲームを楽しむ。装置に内蔵されるシステムボード1106には、CPU、画像生成IC、音生成IC等が実装されている。そして、複数のラインを有するオブジェクトの各ラインの始点に対して、該各ラインと同一方向を向く第1の法線ベクトルを設定すると共に、該各ラインの終点に対して、該各ラインと同一方向を向く第2の法線ベクトルを設定するための情報、第1,第2の法線ベクトルに基づいて、複数のラインの各ラインについてのシェーディング演算を行うための情報、コアオブジェクトを構成するプリミティブ面に設定された法線ベクトルの方向に各ラインを伸ばすと共に、該法線ベクトルを、第1,第2の法線ベクトルとして各ラインの始点、終点に設定するための情報など、本実施形態を実現するための種々の情報は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも1つを含むものである。
【0077】
図16(B)に、本実施形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、1209等に格納されている。
【0078】
図16(C)に、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304-1〜1304-nとを含むゲーム装置に本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、CPU、画像生成IC、音生成ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0079】
図17に、画像生成装置の1つであるCG作成ツールに本実施形態を適用した場合の例を示す。開発者は、キーボード200、マウス202などの操作手段を用いて、CG作成に必要な種々のデータを入力したり、CG作成ツールへの種々の指示を行う。
【0080】
処理部210は、CG作成部212と、CG作成部212で設定されたデータに基づいて画像を生成する画像生成部214とを含む。
【0081】
CG作成部212は、画像生成部214での画像生成に必要な種々のデータ(毛オブジェクト、パーツオブジェクト、ポリゴンなどに関する位置、方向、色、法線ベクトルなどのデータ)を設定するデータ設定部220を含む。そして、データ設定部220は、毛の始点、終点に毛と同一方向を向く第1,第2の法線ベクトルを設定する法線ベクトル設定部222を含む。
【0082】
画像生成部214は、法線ベクトル設定部222で設定された第1,第2の法線ベクトルに基づいてシェーディング演算を行うシェーディング演算部224を含む。画像生成部214により生成されたCG画像は表示部218に表示される。
【0083】
情報記憶媒体216には、CG作成プログラムや、このプログラムの実行のために必要な種々のデータが格納されている。
【0084】
図17のCG作成ツールによれば、毛オブジェクトの形状、動き、陰影づけ(質感)などを確認しながらCG画像を生成できるため、設計作業の効率化を図れる。
【0085】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0086】
例えば本発明は、毛オブジェクトに限らず、複数のラインを有する種々のオブジェクトの画像生成に適用できる。
【0087】
また、本発明においては、各ラインに色のグラディエーションなどを持たせることが望ましい。このようにすることで、より豊かな画像表現が可能になる。
【0088】
また、複数のラインを有するオブジェクトは、コアオブジェクトを含まなくてもよいし、複数のパーツオブジェクトにより構成されていなくてもよい。
【0089】
また、第1,第2の法線ベクトルの設定手法についても、本実施形態で説明した手法と数学的に等価な手法であれば本発明の範囲内に含まれる。
【0090】
また本発明は、家庭用、業務用のゲーム装置、CG作成ツールのみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成装置にも適用できる。
【0091】
【図面の簡単な説明】
【図1】毛質レンダリングの問題点について説明するための図である。
【図2】本実施形態の画像生成装置の機能ブロック図の一例である。
【図3】本実施形態の特徴について説明するための図である。
【図4】図4(A)、(B)は、ポリゴンに設定された法線ベクトルの方向に毛を伸ばす手法について説明するための図である。
【図5】図5(A)、(B)は、法線ベクトルを用いたコアオブジェクトのシェーディング演算について説明するための図である。
【図6】毛に対してリアルな陰影づけが施される理由について説明するための図である。
【図7】球オブジェクト(コアオブジェクト)から法線ベクトルの方向に毛を伸ばす手法について説明するための図である。
【図8】図7の手法で生成された画像の例を示す図である。
【図9】図9(A)、(B)は、毛を所与の方向に傾斜させる手法について説明するための図である。
【図10】図10(A)、(B)は、毛オブジェクトを複数のパーツオブジェクトにより構成する手法について説明するための図である。
【図11】図11(A)、(B)は、Z軸に沿ったスケーリングにより毛の傾斜を可変に制御する手法について説明するための図である。
【図12】図12(A)、(B)、(C)は、パーツオブジェクトの位置、方向をリアルタイムに変化させることで生成される画像の例を示す図である。
【図13】図13(A)、(B)、(C)も、パーツオブジェクトの位置、方向をリアルタイムに変化させることで生成される画像の例を示す図である。
【図14】本実施形態の詳細な処理例を説明するためのフローチャートである。
【図15】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図16】図16(A)、(B)、(C)は、本実施形態が適用される種々の形態の装置の例を示す図である。
【図17】本実施形態をCG作成ツールに適用した場合の例を示す図である。
【符号の説明】
N11,N21,N31 第1の法線ベクトル
N12,N22,N32 第2の法線ベクトル
PS1,PS2,PS3 始点
PE1,PE2,PE3 終点
LV 光源ベクトル
10 操作部
12 表示部
21,22,23 毛(ライン)
30 コアオブジェクト
31,32,35,36 ポリゴン(プリミティブ面)
33,34,37,38,39,40 法線ベクトル
100 処理部
110 ゲーム演算部
112 移動体演算部
114 視点制御部
116 データ設定部
118 法線ベクトル設定部
150 画像生成部
152 シェーディング演算部
190 情報記憶媒体
Claims (7)
- 複数のラインを有するオブジェクトの画像を生成する画像生成装置であって、
複数のラインを有する前記オブジェクトの各ラインの始点に対して第1の法線ベクトルを設定すると共に、該各ラインの終点に対して第2の法線ベクトルを設定する法線ベクトル設定手段と、
前記第1、第2の法線ベクトルに基づいて、前記複数のラインの各ラインについてのシェーディング演算を行うシェーディング演算手段とを含み、
複数のラインを有する前記オブジェクトがコアオブジェクトを含み、
該コアオブジェクトを構成するプリミティブ面から前記各ラインが伸びるように前記各ラインが設定され、
前記法線ベクトル設定手段は、
前記コアオブジェクトのプリミティブ面に設定された法線ベクトルを、前記第1、第2の法線ベクトルとして前記各ラインの始点、終点に設定することを特徴とする画像生成装置。 - 請求項1において、
前記コアオブジェクトを構成するプリミティブ面に設定された前記法線ベクトルの方向に前記各ラインが伸びるように前記各ラインが設定されることを特徴とする画像生成装置。 - 請求項1において、
前記複数のラインが、始点から終点に伸びるにしたがい所与の方向に向かって傾斜していることを特徴とする画像生成装置。 - 請求項1乃至3のいずれかにおいて、
前記各ラインの傾斜を可変に制御する傾斜制御手段を含むことを特徴とする画像生成装置。 - 請求項4において、
複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、
前記傾斜制御手段は、
該パーツオブジェクトのローカル座標系における所与の座標軸に沿って該パーツオブジェクトをスケーリングすることで、前記各ラインの傾斜を可変に制御することを特徴とする画像生成装置。 - 請求項1乃至5のいずれかにおいて、
複数のラインを有する前記オブジェクトが、各々が複数のラインを有する複数のパーツオブジェクトにより構成され、
該パーツオブジェクトの位置及び方向の少なくとも一方をリアルタイムに変化させるオブジェクト制御手段を含むことを特徴とする画像生成装置。 - コンピュータによる情報の読み出しが可能であり、複数のラインを有するオブジェクトの画像を生成するための情報記憶媒体であって、
複数のラインを有する前記オブジェクトの各ラインの始点に対して第1の法線ベクトルを設定すると共に、該各ラインの終点に対して第2の法線ベクトルを設定する法線ベクトル設定手段と、
前記第1,第2の法線ベクトルに基づいて、前記複数のラインの各ラインについてのシェーディング演算を行うシェーディング演算手段としてコンピュータを機能させるプログラムを記憶し、
複数のラインを有する前記オブジェクトがコアオブジェクトを含み、
該コアオブジェクトを構成するプリミティブ面から前記各ラインが伸びるように前記各ラインが設定され、
前記法線ベクトル設定手段は、
前記コアオブジェクトのプリミティブ面に設定された法線ベクトルを、前記第1、第2 の法線ベクトルとして前記各ラインの始点、終点に設定することを特徴とする情報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21978498A JP4159060B2 (ja) | 1998-07-17 | 1998-07-17 | 画像生成装置及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21978498A JP4159060B2 (ja) | 1998-07-17 | 1998-07-17 | 画像生成装置及び情報記憶媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000036058A JP2000036058A (ja) | 2000-02-02 |
JP2000036058A5 JP2000036058A5 (ja) | 2005-10-27 |
JP4159060B2 true JP4159060B2 (ja) | 2008-10-01 |
Family
ID=16740965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21978498A Expired - Lifetime JP4159060B2 (ja) | 1998-07-17 | 1998-07-17 | 画像生成装置及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4159060B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020049383A (ko) * | 2000-12-19 | 2002-06-26 | 이형민 | 헤어스타일 생성 시스템 및 이를 이용한 헤어스타일 생성방법 |
KR100420833B1 (ko) * | 2001-08-06 | 2004-03-02 | 김진수 | 유연한 물체의 시뮬레이션 장치 및 방법과 그 프로그램소스를 저장한 기록매체 |
KR101072889B1 (ko) | 2008-12-02 | 2011-10-17 | 한국전자통신연구원 | 털 렌더링을 위한 앰비언트 오클루전 맵 생성 장치 및 방법 |
KR101210796B1 (ko) | 2012-07-09 | 2012-12-11 | 인하대학교 산학협력단 | 깊이 텍스처를 이용한 실시간 다각형 앰비언트 오클루전 방법 |
-
1998
- 1998-07-17 JP JP21978498A patent/JP4159060B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000036058A (ja) | 2000-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010033298A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP5002103B2 (ja) | 画像生成システム、画像生成方法及びプログラム | |
JP3748451B1 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2005032140A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4167358B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4159060B2 (ja) | 画像生成装置及び情報記憶媒体 | |
JP2006323512A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4743770B2 (ja) | 画像生成システム、プログラム、及び情報記憶媒体 | |
JP2001204960A (ja) | ゲームシステム及び情報記憶媒体 | |
JP2001229403A (ja) | ゲームシステム及び情報記憶媒体 | |
JP4528008B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2001084402A (ja) | 画像生成システム及び情報記憶媒体 | |
JP4662260B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2010033288A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4786389B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4229316B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3377490B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4394211B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP2002373348A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2003256866A (ja) | 画像生成情報、ゲーム情報、情報記憶媒体、画像生成装置、およびゲーム装置 | |
JP4610729B2 (ja) | ゲームシステム、プログラム及び情報記憶媒体 | |
JP4632521B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4162125B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2005275795A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4391633B2 (ja) | 画像生成システム及び情報記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050714 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080416 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080612 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080709 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080714 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |