(57)【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
第１オブジェクトと、該第１オブジェクトに対応するとともに、透過可能に描画するための所定の透明度を有する第２オブジェクトとを、前記オブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間に設定された仮想カメラから見えるオブジェクトを描画する際に、前記仮想カメラの視線ベクトルとオブジェクトを構成する面の法線ベクトルとのなす角度に応じて、オブジェクトを構成する面について描画対象としての適否を判定する描画対象判定部と、
前記描画対象と判定された面のみを描画して画像を生成する画像生成部として、コンピュータを機能させ、
前記第１オブジェクトを構成する面の法線ベクトルと前記第２オブジェクトを構成する面の法線ベクトルとは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が当該仮想カメラからオブジェクトが観察可能な第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が当該仮想カメラからオブジェクトが観察不能な第２の角度範囲に属する関係を有し、
前記描画対象判定部が、
前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第１の角度範囲内である面を描画対象とし、前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第２の角度範囲内である面を描画対象としない処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
オブジェクトに対してテクスチャマッピングを行うテクスチャマッピング部として前記コンピュータを機能させ、
前記テクスチャマッピング部が、
前記第２オブジェクを描画する際に、前記第１オブジェクトにマッピングされるテクスチャと同一の色または模様の少なくとも何れか一方のテクスチャを第２オブジェクトにマッピングすることを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記第２オブジェクトのサイズが前記第１オブジェクのサイズより小さく設定されていることを特徴とするプログラム。
【請求項４】
請求項３において、
前記オブジェクト空間設定部が、
前記仮想カメラにおける注視点が設定される第３オブジェクトのサイズが変化する場合に、前記第３オブジェクトのサイズに応じて、前記オブジェクト空間におけるオブジェクトのサイズを替えて前記第２オブジェクトを設定することを特徴とするプログラム。
【請求項５】
請求項４において、
前記オブジェクト空間設定部が、
前記第１オブジェクトが、法線ベクトルの異なる複数の面から構成されており、該第１オブジェクトを構成する各面の法線ベクトルが前記視線ベクトルに対して第１の角度範囲に属する場合に、該視線ベクトルと前記第２の角度範囲に属する法線ベクトルを有する単一の面にて構成されている第２オブジェクトを前記オブジェクト空間に設定することを特徴とするプログラム。
【請求項６】
コンピュータに読み取り可能な情報記憶媒体であって、請求項１〜５のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項７】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
第１オブジェクトと、該第１オブジェクトに対応するとともに、透過可能に描画するための所定の透明度を有する第２オブジェクトとを、前記オブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間に設定された仮想カメラから見えるオブジェクトを描画する際に、前記仮想カメラの視線ベクトルとオブジェクトを構成する面の法線ベクトルとのなす角度に応じて、オブジェクトを構成する面について描画対象としての適否を判定する描画対象判定部と、
前記描画対象と判定された面のみを描画して画像を生成する画像生成部と、
を含み、
前記第１オブジェクトを構成する面の法線ベクトルと前記第２オブジェクトを構成する面の法線ベクトルとは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が当該仮想カメラからオブジェクトが観察可能な第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が当該仮想カメラからオブジェクトが観察不能な第２の角度範囲に属する関係を有し、
前記描画対象判定部が、
前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第１の角度範囲内である面を描画対象とし、前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第２の角度範囲内である面を描画対象としない処理を行うことを特徴とする画像生成システム。
【請求項８】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
第１オブジェクトと、該第１オブジェクトに対応するとともに、透過可能に描画するための所定の透明度を有する第２オブジェクトとを、前記オブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間に設定された仮想カメラから見えるオブジェクトを描画する際に、前記仮想カメラの視線ベクトルとオブジェクトを構成する面の法線ベクトルとのなす角度に応じて、オブジェクトを構成する面について描画対象としての適否を判定する描画対象判定部と、
前記描画対象と判定された面のみを描画して画像を生成する画像生成部として、コンピュータを機能させ、
前記第１オブジェクトを構成する面の法線ベクトルと前記第２オブジェクトを構成する面の法線ベクトルとは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が１８０度±９０度の範囲である第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が１８０度±９０度の範囲外である第２の角度範囲に属する関係を有し、
前記描画対象判定部が、
前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第１の角度範囲内である面を描画対象とし、前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第２の角度範囲内である面を描画対象としない処理を行うことを特徴とするプログラム。
【請求項９】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
第１オブジェクトと、該第１オブジェクトに対応するとともに、透過可能に描画するための所定の透明度を有する第２オブジェクトとを、前記オブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間に設定された仮想カメラから見えるオブジェクトを描画する際に、前記仮想カメラの視線ベクトルとオブジェクトを構成する面の法線ベクトルとのなす角度に応じて、オブジェクトを構成する面について描画対象としての適否を判定する描画対象判定部と、
前記描画対象と判定された面のみを描画して画像を生成する画像生成部と、
を含み、
前記第１オブジェクトを構成する面の法線ベクトルと前記第２オブジェクトを構成する面の法線ベクトルとは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が１８０度±９０度の範囲である第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が当該仮想カメラからオブジェクトが１８０度±９０度の範囲外である第２の角度範囲に属する関係を有し、
前記描画対象判定部が、
前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第１の角度範囲内である面を描画対象とし、前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第２の角度範囲内である面を描画対象としない処理を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記録媒体および画像生成システムに関する。
【背景技術】
【０００２】
近年、仮想的な３次元空間（以下、「オブジェクト空間」という。）に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ（所与の視点）から見た画像として生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとして様々なシステムにて用いられるようになっており、特に、ゲームシステムにおいては、娯楽性および興趣性を向上させるためものとして重要視されている。
【０００３】
従来、このような画像生成システムは、例えばゲームにおける主人公のキャラクタなど、注視点が設定されるオブジェクト（以下、注視対象のオブジェクトともいう。）を、生成する画像内に的確に描画させるために、仮想カメラと注視対象のオブジェクトとの間に配置される障害物（遮蔽物）などのオブジェクトに対して、描画形成の可否も含めて種々の画像処理を行うようになっている。
【０００４】
特に、最近では、このような画像生成システムとしては、仮想カメラの位置とメインキャラクタなどの注視対象との間に配置される障害物のオブジェクトに対して、ゲームの臨場感を維持しつつ注視対象の描画を的確に行うものが知られている。
【０００５】
具体的には、この画像生成システムは、障害物などのオブジェクトがメインキャラクタの注視対象と重なって仮想カメラから観察されるか否かを判定する判定処理を行い、当該仮想カメラの位置と注視対象との間にオブジェクトが重なっている状態であると判定したときに当該オブジェクトに対して所定の透過処理を行うようになっている（例えば、特許文献１）。
【特許文献１】特許第３１４１７３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の画像生成システムにあっては、仮想カメラの位置と注視対象との間にオブジェクトが重なって当該仮想カメラから観察されるか否かを判定する判定処理をオブジェクト毎に必ず行わなければならず、画像を生成する際の処理が増加することになる。また、このような画像生成システムは、描画するオブジェクトが多い場合には、その処理が膨大となるため、画像処理能力を抑えた画像システムにおいては、円滑に、かつ、的確に画像形成を行うことが困難である。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、画像を生成する際の処理負担を低減させることができるとともに、仮想カメラの位置に応じてオブジェクトを的確に描画して画像を生成する画像生成システムを提供することにある。
【課題を解決するための手段】
【０００８】
（１）本発明は、オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、第１オブジェクトと、該第１オブジェクトに対応するとともに、透過可能に描画するための所定の透明度を有する第２オブジェクトとを、前記オブジェクト空間に設定するオブジェクト空間設定部と、前記オブジェクト空間に設定された仮想カメラから見えるオブジェクトを描画する際に、前記仮想カメラの視線ベクトルとオブジェクトを構成する面の法線ベクトルとのなす角度に応じて、オブジェクトを構成する面について描画対象としての適否を判定する描画対象判定部と、前記描画対象と判定された面のみを描画して画像を生成する画像生成部と、を含み、前記第１オブジェクトを構成する面の法線ベクトルと前記第２オブジェクトを構成する面の法線ベクトルとは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が第２の角度範囲に属する関係を有し、前記描画対象判定部が、前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第１の角度範囲内である面を描画対象とし、前記仮想カメラの視線ベクトルに対する法線ベクトルの角度が前記第２の角度範囲内である面を描画対象としない処理を行う画像生成システムに関係する。
【０００９】
また、本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体についても適用可能である。
【００１０】
本発明によれば、第１オブジェクトと第２オブジェクトとが同時に描画対象と判定されることが無いので、オブジェクト空間上の仮想カメラの位置に応じて、不透明なオブジェクトまたは半透明なオブジェクトの何れか一方のオブジェクトを描画することになる。
【００１１】
したがって、本発明によれば、オブジェクト空間上において、仮想カメラと注視対象となるオブジェクトの間に注視対象を仮想カメラから視認不能にさせる遮蔽物が存在する場合に、遮蔽物に関して、第１オブジェクトと、これに対応する第２オブジェクトとを設定することによって、仮想カメラと注視対象となるオブジェクトの間の遮蔽物を特定する処理や当該遮蔽物を半透明化して描画する処理など、注視対象のオブジェクトを視認させるための専用の処理を行うことなく、各オブジェクトにおける描画対象の判定のみを行うことによって、注視対象となるオブジェクトが他のオブジェクトに遮蔽されても注視対象を視認しうる画像を生成することができる。
【００１２】
この結果、本発明によれば、上述の専用の処理を不要することによって画像を生成する際の処理負担を低減させることができるとともに、仮想カメラの位置に応じて注視対象となるオブジェクトを視認可能に的確に描画した画像を得ることができる。
【００１３】
（２）また本発明の画像生成システムでは、オブジェクトに対してテクスチャマッピングを行うテクスチャマッピング部を含み、前記テクスチャマッピング部が、前記第２オブジェクを描画する際に、前記第１オブジェクトにマッピングされるテクスチャと同一の色または模様の少なくとも何れか一方のテクスチャを第２オブジェクトにマッピングするようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記テクスチャマッピング部としてコンピュータを機能させるようにしてもよい。
【００１４】
このようにすれば、第２オブジェクトが描画対象となる場合に、第１オブジェクトと同一の色または模様のテクスチャがマッピングされるので、描画対象とならない第１オブジェクトの存在を間接的に認識させることでオブジェクト空間内での位置を把握しやすくなる。
【００１５】
（３）また本発明の画像生成システム、プログラム及び情報記録媒体では、前記第２オブジェクトのサイズが前記第１オブジェクのサイズより小さく設定されていてもよい。
【００１６】
このようにすれば、第２オブジェクトの描画面積が小さくなるため、仮想カメラの位置や向きの変化する範囲が制限されている場合などでは、第２オブジェクトを少ないデータ処理量によって描画することができるため利便性が高い。
【００１７】
（４）また本発明の画像生成システム、プログラム及び情報記録媒体では、前記オブジェクト空間設定部が、前記仮想カメラにおける注視点が設定される第３オブジェクトのサイズが変化する場合に、前記第３オブジェクトのサイズに応じて、前記オブジェクト空間におけるオブジェクトのサイズを替えて前記第２オブジェクトを設定するようにしてもよい。
【００１８】
このようにすれば、注視点が設定される第３オブジェクトのサイズが変化した場合に、スクリーンに投影された第２オブジェクトのサイズがスクリーンのサイズに満たなくなって見苦しい画像が生成されてしまうという不都合を解消することができる。
【００１９】
（５）また本発明の画像生成システム、プログラム及び情報記録媒体では、前記オブジェクト空間設定部が、前記第１オブジェクトが、法線ベクトルの異なる複数の面から構成されており、該第１オブジェクトを構成する各面の法線ベクトルが前記視線ベクトルに対して第１の角度範囲に属する場合に、該視線ベクトルと前記第２の角度範囲に属する法線ベクトルを有する単一の面にて構成されている第２オブジェクトを前記オブジェクト空間に設定するようにしてもよい。
【００２０】
通常、複数の面によって構成されるオブジェクトを裏側から観察するような場合に、複雑な形状を描画する必要がないことも多い。特に遮蔽物を透視させることを目的とする場合には、遮蔽物の存在のみが把握できれば十分である。
【００２１】
したがって、第１オブジェクトが法線方向の異なる複数の面から構成されている場合に、第２オブジェクトを、当該視線ベクトルと第２の角度範囲に属する法線ベクトルを有する単一の面にて構成しておけば、複雑な形状を有するオブジェクトを描画する場合であっても、少ないデータ処理量によって描画を済ませることができるとともに、仮想カメラが第２オブジェクト側に設定された場合には、描画判定処理の対象となる法線ベクトルの数が少なくなるので、描画対象の判定処理の負担が軽減される。
【発明を実施するための最良の形態】
【００２２】
次に、本発明に好適な実施の形態について、図面に基づいて説明する。
【００２３】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態にて説明される構成の全てが、本発明の必須の構成要件であるとは限らない。
【００２４】
１．構成
まず、図１を用いて本実施形態における画像生成システム（ゲームシステム）の構成について説明する。
【００２５】
なお、図１は、本実施形態の画像生成システムの機能ブロック図の一例である。また、本実施形態の画像生成システムは、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２６】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ、ＶＲＡＭなどにより実現できる。そして、本実施形態の記憶部１７０は、最終的な表示画像等が記憶されるフレームバッファ１７２と、オブジェクト毎に、当該オブジェクトの各頂点データが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。
【００２８】
本実施形態のオブジェクトデータ記憶部１７３には、ローカル座標系において予め設定され、頂点の位置座標、テクスチャ座標、色データ、法線ベクトル（法線データ）およびα値などの各頂点データを含むオブジェクトデータまたは処理部１００によって所定の演算により算出された各頂点データを含むオブジェクトデータが記憶される。
【００２９】
特に、本実施形態のオブジェクトデータ記憶部１７３には、注視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクトに対しては、すなわち、仮想カメラの視線方向を基準に当該オブジェクトの奥に配置される他のオブジェクト（注視点が設定されるキャラクタなどのオブジェクト）を描画する可能性のあるオブジェクトに対しては、通常のオブジェクト（以下、「第１オブジェクト」ともいう。）を描画するためのオブジェクトデータ（以下、「第１オブジェクトデータ」という。）と、当該第１オブジェクトデータに対応するオブジェクト（以下、「第２オブジェクト」ともいう。）を描画するためのオブジェクトデータであって、第１オブジェクトの各法線ベクトルの方向と描画する際のオブジェクトの透明度を示すα値とが異なるオブジェクトデータ（以下、「第２オブジェクトデータ」という。）と、が記憶される。
【００３０】
すなわち、本実施形態のオブジェクトデータ記憶部１７３には、遮蔽物などの所定のオブジェクトの表面として認識される第１オブジェクトを描画する第１オブジェクトデータの他に、所定のオブジェクトの裏面として認識される第２オブジェクトを描画する第２オブジェクトデータが記憶される。そして、この第２オブジェクトデータは、第１オブジェクトデータの各頂点データと対応する頂点データを有し、法線ベクトルのオブジェクト空間上の方向が対応する第１オブジェクトデータの法線ベクトルと所定角度範囲以上異なり、かつ、所定の透明度にて（好ましくは半透明にて）のオブジェクトを描画するためのデータから構成される。
【００３１】
また、この第２オブジェクトデータは、オブジェクトの大きさまたは座標位置など第１オブジェクトとは異なるオブジェクトを構成するデータであってもよいし、第１オブジェクトデータに対して座標データなどが相対的に規定される各頂点データから構成されていてよい。ただし、第２オブジェクトデータの各頂点データは、仮想カメラから見られる画像として描画される際の当該仮想カメラにおける画角に対して十分な大きさを有すること、および、その座標データは、第１オブジェクトデータにおける対応する頂点データの座標位置から所定の範囲内に、すなわち、同一のオブジェクトとして認識可能な範囲に設定されていることが必要である。
【００３２】
なお、第２オブジェクトデータに規定される法線ベクトルは、第１オブジェクトデータに対応する頂点データにおける法線ベクトルとオブジェクト空間上の方向が反対であること、すなわち、その角度が１８０度異なることが好ましいが、第１オブジェクトと第２オブジェクトが、表面のオブジェクトおよび裏面のオブジェクトとして認識可能な角度範囲であればよい。
【００３３】
テクスチャ記憶部１７４には、第１オブジェクトデータおよび第２オブジェクトデータそれぞれに対応するテクスチャが記憶される。特に、このテクスチャ記憶部１７４には、第２オブジェクトデータ用のテクスチャとして、第１オブジェクトと同様の色、同様の模様など第２オブジェクトデータによって第２ブジェクトが描画された場合であっても、第１オブジェクトデータによって描画されるオブジェクトと対応関係のあるオブジェクトであることを認識可能なテクスチャが記憶される。
【００３４】
ただし、第２オブジェクトにテクスチャをマッピングしない場合には、当該第２オブジェクトのためのテクスチャを用意せずとも第２オブジェクトのオブジェクトデータに頂点の色を設定しておくこともできる。
【００３５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３８】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は、記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４０】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、画像生成処理部１２０、を含む。なおこれらの一部を省略する構成としてもよい。
【００４１】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４２】
特に、本実施形態のオブジェクト空間設定部１１０は、オブジェクトデータ記憶部１７３に記憶されたオブジェクトデータに基づいて各オブジェクトをオブジェクト空間に設定する。具体的には、このオブジェクト空間設定部１１０は、オブジェクト空間内において固定的に設定されるオブジェクトについては、オブジェクトデータ記憶部１７３に記憶されているオブジェクトデータに基づいて設定し、当該オブジェクト空間内において移動するオブジェクトについては、オブジェクトデータ記憶部１７３に記憶されているオブジェクトデータに基づいて移動・動作処理部１１２にて処理された位置に設定する。
【００４３】
移動・動作処理部１１２は、オブジェクト（キャラクタ、ボール、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なお、フレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４５】
例えば、仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４６】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより、画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、オブジェクトの各頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が入力され、入力された頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行う際に、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うことができることができる。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、表示画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、最終的な表示画像のピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ１７２（ピクセル単位で画像情報を記憶できるバッファ。描画バッファ、表示バッファ、バックバッファ、フロントバッファ、ワークバッファ、ＶＲＡＭ）に出力（描画）する。すなわち、ピクセルシェーディングでは、表示画像のピクセル単位で画像情報（色、法線、輝度、α値等）を設定あるいは変更するパークピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から観察される画像（フレーム画像）が生成される。なお、視点が複数存在する場合には、それぞれの視点から観察される画像を分割画像として１画面に表示できるようにフレーム画像を生成することができる。
【００４７】
特に、本実施形態の画像生成部１２０は、仮想カメラの視線方向を基準としてオブジェクトデータ記憶部１７３に記憶された各オブジェクトデータ毎に（具体的には、頂点データ毎に）オブジェクトを描画する際に用いるデータであるか否かの判定処理を行う描画対象判定部１２１と、オブジェクトを描画する際にαブレンディング処理（半透明描画処理）を行うαブレンディング部１２２と、描画する各オブジェクトに対してテクスチャをマッピングするテクスチャマッピング部１２４と、を含む。
【００４８】
なお、これらの一部を省略する構成としてもよく、描画対象判定部１２１は、画像生成部１２０以外に設けられていてもよい。
【００４９】
通常、画像を生成する際には、仮想カメラの視線方向に対して観察不能なオブジェクトの頂点データについては、当該生成される画像には描画されず、当該仮想カメラの視線方向に対して観察可能な頂点データのみに基づいてオブジェクトを描画すれば画像を生成することができる。このため、本実施形態の描画対象判定部１２１は、各頂点データの法線ベクトルに基づいて仮想カメラの視線方向に対して当該オブジェクトの頂点が観察可能か否か、すなわち、描画対象となるか否かを判定する判定処理を行う。
【００５０】
具体的には、描画対象判定部１２１は、各頂点データ毎に、仮想カメラからメインキャラクタなどの注視対象に設定される注視点に向けたベクトル（以下、「視線ベクトル」ともいう。）と当該各オブジェクトデータに含まれる各頂点データの法線ベクトルとの内積を演算し、算出された値が所定の条件を示せば（例えば、視線ベクトルと法線ベクトルにて形成される角度が所定の角度範囲に属すれば）、当該演算に用いた法線ベクトルの頂点データを、オブジェクトを描画する際に用いるオブジェクトデータとして判定する。
【００５１】
すなわち、オブジェクトを描画する際には、仮想カメラから見える当該オブジェクトの面についてのみ描画することから、この描画対象判定部１２１は、視線ベクトルと法線ベクトルによって形成される角度が１８０度±９０度の範囲になる場合に描画対象として判定する必要がある。したがって、本実施形態の描画対象判定部１２１は、視線ベクトルを「Ｖ１」、法線ベクトルを「Ｖ２」とし、視線ベクトルと法線ベクトルにて形成される角度を「θ」とすると、下式の内積演算によって当該角度パラメータｃｏｓθを算出し、角度θが１８０度±９０度の範囲になる場合に描画対象として判定する。
【００５２】
ｃｏｓθ＝Ｖ１・Ｖ２／｜Ｖ１｜｜Ｖ２｜    （１）
ただし、視線ベクトルおよび法線ベクトルが単位ベクトルであることから、｜Ｖ１｜＝｜Ｖ２｜＝１となる。
【００５３】
なお、本実施形態の描画対象判定部１２１は、各頂点データ毎に、すなわち、オブジェクトデータ毎に当該判定処理を行うので、注視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクト、具体的には、仮想カメラに基づいて当該オブジェクトの奥に配置される他のオブジェクト（注視点が設定されるキャラクタなどのオブジェクト）を描画する可能性があるオブジェクトにおいては、第１オブジェクトデータおよび第２オブジェクトデータのそれぞれの頂点データに対しても判定処理を行うようになっている。
【００５４】
また、αブレンディング部１２２は、α値（Ａ値）に基づくαブレンディング処理（通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等）も行うことができるようになっている。
【００５５】
このαブレンディング部１２２は、α値（Ａ値）に基づくαブレンディング処理（通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等）を行う。例えば通常αブレンディングの場合には下式の処理を行う。
【００５６】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2  （２）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2  （３）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2  （４）
一方、加算αブレンディングの場合には下式の処理を行う。
【００５７】
ＲQ＝Ｒ1＋α×Ｒ2  （５）
ＧQ＝Ｇ1＋α×Ｇ2  （６）
ＢQ＝Ｂ1＋α×Ｂ2  （７）
ただし、Ｒ1、Ｇ1、Ｂ1は、フレームバッファ１７２に既に描画されている画像（画像）のＲＧＢ成分であり、Ｒ2、Ｇ2、Ｂ2は、フレームバッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像のＲＧＢ成分である。
【００５８】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５９】
本実施形態のαブレンディング部１２２は、第２オブジェクトデータに基づいてオブジェクトを描画する場合には、仮想カメラの視線方向を基準に当該オブジェクトの奥にある注視点が設定されるキャラクタその他のオブジェクトを描画するため、当該第２オブジェクトデータに含まれる頂点データのα値に基づいて、当該オブジェクトを半透明にして描画するようになっている。
【００６０】
テクスチャマッピング部１２４は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）を各オブジェクトにマッピングするための処理を行う。具体的には、このテクスチャマッピング部１２４は、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出し、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やテクセル補間としてバイリニア補間などを行う。
【００６１】
特に、本実施形態のテクスチャマッピング部１２４は、第２オブジェクトデータによってオブジェクトを描画する場合であっても、第１オブジェクトと同様の色、模様など第１オブジェクトと同一のオブジェクトとして認識可能なテクスチャに基づいてマッピングを行う。
【００６２】
また本実施形態の画像生成システムでは、画像生成部１２０が隠面消去を行うことができるようになっている。隠面消去を利用する場合には、例えば、Ｚ値が格納されるＺバッファ１７６を用いて隠面消去を行いつつ、描画対象判定部１２４において描画するデータとして判定されたオブジェクトデータに基づいてオブジェクト（プリミティブ面）をフレームバッファ１７２に描画し、画像を生成する。そして、画像のＺ値は、この描画処理の際に行われるＺバッファ法（奥行き比較法）により、Ｚバッファ１７６上に生成（格納）される。なお、Ｚ値（奥行き値）は、カメラ座標系のＺ座標軸のＺ値そのものであってもよいし、このＺ値と数学的でかつ均等なパラメータであってもよい。
【００６３】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６４】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６５】
２．本実施形態の手法
次に、図２〜図５を用いて本実施形態の手法について説明する。なお、図２〜図５は、本実施形態の手法を説明するための図である。特に、図２は、第１オブジェクトおよび第２オブジェクトが設定されたオブジェクト空間における仮想カメラと注視対象の関係を示す図であり、図３は、仮想カメラにおいて描画される壁の一部（ドア）の法線ベクトルの向きを示す図である。また、図４は、注視点が設定されるオブジェクトのサイズと第２オブジェクトのサイズの関係を示す図であり、図５は、法線ベクトルの異なるプリミティブ面を有する第１オブジェクトと第２オブジェクトの関係を示す一例である。
【００６６】
本実施形態では、注視対象となるオブジェクト（第３オブジェクト、注視対象オブジェクト）は、オブジェクト空間内の予め設定された移動領域内（オブジェクトの移動領域内）を移動する移動体オブジェクトであって、当該注視対象のオブジェクトの移動に伴って変化する仮想カメラの位置、向きに基づいてオブジェクト空間内に設定された各オブジェクトを描画して画像を生成する。
【００６７】
すなわち、仮想カメラは、注視対象となるオブジェクトの移動に伴って移動制御されるようになっており、注視対象のオブジェクトにおけるオブジェクト空間上の位置、向きと仮想カメラの位置、向き（視線ベクトルの向き：視線方向）とによっては、オブジェクトの移動領域外から観察される画像を生成する場合も生ずる。
【００６８】
したがって、このように仮想カメラがオブジェクトの移動領域外に設定される場合であって、注視対象のオブジェクトと仮想カメラの間に、例えば、移動領域と移動領域外の境界に、固定的に設定されるオブジェクトが存在する場合には、当該注視対象のオブジェクトを視認可能に描画させるためには、注視対象のオブジェクトと仮想カメラの間に設定されるオブジェクトを透過（好ましくは半透明にて）させるなど工夫する必要がある。
【００６９】
具体的には、仮想カメラが注視対象のオブジェクトの移動領域内に設定される際には、移動領域と移動領域外の境界に固定的に設定される壁のオブジェクトが存在する場合であっても、図２（Ａ）に示すように、注視対象のオブジェクトと仮想カメラと間に当該壁のオブジェクトが設定されないため、仮想カメラから見える壁のオブジェクトを描画する際に支障は生じない。その一方、仮想カメラが注視対象のオブジェクトの移動領域外に設定され、移動領域と移動領域外の境界に固定的に設定される壁のオブジェクトが存在する場合には、図２（Ｂ）に示すように、当該壁オブジェクトに注視対象のオブジェクトが遮蔽されてしまい、注視対象のオブジェクトを観察することができない。
【００７０】
そこで、本実施形態では、注視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクトに対しては、本来表現したいオブジェクトを描画するための第１オブジェクト（不透明オブジェクト）を設定する他に、第１オブジェクトと同位置あるいは近傍の位置に設定される第２オブジェクト（半透明オブジェクト）をオブジェクト空間に設定する手法を採用している。
【００７１】
具体的には、第１オブジェクトデータに基づいて、例えば、オブジェクトの形状および色と当該オブジェクトのオブジェクト空間上の座標位置および向きなど本来のオブジェクトを描画するための第１オブジェクトをオブジェクト空間に設定するようになっている。また本実施形態の手法では、第１オブジェクトデータの各頂点データに対応するとともに、オブジェクトを透過的に描画するための各頂点データを有する第２オブジェクトデータに基づいて、第２オブジェクトをオブジェクト空間に設定するようになっている。
【００７２】
特に、第１オブジェクトを構成するプリミティブ面の法線ベクトルと第２オブジェクトを構成するプリミティブ面の法線ベクトルは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が第２の角度範囲に属する関係を有するようになっている。
【００７３】
例えば、図２（Ａ）及び図２（Ｂ）に示すように、壁のオブジェクト対しては、注視対象のオブジェクトと仮想カメラとの間に設定される可能性があるため、仮想カメラの位置によって注視対象のオブジェクトと当該仮想カメラとの間にこの壁のオブジェクトが設定される場合には、当該壁オブジェクトの奥に注視対象のオブジェクトなど他のオブジェクトを描画することができるように、所定の透明度（α値）を有する第２オブジェクトを設定するようになっている。
【００７４】
また本実施形態の手法では、図３（Ａ）及び図３（Ｂ）に示すように、図２に示す壁の一部（ドア）のオブジェクトに対して、移動領域内の方向に向けて設定された法線ベクトルＳ１を有するプリミティブ面からなる不透明な壁のオブジェクトである第１オブジェクトと、移動領域外の方向に向けて設定された法線ベクトルＳ２を有するプリミティブ面からなる半透明な壁のオブジェクトである第２オブジェクトを設定するようになっている。そして、この法線ベクトルＳ１と法線ベクトルＳ２は、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が第２の角度範囲に属する関係を有するように、所定の角度範囲以上（好ましくは、１８０度）異なる方向にて設定されるようになっている。
【００７５】
なお、図３（Ａ）及び図３（Ｂ）に示す法線ベクトルＳ１およびＳ２は、図２（Ａ）及び図２（Ｂ）において設定される仮想カメラにおいて描画される壁の一部（ドア）の不透明のオブジェクトおよび半透明なオブジェクトの法線ベクトルの向きを示している。ただし、図３（Ａ）及び図３（Ｂ）において、法線ベクトルＳ１、Ｓ２は頂点データ毎のものを示しているわけでなく、説明の便宜上、第１オブジェクトおよび第２オブジェクトを構成する面の法線ベクトルを示している。
【００７６】
一方、本実施形態の手法では、このように設定された各オブジェクトを描画する際には、視線ベクトルと各頂点データにおける法線ベクトルとの内積演算を行うことによって、仮想カメラの視線ベクトルに対して描画対象の適否、すなわち、観察可能か否かを判定し、描画対象となったオブジェクトの面を描画して画像を生成するようになっている。すなわち本実施形態の手法では、プリミティブ面（あるいはポリゴン）の法線の向きによって表面及び裏面を判定して表面のみを描画する技術、いわゆるバックフェイスカリングを利用している。バックフェイスカリングは本来描画処理を高速化するために、描画処理の対象データを減らすことを目的として利用されてきた技術である。
【００７７】
そして本実施形態の手法では、図２において設定される壁のオブジェクトに対して、上述のように、第１オブジェクトの法線ベクトルと第２オブジェクトの法線ベクトルとは、一方の法線ベクトルと仮想カメラの視線ベクトルとのなす角度が第１の角度範囲に属する場合に、他方の法線ベクトルと視線ベクトルとのなす角度が第２の角度範囲に属する関係を有しているので、本実施形態の画像生成システムは、この判定処理により、何れか一方のオブジェクトを構成するプリミティブ面のみを、描画対象のプリミティブ面として判定するようになっている。
【００７８】
具体的には、仮想カメラが注視対象のオブジェクトの移動領域内に設定される場合には、すなわち、本来観察される方向からオブジェクトを描画する場合には、第１オブジェクト（第１オブジェクトを構成するプリミティブ面）を描画するようになっており、本来の壁の大きさ、色および形にて画像を描画するようになっている。
【００７９】
一方、仮想カメラが注視対象のオブジェクトの移動領域外に設定され、移動領域と移動領域外の境界に固定的に設定される壁のオブジェクトが存在する場合には、すなわち、本来観察されないオブジェクトの裏側に仮想カメラが移動し、当該裏側の方向から当該オブジェクトを描画する場合には、第２オブジェクト（第２オブジェクトを構成するプリミティブ面）を描画するようになっており、半透明な壁のオブジェクトを描画する。
【００８０】
例えば、図２（Ａ）に示す仮想カメラの位置、向きに基づいてオブジェクトを描画する場合には、不透明な壁の第１オブジェクトを描画し、図２（Ｂ）に示す仮想カメラの位置、向きに基づいてオブジェクトを描画する場合には、半透明な壁の第２オブジェクトを描画するようになっている。
【００８１】
このように、本実施形態の手法では、オブジェクト空間上において、仮想カメラと注視対象となるオブジェクトの間に設定され、注視対象が仮想カメラから視認不能にさせる遮蔽物などのオブジェクトに対して第１オブジェクトのみならず第２オブジェクトを設定する。
【００８２】
したがって、本実施形態の手法によれば、仮想カメラと注視対象となるオブジェクトの間の遮蔽物を特定する処理や当該遮蔽物を半透明化して描画する処理など注視対象のオブジェクトを視認させるための専用の処理を行うことなく、各オブジェクトにおける描画対象の判定のみを行うことによって、注視対象となるオブジェクトが他のオブジェクトに遮蔽されても注視対象を視認しうる画像を生成することができるようになっている。
【００８３】
この結果、上述の専用の処理を不要することによって画像を生成する際の処理負担を低減させることができるとともに、仮想カメラの位置に適した各オブジェクトを的確に描画して画像を生成することができるようになっている。
【００８４】
また、本実施形態の第２オブジェクトは、例えば、図３（Ｂ）に示すように、第１オブジェクのサイズより小さいサイズにてオブジェクト空間上に設定されている。オブジェクト空間上において、仮想カメラと注視対象となるオブジェクトの間に設定された場合であって、仮想カメラが当該オブジェクトに近い場合または当該仮想カメラがオブジェクト空間の高さ方向に変化しない場合などでは、クリッピング処理その他の処理によって、スクリーンに投影される第２オブジェクトの描画範囲が狭いので、第２オブジェクトを少ないデータによって描画することができるからである。
【００８５】
さらに、メインキャラクタなどの注視点が設定されるオブジェクト（第３オブジェクト）に対しては、そのサイズが可変に設定されており、所定のイベントに基づいて、そのサイズが所定の可変範囲にて変更される場合もある。すなわち、第２オブジェクトが当該注視点のオブジェクトに合わせて大きくさせて描画させる場合もある。この場合には、図４（Ａ）及び図４（Ｂ）に示すように、注視点が設定されるオブジェクトのサイズに基づいて、オブジェクト空間における第２オブジェクトのサイズを替えて当該第２オブジェクトを設定するようになっている。すなわち、当該注視点が設定されるオブジェクトの最大変化量に合わせて、オブジェクト空間における第２オブジェクトのサイズを替えて当該第２オブジェクトを設定するようになっている。
【００８６】
これにより、第２オブジェクトが第１オブジェクトより小さいサイズによって設定されている場合であっても、スクリーンに投影された第２オブジェクトのサイズがスクリーンより小さくなって的確に描画することができないという不都合を解消することができるようになっている。ただし、本実施形態の画像生成システムは、サイズの違う第２オブジェクトのオブジェクトデータを読み込んでオブジェクト空間に設定してもよいし、既にオブジェクト空間に設定されている第２オブジェクトのサイズを所定の係数でスケーリングしてもよい。
【００８７】
なお、本実施形態の手法では、図５に示すように、第１オブジェクトが、法線の異なる複数のプリミティブ面から構成されるデータである場合に、第２オブジェクトを少なくとも何れか一のプリミティブ面の法線を示す法線ベクトルＳ１ａ、Ｓ１ｂに対して所定の角度範囲以上異なる単一の法線ベクトルＳ２から構成されるプリミティブ面のオブジェクトデータにて構成していてもよい。
【００８８】
通常、複数のプリミティブ面によって構成されるオブジェクトの裏側から、仮想カメラにて当該オブジェクトを観察した場合に、当該複雑な形状を描画する必要がないことも多いからである。これにより、この画像生成システムは、複雑な形状として認識されるオブジェクトに対しても、少ないデータによって仮想カメラの視線方向に応じて透明度が変化するオブジェクトを描画することができるとともに、仮想カメラが第２オブジェクト側に設定された場合には、描画判定処理の対象となる法線ベクトルの数が少なくなるので、当該描画判定処理の負担が軽減される。
【００８９】
また、第１オブジェクトおよび第２オブジェクトにて設定されるオブジェクトは、上述の壁のオブジェクトなどのオブジェクト空間上に固定されるオブジェクトと異なり、当該オブジェクト空間上を移動するオブジェクト（移動体オブジェクト）であってもよい。この場合には、第１オブジェクトおよび第２オブジェクトは、移動・動作処理部１１２によってそれぞれのオブジェクト空間上における位置が算出されるようになっている。
【００９０】
また、本実施形態では、少なくとも注視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクトに対してのみ、第１オブジェクトと第２オブジェクトが設定されていればよく、メインキャラクタなどの注視点が固定的に設定されるキャラクタが存在しても、または、存在しなくても、本発明を適用することが可能である。
【００９１】
また、本実施形態では、一のオブジェクトに対して第１オブジェクトおよび第２オブジェクトの２のオブジェクトを設定する場合について説明したが、勿論、一のオブジェクトに対して３以上のオブジェクトを設定することも可能である。
【００９２】
３．本実施形態の処理
次に、図６を用いて本実施形態の画像生成システムにおけるオブジェクトを描画する際の詳細な処理例について説明する。なお、図６は、本実施形態の画像生成システムにおけるオブジェクトを描画する際の動作を示すフローチャートである。
【００９３】
以下の処理については、壁オブジェクトなどのオブジェクト空間上に固定されるオブジェクトを用いて説明する。
【００９４】
まず、オブジェクトデータやテクスチャデータなど、画像生成に使用するオブジェクトに関する各種のデータを読み出してＲＡＭあるいはＶＲＡＭに転送する（ステップＳ１）。特に、注視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクトについては、第１オブジェクトデータおよび第２オブジェクトデータと、それぞれに対応するテクスチャと、をＲＡＭあるいはＶＲＡＭに転送する。
【００９５】
次いで、各オブジェクトをオブジェクト空間に設定する（ステップＳ２）。特に、視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクトについては、第１オブジェクトデータおよび第２オブジェクトデータに基づいて、第１オブジェクトおよび第２オブジェクトをそれぞれオブジェクト空間に設定する。
【００９６】
次いで、操作部などからの指示データに基づいて、画像を生成する際の基準となる仮想カメラの位置が決定されると、当該仮想カメラの視線方向を基準に各オブジェクト毎に視線ベクトルと法線ベクトルの内積を演算するとともに、当該視線ベクトルと法線ベクトルとによって構成される角度が第１の角度範囲内か第２の角度範囲内かを判定し、描画対象となるオブジェクトの面を判定する（ステップＳ３）。
【００９７】
具体的には、視線ベクトルと法線ベクトルとによって構成される角度が所定の第１の角度範囲内の場合には、描画対象の面と判定し、視線ベクトルと法線ベクトルとによって構成される角度が第２の角度範囲内の場合には、描画対象でない面と判定する。特に、注視点が設定されるキャラクタなどの注視対象のオブジェクトと仮想カメラとの間に設定される可能性のあるオブジェクトについては、結果的に、第１オブジェクトおよび第２オブジェクトの何れか一方のオブジェクトの面を、選択的に描画対象の面と判定する。
【００９８】
次いで、ステップＳ２の処理において描画対象と判定された面（オブジェクトのプリミティブ）を、テクスチャマッピング処理を行いつつ、描画して画像を生成する（ステップＳ４）。特に、第２オブジェクトデータによってオブジェクトを描画する際には、第１オブジェクトと同一の色または模様のテクスチャに基づいてテクスチャマッピングを行いつつ、当該オブジェクトの面を描画する。
【００９９】
４．ハードウェア構成
次に、図７を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図７は、本実施形態を実現できるハードウェア構成を示す一例である。
【０１００】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１０１】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１０２】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１０３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。
【０１０４】
また、この描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１０５】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１０６】
ＲＯＭ９５０には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。
【０１０７】
ＲＡＭ９６０は、各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１０８】
なお、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１０９】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１１０】
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（プリミティブ面等）として引用された用語（ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１１１】
また、判定処理および描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
【０１１２】
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１３】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】本実施形態の手法を説明するための図であり、第１オブジェクト第２オブジェクトが設定されたオブジェクト空間における仮想カメラと注視対象の関係を示す図。
【図３】本実施形態の手法を説明するための図であり、仮想カメラにおいて描画される壁の一部（ドア）の法線ベクトルの向き示す図。
【図４】本実施形態の手法を説明するための図であり、注視点が設定されるオブジェクトのサイズと第２オブジェクトのサイズの関係を示す図。
【図５】本実施形態の手法を説明するための図であり、第１オブジェクトが法線ベクトルの異なるプリミティブ面に対する第２オブジェクトの例を示す図。
【図６】本実施形態の処理の詳細例。
【図７】ハードウェアの構成例。
【符号の説明】
【０１１４】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  画像生成部、１２１  描画対象判定部、
１２２  αブレンディング部、１２３  テクスチャマッピング部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１７２  フレームバッファ、
１７３  オブジェクトデータ記憶部、１７４  テクスチャ記憶部、
１７６  Ｚバッファ１７６、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
0004717622.tif 000002
【図２】
0004717622.tif 000003
【図３】
0004717622.tif 000004
【図４】
0004717622.tif 000005
【図５】
0004717622.tif 000006
【図６】
0004717622.tif 000007
【図７】
0004717622.tif 000008