(57)【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に応じて、当該オブジェクトの動作を変化させるオブジェクト動作変化処理部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する入力処理部と、
前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部としてコンピュータを機能させ、
前記入力処理部が、
前記位置判定部の判定結果に応じて、前記操作入力に対応する前記行動命令を変更することを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記特定領域設定部が、
前記オブジェクトに対応する簡易オブジェクトと前記光源との位置関係に基づいて、当該簡易オブジェクトの影を生成することによって前記特定領域を設定し、
前記位置判定部が、
前記生成された簡易オブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定することを特徴とするプログラム。
【請求項４】
請求項１または２において、
前記特定領域設定部が、
前記オブジェクトと前記光源との位置関係に基づいて、当該オブジェクトの影を生成することによって前記特定領域を設定し、
前記位置判定部が、
前記生成されたオブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記所与のオブジェクトに所定の判定領域を設定する判定領域設定部としてコンピュータを更に機能させ、
前記位置判定部が、
前記判定領域に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定することを特徴とするプログラム。
【請求項６】
コンピュータに読み取り可能な情報記憶媒体であって、請求項１乃至５のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項７】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に応じて、当該オブジェクトの動作を変化させるオブジェクト動作変化処理部と、
を含むことを特徴とする画像生成システム。 
【請求項８】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する入力処理部と、
前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部を含み、
前記入力処理部が、
前記位置判定部の判定結果に応じて、前記操作入力に対応する前記行動命令を変更することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
近年、仮想的な３次元空間（以下、「オブジェクト空間」という。）に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ（所与の視点）に基づく所定の画像として生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとして様々なシステムにて用いられるようになっており、特に、ゲームシステムにおいては、娯楽性および興趣性を向上させるためものとして重要視されている。
【０００３】
従来、このような画像生成システムは、例えばロールプレイイングゲーム（ＲＰＧ）などで複数のキャラクタ同士が戦闘するゲームにおいて、キャラクタオブジェクトごとに、操作手段の入力に基づいて、または、予め定められたアルゴリズムに基づいて、当該戦闘における攻撃動作及び防御動作を実行させる。
【０００４】
特に、最近では、このような画像生成システムとしては、当該戦闘における臨場感及びスリル感を向上させるために、各キャラクタオブジェクトの戦闘に関する動作をリアルタイムで実行させるものが知られている。
【０００５】
具体的には、この画像生成システムは、キャラクタオブジェクトごとに、予め個別に設定された時間を計測するタイマなどの計時手段を設け、当該予め設定された時間を計測し終えた際に、各キャラクタオブジェクトの戦闘に関する動作を実行させる（例えば、特許文献１）。
【特許文献１】特許第２７９４２３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のような画像生成システムにあっては、オブジェクトの行動又は態様は、操作入力に対してその拡張性が乏しい。
【０００７】
すなわち、上述のような画像生成システムにあっては、例えば戦闘時のゲームの進行上において、キャラクタオブジェクトのオブジェクト空間における位置によって、その形態及び動作などの外観的特性又は当該オブジェクトに関する各種のパラメータなど内部的な特性を変化させておらず、キャラクタオブジェクトの行動などに関するバリエーションに限界がある。
【０００８】
また、上述のような画像生成システムにあっては、例えばキャラクタオブジェクトをプレーヤが操作する際に、操作入力に対する行動命令をオブジェクト空間における配置などによって変化させることはなく、操作入力に関するバリエーションに限界がある。
【０００９】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクトのオブジェクト空間における配置によってオブジェクトに関する種々のバリエーションを拡張し、ゲームなどに用いる画像を生成する際に新たな興趣の提供又はその興趣性の向上を可能とするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【００１０】
具体的には、本発明は、オブジェクトのオブジェクト空間における配置によって、オブジェクトの形態、動作、パラメータ又は属性を変化させ、当該オブジェクトの行動又は態様などのバリエーションを拡張し、ゲームなどに用いる画像を生成する際に新たな興趣を喚起させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【００１１】
また、本発明は、オブジェクトのオブジェクト空間における配置によって、オブジェクトを操作する際の操作入力に対応する行動命令を変化させ、当該操作入力をも興趣の対象にしてその興趣性を向上させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【００１２】
（１）上記の課題を解決するために、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記所与のオブジェクトが位置する領域に応じて、当該オブジェクトの形態を変化させるオブジェクト形態変化処理部と、
を含むことを特徴とする。
【００１３】
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
【００１４】
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、当該所与のオブジェクトの形態を変化させることができる。従って、所与のオブジェクトのオブジェクト空間内における位置に基づいてオブジェクトの態様などのバリエーションを拡張することができる。
【００１５】
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、オブジェクトが存在する領域に関連付けて、当該オブジェクトの形態にアクセントを付けることができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
【００１６】
（２）また、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記所与のオブジェクトが位置する領域に応じて、当該オブジェクトの動作を変化させるオブジェクト動作変化処理部と、
を含むことを特徴とする。
【００１７】
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
【００１８】
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、当該所与のオブジェクトの動作を変化させることができるので、所与のオブジェクトのオブジェクト空間内における位置に基づいてオブジェクトの行動などのバリエーションを拡張することができる。
【００１９】
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、所与のオブジェクトが存在する領域に関連付けて、当該オブジェクトの動作にアクセントを付けることができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
【００２０】
（３）また、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する入力処理部と、
前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部を含み、
前記入力処理部が、
前記所与のオブジェクトが位置する領域に応じて、前記操作入力に対応する前記行動命令を変更することを特徴とする。
【００２１】
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
【００２２】
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、同一の操作であっても、オブジェクト空間内における所与のオブジェクトの行動命令を変化させることができるので、当該所与のオブジェクトの行動命令を操作入力する場合において、当該操作入力のバリエーションを拡張することができる。
【００２３】
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、所与のオブジェクトが存在する領域に関連付けて、当該オブジェクトの行動命令を行う操作入力に変化をもたらすことができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
【００２４】
（４）また、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記所与のオブジェクトが位置する領域に応じて、前記所与のオブジェクトに設定されるパラメータを変更するパラメータ変更部と、
を含むことを特徴とする。
【００２５】
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
【００２６】
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、当該所与のオブジェクトのパラメータまたはその属性を変化させることができるので、オブジェクトの動作やその形態のバリエーションを拡張することができる。
【００２７】
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、所与のオブジェクトが存在する領域に関連付けて、当該オブジェクトに関するパラメータに基づくオブジェクトの動作やその形態などにアクセントを付けることができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
【００２８】
（５）また、本発明は、
前記特定領域設定部が、
前記オブジェクトに対応する簡易オブジェクトと前記光源との位置関係に基づいて、当該簡易オブジェクトの影を生成することによって前記特定領域を設定し、
前記位置判定部が、
前記生成された簡易オブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定するようにしてもよい。
【００２９】
この構成により、本発明によれば、例えば、影を有するオブジェクトが複雑な形状である場合に、球体や円柱などの簡易な形態を有する簡易オブジェクトによって影を生成し、その領域を設定することができる。従って、本発明では、他のオブジェクトが属する領域の判定を行う際に、特定領域とその他の領域境界が複雑にならず、当該境界付近を移動したとしても、所為のオブジェクトが属する領域の判定を頻繁に行う必要が無いので、画像を生成する際の処理負担を軽減することができる。そして、簡易オブジェクトなどによって生成されるオブジェクトの影を表示出力せず、基準となるオブジェクトに基づいて生成された影を表示出力すれば、違和感のない画像をも提供することができる。
【００３０】
（６）また、本発明は、
前記特定領域設定部が、
前記オブジェクトと前記光源との位置関係に基づいて、当該オブジェクトの影を生成することによって前記特定領域を設定し、
前記位置判定部が、
前記生成されたオブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定するようにしてもよい。
【００３１】
この構成により、本発明によれば、オブジェクト空間内において表示出力される実際の影を用いて他のオブジェクトが属する領域の判定を行うので、特定領域以外の領域に属している場合であっても、影のある領域に属していると判定されることはなく、的確に所与のオブジェクトが属する領域の判定を行うことができる。従って、本発明では、生成される画像において、細部に渡って整合性が図られたものを提供することができる。
【００３２】
（７）また、本発明は、
前記所与のオブジェクトに所定の判定領域を設定する判定領域設定部としてコンピュータを更に機能させ、
前記位置判定部が、
前記判定領域に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定するようにしてもよい。
【００３３】
この構成により、本発明によれば、例えば、特定領域とその他の領域の境界付近にオブジェクトが存在する場合などでも、所定の広がりを持った判定領域に基づいて所与のオブジェクトの位置判定を行うので判定結果がめまぐるしく変化することを抑制でき、的確な画像を生成することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．構成
まず、図１を用いて本実施形態の画像生成システムの構成について説明する。図１は、本実施形態の画像生成システムにおける機能構成の例である。なお、本実施形態の画像生成システムは、当該構成要素（各部）の一部を省略した構成としてもよい。
【００３６】
操作部１６０（ゲームコントローラ）は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、アナログスティック、ボタン、レバー、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、最終的な表示画像等が記憶される描画バッファ１７２と、キャラクタオブジェクトなどの種々のオブジェクトに関するデータ（以下、「オブジェクトデータ」という。）が記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。
【００３８】
特に、本実施形態のオブジェクトデータ記憶部１７３には、各オブジェクトに、各種のパラメータ、属性に関するデータ、オブジェクトをオブジェクト空間内に形成するためのデータ（頂点データ等）がオブジェクトデータとして記憶される。
【００３９】
更に、このオブジェクトデータ記憶部１７０には、オブジェクトデータとして、各頂点（オブジェクトの形状を定義するための点であり、ポリゴンにおける頂点或いは自由曲面における制御点を含む）に設定された後述する時間処理用データやアトリビュートデータが記憶されている。
【００４０】
この時間処理用データは、時間パラメータを用いた時間処理に使用されるデータであり、オブジェクト（モデル）のデザイナやゲームプログラム等が任意の値に設定可能なデータである。また、この時間処理用データとしては、開始時間指定データ、終了時間指定データ、変化時間指定データなどがある。
【００４１】
開始時間指定データは、頂点のアトリビュートデータなどに対する時間処理の開始時間（遅延時間）を指定するデータであり、終了時間指定データは、その時間処理の終了時間を指定するデータである。また、変化時間指定データは、時間処理によりアトリビュートデータが変化する場合に、その変化に要する時間を指定するデータである。
【００４２】
一方、アトリビュートデータは、オブジェクトの頂点に関連づけられたデータであり、オブジェクトの形状、画像（プロパティ）などを表現するためのデータである。このアトリビュートデータとしては、頂点の位置データ、画像データ（色データ、輝度データ、テクスチャ座標、法線ベクトル、α値）などを考えることができる。
【００４３】
なお、このオブジェクトデータ記憶部１７３には、情報記憶媒体１８０等から読み出されたオブジェクトデータの他に、処理部１００によって所定の演算により算出された各オブジェクトデータが記憶される。
【００４４】
本実施形態のテクスチャ記憶部１７４には、各オブジェクトに対応するテクスチャが記憶される。特に、このテクスチャ記憶部１７４には、該当するオブジェクトデータにあっては、同一のオブジェクトにマッピングするための異なるテクスチャが記憶される。
【００４５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００４６】
この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００４７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００４８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４９】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００５０】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５１】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５３】
例えば、本実施形態の処理部１００は、ゲーム処理として、ロールプレイングゲームのゲームの各種の処理を行うとともに、当該ロールプレイングゲームの進行中に、プレーヤの操作対象のキャラクタオブジェクト（以下、「プレーヤオブジェクト」という。）と当該プレーヤオブジェクトと対戦するキャラクタオブジェクト（以下、「敵オブジェクト」という。）とを含む複数のキャラクタオブジェクト間にて行われる戦闘に関する処理を行う。
【００５４】
また、本実施形態の処理部１００は、オブジェクト空間に各種のオブジェクトを設定するオブジェクト空間設定部１１０と、各オブジェクトのパラメータを設定するパラメータ設定部１１６と、キャラクタオブジェクトなどのオブジェクト空間において移動するオブジェクトの移動・動作演算を行う移動・動作処理部１１８と、仮想カメラを制御する仮想カメラ制御部１２０と、操作部１６０からの入力信号を処理する入力処理部１２２と、仮想カメラから見える画像を生成する画像生成部１２４と、音を生成する音生成部１３２とを含む。なお、これらの一部を省略する構成としてもよい。
【００５５】
オブジェクト空間設定部１１０は、各キャラクタオブジェクト、車、戦車、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部１１０は、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５６】
また、このオブジェクト空間設定部１１０は、光源設定部１１２と判定領域設定部１１４とを含む。
【００５７】
光源設定部１１２は、オブジェクト空間内における環境光（アンビエント）の設定の他に、リアルタイムにてオブジェクト空間内を移動する光源、例えば、ゲームの戦闘時に用いる炎の玉（ファイヤーボール）などの点光源や面光源などの種々の光源を設定し、オブジェクト空間内の光源ベクトルなどを設定する。
【００５８】
判定領域設定部１１４は、オブジェクト空間内においてキャラクタオブジェクトの位置の基準となる判定領域（以下、「オブジェクト領域」という）を、キャラクタオブジェクトの位置の変化に追従させて設定する。
【００５９】
パラメータ設定部１１６は、プレーヤの操作、所定の演算の算出結果、所定のアルゴリズム、ゲーム進行状態等に基づいて、各オブジェクトのパラメータを設定する。このパラメータとしては、オブジェクトの属性、特性、性格、能力等、種々のものを考えることができる。
【００６０】
移動・動作処理部１１８は、オブジェクト、例えば、キャラクタオブジェクト、車、又は飛行機等の移動・動作演算（移動・動作シミュレーション）を行う。即ち、この移動・動作処理部１１８は、操作部１６０によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム（移動・動作アルゴリズム）や各種データ（モーションデータ）などに基づいて、オブジェクト（特に、敵オブジェクト及びプレーヤオブジェクトのキャラクタオブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）、特に、戦闘時においては種々の行動を制御するための処理を行う。
【００６１】
具体的には、本実施形態の移動・動作処理部１１８は、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なお、このフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６２】
特に、本実施の形態では、キャラクタオブジェクトが存在するオブジェクト空間における位置に応じて、操作入力（行動命令）に対応するキャラクタオブジェクトの移動・動作を変化させている。例えば、行動命令に対応する移動・動作アルゴリズムやモーションデータを変更する処理を行う。
【００６３】
仮想カメラ制御部１２０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６４】
判定部１２１は、後述する画像生成部１２４によりオブジェクト空間内において設定された特定領域に、キャラクタオブジェクト等の所与のオブジェクトが位置するか否かを判定する。例えば、オブジェクトの代表点やオブジェクトに属する画素（ピクセル）と、特定領域に属する画素（ピクセル）とが重なるか否かを判定する。特に、本実施形態では、判定領域設定部１１４が設定したオブジェクト領域を用いて、当該オブジェクト領域が特定領域に属するか否かの判定を行う。
【００６５】
入力処理部１２２は、操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する処理を行い、所与のオブジェクトが位置する領域に応じて、前記操作入力に対応する行動命令を変更する。そして、移動・動作処理部１１８は、変更された行動命令に基づいて、所与のオブジェクトの移動・動作演算（移動・動作シミュレーション）を行う。
【００６６】
例えば、入力処理部１２２は、所与のオブジェクトが特定領域に位置する場合には、第１の操作ボタンからの操作入力に応じてキック動作のコマンドを発行するが、その他の領域に位置する場合には、第１の操作ボタンからの操作入力に応じて防御動作のコマンドを発行するようにすることができる。
【００６７】
画像生成部１２４は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６８】
なお画像生成部１２４が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００６９】
そして画像生成部１２４は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７０】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７３に保存される。
【００７１】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７２】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７６（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７６に格納されるＺ値を参照する。そして参照されたＺバッファ１７６のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７６のＺ値を新たなＺ値に更新する。
【００７３】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００７４】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７５】
また、本実施形態の画像生成部１２４は、影領域設定部（影生成部）１２６、補間処理部１３０を含む。
【００７６】
影領域設定部（影生成部）１２６は、設定された光源とオブジェクトとの位置関係に基づいて、該当するオブジェクトの影を生成し、影領域（特定領域）を設定する。光源とオブジェクトとの位置関係に基づいてオブジェクトの影を生成する手法としては、例えば、平面投影シャドウ、ステンシルシャドウ、投影テクスチャシャドウ、プライオリティバッファシャドウ、深度バッファシャドウ等、種々の手法を適用することができる。
【００７７】
例えば平面投影シャドウを用いる場合には、影領域設定部１２６は、影を落とすオブジェクトを構成する頂点から光源ベクトルの方向に所与の距離離れた点に新たな頂点を生成し、オブジェクトを構成する頂点と新たに生成した頂点に基づきシャドウボリュームを生成する。そして、シャドウボリュームと重なる部分を影領域として設定する処理を行う。このとき、影を落とすオブジェクトを構成する面、辺、頂点の法線ベクトルと光源ベクトルとの内積に基づいて、シャドウボリュームに必要な頂点（光源に対して裏向きの頂点又は表向きの頂点）を抽出することができる。
【００７８】
また、光源ベクトルと影を落とすオブジェクトの位置関係に基づいて、光源に対するオブジェクトの輪郭を構成するエッジを抽出し、エッジを構成する頂点から光源ベクトルの方向に所与の距離離れた点に新たな頂点を生成し、前記エッジを構成する頂点と新たに生成した頂点に基づきシャドウボリュームを生成するようにしてもよい。このとき、影を落とすオブジェクトを構成する辺の法線ベクトルと光源ベクトルとの内積に基づいて、エッジを抽出することができる。例えば、オブジェクトを構成する辺の法線ベクトルと光源ベクトルとの内積をとり、内積の符号が逆（２の内積が正と負）であればエッジであると判定することができる。そして、抽出されたエッジを構成する頂点から光源ベクトルの方向に所与の距離離れた点に新たな頂点を生成し、前記エッジを構成する頂点と新たに生成した頂点に基づきシャドウボリュームを生成するようにしてもよい。
【００７９】
ここで、光源に対する輪郭とは点光源に対する輪郭でもよいし平行光源に対する輪郭でもよい。光源が平行光源である場合は、頂点位置に関わらず平行なベクトルを光源ベクトルとして用い、光源が点光源である場合には、光源と頂点を結ぶベクトルを光源ベクトルとして用いる。
【００８０】
なお、本実施形態では、オブジェクト空間を移動する光源となるオブジェクトが設定される場合もあり、この場合には、本実施形態の影領域設定部１２６は、環境光源と移動光源の２つの光源に基づいて、影領域を設定するとともに、少なくとも一の光源がオブジェクト空間内を移動する場合には、当該光源の移動に伴って影領域を変化させる。
【００８１】
ここで、影領域設定部１２６は、表示出力されるオブジェクトの影を生成することにより影領域を設定する他、表示出力される複雑な形状のオブジェクトを簡略化した、表示出力されない簡易オブジェクトの影を生成することにより影領域を設定するようにしてもよい。この場合、オブジェクト設定部１１０が簡易オブジェクトを設定し、光源と簡易オブジェクトとの位置関係に基づいて、該当するオブジェクトの影を生成し、影領域を設定する。
【００８２】
補間処理部１３０は、仮想（ゲーム）時間や実時間などの時間パラメータに基づいて、オブジェクトデータの頂点における補間処理を行う。より詳細には、１のモデル（キャラクタ）について形状が異なるモデルを少なくとも２つ用意しておき、２つのモデルの頂点に設定された、時間処理用データやアトリビュートデータに基づいて、時間パラメータを用いた時間処理（例えば、時間パラメータを変数とし時間処理用データを定数とする関数を用いた処理）を行う。これにより、時間処理が施されたオブジェクトの画像、すなわち、モーフィング画像のように、オブジェクトのプロパティや形状が時間経過に伴って変化するような画像を生成できる。
【００８３】
また、この補間処理部１３０は、例えば、オブジェクトの頂点が位置データセットを含む場合に、この位置データセットが含む位置データ間の補間処理を、時間パラメータや時間処理用データに基づいて行う。これにより、本実施形態の補間処理部１３０は、オブジェクトの形状が時間経過に伴い部分的に変形するモーフィング画像などを生成することができる。
【００８４】
音生成部１３２は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００８５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００８６】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００８７】
２．本実施形態の手法
２．１  概要
まず、本実施形態の画像生成システムにおけるキャラクタオブジェクトの形態、動作、パラメータ、属性、入力操作に対応する行動命令（コマンド）を変更する処理（以下、単に「変更処理」という。）の概要について説明する。
【００８８】
本実施形態の画像生成システムは、オブジェクト空間において、当該オブジェクト空間内に設定された光源と、ゲームなどに用いるキャラクタや壁や山などの影を作り出すオブジェクトとの位置関係に応じて影領域（特定領域）が形成された場合に、プレーヤキャラクタなどのキャラクタオブジェクトが影領域に配置されているか否かにより、当該キャラクタオブジェクトの形態や動作などの外観的特性又は当該キャラクタオブジェクトに関する各種のパラメータ及びその属性など内部的な特性を変化させることができる。
【００８９】
また、本実施の形態では、上述のように影領域が形成された場合に、プレーヤオブジェクトなどのキャラクタオブジェクトが影領域に配置されているか否かにより、プレーヤの操作入力が同一の場合であっても、当該キャラクタオブジェクトに対する行動命令を変化させることができる。
【００９０】
具体的には、本実施の形態では、光源に基づいてオブジェクト空間に配置された各オブジェクトの影を生成して影領域を設定するとともに、キャラクタオブジェクトの存在する位置を示すオブジェクト領域が当該影領域に属するか否かの判定を行う。そして、オブジェクト領域が影領域と重なるキャラクタオブジェクトについては、その形態、動作、パラメータ、属性、操作入力に対応する行動命令を変化させる。
【００９１】
従って、本実施の形態では、キャラクタオブジェクトが存在する領域の変化に伴って、キャラクタオブジェクトの行動又は態様などのバリエーションを拡張するとともにゲーム性を変化させることができるので、ゲームなどに用いる画像を生成する際に新たな興趣を喚起させることができる。
【００９２】
２．２  キャラクタオブジェクトの位置判定
次に、図２を用いて本実施の形態のキャラクタオブジェクトの位置判定について説明する。本実施の形態では、キャラクタオブジェクトの位置の変化に追従し、当該キャラクタオブジェクトの存在する位置を示すオブジェクト領域を、各キャラクタオブジェクトに設定する。例えば、キャラクタオブジェクトの代表位置、またはマップオブジェクトなどの基準面（地面）とキャラクタオブジェクトの接地位置などの基準位置に基づく所定の領域を、オブジェクト領域として予め設定する。そして、設定されたオブジェクト領域と影領域の関係に基づいて、対応するキャラクタオブジェクトが影領域に存在するか否かを判定する。
【００９３】
図２（ａ）、（ｂ）は、本実施の形態で生成される画像の例である。図２（ａ）の例では、光源Ｌに基づいて、壁オブジェクトＷＯについてシャドウボリュームを生成し、シャドウボリュームと地面オブジェクトＭＰとが重なる領域を影領域ＨＡとして設定している。なお、影領域ＨＡ以外の領域を日向領域ＳＡとして設定してもよい。本実施の形態では、図２（ａ）に示すように、オブジェクト領域ＯＡ１が影領域ＨＡと重なる場合に、当該オブジェクト領域ＯＡ１に対応するキャラクタオブジェクトＣＯ１は影領域ＨＡに属していると判定する。一方、オブジェクト領域ＯＡ２の全てが日向領域ＳＡ内にある場合には、当該オブジェクト領域ＯＡ２に対応するキャラクタオブジェクトＣＯ２は日向領域ＳＡに属していると判定する（影領域ＨＡに属していないと判定する）。
【００９４】
すなわち、本実施形態では、オブジェクト領域ＯＡ１の一部でも影領域ＨＡと重なれば、キャラクタオブジェクトＣＯ１は影領域ＨＡに存在するものと判定される。一方、オブジェクト領域ＯＡ２が影領域ＨＡと重ならない場合には、キャラクタオブジェクトＣＯ２は日向領域ＳＡに存在するものと判定される。
【００９５】
また、図２（ｂ）に示すように、たとえ、キャラクタオブジェクトＣＯ１の一部が影領域ＨＡに属している場合であっても、対応するオブジェクト領域ＯＡ１が影領域ＨＡに属していない場合には、当該キャラクタオブジェクトＣＯ１は、日向領域ＳＡに存在すると判断する。一方、キャラクタオブジェクトＣＯ２の一部が日向領域ＳＡに属している場合であっても、対応するオブジェクト領域ＯＡ２が影領域ＨＡと重なる場合には、当該キャラクタオブジェクトＣＯ２は、影領域ＨＡ内に存在するものと判断される。
【００９６】
すなわち、本実施形態の画像生成システムでは、オブジェクト領域ＯＡのピクセル（以下、「オブジェクト基準ピクセル」という。）が影領域ＨＡのピクセルに属するか否か、オブジェクト基準ピクセルの位置が影領域を構成するピクセルか否か、又は、オブジェクト領域ＯＡにおける各ピクセルが影領域を構成するピクセルと一致するか否かによって、オブジェクトが位置する領域を判定する。
【００９７】
このように、本実施形態では、所定の広さを持ったオブジェクト領域ＯＡと影領域ＨＡとの重なりを判定することにより、キャラクタオブジェクトＣＯが影領域と日向領域の境界を行き来する場合でも判定結果がめまぐるしく変わらないようにしている。なお、図２（ｂ）の場合に、壁オブジェクトＷＯについて生成されたシャドウボリュームを影領域ＨＡとして設定し、影領域ＨＡとしてのシャドウボリュームとキャラクタオブジェクトＣＯ１との重なりを判定することにより、キャラクタオブジェクトＣＯが影領域ＨＡに属しているか否かを判定するようにしてもよい。この場合、キャラクタオブジェクトＣＯ１にバウンディングボリュームを設定し、シャドウボリュームとバウンディングボリュームとの重なり判定を行うようにしてもよい。
【００９８】
２．３  領域変化に伴うオブジェクトの変更
次に、図３〜図５を用いて、キャラクタオブジェクトが位置する領域の変化に伴うキャラクタオブジェクトの変更について説明する。図３は、キャラクタオブジェクトの形態の変更を説明するための図であり、図４は、キャラクタオブジェクトの動作の変更を説明するための図であり、図５は、キャラクタオブジェクトのパラメータまたは属性の変更を説明するための図である。
【００９９】
本実施の形態では、上述のように、領域判定によりプレーヤオブジェクトなどのキャラクタオブジェクトが影領域または日向領域のどちらかに存在するかによって、当該オブジェクトの形態、動作、パラメータ、属性及び操作入力に対応する行動命令を変更する。
【０１００】
従って、キャラクタオブジェクトが存在する領域を変更することにより、当該オブジェクトの行動又は態様などのバリエーションを拡張することができる。
【０１０１】
（形態における変更）
本実施の形態では、同一のキャラクタオブジェクトに対して、影領域に存在する場合と、日向領域に存在する場合とによってその形態を変更する。例えば、図３の例では、光源Ｌに基づいて影領域ＨＡが設定されている。この場合、キャラクタオブジェクトＣＯが影領域ＨＡに存在する場合には、球体を基調とした形態となり、日向領域ＳＡに存在する場合には、円柱を基調とした形態となるようになっている。
【０１０２】
特に、本実施形態では、キャラクタオブジェクトＣＯが影領域ＨＡから日向領域ＳＡに、または日向領域ＳＡから影領域ＨＡなど、一方の領域から他方の領域に、キャラクタオブジェクトＣＯが位置する領域が変更される場合には、すなわち、領域の境界部分では、一方の形態から他方の形態にモーフィング処理を用いてその形態を変移させる。
【０１０３】
なお、本実施の形態では、オブジェクトの全体の形態を変更させるだけでなく、当該オブジェクトの一部の形態、テクスチャや透明度または武器などのオブジェクトが携帯する道具のオブジェクトを変更するようにしてもよく、これらを組み合わせて変更するようにしてもよい。
【０１０４】
（操作入力に基づく動作における変更）
また、本実施の形態では、一のキャラクタオブジェクトに対して、同一の操作入力が行われた際に、当該キャラクタオブジェクトが影領域に存在する場合と、日向領域に存在する場合とで、行動命令に対応する動作を変更する。
【０１０５】
例えば、図４（ａ）に示すように、キャラクタオブジェクトＣＯが光源Ｌに基づいて設定された影領域ＨＡに存在する場合には、キャラクタオブジェクトＣＯについて剣による攻撃を実行するための操作入力が行われると、その場で剣を振る攻撃動作を行うように動作制御する。一方、当該キャラクタオブジェクトＣＯが日向領域ＳＡに存在する場合には、同一の操作入力が行われても、ジャンプして剣を振りかぶり、着地しながら剣を振る攻撃動作を行うように動作制御する。
【０１０６】
また、本実施形態では、一のキャラクタオブジェクトに対して、同一の操作入力が行われた際に、当該キャラクタオブジェクトが影領域に存在する場合と、日向領域に存在する場合とによって、操作入力に対応する行動命令を変更する。
【０１０７】
例えば、図４（ｂ）に示すように、キャラクタオブジェクトＣＯが光源Ｌに基づいて設定された影領域ＨＡに存在する場合には、キャラクタオブジェクトＣＯについて特定の操作入力が行われると、その場で剣を振るように動作制御を行う。一方、当該キャラクタオブジェクトＣＯが日向領域ＳＡに存在する場合には、同一の操作入力が行われても、魔法をかけるように動作制御を行う。
【０１０８】
なお、キャラクタオブジェクトが影領域から日向領域にまたは日向領域から影領域など、一方の領域から他方の領域に跨って一連の動作をさせる場合には、動作を開始した際のキャラクタの位置がどちらの領域に属するかによって何れの動作を行うかを決定するようにしてもよい。
【０１０９】
また、操作入力に依存せず、所定のアルゴリズムの行動命令に基づいて行動するキャラクタオブジェクトについても、影領域に属するか否かに応じて動作を変更するようにしてもよい。また、単体のオブジェクトの動作を変更させるだけでなく、複数のオブジェクトから構成される集団のオブジェクトに対してもその動作を変更するようにしてもよい。
【０１１０】
（パラメータ及び属性における変更）
また、本実施の形態では、キャラクタオブジェクトが影領域に存在する場合と、日向領域に存在する場合とによって、当該キャラクタオブジェクトの性格などを示す属性（以下、「性格属性」という。）や、その移動特性や攻撃能力などを示すパラメータを変更する。
【０１１１】
例えば、図５（ａ）に示すように、キャラクタオブジェクトＣＯが光源Ｌに基づいて設定された影領域ＨＡに存在する場合には、性格属性を「友好的」に設定し、光源Ｌに基づいて設定された日向領域ＳＡに存在する場合には、当該性格属性を「攻撃的」に設定することができる。
【０１１２】
また、図５（ｂ）に示すように、キャラクタオブジェクトＣＯが光源Ｌに基づいて設定された影領域ＨＡに存在する場合には、オブジェクト空間における素早さの特性を示す敏捷特性を「５」及び一度の攻撃おける威力（すなわち、敵オブジェクトに与えるダメージ）を「１０」に設定し、光源Ｌに基づいて設定された日向領域ＳＡに存在する場合には、当該敏捷特性を「２０」及び攻撃力を「３０」に設定することができる。
【０１１３】
なお、キャラクタオブジェクトが影領域から日向領域にまたは日向領域から影領域など、一方の領域から他方の領域に跨って一連の動作をさせる場合には、当該一連の動作中は、動作が開始した際のキャラクタオブジェクトの位置がどちらの領域に属するかによって用いるパラメータ及び属性を決定するようにしてもよい。
【０１１４】
２．４  その他
次に、図６及び図７を用いて本実施形態の画像生成システムにおいて、簡易オブジェクトを用いた場合の影領域の設定処理と、オブジェクト空間における光源が２以上ある場合の影領域の設定処理と、について説明する。図６は、本実施形態の画像生成システムにおいて、簡易オブジェクトを用いた場合の影領域の設定処理を説明するための図であり、図７は、オブジェクト空間における光源が２以上ある場合の影領域の設定処理を説明するための図である。
【０１１５】
（簡易オブジェクトを用いた影領域の設定処理）
本実施の形態では、影領域の判定処理における処理負担を軽減するために、複雑な形状を有するオブジェクトについては、当該オブジェクトに対応する簡易オブジェクトの影を生成して影領域を設定する。即ち、本実施の形態では、実際に表示出力される影とは別に、影を作り出すオブジェクトに対応した簡易オブジェクトを用いて領域判定用の影を生成し、当該領域判定用の影は表示出力せずに判定用の影領域として設定する。
【０１１６】
例えば、図６（ａ）に示すように、スリットが形成された壁オブジェクトＷＯがオブジェクト空間内に配置されている場合に、壁オブジェクトＷＯに対応する簡易オブジェクトＳＯに基づいて生成された表示出力しない影を、影領域ＨＡとして設定する。そして、当該キャラクタオブジェクトＣＯのオブジェクト領域ＯＡが、実際に表示出力されるスリットが形成された壁オブジェクトＷＯの影ではなく、影領域ＨＡに属するか否かを判定する。
【０１１７】
即ち、壁オブジェクトＷＯのスリットから光が差し込んでいるため、描画上では日向となっている領域にオブジェクト領域ＯＡが存在する場合であっても、簡易オブジェクトＳＯによって影領域となる疑似影領域ＦＨＡに存在する場合には、当該キャラクタオブジェクトＣＯが影領域ＨＡに存在するものと判断する。
【０１１８】
なお、本実施の形態では、簡易に領域判定を行うために、複雑な形状を有するオブジェクトだけでなく、キャラクタオブジェクトやその他のオブジェクトに対しても簡易オブジェクトを用いるようにしてもよい。
【０１１９】
例えば、図６（ｂ）に示すように、影を作り出すキャラクタオブジェクト（以下、「影形成オブジェクト」という。）ＨＣＯを内包する柱状や球状（半球でもよい）などの簡易オブジェクトＳＯ（バウンディングボリューム）を用いて上述した領域判定を行うようにしてもよい。
【０１２０】
この場合には、オブジェクト設定部１１０が、キャラクタオブジェクトＨＣＯに対応する簡易オブジェクトＳＯを当該キャラクタオブジェクトＨＣＯに追従させて設定する。なお、キャラクタオブジェクトＨＣＯの各座標成分の最大値を検出し、それを直方体などのオブジェクトの頂点に設定することによってバウンディングボリュームを生成するようにしてもよい。
【０１２１】
（オブジェクト空間における光源が２以上ある場合の影領域の設定処理）
また、本実施形態では、環境光などの光源とは別に、環境光よりも強い光を放つ光源がオブジェクト空間に設定される場合がある。この場合には、各光源の光源ベクトルを用いて影を生成し、影領域を設定する。ここで、光源の強さは、光源の輝度、減衰率、位置等、種々のパラメータにより設定することができる。
【０１２２】
例えば、図７の例では、環境光を設定する光源Ｌ１と、プレーヤキャラクタＰＯに放たれたファイヤーボールに設定された光源Ｌ２とがオブジェクト空間に設定されている。この場合には、光源Ｌ１と光源Ｌ２の光源ベクトルに基づいて影を生成し、影領域として設定する。
【０１２３】
すると、光源Ｌ２が光源Ｌ１よりも強い光を放つ光源として設定されている場合には、光源Ｌ１のみの場合に設定される壁オブジェクトＷＯ１についての影領域ＨＡ１は、光源Ｌ２により照らされて影が薄くなる、或いは日向となる。更に、図７の例では、壁オブジェクトＷＯ１の他に壁オブジェクトＷＯ２が配置されている。よって、光源Ｌ２を設定することにより、光源Ｌ２と壁オブジェクトＷＯ２の位置関係に基づいて新たな影を生成し、影領域ＨＡ２を設定する。即ち、本実施の形態では、他の光源が設定されることにより影領域となる領域が変化する。
【０１２４】
従って、図７の例において、光源Ｌ１のみが設定されている場合には、敵キャラクタオブジェクトＣＯは影領域ＨＡ１に存在すると判定されるが、更に光源Ｌ２が設定されると、敵キャラクタオブジェクトＣＯのオブジェクト領域ＯＡは日向領域ＳＡに存在する、即ち影領域ＨＡ２に存在しないと判定される。このように、本実施の形態では、光源の数、位置、強さの関係に応じて、オブジェクト空間における影領域を変化させることができる。
【０１２５】
こうして、本実施の形態では、例えば、敵キャラクタオブジェクトＣＯに設定される形態、動作、パラメータを、敵キャラクタオブジェクトＣＯが影領域に存在する場合には、プレーヤにとって相対的に不利となるが、敵キャラクタオブジェクトＣＯが日向領域に存在する（影領域に存在しない）場合には、プレーヤにとって相対的に有利となるようにし、光源の数、位置、強さの関係に応じてゲーム性を変化させ、これをゲームの戦略的要素として付加することができる。
【０１２６】
このように、本実施の形態では、オブジェクト空間設定部１１０が、オブジェクト空間内に複数の光源を設定し、影領域設定部１２６が、各オブジェクトと各光源との位置関係に応じて影を生成し、影領域を設定するようにしてもよい。
【０１２７】
なお、本実施形態では、２つの異なる光源だけでなく、３つ以上の光源についても同様の処理によって影領域と日向領域を設定するようにしてもよい。また、各光源に設定される輝度等のパラメータを時間変化に応じて変化させてもよい。例えば、図７の例では、ファイヤーボールＦＢに設定される光源Ｌ２は、時間が経過するにつれ次第に輝度パラメータが減衰するようにしてもよい。この場合、時間変化に応じて、オブジェクト空間における影領域を変化させることができる。
【０１２８】
３．本実施形態の処理
次に、図８を用いて本実施形態の詳細な処理例について説明する。まず、各オブジェクトを光源とともにオブジェクト空間に設定する（ステップＳ１）。そして、設定された各オブジェクトと光源との位置関係に基づいて、各オブジェクトの影を生成して影領域を設定する（ステップＳ２）。
【０１２９】
すると、キャラクタオブジェクトに対応するオブジェクト領域が、設定された影領域と重なるか否か判定する（ステップＳ３）。具体的には、判定部１２１が、画像生成部１２４によりメモリに格納された各ピクセルの情報を参照して、オブジェクト領域かつ影領域であると設定されたピクセルの有無を判定する。
【０１３０】
そして、影領域と重なると判定した場合には（ステップＳ３のＹ）、キャラクタオブジェクトの形態、行動命令に対応する動作、パラメータ、属性、入力操作に対応する行動命令を変更する処理を行う（ステップＳ４）。一方、影領域と重ならないと判定した場合には（ステップＳ３のＮ）、変更処理を行わない。
【０１３１】
ここで、キャラクタオブジェクトの形態を変更する処理を行う場合には、オブジェクト領域が影領域と重なると判定したフレームにおいて、キャラクタオブジェクトの形態を変化させた画像を生成するようにしてもよい。この場合には、オブジェクト領域を設定し、影を生成して影領域を設定し、判定処理を行い影領域と重なる場合には、形態を変化させたキャラクタオブジェクトを設定して描画してもよい。また、オブジェクト領域を設定するとともに先にキャラクタオブジェクトを設定し、影を生成して影領域を設定し、判定処理を行い影領域と重なる場合には、形態を変化させたキャラクタオブジェクトを再設定して描画してもよい。
【０１３２】
また、オブジェクト領域が影領域と重なると判定した次のフレームにおいて、キャラクタオブジェクトの形態を変化させた画像を生成するようにしてもよい。なお、行動命令に対応する動作の変更処理、パラメータの変更処理、入力操作に対応する行動命令の変更処理については、オブジェクト領域が影領域と重なると判定した次のフレームにおいて、当該変更処理を反映させた画像を生成する。
【０１３３】
４．ハードウェア構成
次に、図９を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図９は、本実施形態を実現できるハードウェア構成を示す一例である。
【０１３４】
メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１３５】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１３６】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１３７】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。
【０１３８】
また、この描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１３９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１４０】
ＲＯＭ９５０には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。
【０１４１】
ＲＡＭ９６０は、各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１４２】
なお、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１４３】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１４４】
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（プリミティブ面等）として引用された用語（ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１４５】
また、判定処理および描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
【０１４６】
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１４７】
【図１】一実施形態の画像生成システムの機能ブロック図の例。
【図２】一実施形態の画像生成システムのオブジェクトにおける領域判定について説明するための図。
【図３】一実施形態の画像生成システムにおける領域変化に伴うオブジェクトの変更について説明する図であり、オブジェクトの形態の変更を説明するための図。
【図４】一実施形態の画像生成システムにおける領域変化に伴うオブジェクトの変更について説明する図であり、オブジェクトの動作の変更を説明するための図。
【図５】一実施形態の画像生成システムにおける領域変化に伴うオブジェクトの変更について説明する図であり、オブジェクトのパラメータまたは属性の変更を説明するための図。
【図６】一実施形態の画像生成システムにおいて、簡易オブジェクトを用いた場合の影領域の設定処理を説明するための図。
【図７】オブジェクト空間における光源が２以上ある場合の影領域の設定処理を説明するための図。
【図８】一実施形態の処理の詳細例。
【図９】ハードウェアの構成例。
【符号の説明】
【０１４８】
１００  処理部、１１０  オブジェクト空間設定部、１１２  光源設定部、１１４  判定領域設定部、１１６  パラメータ設定部、１１８  移動・動作処理部、１２０  仮想カメラ制御部、１２１  判定部、１２２  入力処理部、１２４  画像生成部、１２６  影領域設定部、１３０  補間処理部、１６０  操作部、１７０  記憶部、１９０  表示部
【図１】
0004776017.tif 000002
【図２】
0004776017.tif 000003
【図３】
0004776017.tif 000004
【図４】
0004776017.tif 000005
【図５】
0004776017.tif 000006
【図６】
0004776017.tif 000007
【図７】
0004776017.tif 000008
【図８】
0004776017.tif 000009
【図９】
0004776017.tif 000010