説明

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

【課題】所与のイベントが発生した場合に所定のオブジェクトを大きく映し出すような仮想カメラ制御を行う場合でも、周囲の状況に応じて、観者が周囲の状況の変化を認識することができる仮想カメラ制御処理を行う。
【解決手段】第1〜第M(2≦M<N)の移動オブジェクト(12、14)が所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部してコンピュータを機能させ、仮想カメラ制御部が、演出条件が満たされた場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を第1〜第Mの移動オブジェクト(12、14)に近づける処理及び仮想カメラの第1〜第Mの移動オブジェクト(12、14)に対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【0002】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【0003】
このような画像生成システムでは、例えば車がクラッシュした等の所与のイベントが発生した場合に、所定のオブジェクトを大きく映し出すような仮想カメラ制御を行う場合がある。このような仮想カメラ制御を行う技術としては、例えば特開平11−207029号公報に開示される従来技術がある。しかしながら、従来の画像生成システムでは、所与のイベントが発生した場合には必ず所定の仮想カメラ制御を所定時間行うようにしていたため、かかる仮想カメラ制御を行っている間は、周囲の状況が画像として表示されない。従って、かかる仮想カメラ制御を行っている間に他のオブジェクトに移動・動作を行わせるなど、周囲の状況を変化させる場合には、観者が周囲の状況を認識できないという問題があった。
【特許文献1】特開平11−207029号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、所与のイベントが発生した場合に所定のオブジェクトを大きく映し出すような仮想カメラ制御を行う場合でも、周囲の状況に応じて、観者が周囲の状況の変化を認識することができる仮想カメラ制御処理を行うプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0005】
(1) 本発明は、画像を生成する画像生成システムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記仮想カメラ制御部が、
前記演出条件が満たされた場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行うことを特徴とする画像生成システムに関係する。
【0006】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0007】
本発明において、第1〜第Nの移動オブジェクトとは、それぞれが1の移動オブジェクトから構成されていてもよいし、少なくとも1つが所定範囲内に配置された複数のオブジェクト群から構成されるようにしてもよい。
【0008】
また、所与のイベントは、プログラムに基づいて自動的に発生するものでもよいし、入力情報に基づいて発生するものでもよい。また、イベントに係る所与の移動及び動作の少なくとも一方とは、入力情報及び所与のプログラムの少なくとも一方に基づき制御されるものとすることができる。また、発生するイベントの種類は、イベントに係る所与の移動・動作を行う第1〜第Mの移動オブジェクトの少なくとも1つにより特定されるものとしてもよい。
【0009】
また、仮想カメラのズームアップ処理とは、仮想カメラの画角を狭くすることにより行ってもよいし、オブジェクト空間に配置されたオブジェクトを投影するスクリーン(仮想スクリーン)と仮想カメラの距離を遠ざけることにより行ってもよい。
【0010】
本発明によれば、所与のイベントが発生した場合には、まず、所与の演出条件が満たされたか否かを判定し、演出条件が満たされた場合に演出用仮想カメラ制御処理を行う。従って、所与のイベントが発生した場合でも、必ずしも演出用仮想カメラ制御処理を行うわけではなく、演出条件が満たされた場合にのみ、第1〜第Mの移動オブジェクトの所与の移動・動作を大きく映し出す画像を生成するようにすることができる。そして、演出条件が満たされない場合には、演出用仮想カメラ制御処理を行わないことにより、第1〜第Mの移動オブジェクト以外の移動オブジェクトの移動・動作など、周囲の状況を観者に認識させることができる。
【0011】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理中に前記演出条件が満たされなくなった場合に、演出用仮想カメラ制御処理を中止するようにしてもよい。
【0012】
本発明によれば、演出条件が満たされて演出用仮想カメラ制御処理を行っている間にも演出条件の判定を継続し、演出用仮想カメラ制御処理中に演出条件が満たされなくなると演出用仮想カメラ制御処理を中止する。従って、演出用仮想カメラ制御処理中に、例えば、第1〜第Mの移動オブジェクト以外の移動オブジェクトの移動・動作により周囲の状況が変化した場合に、演出用仮想カメラ制御処理を中止して周囲の状況を観者に認識させることができる。
【0013】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記仮想カメラ制御部が、
前記イベントが発生した場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記演出条件が満たされなくなった場合に、演出用仮想カメラ制御処理を中止するようにしてもよい。
【0014】
本発明によれば、所与のイベントが発生して演出用仮想カメラ制御処理を行っている間に演出条件の判定を行い、演出用仮想カメラ制御処理中に演出条件が満たされなくなると演出用仮想カメラ制御処理を中止する。従って、演出用仮想カメラ制御処理中に、例えば、第1〜第Mの移動オブジェクト以外の移動オブジェクトの移動・動作により周囲の状況が変化した場合に、演出用仮想カメラ制御処理を中止して周囲の状況を観者に認識させることができる。
【0015】
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記条件判定部が、
前記演出条件として、前記第1〜第Mの移動オブジェクトが当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトの動作対象とならないか否かを判定するようにしてもよい。
【0016】
本発明において、動作対象とならないか否かを判定するとは、イベントに係る所与の動作を行っている第1〜第Mの移動オブジェクトに対して他の移動オブジェクトが、例えば、攻撃、妨害、補助等の動作を行うことができる状態にないか否かを判定することとすることができる。具体的には、例えば、他の移動オブジェクトが第1〜第Mの移動オブジェクトを動作対象として選択していないか否かを判定するようにしてもよいし、他の移動オブジェクトが第1〜第Mの移動オブジェクトに対して、例えば、銃を撃つ動作、所与のオブジェクトを投げる動作を行わないか否かを判定するようにしてもよい。また、第1〜第Mの移動オブジェクトに対して所定の位置関係を有する範囲、距離に、他の移動オブジェクトが存在しないか否かを判定するようにしてもよい。
【0017】
本発明によれば、第1〜第Mの移動オブジェクトが他の移動オブジェクトの動作対象となっている場合には、演出用仮想カメラ制御処理前であれば当該処理を行わないことにより、また、演出用仮想カメラ制御処理中であれば当該処理を中止することにより、観者に周囲の状況を認識させることができる。従って、イベントが発生した場合であって演出用仮想カメラ制御処理を行うのに適切な状態である場合に、第1〜第Mの移動オブジェクトの所与の移動・動作を大きく映し出す画像を生成するとともに、必要に応じて他の移動オブジェクトが第1〜第Mの移動オブジェクトに対して行った移動・動作を、観者に認識させることができる。
【0018】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記条件判定部が、
前記演出条件として、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定するようにしてもよい。
【0019】
本発明において、第1〜第Mの移動オブジェクトの位置とは、例えば、第1〜第Mの移動オブジェクトそれぞれの位置に関連付けて設定された代表点としてもよいし、第1〜第Mの移動オブジェクトのいずれか1つの位置としてもよい。また、第1の領域とは、例えば、第1〜第Mの移動オブジェクトの位置を含む所定の領域としてもよいし、当該位置を含まない所定の領域としてもよい。また、第1の領域は、例えば他の移動オブジェクトの属性データに応じて設定してもよい。
【0020】
また、他の移動オブジェクトとしては、キャラクタや、キャラクタによって投げられた被投てき体、発射された銃の弾丸等、種々のものを設定することができる。
【0021】
本発明によれば、他の移動オブジェクトが第1の領域に存在する場合には、演出用仮想カメラ制御処理前であれば当該処理を行わないことにより、また、演出用仮想カメラ制御処理中であれば当該処理を中止することにより、観者に周囲の状況を認識させることができる。従って、イベントが発生した場合であって演出用仮想カメラ制御処理を行うのに適切な状態である場合に、第1〜第Mの移動オブジェクトの所与の移動・動作を大きく映し出す画像を生成するとともに、必要に応じて他の移動オブジェクトが第1〜第Mの移動オブジェクトに対して行った移動・動作を、観者に認識させることができる。
【0022】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記条件判定部が、
前記演出条件として、前記第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離が第1の距離よりも大きいか否かを判定するようにしてもよい。
【0023】
本発明において、演出判定距離とは、例えば、第1〜第Mの移動オブジェクトそれぞれの位置に関連付けて設定された代表点と、他の移動オブジェクトの位置との距離とすることができる。また、第1の距離は、例えば他の移動オブジェクトの属性データに応じて設定してもよい。
【0024】
また、他の移動オブジェクトとしては、キャラクタや、キャラクタによって投げられた被投てき体、発射された銃の弾丸等、種々のものを設定することができる。
【0025】
本発明によれば、演出判定距離が第1の距離よりも小さい場合には、演出用仮想カメラ制御処理前であれば当該処理を行わないことにより、また、演出用仮想カメラ制御処理中であれば当該処理を中止することにより、観者に周囲の状況を認識させることができる。従って、イベントが発生した場合であって演出用仮想カメラ制御処理を行うのに適切な状態である場合に、第1〜第Mの移動オブジェクトの所与の移動・動作を大きく映し出す画像を生成するとともに、必要に応じて他の移動オブジェクトが第1〜第Mの移動オブジェクトに対して行った移動・動作を、観者に認識させることができる。
【0026】
(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記条件判定部が、
第1〜第Mの移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定する開始条件判定処理と、
前記演出用仮想カメラ制御処理中に、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定されかつ前記第1の領域に内包される第2の領域に、前記他の移動オブジェクトが存在するか否かを判定する中止条件判定処理と、
を行い、
前記仮想カメラ制御部が、
前記第1の領域に前記他の移動オブジェクトが存在しない場合に、前記演出用仮想カメラ制御処理を開始し、
前記第2の領域に前記他の移動オブジェクトが存在する場合に、前記演出用仮想カメラ制御処理を中止するようにしてもよい。
【0027】
本発明において、第2の領域とは、例えば、第1〜第Mの移動オブジェクトの位置を含む所定の領域としてもよいし、当該位置を含まない所定の領域としてもよい。
【0028】
本発明によれば、演出用仮想カメラ制御処理の開始条件と中止条件を異ならせることにより、演出用仮想カメラ制御処理中に他の移動オブジェクトが第1の領域に存在することとなっても演出用仮想カメラ制御処理を中止せず、他の移動オブジェクトが第2の領域に存在すると判定した場合に演出用仮想カメラ制御処理を中止する。
【0029】
従って、開始条件を判定する領域と、中止条件を判定する領域にバッファゾーンを設けることができ、イベント発生時点では他の移動オブジェクトが第1の領域に存在しなかったため演出用仮想カメラ制御処理を開始したが、他の移動オブジェクトの移動・動作により開始直後に他の移動オブジェクトが第1の領域に存在することとなったため、短時間で演出用仮想カメラ制御処理を中止するという事態を防止することができる。
【0030】
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記条件判定部が、
第1〜第Mの移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、前記第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離と、所与の第1の距離との大小を判定する開始条件判定処理と、
前記演出用仮想カメラ制御処理中に、前記演出判定距離と、前記第1の距離よりも小さく設定された第2の距離との大小を判定する中止条件判定処理と、
を行い、
前記仮想カメラ制御部が、
前記演出判定距離が前記第1の距離よりも大きい場合に、前記演出用仮想カメラ制御処理を開始し、
前記演出判定距離が前記第2の距離よりも小さい場合に、前記演出用仮想カメラ制御処理を中止するようにしてもよい。
【0031】
本発明によれば、演出用仮想カメラ制御処理の開始条件と中止条件を異ならせることにより、演出用仮想カメラ制御処理中に演出判定距離が第1の距離よりも小さくなっても演出用仮想カメラ制御処理を中止せず、演出判定距離が第2の距離よりも小さいと判定した場合に演出用仮想カメラ制御処理を中止する。
【0032】
従って、開始条件を判定する領域と中止条件を判定する領域にバッファゾーンを設けることができ、イベント発生時点では演出判定距離が第1の距離よりも大きかったため演出用仮想カメラ制御処理を開始したが、他の移動オブジェクトの移動・動作により開始直後に演出判定距離が第1の距離よりも小さくなったため、短時間で演出用仮想カメラ制御処理を中止するという事態を防止することができる。
【0033】
(9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記移動・動作制御部が、
前記イベントが発生した場合に、前記第1〜第Mの移動オブジェクトの少なくとも1つと関連付けて記憶部に記憶された移動・動作制御情報に基づき、当該第1〜第Mの移動オブジェクトの移動及び動作の少なくとも一方の制御を行うようにしてもよい。
【0034】
本発明において、移動・動作制御情報とは、例えば、発生したイベントの種類、イベントに係る所与の移動・動作を行う移動オブジェクトに関連付けて定義付けておくことができる。
【0035】
本発明によれば、移動オブジェクトに応じた種々の移動・動作を、イベントに係る所与の移動・動作として自動的に行わせることができる。
【0036】
(10)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記仮想カメラ制御部が、
前記第1〜第Mの移動オブジェクトの少なくとも1つと関連付けて記憶部に記憶された演出用仮想カメラ制御情報に基づき、前記演出用仮想カメラ制御処理を行うようにしてもよい。
【0037】
本発明において、演出用仮想カメラ制御情報とは、例えば、発生したイベントの種類、イベントに係る所与の移動・動作を行う移動オブジェクトに関連付けて定義付けておくことができる。
【0038】
本発明によれば、移動オブジェクトに応じた種々の演出用仮想カメラ制御情報により、イベントに係る所与の移動・動作を行う移動オブジェクトを種々の態様で映し出す画像を自動的に生成することができる。
【0039】
(11)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理を中止する場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームバック処理の少なくとも一方を行うようにしてもよい。
【0040】
本発明において、仮想カメラのズームバック処理とは、仮想カメラの画角を拡大することにより行ってもよいし、オブジェクト空間に配置されたオブジェクトを投影するスクリーン(仮想スクリーン)と仮想カメラの距離を近づけることにより行ってもよい。
【0041】
本発明によれば、仮想カメラの位置を第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラのズームバック処理の少なくとも一方を行うことにより、周囲の状況を観者に認識させることができる。
【0042】
(12)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理を中止する場合に、仮想カメラの視野範囲内に前記第1〜第Mの移動オブジェクトと前記他の移動オブジェクトとが入るように、仮想カメラの位置を前記第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームバック処理の少なくとも一方を行うようにしてもよい。
【0043】
本発明によれば、仮想カメラの位置を第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラのズームバック処理の少なくとも一方を行うことにより、他の移動オブジェクトの移動・動作を観者に認識させることができる。
【0044】
(13)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記仮想カメラ制御部が、
入力情報に基づいて、前記演出用仮想カメラ制御処理を中止するようにしてもよい。
【0045】
本発明によれば、観者の意思により演出用仮想カメラ制御処理を中止させることができる。従って、観者の状況判断により周囲の状況を認識させることができる。
【発明を実施するための最良の形態】
【0046】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0047】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0048】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0049】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。例えば、処理部100が取得した情報を一時的に保留記憶する保留記憶部として機能する。
【0050】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0051】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0052】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0053】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0054】
処理部100(プロセッサ)は、操作部160からの操作データ(入力情報)やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0055】
処理部100は、オブジェクト空間設定部110、移動・動作制御部112、仮想カメラ制御部114、ゲーム演算処理部116、判定部118、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0056】
オブジェクト空間設定部110は、キャラクタ、車、戦車、ボール、被投てき体、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。特に、本実施の形態では、第1〜第N(N≧3)の移動オブジェクトをオブジェクト空間に配置設定する処理を行う。
【0057】
移動・動作制御部112は、オブジェクト(キャラクタ、車、ボール、被投てき体等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データ(入力情報)や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。
【0058】
具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0059】
例えば(k−1)フレームでの移動オブジェクトの位置、回転角度をPk−1、θk−1とし、移動オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転速度)を△P、△θとする。するとkフレームでの移動オブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
【0060】
Pk=Pk−1+△P (1)
θk=θk−1+△θ (2)
特に、移動オブジェクトがキャラクタである場合には、キャラクタそれぞれに関連付けてモーションデータ記憶部171に記憶されているモーションデータに基づいてキャラクタのモーションを制御することができる。
【0061】
より具体的には、モーションデータ記憶部171には、キャラクタのスケルトンを構成する各骨(キャラクタを構成するパーツオブジェクト、関節、モーション骨)の位置又は回転角度(親の骨に対する子の骨の3軸周りの回転角度)等を含むモーションデータが記憶されている。移動・動作制御部112は、このモーションデータを読み出し、このモーションデータに基づいてキャラクタのスケルトンを構成する各骨(パーツオブジェクト)を動かすことで(スケルトン形状を変形させることで)、キャラクタのモーション(攻撃動作、防御動作、移動動作等)を制御することができる。
【0062】
特に、本実施の形態では、プレーヤが操作するプレーヤオブジェクトと、プレーヤが操作しない敵オブジェクトとが所定の位置関係(例えば距離が近い)を有する場合に所定の操作を行うと、プレーヤオブジェクトが敵オブジェクトに投げ技(バックドロップや背負い投げ等)をかける動作を行うように形成されている。そして、プレーヤオブジェクトが投げ技をかける動作、敵オブジェクトが投げ技をかけられる動作もモーションデータに基づいて制御することができる。ここで、移動オブジェクトのモーションデータは、各移動オブジェクトに関連付けて定義付けられており、例えば、各移動オブジェクトに異なる投げ技動作を行わせるモーションデータを定義付けて記憶させ、移動オブジェクトごとに異なる投げ技を行うようにしてもよい。
【0063】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、操作部160からの入力情報、移動オブジェクトの位置情報、所与のプログラム(移動・回転アルゴリズム)、各種データ(仮想カメラ制御データ)などに基づいて、仮想カメラの位置(X、Y、Z)、向き(X、Y、Z軸回りでの回転角度)、画角(視野範囲)を制御する処理を行う。
【0064】
ここで、仮想カメラの向きは、仮想カメラが見る点である注視点をオブジェクト空間内に設定し、設定された注視点を向くように仮想カメラの回転角度を制御するようにしてもよい。また、仮想カメラの画角は、画角を拡大、縮小させることにより制御してもよいし、オブジェクトを投影するスクリーンと仮想カメラとの距離を変化させることにより制御してもよい。なお、仮想カメラの画角を狭くする又はスクリーンと仮想カメラの距離を遠ざけることにより対象オブジェクトをズームアップする画像を生成することができ、仮想カメラの画角を広くする又はスクリーンと仮想カメラの距離を近づけることにより対象オブジェクトからズームバックする画像を生成することができる。
【0065】
また、仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置、向き、画角を制御する。この場合には、移動・動作制御部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。
【0066】
また、仮想カメラの位置を、予め決められた位置に移動させる又は予め決められた移動経路で移動させる制御、仮想カメラの向きを予め決められた回転角度で回転させる制御、仮想カメラの画角を予め決められた画角に変化させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)、回転角度、画角、注視点の、変化量、変化率、変化期間(フレーム数)等を特定するための仮想カメラ制御データに基づいて仮想カメラを制御することができる。ここで、仮想カメラ制御データは、記憶部170の仮想カメラデータ記憶部172に複数種類記憶させておくことができ、ゲーム状況に応じて選択されるようにしてもよい。
【0067】
特に、本実施の形態では、入力情報及び移動オブジェクトの位置情報の少なくとも一方に基づき仮想カメラの位置、向き、画角の少なくとも1つの制御を行う通常仮想カメラ制御処理と、第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、仮想カメラデータ記憶部172に記憶された演出用仮想カメラ制御情報に基づき仮想カメラの位置と前記第1〜第Mの移動オブジェクトの位置とを近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理とを行う。
【0068】
ゲーム演算処理部116は、操作部160からの入力信号、所与のプログラムに基づき、ゲームに関する各種の条件設定や所定のゲームの進行等の種々のゲーム処理を行う。例えば、所与のイベントを発生させたり、ゲーム状況に応じて演出条件(演出開始条件、演出中止条件)の設定等を行う。
【0069】
判定部118は、操作部160からの入力信号、所与のプログラムに基づき、ゲームに関する各種の条件が満たされたか否かを判定するための処理を行う。例えば、所与のイベントが発生したか否か、設定された演出条件(演出開始条件、演出中止条件)が満たされたか否かを判定するための処理を行う。
【0070】
ここで、演出条件の判定は、例えば、第1〜第Mの移動オブジェクトが当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトの移動及び動作の少なくとも一方の対象とならないか否かを判定することや、第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域又は第1の領域に内包される第2の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定することや、第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離が第1の距離よりも大きいか否か、第1の距離よりも小さい第2の距離よりも小さいか否かを判定することにより行うことができる。
【0071】
また、判定部118は、一方のキャラクタの攻撃が他方のキャラクタにヒットしたか否かをチェックする処理を行う。即ち、一方のキャラクタが攻撃動作を行った場合に、その一方のキャラクタの手や足などの部位又は武器や、一方のキャラクタが投げた被投てき体等が、他方のキャラクタの体や武器にヒットしたか否かをチェックする。そして、ヒットした場合には、他方のキャラクタは、攻撃を受けたことを示すモーション(ブレークモーション、やられモーション、被ヒットモーション)を行うことになる。
【0072】
また、オブジェクトの形状や、オブジェクトの部位(手、足)、武器、被投てき体などが描く軌道や、所定の領域を簡略化して擬似的に表した疑似ヒットエリア(簡易オブジェクト、ヒットボックス、ヒットボリューム)を用いて、ヒットチェックを行うようにしてもよい。なお、第1の領域又は第2の領域に他の移動オブジェクトが存在しないか否かを判定する場合に、第1の領域又は第2の領域と他の移動オブジェクトがヒットしたか否かを判定することにより行ってもよい。
【0073】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ174(フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0074】
また、描画部120は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【0075】
ここでテクスチャマッピング処理は、テクスチャ記憶部175に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部175からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
【0076】
また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されるZバッファ176(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、描画対象ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ176のZ値を新たなZ値に更新する。
【0077】
またαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、α加算ブレンディング或いはα減算ブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【0078】
Q=(1−α)×R1+α×R2
Q=(1−α)×G1+α×G2
Q=(1−α)×B1+α×B2
一方、加算αブレンディングの場合には下式の処理を行う。
【0079】
Q=R1+α×R2
Q=G1+α×G2
Q=B1+α×B2
ここで、R1、G1、B1は、描画バッファ174に既に描画されている画像(元画像)
のRGB成分であり、R2、G2、B2は、描画バッファ174に描画すべき画像のRGB
成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像のRGB成
分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
【0080】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0081】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0082】
2.本実施形態の手法
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、アクションゲームに本実施形態を適用した場合を主に例にとり説明するが、本実施形態は、アクションゲーム以外にもサッカーゲーム等のスポーツゲームなど、3以上の移動オブジェクトがオブジェクト空間内を移動する種々の画像生成システムにも広く適用できる。
【0083】
2−1:ゲームの概要
本実施の形態のアクションゲームシステムは、図2に示すように、プレーヤオブジェクト12、敵オブジェクト14、他の敵オブジェクト16と、マップ(床)MPとが配置された仮想3次元オブジェクト空間SPを表示部190に表示させる。そして、プレーヤは、表示部190を見ながら、操作部160を用いてプレーヤオブジェクト12の移動・動作を操作して、所与のプログラムにより移動・動作を行う複数の敵である敵オブジェクト14、他の敵オブジェクト16と格闘を行うゲームを楽しむ。
【0084】
図3には、操作部160の一例が示されている。本実施の形態の操作部160は、プレーヤが両手で操作部160の左右を把持し、操作部160に配置された複数の操作子を左右の手の親指、人差し指、中指で操作可能に形成されている。
【0085】
この操作部160の中央下部には、左レバー312、右レバー314が設けられている。これら左レバー312、右レバー314は、レバー部分を全方向に倒すことができ、レバー部分を倒した量と方向の変化量と変化速度をアナログ的に検出可能に形成されている。そして、本実施の形態では、左レバー312を倒した方向に応じて、プレーヤオブジェクト12をマップ(床)MP上で移動させる。また、右レバー314を倒した方向に応じて、オブジェクト空間SPを撮影する仮想カメラの位置、向きをオブジェクト空間SP内で変化させる。従って、本実施の形態のアクションゲームシステムでは、プレーヤオブジェクト12の位置、回転角度と、仮想カメラの位置、向きをアナログ的(連続的に)に操作することができる。
【0086】
また、操作部160の右側中央部には、ON/OFFを検出可能に形成された4つのボタンが設けられており、本実施の形態では、△ボタン316を押下することによりプレーヤオブジェクト12が所与のオブジェクト(例えば槍や金属バット等)を投げる動作を行う。特に、プレーヤオブジェクト12と敵オブジェクト14、16とが所定の位置関係(例えば距離が近い)を有する場合に△ボタン316を押下すると、プレーヤオブジェクト12が敵オブジェクト14、16に投げ技をかける動作を行うように形成されている。また、○ボタン318を押下することにより、プレーヤオブジェクト12がパンチやキック等の打撃動作や、銃を撃つ動作等の攻撃動作を行うように形成されている。
【0087】
2−2:イベント演出用の仮想カメラ制御処理
さて、本実施の形態のアクションゲームシステムでは、初期状態では、プレーヤオブジェクト12に仮想カメラの注視点を設定し、操作部160からの入力情報及びプレーヤオブジェクト12の位置情報に基づき、プレーヤオブジェクト12を追従するように仮想カメラの位置、向きを制御する通常仮想カメラ制御処理を行う。本実施の形態では、例えば図2に示すような画像を生成する。そして、プレーヤオブジェクト12が敵オブジェクト14に投げ技をかける動作を行った場合には、所与のイベントが発生したと判定し、仮想カメラデータ記憶部172に記憶された演出用仮想カメラ制御データに基づき、仮想カメラの位置をプレーヤオブジェクト12と敵オブジェクト14に近づける処理及び仮想カメラのプレーヤオブジェクト12と敵オブジェクト14に対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行う。
【0088】
この演出用仮想カメラ制御処理により、本実施の形態では、図4(A)、(B)に示すように、プレーヤオブジェクト12の正面斜め側(敵オブジェクト14の背後斜め側)から、投げ技を行っているプレーヤオブジェクト12と投げられている敵オブジェクト14とを大きく映し出す画像を生成する。こうして、所与のイベントが発生した場合には、通常仮想カメラ制御処理とは異なる演出用仮想カメラ制御処理を行い、イベントに係る移動・動作を行う移動オブジェクトを大きく映し出し、迫力のある画像を生成する。なお、本実施の形態では、イベントが発生したと判定してからイベントに係る移動・動作(投げ技)が終了するまで所定時間、演出用仮想カメラ制御処理を行い、その後、通常仮想カメラ制御処理を行う。
【0089】
ここで、本実施の形態のアクションゲームシステムでは、図2に示すように、オブジェクト空間SPに、イベントに係る移動・動作を行っているプレーヤオブジェクト12と敵オブジェクト14のほかに、他の敵オブジェクト16が存在している。従って、イベントに係る移動・動作を行っている間にもプレーヤオブジェクト12が他の敵オブジェクト16に攻撃されることがある。しかし、イベントに係る移動・動作を行っている間はプレーヤオブジェクト12と敵オブジェクト14とを大きく映し出しているので、図4(A)、(B)に示すように、他の敵オブジェクト16の画像は生成されず、プレーヤは他の敵オブジェクト16の移動・動作を認識することができない。よって、プレーヤオブジェクト12が敵オブジェクト14に投げ技をかける動作(イベントに係る動作)を行っている間に他の敵オブジェクト16から攻撃を受けたと判定(ヒットチェック)した場合には、プレーヤが他の敵オブジェクト16から攻撃を受けたことを認識しないまま投げ技が外れて(投げ技モーションがブレークモーションに変化して)しまうという不都合が生じてしまう。
【0090】
そこで、本実施の形態では、所与のイベントが発生した場合には、プレーヤオブジェクト12が、イベントに係る動作を行わない他の敵オブジェクト16の攻撃対象とならないか否かを判定し、攻撃対象とならないと判定した場合に演出用仮想カメラ制御処理を行い、攻撃対象となると判定した場合には通常仮想カメラ制御を続行する。例えば、図5(A)のように、他の敵オブジェクト16がプレーヤオブジェクト12の近くに位置する場合には、プレーヤオブジェクト12が他の敵オブジェクト16の攻撃対象となると判定し、プレーヤオブジェクト12が敵オブジェクト14に投げ技をかける動作を行うイベントが発生しても演出用仮想カメラ制御処理を行わず、通常仮想カメラ制御処理を継続して図5(B)のような画像を生成する。
【0091】
従って、プレーヤオブジェクト12が敵オブジェクト14に投げ技をかける動作(イベントに係る動作)を行っている間でも、他の敵オブジェクト16の移動・動作をプレーヤに認識させることができる。よって、プレーヤが他の敵オブジェクト16から攻撃を受けたことを認識しないまま投げ技が外れて(投げ技モーションがブレークモーションに変化して)しまうという不都合を回避することができる。
【0092】
また、本実施の形態では、イベントが発生した時点では、図2のように、他の敵オブジェクト16がプレーヤオブジェクト12の近くに位置しなかったため演出用仮想カメラ制御処理を開始して、図4(A)のようなプレーヤオブジェクト12を大きく映し出す画像を生成したが、演出用仮想カメラ制御処理を行っている間に他の敵オブジェクト16がプレーヤオブジェクト12の近くまで走り寄って来た場合には、演出用仮想カメラ制御処理を中止して仮想カメラのズームバック処理を行い、図4(A)のような画像から図6のような画像に連続的に変化させる。
【0093】
従って、演出用仮想カメラ制御処理を開始した後に他の敵オブジェクト16がプレーヤオブジェクト12の近くに位置することとなった場合でも、演出用仮想カメラ制御処理を中止することにより、プレーヤに他の敵オブジェクト16の移動・動作を認識させることができる。
【0094】
このように、本実施の形態では、所与のイベントが発生した場合に、所与の演出条件を判定し、判定結果に応じて演出用仮想カメラ制御処理の開始、中止を制御している。
【0095】
2−3:処理の流れ
以下、図面を用いて、本実施の形態に特徴的な仮想カメラ制御処理の具体的な処理の一例を説明する。
【0096】
図7は、本実施の形態の仮想カメラ制御処理の一例を示したフローチャートであり、図8(A)、(B)は、プレーヤオブジェクト12、敵オブジェクト14、他の敵オブジェクト16、視点CMが配置されたオブジェクト空間SPをXZ平面で表現した(真上から見た)図である。なお、プレーヤオブジェクト12、敵オブジェクト14、他の敵オブジェクト16、視点CMには、それぞれ任意のY座標が与えられている。
【0097】
まず、ゲーム開始時には初期状態として、ステップS12において、通常仮想カメラ制御処理を行う。例えば、図8(A)のように、仮想カメラの注視点EPをプレーヤオブジェクト12に設定し、視点CMをプレーヤオブジェクト12から離れたCM1の位置に設定する。具体的には、仮想カメラからプレーヤオブジェクト12までの奥行き距離(Z軸距離)を図中のZ1とし、プレーヤオブジェクト12を中心とした横方向距離(X軸距離)を図中のX1として、仮想カメラの視野範囲内に第1の領域30が入る位置に視点CMを設定する。すると、図2に示すように、プレーヤオブジェクト12を中心としたオブジェクト空間SPを広範囲で映し出す画像が生成される。
【0098】
そして、ステップS14において、プレーヤオブジェクト12が投げ技を行うイベントが発生したか否かを判定し、イベントが発生した場合には(ステップS14のY)、ステップS16において、図8(A)に示す第1の領域30に他の敵オブジェクト16が存在しないか否か、すなわち演出開始条件を判定する。ここで、第1の領域30は、例えば、プレーヤオブジェクト12を中心とした円を外周とする領域とすることができる。
【0099】
そして、第1の領域30に他の敵オブジェクト16が存在しないと判定すると(ステップS16のY)、ステップS18において、仮想カメラデータ記憶部172に記憶された演出用仮想カメラ制御データに基づき演出用仮想カメラ制御処理を行う。例えば、視点CMを、通常仮想カメラ制御処理により演算されたCM1の位置から、プレーヤオブジェクト12と敵オブジェクト14に、より近い位置であるCM2の位置に変更する。具体的には、仮想カメラからプレーヤオブジェクト12までの奥行き距離Z2、及び、プレーヤオブジェクト12を中心とした横方向距離X2を、Z1、X1と比して小さくし、図4(A)に示すように、プレーヤオブジェクト12と敵オブジェクト14とを大きく映し出す画像が生成される。
【0100】
一方、ステップS16において、第1の領域30に他の敵オブジェクト16が存在すると判定すると(ステップS16のN)、そのまま通常仮想カメラ制御処理を継続し、図5(B)のような画像が生成される。
【0101】
すると、ステップS20において、第1の領域30に他の敵オブジェクト16が存在するか否か、すなわち演出中止条件を判定する。ここで、図8(A)に示すように、演出用仮想カメラ制御処理を行っている間に、他の敵オブジェクト16がOB1の位置からOB2の位置に移動することにより第1の領域30に他の敵オブジェクト16が存在すると判定すると(ステップS20のY)、ステップS22において、視点CMを、演出用仮想カメラ制御データに基づき制御されたCM2の位置から、プレーヤオブジェクト12と敵オブジェクト14から遠ざかる方向に連続的に移動させる。本実施の形態では、仮想カメラの視野範囲内にプレーヤオブジェクト12と敵オブジェクト14と他の敵オブジェクト16とが入るように、CM3の位置まで移動させる。
【0102】
具体的には、図8(A)に示すように、仮想カメラからプレーヤオブジェクト12までの奥行き距離Z3、及び、プレーヤオブジェクト12を中心とした横方向距離X3を、Z2、X2と比して大きくし、仮想カメラの視野範囲内に第1の領域30が入る位置に視点CMを移動させる。すると、図6に示すように、プレーヤオブジェクト12を中心としたオブジェクト空間SPを広範囲で映し出す画像が生成される。そして、ステップS24において、通常仮想カメラ制御処理を再開する。
【0103】
一方、ステップS20において、第1の領域30に他の敵オブジェクト16が存在しないと判定すると(ステップS20のN)、ステップS18に戻り、演出用仮想カメラ制御処理を継続する。そして、ステップS19において、所定のフレーム数演出用仮想カメラ制御処理を行った(投げ技が終了した)と判定すると、ステップS22において、視点CMをCM2の位置からCM3の位置まで移動させ、ステップS24において、通常仮想カメラ制御処理を再開する。
【0104】
以上は、通常仮想カメラ制御処理と演出用仮想カメラ制御処理とで、視点CMを移動させることにより演出用仮想カメラ制御処理を行う態様について説明したが、視点CMと画角θを変化させることにより同様の画像を生成することができる。この場合には、図8(B)に示すように、通常仮想カメラ制御処理(図7のステップS12)では、視点CMをCM1の位置に、画角θをθ1に設定し、一方、演出用仮想カメラ制御処理(ステップS18)では、視点CMとプレーヤオブジェクト12との距離は変化させずに視点CMをCM3の位置に変更し、画角θをθ1より狭いθ2に変更するようにすればよい。
【0105】
そして、ステップS22では、視点CMは変化させずに、画角θをθ2からθ1に連続的に変化させればよい。本実施の形態では、仮想カメラの視野範囲内にプレーヤオブジェクト12と敵オブジェクト14と他の敵オブジェクト16とが入るように、画角θをθ1まで拡大すればよい。具体的には、図8(B)に示すように、仮想カメラの視野範囲内に第1の領域30が入る角度に画角θを拡大させる。このような仮想カメラ制御処理によっても、図4〜図6に示すような画像を生成することができる。
【0106】
また、通常仮想カメラ制御処理と演出用仮想カメラ制御処理との切替を行う場合には、演出用仮想カメラ制御処理を行う前の仮想カメラの位置、向き、画角又はスクリーンと仮想カメラの距離を、連続的に変化させるようにしてもよいし、断続的に変更するようにしてもよい。
【0107】
また、演出用仮想カメラデータは、発生したイベントの種類、イベントに係る所与の移動・動作を行う移動オブジェクトに応じて、複数種類用意してもよい。この場合、演出用仮想カメラデータは、例えば、発生したイベントの種類、イベントに係る所与の移動・動作を行う移動オブジェクトに関連付けて定義付けておくことができる。
【0108】
また、演出用仮想カメラデータは、演出用仮想カメラ制御処理中に仮想カメラの位置、向き、画角又はスクリーンと仮想カメラの距離を変化させるものであってもよい。例えば、イベントが発生したと判定すると、仮想カメラの位置を、プレーヤオブジェクト12を回り込むように移動(オービット)させながらズームアップさせてもよい。この場合、演出用仮想カメラ制御処理中に中止条件が満たされた場合には、中止条件が満たされた時点の仮想カメラの位置から、注視点を変化させずにズームバックさせてから通常仮想カメラ制御処理を行うことが好ましい。このようにすれば、ズームバック処理中にプレーヤオブジェクト12と敵オブジェクト14の位置関係が変化しないので、演出用仮想カメラ制御処理から通常仮想カメラ制御処理に移行する際でも、プレーヤオブジェクト12を操作する方向がわかりやすい画像を生成することができる。
【0109】
2−4:変形例
また、図7のステップS16で判定する演出開始条件と、ステップS20で判定する演出中止条件とを、異なる条件として設定してもよい。例えば、図9(A)のように、第1の領域30に内包される同心円を外周とする第2の領域32を設定し、ステップS16において、第1の領域30に他の敵オブジェクト16が存在しないと判定した場合に、演出用仮想カメラ制御処理を開始し、ステップS20において、第2の領域32に前記他の移動オブジェクトが存在すると判定した場合に、演出用仮想カメラ制御処理を中止するようにしてもよい。
【0110】
かかる構成とすれば、開始条件を判定する領域と中止条件を判定する領域にバッファゾーンを設けることができる。例えば、イベント発生時点では敵オブジェクト14が図9(A)のOB4の位置に存在し、演出用仮想カメラ制御処理開始直後にOB5の位置に移動しても、OB6の位置まで移動しなければ演出用仮想カメラ制御処理は中止されない。従って、演出用仮想カメラ制御処理開始後、短時間で中止してしまうという事態を防止することができる。
【0111】
ここで、第1の領域30、第2の領域32は、プレーヤオブジェクト12を中心とする同心円状のものに限らず、種々の形状のものとすることができる。また、プレーヤオブジェクト12の位置に対して所定の位置関係にある範囲に設定してもよい。例えば、図9(B)に示すように、プレーヤオブジェクト12の位置を含まない範囲に第1の領域30、第2の領域32を設定してもよい。例えば、オブジェクト空間SPに、プレーヤオブジェクト12を離れた位置から攻撃できる銃オブジェクト18等が配置されている場合に、銃オブジェクト18が配置されている位置を含む所定の範囲に第1の領域30、第2の領域32を設定することができる。この場合には、銃オブジェクト18に他の敵オブジェクト16が近づくと、プレーヤオブジェクト12が他の敵オブジェクト16の攻撃対象となると判定し、判定結果に基づき演出用仮想カメラ制御処理の開始、中止を制御することができる。
【0112】
また、開始条件として、プレーヤオブジェクト12と他の敵オブジェクト16との距離である演出判定距離と、第1の距離との大小を判定し、中止条件として、演出判定距離と、第1の距離よりも小さく設定された第2の距離との大小を判定するようにしてもよい。この場合には、仮想カメラ制御部114が、演出判定距離が第1の距離よりも大きい場合に、演出用仮想カメラ制御処理を開始し、演出判定距離が第2の距離よりも小さい場合に、演出用仮想カメラ制御処理を中止するように構成すればよい。
【0113】
また、第1の領域30、第2の領域32の位置や大きさ、第1の距離、第2の距離の大きさは、イベントに係る動作を行う移動オブジェクト以外の他の移動オブジェクトの属性データに応じて変化させることができる。ここで、他の移動オブジェクトとしては、キャラクタや、キャラクタによって投げられた被投てき体、発射された銃の弾丸等、種々のものを設定することができるが、例えば、移動速度が相対的に遅いキャラクタについては、第1の領域30、第2の領域32、第1の距離、第2の距離の大きさを相対的に小さく設定すればよく、移動速度が相対的に速い被投てき体、銃の弾丸については相対的に大きく設定すればよい。
【0114】
かかる構成とすれば、演出用仮想カメラ制御処理中に離れた位置からプレーヤオブジェクト12に対して槍等の被投てき体が高速で移動しても、中止条件を判定する領域、距離が大きく設定されていれば、被投てき体がプレーヤオブジェクト12にヒットする前に演出用仮想カメラ制御処理を中止し、被投てき体や弾丸等がプレーヤオブジェクト12にヒットする状況をプレーヤに認識させることができる。
【0115】
なお、属性データは、記憶部170の属性データ記憶部173に各オブジェクトの属性データとして記憶され、ゲーム演算処理部116がゲーム状況に応じた属性データを読み出し、オブジェクトごとに設定する処理を行う。
【0116】
また、開始条件、中止条件として、例えば、所与のプログラムに基づいて移動・動作する他の敵オブジェクト16が、プレーヤオブジェクト12を攻撃対象として選択していないか否かを判定するようにしてもよいし、他の敵オブジェクト16がプレーヤオブジェクト12に対して、例えば、銃を撃つ動作、被投てき体を投げる動作を行ったか否かを判定するようにしてもよい。
【0117】
また、操作部160からの入力情報に基づいて、演出用仮想カメラ制御処理を中止するように構成してもよい。かかる構成によれば、観者の意思により演出用仮想カメラ制御処理を中止させ、観者の状況判断により周囲の状況を認識させることができる。
【0118】
4.ハードウェア構成
図10に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0119】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0120】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0121】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0122】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0123】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0124】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0125】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0126】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0127】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】本実施形態で生成される画像の一例である。
【図3】本実施形態の操作部の一例である。
【図4】図4(A)、(B)は、本実施形態で生成される画像の一例である。
【図5】図5(A)、(B)は、本実施形態で生成される画像の一例である。
【図6】本実施形態で生成される画像の一例である。
【図7】本実施形態の仮想カメラ制御処理のフローチャートである。
【図8】本実施形態の仮想カメラ制御の手法の説明図である。
【図9】本実施形態の仮想カメラ制御の手法の説明図である。
【図10】本実施形態の画像生成システムのハードウェア構成の例である。
【符号の説明】
【0128】
CM 視点
EP 注視点
12 プレーヤオブジェクト
14 敵オブジェクト
16 他の敵オブジェクト
100 処理部
110 オブジェクト空間設定部
112 移動・動作制御部
114 仮想カメラ制御部
118 判定部
120 描画部
160 操作部
170 記憶部
180 情報記憶媒体
190 表示部

【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部として、
コンピュータを機能させ、
前記仮想カメラ制御部が、
前記演出条件が満たされた場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理中に前記演出条件が満たされなくなった場合に、演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項3】
画像を生成するためのプログラムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部として、
コンピュータを機能させ、
前記仮想カメラ制御部が、
前記イベントが発生した場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記演出条件が満たされなくなった場合に、演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記条件判定部が、
前記演出条件として、前記第1〜第Mの移動オブジェクトが当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトの動作対象とならないか否かを判定することを特徴とするプログラム。
【請求項5】
請求項1〜3のいずれかにおいて、
前記条件判定部が、
前記演出条件として、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定することを特徴とするプログラム。
【請求項6】
請求項1〜3のいずれかにおいて、
前記条件判定部が、
前記演出条件として、前記第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離が第1の距離よりも大きいか否かを判定することを特徴とするプログラム。
【請求項7】
請求項2において、
前記条件判定部が、
第1〜第Mの移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定する開始条件判定処理と、
前記演出用仮想カメラ制御処理中に、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定されかつ前記第1の領域に内包される第2の領域に、前記他の移動オブジェクトが存在するか否かを判定する中止条件判定処理と、
を行い、
前記仮想カメラ制御部が、
前記第1の領域に前記他の移動オブジェクトが存在しない場合に、前記演出用仮想カメラ制御処理を開始し、
前記第2の領域に前記他の移動オブジェクトが存在する場合に、前記演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項8】
請求項2において、
前記条件判定部が、
第1〜第Mの移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、前記第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離と、所与の第1の距離との大小を判定する開始条件判定処理と、
前記演出用仮想カメラ制御処理中に、前記演出判定距離と、前記第1の距離よりも小さく設定された第2の距離との大小を判定する中止条件判定処理と、
を行い、
前記仮想カメラ制御部が、
前記演出判定距離が前記第1の距離よりも大きい場合に、前記演出用仮想カメラ制御処理を開始し、
前記演出判定距離が前記第2の距離よりも小さい場合に、前記演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項9】
請求項1〜8のいずれかにおいて、
前記移動・動作制御部が、
前記イベントが発生した場合に、前記第1〜第Mの移動オブジェクトの少なくとも1つと関連付けて記憶部に記憶された移動・動作制御情報に基づき、当該第1〜第Mの移動オブジェクトの移動及び動作の少なくとも一方の制御を行うことを特徴とするプログラム。
【請求項10】
請求項1〜9のいずれかにおいて、
前記仮想カメラ制御部が、
前記第1〜第Mの移動オブジェクトの少なくとも1つと関連付けて記憶部に記憶された演出用仮想カメラ制御情報に基づき、前記演出用仮想カメラ制御処理を行うことを特徴とするプログラム。
【請求項11】
請求項2、3及び請求項2、3に従属する請求項4〜10のいずれかにおいて、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理を中止する場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームバック処理の少なくとも一方を行うことを特徴とするプログラム。
【請求項12】
請求項4〜8及び請求項4〜8に従属する請求項9、10のいずれかにおいて、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理を中止する場合に、仮想カメラの視野範囲内に前記第1〜第Mの移動オブジェクトと前記他の移動オブジェクトとが入るように、仮想カメラの位置を前記第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームバック処理の少なくとも一方を行うことを特徴とするプログラム。
【請求項13】
請求項1〜12のいずれかにおいて、
前記仮想カメラ制御部が、
入力情報に基づいて、前記演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項14】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜12のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項15】
画像生成システムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記仮想カメラ制御部が、
前記演出条件が満たされた場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行うことを特徴とする画像生成システム。
【請求項16】
請求項15において、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理中に前記演出条件が満たされなくなった場合に、演出用仮想カメラ制御処理を中止することを特徴とする画像生成システム。
【請求項17】
画像生成システムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記仮想カメラ制御部が、
前記イベントが発生した場合に、記憶部に記憶された演出用仮想カメラ制御情報に基づき、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記演出条件が満たされなくなった場合に、演出用仮想カメラ制御処理を中止することを特徴とする画像生成システム。
【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部として、
コンピュータを機能させ、
前記条件判定部が、
前記演出条件の判定処理として、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定する開始条件判定処理と、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定されかつ前記第1の領域に内包される第2の領域に、前記他の移動オブジェクトが存在するか否かを判定する中止条件判定処理とを行い、
前記仮想カメラ制御部が、
前記第1の領域に前記他の移動オブジェクトが存在しない場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記第2の領域に前記他の移動オブジェクトが存在する場合に、演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項2】
画像を生成するためのプログラムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部として、
コンピュータを機能させ、
前記条件判定部が、
前記演出条件の判定処理として、前記第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離と所与の第1の距離との大小を判定する開始条件判定処理と、前記演出判定距離と前記第1の距離よりも小さく設定された第2の距離との大小を判定する中止条件判定処理とを行い、
前記仮想カメラ制御部が、
前記演出判定距離が前記第1の距離よりも大きい場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記演出判定距離が前記第2の距離よりも小さい場合に、演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項3】
複数のキャラクタオブジェクトが攻撃し合うゲームのゲーム画像を生成するためのプログラムであって、
第1〜第N(3≦N)のキャラクタオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づきキャラクタオブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)のキャラクタオブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生したか否かを判定し、当該イベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部として、
コンピュータを機能させ、
前記条件判定部が、
前記演出条件の判定処理として、前記第1〜第Mのキャラクタオブジェクトが当該第1〜第Mのキャラクタオブジェクト以外の他のキャラクタオブジェクトの攻撃対象とならないか否かを判定する処理を行い、
前記仮想カメラ制御部が、
前記第1〜第Mのキャラクタオブジェクトが当該第1〜第Mのキャラクタオブジェクト以外の他のキャラクタオブジェクトの攻撃対象とならない場合に、仮想カメラの位置を前記第1〜第Mのキャラクタオブジェクトに近づける処理及び仮想カメラの前記第1〜第Mのキャラクタオブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記第1〜第Mのキャラクタオブジェクトが当該第1〜第Mのキャラクタオブジェクト以外の他のキャラクタオブジェクトの攻撃対象となる場合に、演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記移動・動作制御部が、
前記イベントが発生した場合に、前記第1〜第Mの移動オブジェクトの少なくとも1つと関連付けて記憶部に記憶された移動・動作制御情報に基づき、当該第1〜第Mの移動オブジェクトの移動及び動作の少なくとも一方の制御を行うことを特徴とするプログラム。
【請求項5】
請求項1〜のいずれかにおいて、
前記仮想カメラ制御部が、
前記第1〜第Mの移動オブジェクトの少なくとも1つと関連付けて記憶部に記憶された演出用仮想カメラ制御情報に基づき、前記演出用仮想カメラ制御処理を行うことを特徴とするプログラム。
【請求項6】
請求項1〜のいずれかにおいて、
前記仮想カメラ制御部が、
前記演出用仮想カメラ制御処理を中止する場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトから遠ざける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームバック処理の少なくとも一方を行うことを特徴とするプログラム。
【請求項7】
請求項1〜のいずれかにおいて、
前記仮想カメラ制御部が、
入力情報に基づいて、前記演出用仮想カメラ制御処理を中止することを特徴とするプログラム。
【請求項8】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項9】
画像生成システムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記条件判定部が、
前記演出条件の判定処理として、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定された第1の領域に、当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトが存在しないか否かを判定する開始条件判定処理と、前記第1〜第Mの移動オブジェクトの位置に対して所定の範囲に設定されかつ前記第1の領域に内包される第2の領域に、前記他の移動オブジェクトが存在するか否かを判定する中止条件判定処理とを行い、
前記仮想カメラ制御部が、
前記第1の領域に前記他の移動オブジェクトが存在しない場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記第2の領域に前記他の移動オブジェクトが存在する場合に、演出用仮想カメラ制御処理を中止することを特徴とする画像生成システム。
【請求項10】
画像生成システムであって、
第1〜第N(3≦N)の移動オブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づき移動オブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)の移動オブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記条件判定部が、
前記演出条件の判定処理として、前記第1〜第Mの移動オブジェクトと当該第1〜第Mの移動オブジェクト以外の他の移動オブジェクトとの距離である演出判定距離と所与の第1の距離との大小を判定する開始条件判定処理と、前記演出判定距離と前記第1の距離よりも小さく設定された第2の距離との大小を判定する中止条件判定処理とを行い、
前記仮想カメラ制御部が、
前記演出判定距離が前記第1の距離よりも大きい場合に、仮想カメラの位置を前記第1〜第Mの移動オブジェクトに近づける処理及び仮想カメラの前記第1〜第Mの移動オブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記演出判定距離が前記第2の距離よりも小さい場合に、演出用仮想カメラ制御処理を中止することを特徴とする画像生成システム。
【請求項11】
複数のキャラクタオブジェクトが攻撃し合うゲームのゲーム画像を生成するための画像生成システムであって、
第1〜第N(3≦N)のキャラクタオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
入力情報及び所与のプログラムの少なくとも一方に基づきキャラクタオブジェクトの移動及び動作の少なくとも一方を制御する移動・動作制御部と、
仮想カメラの位置、向き、画角の少なくとも1つの制御を行う仮想カメラ制御部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部と、
第1〜第M(2≦M<N)のキャラクタオブジェクトが所与の移動及び動作の少なくとも一方を行うイベントが発生したか否かを判定し、当該イベントが発生した場合に、所与の演出条件が満たされたか否かを判定する条件判定部と、
を含み、
前記条件判定部が、
前記演出条件の判定処理として、前記第1〜第Mのキャラクタオブジェクトが当該第1〜第Mのキャラクタオブジェクト以外の他のキャラクタオブジェクトの攻撃対象とならないか否かを判定する処理を行い、
前記仮想カメラ制御部が、
前記第1〜第Mのキャラクタオブジェクトが当該第1〜第Mのキャラクタオブジェクト以外の他のキャラクタオブジェクトの攻撃対象とならない場合に、仮想カメラの位置を前記第1〜第Mのキャラクタオブジェクトに近づける処理及び仮想カメラの前記第1〜第Mのキャラクタオブジェクトに対するズームアップ処理の少なくとも一方を含む演出用仮想カメラ制御処理を行い、
前記演出用仮想カメラ制御処理中に前記第1〜第Mのキャラクタオブジェクトが当該第1〜第Mのキャラクタオブジェクト以外の他のキャラクタオブジェクトの攻撃対象となる場合に、演出用仮想カメラ制御処理を中止することを特徴とする画像生成システム。

【図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


【公開番号】特開2006−277352(P2006−277352A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2005−95707(P2005−95707)
【出願日】平成17年3月29日(2005.3.29)
【特許番号】特許第3786671号(P3786671)
【特許公報発行日】平成18年6月14日(2006.6.14)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】