(57)【要約】【課題】オブジェクトに光の反射により生じる強いハイライト効果を少ない演算負荷で表現可能なゲームシステム及び情報記憶媒体を提供することある。【解決手段】画像生成を行うゲームシステムである。ハイライト効果処理部１２０は、オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定し、決定された配置位置にハイライト効果オブジェクトを配置する処理を行う。ここにおいてハイライト効果画像の一部がオブジェクト画像からはみ出してオーバーラップした画像を生成するようにハイライト効果オブジェクトを配置することが好ましい。予め反射点を定義し、所定の条件を満たした場合に反射点にハイライト効果画像を生成してもよい。【選択図】　　　　図１０
2004005563.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定する手段と、
決定された配置位置にハイライト効果オブジェクトを配置して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成する手段とを、
含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
オブジェクト上の少なくとも１点を予め反射点として定義し、所定の条件を満たした場合に前記反射点に基づきハイライト効果オブジェクトの配置位置を決定して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成することを特徴とする画像生成システム。
【請求項３】
コンピュータを、
オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定する手段と、
決定された配置位置にハイライト効果オブジェクトを配置して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成する手段と、
として機能させるためのプログラムを記録したコンピュータ読みとり可能な情報記憶媒体。
【請求項４】
請求項３において、
オブジェクト上の少なくとも１点を予め反射点として定義し、所定の条件を満たした場合に前記反射点に基づきハイライト効果オブジェクトの配置位置を決定して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成することを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
さてこのようなゲームシステムでは、プレーヤの仮想現実向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。ここにおいてよりリアルな画像を生成するためには光の効果は重要であるため、表現したい画像に応じた光源処理を施しオブジェクトの立体感や質感をよりリアルに表現することが行われる。
【０００４】
例えば図１（Ａ）の球オブジェクトは左上方向の光源を加味したグローシェーディングを施した画像例である。これは球体をポリゴンで近似してポリゴンの各頂点において左上方向の光源を加味した輝度計算を行い、ポリゴン内の各点につては補完処理により輝度を求めて描画したものである。
【０００５】
またより強い光の反射を表現したい場合には図１（Ｂ）のように球オブジェクトの表面の一部にハイライトが生じている画像を生成する。球オブジェクト内の各点について鏡面反射による輝度値を演算すると演算負荷が膨大となるので、例えば環境マッピングをほどこして図１（Ｂ）に示すようなハイライトの表現を行っていた。
【０００６】
このような光源処理の手法では、反射の強さはオブジェクト内のハイライトの大きさや明るさを変更するによって表現していた。しかしこれでは強い反射によりあたかもオブジェクト自体が発光しているかのように光り輝いている様子を表現することはできなかった。
【０００７】
また図１（Ａ）（Ｂ）はいずれの場合も球オブジェクトの頂点等における光源演算が必要となり演算負荷が大きかった。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクトに光の反射により生じる強いハイライト効果を少ない演算負荷で表現可能な画像生成システム及び情報記憶媒体を提供することある。
【０００９】
【課題を解決するための手段】
（１）本発明は、画像生成を行う画像生成システムであって、
オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定する手段と、
決定された配置位置にハイライト効果オブジェクトを配置して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成する手段とを、
含むことを特徴とする。
（２）本発明の画像生成システムは、
オブジェクト上の少なくとも１点を予め反射点として定義し、所定の条件を満たした場合に前記反射点に基づきハイライト効果オブジェクトの配置位置を決定して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成することを特徴とする。
（３）本発明は、コンピュータを、
オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定する手段と、
決定された配置位置にハイライト効果オブジェクトを配置して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成する手段と、
として機能させるためのプログラムを記録したコンピュータ読みとり可能な情報記憶媒体である。
（４）本発明の情報記憶媒体は、
オブジェクト上の少なくとも１点を予め反射点として定義し、所定の条件を満たした場合に前記反射点に基づきハイライト効果オブジェクトの配置位置を決定して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成することを特徴とする。
【００１０】
【発明の実施の形態】
本実施の形態は画像生成を行うゲームシステムであって、オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定する手段と、決定された配置位置にハイライト効果オブジェクトを配置して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成する手段とを、含むことを特徴とする。
【００１１】
オブジェクトの表面上の光の反射点は所定のアルゴリズムにより演算して求めてもよいし、あらかじめ反射点として設定された点でもよい。
【００１２】
ここにおいてハイライト効果オブジェクトは、ポリゴンオブジェクトで構成してもよいし、自由曲面で構成してもよいし、スプライトで構成してもよいし、他の手法で構成してもよい。
【００１３】
また前記反射点の座標はオブジェクトに付随して与えられてもよいし、空間上の所定の点が与えられてもよい。また３次元座標で与えられてもよいし、２次元座標で与えられてもよい。
【００１４】
例えばポリゴンオブジェクトの場合には前記反射点の３次元座標を配置位置としてもよい。またスプライトの場合には前記反射点をスクリーン座標系に変換した２次元座標を配置位置としてもよい。
【００１５】
本実施の形態によれば、光を反射するオブジェクトとは別にハイライト効果オブジェクトを有している。そして光を反射するオブジェクトの上にハイライト効果オブジェクトを配置することで光の反射を表現するため、オブジェクトの描画領域を超えてあたかもオブジェクト自体が発光しているかのように光り輝いている画像を生成することができる。
【００１６】
またオブジェクトの頂点等における光源演算が不要であるため光が反射する画像を少ない演算負荷で実現することができる。
【００１７】
したがって本実施の形態によれば、オブジェクトに光の反射により生じる強いハイライト効果を少ない演算負荷で表現可能なゲームシステム及び情報記憶媒体を提供することができる。
【００１８】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、ハイライト効果画像の一部がオブジェクト画像からはみ出してオーバーラップした画像を生成することを特徴とする。
【００１９】
本実施の形態によればハイライト効果画像がオブジェクトからはみ出している画像を生成することができる。従ってオブジェクトの表面上の強い光の反射を表現することができる。
【００２０】
本実施の形態は画像生成を行うゲームシステムであって、オブジェクトの表面上の強い光の反射を表現する場合には、ハイライト効果画像の一部がオブジェクト画像からはみ出してオーバーラップしたオブジェクト画像およびハイライト効果画像を生成する手段を含むことを特徴とする。
【００２１】
また本実施の形態に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本実施の形態に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００２２】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクト上の少なくとも１点を予め反射点として定義し、所定の条件を満たした場合に前記反射点に基づきハイライト効果オブジェクトの配置位置を決定して、ハイライト効果画像が前記オブジェクトにオーバーラップした画像を生成することを特徴とする。
【００２３】
ハイライト設定点はオブジェクトの形状、性質に応じて設定しておくことが好ましい。所定の条件とはたとえば反射点と光源と視点が所定の位置関係になった場合でもよいし、反射するタイミングを設定しておいてそのタイミングに一致したような場合でもよい。
【００２４】
このようにすると反射点を設定するための光源計算が不要になるため演算不可の軽減をはかることができる。しかも、あらかじめ設定した反射点が所定の条件を満たした場合に反射させるために、光の反射をゲーム条件に適した態様で擬似的に表現することができる。
【００２５】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、所定のアルゴリズムに従い前記オブジェクトの反射光の強さを演算する手段と、前記反射光の強さに基づき、ハイライト効果画像の付加の有無、ハイライト効果画像の明るさ、ハイライト効果画像の大きさの少なくとも一つを決定する手段を含むことを特徴とする。
【００２６】
本実施の形態によれば、反射光の強さに基づいてハイライト効果画像の付加の有無、ハイライト効果画像の明るさ、ハイライト効果画像の大きさの少なくとも一つを決定するため、反射光の表現が単調にならず、よりバライティに富んだ反射画像を生成することができる。
【００２７】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、前記反射光の強さの変化に応じてオブジェクトへのハイライト効果画像の付加の有無が変化する画像を生成することを特徴とする。
【００２８】
本実施の形態によれば反射光の強さの変化に応じてオブジェクトにハイライトの入ったり入らなかったりするため、反射光の強さの変化を表現する場合に有効である。
【００２９】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、前記反射光の強さの変化に応じてオブジェクトにオーバーラップしたハイライト効果画像の明るさ及び大きさの少なくとも一方が変化する画像を生成することを特徴とする。
【００３０】
本実施の形態によれば反射光の強さの変化に応じてオブジェクトにオーバーラップしたハイライト効果画像の明るさ及び大きさの少なくとも一方が変化するため反射光の強さの変化を表現する場合に有効である。
【００３１】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、ハイライト効果画像とともにレンズフレア画像がオーバーラップしたオブジェクトの画像を生成することを特徴とする。
【００３２】
本実施の形態によればハイライト効果画像とともにレンズフレア画像がオーバーラップしたオブジェクトの画像を生成することができるため、強い反射光の表現をする場合に効果的である。
【００３３】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、前記反射点における法線ベクトルに基づき光線ベクトルを反射させて得られる反射ベクトルと視線ベクトルのなす角に基づき反射光の強さを演算することを特徴とする。
【００３４】
なお、前記反射点における法線ベクトルに基づき視線ベクトルを反射させて得られる反射ベクトルと光線ベクトルのなす角に基づき反射光の強さを演算する場合も本実施の形態の範囲に含まれる。
【００３５】
前記反射点に入射する光線ベクトルは、例えば前記光源が点光源である場合に前記反射点を視点とし点光源と反射点を結ぶ方向を有するベクトルを光線ベクトルとすることができる。また例えば前記光源が平行光源である場合には前記反射点を視点とし平行光線の方向を有するベクトルを光線ベクトルとすることができる。
【００３６】
またこの光線ベクトルの反射ベクトルは例えば前記反射点に設定された法線を軸に光線ベクトルを反射させることで得ることができる。
【００３７】
本実施の形態では反射ベクトルと視線ベクトルのなす角度が０に近いほど強い反射光の表現を行うことができる。一般に反射ベクトルと視線ベクトルのなす角度が０に近いほど鏡面反射が強くなるため、本実施の形態によれば光源と反射点と視点位置を反映した鏡面反射によるハイライトを表現することができる。
【００３８】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、前記反射点及び反射点における反射光の強さの少なくとも一方をオブジェクトの光源計算を行う際に得られた輝度値に基づき決定することを特徴とする。
【００３９】
一般にオブジェクトをシェーディングする際には輝度を求めるが、本実施の形態ではこれを利用して反射点及び反射点における反射光の強さの少なくとも一方を決定する。このため反射点や反射点における反射光の強さを求めるために新たな演算を行う必要がないため少ない演算負荷の増大を招くことなく最適な位置に反射光に応じたハイライト効果画像を生成することができる。
【００４０】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、複数の反射点が近接して存在する場合に各反射点におけるハイライトを一体化したハイライト効果画像をオブジェクトにオーバーラップさせることを特徴とする。
【００４１】
本実施の形態によれば、各点に個別にハイライト効果画像を設定する場合に比べ、近接した反射点を含むエリアに自然な形状のハイライトを表示することができる。
【００４２】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクトの反射エリアにフレアをつけた画像を当該反射エリアにオーバーラップするハイライト効果画像として生成することを特徴とする。
【００４３】
本実施の形態によれば、反射エリアに応じた形状のハイライト効果画像を生成することができる。
【００４４】
また本実施の形態に係るゲームシステム、情報記憶媒体及びプログラムは、
ハイライト効果オブジェクトにマッピングするテクスチャに反射位置特定情報をうめこんでおくことを特徴とする。
【００４５】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００４６】
図２に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００４７】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００４８】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００４９】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００５０】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００５１】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００５２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００５３】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００５４】
セーブ用情報記憶装置１９４は、プレーヤの個人データ（セーブデータ）などが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００５５】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５６】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００５７】
処理部１００は、ゲーム処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００５８】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、セーブ用情報記憶装置１９４からの個人データや、ゲームプログラムなどに基づいて行う。
【００５９】
ハイライト効果処理部１２０は、オブジェクトの表面上の光の反射点に基づき、光の反射によりオブジェクトに生じるハイライトの画像を生成するためのハイライト効果オブジェクトの配置位置を決定し、決定された配置位置にハイライト効果オブジェクトを配置する処理を行う。
【００６０】
ここにおいてハイライト効果画像の一部がオブジェクト画像からはみ出してオーバーラップした画像を生成するようにハイライト効果オブジェクトを配置することが好ましい。
【００６１】
またオブジェクト上の少なくとも１点を予め反射点として定義し、所定の条件を満たした場合に前記反射点に基づきハイライト効果オブジェクトの配置位置を決定するようにしてもよい。
【００６２】
所定のアルゴリズムに従い前記オブジェクトの反射光の強さを演算して、演算した反射光の強さに基づき、ハイライト効果画像の付加の有無、ハイライト効果画像の明るさ、ハイライト効果画像の大きさの少なくとも一つを決定するようにしてもよい。
【００６３】
前記反射光の強さの変化に応じてオブジェクトへのハイライト効果画像の付加の有無が変化させてもよい。
【００６４】
前記反射光の強さの変化に応じてオブジェクトにオーバーラップしたハイライト効果画像の明るさ及び大きさの少なくとも一方を変化させてもよい。
【００６５】
ハイライト効果画像とともにオブジェクトにレンズフレア画像がオーバーラップするようにしてもよい。
【００６６】
前記反射点における法線ベクトルに基づき光線ベクトルを反射させて得られる反射ベクトルと視線ベクトルのなす角に基づき反射光の強さを演算するようにしてもよい。
【００６７】
前記反射点及び反射点における反射光の強さの少なくとも一方をオブジェクトの光源計算を行う際に得られた輝度値に基づき決定するようにしてもよい。
【００６８】
複数の反射点が近接して存在する場合に各反射点におけるハイライトを一体化したハイライト効果画像をオブジェクトにオーバーラップさせるようにしてもよい。
【００６９】
オブジェクトの反射エリアにフレアをつけた画像をハイライト効果画像として生成するために必要な処理を行うようにしてもよい。
【００７０】
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００７１】
なお、ゲーム処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７２】
ゲーム処理部１１０は、移動・動作演算部１１２を含む。
【００７３】
ここで移動・動作演算部１１２は、車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００７４】
より具体的には、移動・動作演算部１１２は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭｋ−１、速度をＶＭｋ−１、加速度をＡＭｋ−１、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭｋ、速度ＶＭｋは例えば下式（１）、（２）のように求められる。
【００７５】
ＰＭｋ＝ＰＭｋ−１＋ＶＭｋ−１×△ｔ　　　　　　　（１）
ＶＭｋ＝ＶＭｋ−１＋ＡＭｋ−１×△ｔ　　　　　　　（２）
画像生成部１３０は、ジオメトリ処理部１３２、描画部１３４を含む。
【００７６】
ここで、ジオメトリ処理部１３２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）を行う。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等）は、記憶部１７０のメインメモリ１７２に保存される。
【００７７】
描画部１３４は、ジオメトリ処理後のオブジェクト（モデル）を、フレームバッファ１７４に描画するための処理を行うものである。
【００７８】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００７９】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００８０】
図３は本実施の形態におけるハイライト効果画像がオーバーラップした球オブジェクトの画像例である。
【００８１】
同図に示すように、本実施の形態ではハイライト効果画像１０の一部が球オブジェクト画像からはみ出してオーバーラップした画像を生成することができる。
【００８２】
本実施の形態では図３に示すようにあたかもオブジェクト自体が発光しているかのように光り輝いている様子を表現することができるので、オブジェクトの表面上の強い光の反射を表現することができる。
【００８３】
図４はハイライト効果オブジェクトとして板ポリゴンを用いた場合のハイライト効果画像の生成例について説明するための図である。
【００８４】
同図に示すように視点座標系（３次元空間）に配置された球オブジェクト２１０の表面上の光の反射点２２０を板ポリゴン２３０の配置位置に決定して、板ポリゴン２３０を配置する。ここにおいて前記反射点２２０は例えば反射を表現したい点や反射の起こりやすい点等にあらかじめ設定しておいてもよい。また視点位置や光源位置に基づき、もっとも鏡面反射が起こりやすい点をリアルタイムに演算してこれを反射点に設定してもよい。
【００８５】
そして球オブジェクト及び板ポリゴンを３次元画像生成の手法を用いて描画する事により図３に示すようなハイライト効果画像がオーバーラップした球オブジェクトの画像を生成することができる。
【００８６】
本実施の形態の手法によれば、ハイライト効果画像生成用の板ポリゴンを反射点に配置すると後は通常の３次元画像生成を行うだけでよい。すなわち反射点が与えられれば後は球オブジェクトの頂点等における光源演算が不要であるため少ない演算負荷で光の反射を表現することができる。
【００８７】
図５はハイライト効果オブジェクトとしてスプライトを用いた場合のハイライト効果画像の生成例について説明するための図である。
【００８８】
同図に示すように描画領域（２次元空間）２５０に描画された球オブジェクトの画像２６０上の光の反射点２７０にスプライト２８０の配置位置に決定して、スプライト２８０を配置する。
【００８９】
ここにおいて前記反射点が例えば３次元的に与えられている場合には、これをスクリーン座標系に座標変換して、描画領域上の光の反射点２７０を求める。
【００９０】
同図に示すように、ハイライト効果画像用のテクスチャをマッピングしたスプライト２８０を、球オブジェクトの画像２６０にオーバーラップして描画する事により、図３に示すようなハイライトの入った球オブジェクトの画像を生成することができる。
【００９１】
本実施の形態の手法によれば、ハイライト効果画像生成用のスプライトを反射点に配置するだけでよく、球オブジェクトの頂点等における光源演算を行う必要がない。このため演算負荷の増大を招くことなく光の反射を表現することができる。
【００９２】
図６は本実施の形態において光の反射点における反射の強さを求める手法の一例について説明するための図である。
【００９３】
３２０は球オブジェクト３１０上に与えられた反射点であり、光源３４０は点光源であるとする。反射点３２０には法線ベクトル３５０が設定されている。
【００９４】
光源３４０が点光源であるため、反射点３２０を始点とし反射点３２０と光源３４０を結ぶ方向をその方向とするベクトルを光線ベクトル３７０とする。そして前記反射点３２０に設定された法線（法線ベクトル３５０）を軸に光線ベクトル３７０を反射させて、反射ベクトル３６０を求める。
【００９５】
また反射点３２０を始点とし、反射点３２０と視点３３０を結ぶ方向をその方向とするベクトルを視線ベクトル３８０とする。
【００９６】
本実施の形態ではこの反射ベクトル３６０と視線ベクトル３８０のなす角度が０に近いほど反射光の強さが大きくなるように設定する。
【００９７】
現実世界でも反射ベクトルと視線ベクトルのなす角度が０に近いほど鏡面反射が強くなる。従ってこのように設定する事により光源３４０と反射点３２０と視点３３０の位置を反映した鏡面反射によるハイライトを表現することができる。
【００９８】
図７は反射点の設定方法について説明するための図である。
【００９９】
例えば図７に示すような戦闘機オブジェクトの画像を生成する場合、戦闘機の機体の中でもガラス窓の部分がもっとも光の反射が起こりやすい部分である。
【０１００】
したがって例えばガラス窓部分を反射領域４５０として設定し、当該反射領域に複数の反射点４６０を設定しておく。そして例えばその反射点における反射の強さが所定の値になったときにハイライト効果画像を設定するようにしてもよい。
【０１０１】
このようにオブジェクトの素材や形状に基づいてもっとも鏡面反射が起こりやすい反射領域を推定してそこに反射点を設定してハイライト効果画像を生成することで、擬似的ながら簡易にリアルな反射画像を生成することができる。
【０１０２】
また例えばガラス窓のエリアを反射エリアとして設定しておいて、当該反射エリアにフレアをつけた画像を当該反射エリアにオーバーラップするハイライト効果画像として生成するようにしてもよい。
【０１０３】
図８（Ａ）（Ｂ）（Ｃ）は、前記反射光の強さに応じたハイライト効果画像の変化について説明するための図である。
【０１０４】
図８（Ａ）は反射光が弱い場合、図８（Ｂ）は反射光が強い場合、図８（Ｃ）は反射光が非常に強い場合を表している。
【０１０５】
本実施の形態では図８（Ａ）（Ｂ）に示すように、反射光が強くなるにつれてハイライト効果画像の大きさ及び明るさが大きくなるようにしている。
【０１０６】
例えば大きさの異なるハイライト効果画像を生成するための複数のスプライトを用意しておき、図６の手法等により求められた反射光の強さに応じて最適なスプライトを選択してハイライト効果画像を生成するようにしてもよい。
【０１０７】
このようにしてハイライト効果画像の大きさ等を変化させることにより、反射光が強くなる様子を擬似的に表現することができる。
【０１０８】
また本実施の形態では反射光がさらに強くなると、図８（Ｃ）に示すようにハイライト効果画像とともにレンズフレア画像をオーバーラップしたオブジェクトの画像を生成する。
【０１０９】
これにより反射光が非常に強い様子を擬似的に表現することができる。
【０１１０】
図９は、複数の反射点におけるハイライト効果画像が一体化したハイライト効果画像の一例である。
【０１１１】
本実施の形態では近接した複数のポイント４１０と４２０が反射点として設定されている場合に、４３０に示すような各反射点に設定されるハイライト効果画像が一体化したハイライト効果画像が生成される。
【０１１２】
このようにすることで、各点に個別にハイライト効果画像を設定する場合に比べてより自然な形状のハイライト効果画像を生成することができる。
【０１１３】
図１０は、ハイライト効果画像がオーバーラップしたオブジェクトの画像を生成するためのフローチャート図である。
【０１１４】
まずモデル情報を生成する際に、オブジェクトに反射点を設定し、反射点情報をモデル情報として用意する（ステップＳ１０）。ここにおいて反射点は複数設定してもよい。なお、反射点は例えばオブジェクトの形状や素材等から鏡面反射が起こりそうな点を設定しておくとよい。
【０１１５】
また反射点情報としては、例えば反射点の座標Ｐ（Ｘ、Ｙ、Ｚ）、反射点における法線ベクトル、ハイライト属性（ｔｙｐｅ、ｐｏｗ、ｃ）等を設定しておく。ここにおいてｔｙｐｅはスプライト種別でありハイライト効果画像を生成するために使用するスプライト種別を示している。ｐｏｗはハイライト強度でありハイライト効果画像のハイライトの大きさおよび明るさを演算する際の係数として使用するものである。またｃは当該反射点におけるハイライト効果画像の生成の有無を決定する際のθの閾値である。
【０１１６】
次に画像生成の過程においてステップＳ１０で設定されたすべての反射点について処理が終了するまでステップＳ２０〜Ｓ９０の処理を繰り返す。
【０１１７】
すなわちまず反射点を始点とし、反射点と光源を結ぶ方向をその方向とする光線ベクトルを求める（ステップＳ２０、図６の３７０参照）。
【０１１８】
反射点に反射点情報として設定された法線ベクトルを軸に光線ベクトルを反射させた反射ベクトルを求める（ステップＳ３０、図６の３６０参照）。
【０１１９】
また反射点を始点とし、反射点と視点を結ぶ方向をその方向とするベクトルを視線ベクトル３８０を求める（ステップＳ４０、図６の３８０参照）。
【０１２０】
そして反射ベクトルと視線ベクトルのなす角θを求める（ステップＳ５０）。
【０１２１】
θが反射点情報で設定された閾値以下である場合には、θの値および当該反射点に反射点情報として設定されているハイライト強度に基づきハイライト効果画像のハイライトの大きさおよび明るさを演算する（ステップＳ６０、Ｓ７０）。
【０１２２】
そして演算された大きさおよび明るさを有するハイライト効果画像生成用のスプライトを反射点に設定する（ステップＳ８０）。
【０１２３】
設定されたすべての反射点について上記処理が終了していない場合には、次の反射点についてステップＳ２０〜Ｓ９０の処理を行い、設定されたすべての反射点について上記処理が終了した場合には処理を終了する。
【０１２４】
図１１は、曲線（２点）式によるハイライト効果画像がオーバーラップしたオブジェクトの画像を生成するためのフローチャート図である。
【０１２５】
まずモデル情報を生成する際に、オブジェクトに２つの反射点（Ｐ０、Ｐ１）を結ぶ反射領域Ｒを設定し、反射領域情報をモデル情報として用意する（ステップＳ１１０）。ここにおいて反射領域は複数設定してもよい。なお、反射領域は例えばオブジェクトの形状や素材等から鏡面反射が起こりそうな領域を設定しておくとよい。
【０１２６】
また反射領域情報としては、反射点（Ｐ０、Ｐ１）の法線ベクトル（ｎ０、ｎ１）、ハイライト属性（スプライト種別、強度、しきい値）等を設定しておく。ここにおいて２つの法線ベクトル（ｎ０、ｎ１）が並行にならないように設定する。
【０１２７】
次に画像生成の過程においてステップＳ１１０で設定されたすべての反射領域について処理が終了するまでステップＳ１２０〜Ｓ１６０の処理を繰り返す。
【０１２８】
まず反射領域Ｒのうち光線ベクトルを反射させた反射ベクトルと視線ベクトルのなす角θが最小となる反射点Ｐｔを計算する（ステップＳ１２０）。
【０１２９】
すなわち反射領域Ｒ上の各点について図１０のステップＳ２０〜Ｓ５０と同様の手法でθを求め、求めたθがもっとも小さい点を反射点Ｐｔとする。ここにおいて反射領域Ｒ上の各点は（Ｐ０、Ｐ１）ではさまれた連続した曲線上の点とみなして各点の法線ベクトル（ｎ０〜ｎ１）の範囲で連続する値をとるものとして計算する。
【０１３０】
θが反射領域情報で設定された閾値以下である場合には、θの値および当該反射点に反射点情報として設定されているハイライト強度に基づきハイライト効果画像のハイライトの大きさおよび明るさを演算する（ステップＳ１３０、Ｓ１４０）。
【０１３１】
そして演算された大きさおよび明るさを有するハイライト効果画像生成用のスプライトを反射点Ｐｔに設定する（ステップＳ１５０）。この場合のハイライトの形状はたとえば図９に示すように２点を結ぶ線分にそって一体的に形成された形状であることが好ましい。
【０１３２】
設定されたすべての反射領域について上記処理が終了していない場合には、次の反射領域についてステップＳ１２０〜Ｓ１６０の処理を行い、設定されたすべての反射領域について上記処理が終了した場合には処理を終了する。
【０１３３】
なおオブジェクトに３つの反射点（Ｐ０、Ｐ１、Ｐ２）で囲まれた反射領域Ｒを設定することにより、曲面（３点）式よるハイライト効果画像がオーバーラップしたオブジェクトの画像を生成することもできる。ここにおいて（Ｐ０、Ｐ１、Ｐ２）の各法線ベクトル（ｎ０、ｎ１、ｎ３）は互いに平行にならないように設定する。
【０１３４】
曲面（３点）式による場合には図１１のステップＳ１２０において、３つの反射点（Ｐ０、Ｐ１、Ｐ２）で囲まれた反射領域Ｒのうち、光線ベクトルを反射させた反射ベクトルと視線ベクトルのなす角θが最小となる反射点Ｐｔを計算するとよい。ここにおいて反射領域Ｒを（Ｐ０、Ｐ１、Ｐ２）で囲まれたなめらか曲面とみなして各点の法線ベクトルを求めるとよい。
【０１３５】
次に、本実施形態を実現できるハードウェアの構成の一例について図１２を用いて説明する。
【０１３６】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１３７】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１３８】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１３９】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１４０】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１４１】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１４２】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１４３】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１４４】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１４５】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１４６】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１４７】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステム、他のゲームシステムとの間でのデータ転送が可能になる。
【０１４８】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１４９】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１５０】
図１３（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１５１】
図１３（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１５２】
図１３（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４−１〜１３０４−ｎとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４−１〜１３０４−ｎが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４−１〜１３０４−ｎに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４−１〜１３０４−ｎに伝送し端末において出力することになる。
【０１５３】
なお、図１３（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１５４】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１５５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１５６】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１５７】
また本実施の形態では、ハイライト効果オブジェクトがスプライトまたは板ポリゴンである場合を例にとり説明したがこれに限られない。例えば複数のポリゴンからなるポリゴンオブジェクトで構成してもよいし、自由曲面等で構成してもよい。
【０１５８】
また本実施の形態ではオブジェクトのモデル情報として反射点をもたせておく場合について説明したがこれに限られない。例えばハイライト効果オブジェクトにマッピングするテクスチャに反射位置特定情報をうめこんでおくようにしてもよい。
【０１５９】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１６０】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図１】図１（Ａ）（Ｂ）は従来の光源処理について説明するための図である。
【図２】本実施形態のゲームシステムのブロック図の例である。
【図３】本実施の形態におけるハイライト効果画像がオーバーラップした球オブジェクトの画像例である。
【図４】ハイライト効果オブジェクトとして板ポリゴンを用いた場合のハイライト効果画像の生成例について説明するための図である。
【図５】ハイライト効果オブジェクトとしてスプライトを用いた場合のハイライト効果画像の生成例について説明するための図である。
【図６】本実施の形態において光の反射点における反射の強さを求める手法の一例について説明するための図である。
【図７】反射点の設定方法について説明するための図である。
【図８】図８（Ａ）（Ｂ）（Ｃ）は、前記反射光の強さに応じたハイライト効果画像の変化について説明するための図である。
【図９】複数の反射点におけるハイライト効果画像が一体化したハイライト効果画像の一例である。
【図１０】ハイライト効果画像がオーバーラップしたオブジェクトの画像を生成するためのフローチャート図である。
【図１１】曲線（２点）式によるハイライト効果画像がオーバーラップしたオブジェクトの画像を生成するためのフローチャート図である。
【図１２】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００　処理部
１１０　ゲーム処理部
１１２　移動・動作演算部
１２０　ハイライト効果処理部
１３０　画像生成部
１３２　ジオメトリ処理部
１３４　描画部
１５０　音生成部
１６０　操作部
１７０　記憶部
１７２　メインメモリ
１７４　フレームバッファ
１８０　情報記憶媒体
１９０　表示部
１９２　音出力部
１９４　セーブ用情報記憶装置
１９６　通信部
【図１】
2004005563.tif 000003
【図２】
2004005563.tif 000004
【図３】
2004005563.tif 000005
【図４】
2004005563.tif 000006
【図５】
2004005563.tif 000007
【図６】
2004005563.tif 000008
【図７】
2004005563.tif 000009
【図８】
2004005563.tif 000010
【図９】
2004005563.tif 000011
【図１０】
2004005563.tif 000012
【図１１】
2004005563.tif 000013
【図１２】
2004005563.tif 000014
【図１３】
2004005563.tif 000015