JP4776017B2 - プログラム、情報記憶媒体、及び画像生成システム - Google Patents

プログラム、情報記憶媒体、及び画像生成システム Download PDF

Info

Publication number
JP4776017B2
JP4776017B2 JP2006071178A JP2006071178A JP4776017B2 JP 4776017 B2 JP4776017 B2 JP 4776017B2 JP 2006071178 A JP2006071178 A JP 2006071178A JP 2006071178 A JP2006071178 A JP 2006071178A JP 4776017 B2 JP4776017 B2 JP 4776017B2
Authority
JP
Japan
Prior art keywords
area
light source
shadow
unit
specific area
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.)
Active
Application number
JP2006071178A
Other languages
English (en)
Other versions
JP2007249521A (ja
Inventor
弘也 初芝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006071178A priority Critical patent/JP4776017B2/ja
Publication of JP2007249521A publication Critical patent/JP2007249521A/ja
Application granted granted Critical
Publication of JP4776017B2 publication Critical patent/JP4776017B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
近年、仮想的な3次元空間(以下、「オブジェクト空間」という。)に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ(所与の視点)に基づく所定の画像として生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとして様々なシステムにて用いられるようになっており、特に、ゲームシステムにおいては、娯楽性および興趣性を向上させるためものとして重要視されている。
従来、このような画像生成システムは、例えばロールプレイイングゲーム(RPG)などで複数のキャラクタ同士が戦闘するゲームにおいて、キャラクタオブジェクトごとに、操作手段の入力に基づいて、または、予め定められたアルゴリズムに基づいて、当該戦闘における攻撃動作及び防御動作を実行させる。
特に、最近では、このような画像生成システムとしては、当該戦闘における臨場感及びスリル感を向上させるために、各キャラクタオブジェクトの戦闘に関する動作をリアルタイムで実行させるものが知られている。
具体的には、この画像生成システムは、キャラクタオブジェクトごとに、予め個別に設定された時間を計測するタイマなどの計時手段を設け、当該予め設定された時間を計測し終えた際に、各キャラクタオブジェクトの戦闘に関する動作を実行させる(例えば、特許文献1)。
特許第2794230号公報
しかしながら、上述のような画像生成システムにあっては、オブジェクトの行動又は態様は、操作入力に対してその拡張性が乏しい。
すなわち、上述のような画像生成システムにあっては、例えば戦闘時のゲームの進行上において、キャラクタオブジェクトのオブジェクト空間における位置によって、その形態及び動作などの外観的特性又は当該オブジェクトに関する各種のパラメータなど内部的な特性を変化させておらず、キャラクタオブジェクトの行動などに関するバリエーションに限界がある。
また、上述のような画像生成システムにあっては、例えばキャラクタオブジェクトをプレーヤが操作する際に、操作入力に対する行動命令をオブジェクト空間における配置などによって変化させることはなく、操作入力に関するバリエーションに限界がある。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクトのオブジェクト空間における配置によってオブジェクトに関する種々のバリエーションを拡張し、ゲームなどに用いる画像を生成する際に新たな興趣の提供又はその興趣性の向上を可能とするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
具体的には、本発明は、オブジェクトのオブジェクト空間における配置によって、オブジェクトの形態、動作、パラメータ又は属性を変化させ、当該オブジェクトの行動又は態様などのバリエーションを拡張し、ゲームなどに用いる画像を生成する際に新たな興趣を喚起させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
また、本発明は、オブジェクトのオブジェクト空間における配置によって、オブジェクトを操作する際の操作入力に対応する行動命令を変化させ、当該操作入力をも興趣の対象にしてその興趣性を向上させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
(1)上記の課題を解決するために、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記所与のオブジェクトが位置する領域に応じて、当該オブジェクトの形態を変化させるオブジェクト形態変化処理部と、
を含むことを特徴とする。
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、当該所与のオブジェクトの形態を変化させることができる。従って、所与のオブジェクトのオブジェクト空間内における位置に基づいてオブジェクトの態様などのバリエーションを拡張することができる。
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、オブジェクトが存在する領域に関連付けて、当該オブジェクトの形態にアクセントを付けることができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
(2)また、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記所与のオブジェクトが位置する領域に応じて、当該オブジェクトの動作を変化させるオブジェクト動作変化処理部と、
を含むことを特徴とする。
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、当該所与のオブジェクトの動作を変化させることができるので、所与のオブジェクトのオブジェクト空間内における位置に基づいてオブジェクトの行動などのバリエーションを拡張することができる。
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、所与のオブジェクトが存在する領域に関連付けて、当該オブジェクトの動作にアクセントを付けることができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
(3)また、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する入力処理部と、
前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部を含み、
前記入力処理部が、
前記所与のオブジェクトが位置する領域に応じて、前記操作入力に対応する前記行動命令を変更することを特徴とする。
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、同一の操作であっても、オブジェクト空間内における所与のオブジェクトの行動命令を変化させることができるので、当該所与のオブジェクトの行動命令を操作入力する場合において、当該操作入力のバリエーションを拡張することができる。
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、所与のオブジェクトが存在する領域に関連付けて、当該オブジェクトの行動命令を行う操作入力に変化をもたらすことができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
(4)また、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
前記所与のオブジェクトが位置する領域に応じて、前記所与のオブジェクトに設定されるパラメータを変更するパラメータ変更部と、
を含むことを特徴とする。
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラム、および、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体についても適用可能である。
この構成により、本発明によれば、例えば、光源とオブジェクトの位置関係に応じてオブジェクト空間内に形成される影の領域などの特定領域が形成される場合に、所与のオブジェクトが特定領域に配置されているか否かにより、当該所与のオブジェクトのパラメータまたはその属性を変化させることができるので、オブジェクトの動作やその形態のバリエーションを拡張することができる。
すなわち、本発明は、複数のキャラクタオブジェクト間において行われる戦闘に関するゲームまたはシューティングゲームやその他のゲームなどにおいて、所与のオブジェクトが存在する領域に関連付けて、当該オブジェクトに関するパラメータに基づくオブジェクトの動作やその形態などにアクセントを付けることができる。従って、ゲームなどに用いる画像を生成する際に新たな興趣を提供し、その興趣性を向上させることができる。
(5)また、本発明は、
前記特定領域設定部が、
前記オブジェクトに対応する簡易オブジェクトと前記光源との位置関係に基づいて、当該簡易オブジェクトの影を生成することによって前記特定領域を設定し、
前記位置判定部が、
前記生成された簡易オブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定するようにしてもよい。
この構成により、本発明によれば、例えば、影を有するオブジェクトが複雑な形状である場合に、球体や円柱などの簡易な形態を有する簡易オブジェクトによって影を生成し、その領域を設定することができる。従って、本発明では、他のオブジェクトが属する領域の判定を行う際に、特定領域とその他の領域境界が複雑にならず、当該境界付近を移動したとしても、所為のオブジェクトが属する領域の判定を頻繁に行う必要が無いので、画像を生成する際の処理負担を軽減することができる。そして、簡易オブジェクトなどによって生成されるオブジェクトの影を表示出力せず、基準となるオブジェクトに基づいて生成された影を表示出力すれば、違和感のない画像をも提供することができる。
(6)また、本発明は、
前記特定領域設定部が、
前記オブジェクトと前記光源との位置関係に基づいて、当該オブジェクトの影を生成することによって前記特定領域を設定し、
前記位置判定部が、
前記生成されたオブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定するようにしてもよい。
この構成により、本発明によれば、オブジェクト空間内において表示出力される実際の影を用いて他のオブジェクトが属する領域の判定を行うので、特定領域以外の領域に属している場合であっても、影のある領域に属していると判定されることはなく、的確に所与のオブジェクトが属する領域の判定を行うことができる。従って、本発明では、生成される画像において、細部に渡って整合性が図られたものを提供することができる。
(7)また、本発明は、
前記所与のオブジェクトに所定の判定領域を設定する判定領域設定部としてコンピュータを更に機能させ、
前記位置判定部が、
前記判定領域に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定するようにしてもよい。
この構成により、本発明によれば、例えば、特定領域とその他の領域の境界付近にオブジェクトが存在する場合などでも、所定の広がりを持った判定領域に基づいて所与のオブジェクトの位置判定を行うので判定結果がめまぐるしく変化することを抑制でき、的確な画像を生成することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
まず、図1を用いて本実施形態の画像生成システムの構成について説明する。図1は、本実施形態の画像生成システムにおける機能構成の例である。なお、本実施形態の画像生成システムは、当該構成要素(各部)の一部を省略した構成としてもよい。
操作部160(ゲームコントローラ)は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、アナログスティック、ボタン、レバー、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、最終的な表示画像等が記憶される描画バッファ172と、キャラクタオブジェクトなどの種々のオブジェクトに関するデータ(以下、「オブジェクトデータ」という。)が記憶されるオブジェクトデータ記憶部173と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ176と、を含む。なお、これらの一部を省略する構成としてもよい。
特に、本実施形態のオブジェクトデータ記憶部173には、各オブジェクトに、各種のパラメータ、属性に関するデータ、オブジェクトをオブジェクト空間内に形成するためのデータ(頂点データ等)がオブジェクトデータとして記憶される。
更に、このオブジェクトデータ記憶部170には、オブジェクトデータとして、各頂点(オブジェクトの形状を定義するための点であり、ポリゴンにおける頂点或いは自由曲面における制御点を含む)に設定された後述する時間処理用データやアトリビュートデータが記憶されている。
この時間処理用データは、時間パラメータを用いた時間処理に使用されるデータであり、オブジェクト(モデル)のデザイナやゲームプログラム等が任意の値に設定可能なデータである。また、この時間処理用データとしては、開始時間指定データ、終了時間指定データ、変化時間指定データなどがある。
開始時間指定データは、頂点のアトリビュートデータなどに対する時間処理の開始時間(遅延時間)を指定するデータであり、終了時間指定データは、その時間処理の終了時間を指定するデータである。また、変化時間指定データは、時間処理によりアトリビュートデータが変化する場合に、その変化に要する時間を指定するデータである。
一方、アトリビュートデータは、オブジェクトの頂点に関連づけられたデータであり、オブジェクトの形状、画像(プロパティ)などを表現するためのデータである。このアトリビュートデータとしては、頂点の位置データ、画像データ(色データ、輝度データ、テクスチャ座標、法線ベクトル、α値)などを考えることができる。
なお、このオブジェクトデータ記憶部173には、情報記憶媒体180等から読み出されたオブジェクトデータの他に、処理部100によって所定の演算により算出された各オブジェクトデータが記憶される。
本実施形態のテクスチャ記憶部174には、各オブジェクトに対応するテクスチャが記憶される。特に、このテクスチャ記憶部174には、該当するオブジェクトデータにあっては、同一のオブジェクトにマッピングするための異なるテクスチャが記憶される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
例えば、本実施形態の処理部100は、ゲーム処理として、ロールプレイングゲームのゲームの各種の処理を行うとともに、当該ロールプレイングゲームの進行中に、プレーヤの操作対象のキャラクタオブジェクト(以下、「プレーヤオブジェクト」という。)と当該プレーヤオブジェクトと対戦するキャラクタオブジェクト(以下、「敵オブジェクト」という。)とを含む複数のキャラクタオブジェクト間にて行われる戦闘に関する処理を行う。
また、本実施形態の処理部100は、オブジェクト空間に各種のオブジェクトを設定するオブジェクト空間設定部110と、各オブジェクトのパラメータを設定するパラメータ設定部116と、キャラクタオブジェクトなどのオブジェクト空間において移動するオブジェクトの移動・動作演算を行う移動・動作処理部118と、仮想カメラを制御する仮想カメラ制御部120と、操作部160からの入力信号を処理する入力処理部122と、仮想カメラから見える画像を生成する画像生成部124と、音を生成する音生成部132とを含む。なお、これらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、各キャラクタオブジェクト、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部110は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
また、このオブジェクト空間設定部110は、光源設定部112と判定領域設定部114とを含む。
光源設定部112は、オブジェクト空間内における環境光(アンビエント)の設定の他に、リアルタイムにてオブジェクト空間内を移動する光源、例えば、ゲームの戦闘時に用いる炎の玉(ファイヤーボール)などの点光源や面光源などの種々の光源を設定し、オブジェクト空間内の光源ベクトルなどを設定する。
判定領域設定部114は、オブジェクト空間内においてキャラクタオブジェクトの位置の基準となる判定領域(以下、「オブジェクト領域」という)を、キャラクタオブジェクトの位置の変化に追従させて設定する。
パラメータ設定部116は、プレーヤの操作、所定の演算の算出結果、所定のアルゴリズム、ゲーム進行状態等に基づいて、各オブジェクトのパラメータを設定する。このパラメータとしては、オブジェクトの属性、特性、性格、能力等、種々のものを考えることができる。
移動・動作処理部118は、オブジェクト、例えば、キャラクタオブジェクト、車、又は飛行機等の移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部118は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、オブジェクト(特に、敵オブジェクト及びプレーヤオブジェクトのキャラクタオブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)、特に、戦闘時においては種々の行動を制御するための処理を行う。
具体的には、本実施形態の移動・動作処理部118は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なお、このフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
特に、本実施の形態では、キャラクタオブジェクトが存在するオブジェクト空間における位置に応じて、操作入力(行動命令)に対応するキャラクタオブジェクトの移動・動作を変化させている。例えば、行動命令に対応する移動・動作アルゴリズムやモーションデータを変更する処理を行う。
仮想カメラ制御部120は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
判定部121は、後述する画像生成部124によりオブジェクト空間内において設定された特定領域に、キャラクタオブジェクト等の所与のオブジェクトが位置するか否かを判定する。例えば、オブジェクトの代表点やオブジェクトに属する画素(ピクセル)と、特定領域に属する画素(ピクセル)とが重なるか否かを判定する。特に、本実施形態では、判定領域設定部114が設定したオブジェクト領域を用いて、当該オブジェクト領域が特定領域に属するか否かの判定を行う。
入力処理部122は、操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する処理を行い、所与のオブジェクトが位置する領域に応じて、前記操作入力に対応する行動命令を変更する。そして、移動・動作処理部118は、変更された行動命令に基づいて、所与のオブジェクトの移動・動作演算(移動・動作シミュレーション)を行う。
例えば、入力処理部122は、所与のオブジェクトが特定領域に位置する場合には、第1の操作ボタンからの操作入力に応じてキック動作のコマンドを発行するが、その他の領域に位置する場合には、第1の操作ボタンからの操作入力に応じて防御動作のコマンドを発行するようにすることができる。
画像生成部124は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお画像生成部124が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして画像生成部124は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部173に保存される。
テクスチャマッピングは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ176(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ176のZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
また、本実施形態の画像生成部124は、影領域設定部(影生成部)126、補間処理部130を含む。
影領域設定部(影生成部)126は、設定された光源とオブジェクトとの位置関係に基づいて、該当するオブジェクトの影を生成し、影領域(特定領域)を設定する。光源とオブジェクトとの位置関係に基づいてオブジェクトの影を生成する手法としては、例えば、平面投影シャドウ、ステンシルシャドウ、投影テクスチャシャドウ、プライオリティバッファシャドウ、深度バッファシャドウ等、種々の手法を適用することができる。
例えば平面投影シャドウを用いる場合には、影領域設定部126は、影を落とすオブジェクトを構成する頂点から光源ベクトルの方向に所与の距離離れた点に新たな頂点を生成し、オブジェクトを構成する頂点と新たに生成した頂点に基づきシャドウボリュームを生成する。そして、シャドウボリュームと重なる部分を影領域として設定する処理を行う。このとき、影を落とすオブジェクトを構成する面、辺、頂点の法線ベクトルと光源ベクトルとの内積に基づいて、シャドウボリュームに必要な頂点(光源に対して裏向きの頂点又は表向きの頂点)を抽出することができる。
また、光源ベクトルと影を落とすオブジェクトの位置関係に基づいて、光源に対するオブジェクトの輪郭を構成するエッジを抽出し、エッジを構成する頂点から光源ベクトルの方向に所与の距離離れた点に新たな頂点を生成し、前記エッジを構成する頂点と新たに生成した頂点に基づきシャドウボリュームを生成するようにしてもよい。このとき、影を落とすオブジェクトを構成する辺の法線ベクトルと光源ベクトルとの内積に基づいて、エッジを抽出することができる。例えば、オブジェクトを構成する辺の法線ベクトルと光源ベクトルとの内積をとり、内積の符号が逆(2の内積が正と負)であればエッジであると判定することができる。そして、抽出されたエッジを構成する頂点から光源ベクトルの方向に所与の距離離れた点に新たな頂点を生成し、前記エッジを構成する頂点と新たに生成した頂点に基づきシャドウボリュームを生成するようにしてもよい。
ここで、光源に対する輪郭とは点光源に対する輪郭でもよいし平行光源に対する輪郭でもよい。光源が平行光源である場合は、頂点位置に関わらず平行なベクトルを光源ベクトルとして用い、光源が点光源である場合には、光源と頂点を結ぶベクトルを光源ベクトルとして用いる。
なお、本実施形態では、オブジェクト空間を移動する光源となるオブジェクトが設定される場合もあり、この場合には、本実施形態の影領域設定部126は、環境光源と移動光源の2つの光源に基づいて、影領域を設定するとともに、少なくとも一の光源がオブジェクト空間内を移動する場合には、当該光源の移動に伴って影領域を変化させる。
ここで、影領域設定部126は、表示出力されるオブジェクトの影を生成することにより影領域を設定する他、表示出力される複雑な形状のオブジェクトを簡略化した、表示出力されない簡易オブジェクトの影を生成することにより影領域を設定するようにしてもよい。この場合、オブジェクト設定部110が簡易オブジェクトを設定し、光源と簡易オブジェクトとの位置関係に基づいて、該当するオブジェクトの影を生成し、影領域を設定する。
補間処理部130は、仮想(ゲーム)時間や実時間などの時間パラメータに基づいて、オブジェクトデータの頂点における補間処理を行う。より詳細には、1のモデル(キャラクタ)について形状が異なるモデルを少なくとも2つ用意しておき、2つのモデルの頂点に設定された、時間処理用データやアトリビュートデータに基づいて、時間パラメータを用いた時間処理(例えば、時間パラメータを変数とし時間処理用データを定数とする関数を用いた処理)を行う。これにより、時間処理が施されたオブジェクトの画像、すなわち、モーフィング画像のように、オブジェクトのプロパティや形状が時間経過に伴って変化するような画像を生成できる。
また、この補間処理部130は、例えば、オブジェクトの頂点が位置データセットを含む場合に、この位置データセットが含む位置データ間の補間処理を、時間パラメータや時間処理用データに基づいて行う。これにより、本実施形態の補間処理部130は、オブジェクトの形状が時間経過に伴い部分的に変形するモーフィング画像などを生成することができる。
音生成部132は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
2.1 概要
まず、本実施形態の画像生成システムにおけるキャラクタオブジェクトの形態、動作、パラメータ、属性、入力操作に対応する行動命令(コマンド)を変更する処理(以下、単に「変更処理」という。)の概要について説明する。
本実施形態の画像生成システムは、オブジェクト空間において、当該オブジェクト空間内に設定された光源と、ゲームなどに用いるキャラクタや壁や山などの影を作り出すオブジェクトとの位置関係に応じて影領域(特定領域)が形成された場合に、プレーヤキャラクタなどのキャラクタオブジェクトが影領域に配置されているか否かにより、当該キャラクタオブジェクトの形態や動作などの外観的特性又は当該キャラクタオブジェクトに関する各種のパラメータ及びその属性など内部的な特性を変化させることができる。
また、本実施の形態では、上述のように影領域が形成された場合に、プレーヤオブジェクトなどのキャラクタオブジェクトが影領域に配置されているか否かにより、プレーヤの操作入力が同一の場合であっても、当該キャラクタオブジェクトに対する行動命令を変化させることができる。
具体的には、本実施の形態では、光源に基づいてオブジェクト空間に配置された各オブジェクトの影を生成して影領域を設定するとともに、キャラクタオブジェクトの存在する位置を示すオブジェクト領域が当該影領域に属するか否かの判定を行う。そして、オブジェクト領域が影領域と重なるキャラクタオブジェクトについては、その形態、動作、パラメータ、属性、操作入力に対応する行動命令を変化させる。
従って、本実施の形態では、キャラクタオブジェクトが存在する領域の変化に伴って、キャラクタオブジェクトの行動又は態様などのバリエーションを拡張するとともにゲーム性を変化させることができるので、ゲームなどに用いる画像を生成する際に新たな興趣を喚起させることができる。
2.2 キャラクタオブジェクトの位置判定
次に、図2を用いて本実施の形態のキャラクタオブジェクトの位置判定について説明する。本実施の形態では、キャラクタオブジェクトの位置の変化に追従し、当該キャラクタオブジェクトの存在する位置を示すオブジェクト領域を、各キャラクタオブジェクトに設定する。例えば、キャラクタオブジェクトの代表位置、またはマップオブジェクトなどの基準面(地面)とキャラクタオブジェクトの接地位置などの基準位置に基づく所定の領域を、オブジェクト領域として予め設定する。そして、設定されたオブジェクト領域と影領域の関係に基づいて、対応するキャラクタオブジェクトが影領域に存在するか否かを判定する。
図2(a)、(b)は、本実施の形態で生成される画像の例である。図2(a)の例では、光源Lに基づいて、壁オブジェクトWOについてシャドウボリュームを生成し、シャドウボリュームと地面オブジェクトMPとが重なる領域を影領域HAとして設定している。なお、影領域HA以外の領域を日向領域SAとして設定してもよい。本実施の形態では、図2(a)に示すように、オブジェクト領域OA1が影領域HAと重なる場合に、当該オブジェクト領域OA1に対応するキャラクタオブジェクトCO1は影領域HAに属していると判定する。一方、オブジェクト領域OA2の全てが日向領域SA内にある場合には、当該オブジェクト領域OA2に対応するキャラクタオブジェクトCO2は日向領域SAに属していると判定する(影領域HAに属していないと判定する)。
すなわち、本実施形態では、オブジェクト領域OA1の一部でも影領域HAと重なれば、キャラクタオブジェクトCO1は影領域HAに存在するものと判定される。一方、オブジェクト領域OA2が影領域HAと重ならない場合には、キャラクタオブジェクトCO2は日向領域SAに存在するものと判定される。
また、図2(b)に示すように、たとえ、キャラクタオブジェクトCO1の一部が影領域HAに属している場合であっても、対応するオブジェクト領域OA1が影領域HAに属していない場合には、当該キャラクタオブジェクトCO1は、日向領域SAに存在すると判断する。一方、キャラクタオブジェクトCO2の一部が日向領域SAに属している場合であっても、対応するオブジェクト領域OA2が影領域HAと重なる場合には、当該キャラクタオブジェクトCO2は、影領域HA内に存在するものと判断される。
すなわち、本実施形態の画像生成システムでは、オブジェクト領域OAのピクセル(以下、「オブジェクト基準ピクセル」という。)が影領域HAのピクセルに属するか否か、オブジェクト基準ピクセルの位置が影領域を構成するピクセルか否か、又は、オブジェクト領域OAにおける各ピクセルが影領域を構成するピクセルと一致するか否かによって、オブジェクトが位置する領域を判定する。
このように、本実施形態では、所定の広さを持ったオブジェクト領域OAと影領域HAとの重なりを判定することにより、キャラクタオブジェクトCOが影領域と日向領域の境界を行き来する場合でも判定結果がめまぐるしく変わらないようにしている。なお、図2(b)の場合に、壁オブジェクトWOについて生成されたシャドウボリュームを影領域HAとして設定し、影領域HAとしてのシャドウボリュームとキャラクタオブジェクトCO1との重なりを判定することにより、キャラクタオブジェクトCOが影領域HAに属しているか否かを判定するようにしてもよい。この場合、キャラクタオブジェクトCO1にバウンディングボリュームを設定し、シャドウボリュームとバウンディングボリュームとの重なり判定を行うようにしてもよい。
2.3 領域変化に伴うオブジェクトの変更
次に、図3〜図5を用いて、キャラクタオブジェクトが位置する領域の変化に伴うキャラクタオブジェクトの変更について説明する。図3は、キャラクタオブジェクトの形態の変更を説明するための図であり、図4は、キャラクタオブジェクトの動作の変更を説明するための図であり、図5は、キャラクタオブジェクトのパラメータまたは属性の変更を説明するための図である。
本実施の形態では、上述のように、領域判定によりプレーヤオブジェクトなどのキャラクタオブジェクトが影領域または日向領域のどちらかに存在するかによって、当該オブジェクトの形態、動作、パラメータ、属性及び操作入力に対応する行動命令を変更する。
従って、キャラクタオブジェクトが存在する領域を変更することにより、当該オブジェクトの行動又は態様などのバリエーションを拡張することができる。
(形態における変更)
本実施の形態では、同一のキャラクタオブジェクトに対して、影領域に存在する場合と、日向領域に存在する場合とによってその形態を変更する。例えば、図3の例では、光源Lに基づいて影領域HAが設定されている。この場合、キャラクタオブジェクトCOが影領域HAに存在する場合には、球体を基調とした形態となり、日向領域SAに存在する場合には、円柱を基調とした形態となるようになっている。
特に、本実施形態では、キャラクタオブジェクトCOが影領域HAから日向領域SAに、または日向領域SAから影領域HAなど、一方の領域から他方の領域に、キャラクタオブジェクトCOが位置する領域が変更される場合には、すなわち、領域の境界部分では、一方の形態から他方の形態にモーフィング処理を用いてその形態を変移させる。
なお、本実施の形態では、オブジェクトの全体の形態を変更させるだけでなく、当該オブジェクトの一部の形態、テクスチャや透明度または武器などのオブジェクトが携帯する道具のオブジェクトを変更するようにしてもよく、これらを組み合わせて変更するようにしてもよい。
(操作入力に基づく動作における変更)
また、本実施の形態では、一のキャラクタオブジェクトに対して、同一の操作入力が行われた際に、当該キャラクタオブジェクトが影領域に存在する場合と、日向領域に存在する場合とで、行動命令に対応する動作を変更する。
例えば、図4(a)に示すように、キャラクタオブジェクトCOが光源Lに基づいて設定された影領域HAに存在する場合には、キャラクタオブジェクトCOについて剣による攻撃を実行するための操作入力が行われると、その場で剣を振る攻撃動作を行うように動作制御する。一方、当該キャラクタオブジェクトCOが日向領域SAに存在する場合には、同一の操作入力が行われても、ジャンプして剣を振りかぶり、着地しながら剣を振る攻撃動作を行うように動作制御する。
また、本実施形態では、一のキャラクタオブジェクトに対して、同一の操作入力が行われた際に、当該キャラクタオブジェクトが影領域に存在する場合と、日向領域に存在する場合とによって、操作入力に対応する行動命令を変更する。
例えば、図4(b)に示すように、キャラクタオブジェクトCOが光源Lに基づいて設定された影領域HAに存在する場合には、キャラクタオブジェクトCOについて特定の操作入力が行われると、その場で剣を振るように動作制御を行う。一方、当該キャラクタオブジェクトCOが日向領域SAに存在する場合には、同一の操作入力が行われても、魔法をかけるように動作制御を行う。
なお、キャラクタオブジェクトが影領域から日向領域にまたは日向領域から影領域など、一方の領域から他方の領域に跨って一連の動作をさせる場合には、動作を開始した際のキャラクタの位置がどちらの領域に属するかによって何れの動作を行うかを決定するようにしてもよい。
また、操作入力に依存せず、所定のアルゴリズムの行動命令に基づいて行動するキャラクタオブジェクトについても、影領域に属するか否かに応じて動作を変更するようにしてもよい。また、単体のオブジェクトの動作を変更させるだけでなく、複数のオブジェクトから構成される集団のオブジェクトに対してもその動作を変更するようにしてもよい。
(パラメータ及び属性における変更)
また、本実施の形態では、キャラクタオブジェクトが影領域に存在する場合と、日向領域に存在する場合とによって、当該キャラクタオブジェクトの性格などを示す属性(以下、「性格属性」という。)や、その移動特性や攻撃能力などを示すパラメータを変更する。
例えば、図5(a)に示すように、キャラクタオブジェクトCOが光源Lに基づいて設定された影領域HAに存在する場合には、性格属性を「友好的」に設定し、光源Lに基づいて設定された日向領域SAに存在する場合には、当該性格属性を「攻撃的」に設定することができる。
また、図5(b)に示すように、キャラクタオブジェクトCOが光源Lに基づいて設定された影領域HAに存在する場合には、オブジェクト空間における素早さの特性を示す敏捷特性を「5」及び一度の攻撃おける威力(すなわち、敵オブジェクトに与えるダメージ)を「10」に設定し、光源Lに基づいて設定された日向領域SAに存在する場合には、当該敏捷特性を「20」及び攻撃力を「30」に設定することができる。
なお、キャラクタオブジェクトが影領域から日向領域にまたは日向領域から影領域など、一方の領域から他方の領域に跨って一連の動作をさせる場合には、当該一連の動作中は、動作が開始した際のキャラクタオブジェクトの位置がどちらの領域に属するかによって用いるパラメータ及び属性を決定するようにしてもよい。
2.4 その他
次に、図6及び図7を用いて本実施形態の画像生成システムにおいて、簡易オブジェクトを用いた場合の影領域の設定処理と、オブジェクト空間における光源が2以上ある場合の影領域の設定処理と、について説明する。図6は、本実施形態の画像生成システムにおいて、簡易オブジェクトを用いた場合の影領域の設定処理を説明するための図であり、図7は、オブジェクト空間における光源が2以上ある場合の影領域の設定処理を説明するための図である。
(簡易オブジェクトを用いた影領域の設定処理)
本実施の形態では、影領域の判定処理における処理負担を軽減するために、複雑な形状を有するオブジェクトについては、当該オブジェクトに対応する簡易オブジェクトの影を生成して影領域を設定する。即ち、本実施の形態では、実際に表示出力される影とは別に、影を作り出すオブジェクトに対応した簡易オブジェクトを用いて領域判定用の影を生成し、当該領域判定用の影は表示出力せずに判定用の影領域として設定する。
例えば、図6(a)に示すように、スリットが形成された壁オブジェクトWOがオブジェクト空間内に配置されている場合に、壁オブジェクトWOに対応する簡易オブジェクトSOに基づいて生成された表示出力しない影を、影領域HAとして設定する。そして、当該キャラクタオブジェクトCOのオブジェクト領域OAが、実際に表示出力されるスリットが形成された壁オブジェクトWOの影ではなく、影領域HAに属するか否かを判定する。
即ち、壁オブジェクトWOのスリットから光が差し込んでいるため、描画上では日向となっている領域にオブジェクト領域OAが存在する場合であっても、簡易オブジェクトSOによって影領域となる疑似影領域FHAに存在する場合には、当該キャラクタオブジェクトCOが影領域HAに存在するものと判断する。
なお、本実施の形態では、簡易に領域判定を行うために、複雑な形状を有するオブジェクトだけでなく、キャラクタオブジェクトやその他のオブジェクトに対しても簡易オブジェクトを用いるようにしてもよい。
例えば、図6(b)に示すように、影を作り出すキャラクタオブジェクト(以下、「影形成オブジェクト」という。)HCOを内包する柱状や球状(半球でもよい)などの簡易オブジェクトSO(バウンディングボリューム)を用いて上述した領域判定を行うようにしてもよい。
この場合には、オブジェクト設定部110が、キャラクタオブジェクトHCOに対応する簡易オブジェクトSOを当該キャラクタオブジェクトHCOに追従させて設定する。なお、キャラクタオブジェクトHCOの各座標成分の最大値を検出し、それを直方体などのオブジェクトの頂点に設定することによってバウンディングボリュームを生成するようにしてもよい。
(オブジェクト空間における光源が2以上ある場合の影領域の設定処理)
また、本実施形態では、環境光などの光源とは別に、環境光よりも強い光を放つ光源がオブジェクト空間に設定される場合がある。この場合には、各光源の光源ベクトルを用いて影を生成し、影領域を設定する。ここで、光源の強さは、光源の輝度、減衰率、位置等、種々のパラメータにより設定することができる。
例えば、図7の例では、環境光を設定する光源L1と、プレーヤキャラクタPOに放たれたファイヤーボールに設定された光源L2とがオブジェクト空間に設定されている。この場合には、光源L1と光源L2の光源ベクトルに基づいて影を生成し、影領域として設定する。
すると、光源L2が光源L1よりも強い光を放つ光源として設定されている場合には、光源L1のみの場合に設定される壁オブジェクトWO1についての影領域HA1は、光源L2により照らされて影が薄くなる、或いは日向となる。更に、図7の例では、壁オブジェクトWO1の他に壁オブジェクトWO2が配置されている。よって、光源L2を設定することにより、光源L2と壁オブジェクトWO2の位置関係に基づいて新たな影を生成し、影領域HA2を設定する。即ち、本実施の形態では、他の光源が設定されることにより影領域となる領域が変化する。
従って、図7の例において、光源L1のみが設定されている場合には、敵キャラクタオブジェクトCOは影領域HA1に存在すると判定されるが、更に光源L2が設定されると、敵キャラクタオブジェクトCOのオブジェクト領域OAは日向領域SAに存在する、即ち影領域HA2に存在しないと判定される。このように、本実施の形態では、光源の数、位置、強さの関係に応じて、オブジェクト空間における影領域を変化させることができる。
こうして、本実施の形態では、例えば、敵キャラクタオブジェクトCOに設定される形態、動作、パラメータを、敵キャラクタオブジェクトCOが影領域に存在する場合には、プレーヤにとって相対的に不利となるが、敵キャラクタオブジェクトCOが日向領域に存在する(影領域に存在しない)場合には、プレーヤにとって相対的に有利となるようにし、光源の数、位置、強さの関係に応じてゲーム性を変化させ、これをゲームの戦略的要素として付加することができる。
このように、本実施の形態では、オブジェクト空間設定部110が、オブジェクト空間内に複数の光源を設定し、影領域設定部126が、各オブジェクトと各光源との位置関係に応じて影を生成し、影領域を設定するようにしてもよい。
なお、本実施形態では、2つの異なる光源だけでなく、3つ以上の光源についても同様の処理によって影領域と日向領域を設定するようにしてもよい。また、各光源に設定される輝度等のパラメータを時間変化に応じて変化させてもよい。例えば、図7の例では、ファイヤーボールFBに設定される光源L2は、時間が経過するにつれ次第に輝度パラメータが減衰するようにしてもよい。この場合、時間変化に応じて、オブジェクト空間における影領域を変化させることができる。
3.本実施形態の処理
次に、図8を用いて本実施形態の詳細な処理例について説明する。まず、各オブジェクトを光源とともにオブジェクト空間に設定する(ステップS1)。そして、設定された各オブジェクトと光源との位置関係に基づいて、各オブジェクトの影を生成して影領域を設定する(ステップS2)。
すると、キャラクタオブジェクトに対応するオブジェクト領域が、設定された影領域と重なるか否か判定する(ステップS3)。具体的には、判定部121が、画像生成部124によりメモリに格納された各ピクセルの情報を参照して、オブジェクト領域かつ影領域であると設定されたピクセルの有無を判定する。
そして、影領域と重なると判定した場合には(ステップS3のY)、キャラクタオブジェクトの形態、行動命令に対応する動作、パラメータ、属性、入力操作に対応する行動命令を変更する処理を行う(ステップS4)。一方、影領域と重ならないと判定した場合には(ステップS3のN)、変更処理を行わない。
ここで、キャラクタオブジェクトの形態を変更する処理を行う場合には、オブジェクト領域が影領域と重なると判定したフレームにおいて、キャラクタオブジェクトの形態を変化させた画像を生成するようにしてもよい。この場合には、オブジェクト領域を設定し、影を生成して影領域を設定し、判定処理を行い影領域と重なる場合には、形態を変化させたキャラクタオブジェクトを設定して描画してもよい。また、オブジェクト領域を設定するとともに先にキャラクタオブジェクトを設定し、影を生成して影領域を設定し、判定処理を行い影領域と重なる場合には、形態を変化させたキャラクタオブジェクトを再設定して描画してもよい。
また、オブジェクト領域が影領域と重なると判定した次のフレームにおいて、キャラクタオブジェクトの形態を変化させた画像を生成するようにしてもよい。なお、行動命令に対応する動作の変更処理、パラメータの変更処理、入力操作に対応する行動命令の変更処理については、オブジェクト領域が影領域と重なると判定した次のフレームにおいて、当該変更処理を反映させた画像を生成する。
4.ハードウェア構成
次に、図9を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図9は、本実施形態を実現できるハードウェア構成を示す一例である。
メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。
また、この描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。
RAM960は、各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお、本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(プリミティブ面等)として引用された用語(ポリゴン等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また、判定処理および描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
一実施形態の画像生成システムの機能ブロック図の例。 一実施形態の画像生成システムのオブジェクトにおける領域判定について説明するための図。 一実施形態の画像生成システムにおける領域変化に伴うオブジェクトの変更について説明する図であり、オブジェクトの形態の変更を説明するための図。 一実施形態の画像生成システムにおける領域変化に伴うオブジェクトの変更について説明する図であり、オブジェクトの動作の変更を説明するための図。 一実施形態の画像生成システムにおける領域変化に伴うオブジェクトの変更について説明する図であり、オブジェクトのパラメータまたは属性の変更を説明するための図。 一実施形態の画像生成システムにおいて、簡易オブジェクトを用いた場合の影領域の設定処理を説明するための図。 オブジェクト空間における光源が2以上ある場合の影領域の設定処理を説明するための図。 一実施形態の処理の詳細例。 ハードウェアの構成例。
符号の説明
100 処理部、110 オブジェクト空間設定部、112 光源設定部、114 判定領域設定部、116 パラメータ設定部、118 移動・動作処理部、120 仮想カメラ制御部、121 判定部、122 入力処理部、124 画像生成部、126 影領域設定部、130 補間処理部、160 操作部、170 記憶部、190 表示部

Claims (8)

  1. オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
    前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
    前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
    所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
    前記位置判定部の判定結果に応じて、当該オブジェクトの動作を変化させるオブジェクト動作変化処理部としてコンピュータを機能させることを特徴とするプログラム。
  2. オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
    前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
    前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
    操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する入力処理部と、
    前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部としてコンピュータを機能させ、
    前記入力処理部が、
    前記位置判定部の判定結果に応じて、前記操作入力に対応する前記行動命令を変更することを特徴とするプログラム。
  3. 請求項1または2において、
    前記特定領域設定部が、
    前記オブジェクトに対応する簡易オブジェクトと前記光源との位置関係に基づいて、当該簡易オブジェクトの影を生成することによって前記特定領域を設定し、
    前記位置判定部が、
    前記生成された簡易オブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定することを特徴とするプログラム。
  4. 請求項1または2において、
    前記特定領域設定部が、
    前記オブジェクトと前記光源との位置関係に基づいて、当該オブジェクトの影を生成することによって前記特定領域を設定し、
    前記位置判定部が、
    前記生成されたオブジェクトの影に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定することを特徴とするプログラム。
  5. 請求項1乃至4のいずれかにおいて、
    前記所与のオブジェクトに所定の判定領域を設定する判定領域設定部としてコンピュータを更に機能させ、
    前記位置判定部が、
    前記判定領域に基づいて、前記所与のオブジェクトが前記特定領域に位置するか否かを判定することを特徴とするプログラム。
  6. コンピュータに読み取り可能な情報記憶媒体であって、請求項1乃至5のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
  7. オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
    前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
    前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
    所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部と、
    前記位置判定部の判定結果に応じて、当該オブジェクトの動作を変化させるオブジェクト動作変化処理部と、
    を含むことを特徴とする画像生成システム。
  8. オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
    前記オブジェクト空間内に複数のオブジェクトと光源とを設定するオブジェクト空間設定部と、
    前記オブジェクト空間内に設定されたオブジェクトと前記光源との位置関係に応じて、オブジェクト空間内に特定領域を設定する特定領域設定部と、
    操作入力に基づいて、所与のオブジェクトに対する行動命令を発行する入力処理部と、
    前記所与のオブジェクトが、他のオブジェクトと光源との位置関係に基づいて設定された特定領域内に位置するか否かを判定する位置判定部を含み、
    前記入力処理部が、
    前記位置判定部の判定結果に応じて、前記操作入力に対応する前記行動命令を変更することを特徴とする画像生成システム。
JP2006071178A 2006-03-15 2006-03-15 プログラム、情報記憶媒体、及び画像生成システム Active JP4776017B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006071178A JP4776017B2 (ja) 2006-03-15 2006-03-15 プログラム、情報記憶媒体、及び画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006071178A JP4776017B2 (ja) 2006-03-15 2006-03-15 プログラム、情報記憶媒体、及び画像生成システム

Publications (2)

Publication Number Publication Date
JP2007249521A JP2007249521A (ja) 2007-09-27
JP4776017B2 true JP4776017B2 (ja) 2011-09-21

Family

ID=38593754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006071178A Active JP4776017B2 (ja) 2006-03-15 2006-03-15 プログラム、情報記憶媒体、及び画像生成システム

Country Status (1)

Country Link
JP (1) JP4776017B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111135566A (zh) * 2019-12-06 2020-05-12 腾讯科技(深圳)有限公司 虚拟道具的控制方法和装置、存储介质及电子装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5840487B2 (ja) * 2011-12-28 2016-01-06 株式会社パスコ 日影領域検索装置、及び日影領域検索方法
JP6319952B2 (ja) * 2013-05-31 2018-05-09 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
KR101419044B1 (ko) * 2013-06-21 2014-07-11 재단법인 실감교류인체감응솔루션연구단 3d 가상 객체의 그림자를 표시하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP6369153B2 (ja) * 2014-06-10 2018-08-08 株式会社リコー 表示処理装置、表示処理方法、及びプログラム
JP6372943B1 (ja) * 2017-08-28 2018-08-15 株式会社コナミアミューズメント ゲームシステム及びそれに用いるコンピュータプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4600793B2 (ja) * 2000-09-20 2010-12-15 株式会社セガ 画像処理装置
JP4162125B2 (ja) * 2002-08-06 2008-10-08 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111135566A (zh) * 2019-12-06 2020-05-12 腾讯科技(深圳)有限公司 虚拟道具的控制方法和装置、存储介质及电子装置

Also Published As

Publication number Publication date
JP2007249521A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4651435B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4771821B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4776017B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4717622B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4651527B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2010055131A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4782583B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2010033288A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2007164323A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4662260B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006318196A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2007164651A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006252291A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4782631B2 (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110603

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: 20110622

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: 20110627

R150 Certificate of patent or registration of utility model

Ref document number: 4776017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250