(57)【要約】【課題】少ない処理負荷で、群れをなす移動体オブジェクトの逃避行動をリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供する。【解決手段】オブジェクト空間に配置されたターゲットＴＧを含む第１の反応エリアＡＲ１と、第１の反応エリアＡＲ１の外側に第２の反応エリアＡＲ２とを設定する反応エリア設定部１１０と、移動体オブジェクトに対し移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部１２０と、移動制御が行われた移動体オブジェクトの画像を生成する画像生成部１３０とを含む。移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第１の反応エリアＡＲ１内にあるときターゲットＴＧの位置から遠ざかる方向に、第２の反応エリアＡＲ２内にあるとき移動体オブジェクトが停止又はその移動量が少なくなるように移動体オブジェクトを移動制御する。【選択図】図６
2009247555.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するための画像生成システムであって、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部と、
を含み、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトに付与された該移動体オブジェクトの行動タイプを判別するためのパラメータに基づいて、前記移動体オブジェクトの行動タイプを判別し、
前記行動タイプが第１のタイプと判別されたとき、前記オブジェクト空間に配置されたターゲットの位置に近付く方向に前記移動体オブジェクトを移動制御し、
前記行動タイプが第２のタイプと判別されたとき、前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトが移動、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量を少なくするように前記移動体オブジェクトを移動制御することを特徴とする画像生成システム。
【請求項２】
画像を生成するための画像生成システムであって、
オブジェクト空間に配置されたターゲットを含む第１の反応エリアを設定すると共に、該第１の反応エリアの外側に第２の反応エリアを設定する反応エリア設定部と、
前記オブジェクト空間における移動体オブジェクトに対し、前記移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御が行われた前記移動体オブジェクトの画像を生成する画像生成部と、
を含み、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第１の反応エリア内にあるとき、前記移動体オブジェクトの位置が前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトを移動制御し、
前記移動体オブジェクトの位置が前記第２の反応エリア内にあるとき、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量が少なくなるように前記移動体オブジェクトを移動制御することを特徴とする画像生成システム。
【請求項３】
請求項２において、
オブジェクト空間を移動する前記第２の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離に応じた発生率で、停止イベントを発生するイベント処理部を含み、
前記移動体オブジェクト制御部が、
前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定することを特徴とする画像生成システム。
【請求項４】
請求項３において、
前記イベント処理部が、
前記第２の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離が短いほど発生率が高く、前記距離が長いほど発生率が低くなるように前記停止イベントを発生することを特徴とする画像生成システム。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第１の反応エリア内にあるとき、当該フレームにおける前記移動体オブジェクトの移動方向を、当該フレームで求められた前記移動体オブジェクトの移動方向と反対の方向に移動制御することを特徴とする画像生成システム。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第１の反応エリア内に入ったとき、前記移動体オブジェクトが移動して前記第１の反応エリアから出た後も前記ターゲットの位置から遠ざかる方向に移動するように前記移動体オブジェクトの移動制御を行うことを特徴とする画像生成システム。
【請求項７】
請求項６において、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置と前記ターゲットの位置との距離に関連付けられた速さで移動するように前記移動体オブジェクトの移動制御を行うことを特徴とする画像生成システム。
【請求項８】
請求項２乃至７のいずれかにおいて、
前記反応エリア設定部が、
前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさの前記第１又は第２の反応エリアを設定することを特徴とする画像生成システム。
【請求項９】
画像を生成するための画像生成システムであって、
オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第１〜第Ｎ（Ｎは、２以上の自然数）の反応エリアを設定する反応エリア設定部と、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部と、
を含み、
前記移動体オブジェクト制御部が、
前記第１〜第Ｎの反応エリアのうち、前記オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて前記移動体オブジェクトの行動パターンを変化させて前記移動体オブジェクトの移動制御を行い、
前記反応エリア設定部が、
前記第１〜第Ｎの反応エリアの少なくとも１つが、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさを有する前記第１〜第Ｎの反応エリアを設定することを特徴とする画像生成システム。
【請求項１０】
画像を生成するためのプログラムであって、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトに付与された該移動体オブジェクトの行動タイプを判別するためのパラメータに基づいて、前記移動体オブジェクトの行動タイプを判別し、
前記行動タイプが第１のタイプと判別されたとき、前記オブジェクト空間に配置されたターゲットの位置に近付く方向に前記移動体オブジェクトを移動制御し、
前記行動タイプが第２のタイプと判別されたとき、前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトが移動、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量を少なくするように前記移動体オブジェクトを移動制御することを特徴とするプログラム。
【請求項１１】
画像を生成するためのプログラムであって、
オブジェクト空間に配置されたターゲットを含む第１の反応エリアを設定すると共に、該第１の反応エリアの外側に第２の反応エリアを設定する反応エリア設定部と、
前記オブジェクト空間における移動体オブジェクトに対し、前記移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御が行われた前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第１の反応エリア内にあるとき、前記移動体オブジェクトの位置が前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトを移動制御し、
前記移動体オブジェクトの位置が前記第２の反応エリア内にあるとき、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量が少なくなるように前記移動体オブジェクトを移動制御することを特徴とするプログラム。
【請求項１２】
請求項１１において、
オブジェクト空間を移動する前記第２の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離に応じた発生率で、停止イベントを発生するイベント処理部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定することを特徴とするプログラム。
【請求項１３】
請求項１２において、
前記イベント処理部が、
前記第２の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離が短いほど発生率が高く、前記距離が長いほど発生率が低くなるように前記停止イベントを発生することを特徴とするプログラム。
【請求項１４】
請求項１１乃至１３のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第１の反応エリア内にあるとき、当該フレームにおける前記移動体オブジェクトの移動方向を、当該フレームで求められた前記移動体オブジェクトの移動方向と反対の方向に移動制御することを特徴とするプログラム。
【請求項１５】
請求項１１乃至１４のいずれかにおいて、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置が前記第１の反応エリア内に入ったとき、前記移動体オブジェクトが移動して前記第１の反応エリアから出た後も前記ターゲットの位置から遠ざかる方向に移動するように前記移動体オブジェクトの移動制御を行うことを特徴とするプログラム。
【請求項１６】
請求項１５において、
前記移動体オブジェクト制御部が、
前記移動体オブジェクトの位置と前記ターゲットの位置との距離に関連付けられた速さで移動するように前記移動体オブジェクトの移動制御を行うことを特徴とするプログラム。
【請求項１７】
請求項１１乃至１６のいずれかにおいて、
前記反応エリア設定部が、
前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさの前記第１又は第２の反応エリアを設定することを特徴とするプログラム。
【請求項１８】
画像を生成するためのプログラムであって、
オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第１〜第Ｎ（Ｎは、２以上の自然数）の反応エリアを設定する反応エリア設定部と、
オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、
前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記移動体オブジェクト制御部が、
前記第１〜第Ｎの反応エリアのうち、前記オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて前記移動体オブジェクトの行動パターンを変化させて前記移動体オブジェクトの移動制御を行い、
前記反応エリア設定部が、
前記第１〜第Ｎの反応エリアの少なくとも１つが、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさを有する前記第１〜第Ｎの反応エリアを設定することを特徴とするプログラム。
【請求項１９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１０乃至１８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
画像生成システムの処理速度が向上し、画面上により多くのキャラクタを表示できるようになっている。例えばゲーム画像において、エフェクト効果を表現するために動物や虫などの群れを表現した画像を表示することで、よりリアルさを高めることができる。
【０００３】
ところが、群れを表現する画像の生成にはリアルタイム性が要求されるため、群れを構成する複数のキャラクタをそれぞれ別個に処理すると、他の処理を圧迫してしまう。そのため、より少ない負荷で、リアルな群れを表現する画像を生成できることが望ましい。
【０００４】
例えば特許文献１には、群れの中の１つのキャラクタをリーダーとして決定し、該群れの他のキャラクタをリーダーに追従させることで、処理負荷を軽減する方策が開示されている。
【特許文献１】特開２０００−１７２８６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された方策では、群れ全体の動きを表現できるものの、群れの中のキャラクタの個々の細かい動きを表現することが難しい。群れの中のキャラクタの個々の細かい動きを表現することで、よりリアルな画像を生成できる。そこで、キャラクタに応じて異なる行動パターンを各キャラクタに反映させることが考えられる。
【０００６】
例えば、虫キャラクタ（広義には移動体オブジェクト）等の群れが逃避行動を行う行動パターンを表現する場合、キャラクタごとに逃避行動を指定すると、データ量の増大や処理の複雑化を招く。また、多種多様なキャラクタの動きを実現することが困難となる。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、より少ない処理負荷で、群れをなす移動体オブジェクトの行動をよりリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、画像を生成するための画像生成システムであって、オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部とを含み、前記移動体オブジェクト制御部が、前記移動体オブジェクトに付与された該移動体オブジェクトの行動タイプを判別するためのパラメータに基づいて、前記移動体オブジェクトの行動タイプを判別し、前記行動タイプが第１のタイプと判別されたとき、前記オブジェクト空間に配置されたターゲットの位置に近付く方向に前記移動体オブジェクトを移動制御し、前記行動タイプが第２のタイプと判別されたとき、前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトが移動、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量を少なくするように前記移動体オブジェクトを移動制御する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００９】
本発明においては、オブジェクト空間を移動し、その画像が生成される移動体オブジェクトに、当該移動体オブジェクトの行動タイプを判別するためのパラメータが付与される。そして、移動体オブジェクト制御部が、このパラメータに基づいて行動タイプを判別する。当該移動体オブジェクトが第１のタイプの行動タイプであると判別されたとき、オブジェクト空間に配置されたターゲットの位置に近付く方向に移動制御する。また当該移動体オブジェクトが第２のタイプの行動タイプであると判別されたとき、ターゲットの位置から当該移動体オブジェクトが遠ざかる方向に移動制御し、当該移動体オブジェクトが停止するように移動制御し、又は当該移動体オブジェクトの移動量が少なくなるように移動制御する。
【００１０】
行動タイプが第１のタイプに設定された場合、移動体オブジェクトがターゲットを追いかける動きを表現できる。例えばターゲットの位置に配置された敵キャラクタに対して攻撃を加えるといった表現が可能となる。また、行動タイプが第２のタイプに設定された場合、移動体オブジェクトがターゲットから逃れる動きや、ターゲットに対して警戒心を持つ動きを表現できる。例えばターゲットの位置に配置された敵キャラクタを避けるといった表現が可能となる。
【００１１】
更にまた、上述の行動タイプを判別するパラメータを設け、移動体オブジェクトの移動制御を行うようにしたので、複数の移動体オブジェクトに同種の行動を行わせて群れて動く様子を、より少ない処理負荷でリアルに実現できる。
【００１２】
また本発明は、画像を生成するための画像生成システムであって、オブジェクト空間に配置されたターゲットを含む第１の反応エリアを設定すると共に、該第１の反応エリアの外側に第２の反応エリアを設定する反応エリア設定部と、前記オブジェクト空間における移動体オブジェクトに対し、前記移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う移動体オブジェクト制御部と、前記移動体オブジェクト制御部によって移動制御が行われた前記移動体オブジェクトの画像を生成する画像生成部とを含み、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置が前記第１の反応エリア内にあるとき、前記移動体オブジェクトの位置が前記ターゲットの位置から遠ざかる方向に前記移動体オブジェクトを移動制御し、前記移動体オブジェクトの位置が前記第２の反応エリア内にあるとき、前記移動体オブジェクトが停止又は前記移動体オブジェクトの移動量が少なくなるように前記移動体オブジェクトを移動制御する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１３】
本発明においては、ターゲットを基準として複数の反応エリアが設けられる。第１の反応エリアはターゲットを含む範囲である。第２の反応エリアは第１の反応エリアの外側に設けられる範囲である。そして、移動体オブジェクトの位置が属する反応エリアに応じて、当該移動体オブジェクトの移動制御を異ならせる。第１の反応エリアではターゲットから遠ざかる方向に移動制御され、第２の反応エリアでは移動体オブジェクトが停止又は移動体オブジェクトの移動量が少なくなるように移動制御される。こうすることで、ターゲットにより近付いたときの逃避行動をリアルに表現できる。また、ターゲットからある一定の距離を置いた移動体オブジェクトの動きに、ターゲットを意識した警戒感を持たせることができ、移動体オブジェクトの動きをリアルに表現できる。
【００１４】
また、複数の移動体オブジェクトに同種の行動を行わせ、群れて上述の動き行う様子を、より少ない処理負荷でリアルに実現できる。
【００１５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、オブジェクト空間を移動する前記第２の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離に応じた発生率で、停止イベントを発生するイベント処理部を含み、前記移動体オブジェクト制御部が、前記停止イベントが発生したとき、前記移動体オブジェクトを所与のフレーム数の間、前記移動体オブジェクトの位置を固定する停止状態に設定することができる。
【００１６】
本発明によれば、移動体オブジェクトの位置が第２の反応エリア内にあるとき、ターゲットの位置からの距離に応じて移動体オブジェクトの停止イベントの発生率を変化させることで、該移動体オブジェクトの立ち止まりやすさを変化させてターゲットを警戒して動く様子をリアルに表現できるようになる。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記イベント処理部が、前記第２の反応エリア内における移動体オブジェクトの位置と前記ターゲットの位置との距離が短いほど発生率が高く、前記距離が長いほど発生率が低くなるように前記停止イベントを発生することができる。
【００１８】
本発明によれば、ターゲットの位置から離れれば離れるほど停止状態に設定される移動体オブジェクトが少なくなり、警戒感が薄らいで通常の行動を行う移動体オブジェクトの動きを実現できるようになる。
【００１９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置が前記第１の反応エリア内にあるとき、当該フレームにおける前記移動体オブジェクトの移動方向を、当該フレームで求められた前記移動体オブジェクトの移動方向と反対の方向に移動制御することができる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置が前記第１の反応エリア内に入ったとき、前記移動体オブジェクトが移動して前記第１の反応エリアから出た後も前記ターゲットの位置から遠ざかる方向に移動するように前記移動体オブジェクトの移動制御を行うことができる。
【００２１】
本発明によれば、移動体オブジェクトの位置が第１の反応エリア内にあるとき、移動体オブジェクトがターゲットから逃避する動きを、少ない処理負荷で表現できるようになる。また、その逃避行動をリアルに表現できる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクト制御部が、前記移動体オブジェクトの位置と前記ターゲットの位置との距離に関連付けられた速さで移動するように前記移動体オブジェクトの移動制御を行うことができる。
【００２３】
本発明によれば、例えばターゲットに近いほど、ターゲットから逃避する速度を速くすることで、ターゲットに驚いて逃避する移動体オブジェクトの動きを表現できるようになる。
【００２４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記反応エリア設定部が、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさの前記第１又は第２の反応エリアを設定することができる。
【００２５】
本発明によれば、移動体オブジェクトやターゲットに応じて反応エリアを設定するようにしたので、移動体オブジェクトの逃避行動をよりリアルに表現できるようになる。
【００２６】
また本発明は、画像を生成するための画像生成システムであって、オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第１〜第Ｎ（Ｎは、２以上の自然数）の反応エリアを設定する反応エリア設定部と、オブジェクト空間における移動体オブジェクトを移動制御する移動体オブジェクト制御部と、前記移動体オブジェクト制御部によって移動制御された前記移動体オブジェクトの画像を生成する画像生成部とを含み、前記移動体オブジェクト制御部が、前記第１〜第Ｎの反応エリアのうち、前記オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて前記移動体オブジェクトの行動パターンを変化させて前記移動体オブジェクトの移動制御を行い、前記反応エリア設定部が、前記第１〜第Ｎの反応エリアの少なくとも１つが、前記移動体オブジェクトの特性又は前記ターゲットの特性に関連付けられた大きさを有する前記第１〜第Ｎの反応エリアを設定する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００２７】
本発明によれば、移動体オブジェクトの動きを、少ない処理負荷でリアルに表現できる。
【発明を実施するための最良の形態】
【００２８】
以下、本実施形態について説明する。
【００２９】
なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００３０】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図１の構成要素（各部）を全て含む必要はなく、その一部（例えば操作部１６０、携帯型情報記憶装置１９４又は通信部１９６等）を省略した構成としてもよい。
【００３１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサ、タッチパネル型ディスプレイ、或いは筺体などのハードウェアにより実現できる。
【００３２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶（記録、格納）される。
【００３４】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３５】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００３６】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００３７】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。ここで処理部１００が行うゲーム処理としては、ゲーム開始条件（コースやマップやキャラクタや参加プレーヤ人数の選択等）が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。また処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００４０】
処理部１００は、反応エリア設定部１１０、移動体オブジェクト制御部１２０、イベント処理部１２２、画像生成部１３０、音生成部１４０を含む。なおこれらの一部を省略してもよい。
【００４１】
反応エリア設定部１１０は、ターゲットと１又は複数の移動体オブジェクトとが配置されるオブジェクト空間に反応エリアを設定する。移動体オブジェクトは、オブジェクト空間内でその位置を変えて配置される。ターゲットは、移動体オブジェクトの行動パターンを決めるために、オブジェクト空間内に仮想的に配置される。反応エリアは、このターゲットに対し、移動体オブジェクトが種々の逃避行動の制御を行うためにオブジェクト空間内に仮想的に設定されるエリアである。
【００４２】
より具体的には、反応エリア設定部１１０は、オブジェクト空間に配置されたターゲットを含む第１の反応エリアを設定すると共に、該第１の反応エリアの外側に第２の反応エリア、該第２の反応エリアの外側に第３の反応エリア、・・・、第（Ｎ−１）（Ｎは２以上の自然数）の反応エリアの外側に第Ｎの反応エリアを設定する。即ち反応エリア設定部１１０は、オブジェクト空間に配置されたターゲットから距離に応じて第１〜第Ｎの反応エリアを設定する。
【００４３】
移動体オブジェクト制御部１２０は、オブジェクト空間における移動体オブジェクトの移動制御を行う。より具体的には、移動体オブジェクト制御部１２０は、移動体オブジェクトの移動情報（移動ベクトル、位置情報、方向情報、速度情報或いは加速度情報）を求める処理を行う。移動体オブジェクトの移動制御は、オブジェクト空間における当該移動体オブジェクトの位置を変化させる制御又は停止させる制御である。移動体オブジェクト制御部１２０は、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、このような移動制御に必要な情報を求め、移動体オブジェクトをオブジェクト空間内で移動（停止）させる処理を行う。
【００４４】
また移動体オブジェクト制御部１２０は、オブジェクト空間における移動体オブジェクトに対し、移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う。例えば移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第１の反応エリアにあるとき第１の行動パターンに従った移動制御を行い、該移動体オブジェクトの位置が第２の反応エリアにあるとき第１の行動パターンとは異なる第２の行動パターンに従った移動制御を行う。
【００４５】
なお、移動体オブジェクト制御部１２０は、オブジェクト空間内に設定した複数の移動体オブジェクトを、以下に述べるパラメータにより同種の行動パターンを行わせることができる。これにより、群れて行動する様子を、データ量を増加させず、かつ簡素な処理で表現できる。
【００４６】
移動体オブジェクト制御部１２０は、求めた移動制御に必要な情報に基づき、移動体オブジェクトの位置や回転角度（方向）を例えば１フレーム（１／６０秒等）毎に変化させる。例えば（ｋ−１）フレームでの移動体オブジェクトの位置（Ｘ、Ｙ又はＺ座標）、回転角度（Ｘ、Ｙ又はＺ軸回りの回転角度）をＰk-1、θk-1とし、移動体オブジェクトの１フレームでの位置変化量（速度）、回転変化量（回転角度）をΔＰ、Δθとする。すると、ｋフレームでの移動体オブジェクトの位置Ｐk、回転角度θkは例えば下式（１）、（２）のように求められる。
【００４７】
Ｐk＝Ｐk-1＋ΔＰ          （１）
θk＝θk-1＋Δθ          （２）
なお移動体オブジェクト制御部１２０で行われる処理は、上式（１）、（２）の処理に限定されず、（１）、（２）式と均等な処理でもよい。
【００４８】
イベント処理部１２２は、オブジェクト空間を移動する移動体オブジェクトの停止イベントを発生する。より具体的にはイベント処理部１２２は、オブジェクト空間を移動する移動体オブジェクトの位置が属する反応エリアに応じた発生率で停止イベントを発生する。更に具体的には、当該反応エリア内において、移動体オブジェクトの位置とターゲットの位置との距離に応じた発生率で停止イベントを発生する。また、停止イベントの発生率は、当該移動体オブジェクトに付与された特性により決められることが望ましい。この場合、停止イベントの発生率は、当該反応エリア内における移動体オブジェクトの位置とターゲットの位置との距離に応じた発生率と、当該移動体オブジェクトに付与された特性により決められる係数とを掛け合わせることで求められる。
【００４９】
イベント処理部１２２によって停止イベントが発生すると、移動体オブジェクト制御部１２０は、移動体オブジェクトを所与のフレーム数の間、移動体オブジェクトの位置を固定する停止状態に設定する。ここで停止状態は、例えばオブジェクト空間内における当該移動体オブジェクトの位置が複数フレームにわたって固定される状態である。
【００５０】
画像生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。即ち、移動体オブジェクト制御部１２０の処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。より具体的には、３次元画像を生成する場合には、まず座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理を行って、その処理結果に基づいて、描画データが作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数のプリミティブ面）を、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５１】
音生成部１４０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５３】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５４】
２．  本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００５５】
２．１  パラメータ化
本実施形態では、以下のように各移動体オブジェクトの動きを表現するための要素をパラメータ化する。そして、表現したい移動体オブジェクトの特性に対応したパラメータ設定により、複数の移動体オブジェクトによる群れの動きを実現する。こうすることで、群れの動きをより少ない処理負荷で多様化し、かつよりリアルにすることができる。
【００５６】
２．２  行動タイプ
本実施形態では、複数の移動体オブジェクトにより構成される群れの動きを実現するため、ターゲットがオブジェクト空間内に設定される。そして、各移動体オブジェクトがターゲットに対してどのように行動するかを設定する。これにより、同種の行動を行う複数の移動体オブジェクトが群れて行動する様子を表現する画像を生成できる。
【００５７】
本実施形態では、移動体オブジェクトに対して行動タイプを指定するパラメータを設ける。行動タイプには、ターゲットを見つけるＳＥＡＲＣＨタイプ（広義には第１のタイプ）と、ターゲットから逃げるＥＳＣＡＰＥタイプ（広義には第２のタイプ）とがある。そして、移動体オブジェクト制御部１２０が、各移動体オブジェクトに付与されたパラメータのうち行動タイプのパラメータに基づいて、当該移動体オブジェクトがＳＥＡＲＣＨタイプであるか、ＥＳＣＡＰＥタイプであるかを判別する。
【００５８】
図２（Ａ）、（Ｂ）に、行動タイプを説明するための図を示す。図２（Ａ）は、ＳＥＡＲＣＨタイプの移動体オブジェクトの行動パターンを模式的に示す。図２（Ｂ）は、ＥＳＣＡＰＥタイプの移動体オブジェクトの行動パターンを模式的に示す。
【００５９】
ＳＥＡＲＣＨタイプの移動体オブジェクトは、オブジェクト空間において、ターゲットの位置に近付く方向に移動するように制御される。ここで近付く方向とは、当該移動体オブジェクトの位置と、ターゲットの位置との距離が短くなる方向をいう。より具体的には、行動タイプがＳＥＡＲＣＨタイプに設定された移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ３は、例えば各移動体オブジェクトからターゲットＴＧに向かう移動ベクトルＭＶ１〜ＭＶ３を用いて移動する。図２（Ａ）では、移動ベクトルＭＶ１〜ＭＶ３が、移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ３のそれぞれからターゲットＴＧに向かう方向となっているが、本実施形態はこれに限定されるものではなく、移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ３がターゲットＴＧに近付けばよい。
【００６０】
このようなＳＥＡＲＣＨタイプの複数の移動体オブジェクトにより、例えばターゲットの位置に配置された敵キャラクタに対して群れで攻撃を加えるといった表現が可能となる。
【００６１】
ＥＳＣＡＰＥタイプの移動体オブジェクトは、オブジェクト空間において、ターゲットの位置から遠ざかる方向に当該移動体オブジェクトが移動、当該移動体オブジェクトが停止又は当該移動体オブジェクトの移動量を少なくするように制御される。ここで遠ざかる方向とは、当該移動体オブジェクトの位置と、ターゲットの位置との距離が長くなる方向をいう。また移動量を少なくするというのは、より具体的には１フレーム内の移動量を少なくすることをいう。更に具体的には、速度を遅くすることをいう。
【００６２】
行動タイプがＥＳＣＡＰＥタイプに設定された移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ４は、例えば各移動体オブジェクトからターゲットＴＧへの方向とは反対の方向の移動ベクトルＭＶ１〜ＭＶ４を用いて移動する。図２（Ｂ）では、移動ベクトルＭＶ１〜ＭＶ３が、ターゲットＴＧから移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ４のそれぞれに向かう方向となっているが、本実施形態はこれに限定されるものではなく、移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ３がターゲットＴＧから遠ざかればよい。
【００６３】
このようなＥＳＣＡＰＥタイプの複数の移動体オブジェクトにより、例えばターゲットの位置に配置されたキャラクタを避ける群れを表現できる。
【００６４】
なお、操作部１６０からの操作データやプログラムに基づいて、オブジェクト空間内のターゲットＴＧの位置を変化させることで、ターゲットＴＧを常に追いかける群れや、ターゲットＴＧを避けたり、或いは逃げ回る複数の移動体オブジェクトによる群れを表現できる。
【００６５】
ここで、各移動体オブジェクトに、例えば虫キャラクタＡ、虫キャラクタＢ、虫キャラクタＣの３種類の虫の特性を付与した場合の群れの動きを表現することを考える。
【００６６】
図３に、各移動体オブジェクトに虫キャラクタＡの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
【００６７】
虫キャラクタＡは、例えば海辺の岩等の上で群れをなして動くフナムシの動きを実現する。この虫キャラクタＡ（フナムシ）の動きを表現するため、各移動体オブジェクトの行動タイプをＥＳＣＡＰＥタイプに設定する。そして、図３に示すようにオブジェクト空間に設定され起伏に富んだ地形マップＧＭＡＰ上に、ターゲットＴＧと複数の移動体オブジェクトを配置する。
【００６８】
この場合、ターゲットＴＧの位置に近付かない群れを表現できる。例えば、ターゲットＴＧの位置を中心に所定のエリア内でのみ、ターゲットＴＧから移動体オブジェクトが遠ざかるようにすれば、図３に示すように所定のエリア内に近付かない群れの動きを表現できる。
【００６９】
図４に、各移動体オブジェクトに虫キャラクタＢの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
【００７０】
虫キャラクタＢは、例えば群れをなさず、素早い動きで四方八方を動き回るゴキブリの動きを実現する。この虫キャラクタＢ（ゴキブリ）の動きを表現するため、各移動体オブジェクトの行動タイプをＥＳＣＡＰＥタイプに設定する。そして、図４に示すようにオブジェクト空間に設定され起伏に富んだ地形マップＧＭＡＰ上に、ターゲットＴＧと複数の移動体オブジェクトを配置する。
【００７１】
ただし、図３に示す虫キャラクタＡ（フナムシ）を表現する場合と異なるのは、後述する各種パラメータを変更することで、同じＥＳＣＡＰＥタイプであっても、異なる動きをリアルに表現できる。
【００７２】
この場合、ターゲットＴＧの位置に近付かない群れを表現できるが、素早い動きで、統制されることなく、あちこち動き回る群れの動きを表現できる。
【００７３】
図５に、各移動体オブジェクトに虫キャラクタＣの特性を付与した複数の移動体オブジェクトによる群れの画像の一例を示す。
【００７４】
虫キャラクタＣは、例えば嗜好物に猪突猛進的に素早い動きで近付くスカラベの動きを実現する。この虫キャラクタＣ（スカラベ）の動きを表現するため、各移動体オブジェクトの行動タイプをＳＥＡＲＣＨタイプに設定する。そして、図５に示すようにオブジェクト空間に設定され起伏に富んだ地形マップＧＭＡＰ上に、ターゲットＴＧと複数の移動体オブジェクトを配置する。
【００７５】
この場合、ターゲットＴＧの位置に近付く群れを表現できる。例えば、ターゲットＴＧの位置を動かせば、ターゲットＴＧを追跡する群れの動きを表現できる。
【００７６】
次に、各移動体オブジェクトの動きをよりリアルに表現するための各種パラメータについて説明する。
【００７７】
２．３  反応エリアの設定
反応エリアは、オブジェクト空間に配置されるターゲットＴＧに関連付けて設定される。以下に述べる反応エリアを設定することで、ターゲットＴＧの位置がオブジェクト空間を移動する場合、行動タイプがＥＳＣＡＰＥタイプに設定された移動体オブジェクトが、ターゲットＴＧに反応してターゲットＴＧから逃れようとする逃避行動をリアルに表現できるようになる。
【００７８】
図６に、本実施形態における反応エリアを説明するための図を示す。
【００７９】
反応エリア設定部１１０は、オブジェクト空間に配置されたターゲットＴＧを含む第１の反応エリアＡＲ１と、該第１の反応エリアの外側に第２の反応エリアＡＲ２を設定する。図６では、Ｎが２の場合の設定例を示しているが、Ｎが３以上であっても同様である。
【００８０】
第１の反応エリアＡＲ１は、ターゲットＴＧの位置を中心に半径が反応開始距離Ｒｓｔａｔの円内の範囲である。第２の反応エリアＡＲ２は、ターゲットＴＧの位置を中心に半径が反応開始距離と反応範囲との和（Ｒｓｔａｔ＋Ｒａｒｅａ）の円内の範囲のうち、第１の反応エリアＡＲ１を除く範囲である。
【００８１】
本実施形態では、第１及び第２の反応エリアＡＲ１、ＡＲ２をターゲットＴＧを基準とした円内の範囲又は該円の外側のリング状の範囲としているが、その形状に限定されるものではない。
【００８２】
移動体オブジェクト制御部１２０は、オブジェクト空間における移動体オブジェクトに対し、当該移動体オブジェクトの位置が属する反応エリアに応じた移動制御を行う。
【００８３】
より具体的には、移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第１の反応エリアＡＲ１内にあるとき、当該移動体オブジェクトの位置がターゲットＴＧの位置から遠ざかる方向に当該移動体オブジェクトを移動制御する。図６では、当該フレームにおいて移動ベクトルＭＶ１の方向及び長さが求められ、当該フレームにおいて移動体オブジェクトＭＯＢＪ１に対し、移動ベクトルＭＶ１で特定される位置に移動制御されるものとする。移動制御前の移動体オブジェクトＭＯＢＪ１の位置は第１の反応エリアＡＲ１内にあるため、移動体オブジェクト制御部１２０は、移動体オブジェクトＭＯＢＪ１の位置がターゲットの位置ＴＧから遠ざかる方向に移動させるように、移動体オブジェクトＭＯＢＪ１の移動ベクトルＭＶ１を補正した移動ベクトルＭＶ１Ｘを求める。移動ベクトルＭＶ１Ｘは、例えば移動ベクトルＭＶ１の方向と反対の方向のベクトルであってもよい。移動体オブジェクト制御部１２０は、このような移動ベクトルＭＶ１Ｘにより特定される位置に移動体オブジェクトＭＯＢＪ１を移動させる。
【００８４】
また移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第２の反応エリアＡＲ２内にあるとき、移動体オブジェクトが停止又は移動量が少なくなるよう移動体オブジェクトを移動制御する。図６では、当該フレームにおいて移動ベクトルＭＶ２の方向及び長さが求められ、当該フレームにおいて移動体オブジェクトＭＯＢＪ２に対して、移動ベクトルＭＶ２で特定される位置に移動制御されるものとする。移動制御前の移動体オブジェクトＭＯＢＪ２の位置は第２の反応エリアＡＲ２内にあるため、移動体オブジェクト制御部１２０は、移動体オブジェクトＭＯＢＪ２が停止又は移動量が少なくなるように、移動体オブジェクトＭＯＢＪ２の移動ベクトルＭＶ２を補正した移動ベクトルＭＶ２Ｘを求める。移動ベクトルＭＶ２Ｘは、例えば零ベクトルであってもよいし、移動ベクトルＭＶ２に係数ｒ（０＜ｒ＜１）を掛けたベクトルであってもよい。移動体オブジェクト制御部１２０は、このような移動ベクトルＭＶ２Ｘにより特定される位置に移動体オブジェクトＭＯＢＪ２を移動させる。
【００８５】
更に移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第１及び第２の反応エリアＡＲ１、ＡＲ２にないとき（該位置が第２の反応エリアＡＲ２の外にあるとき）、当該フレームで求められた移動ベクトルに従って移動制御を行う。図６では、当該フレームにおいて移動ベクトルＭＶ３の方向及び長さが求められ、当該フレームにおいて移動体オブジェクトＭＯＢＪ３に対して、移動ベクトルＭＶ３で特定される位置に移動制御されるものとする。移動制御前の移動体オブジェクトＭＯＢＪ３の位置は第１及び第２の反応エリアＡＲ１、ＡＲ２にはないため、移動体オブジェクト制御部１２０は、移動体オブジェクトＭＯＢＪ３は、移動ベクトルＭＶ３により特定される位置に移動体オブジェクトＭＯＢＪ３を移動させる。
【００８６】
次に、第１及び第２の反応エリアでの具体的な移動制御について説明する。
【００８７】
２．３．１  第２の反応エリア
図７に、第２の反応エリアにおける移動制御を説明するための図を示す。図７では、第１及び第２の反応エリアＡＲ１、ＡＲ２を４分割した１つの四分円を示す。
【００８８】
イベント処理部１２２によって発生する停止イベントの発生率は、第２の反応エリアＡＲ２内における移動体オブジェクトの位置とターゲットＴＧの位置との距離に応じて決められる。このように、移動体オブジェクトの位置が第２の反応エリアＡＲ２内にあるとき、ターゲットＴＧの位置からの距離に応じて移動体オブジェクトの停止イベントの発生率を変化させることで、該移動体オブジェクトの立ち止まりやすさを変化させてターゲットＴＧを警戒して動く様子をリアルに表現できる。
【００８９】
特に、第２の反応エリア内における移動体オブジェクトの位置とターゲットＴＧの位置との距離が短いほど発生率が高く、該距離が長いほど発生率が低くなるように停止イベントを発生させることが望ましい。この場合、ターゲットの位置から離れれば離れるほど停止状態に設定される移動体オブジェクトが少なくなり、警戒感が薄らいで通常の行動を行う移動体オブジェクトの動きを実現できる。
【００９０】
図７において、第２の反応エリアＡＲ２内の移動体オブジェクトＭＯＢＪ１〜ＭＯＢＪ４の各移動体オブジェクトとターゲットＴＧとの距離をそれぞれｒ１〜ｒ４とし、０＜ｒ１＜ｒ２＜ｒ３＜ｒ４とする。この場合、移動体オブジェクトＭＯＢＪ１の停止イベントの発生率が最も高くなり、かつ移動体オブジェクトＭＯＢＪ４の停止イベントの発生率が最も低くなる。移動体オブジェクトの停止イベントの発生率が高ければ高いほど、当該フレームの次のフレームにおいて、移動体オブジェクト制御部１２０が、当該移動体オブジェクトを停止状態に設定する確率が高くなる。
【００９１】
図８に、停止イベントを説明するための模式的な図を示す。
【００９２】
イベント処理部１２２が発生する停止イベントが、ｋ（ｋは自然数）フレームで発生した場合、移動体オブジェクト制御部１２０が、例えば次の（ｋ＋１）フレームから、所与の停止期間（フレーム数）だけ、当該移動体オブジェクトのオブジェクト空間における位置を固定する停止状態に設定する。
【００９３】
図８では、ｍ（ｍは２以上の整数）フレームの間、当該移動体オブジェクトの位置が固定される。なおこの停止期間は、移動体オブジェクトの特性に関連付けられた期間内でランダムに求められた期間、或いは所定の期間に、移動体オブジェクトの特性に関連付けられた係数を掛け合わせて求められた期間とすることができる。
【００９４】
このように停止イベントを発生させて、画像生成部１３０が、オブジェクト空間内の所与の視点での移動体オブジェクトの画像を生成することで、警戒感をもった移動体オブジェクトの動きを表現できる。
【００９５】
そして、停止イベントを移動体オブジェクトの特性に応じて発生させることで、おもむろに止まっている、何か別の目標物（嗜好物）を発見した、或いは警戒しながら移動するといった動きを表現できる。
【００９６】
例えば、虫キャラクタＡ（フナムシ）の停止イベントの発生率を大きくすることで、警戒感をもった動きを実現できる。虫キャラクタＢ（ゴキブリ）の停止イベントの発生率を、虫キャラクタＡ（フナムシ）の停止イベントの発生率より小さくすることで、虫キャラクタＢ（ゴキブリ）の警戒感のない動きを実現できる。また、同様に虫キャラクタＣ（スカラベ）の停止イベントの発生率を小さくすることで、虫キャラクタＣ（スカラベ）の警戒感のない動きを実現できる。
【００９７】
２．３．２  第１の反応エリア
図９に、第１の反応エリアにおける移動制御を説明するための図を示す。図９では、第１の反応エリアＡＲ１を４分割した１つの四分円を示す。
【００９８】
移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第１の反応エリアＡＲ１内にあるとき、当該フレームにおける移動体オブジェクトの移動方向を、当該フレームで求められた移動体オブジェクトの移動方向と反対の方向に移動するように制御する。
【００９９】
図９において、第１の反応エリアＡＲ１内の移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２の当該フレームにおいて、移動ベクトルＭＶ１、ＭＶ２が求められたものとする。移動ベクトルＭＶ１、ＭＶ２の各移動ベクトルの向きは、図９に示す方向である。
【０１００】
このとき、移動体オブジェクト制御部１２０は、第１の反応エリアＡＲ１内の移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２の移動ベクトルＭＶ１、ＭＶ２を補正した移動ベクトルＭＶ１Ｘ、ＭＶ２Ｘを求め、移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２を移動ベクトルＭＶ１Ｘ、ＭＶＸ２に従って移動制御を行う。即ち移動体オブジェクト制御部１２０は、第１の反応エリアＡＲ１内の移動体オブジェクトに対しては、当該フレームにおいて求められた移動ベクトルＭＶ１、ＭＶ２ではなく、移動ベクトルＭＶ１、ＭＶ２を補正した移動ベクトルＭＶ１Ｘ、ＭＶ２Ｘを用いて当該移動体オブジェクトの移動制御を行う。移動ベクトルＭＶ１Ｘは、移動ベクトルＭＶ１と反対の方向のベクトルである。移動ベクトルＭＶ２Ｘは、移動ベクトルＭＶ２と反対の方向のベクトルである。
【０１０１】
これにより、第１の反応エリアＡＲ１内の移動体オブジェクトがターゲットＴＧを察知して、危険を強く感じ、急いだ逃避行動を行う様子を表現できる。
【０１０２】
このとき、移動体オブジェクト制御部１２０は、移動体オブジェクトの位置が第１の反応エリア内に入ったとき、当該移動体オブジェクトが移動して前記第１の反応エリアから出た後もターゲットＴＧの位置から遠ざかる方向に移動するように移動体オブジェクトの移動制御を行うことが望ましい。
【０１０３】
図１０（Ａ）、（Ｂ）に、第１の反応エリアに侵入した移動体オブジェクトの移動制御の説明図を示す。
【０１０４】
図１０（Ａ）において、移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２とターゲットＴＧとの距離をそれぞれｒ１、ｒ２とし、０＜ｒ２＜ｒ１とする。当該フレームのフレーム番号をｆとして、各フレームにおける移動体オブジェクトにフレーム番号を付している。例えばフレーム（ｆ＋１）における移動体オブジェクトＭＯＢＪ１には、ＭＯＢＪ１−（ｆ＋１）と付す。移動ベクトルも同様に、フレーム番号を付す。
【０１０５】
移動体オブジェクト制御部１２０は、当該フレーム（フレーム番号ｆ）において、第１の反応エリアＡＲ１内に入った移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２を、上述のように移動ベクトルＭＶ１、ＭＶ２を補正した移動ベクトルＭＶ１Ｘ、ＭＶ２Ｘに従って移動制御する。そして、移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２移動して第１の反応エリアＡＲ１から出た後も、ターゲットＴＧの位置から遠ざかる方向に移動するように移動制御する。
【０１０６】
そして、移動体オブジェクトの位置とターゲットＴＧの位置との距離に関連付けられた期間、移動体オブジェクトが移動して第１の反応エリアから出た後もターゲットの位置から遠ざかる方向に移動するように移動体オブジェクトの移動制御が行われることが望ましい。
【０１０７】
図１０（Ｂ）に示すように、フレームｆで第１の反応エリアＡＲ１内に移動体オブジェクトＭＯＢＪ１、ＭＯＢＪ２が侵入したものとする。この場合、フレーム（ｆ＋１）以降で、上述のように移動体オブジェクトが移動して第１の反応エリアから出た後もターゲットＴＧの位置から遠ざかる方向に移動する逃避行動の移動制御が行われる。
【０１０８】
また移動体オブジェクト制御部１２０が、移動体オブジェクトの位置とターゲットＴＧの位置との距離に関連付けられた速さで移動するように移動体オブジェクトの移動制御を行うことが望ましい。
【０１０９】
例えばターゲットＴＧからの距離が近い移動体オブジェクトＭＯＢＪ２の移動ベクトルＭＶ２を補正した移動ベクトルＭＶ２Ｘの長さを変更するための移動係数が、ターゲットＴＧからの距離がより遠い移動体オブジェクトＭＯＢＪ１の移動ベクトルＭＶ１を補正した移動ベクトルＭＶ１Ｘの長さを変更するための移動係数より大きくすることができる。この場合、図９に示すように、ターゲットＴＧに近いほど、ターゲットから逃避する速度を速くすることができ、ターゲットＴＧに驚いて逃避する移動体オブジェクトの動きを表現できる。
【０１１０】
一方、例えばターゲットＴＧからの距離が近い移動体オブジェクトＭＯＢＪ２の移動ベクトルＭＶ２を補正した移動ベクトルＭＶ２Ｘの長さを変更するための移動係数が、ターゲットＴＧからの距離がより遠い移動体オブジェクトＭＯＢＪ１の移動ベクトルＭＶ１を補正した移動ベクトルＭＶ１Ｘの長さを変更するための移動係数より小さくしてもよい。この場合、ターゲットＴＧに近いほど移動体オブジェクトはターゲットＴＧを意識して動きを弱める表現でき、かつターゲットＴＧに遠い移動体オブジェクトほどターゲットＴＧを無視した動きを表現できる。
【０１１１】
なお、図１０（Ｂ）に示す移動体オブジェクトの逃避行動期間は、ターゲットＴＧからの距離に関連付けて定めてもよい。例えばターゲットＴＧの位置からより近い移動体オブジェクトＭＯＢＪ２の逃避行動が行われる逃避行動期間が、ターゲットＴＧの位置からより遠い移動体オブジェクトＭＯＢＪ１の逃避行動が行われる逃避行動より長くする。こうすることで、ターゲットＴＧをより近い位置で認識した移動体オブジェクトが、ターゲットＴＧを警戒して長い逃避行動を続ける様子を表現できる。
【０１１２】
図１０（Ａ）では、移動体オブジェクトＭＯＢＪ２がフレーム（ｆ＋３）以降でも逃避行動を行うのに対し、移動体オブジェクトＭＯＢＪ１がフレーム（ｆ＋２）で逃避行動を止めている様子を示している。
【０１１３】
２．３．３  反応エリアの大きさ
反応エリア設定部１１０は、移動体オブジェクトの特性又はターゲットの特性に関連付けて、第１及び第２の反応エリアＡＲ１、ＡＲ２の各反応エリアの大きさを設定することが望ましい。
【０１１４】
図１１（Ａ）、（Ｂ）に、反応エリアの設定例を示す。
【０１１５】
図１１（Ａ）は、第１の反応エリアＡＲ１の範囲を大きくし、第２の反応エリアＡＲ２の範囲を小さくした場合の設定例を示す。ターゲットの大きさ（特性）に関連付けて第１の反応エリアＡＲ１の範囲を大きくすることで、大きいターゲットＴＧからの移動体オブジェクトの逃避行動を表現できる。また、移動体オブジェクトの臆病さを示すパラメータ（特性）に基づいて移動体オブジェクトが臆病であるほど第１の反応エリアＡＲ１を大きくすることで、ターゲットＴＧに驚いて遠い距離からでも逃れようとする様子を表現できる。
【０１１６】
図１１（Ｂ）は、第１の反応エリアＡＲ１の範囲を小さくし、第２の反応エリアＡＲ２の範囲を大きくした場合の設定例を示す。ターゲットの大きさ（特性）に関連付けて第１の反応エリアＡＲ１の範囲を小さくすることで、小さいターゲットＴＧからの移動体オブジェクトの逃避行動を表現できる。また、移動体オブジェクトの警戒心を示すパラメータ（特性）に基づいて移動体オブジェクトの警戒心が強いほど第２の反応エリアＡＲ２を大きくすることで、ターゲットＴＧに対して警戒する動きを表現できる。
【０１１７】
２．４  その他
本実施形態は、上述したものに限定されるものではない。
【０１１８】
例えば画像生成システムは、反応エリア設定部１１０が、オブジェクト空間に配置されたターゲットに対し、前記ターゲットからの距離に応じて第１〜第Ｎ（Ｎは、２以上の自然数）の反応エリアＡＲ１〜ＡＲＮを設定し、移動体オブジェクト制御部１２０がオブジェクト空間における移動体オブジェクトを移動制御し、画像生成部１３０が移動体オブジェクト制御部１２０によって移動制御された前記移動体オブジェクトの画像を生成する。
【０１１９】
そして、移動体オブジェクト制御部１２０が、第１〜第Ｎの反応エリアＡＲ１〜ＡＲＮのうち、オブジェクト空間における移動体オブジェクトが存在する反応エリアに関連付けて、移動体オブジェクトの行動パターンを変化させて移動制御を行ってもよい。ここで、記憶部１７０のオブジェクト特性記憶部１７２に、図１２（Ｂ）に示すような反応エリアに対応して行動パターンを記憶させる。各行動パターンは、例えば上述のパラメータ群により表される。
【０１２０】
また、反応エリア設定部１１０が、第１〜第Ｎの反応エリアＡＲ１〜ＡＲＮの少なくとも１つが、移動体オブジェクトの特性又はターゲットの特性に関連付けられた大きさを有する第１〜第Ｎの反応エリアＡＲ１〜ＡＲＮを設定してもよい。
【０１２１】
この場合、記憶部１７０のオブジェクト特性記憶部１７２に、移動体オブジェクトの特性又はターゲットの特性に対応して、各反応エリアの大きさを定めるパラメータが記憶される。
【０１２２】
以上のようにすることで、行動タイプがＥＳＣＡＰＥタイプの移動体オブジェクトの位置が第１及び第２の反応エリアＡＲ１、ＡＲ２にないとき、例えば通常の移動行動を行い、ターゲットＴＧに反応することなく該ターゲットＴＧに対して無関心な様子の動きを実現できる。
【０１２３】
そして、移動体オブジェクトの位置が第２の反応エリアＡＲ２に入ると、ターゲットを警戒して、立ち止まったりする移動体オブジェクの動きを表現できる。
【０１２４】
更に、移動体イオブジェクトの位置が第１の反応エリアＡＲ１に入ると、ターゲットを察知して、危険を強く感じ、急いだ逃避行動を行う動き実現できる。
【０１２５】
このようなターゲットＴＧに対する複雑な動きを、少ない処理負荷でよりリアルに表現できる。
【０１２６】
図１３に、移動体オブジェクトの特性情報の一例を示す。
【０１２７】
図３〜図５に示す虫キャラクタＡ、虫キャラクタＢ、虫キャラクタＣのいずれかの動きを実現するために、上述のパラメータの内容を変更すればよい。したがって、同じ処理を虫キャラクタの数だけ繰り返すだけでよく、処理の簡素化を実現できる。
【０１２８】
移動体オブジェクトの行動タイプを定めるパラメータは、行動タイプ「ＳｗａｒｍＴｙｐｅ」である。第１の反応エリアの範囲は、反応開始距離「Ｒｓｔａｔ」に相当する。第２の反応エリアの範囲は、反応範囲「Ｒａｒｅａ」に相当する。逃避行動の速度を定めるパラメータは、反応感度「Ｒｅｓｐｏｎｓｅ」である。停止イベント発生率のパラメータは、発生率「Ｓｔｏｐ」である。停止イベントの発生による停止状態の期間を定めるパラメータは、は停止フレーム係数「ＳｌｅｅｐＦｒａｍｅ」である。
【０１２９】
また、ターゲットに関する関心度を示すパラメータＩｎｔｅｒｅｓｔがある。パラメータＩｎｔｅｒｅｓｔは、ＳＥＡＲＣＨタイプのみが用いるパラメータで、例えばターゲットに対する近付き度合いに対応する値ということができる。
【０１３０】
図１３に示す移動体オブジェクトの特性情報は、記憶部１７０のオブジェクト特性記憶部１７２に格納される。処理部１００は、オブジェクト特性記憶部１７２に記憶された移動体オブジェクトの特性情報を読み出して、上述したパラメータに基づく移動制御により群れて行動する移動体オブジェクトの画像を生成する。
【０１３１】
３．  本実施形態の処理
次に、本実施形態の詳細な処理例について図１４及び図１５のフローチャートを用いて説明する。
【０１３２】
まず、処理部１００において、移動体オブジェクトを特定するための変数ｉを０に初期化すると共に、停止イベントの発生による停止状態の期間をカウントするための変数ｓｃｏｕｎｔを初期化する（ステップＳ１０）。
【０１３３】
次に、変数ｉの値が、群れを表現するキャラクタ数より大きいか否かを判別する（ステップＳ１１）。
【０１３４】
変数ｉの値がキャラクタ数以上のとき（ステップＳ１１：Ｎ）、一連の処理を終了する（エンド）。
【０１３５】
一方、変数ｉの値がキャラクタ数より小さいとき（ステップＳ１１：Ｙ）、変数ｓｃｏｕｎｔ［ｉ］の値が０より大きいか否かを判別する（ステップＳ１２）。変数ｓｃｏｕｎｔ［ｉ］の値が０より大きいとき、停止状態であることを示す。
【０１３６】
そのため、変数ｓｃｏｕｎｔ［ｉ］の値が０以下のとき（ステップＳ１２：Ｎ）、当該フレームにおける移動体キャラクタの位置を求める処理を行う。これに対し、変数ｓｃｏｕｎｔ［ｉ］の値が０より大きいとき（ステップＳ１２：Ｙ）、当該フレームにおける移動体キャラクタの位置を求める処理を省略する。
【０１３７】
変数ｓｃｏｕｎｔ［ｉ］の値が０以下のとき（ステップＳ１２：Ｎ）、移動ベクトルｒｖｅｃを求める（ステップＳ１３）。例えば、移動ベクトルｒｖｅｃは、ランダム関数を用いて求めたベクトルに、変数ｉで特定される移動体オブジェクト（当該移動体オブジェクト）の過去のフレームにおける移動ベクトルである過去ベクトルを加算して求めることができる。
【０１３８】
続いて、当該移動体オブジェクトの行動タイプを判別する（ステップＳ１４）。
【０１３９】
当該移動体オブジェクトの行動タイプがＥＳＣＡＰＥタイプのとき（ステップＳ１４：Ｙ）、反応エリアの処理を行う（ステップＳ１５）。即ち上述のように移動ベクトルの位置が属する反応エリアに応じた逃避行動等の移動制御を行うための処理を行う。
【０１４０】
そして、当該移動体オブジェクト（キャラクタ）からターゲットＴＧまでのベクトル（ｖｅｃ１）を求める（ステップＳ１６）。
【０１４１】
次に、当該移動体オブジェクトのターゲットに対する関心度を考慮したベクトルｍｖｅｃを求める（ステップＳ１７）。ここでは、ベクトルｖｅｃ１から、ステップＳ１３で求められたベクトルｒｖｅｃを減算し、係数（−１．０）を掛け合わせる。この場合、行動タイプがＥＳＣＡＰＥタイプであるため、ターゲットの位置から遠ざかる方向のベクトルｍｖｅｃを求める。
【０１４２】
ここで、ｍｖｅｃ［０］はベクトルｍｖｅｃのＸ成分、ｍｖｅｃ［１］はベクトルｍｖｅｃのＹ成分、ｍｖｅｃ［２］はベクトルｍｖｅｃのＺ成分を示す。
【０１４３】
続いて、ターゲットに対する関心度を考慮したベクトルｍｖｅｃの長さ（ｂｌｅｎ）を求めて、ベクトルｍｖｅｃの長さを修正する（ステップＳ１８）。ここで、変数ｈｃｏｕｎｔ［ｉ］は、当該移動体オブジェクトが第１の反応エリアＡＲ１に入り、ターゲットＴＧの位置からの距離に応じた値が設定される変数である。即ち、ステップＳ１８では、ターゲットＴＧの位置からの距離に応じた値と、反応感度「Ｒｅｓｐｏｎｓｅ」とに基づく長さになるようにベクトルｍｖｅｃが修正される。そして、移動体オブジェクト制御部１２０は、ベクトルｍｖｅｃを用いて移動体オブジェクトの移動制御を行う。
【０１４４】
次に、処理部１００は、描画位置を求める（ステップＳ１９）。即ち、現在の位置（当該フレームの位置）ｆｖｔｘに、ベクトルｍｖｅｃと、ベクトルｒｖｅｃとを加算した位置を、描画位置ｖｅｃ３として求める。
【０１４５】
ここで、ｒｖｅｃ［０］はベクトルｒｖｅｃのＸ成分、ｒｖｅｃ［１］はベクトルｒｖｅｃのＹ成分、ｒｖｅｃ［２］はベクトルｒｖｅｃのＺ成分を示す。ｆｖｔｘ［ｉ］［０］は、当該移動体オブジェクトの現在の位置のＸ成分、ｆｖｔｘ［ｉ］［１］は、当該移動体オブジェクトの現在の位置のＹ成分、ｆｖｔｘ［ｉ］［２］は、当該移動体オブジェクトの現在の位置のＺ成分を示す。またｖｅｃ３［０］は当該フレームにおける移動体オブジェクトの位置のＸ成分、ｖｅｃ３［１］は当該フレームにおける移動体オブジェクトの位置のＹ成分、ｖｅｃ３［２］は当該フレームにおける移動体オブジェクトの位置のＺ成分とする。
【０１４６】
一方、ステップＳ１４において、当該移動体オブジェクトの行動タイプがＳＥＡＲＣＨタイプのとき（ステップＳ１４：Ｎ）、当該移動体オブジェクト（キャラクタ）からターゲットＴＧまでのベクトル（ｖｅｃ１）を求める（ステップＳ２０）。
【０１４７】
そして、当該移動体オブジェクトのターゲットに対する関心度を考慮したベクトルｍｖｅｃを求める（ステップＳ２１）。ここでは、ベクトルｖｅｃ１から、ステップＳ１３で求められたベクトルｒｖｅｃを減算し、当該移動体オブジェクトのターゲットに関する関心度を示すパラメータ「Ｉｎｔｅｒｅｓｔ」を掛け合わせる。これにより、関心度に応じて、ターゲットＴＧに近付く度合いを異ならせることができる。
【０１４８】
続いて、処理部１００は、描画位置を求める（ステップＳ２２）。即ち、現在の位置（当該フレームの位置）ｆｖｔｘに、ベクトルｍｖｅｃと、ベクトルｒｖｅｃとを加算した位置を、描画位置ｖｅｃ３として求める。
【０１４９】
またステップＳ１２において、変数ｓｃｏｕｎｔ［ｉ］の値が０より大きいと判別されたとき（ステップＳ１２：Ｙ）、即ち停止状態であると判別されたとき、描画位置を算出する（ステップＳ２３）。より具体的には、描画位置ｖｅｃ３に、現在の位置（当該フレームの位置）ｆｖｔｘをコピーする。
【０１５０】
そして、変数ｓｃｏｕｎｔ［ｉ］の値をデクリメントする（ステップＳ２４）。
【０１５１】
ステップＳ１９、ステップＳ２２、ステップＳ２３のいずれかにより描画位置ｖｅｃ３が求められると、描画位置ｖｅｃ３を用いてオブジェクト空間に当該移動体オブジェクトをマッピングし（ステップＳ２５）、描画処理する（ステップＳ２６）。
【０１５２】
その後、変数ｉの値をインクリメントして（ステップＳ２７）、ステップＳ１１に戻り、次の移動体オブジェクトについて同様の処理を繰り返す。
【０１５３】
３．１  反応エリアの処理
次に、図１４に示すステップＳ１５において行われる反応エリアの処理例について、図１６〜１９を用いて説明する。
【０１５４】
反応エリアの処理では、まずオブジェクト特性記憶部１７２に記憶されたオブジェクト特性情報の中から、当該移動体オブジェクトに対して設定されたパラメータ「Ｒｓｔａｔ」、「Ｒａｒｅａ」を読み出す（ステップＳ４０）。
【０１５５】
次に、キャラクタ（当該移動体オブジェクト）とターゲットとの距離（ｌｅｎ）を求める（ステップＳ４１）。
【０１５６】
そして、求めた距離（ｌｅｎ）が、どの反応エリアにあるか否かを判別する（ステップＳ４２、ステップＳ４３）。即ち、まずターゲットからの距離（ｌｅｎ）が反応開始距離と反応範囲の和（Ｒｓｔａｔ＋Ｒａｒｅａ）より大きいか否かを判別する（ステップＳ４２）。ターゲットからの距離（ｌｅｎ）が反応開始距離と反応範囲の和（Ｒｓｔａｔ＋Ｒａｒｅａ）より大きいと判別されたとき（ステップＳ４２：Ｙ）、当該移動体オブジェクトの位置が第１及び第２の反応エリアＡＲ１、ＡＲ２の外にあるものと判断し、反応エリア外の処理を行い（ステップＳ４４）、反応エリアの処理を終了する（エンド）。反応エリア外の処理例は後述する。
【０１５７】
一方、ターゲットからの距離（ｌｅｎ）が反応開始距離と反応範囲の和（Ｒｓｔａｔ＋Ｒａｒｅａ）より大きくないと判別されたとき（ステップＳ４２：Ｎ）、ターゲットからの距離（ｌｅｎ）が反応開始距離（Ｒｓｔａｔ）より大きいか否かを判別する（ステップＳ４３）。ターゲットからの距離（ｌｅｎ）が反応開始距離（Ｒｓｔａｔ）より大きいと判別されたとき（ステップＳ４３：Ｙ）、当該移動体オブジェクトの位置が第２の反応エリアＡＲ２内にあるものと判断し、第２の反応エリア内の処理を行い（ステップＳ４５）、反応エリアの処理を終了する（エンド）。第２の反応エリア内の処理例は後述する。
【０１５８】
またステップＳ４３において、ターゲットからの距離（ｌｅｎ）が反応開始距離（Ｒｓｔａｔ）より大きくないと判別されたとき（ステップＳ４３：Ｎ）、当該移動体オブジェクトの位置が第１の反応エリアＡＲ１内にあるものと判断し、第１の反応エリア内の処理を行い（ステップＳ４６）、反応エリアの処理を終了する（エンド）。第１の反応エリア内の処理例は後述する。
【０１５９】
図１７に、反応エリア外の処理例のフローチャートを示す。図１７の反応エリア外の処理は、図１６に示すステップＳ４４において実行される。
【０１６０】
まず、イベント処理部１２２は、当該移動体オブジェクトに対して設定された停止イベントの発生率「Ｓｔｏｐ」が０であるか否かを判別する（ステップＳ５０）。
【０１６１】
発生率「Ｓｔｏｐ」が０ではないとき（ステップＳ５０：Ｎ）、変数ｈｃｏｕｎｔ［ｉ］の値が０であるか否かを判別する（ステップＳ５１）。
【０１６２】
変数ｈｃｏｕｎｔ［ｉ］の値が０のとき（ステップＳ５１：Ｙ）、イベント処理部１２２が、当該移動体オブジェクトの停止イベントの発生率「Ｓｔｏｐ」の値が、ランダム関数を用いて求められた変数ＲＡＮＤ以上であるか否かを判別する（ステップＳ５２）。
【０１６３】
イベント処理部１２２は、発生率「Ｓｔｏｐ」の値が変数ＲＡＮＤ以上のとき（ステップＳ５２：Ｙ）、停止イベントを発生させる（ステップＳ５３）。そして、変数ｓｃｏｕｎｔ［ｉ］に、変数ＲＡＮＤと、当該移動体オブジェクトの停止フレーム係数とを掛け合わせた値を設定する。変数ｓｃｏｕｎｔ［ｉ］の値が、停止状態に設定される期間に対応する。ここで設定された変数ｓｃｏｕｎｔ［ｉ］が、図１４に示すステップＳ１２で用いられる。
【０１６４】
一方、ステップＳ５１で、変数ｈｃｏｕｎｔ［ｉ］の値が０ではないと判別されたとき（ステップＳ５１：Ｎ）、変数ｈｃｏｕｎｔ［ｉ］の値が０より小さいか否かを判別する（ステップＳ５４）。
【０１６５】
変数ｈｃｏｕｎｔ［ｉ］の値が０より小さいとき（ステップＳ５４：Ｙ）、変数ｈｃｏｕｎｔ［ｉ］の値を０に設定する（ステップＳ５５）。また変数ｈｃｏｕｎｔ［ｉ］の値が０より小さくないとき（ステップＳ５４：Ｎ）、変数ｈｃｏｕｎｔ［ｉ］の値をデクリメントする（ステップＳ５６）。
【０１６６】
ステップＳ５０で発生率「Ｓｔｏｐ」が０のとき（ステップＳ５０：Ｙ）、ステップＳ５３、ステップＳ５２で変数ＲＡＮＤが発生率「Ｓｔｏｐ」の値以下ではないとき（ステップＳ５２：Ｎ）、ステップＳ５５、又はステップＳ５６の後は、一連の処理を終了する（エンド）。
【０１６７】
以上のように、反応エリア外では、通常の移動制御が行われる。
【０１６８】
図１８に、第２の反応エリア内の処理例のフローチャートを示す。図１８の第２の反応エリア内の処理は、図１６に示すステップＳ４５において実行される。
【０１６９】
まず、イベント処理部１２２は、変数ｖａｌに、図１６のステップＳ４１で求めたターゲットからの距離（ｌｅｎ）から反応開始距離「Ｒｓａｔ」を減算した値を、反応範囲「Ｒａｒｅａ」で割った値を設定する。
【０１７０】
変数ｖａｌは、第２の反応エリアＡＲ２の範囲に対する当該移動体オブジェクトの位置の割合を示す。例えば変数ｖａｌの値が０のときは、当該移動体オブジェクトの位置が第１及び第２の反応エリアＡＲ１、ＡＲ２の境界にあることを意味する。また例えば変数ｖａｌの値が１のとき、当該移動体オブジェクトの位置が第２の反応エリアＡＲ２の外周部の境界にあることを意味する。更に例えば変数ｖａｌの値が０．５のとき、当該移動体オブジェクトの位置が第２の反応エリアＡＲ２の中間点にあることを意味する。
【０１７１】
次に変数ｓｃｏｕｎｔ［ｉ］に、変数ｖａｌとパラメータ「ＳｌｅｅｐＦｒａｍｅ」とを掛け合わせた値を設定する（ステップＳ６２）。これにより、停止イベントの発生による停止期間が、ターゲットからの距離に応じた期間に設定される。そして、次にフレーム以降、変数ｓｃｏｕｎｔ［ｉ］で定められる期間だけ、第２の反応エリアにおける移動体オブジェクトが停止状態に設定される。
【０１７２】
そして、変数ｈｃｏｕｎｔ［ｉ］の値が０以下のとき（ステップＳ６２：Ｙ）、変数ｈｃｏｕｎｔ［ｉ］を０に設定する（ステップＳ６３）。また変数ｈｃｏｕｎｔ［ｉ］の値が０以下ではないとき（ステップＳ６２：Ｎ）、変数ｈｃｏｕｎｔ［ｉ］の値をデクリメントする（ステップＳ６４）。
【０１７３】
ステップＳ６３、ステップＳ６４の後は、第２の反応エリア内の処理を終了する（エンド）。
【０１７４】
図１９に、第１の反応エリア内の処理例のフローチャートを示す。図１９の第１の反応エリア内の処理は、図１６に示すステップＳ４６において実行される。
【０１７５】
まず、イベント処理部１２２は、変数ｈｃｏｕｎｔ［ｉ］の値が０であるか否かを判別する（ステップＳ７０）。変数ｈｃｏｕｎｔ［ｉ］の値が０であると判別されたとき（ステップＳ７０：Ｙ）、変数ｈｃｏｕｎｔ［ｉ］に、変数ｈｃｏｕｎｔ［ｉ］の値に、図１６のステップＳ４１で求めたターゲットからの距離（ｌｅｎ）を反応範囲「Ｒａｒｅａ」の値で割った値を加算した値を設定する。
【０１７６】
変数ｈｃｏｕｎｔ「ｉ」は、ターゲットからの距離に応じて設定される移動量に対応した値である。このように変数ｈｃｏｕｎｔ「ｉ」の値を設定することにより、第１の反応エリアＡＲ１において、ターゲットからの距離が長ければ長いほどターゲットとは無関心に移動体オブジェクトが移動し、ターゲットからの距離が短ければ短いほどターゲットを警戒して移動量が少なくなる。
【０１７７】
そして、変数ｓｃｏｕｎｔ［ｉ］を０に設定する（ステップＳ７２）。これにより、停止状態であっても逃避行動に移ることになる。
【０１７８】
また、変数ｈｃｏｕｎｔ［ｉ］の値が０ではないとき（ステップＳ７０：Ｎ）、変数ｈｃｏｕｎｔ［ｉ］の値が０より小さいか否かを判別する（ステップＳ７３）。そして、変数ｈｃｏｕｎｔ［ｉ］の値が０より小さいとき（ステップＳ７３：Ｙ）、変数ｈｃｏｕｎｔ［ｉ］を０に設定する（ステップＳ７４）。また変数ｈｃｏｕｎｔ［ｉ］の値が０より小さくないとき（ステップＳ７３：Ｎ）、変数ｈｃｏｕｎｔ［ｉ］の値をデクリメントする（ステップＳ７５）。
【０１７９】
ステップＳ７２、ステップＳ７４、ステップＳ７５の後は、第１の反応エリア内の処理を終了する（エンド）。
【０１８０】
なお停止イベントが発生して停止状態に設定された移動体オブジェクトに対して、ターゲットが近付いた場合は、以下のような処理によって停止状態を解除してもよい。
【０１８１】
図２０に、停止状態を解除する処理例を示す。
【０１８２】
まず、処理部１００は、オブジェクト特性記憶部１７２に記憶されたオブジェクト特性情報の中から、当該移動体オブジェクト（変数ｉで特定される移動体オブジェクト）に対して設定されたパラメータ「Ｒｓｔａｔ」、「Ｒａｒｅａ」を読み出す（ステップＳ４０）。
【０１８３】
そして、当該移動体オブジェクトが停止状態に設定されているとき（ステップＳ８１：Ｙ）、行動タイプを判別する（ステップＳ８２）。
【０１８４】
行動タイプがＥＳＣＡＰＥタイプのとき（ステップＳ８２：Ｙ）、キャラクタとターゲットの距離（ｌｅｎ）を求める（ステップＳ８３）。
【０１８５】
そして、ターゲットからの距離（ｌｅｎ）が、反応開始距離「Ｒｓｔａｔ」の値より小さいとき（ステップＳ８４：Ｙ）、停止状態を解除する（ステップＳ８５）。例えば変数ｓｃｏｕｎｔ［ｉ］を０に設定することで、停止状態を解除できる。
【０１８６】
ステップＳ８５において停止状態を解除したとき、ステップＳ８１において停止状態ではないと判別されたとき（ステップＳ８１：Ｎ）、行動タイプがＳＥＡＲＣＨタイプであるとき（ステップＳ８２：Ｎ）、又はターゲットからの距離（ｌｅｎ）が反応開始距離「Ｒｓｔａｔ」の値より小さくないとき（ステップＳ８４：Ｎ）、一連の処理を終了する（エンド）。
【０１８７】
４．ハードウェア構成
図２１に本実施形態を実現できるハードウェア構成の例を示す。
【０１８８】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１８９】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１９０】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１９１】
データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード（伸長）処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１９２】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１９３】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介して入力される。
【０１９４】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、メインプロセッサを介さずに、メモリ（ＲＡＭ，ＶＲＡＭ，ＲＯＭやＩ／Ｏ装置間あるいは各種プロセッサ間でのデータ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする処理を行う。
【０１９５】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどがある。
【０１９６】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１９７】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１９８】
図２２（Ａ）に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、操作部１１０２を操作してゲームを楽しむ。内蔵されるシステムボード１１０６にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【０１９９】
図２２（Ｂ）に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９に格納される。
【０２００】
図２２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置１３００の情報記憶媒体１３０６（ハードディスク、磁気テープ装置等）に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【０２０１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０２０２】
例えば、明細書又は図面中の記載において広義な用語として引用された用語は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
【０２０３】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０２０４】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）に適用できる。
【０２０５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【０２０６】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）、（Ｂ）は、行動タイプを説明するための模式図。
【図３】本実施形態の移動体オブジェクトによる群れの画像の一例の図。
【図４】本実施形態の移動体オブジェクトによる群れの画像の他の例の図。
【図５】本実施形態の移動体オブジェクトによる群れの画像の更に別の例の図。
【図６】本実施形態における反応エリアの説明図。
【図７】本実施形態における第２の反応エリアの移動制御の説明図。
【図８】本実施形態における停止イベントの説明図。
【図９】本実施形態における第１の反応エリアの移動制御の説明図。
【図１０】図１０（Ａ）、（Ｂ）は第１の反応エリアに侵入した移動体オブジェクトの移動制御の説明図。
【図１１】図１１（Ａ）、（Ｂ）は反応エリアの設定例を示す図。
【図１２】図１２（Ａ）、（Ｂ）は反応エリアに対応して行動パターンを変化させる場合の説明図。
【図１３】移動体オブジェクトの特性情報の一例を示す図。
【図１４】本実施形態の処理の一例を示すフローチャート。
【図１５】本実施形態の処理の一例を示すフローチャート。
【図１６】本実施形態の反応エリアの処理の一例を示すフローチャート。
【図１７】本実施形態の反応エリア外の処理の一例を示すフローチャート。
【図１８】本実施形態の第２の反応エリア内の処理の一例を示すフローチャート。
【図１９】本実施形態の第１の反応エリア内の処理の一例を示すフローチャート。
【図２０】本実施形態の停止状態を解除する処理の一例を示すフローチャート。
【図２１】ハードウェア構成例を示す図。
【図２２】図２２（Ａ）、（Ｂ）、（Ｃ）は種々の形態のシステム例の図。
【符号の説明】
【０２０７】
１００  処理部、１１０  反応エリア設定部、
１２０  移動体オブジェクト制御部、１２２  イベント処理部、
１３０  画像生成部、１４０  音生成部、１６０  操作部、
１７０  記憶部、１７２  過去ベクトル記憶部、
１７２  オブジェクト特性記憶部、１７４  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部、
ＡＲ１  第１の反応エリア、ＡＲ２  第２の反応エリア、
ＭＯＢＪ１〜ＭＯＢＪ３  移動体オブジェクト、
ＭＶ１〜ＭＶ３、ＭＶ１Ｘ〜ＭＶ３Ｘ  移動ベクトル、
Ｒｓｔａｔ  反応開始距離、Ｒａｒｅａ  反応範囲、ＴＧ  ターゲット
【図１】
2009247555.tif 000003
【図２】
2009247555.tif 000004
【図３】
2009247555.tif 000005
【図４】
2009247555.tif 000006
【図５】
2009247555.tif 000007
【図６】
2009247555.tif 000008
【図７】
2009247555.tif 000009
【図８】
2009247555.tif 000010
【図９】
2009247555.tif 000011
【図１０】
2009247555.tif 000012
【図１１】
2009247555.tif 000013
【図１２】
2009247555.tif 000014
【図１３】
2009247555.tif 000015
【図１４】
2009247555.tif 000016
【図１５】
2009247555.tif 000017
【図１６】
2009247555.tif 000018
【図１７】
2009247555.tif 000019
【図１８】
2009247555.tif 000020
【図１９】
2009247555.tif 000021
【図２０】
2009247555.tif 000022
【図２１】
2009247555.tif 000023
【図２２】
2009247555.tif 000024