(57)【特許請求の範囲】
【請求項１】
照光対象のオブジェクトに係る座標を取得する座標取得手段と、
前記座標に所定軌道を表すベクトルを加算し、さらに乱数に基づくベクトルを加算することにより、乱数により歪められた前記所定軌道上に不可視の光源の座標を設定する光源座標設定手段と、
乱数に基づいて前記不可視の光源の光の強さを設定する光源情報設定手段と、
前記不可視の光源に基づいて前記照光対象のオブジェクトに関する表示画像を形成する表示画像形成手段と、
を含むことを特徴とする３次元画像合成装置。
【請求項２】
照光対象のオブジェクトに係る座標を取得するステップと、
前記座標に所定軌道を表すベクトルを加算し、さらに乱数に基づくベクトルを加算することにより、乱数により歪められた前記所定軌道上に不可視の光源の座標を設定するステップと、
乱数に基づいて前記不可視の光源の光の強さを設定するステップと、
前記不可視の光源に基づいて前記照光対象のオブジェクトに関する表示画像を形成するステップと、
を含むことを特徴とする３次元画像合成方法。
【請求項３】
照光対象のオブジェクトに係る座標を取得するステップと、
前記座標に所定軌道を表すベクトルを加算し、さらに乱数に基づくベクトルを加算することにより、乱数により歪められた前記所定軌道上に不可視の光源の座標を設定するステップと、
乱数に基づいて前記不可視の光源の光の強さを設定するステップと、
前記不可視の光源に基づいて前記照光対象のオブジェクトに関する表示画像を形成するステップと、
をコンピュータに実行させるためのプログラムを格納した情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は３次元画像合成装置並びに方法及び情報記憶媒体に関し、特に３次元オブジェクトに対するシェーディングやシャドウィングを軽い処理負荷で実施する技術に関する。
【０００２】
【従来の技術】
３次元画像合成処理では、オブジェクト空間（仮想３次元空間）に光源を設定し、そこから光線を仮想的に放射させることにより、オブジェクトにシェーディングやシャドウィングを施している。こうすれば、２次元画面であってもオブジェクトを立体的に表示することができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、シェーディングやシャドウィング等の光源を用いる画像処理は計算量が多く、多数の光源がオブジェクト空間に設定される場合や、反射面が複雑な場合には、リアルタイムに表示画像を生成することが困難となる。例えば、火災現場に立つ人の顔のように多数の光源により照光されたオブジェクトの描画や、波打つ水面からの反射光を受けた人の顔のように多方面からの反射光により照光されたオブジェクトの描画は、計算量が膨大となってしまう。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、比較的軽い処理負荷で多方面からの光を受けたオブジェクトの画像を十分な品質で生成することのできる３次元画像合成装置並びに方法及び情報記憶媒体を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る３次元画像合成装置は、照光対象のオブジェクトに係る座標情報を取得する座標取得手段と、乱数と前記座標情報とに基づいて光源の座標を設定する光源座標設定手段と、乱数に基づいて前記光源の光の強さを設定する光源情報設定手段と、前記光源に基づいて前記照光対象のオブジェクトに関する表示画像を形成する表示画像形成手段と、を含み、多方面から照光されたオブジェクトに関する表示画像を形成するようにしたことを特徴とする。
【０００６】
また、本発明に係る３次元画像合成方法は、照光対象のオブジェクトに係る座標情報を取得するステップと、乱数と前記座標情報とに基づいて光源の座標を設定するステップと、乱数に基づいて前記光源の光の強さを設定するステップと、前記光源に基づいて前記照光対象のオブジェクトに関する表示画像を形成するステップと、を含み、多方面から照光されたオブジェクトに関する表示画像を形成するようにしたことを特徴とする。
【０００７】
また、本発明に係る情報記憶媒体は、照光対象のオブジェクトに係る座標情報を取得するステップと、乱数と前記座標情報とに基づいて光源の座標を設定するステップと、乱数に基づいて前記光源の光の強さを設定するステップと、前記光源に基づいて前記照光対象のオブジェクトに関する表示画像を形成するステップと、をコンピュータに実行させるためのプログラムであって、多方面から照光されたオブジェクトに関する表示画像を形成するようにしたプログラムを格納したものである。
【００１０】
本発明によれば、照光対象のオブジェクトに係る座標情報と乱数とに基づいて光源の座標が設定される。例えば、照光対象のオブジェクトの周囲に光源の座標が設定される。そして、その光源に基づいて照光対象のオブジェクトに関する表示画像、すなわち照光対象のオブジェクトを少なくとも一部に表す表示画像が生成される。こうすれば、火災現場に立つ人の顔や、波打つ水面からの反射光を受けた人の顔のように、多方面からの光により照光されたオブジェクトに関する表示画像を、比較的軽い処理負荷且つ十分な品質で生成することができる。
【００１１】
また、本発明では、前記乱数生成手段により生成される乱数に基づいて前記光源の光の強さを設定する光源情報設定手段をさらに含む。こうすれば、例えば炎等の光の色が変化する光源の写り込みを効果的に演出することができる。
【００１２】
【発明の実施の形態】
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。
【００１３】
図１は、本発明の一実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置１０は、本発明に係る３次元画像合成装置の実施形態の１つであり、モニタ１８及びスピーカ２２に接続された家庭用ゲーム機１１に、情報記憶媒体たるＤＶＤ２５が装着されることにより構成される。ここでは、ゲームプログラムやゲームデータを家庭用ゲーム機１１に供給するためにＤＶＤ２５を用いるが、ＣＤ−ＲＯＭやＲＯＭカード等、他のあらゆる情報記憶媒体を用いることができる。また、後述するように、通信ネットワークを介して遠隔地からゲームプログラムやゲームデータを家庭用ゲーム機１１に供給することもできる。以下では、このゲーム装置１０の説明を通して、本発明に係る３次元画像合成装置、３次元画像合成方法及び情報記憶媒体について説明する。
【００１４】
家庭用ゲーム機１１は、マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０がバス１２により相互データ通信可能に接続され、さらに入出力処理部３０には、コントローラ３２、音声処理部２０及びＤＶＤ再生部２４が接続されている。コントローラ３２以外の家庭用ゲーム機１１の各構成要素は筐体内に収容されている。モニタ１８には例えば家庭用のテレビ受像機が用いられ、スピーカ２２には例えばその内蔵スピーカが用いられる。
【００１５】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステムやＤＶＤ２５から読み出されるゲームプログラムに基づいて、家庭用ゲーム機１１の各部を制御する。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。また、主記憶２６には、ＤＶＤ２５から読み取られたゲームプログラム及びゲームデータが必要に応じて書き込まれる。画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データを受け取ってＶＲＡＭ上にゲーム画面を描画するとともに、その内容を所定のビデオ信号に変換して所定タイミングでモニタ１８に出力する。すなわち画像処理部１６は、マイクロプロセッサ１４から視点座標系での各ポリゴンの頂点座標（Ｘ，Ｙ，Ｚ）、頂点色情報（Ｒ，Ｇ，Ｂ）、テクスチャ座標（ＶＸ，ＶＹ）及びアルファ値等を受け取る。そして、それら情報を用いて表示画像を構成する各ピクセルの色情報、Ｚ値及びアルファ値等をＶＲＡＭに描画する。このとき、例えば頂点色情報をピクセル単位で補間して用いることによりグーローシェーディングが実施される。この表示画像は所定タイミングでモニタ１８に出力される。
【００１６】
入出力処理部３０はコントローラ３２、音声処理部２０及びＤＶＤ再生部２４とマイクロプロセッサ１４との間のデータ通信を中継するためのインターフェースである。コントローラ３２はプレイヤーがゲーム操作をするための入力手段である。入出力処理部３０は一定周期（例えば１／６０秒毎）にコントローラ３２の各種ボタンの操作状態をスキャンし、そのスキャン結果を表す操作信号をバス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４は、その操作信号に基づいてプレイヤーのゲーム操作を判定する。音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ２５から読み出されてサウンドバッファに記憶された音楽やゲーム効果音等のデータを再生してスピーカ２２から出力する。ＤＶＤ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ２５に記録されたゲームプログラム及びゲームデータを読み取る。
【００１７】
以下、かかる構成を有するゲーム装置１０を用い、火災現場に立つゲームキャラクターにシェーディング及びシャドウィングを施す技術について説明する。
【００１８】
図２は、ゲーム装置１０のモニタ１８に表示されるゲーム画像の一例を示す図である。同図に示すように、ゲーム空間（オブジェクト空間）には床面が設定され、その上にゲームキャラクタオブジェクト４２が設置されている。ゲームキャラクタオブジェクト４２は画面中央に手前側を向くよう表示されており、その背後には炎オブジェクト４４ａ〜４４ｃが配置されている。ゲームキャラクタオブジェクト４２の周りには光源軌道４１が設定されており、その光源軌道４１上を動的光源４０が移動している。光源軌道４１は、例えば楕円軌道を基本とするものであり、それが乱数により歪められている。すなわち、楕円軌道上の座標に乱数により定められる３次元ベクトルが加算されて、そこに動的光源４０が配置される。こうして、光源軌道４１を不規則なものとすることができる。また、動的光源４０は色情報（色、光の強さ）が乱数により設定されている。例えば黄色から赤色の間で揺らめくように乱数により色情報が設定される。
【００１９】
さらに、炎オブジェクト４４ａ〜４４ｃのいずれかの内部には静的光源４３が設定される。図３は、静的光源４３の設定処理を説明する図である。ゲーム装置１０ではゲームプログラムに基づいてマイクロプロセッサ１４がゲームキャラクタオブジェクト４２の座標（例えば顔部分の座標）と炎オブジェクト４４ａ〜４４ｃの座標との距離Ｌａ〜Ｌｃを算出し、最も距離の短い炎オブジェクト４４の内部に静的光源４３を設定する。静的光源４３も色情報（色、光の強さ）が乱数により設定されている。例えば黄色から赤色の間で揺らめくように乱数により色情報が設定される。
【００２０】
図４は、ゲーム装置１０で実行されるゲーム処理について説明するフロー図である。同図に示すように、ゲーム装置１０ではマイクロプロセッサ１４がＤＶＤ２５から読み出されるゲームプログラム及びゲームデータに基づき、まずゲーム環境処理を行う（Ｓ１０１）。ゲーム環境処理では、仮想３次元空間のすべての静的オブジェクト及び動的オブジェクトの位置及び姿勢が演算される。静的オブジェクトは炎オブジェクト４４ａ〜４４ｃ等のようにゲームが進行しても位置を変えないものである。これに対して動的オブジェクトはゲームキャラクタオブジェクト４２のようにゲームが進行するにつれて位置や姿勢を変えるものである。動的オブジェクトの位置及び姿勢は、ゲームプログラムやコントローラ３２から入力される操作信号に従って変化する。また、ゲーム環境処理では視点や視野範囲も計算される。そして、視野範囲から離れたオブジェクトについては以降のゲーム処理の対象から除外される。
【００２１】
次に、マイクロプロセッサ１４は光源設定処理を行う（Ｓ１０２）。光源設定処理ではゲームキャラクタオブジェクト４２の周囲に動的光源４０を設定し、さらに炎オブジェクト４４ａ〜４４ｃのいずれかの内部に静的光源４３を設定する。
【００２２】
さらに、マイクロプロセッサ１４はジオメトリ処理を行う（Ｓ１０３）。ジオメトリ処理ではワールド座標系から視点座標系への座標変換を行う。また、オブジェクトを構成する各ポリゴンの頂点の色情報が光源情報（光源の色及び位置）に基づいて修正される。ここで用いる光源情報は、Ｓ１０２で設定した動的光源４０及び静的光源４３に関するものの他、ゲームデータにより予め設定されている光源に関するものも含まれる。ジオメトリ処理では、さらにクリッピング処理も行われる。
【００２３】
その後、マイクロプロセッサ１４は視野範囲に属する各ポリゴンの頂点座標、頂点色情報、テクスチャ座標及びアルファ値を画像処理部１６に送出し、画像処理部１６ではそれらの情報に基づいてＶＲＡＭ上に設けられた表示用バッファに表示画像を形成する（Ｓ１０４）。表示用バッファに形成された画像は所定タイミングで読み出されて、モニタ１８により表示される。モニタ１８に表示される画像は動的光源４０や静的光源４３を用いてシェーディング及びシャドウィングされたものとなる。
【００２４】
ここで、Ｓ１０２（図４）の光源設定処理についてさらに詳しく説明する。図５は、光源設定処理を説明するフロー図である。光源設定処理では、まずマイクロプロセッサ１４がゲームキャラクタオブジェクト４２の胸部座標を取得する（Ｓ２０１）。この座標はＳ１０１（図４）のゲーム環境処理で設定されたものである。次に、マイクロプロセッサ１４は公知技術により乱数を生成する（Ｓ２０２）。そして、キャラクタ胸部付近に動的光源４０を設定する（Ｓ２０３）。具体的には、ゲームキャラクタオブジェクト４２の胸部座標に楕円軌道を表すベクトルを加算し、さらに乱数に基づくベクトルを加算することにより動的光源４０の位置を決定する。ここでは楕円軌道を用いるが、ゲームキャラクタオブジェクト４２の周囲の乱数に基づく位置に動的光源４０を設定するのであれば、どのような手順を採用してもよい。また、このとき動的光源４０の色情報を乱数を用いて設定する。乱数を用いなくとも、所定周期で色が変化するようにしてもよい。動的光源４０の色情報としては、炎の色として相応しい範囲に設定される。
【００２５】
さらにマイクロプロセッサ１４はゲームキャラクタオブジェクト４２の胸部座標と炎オブジェクト４４ａ〜４４ｃの座標との距離Ｌａ〜Ｌｃを算出する（Ｓ２０４）。そして、最もゲームキャラクタオブジェクト４２の胸部座標に近い位置に配置されている炎オブジェクト４４ａ〜４４ｃのうち１つに静的光源４３を設定する（Ｓ２０５）。静的光源４３の色情報も乱数を用いて設定する。静的光源４３についても、乱数を用いず、所定周期で色が変化するようにしてよい。静的光源４３の色情報も、炎の色として相応しい範囲に設定される。
【００２６】
以上説明したゲーム装置１０によれば、炎オブジェクト４４ａ〜４４ｃの座標が静的光源４３の位置の候補とされており、ゲームキャラクタオブジェクト４２がオブジェクト空間を移動するにしたがって、もっとも近いものが実際に静的光源４３の位置として選択される。このため、ゲームキャラクタオブジェクト４２のレンダリングに影響の大きい光源だけを実際に用いて、その他の影響の少ない光源を省略することができる。また、乱数により静的光源４３の色情報を変化させているので、炎の光が揺らめく様子を好適に演出することができる。
【００２７】
さらに、以上のゲーム装置１０では、動的光源４０をゲームキャラクタオブジェクト４２の胸部周辺で動的光源４０がランダムに移動するようにしているので、ゲームキャラクタオブジェクト４２に最も近い炎オブジェクト４４以外の炎オブジェクト４４から発せられるべき光を動的光源４０に肩代わりさせることができる。こうして、ゲームキャラクタオブジェクト４２の顔に炎の色が写り込む様子を少ない光源数で好適に演出することができる。また、乱数により動的光源４０の色情報を変化させているので、炎の光が揺らめく様子を好適に演出することができる。
【００２８】
なお、本発明は以上の実施の形態に限定されるものではない。
【００２９】
例えば、以上の説明ではゲームキャラクタオブジェクト４２が火災現場に立っている状況を画像表示する技術を説明したが、波打つ水面近くのオブジェクト（例えばゲームキャラクタオブジェクト）に反射光があたる様子を演出する場合にも、同様に適用可能である。この場合は光源の色情報として水面での反射光として相応しい範囲のものが設定される。
【００３０】
また、以上の説明は本発明を家庭用ゲーム機１１を用いて実施する例についてのものであるが、業務用ゲーム装置にも本発明は同様に適用可能である。この場合、ＤＶＤ２５及びＤＶＤ再生部２４に代えてより高速な記憶装置を用い、モニタ１８やスピーカ２２も一体的に形成することが望ましい。
【００３１】
また、以上の説明ではゲームプログラム及びゲームデータを格納したＤＶＤ２５を家庭用ゲーム機１１で使用するようにしたが、パーソナルコンピュータ等、ゲームプログラム及びゲームデータを記録した情報記憶媒体を読み取って、その読み取った内容に基づく情報処理が可能なコンピュータであれば、どのようなものでも使用することができる。
【００３２】
また、本発明はゲームに関わる画像処理に限らず、あらゆる３次元画像処理に適用可能である。例えば、３次元ＣＧアニメーション、フライトシミュレータ、ドライブシミュレータ等にも本発明を適用可能である。
【００３３】
さらに、以上の説明ではゲームプログラム及びゲームデータを情報記憶媒体たるＤＶＤ２５から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してゲームプログラム及びゲームデータを家庭等に配信することもできる。図６は、通信ネットワークを用いたゲームプログラム配信システムの全体構成を示す図である。同図に基づいて本発明に係るプログラム配信装置及び方法を説明する。同図に示すように、このゲームプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりゲームプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークである。このシステムでは、ゲームデータベース１０２に、ＤＶＤ２５の記憶内容と同様のゲームプログラム及びゲームデータが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からゲームプログラム及びゲームデータを読み出し、それをパソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのゲームプログラム及びゲームデータを配信する必要はなく、ゲームの局面に応じて必要な部分を配信するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、ゲームプログラム及びゲームデータを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係るゲーム装置の構成を示す図である。
【図２】  ゲーム画面の一例を示す図である。
【図３】  光源設定処理の概念を説明する図である。
【図４】  本発明の実施の形態に係るゲーム装置での３次元画像合成処理を説明するフロー図である。
【図５】  本発明の実施の形態に係るゲーム装置での光源設定処理を説明するフロー図である。
【図６】  本発明の他の実施の形態に係るゲームプログラム配信システムの全体構成を示す図である。
【符号の説明】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ再生部、２５  ＤＶＤ、２６  主記憶、３０  入出力処理部、３２  コントローラ、４０  動的光源、４１  光源軌道、４２  ゲームキャラクタオブジェクト、４３  静的光源、４４ａ〜４４ｃ  炎オブジェクト、１００  ゲームプログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  ＰＤＡ、１１４  ゲームプログラム配信装置。
【図１】
0003686978.tif 000002
【図２】
0003686978.tif 000003
【図３】
0003686978.tif 000004
【図４】
0003686978.tif 000005
【図５】
0003686978.tif 000006
【図６】
0003686978.tif 000007