説明

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

【課題】少ない処理負荷で、群れをなす移動体オブジェクトの逃避行動をリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供する。
【解決手段】オブジェクト空間に配置されたターゲットTGを含む第1の反応エリアAR1と、第1の反応エリアAR1の外側に第2の反応エリアAR2とを設定する反応エリア設定部110と、移動体オブジェクトに対し移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部120と、移動制御が行われた移動体オブジェクトの画像を生成する画像生成部130とを含む。移動体オブジェクト制御部120は、移動体オブジェクトの位置が第1の反応エリアAR1内にあるときターゲットTGの位置から遠ざかる方向に、第2の反応エリアAR2内にあるとき移動体オブジェクトが停止又はその移動量が少なくなるように移動体オブジェクトを移動制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
画像生成システムの処理速度が向上し、画面上により多くのキャラクタを表示できるようになっている。例えばゲーム画像において、エフェクト効果を表現するために動物や虫などの群れを表現した画像を表示することで、よりリアルさを高めることができる。
【0003】
ところが、群れを表現する画像の生成にはリアルタイム性が要求されるため、群れを構成する複数のキャラクタをそれぞれ別個に処理すると、他の処理を圧迫してしまう。そのため、より少ない負荷で、リアルな群れを表現する画像を生成できることが望ましい。
【0004】
例えば特許文献1には、群れの中の1つのキャラクタをリーダーとして決定し、該群れの他のキャラクタをリーダーに追従させることで、処理負荷を軽減する方策が開示されている。
【特許文献1】特開2000−172868号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された方策では、群れ全体の動きを表現できるものの、群れの中のキャラクタの個々の細かい動きを表現することが難しい。群れの中のキャラクタの個々の細かい動きを表現することで、よりリアルな画像を生成できる。そこで、キャラクタに応じて異なる行動パターンを各キャラクタに反映させることが考えられる。
【0006】
例えば、虫キャラクタ(広義には移動体オブジェクト)等の群れが逃避行動を行う行動パターンを表現する場合、キャラクタごとに逃避行動を指定すると、データ量の増大や処理の複雑化を招く。また、多種多様なキャラクタの動きを実現することが困難となる。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、より少ない処理負荷で、群れをなす移動体オブジェクトの行動をよりリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0008】
本発明は、画像を生成するための画像生成システムであって、オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部とを含み、前記移動体オブジェクト制御部が、前記移動体オブジェクトに付与された該移動体オブジェクトの行動タイプを判別するためのパラメータに基づいて、前記移動体オブジェクトの行動タイプを判別し、前記行動タイプが第1のタイプと判別されたとき、前記オブジェクト空間に配置されたターゲットの位置に近付く方向に前記移動体オブジェクトを移動制御し、前記行動タイプが第2のタイプと判別されたとき、前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトが移動、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量を少なくするように前記移動体オブジェクトを移動制御する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0009】
本発明においては、オブジェクト空間を移動し、その画像が生成される移動体オブジェクトに、当該移動体オブジェクトの行動タイプを判別するためのパラメータが付与される。そして、移動体オブジェクト制御部が、このパラメータに基づいて行動タイプを判別する。当該移動体オブジェクトが第1のタイプの行動タイプであると判別されたとき、オブジェクト空間に配置されたターゲットの位置に近付く方向に移動制御する。また当該移動体オブジェクトが第2のタイプの行動タイプであると判別されたとき、ターゲットの位置から当該移動体オブジェクトが遠ざかる方向に移動制御し、当該移動体オブジェクトが停止するように移動制御し、又は当該移動体オブジェクトの移動量が少なくなるように移動制御する。
【0010】
行動タイプが第1のタイプに設定された場合、移動体オブジェクトがターゲットを追いかける動きを表現できる。例えばターゲットの位置に配置された敵キャラクタに対して攻撃を加えるといった表現が可能となる。また、行動タイプが第2のタイプに設定された場合、移動体オブジェクトがターゲットから逃れる動きや、ターゲットに対して警戒心を持つ動きを表現できる。例えばターゲットの位置に配置された敵キャラクタを避けるといった表現が可能となる。
【0011】
更にまた、上述の行動タイプを判別するパラメータを設け、移動体オブジェクトの移動制御を行うようにしたので、複数の移動体オブジェクトに同種の行動を行わせて群れて動く様子を、より少ない処理負荷でリアルに実現できる。
【0012】
また本発明は、画像を生成するための画像生成システムであって、オブジェクト空間に配置されたターゲットを含む第1の反応エリアを設定すると共に、該第1の反応エリアの外側に第2の反応エリアを設定する反応エリア設定部と、前記オブジェクト空間における移動体オブジェクトに対し、前記移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部と、前記移動体オブジェクト制御部によって移動制御が行われた前記移動体オブジェクトの画像を生成する画像生成部とを含み、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置が前記第1の反応エリア内にあるとき、前記移動体オブジェクトの位置が前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトを移動制御し、前記移動体オブジェクトの位置が前記第2の反応エリア内にあるとき、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量が少なくなるように前記移動体オブジェクトを移動制御する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0013】
本発明においては、ターゲットを基準として複数の反応エリアが設けられる。第1の反応エリアはターゲットを含む範囲である。第2の反応エリアは第1の反応エリアの外側に設けられる範囲である。そして、移動体オブジェクトの位置が属する反応エリアに応じて、当該移動体オブジェクトの移動制御を異ならせる。第1の反応エリアではターゲットから遠ざかる方向に移動制御され、第2の反応エリアでは移動体オブジェクトが停止又は移動体オブジェクトの移動量が少なくなるように移動制御される。こうすることで、ターゲットにより近付いたときの逃避行動をリアルに表現できる。また、ターゲットからある一定の距離を置いた移動体オブジェクトの動きに、ターゲットを意識した警戒感を持たせることができ、移動体オブジェクトの動きをリアルに表現できる。
【0014】
また、複数の移動体オブジェクトに同種の行動を行わせ、群れて上述の動き行う様子を、より少ない処理負荷でリアルに実現できる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、オブジェクト空間を移動する前記第2の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離に応じた発生率で、停止イベントを発生するイベント処理部を含み、前記移動体オブジェクト制御部が、前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定することができる。
【0016】
本発明によれば、移動体オブジェクトの位置が第2の反応エリア内にあるとき、ターゲットの位置からの距離に応じて移動体オブジェクトの停止イベントの発生率を変化させることで、該移動体オブジェクトの立ち止まりやすさを変化させてターゲットを警戒して動く様子をリアルに表現できるようになる。
【0017】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記イベント処理部が、前記第2の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離が短いほど発生率が高く、前記距離が長いほど発生率が低くなるように前記停止イベントを発生することができる。
【0018】
本発明によれば、ターゲットの位置から離れれば離れるほど停止状態に設定される移動体オブジェクトが少なくなり、警戒感が薄らいで通常の行動を行う移動体オブジェクトの動きを実現できるようになる。
【0019】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置が前記第1の反応エリア内にあるとき、当該フレームにおける前記移動体オブジェクトの移動方向を、当該フレームで求められた前記移動体オブジェクトの移動方向と反対の方向に移動制御することができる。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置が前記第1の反応エリア内に入ったとき、前記移動体オブジェクトが移動して前記第1の反応エリアから出た後も前記ターゲットの位置から遠ざかる方向に移動するように前記移動体オブジェクトの移動制御を行うことができる。
【0021】
本発明によれば、移動体オブジェクトの位置が第1の反応エリア内にあるとき、移動体オブジェクトがターゲットから逃避する動きを、少ない処理負荷で表現できるようになる。また、その逃避行動をリアルに表現できる。
【0022】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置と前記ターゲットの位置との距離に関連付けられた速さで移動するように前記移動体オブジェクトの移動制御を行うことができる。
【0023】
本発明によれば、例えばターゲットに近いほど、ターゲットから逃避する速度を速くすることで、ターゲットに驚いて逃避する移動体オブジェクトの動きを表現できるようになる。
【0024】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記反応エリア設定部が、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさの前記第1又は第2の反応エリアを設定することができる。
【0025】
本発明によれば、移動体オブジェクトやターゲットに応じて反応エリアを設定するようにしたので、移動体オブジェクトの逃避行動をよりリアルに表現できるようになる。
【0026】
また本発明は、画像を生成するための画像生成システムであって、オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第1〜第N(Nは、2以上の自然数)の反応エリアを設定する反応エリア設定部と、オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部とを含み、前記移動体オブジェクト制御部が、前記第1〜第Nの反応エリアのうち、前記オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて前記移動体オブジェクトの行動パターンを変化させて前記移動体オブジェクトの移動制御を行い、前記反応エリア設定部が、前記第1〜第Nの反応エリアの少なくとも1つが、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさを有する前記第1〜第Nの反応エリアを設定する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0027】
本発明によれば、移動体オブジェクトの動きを、少ない処理負荷でリアルに表現できる。
【発明を実施するための最良の形態】
【0028】
以下、本実施形態について説明する。
【0029】
なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【0030】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素(各部)を全て含む必要はなく、その一部(例えば操作部160、携帯型情報記憶装置194又は通信部196等)を省略した構成としてもよい。
【0031】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサ、タッチパネル型ディスプレイ、或いは筺体などのハードウェアにより実現できる。
【0032】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0033】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶(記録、格納)される。
【0034】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0035】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【0036】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0037】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0038】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0039】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。ここで処理部100が行うゲーム処理としては、ゲーム開始条件(コースやマップやキャラクタや参加プレーヤ人数の選択等)が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。また処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)やASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
【0040】
処理部100は、反応エリア設定部110、移動体オブジェクト制御部120、イベント処理部122、画像生成部130、音生成部140を含む。なおこれらの一部を省略してもよい。
【0041】
反応エリア設定部110は、ターゲットと1又は複数の移動体オブジェクトとが配置されるオブジェクト空間に反応エリアを設定する。移動体オブジェクトは、オブジェクト空間内でその位置を変えて配置される。ターゲットは、移動体オブジェクトの行動パターンを決めるために、オブジェクト空間内に仮想的に配置される。反応エリアは、このターゲットに対し、移動体オブジェクトが種々の逃避行動の制御を行うためにオブジェクト空間内に仮想的に設定されるエリアである。
【0042】
より具体的には、反応エリア設定部110は、オブジェクト空間に配置されたターゲットを含む第1の反応エリアを設定すると共に、該第1の反応エリアの外側に第2の反応エリア、該第2の反応エリアの外側に第3の反応エリア、・・・、第(N−1)(Nは2以上の自然数)の反応エリアの外側に第Nの反応エリアを設定する。即ち反応エリア設定部110は、オブジェクト空間に配置されたターゲットから距離に応じて第1〜第Nの反応エリアを設定する。
【0043】
移動体オブジェクト制御部120は、オブジェクト空間における移動体オブジェクトの移動制御を行う。より具体的には、移動体オブジェクト制御部120は、移動体オブジェクトの移動情報(移動ベクトル、位置情報、方向情報、速度情報或いは加速度情報)を求める処理を行う。移動体オブジェクトの移動制御は、オブジェクト空間における当該移動体オブジェクトの位置を変化させる制御又は停止させる制御である。移動体オブジェクト制御部120は、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、このような移動制御に必要な情報を求め、移動体オブジェクトをオブジェクト空間内で移動(停止)させる処理を行う。
【0044】
また移動体オブジェクト制御部120は、オブジェクト空間における移動体オブジェクトに対し、移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う。例えば移動体オブジェクト制御部120は、移動体オブジェクトの位置が第1の反応エリアにあるとき第1の行動パターンに従った移動制御を行い、該移動体オブジェクトの位置が第2の反応エリアにあるとき第1の行動パターンとは異なる第2の行動パターンに従った移動制御を行う。
【0045】
なお、移動体オブジェクト制御部120は、オブジェクト空間内に設定した複数の移動体オブジェクトを、以下に述べるパラメータにより同種の行動パターンを行わせることができる。これにより、群れて行動する様子を、データ量を増加させず、かつ簡素な処理で表現できる。
【0046】
移動体オブジェクト制御部120は、求めた移動制御に必要な情報に基づき、移動体オブジェクトの位置や回転角度(方向)を例えば1フレーム(1/60秒等)毎に変化させる。例えば(k−1)フレームでの移動体オブジェクトの位置(X、Y又はZ座標)、回転角度(X、Y又はZ軸回りの回転角度)をPk-1、θk-1とし、移動体オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転角度)をΔP、Δθとする。すると、kフレームでの移動体オブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
【0047】
Pk=Pk-1+ΔP (1)
θk=θk-1+Δθ (2)
なお移動体オブジェクト制御部120で行われる処理は、上式(1)、(2)の処理に限定されず、(1)、(2)式と均等な処理でもよい。
【0048】
イベント処理部122は、オブジェクト空間を移動する移動体オブジェクトの停止イベントを発生する。より具体的にはイベント処理部122は、オブジェクト空間を移動する移動体オブジェクトの位置が属する反応エリアに応じた発生率で停止イベントを発生する。更に具体的には、当該反応エリア内において、移動体オブジェクトの位置とターゲットの位置との距離に応じた発生率で停止イベントを発生する。また、停止イベントの発生率は、当該移動体オブジェクトに付与された特性により決められることが望ましい。この場合、停止イベントの発生率は、当該反応エリア内における移動体オブジェクトの位置とターゲットの位置との距離に応じた発生率と、当該移動体オブジェクトに付与された特性により決められる係数とを掛け合わせることで求められる。
【0049】
イベント処理部122によって停止イベントが発生すると、移動体オブジェクト制御部120は、移動体オブジェクトを所与のフレーム数の間、移動体オブジェクトの位置を固定する停止状態に設定する。ここで停止状態は、例えばオブジェクト空間内における当該移動体オブジェクトの位置が複数フレームにわたって固定される状態である。
【0050】
画像生成部130は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。即ち、移動体オブジェクト制御部120の処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。より具体的には、3次元画像を生成する場合には、まず座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理を行って、その処理結果に基づいて、描画データが作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数のプリミティブ面)を、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0051】
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0052】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0053】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0054】
2. 本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0055】
2.1 パラメータ化
本実施形態では、以下のように各移動体オブジェクトの動きを表現するための要素をパラメータ化する。そして、表現したい移動体オブジェクトの特性に対応したパラメータ設定により、複数の移動体オブジェクトによる群れの動きを実現する。こうすることで、群れの動きをより少ない処理負荷で多様化し、かつよりリアルにすることができる。
【0056】
2.2 行動タイプ
本実施形態では、複数の移動体オブジェクトにより構成される群れの動きを実現するため、ターゲットがオブジェクト空間内に設定される。そして、各移動体オブジェクトがターゲットに対してどのように行動するかを設定する。これにより、同種の行動を行う複数の移動体オブジェクトが群れて行動する様子を表現する画像を生成できる。
【0057】
本実施形態では、移動体オブジェクトに対して行動タイプを指定するパラメータを設ける。行動タイプには、ターゲットを見つけるSEARCHタイプ(広義には第1のタイプ)と、ターゲットから逃げるESCAPEタイプ(広義には第2のタイプ)とがある。そして、移動体オブジェクト制御部120が、各移動体オブジェクトに付与されたパラメータのうち行動タイプのパラメータに基づいて、当該移動体オブジェクトがSEARCHタイプであるか、ESCAPEタイプであるかを判別する。
【0058】
図2(A)、(B)に、行動タイプを説明するための図を示す。図2(A)は、SEARCHタイプの移動体オブジェクトの行動パターンを模式的に示す。図2(B)は、ESCAPEタイプの移動体オブジェクトの行動パターンを模式的に示す。
【0059】
SEARCHタイプの移動体オブジェクトは、オブジェクト空間において、ターゲットの位置に近付く方向に移動するように制御される。ここで近付く方向とは、当該移動体オブジェクトの位置と、ターゲットの位置との距離が短くなる方向をいう。より具体的には、行動タイプがSEARCHタイプに設定された移動体オブジェクトMOBJ1〜MOBJ3は、例えば各移動体オブジェクトからターゲットTGに向かう移動ベクトルMV1〜MV3を用いて移動する。図2(A)では、移動ベクトルMV1〜MV3が、移動体オブジェクトMOBJ1〜MOBJ3のそれぞれからターゲットTGに向かう方向となっているが、本実施形態はこれに限定されるものではなく、移動体オブジェクトMOBJ1〜MOBJ3がターゲットTGに近付けばよい。
【0060】
このようなSEARCHタイプの複数の移動体オブジェクトにより、例えばターゲットの位置に配置された敵キャラクタに対して群れで攻撃を加えるといった表現が可能となる。
【0061】
ESCAPEタイプの移動体オブジェクトは、オブジェクト空間において、ターゲットの位置から遠ざかる方向に当該移動体オブジェクトが移動、当該移動体オブジェクトが停止又は当該移動体オブジェクトの移動量を少なくするように制御される。ここで遠ざかる方向とは、当該移動体オブジェクトの位置と、ターゲットの位置との距離が長くなる方向をいう。また移動量を少なくするというのは、より具体的には1フレーム内の移動量を少なくすることをいう。更に具体的には、速度を遅くすることをいう。
【0062】
行動タイプがESCAPEタイプに設定された移動体オブジェクトMOBJ1〜MOBJ4は、例えば各移動体オブジェクトからターゲットTGへの方向とは反対の方向の移動ベクトルMV1〜MV4を用いて移動する。図2(B)では、移動ベクトルMV1〜MV3が、ターゲットTGから移動体オブジェクトMOBJ1〜MOBJ4のそれぞれに向かう方向となっているが、本実施形態はこれに限定されるものではなく、移動体オブジェクトMOBJ1〜MOBJ3がターゲットTGから遠ざかればよい。
【0063】
このようなESCAPEタイプの複数の移動体オブジェクトにより、例えばターゲットの位置に配置されたキャラクタを避ける群れを表現できる。
【0064】
なお、操作部160からの操作データやプログラムに基づいて、オブジェクト空間内のターゲットTGの位置を変化させることで、ターゲットTGを常に追いかける群れや、ターゲットTGを避けたり、或いは逃げ回る複数の移動体オブジェクトによる群れを表現できる。
【0065】
ここで、各移動体オブジェクトに、例えば虫キャラクタA、虫キャラクタB、虫キャラクタCの3種類の虫の特性を付与した場合の群れの動きを表現することを考える。
【0066】
図3に、各移動体オブジェクトに虫キャラクタAの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
【0067】
虫キャラクタAは、例えば海辺の岩等の上で群れをなして動くフナムシの動きを実現する。この虫キャラクタA(フナムシ)の動きを表現するため、各移動体オブジェクトの行動タイプをESCAPEタイプに設定する。そして、図3に示すようにオブジェクト空間に設定され起伏に富んだ地形マップGMAP上に、ターゲットTGと複数の移動体オブジェクトを配置する。
【0068】
この場合、ターゲットTGの位置に近付かない群れを表現できる。例えば、ターゲットTGの位置を中心に所定のエリア内でのみ、ターゲットTGから移動体オブジェクトが遠ざかるようにすれば、図3に示すように所定のエリア内に近付かない群れの動きを表現できる。
【0069】
図4に、各移動体オブジェクトに虫キャラクタBの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
【0070】
虫キャラクタBは、例えば群れをなさず、素早い動きで四方八方を動き回るゴキブリの動きを実現する。この虫キャラクタB(ゴキブリ)の動きを表現するため、各移動体オブジェクトの行動タイプをESCAPEタイプに設定する。そして、図4に示すようにオブジェクト空間に設定され起伏に富んだ地形マップGMAP上に、ターゲットTGと複数の移動体オブジェクトを配置する。
【0071】
ただし、図3に示す虫キャラクタA(フナムシ)を表現する場合と異なるのは、後述する各種パラメータを変更することで、同じESCAPEタイプであっても、異なる動きをリアルに表現できる。
【0072】
この場合、ターゲットTGの位置に近付かない群れを表現できるが、素早い動きで、統制されることなく、あちこち動き回る群れの動きを表現できる。
【0073】
図5に、各移動体オブジェクトに虫キャラクタCの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
【0074】
虫キャラクタCは、例えば嗜好物に猪突猛進的に素早い動きで近付くスカラベの動きを実現する。この虫キャラクタC(スカラベ)の動きを表現するため、各移動体オブジェクトの行動タイプをSEARCHタイプに設定する。そして、図5に示すようにオブジェクト空間に設定され起伏に富んだ地形マップGMAP上に、ターゲットTGと複数の移動体オブジェクトを配置する。
【0075】
この場合、ターゲットTGの位置に近付く群れを表現できる。例えば、ターゲットTGの位置を動かせば、ターゲットTGを追跡する群れの動きを表現できる。
【0076】
次に、各移動体オブジェクトの動きをよりリアルに表現するための各種パラメータについて説明する。
【0077】
2.3 反応エリアの設定
反応エリアは、オブジェクト空間に配置されるターゲットTGに関連付けて設定される。以下に述べる反応エリアを設定することで、ターゲットTGの位置がオブジェクト空間を移動する場合、行動タイプがESCAPEタイプに設定された移動体オブジェクトが、ターゲットTGに反応してターゲットTGから逃れようとする逃避行動をリアルに表現できるようになる。
【0078】
図6に、本実施形態における反応エリアを説明するための図を示す。
【0079】
反応エリア設定部110は、オブジェクト空間に配置されたターゲットTGを含む第1の反応エリアAR1と、該第1の反応エリアの外側に第2の反応エリアAR2を設定する。図6では、Nが2の場合の設定例を示しているが、Nが3以上であっても同様である。
【0080】
第1の反応エリアAR1は、ターゲットTGの位置を中心に半径が反応開始距離Rstatの円内の範囲である。第2の反応エリアAR2は、ターゲットTGの位置を中心に半径が反応開始距離と反応範囲との和(Rstat+Rarea)の円内の範囲のうち、第1の反応エリアAR1を除く範囲である。
【0081】
本実施形態では、第1及び第2の反応エリアAR1、AR2をターゲットTGを基準とした円内の範囲又は該円の外側のリング状の範囲としているが、その形状に限定されるものではない。
【0082】
移動体オブジェクト制御部120は、オブジェクト空間における移動体オブジェクトに対し、当該移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う。
【0083】
より具体的には、移動体オブジェクト制御部120は、移動体オブジェクトの位置が第1の反応エリアAR1内にあるとき、当該移動体オブジェクトの位置がターゲットTGの位置から遠ざかる方向に当該移動体オブジェクトを移動制御する。図6では、当該フレームにおいて移動ベクトルMV1の方向及び長さが求められ、当該フレームにおいて移動体オブジェクトMOBJ1に対し、移動ベクトルMV1で特定される位置に移動制御されるものとする。移動制御前の移動体オブジェクトMOBJ1の位置は第1の反応エリアAR1内にあるため、移動体オブジェクト制御部120は、移動体オブジェクトMOBJ1の位置がターゲットの位置TGから遠ざかる方向に移動させるように、移動体オブジェクトMOBJ1の移動ベクトルMV1を補正した移動ベクトルMV1Xを求める。移動ベクトルMV1Xは、例えば移動ベクトルMV1の方向と反対の方向のベクトルであってもよい。移動体オブジェクト制御部120は、このような移動ベクトルMV1Xにより特定される位置に移動体オブジェクトMOBJ1を移動させる。
【0084】
また移動体オブジェクト制御部120は、移動体オブジェクトの位置が第2の反応エリアAR2内にあるとき、移動体オブジェクトが停止又は移動量が少なくなるよう移動体オブジェクトを移動制御する。図6では、当該フレームにおいて移動ベクトルMV2の方向及び長さが求められ、当該フレームにおいて移動体オブジェクトMOBJ2に対して、移動ベクトルMV2で特定される位置に移動制御されるものとする。移動制御前の移動体オブジェクトMOBJ2の位置は第2の反応エリアAR2内にあるため、移動体オブジェクト制御部120は、移動体オブジェクトMOBJ2が停止又は移動量が少なくなるように、移動体オブジェクトMOBJ2の移動ベクトルMV2を補正した移動ベクトルMV2Xを求める。移動ベクトルMV2Xは、例えば零ベクトルであってもよいし、移動ベクトルMV2に係数r(0<r<1)を掛けたベクトルであってもよい。移動体オブジェクト制御部120は、このような移動ベクトルMV2Xにより特定される位置に移動体オブジェクトMOBJ2を移動させる。
【0085】
更に移動体オブジェクト制御部120は、移動体オブジェクトの位置が第1及び第2の反応エリアAR1、AR2にないとき(該位置が第2の反応エリアAR2の外にあるとき)、当該フレームで求められた移動ベクトルに従って移動制御を行う。図6では、当該フレームにおいて移動ベクトルMV3の方向及び長さが求められ、当該フレームにおいて移動体オブジェクトMOBJ3に対して、移動ベクトルMV3で特定される位置に移動制御されるものとする。移動制御前の移動体オブジェクトMOBJ3の位置は第1及び第2の反応エリアAR1、AR2にはないため、移動体オブジェクト制御部120は、移動体オブジェクトMOBJ3は、移動ベクトルMV3により特定される位置に移動体オブジェクトMOBJ3を移動させる。
【0086】
次に、第1及び第2の反応エリアでの具体的な移動制御について説明する。
【0087】
2.3.1 第2の反応エリア
図7に、第2の反応エリアにおける移動制御を説明するための図を示す。図7では、第1及び第2の反応エリアAR1、AR2を4分割した1つの四分円を示す。
【0088】
イベント処理部122によって発生する停止イベントの発生率は、第2の反応エリアAR2内における移動体オブジェクトの位置とターゲットTGの位置との距離に応じて決められる。このように、移動体オブジェクトの位置が第2の反応エリアAR2内にあるとき、ターゲットTGの位置からの距離に応じて移動体オブジェクトの停止イベントの発生率を変化させることで、該移動体オブジェクトの立ち止まりやすさを変化させてターゲットTGを警戒して動く様子をリアルに表現できる。
【0089】
特に、第2の反応エリア内における移動体オブジェクトの位置とターゲットTGの位置との距離が短いほど発生率が高く、該距離が長いほど発生率が低くなるように停止イベントを発生させることが望ましい。この場合、ターゲットの位置から離れれば離れるほど停止状態に設定される移動体オブジェクトが少なくなり、警戒感が薄らいで通常の行動を行う移動体オブジェクトの動きを実現できる。
【0090】
図7において、第2の反応エリアAR2内の移動体オブジェクトMOBJ1〜MOBJ4の各移動体オブジェクトとターゲットTGとの距離をそれぞれr1〜r4とし、0<r1<r2<r3<r4とする。この場合、移動体オブジェクトMOBJ1の停止イベントの発生率が最も高くなり、かつ移動体オブジェクトMOBJ4の停止イベントの発生率が最も低くなる。移動体オブジェクトの停止イベントの発生率が高ければ高いほど、当該フレームの次のフレームにおいて、移動体オブジェクト制御部120が、当該移動体オブジェクトを停止状態に設定する確率が高くなる。
【0091】
図8に、停止イベントを説明するための模式的な図を示す。
【0092】
イベント処理部122が発生する停止イベントが、k(kは自然数)フレームで発生した場合、移動体オブジェクト制御部120が、例えば次の(k+1)フレームから、所与の停止期間(フレーム数)だけ、当該移動体オブジェクトのオブジェクト空間における位置を固定する停止状態に設定する。
【0093】
図8では、m(mは2以上の整数)フレームの間、当該移動体オブジェクトの位置が固定される。なおこの停止期間は、移動体オブジェクトの特性に関連付けられた期間内でランダムに求められた期間、或いは所定の期間に、移動体オブジェクトの特性に関連付けられた係数を掛け合わせて求められた期間とすることができる。
【0094】
このように停止イベントを発生させて、画像生成部130が、オブジェクト空間内の所与の視点での移動体オブジェクトの画像を生成することで、警戒感をもった移動体オブジェクトの動きを表現できる。
【0095】
そして、停止イベントを移動体オブジェクトの特性に応じて発生させることで、おもむろに止まっている、何か別の目標物(嗜好物)を発見した、或いは警戒しながら移動するといった動きを表現できる。
【0096】
例えば、虫キャラクタA(フナムシ)の停止イベントの発生率を大きくすることで、警戒感をもった動きを実現できる。虫キャラクタB(ゴキブリ)の停止イベントの発生率を、虫キャラクタA(フナムシ)の停止イベントの発生率より小さくすることで、虫キャラクタB(ゴキブリ)の警戒感のない動きを実現できる。また、同様に虫キャラクタC(スカラベ)の停止イベントの発生率を小さくすることで、虫キャラクタC(スカラベ)の警戒感のない動きを実現できる。
【0097】
2.3.2 第1の反応エリア
図9に、第1の反応エリアにおける移動制御を説明するための図を示す。図9では、第1の反応エリアAR1を4分割した1つの四分円を示す。
【0098】
移動体オブジェクト制御部120は、移動体オブジェクトの位置が第1の反応エリアAR1内にあるとき、当該フレームにおける移動体オブジェクトの移動方向を、当該フレームで求められた移動体オブジェクトの移動方向と反対の方向に移動するように制御する。
【0099】
図9において、第1の反応エリアAR1内の移動体オブジェクトMOBJ1、MOBJ2の当該フレームにおいて、移動ベクトルMV1、MV2が求められたものとする。移動ベクトルMV1、MV2の各移動ベクトルの向きは、図9に示す方向である。
【0100】
このとき、移動体オブジェクト制御部120は、第1の反応エリアAR1内の移動体オブジェクトMOBJ1、MOBJ2の移動ベクトルMV1、MV2を補正した移動ベクトルMV1X、MV2Xを求め、移動体オブジェクトMOBJ1、MOBJ2を移動ベクトルMV1X、MVX2に従って移動制御を行う。即ち移動体オブジェクト制御部120は、第1の反応エリアAR1内の移動体オブジェクトに対しては、当該フレームにおいて求められた移動ベクトルMV1、MV2ではなく、移動ベクトルMV1、MV2を補正した移動ベクトルMV1X、MV2Xを用いて当該移動体オブジェクトの移動制御を行う。移動ベクトルMV1Xは、移動ベクトルMV1と反対の方向のベクトルである。移動ベクトルMV2Xは、移動ベクトルMV2と反対の方向のベクトルである。
【0101】
これにより、第1の反応エリアAR1内の移動体オブジェクトがターゲットTGを察知して、危険を強く感じ、急いだ逃避行動を行う様子を表現できる。
【0102】
このとき、移動体オブジェクト制御部120は、移動体オブジェクトの位置が第1の反応エリア内に入ったとき、当該移動体オブジェクトが移動して前記第1の反応エリアから出た後もターゲットTGの位置から遠ざかる方向に移動するように移動体オブジェクトの移動制御を行うことが望ましい。
【0103】
図10(A)、(B)に、第1の反応エリアに侵入した移動体オブジェクトの移動制御の説明図を示す。
【0104】
図10(A)において、移動体オブジェクトMOBJ1、MOBJ2とターゲットTGとの距離をそれぞれr1、r2とし、0<r2<r1とする。当該フレームのフレーム番号をfとして、各フレームにおける移動体オブジェクトにフレーム番号を付している。例えばフレーム(f+1)における移動体オブジェクトMOBJ1には、MOBJ1−(f+1)と付す。移動ベクトルも同様に、フレーム番号を付す。
【0105】
移動体オブジェクト制御部120は、当該フレーム(フレーム番号f)において、第1の反応エリアAR1内に入った移動体オブジェクトMOBJ1、MOBJ2を、上述のように移動ベクトルMV1、MV2を補正した移動ベクトルMV1X、MV2Xに従って移動制御する。そして、移動体オブジェクトMOBJ1、MOBJ2移動して第1の反応エリアAR1から出た後も、ターゲットTGの位置から遠ざかる方向に移動するように移動制御する。
【0106】
そして、移動体オブジェクトの位置とターゲットTGの位置との距離に関連付けられた期間、移動体オブジェクトが移動して第1の反応エリアから出た後もターゲットの位置から遠ざかる方向に移動するように移動体オブジェクトの移動制御が行われることが望ましい。
【0107】
図10(B)に示すように、フレームfで第1の反応エリアAR1内に移動体オブジェクトMOBJ1、MOBJ2が侵入したものとする。この場合、フレーム(f+1)以降で、上述のように移動体オブジェクトが移動して第1の反応エリアから出た後もターゲットTGの位置から遠ざかる方向に移動する逃避行動の移動制御が行われる。
【0108】
また移動体オブジェクト制御部120が、移動体オブジェクトの位置とターゲットTGの位置との距離に関連付けられた速さで移動するように移動体オブジェクトの移動制御を行うことが望ましい。
【0109】
例えばターゲットTGからの距離が近い移動体オブジェクトMOBJ2の移動ベクトルMV2を補正した移動ベクトルMV2Xの長さを変更するための移動係数が、ターゲットTGからの距離がより遠い移動体オブジェクトMOBJ1の移動ベクトルMV1を補正した移動ベクトルMV1Xの長さを変更するための移動係数より大きくすることができる。この場合、図9に示すように、ターゲットTGに近いほど、ターゲットから逃避する速度を速くすることができ、ターゲットTGに驚いて逃避する移動体オブジェクトの動きを表現できる。
【0110】
一方、例えばターゲットTGからの距離が近い移動体オブジェクトMOBJ2の移動ベクトルMV2を補正した移動ベクトルMV2Xの長さを変更するための移動係数が、ターゲットTGからの距離がより遠い移動体オブジェクトMOBJ1の移動ベクトルMV1を補正した移動ベクトルMV1Xの長さを変更するための移動係数より小さくしてもよい。この場合、ターゲットTGに近いほど移動体オブジェクトはターゲットTGを意識して動きを弱める表現でき、かつターゲットTGに遠い移動体オブジェクトほどターゲットTGを無視した動きを表現できる。
【0111】
なお、図10(B)に示す移動体オブジェクトの逃避行動期間は、ターゲットTGからの距離に関連付けて定めてもよい。例えばターゲットTGの位置からより近い移動体オブジェクトMOBJ2の逃避行動が行われる逃避行動期間が、ターゲットTGの位置からより遠い移動体オブジェクトMOBJ1の逃避行動が行われる逃避行動より長くする。こうすることで、ターゲットTGをより近い位置で認識した移動体オブジェクトが、ターゲットTGを警戒して長い逃避行動を続ける様子を表現できる。
【0112】
図10(A)では、移動体オブジェクトMOBJ2がフレーム(f+3)以降でも逃避行動を行うのに対し、移動体オブジェクトMOBJ1がフレーム(f+2)で逃避行動を止めている様子を示している。
【0113】
2.3.3 反応エリアの大きさ
反応エリア設定部110は、移動体オブジェクトの特性又はターゲットの特性に関連付けて、第1及び第2の反応エリアAR1、AR2の各反応エリアの大きさを設定することが望ましい。
【0114】
図11(A)、(B)に、反応エリアの設定例を示す。
【0115】
図11(A)は、第1の反応エリアAR1の範囲を大きくし、第2の反応エリアAR2の範囲を小さくした場合の設定例を示す。ターゲットの大きさ(特性)に関連付けて第1の反応エリアAR1の範囲を大きくすることで、大きいターゲットTGからの移動体オブジェクトの逃避行動を表現できる。また、移動体オブジェクトの臆病さを示すパラメータ(特性)に基づいて移動体オブジェクトが臆病であるほど第1の反応エリアAR1を大きくすることで、ターゲットTGに驚いて遠い距離からでも逃れようとする様子を表現できる。
【0116】
図11(B)は、第1の反応エリアAR1の範囲を小さくし、第2の反応エリアAR2の範囲を大きくした場合の設定例を示す。ターゲットの大きさ(特性)に関連付けて第1の反応エリアAR1の範囲を小さくすることで、小さいターゲットTGからの移動体オブジェクトの逃避行動を表現できる。また、移動体オブジェクトの警戒心を示すパラメータ(特性)に基づいて移動体オブジェクトの警戒心が強いほど第2の反応エリアAR2を大きくすることで、ターゲットTGに対して警戒する動きを表現できる。
【0117】
2.4 その他
本実施形態は、上述したものに限定されるものではない。
【0118】
例えば画像生成システムは、反応エリア設定部110が、オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第1〜第N(Nは、2以上の自然数)の反応エリアAR1〜ARNを設定し、移動体オブジェクト制御部120がオブジェクト空間における移動体オブジェクトを移動制御し、画像生成部130が移動体オブジェクト制御部120によって移動制御された前記移動体オブジェクトの画像を生成する。
【0119】
そして、移動体オブジェクト制御部120が、第1〜第Nの反応エリアAR1〜ARNのうち、オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて、移動体オブジェクトの行動パターンを変化させて移動制御を行ってもよい。ここで、記憶部170のオブジェクト特性記憶部172に、図12(B)に示すような反応エリアに対応して行動パターンを記憶させる。各行動パターンは、例えば上述のパラメータ群により表される。
【0120】
また、反応エリア設定部110が、第1〜第Nの反応エリアAR1〜ARNの少なくとも1つが、移動体オブジェクトの特性又はターゲットの特性に関連付けられた大きさを有する第1〜第Nの反応エリアAR1〜ARNを設定してもよい。
【0121】
この場合、記憶部170のオブジェクト特性記憶部172に、移動体オブジェクトの特性又はターゲットの特性に対応して、各反応エリアの大きさを定めるパラメータが記憶される。
【0122】
以上のようにすることで、行動タイプがESCAPEタイプの移動体オブジェクトの位置が第1及び第2の反応エリアAR1、AR2にないとき、例えば通常の移動行動を行い、ターゲットTGに反応することなく該ターゲットTGに対して無関心な様子の動きを実現できる。
【0123】
そして、移動体オブジェクトの位置が第2の反応エリアAR2に入ると、ターゲットを警戒して、立ち止まったりする移動体オブジェクの動きを表現できる。
【0124】
更に、移動体イオブジェクトの位置が第1の反応エリアAR1に入ると、ターゲットを察知して、危険を強く感じ、急いだ逃避行動を行う動き実現できる。
【0125】
このようなターゲットTGに対する複雑な動きを、少ない処理負荷でよりリアルに表現できる。
【0126】
図13に、移動体オブジェクトの特性情報の一例を示す。
【0127】
図3〜図5に示す虫キャラクタA、虫キャラクタB、虫キャラクタCのいずれかの動きを実現するために、上述のパラメータの内容を変更すればよい。したがって、同じ処理を虫キャラクタの数だけ繰り返すだけでよく、処理の簡素化を実現できる。
【0128】
移動体オブジェクトの行動タイプを定めるパラメータは、行動タイプ「SwarmType」である。第1の反応エリアの範囲は、反応開始距離「Rstat」に相当する。第2の反応エリアの範囲は、反応範囲「Rarea」に相当する。逃避行動の速度を定めるパラメータは、反応感度「Response」である。停止イベント発生率のパラメータは、発生率「Stop」である。停止イベントの発生による停止状態の期間を定めるパラメータは、は停止フレーム係数「SleepFrame」である。
【0129】
また、ターゲットに関する関心度を示すパラメータInterestがある。パラメータInterestは、SEARCHタイプのみが用いるパラメータで、例えばターゲットに対する近付き度合いに対応する値ということができる。
【0130】
図13に示す移動体オブジェクトの特性情報は、記憶部170のオブジェクト特性記憶部172に格納される。処理部100は、オブジェクト特性記憶部172に記憶された移動体オブジェクトの特性情報を読み出して、上述したパラメータに基づく移動制御により群れて行動する移動体オブジェクトの画像を生成する。
【0131】
3. 本実施形態の処理
次に、本実施形態の詳細な処理例について図14及び図15のフローチャートを用いて説明する。
【0132】
まず、処理部100において、移動体オブジェクトを特定するための変数iを0に初期化すると共に、停止イベントの発生による停止状態の期間をカウントするための変数scountを初期化する(ステップS10)。
【0133】
次に、変数iの値が、群れを表現するキャラクタ数より大きいか否かを判別する(ステップS11)。
【0134】
変数iの値がキャラクタ数以上のとき(ステップS11:N)、一連の処理を終了する(エンド)。
【0135】
一方、変数iの値がキャラクタ数より小さいとき(ステップS11:Y)、変数scount[i]の値が0より大きいか否かを判別する(ステップS12)。変数scount[i]の値が0より大きいとき、停止状態であることを示す。
【0136】
そのため、変数scount[i]の値が0以下のとき(ステップS12:N)、当該フレームにおける移動体キャラクタの位置を求める処理を行う。これに対し、変数scount[i]の値が0より大きいとき(ステップS12:Y)、当該フレームにおける移動体キャラクタの位置を求める処理を省略する。
【0137】
変数scount[i]の値が0以下のとき(ステップS12:N)、移動ベクトルrvecを求める(ステップS13)。例えば、移動ベクトルrvecは、ランダム関数を用いて求めたベクトルに、変数iで特定される移動体オブジェクト(当該移動体オブジェクト)の過去のフレームにおける移動ベクトルである過去ベクトルを加算して求めることができる。
【0138】
続いて、当該移動体オブジェクトの行動タイプを判別する(ステップS14)。
【0139】
当該移動体オブジェクトの行動タイプがESCAPEタイプのとき(ステップS14:Y)、反応エリアの処理を行う(ステップS15)。即ち上述のように移動ベクトルの位置が属する反応エリアに応じた逃避行動等の移動制御を行うための処理を行う。
【0140】
そして、当該移動体オブジェクト(キャラクタ)からターゲットTGまでのベクトル(vec1)を求める(ステップS16)。
【0141】
次に、当該移動体オブジェクトのターゲットに対する関心度を考慮したベクトルmvecを求める(ステップS17)。ここでは、ベクトルvec1から、ステップS13で求められたベクトルrvecを減算し、係数(−1.0)を掛け合わせる。この場合、行動タイプがESCAPEタイプであるため、ターゲットの位置から遠ざかる方向のベクトルmvecを求める。
【0142】
ここで、mvec[0]はベクトルmvecのX成分、mvec[1]はベクトルmvecのY成分、mvec[2]はベクトルmvecのZ成分を示す。
【0143】
続いて、ターゲットに対する関心度を考慮したベクトルmvecの長さ(blen)を求めて、ベクトルmvecの長さを修正する(ステップS18)。ここで、変数hcount[i]は、当該移動体オブジェクトが第1の反応エリアAR1に入り、ターゲットTGの位置からの距離に応じた値が設定される変数である。即ち、ステップS18では、ターゲットTGの位置からの距離に応じた値と、反応感度「Response」とに基づく長さになるようにベクトルmvecが修正される。そして、移動体オブジェクト制御部120は、ベクトルmvecを用いて移動体オブジェクトの移動制御を行う。
【0144】
次に、処理部100は、描画位置を求める(ステップS19)。即ち、現在の位置(当該フレームの位置)fvtxに、ベクトルmvecと、ベクトルrvecとを加算した位置を、描画位置vec3として求める。
【0145】
ここで、rvec[0]はベクトルrvecのX成分、rvec[1]はベクトルrvecのY成分、rvec[2]はベクトルrvecのZ成分を示す。fvtx[i][0]は、当該移動体オブジェクトの現在の位置のX成分、fvtx[i][1]は、当該移動体オブジェクトの現在の位置のY成分、fvtx[i][2]は、当該移動体オブジェクトの現在の位置のZ成分を示す。またvec3[0]は当該フレームにおける移動体オブジェクトの位置のX成分、vec3[1]は当該フレームにおける移動体オブジェクトの位置のY成分、vec3[2]は当該フレームにおける移動体オブジェクトの位置のZ成分とする。
【0146】
一方、ステップS14において、当該移動体オブジェクトの行動タイプがSEARCHタイプのとき(ステップS14:N)、当該移動体オブジェクト(キャラクタ)からターゲットTGまでのベクトル(vec1)を求める(ステップS20)。
【0147】
そして、当該移動体オブジェクトのターゲットに対する関心度を考慮したベクトルmvecを求める(ステップS21)。ここでは、ベクトルvec1から、ステップS13で求められたベクトルrvecを減算し、当該移動体オブジェクトのターゲットに関する関心度を示すパラメータ「Interest」を掛け合わせる。これにより、関心度に応じて、ターゲットTGに近付く度合いを異ならせることができる。
【0148】
続いて、処理部100は、描画位置を求める(ステップS22)。即ち、現在の位置(当該フレームの位置)fvtxに、ベクトルmvecと、ベクトルrvecとを加算した位置を、描画位置vec3として求める。
【0149】
またステップS12において、変数scount[i]の値が0より大きいと判別されたとき(ステップS12:Y)、即ち停止状態であると判別されたとき、描画位置を算出する(ステップS23)。より具体的には、描画位置vec3に、現在の位置(当該フレームの位置)fvtxをコピーする。
【0150】
そして、変数scount[i]の値をデクリメントする(ステップS24)。
【0151】
ステップS19、ステップS22、ステップS23のいずれかにより描画位置vec3が求められると、描画位置vec3を用いてオブジェクト空間に当該移動体オブジェクトをマッピングし(ステップS25)、描画処理する(ステップS26)。
【0152】
その後、変数iの値をインクリメントして(ステップS27)、ステップS11に戻り、次の移動体オブジェクトについて同様の処理を繰り返す。
【0153】
3.1 反応エリアの処理
次に、図14に示すステップS15において行われる反応エリアの処理例について、図16〜19を用いて説明する。
【0154】
反応エリアの処理では、まずオブジェクト特性記憶部172に記憶されたオブジェクト特性情報の中から、当該移動体オブジェクトに対して設定されたパラメータ「Rstat」、「Rarea」を読み出す(ステップS40)。
【0155】
次に、キャラクタ(当該移動体オブジェクト)とターゲットとの距離(len)を求める(ステップS41)。
【0156】
そして、求めた距離(len)が、どの反応エリアにあるか否かを判別する(ステップS42、ステップS43)。即ち、まずターゲットからの距離(len)が反応開始距離と反応範囲の和(Rstat+Rarea)より大きいか否かを判別する(ステップS42)。ターゲットからの距離(len)が反応開始距離と反応範囲の和(Rstat+Rarea)より大きいと判別されたとき(ステップS42:Y)、当該移動体オブジェクトの位置が第1及び第2の反応エリアAR1、AR2の外にあるものと判断し、反応エリア外の処理を行い(ステップS44)、反応エリアの処理を終了する(エンド)。反応エリア外の処理例は後述する。
【0157】
一方、ターゲットからの距離(len)が反応開始距離と反応範囲の和(Rstat+Rarea)より大きくないと判別されたとき(ステップS42:N)、ターゲットからの距離(len)が反応開始距離(Rstat)より大きいか否かを判別する(ステップS43)。ターゲットからの距離(len)が反応開始距離(Rstat)より大きいと判別されたとき(ステップS43:Y)、当該移動体オブジェクトの位置が第2の反応エリアAR2内にあるものと判断し、第2の反応エリア内の処理を行い(ステップS45)、反応エリアの処理を終了する(エンド)。第2の反応エリア内の処理例は後述する。
【0158】
またステップS43において、ターゲットからの距離(len)が反応開始距離(Rstat)より大きくないと判別されたとき(ステップS43:N)、当該移動体オブジェクトの位置が第1の反応エリアAR1内にあるものと判断し、第1の反応エリア内の処理を行い(ステップS46)、反応エリアの処理を終了する(エンド)。第1の反応エリア内の処理例は後述する。
【0159】
図17に、反応エリア外の処理例のフローチャートを示す。図17の反応エリア外の処理は、図16に示すステップS44において実行される。
【0160】
まず、イベント処理部122は、当該移動体オブジェクトに対して設定された停止イベントの発生率「Stop」が0であるか否かを判別する(ステップS50)。
【0161】
発生率「Stop」が0ではないとき(ステップS50:N)、変数hcount[i]の値が0であるか否かを判別する(ステップS51)。
【0162】
変数hcount[i]の値が0のとき(ステップS51:Y)、イベント処理部122が、当該移動体オブジェクトの停止イベントの発生率「Stop」の値が、ランダム関数を用いて求められた変数RAND以上であるか否かを判別する(ステップS52)。
【0163】
イベント処理部122は、発生率「Stop」の値が変数RAND以上のとき(ステップS52:Y)、停止イベントを発生させる(ステップS53)。そして、変数scount[i]に、変数RANDと、当該移動体オブジェクトの停止フレーム係数とを掛け合わせた値を設定する。変数scount[i]の値が、停止状態に設定される期間に対応する。ここで設定された変数scount[i]が、図14に示すステップS12で用いられる。
【0164】
一方、ステップS51で、変数hcount[i]の値が0ではないと判別されたとき(ステップS51:N)、変数hcount[i]の値が0より小さいか否かを判別する(ステップS54)。
【0165】
変数hcount[i]の値が0より小さいとき(ステップS54:Y)、変数hcount[i]の値を0に設定する(ステップS55)。また変数hcount[i]の値が0より小さくないとき(ステップS54:N)、変数hcount[i]の値をデクリメントする(ステップS56)。
【0166】
ステップS50で発生率「Stop」が0のとき(ステップS50:Y)、ステップS53、ステップS52で変数RANDが発生率「Stop」の値以下ではないとき(ステップS52:N)、ステップS55、又はステップS56の後は、一連の処理を終了する(エンド)。
【0167】
以上のように、反応エリア外では、通常の移動制御が行われる。
【0168】
図18に、第2の反応エリア内の処理例のフローチャートを示す。図18の第2の反応エリア内の処理は、図16に示すステップS45において実行される。
【0169】
まず、イベント処理部122は、変数valに、図16のステップS41で求めたターゲットからの距離(len)から反応開始距離「Rsat」を減算した値を、反応範囲「Rarea」で割った値を設定する。
【0170】
変数valは、第2の反応エリアAR2の範囲に対する当該移動体オブジェクトの位置の割合を示す。例えば変数valの値が0のときは、当該移動体オブジェクトの位置が第1及び第2の反応エリアAR1、AR2の境界にあることを意味する。また例えば変数valの値が1のとき、当該移動体オブジェクトの位置が第2の反応エリアAR2の外周部の境界にあることを意味する。更に例えば変数valの値が0.5のとき、当該移動体オブジェクトの位置が第2の反応エリアAR2の中間点にあることを意味する。
【0171】
次に変数scount[i]に、変数valとパラメータ「SleepFrame」とを掛け合わせた値を設定する(ステップS62)。これにより、停止イベントの発生による停止期間が、ターゲットからの距離に応じた期間に設定される。そして、次にフレーム以降、変数scount[i]で定められる期間だけ、第2の反応エリアにおける移動体オブジェクトが停止状態に設定される。
【0172】
そして、変数hcount[i]の値が0以下のとき(ステップS62:Y)、変数hcount[i]を0に設定する(ステップS63)。また変数hcount[i]の値が0以下ではないとき(ステップS62:N)、変数hcount[i]の値をデクリメントする(ステップS64)。
【0173】
ステップS63、ステップS64の後は、第2の反応エリア内の処理を終了する(エンド)。
【0174】
図19に、第1の反応エリア内の処理例のフローチャートを示す。図19の第1の反応エリア内の処理は、図16に示すステップS46において実行される。
【0175】
まず、イベント処理部122は、変数hcount[i]の値が0であるか否かを判別する(ステップS70)。変数hcount[i]の値が0であると判別されたとき(ステップS70:Y)、変数hcount[i]に、変数hcount[i]の値に、図16のステップS41で求めたターゲットからの距離(len)を反応範囲「Rarea」の値で割った値を加算した値を設定する。
【0176】
変数hcount「i」は、ターゲットからの距離に応じて設定される移動量に対応した値である。このように変数hcount「i」の値を設定することにより、第1の反応エリアAR1において、ターゲットからの距離が長ければ長いほどターゲットとは無関心に移動体オブジェクトが移動し、ターゲットからの距離が短ければ短いほどターゲットを警戒して移動量が少なくなる。
【0177】
そして、変数scount[i]を0に設定する(ステップS72)。これにより、停止状態であっても逃避行動に移ることになる。
【0178】
また、変数hcount[i]の値が0ではないとき(ステップS70:N)、変数hcount[i]の値が0より小さいか否かを判別する(ステップS73)。そして、変数hcount[i]の値が0より小さいとき(ステップS73:Y)、変数hcount[i]を0に設定する(ステップS74)。また変数hcount[i]の値が0より小さくないとき(ステップS73:N)、変数hcount[i]の値をデクリメントする(ステップS75)。
【0179】
ステップS72、ステップS74、ステップS75の後は、第1の反応エリア内の処理を終了する(エンド)。
【0180】
なお停止イベントが発生して停止状態に設定された移動体オブジェクトに対して、ターゲットが近付いた場合は、以下のような処理によって停止状態を解除してもよい。
【0181】
図20に、停止状態を解除する処理例を示す。
【0182】
まず、処理部100は、オブジェクト特性記憶部172に記憶されたオブジェクト特性情報の中から、当該移動体オブジェクト(変数iで特定される移動体オブジェクト)に対して設定されたパラメータ「Rstat」、「Rarea」を読み出す(ステップS40)。
【0183】
そして、当該移動体オブジェクトが停止状態に設定されているとき(ステップS81:Y)、行動タイプを判別する(ステップS82)。
【0184】
行動タイプがESCAPEタイプのとき(ステップS82:Y)、キャラクタとターゲットの距離(len)を求める(ステップS83)。
【0185】
そして、ターゲットからの距離(len)が、反応開始距離「Rstat」の値より小さいとき(ステップS84:Y)、停止状態を解除する(ステップS85)。例えば変数scount[i]を0に設定することで、停止状態を解除できる。
【0186】
ステップS85において停止状態を解除したとき、ステップS81において停止状態ではないと判別されたとき(ステップS81:N)、行動タイプがSEARCHタイプであるとき(ステップS82:N)、又はターゲットからの距離(len)が反応開始距離「Rstat」の値より小さくないとき(ステップS84:N)、一連の処理を終了する(エンド)。
【0187】
4.ハードウェア構成
図21に本実施形態を実現できるハードウェア構成の例を示す。
【0188】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【0189】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0190】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0191】
データ伸張プロセッサ906は、圧縮された画像データや音データのデコード(伸長)処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できる。
【0192】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0193】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介して入力される。
【0194】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、メインプロセッサを介さずに、メモリ(RAM,VRAM,ROMやI/O装置間あるいは各種プロセッサ間でのデータ転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする処理を行う。
【0195】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどがある。
【0196】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0197】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0198】
図22(A)に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、操作部1102を操作してゲームを楽しむ。内蔵されるシステムボード1106にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【0199】
図22(B)に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209に格納される。
【0200】
図22(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置1300の情報記憶媒体1306(ハードディスク、磁気テープ装置等)に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【0201】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0202】
例えば、明細書又は図面中の記載において広義な用語として引用された用語は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
【0203】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0204】
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
【0205】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【0206】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】図2(A)、(B)は、行動タイプを説明するための模式図。
【図3】本実施形態の移動体オブジェクトによる群れの画像の一例の図。
【図4】本実施形態の移動体オブジェクトによる群れの画像の他の例の図。
【図5】本実施形態の移動体オブジェクトによる群れの画像の更に別の例の図。
【図6】本実施形態における反応エリアの説明図。
【図7】本実施形態における第2の反応エリアの移動制御の説明図。
【図8】本実施形態における停止イベントの説明図。
【図9】本実施形態における第1の反応エリアの移動制御の説明図。
【図10】図10(A)、(B)は第1の反応エリアに侵入した移動体オブジェクトの移動制御の説明図。
【図11】図11(A)、(B)は反応エリアの設定例を示す図。
【図12】図12(A)、(B)は反応エリアに対応して行動パターンを変化させる場合の説明図。
【図13】移動体オブジェクトの特性情報の一例を示す図。
【図14】本実施形態の処理の一例を示すフローチャート。
【図15】本実施形態の処理の一例を示すフローチャート。
【図16】本実施形態の反応エリアの処理の一例を示すフローチャート。
【図17】本実施形態の反応エリア外の処理の一例を示すフローチャート。
【図18】本実施形態の第2の反応エリア内の処理の一例を示すフローチャート。
【図19】本実施形態の第1の反応エリア内の処理の一例を示すフローチャート。
【図20】本実施形態の停止状態を解除する処理の一例を示すフローチャート。
【図21】ハードウェア構成例を示す図。
【図22】図22(A)、(B)、(C)は種々の形態のシステム例の図。
【符号の説明】
【0207】
100 処理部、110 反応エリア設定部、
120 移動体オブジェクト制御部、122 イベント処理部、
130 画像生成部、140 音生成部、160 操作部、
170 記憶部、172 過去ベクトル記憶部、
172 オブジェクト特性記憶部、174 描画バッファ、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部、
AR1 第1の反応エリア、AR2 第2の反応エリア、
MOBJ1〜MOBJ3 移動体オブジェクト、
MV1〜MV3、MV1X〜MV3X 移動ベクトル、
Rstat 反応開始距離、Rarea 反応範囲、TG ターゲット

【特許請求の範囲】
【請求項1】
画像を生成するための画像生成システムであって、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部と、
を含み、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトに付与された該移動体オブジェクトの行動タイプを判別するためのパラメータに基づいて、前記移動体オブジェクトの行動タイプを判別し、
前記行動タイプが第1のタイプと判別されたとき、前記オブジェクト空間に配置されたターゲットの位置に近付く方向に前記移動体オブジェクトを移動制御し、
前記行動タイプが第2のタイプと判別されたとき、前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトが移動、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量を少なくするように前記移動体オブジェクトを移動制御することを特徴とする画像生成システム。
【請求項2】
画像を生成するための画像生成システムであって、
オブジェクト空間に配置されたターゲットを含む第1の反応エリアを設定すると共に、該第1の反応エリアの外側に第2の反応エリアを設定する反応エリア設定部と、
前記オブジェクト空間における移動体オブジェクトに対し、前記移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御が行われた前記移動体オブジェクトの画像を生成する画像生成部と、
を含み、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第1の反応エリア内にあるとき、前記移動体オブジェクトの位置が前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトを移動制御し、
前記移動体オブジェクトの位置が前記第2の反応エリア内にあるとき、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量が少なくなるように前記移動体オブジェクトを移動制御することを特徴とする画像生成システム。
【請求項3】
請求項2において、
オブジェクト空間を移動する前記第2の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離に応じた発生率で、停止イベントを発生するイベント処理部を含み、
前記移動体オブジェクト制御部が、
前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定することを特徴とする画像生成システム。
【請求項4】
請求項3において、
前記イベント処理部が、
前記第2の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離が短いほど発生率が高く、前記距離が長いほど発生率が低くなるように前記停止イベントを発生することを特徴とする画像生成システム。
【請求項5】
請求項2乃至4のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第1の反応エリア内にあるとき、当該フレームにおける前記移動体オブジェクトの移動方向を、当該フレームで求められた前記移動体オブジェクトの移動方向と反対の方向に移動制御することを特徴とする画像生成システム。
【請求項6】
請求項2乃至5のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第1の反応エリア内に入ったとき、前記移動体オブジェクトが移動して前記第1の反応エリアから出た後も前記ターゲットの位置から遠ざかる方向に移動するように前記移動体オブジェクトの移動制御を行うことを特徴とする画像生成システム。
【請求項7】
請求項6において、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置と前記ターゲットの位置との距離に関連付けられた速さで移動するように前記移動体オブジェクトの移動制御を行うことを特徴とする画像生成システム。
【請求項8】
請求項2乃至7のいずれかにおいて、
前記反応エリア設定部が、
前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさの前記第1又は第2の反応エリアを設定することを特徴とする画像生成システム。
【請求項9】
画像を生成するための画像生成システムであって、
オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第1〜第N(Nは、2以上の自然数)の反応エリアを設定する反応エリア設定部と、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部と、
を含み、
前記移動体オブジェクト制御部が、
前記第1〜第Nの反応エリアのうち、前記オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて前記移動体オブジェクトの行動パターンを変化させて前記移動体オブジェクトの移動制御を行い、
前記反応エリア設定部が、
前記第1〜第Nの反応エリアの少なくとも1つが、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさを有する前記第1〜第Nの反応エリアを設定することを特徴とする画像生成システム。
【請求項10】
画像を生成するためのプログラムであって、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトに付与された該移動体オブジェクトの行動タイプを判別するためのパラメータに基づいて、前記移動体オブジェクトの行動タイプを判別し、
前記行動タイプが第1のタイプと判別されたとき、前記オブジェクト空間に配置されたターゲットの位置に近付く方向に前記移動体オブジェクトを移動制御し、
前記行動タイプが第2のタイプと判別されたとき、前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトが移動、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量を少なくするように前記移動体オブジェクトを移動制御することを特徴とするプログラム。
【請求項11】
画像を生成するためのプログラムであって、
オブジェクト空間に配置されたターゲットを含む第1の反応エリアを設定すると共に、該第1の反応エリアの外側に第2の反応エリアを設定する反応エリア設定部と、
前記オブジェクト空間における移動体オブジェクトに対し、前記移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御が行われた前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第1の反応エリア内にあるとき、前記移動体オブジェクトの位置が前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトを移動制御し、
前記移動体オブジェクトの位置が前記第2の反応エリア内にあるとき、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量が少なくなるように前記移動体オブジェクトを移動制御することを特徴とするプログラム。
【請求項12】
請求項11において、
オブジェクト空間を移動する前記第2の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離に応じた発生率で、停止イベントを発生するイベント処理部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定することを特徴とするプログラム。
【請求項13】
請求項12において、
前記イベント処理部が、
前記第2の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離が短いほど発生率が高く、前記距離が長いほど発生率が低くなるように前記停止イベントを発生することを特徴とするプログラム。
【請求項14】
請求項11乃至13のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第1の反応エリア内にあるとき、当該フレームにおける前記移動体オブジェクトの移動方向を、当該フレームで求められた前記移動体オブジェクトの移動方向と反対の方向に移動制御することを特徴とするプログラム。
【請求項15】
請求項11乃至14のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第1の反応エリア内に入ったとき、前記移動体オブジェクトが移動して前記第1の反応エリアから出た後も前記ターゲットの位置から遠ざかる方向に移動するように前記移動体オブジェクトの移動制御を行うことを特徴とするプログラム。
【請求項16】
請求項15において、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置と前記ターゲットの位置との距離に関連付けられた速さで移動するように前記移動体オブジェクトの移動制御を行うことを特徴とするプログラム。
【請求項17】
請求項11乃至16のいずれかにおいて、
前記反応エリア設定部が、
前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさの前記第1又は第2の反応エリアを設定することを特徴とするプログラム。
【請求項18】
画像を生成するためのプログラムであって、
オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第1〜第N(Nは、2以上の自然数)の反応エリアを設定する反応エリア設定部と、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記第1〜第Nの反応エリアのうち、前記オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて前記移動体オブジェクトの行動パターンを変化させて前記移動体オブジェクトの移動制御を行い、
前記反応エリア設定部が、
前記第1〜第Nの反応エリアの少なくとも1つが、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさを有する前記第1〜第Nの反応エリアを設定することを特徴とするプログラム。
【請求項19】
コンピュータ読み取り可能な情報記憶媒体であって、請求項10乃至18のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2009−247555(P2009−247555A)
【公開日】平成21年10月29日(2009.10.29)
【国際特許分類】
【出願番号】特願2008−98474(P2008−98474)
【出願日】平成20年4月4日(2008.4.4)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】