(57)【特許請求の範囲】
【請求項１】
画像を生成するための画像生成システムであって、
モーションデータを記憶する記憶部と、
コンピュータが操作する第１のコンピュータオブジェクトのモーションを、モーションデータに基づき再生する処理を行うモーション再生部と、
プレーヤの操作データに基づく第１のコンピュータオブジェクトに対するアクションによって、第１のコンピュータオブジェクトがヒットされたか否かを判断するヒットチェック部と、
第１のコンピュータオブジェクトがヒットされた場合に、第１のコンピュータオブジェクトのモーションを物理シミュレーションにより生成する処理を行うモーション生成部と、
第１のコンピュータオブジェクトがヒットされてから所与の時間が経過した場合に、第１のコンピュータオブジェクトのモーションを物理シミュレーションにより生成する処理から、第１のコンピュータオブジェクトのモーションをモーションデータに基づき再生する処理に切り替える処理を行う切り替え部と、
を含み、
前記モーション再生部が、
第１のコンピュータオブジェクトとプレーヤが操作するプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合に、第１のコンピュータオブジェクトを所与の移動位置に移動させるモーションを再生する処理を行うことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記モーション再生部が、
第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点とを結ぶ線上に介在オブジェクトが存在するか否かを判断し、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点とを結ぶ線上に介在オブジェクトが存在すると判断される場合に、第１のコンピュータオブジェクトを所与の移動位置に移動させるモーションを再生する処理を行うことを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合には、第１のコンピュータオブジェクトのプレーヤオブジェクトに対するアクションを禁止又は制限することを特徴とする画像生成システム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記介在オブジェクトが、コンピュータが操作する第２のコンピュータオブジェクトである場合には、第１のコンピュータオブジェクトを待機させることを特徴とする画像生成システム。
【請求項５】
請求項１〜４のいずれかにおいて、
第１のコンピュータオブジェクトがプレーヤオブジェクトの視野外に移動した場合には、第１のコンピュータオブジェクトを消滅させること特徴とする画像生成システム。
【請求項６】
請求項１〜５のいずれかにおいて、
第１のコンピュータオブジェクトが、プレーヤオブジェクトに対して攻撃を加えてくるオブジェクトであり、第１のコンピュータオブジェクトからの攻撃が介在オブジェクトにより妨げられることなくプレーヤオブジェクトに対して加えられることを特徴とする画像生成システム。
【請求項７】
コンピュータが使用可能な情報記憶媒体であって、
モーションデータを記憶する記憶部と、
コンピュータが操作する第１のコンピュータオブジェクトのモーションを、モーションデータに基づき再生する処理を行うモーション再生部と、
プレーヤの操作データに基づく第１のコンピュータオブジェクトに対するアクションによって、第１のコンピュータオブジェクトがヒットされたか否かを判断するヒットチェック部と、
第１のコンピュータオブジェクトがヒットされた場合に、第１のコンピュータオブジェクトのモーションを物理シミュレーションにより生成する処理を行うモーション生成部と、
第１のコンピュータオブジェクトがヒットされてから所与の時間が経過した場合に、第１のコンピュータオブジェクトのモーションを物理シミュレーションにより生成する処理から、第１のコンピュータオブジェクトのモーションをモーションデータに基づき再生する処理に切り替える処理を行う切り替え部として、コンピュータを機能させるためのプログラムを記憶する情報記憶媒体であって、
前記モーション再生部が、
第１のコンピュータオブジェクトとプレーヤが操作するプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合に、第１のコンピュータオブジェクトを所与の移動位置に移動させるモーションを再生する処理を行うことを特徴とする情報記憶媒体。
【請求項８】
請求項７において、
前記モーション再生部が、
第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点とを結ぶ線上に介在オブジェクトが存在するか否かを判断し、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点とを結ぶ線上に介在オブジェクトが存在すると判断される場合に、第１のコンピュータオブジェクトを所与の移動位置に移動させるモーションを再生する処理を行うことを特徴とする情報記憶媒体。
【請求項９】
請求項７又は８において、
第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合には、第１のコンピュータオブジェクトのプレーヤオブジェクトに対するアクションを禁止又は制限することを特徴とする情報記憶媒体。
【請求項１０】
請求項７〜９のいずれかにおいて、
前記介在オブジェクトが、コンピュータが操作する第２のコンピュータオブジェクトである場合には、第１のコンピュータオブジェクトを待機させることを特徴とする情報記憶媒体。
【請求項１１】
請求項７〜１０のいずれかにおいて、
第１のコンピュータオブジェクトがプレーヤオブジェクトの視野外に移動した場合には、第１のコンピュータオブジェクトを消滅させること特徴とする情報記憶媒体。
【請求項１２】
請求項７〜１１のいずれかにおいて、
第１のコンピュータオブジェクトが、プレーヤオブジェクトに対して攻撃を加えてくるオブジェクトであり、第１のコンピュータオブジェクトからの攻撃が介在オブジェクトにより妨げられることなくプレーヤオブジェクトに対して加えられることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（コンピュータオブジェクト）などの標的オブジェクトをシューティングすることで、３次元ゲームを楽しむ。
【０００３】
さて、このようなガンゲームを楽しむことができる画像生成システムの開発にあたり、次のような不具合があることが判明した。
【０００４】
即ち、プレーヤ（プレーヤオブジェクト）と敵キャラクタとの間に障害物がある場合に、敵キャラクタからのショット（弾）が、この障害物を貫通してプレーヤに当たってしまうという不具合である。そして、このような不具合が生じると、プレーヤに不快感を与えてしまい、ゲームへのプレーヤの熱中度や没入度を大幅に損ねる結果となる。
【０００５】
このような不具合は、例えば、敵キャラクタの配置や移動ルートを工夫する手法により、ある程度解決できる。しかしながら、このような解決手法にも、限界がある。
【０００６】
特に、敵キャラクタの動作が予め一意的に定まらない場合、即ち、プレーヤからのショットが敵キャラクタにどのようにヒットしたかに応じて、敵キャラクタの動作が全く異なるものになってしまう場合には、敵キャラクタの配置や移動ルートを工夫する手法では上記不具合を解消できない。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、プレーヤに不自然感を与えないリアルな画像を少ない処理負担で実現できる画像生成システム及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、コンピュータが操作する第１のコンピュータオブジェクトとプレーヤが操作するプレーヤオブジェクト又は視点との間に介在オブジェクトが介在するか否かを判断し、その判断結果に基づいて第１のコンピュータオブジェクトの行動を制御する手段と、第１のコンピュータオブジェクトの画像を含む画像を生成する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム或いはデータ等）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実現（実行）するための処理ルーチンを含むことを特徴とする。
【０００９】
本発明によれば、第１のコンピュータオブジェクトと、プレーヤオブジェクト又は視点との間に、介在オブジェクトが介在するか否かが判断される。そして、その判断結果に応じて、第１のコンピュータオブジェクトの行動が制御される。このようにすれば、介在オブジェクトが介在することにより何らかの不具合が生じた場合にも、第１のコンピュータオブジェクトの行動を適切に制御することで、このような不具合を解消できる。この場合、例えば、第１のコンピュータオブジェクトからのアクションがプレーヤに対して加えられないように、第１のコンピュータオブジェクトの行動を制御することが望ましい。
【００１０】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点とを結ぶ線上に介在オブジェクトが存在するか否かを判断することで、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在するか否かを判断することを特徴とする。このようにすれば、介在オブジェクトが線上に存在するかを判断するだけという簡易な処理で、介在オブジェクトの介在を検出できるようになる。
【００１１】
また本発明は、画像を生成するための画像生成システムであって、コンピュータが操作する第１のコンピュータオブジェクトとプレーヤが操作するプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合に、第１のコンピュータオブジェクトからのアクションがプレーヤに対して加えられないようにする手段と、第１のコンピュータオブジェクトの画像を含む画像を生成する手段と、を含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム或いはデータ等）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実現（実行）するための処理ルーチンを含むことを特徴とする。
【００１２】
本発明によれば、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合には、第１のコンピュータオブジェクトからのアクションがプレーヤに対して加えられないようになる。これにより、介在オブジェクトを通り抜ける（貫通、通過）等して、アクションがプレーヤに加えられるという不具合を解消できるようになる。
【００１３】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合には、第１のコンピュータオブジェクトのプレーヤに対するアクションを禁止又は制限することを特徴とする。このようにすれば、介在オブジェクトを通り抜ける等して、第１のコンピュータオブジェクトからのアクションがプレーヤに加えられる不具合を、防止又は制限できるようになる。
【００１４】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在する場合には、第１のコンピュータオブジェクトを所与の移動位置に移動させることを特徴とする。このようにすれば、第１のコンピュータオブジェクトを、プレーヤにアクションを加えるのに適した移動位置に移動できるようになり、プレーヤに不自然感を与えない画像を生成できるようになる。
【００１５】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記介在オブジェクトが、コンピュータが操作する第２のコンピュータオブジェクトである場合には、第１のコンピュータオブジェクトを待機させることを特徴とする。即ち、例えば、第２のコンピュータオブジェクトが消滅するまで第１のコンピュータオブジェクトをその場で待機させるようにする。このようにすれば、第１のコンピュータオブジェクトを移動させる等の処理を行わなくても、第２のコンピュータオブジェクトの介在により生じる不具合を自然に解消できるようになる。
【００１６】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第１のコンピュータオブジェクトがプレーヤの視野外に移動した場合には、第１のコンピュータオブジェクトを消滅させること特徴とする。このようにすれば、プレーヤの視野外に移動した第１のコンピュータオブジェクトからのアクションがプレーヤに加えられ、プレーヤが不自然さを感じる事態を、防止できるようになる。
【００１７】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第１のコンピュータオブジェクトが、物理シミュレーションによりそのモーションが生成されるオブジェクトであることを特徴とする。このようにすれば、モーション再生によっては多くのモーションデータ量が必要になる第１のコンピュータオブジェクトの多様な動きを、モーション生成を利用して少ないデータ量で実現できるようになる。そして、このように第１のコンピュータオブジェクトのモーションが物理シミュレーションにより生成されると、第１のコンピュータオブジェクトの移動位置等を予め予期できなくなり、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に、介在オブジェクトが介在してしまう不具合が生じる。しかしながら、本発明によれば、第１のコンピュータオブジェクトの行動を適切に制御等することで、このような不具合を効果的に解消できる。
【００１８】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ヒット時における第１のコンピュータオブジェクトのモーションが物理シミュレーションにより生成され、ヒット後に所与の時間が経過した場合に、第１のコンピュータオブジェクトとプレーヤオブジェクト又は視点との間に介在オブジェクトが介在するか否かが判断され、その判断結果に基づいて第１のコンピュータオブジェクトの行動が制御されることを特徴とする。このようにすれば、ヒットによる撃力等により、第１のコンピュータオブジェクトが、予期できない移動位置に移動する事態が生じも、介在オブジェクトが介在するか否かの判断結果に基づいて、このような事態に適切に対処できるようになる。
【００１９】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第１のコンピュータオブジェクトが、プレーヤに対して攻撃を加えてくるオブジェクトであり、第１のコンピュータオブジェクトからの攻撃が介在オブジェクトにより妨げられることなくプレーヤに対して加えられることを特徴とする。このように、第１のコンピュータオブジェクトからの攻撃が介在オブジェクトにより妨げられることなくプレーヤに伝えられると、介在オブジェクトを通り抜ける等してプレーヤに攻撃が加えられるという不具合が生じる。しかしながら、本発明によれば、第１のコンピュータオブジェクトの行動を適切に制御等することで、このような不具合を効果的に解消できるようになる。
【００２０】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、ガン型コントローラを用いたガンゲーム（シューティングゲーム）に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【００２１】
１．構成
図１に、本実施形態を業務用ゲームシステムに適用した場合の構成例を示す。
【００２２】
プレーヤ５００は、本物のマシンガンを模して作られたガン型コントローラ（広義にはシューティングデバイス）５０２を構える。そして、画面５０４に映し出される敵キャラクタ（広義にはオブジェクト）などの標的オブジェクトを狙ってシューティングすることでガンゲームを楽しむ。
【００２３】
特に、本実施形態のガン型コントローラ５０２は、引き金を引くと、仮想的なショット（弾）が高速で自動的に連射される。従って、あたかも本物のマシンガンを撃っているかのような仮想現実感をプレーヤに与えることができる。
【００２４】
なお、ショットのヒット位置（着弾位置）は、ガン型コントローラ５０２に光センサを設け、この光センサを用いて画面の走査光を検知することで検出してもよいし、ガン型コントローラ５０２から光（レーザー光）を発射し、この光の照射位置をＣＣＤカメラなどを用いて検知することで検出してもよい。
【００２５】
図２に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１４０、或いは処理部１００と記憶部１４０と情報記憶媒体１５０を含めばよく）、それ以外のブロック（例えば操作部１３０、画像生成部１６０、表示部１６２、音生成部１７０、音出力部１７２、通信部１７４、Ｉ／Ｆ部１７６、メモリーカード１８０等）については、任意の構成要素とすることができる。
【００２６】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００２７】
操作部１３０は、プレーヤが操作データを入力するためのものであり、その機能は、図１のガン型コントローラ５０２、レバー、ボタンなどのハードウェアにより実現できる。
【００２８】
記憶部１４０は、処理部１００、画像生成部１６０、音生成部１７０、通信部１７４、Ｉ／Ｆ部１７６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２９】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１５０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１５０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１５０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実現（実行）するための種々の情報（プログラム、データ）が格納される。
【００３０】
なお、情報記憶媒体１５０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１４０に転送されることになる。また情報記憶媒体１５０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００３１】
画像生成部１６０は、処理部１００からの指示等にしたがって、各種の画像を生成し表示部１６２に出力するものであり、その機能は、画像生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（画像生成プログラム）、画像情報により実現できる。
【００３２】
音生成部１７０は、処理部１００からの指示等にしたがって、各種の音を生成し音出力部１７２に出力するものであり、その機能は、音生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（音生成プログラム）、音情報（波形データ等）により実現できる。
【００３３】
通信部１７４は、外部装置（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ＡＳＩＣ、或いはＣＰＵなどのハードウェアや、所与のプログラム（通信プログラム）により実現できる。
【００３４】
なお本発明（本実施形態）の処理を実現するための情報は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１７４を介して情報記憶媒体１５０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３５】
また処理部１００の機能の一部又は全部を、画像生成部１６０、音生成部１７０、又は通信部１７４の機能により実現するようにしてもよい。或いは、画像生成部１６０、音生成部１７０、又は通信部１７４の機能の一部又は全部を、処理部１００の機能により実現するようにしてもよい。
【００３６】
Ｉ／Ｆ部１７６は、処理部１００からの指示等にしたがってメモリーカード（広義には、携帯型ゲーム機などを含む携帯型情報記憶装置）１８０との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラＩＣなどにより実現できる。なお、メモリーカード１８０との間の情報交換を赤外線などの無線を用いて実現する場合には、Ｉ／Ｆ部１７６の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【００３７】
処理部１００は、ゲーム演算部１１０を含む。
【００３８】
ここでゲーム演算部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（キャラクタ、移動体）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を決める処理、視点位置や視線角度を決める処理、オブジェクトのモーションを再生又は生成する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部１３０からの操作データ、メモリーカード１８０からのデータ、ゲームプログラムなどに基づいて行う。
【００３９】
ゲーム演算部１１０は、ヒットチェック部１１２、モーション再生部１１４、モーション生成部１１６、切り替え部１２２、行動制御部１２４を含む。
【００４０】
ここで、ヒットチェック部１１２は、ガン型コントローラを用いてプレーヤが発射したショットがオブジェクトにヒットしたか否かを調べるヒットチェック処理を行う。なお、処理負担の軽減化のためには、オブジェクトの形状を簡易化した簡易オブジェクトを用いてヒットチェック処理を行うことが望ましい。
【００４１】
モーション再生部１１４は、オブジェクト（コンピュータが操作するコンピュータオブジェクト、プレーヤが操作するプレーヤオブジェクト等）のモーションを、モーションデータ記憶部１４２に記憶されているモーションデータに基づいて再生する処理を行う。即ち、モーションデータ記憶部１４２には、オブジェクトの各基準モーションでの各部位（パーツ）の位置データや角度データを含むモーションデータが記憶されている。モーション再生部１１４は、このモーションデータを読み出し、このモーションデータに基づいてオブジェクトの各部位を動かすことで、オブジェクトのモーションを再生する。
【００４２】
モーション生成部１１６は、オブジェクトのモーションを、物理シミュレーション（物理計算を利用したシミュレーション。物理計算は擬似的な物理計算でもよい）により生成する処理を行う。即ち本実施形態では、ヒット（被弾）時等における、オブジェクトのモーションを、モーションデータに基づくモーション再生ではなく、物理シミュレーションによりリアルタイムに生成するようにしている。このように物理シミュレーションによりモーションを生成することで、モーションデータに基づくモーション再生に比べて、バラエティ度が高くリアルなモーション表現を、使用データ量を抑えながら実現できるようになる。
【００４３】
モーション生成部１１６は、ヒット（被弾）時モーション生成部１１８と下半身モーション生成部１２０を含む。
【００４４】
ここで、ヒット時モーション生成部１１８は、ヒット時におけるオブジェクトのモーションを生成する処理を行う。より具体的には、オブジェクトの第Ｎの部位がヒットされた場合には、ヒット情報（ヒット方向を向く力ベクトル等）に基づく物理シミュレーションにより、その第Ｎの部位を動かすと共に、隣の第Ｎ＋１、第Ｎ＋２、第Ｎ＋３の部位等にヒット情報を順次伝達（伝搬）する（例えばその大きさを順次減衰させながら伝達する）。そして、伝達されたヒット情報に基づく物理シミュレーションにより、これらの第Ｎ＋１、第Ｎ＋２、第Ｎ＋３の部位等を動かす。このようにしてオブジェクトのモーションを生成すれば、高速連射によりショットが連続してヒットした場合におけるオブジェクトのリアルなモーションを、少ない処理負担で表現できるようになる。
【００４５】
また下半身モーション生成部１２０は、ヒット時のオブジェクトのよろけ動作をリアルに表現するために、オブジェクトの下半身についてのモーションを特別なアルゴリズムを用いて生成している。より具体的には、接地している第１の部位（例えば左足）を支点として倒れるようにオブジェクトを動かす。そして、オブジェクトが倒れるのを制限する位置（例えば仮想重心を接地面に投影した位置に関して第１の部位と点対称の位置）に、接地していない第２の部位（例えば右足）の移動目標位置を設定し、この移動目標位置に第２の部位を移動させる。このようにしてオブジェクトのモーションを生成すれば、よろけながらもなかなか倒れないというオブジェクトのモーション表現が可能になる。
【００４６】
切り替え部１２２は、例えばオブジェクトがヒットされた場合に、モーション再生からモーション生成に切り替える処理を行う。或いは、所与の条件が成立した場合（ヒットされてから所与の時間が経過したり、体力パラメータが零になった場合）に、モーション生成からモーション再生に切り替える処理を行う。このようにすれば、モーション生成による表現が難しい場面では、モーション再生によりオブジェクトの動きを表現し、少ないデータ量でバラエティ度の高い動きが要請される場面では、モーション生成によりオブジェクトの動きを表現できるようになる。
【００４７】
行動制御部１２４は、コンピュータが操作するコンピュータオブジェクトの行動を制御する処理を行う。より具体的には、コンピュータオブジェクト（敵キャラクタ等）と、プレーヤの視点（又はプレーヤが操作するプレーヤオブジェクト）との間に、介在オブジェクト（障害物、他の敵キャラクタ）が介在するか否かを判断する。そして、その判断結果に基づいてコンピュータオブジェクトの行動を制御する。例えば、コンピュータオブジェクトのプレーヤに対するアクション（攻撃等）を禁止（又は制限）したり、所与の移動位置（プレーヤにアクションを加えるのに適切な位置）にコンピュータオブジェクトを移動させる。或いは、介在オブジェクトが、他のコンピュータオブジェクトであった場合には、この他のコンピュータオブジェクトが消滅するまで、コンピュータオブジェクトを待機させる。以上のようにすることで、コンピュータオブジェクトからのアクションが、介在オブジェクトを通り抜ける等してプレーヤに加えられる事態を防止できる。
【００４８】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００４９】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５０】
２．本実施形態の特徴
さて、本実施形態では、図３に示すように、敵キャラクタ（コンピュータオブジェクト）１０が、複数の部位（右手１２、右前腕１４、右上腕１６、胸１８、腰２０、左手２２、左前腕２４、左上腕２６、頭３０、右足３２、右すね３４、右股３６、左足４２、左すね４４、左股４６）により構成されている。なお、これらの部位（パーツ）の位置や回転角度（方向）は、スケルトンモデルを構成する関節Ｊ０〜Ｊ１３の位置や骨（アーク）Ａ０〜Ａ１８の回転角度として表すことができる。但し、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
【００５１】
本実施形態では、敵キャラクタを構成する部位が親子（階層）構造を有している（実際には関節が親子構造を有する）。即ち、手１２、２２の親は前腕１４、２４であり、前腕１４、２４の親は上腕１６、２６であり、上腕１６、２６の親は胸１８であり、胸１８の親は腰２０となる。また、頭３０の親は胸１８となる。また、足３２、４２の親はすね３４、４４であり、すね３４、４４の親は股３６、４６であり、股３６、４６の親は腰２０となる。
【００５２】
モーションデータ記憶部には、これらの部位（関節、骨）の位置及び回転角度が、モーションデータとして記憶されている。例えば、歩きモーションが、ＭＰ０、ＭＰ１、ＭＰ２・・・・ＭＰＮという基準モーションにより構成されているとする。するとこれらの各基準モーションＭＰ０、ＭＰ１、ＭＰ２・・・・ＭＰＮでの各部位の位置及び回転角度が、モーションデータとして予め記憶されている。そして、例えば基準モーションＭＰ０の各部位の位置及び回転角度を読み出し、次に基準モーションＭＰ１の各部位の位置及び回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション再生が実現される。
【００５３】
なお、モーションデータ記憶部に記憶するモーションデータは、一般的には、モーションキャプチャにより取得したり、デザイナが作成する。また、部位（関節、骨）の位置、回転角度は、親の部位の位置、回転角度に対する相対的な位置、相対的な回転角度で表される。
【００５４】
本実施形態では、ヒット時における敵キャラクタ（コンピュータオブジェクト）のモーションを、物理シミュレーションを用いて生成している。
【００５５】
例えば図４において、敵キャラクタの前腕１４にプレーヤのショット（弾）がヒットすると、まず、ヒット力ベクトルＦＨ０（広義にはヒット情報）に基づき前腕１４を動かす（回転させる、移動させる）。更に、このヒット力ベクトルＦＨ０を、ＦＨ１、ＦＨ２、ＦＨ３、ＦＨ４として親の部位である上腕１６、胸１８、腰２０に順次伝達（伝搬）する。そして、伝達されたヒット力ベクトルＦＨ１〜ＦＨ４により、上腕１６、胸１８、腰２０を動かす。本実施形態では、このようにして、ヒット時における敵キャラクタのモーションをリアルタイムに生成している。
【００５６】
より具体的には、ヒット力ベクトルＦＨ０は、その方向が、ヒットの方向（ショットの軌道方向）に向き、その大きさが、ヒットの威力を表すベクトルである。そして、関節Ｊ１とヒット位置（着弾位置）ＨＰを結ぶベクトルＨＶと、ヒット力ベクトルＦＨ０との外積をとることで、回転モーメントが求められる。
【００５７】
次に、この回転モーメントと前腕１４の仮想質量に基づき、前腕１４の角加速度が算出される。そして、算出された角加速度に基づき、前腕１４の角速度が算出され、この角速度で前腕１４がＲ０に示すように回転する。
【００５８】
ヒット力ベクトルＦＨ０（ヒット情報）は、その大きさが減衰されてＦＨ１として親の部位である上腕１６に伝達される。より具体的には、このＦＨ１は関節Ｊ１に作用し、このＦＨ１による回転モーメントで、上腕１６がＲ１に示すように回転する。
【００５９】
次に、胸１８に伝達されたＦＨ２は関節Ｊ２に作用し、このＦＨ２による回転モーメントで、胸１８がＲ２に示すように回転する。
【００６０】
次に腰２０に伝達されたＦＨ３は関節Ｊ３に作用し、このＦＨ３による回転モーメントで、腰２０がＲ３に示すように回転する。また、腰２０に伝達されたＦＨ４は代表点ＲＰに作用し、このＦＨ４により、腰２０がＭＴ０に示すように移動する。なお、腰２０がＭＴ０の方向に移動すると、腰２０以外の他の部位もＭＴ０の方向に移動することになる。但し、この場合にも、腰２０と他の部位との間の相対的な位置関係は変化しない。
【００６１】
以上の手法によれば、ヒット時における敵キャラクタのリアルなモーションを生成できる。そして、生成されるモーションは、ヒット位置やヒット方向やヒット力の大きさなどに応じて異なったものとなり、モーションデータに基づくモーション再生の手法に比べて、モーションのバリエーションを格段に増すことができる。
【００６２】
なお、本実施形態では、敵キャラクタのヒット時に、モーションデータに基づくモーション再生から物理シミュレーションによるモーション生成に切り替えている。
【００６３】
例えば図５（Ａ）のＥ１に示すように、敵キャラクタがヒットされる前においては、モーションデータに基づくモーション再生により敵キャラクタの動きが表現される。
【００６４】
一方、Ｅ２に示すように、敵キャラクタがヒットされると、モーション再生からモーション生成に切り替わる。即ち、例えば図４で説明したようなモーション生成手法により、ヒット時の敵キャラクタの動きを表現する。
【００６５】
また本実施形態では、所与の条件が成立した場合には、今度は、物理シミュレーションによるモーション生成からモーションデータに基づくモーション再生に切り替えている。
【００６６】
例えば図５（Ａ）のＥ３では、ヒット後に所与の時間ＴＭが経過したため、モーション生成からモーション再生に切り替えている。
【００６７】
即ち、Ｅ４のように短時間で連続して敵キャラクタにショットがヒットしている場合には、図４で説明したようなモーション生成により敵キャラクタを動かす。これにより、ショットがヒットする毎にヒット位置やヒット方向に応じてその動きが細かく変化する敵キャラクタを表現できる。
【００６８】
一方、Ｅ３のように、ショットがヒットした後に所与の時間ＴＭが経過した場合には、敵キャラクタに対する連射はもはや行われていないと考えられる。従って、この場合には、ヒット時のモーションから復帰する行動を敵キャラクタに行わせる。
【００６９】
また図５（Ｂ）のＥ５では、敵キャラクタの体力パラメータが０（所与の値）になったため、モーション生成からモーション再生に切り替えている。即ち、この場合には、敵キャラクタを完全に転倒させるモーションを再生し、敵キャラクタを消滅させる。
【００７０】
更に本実施形態では、ヒット時における敵キャラクタのよろけ動作を表現するために、敵キャラクタの下半身については、特別なアルゴリズムによりそのモーションを生成している。より具体的には、接地している方の足（第１の部位）を支点として倒れるように敵キャラクタ（オブジェクト）が動くと共に、敵キャラクタが倒れるのを制限する位置に、接地していない方の足（第２の部位）が移動するように、敵キャラクタのモーションを生成している。
【００７１】
例えば図６のＧ１では、左足５０が接地しており、右足５２が非接地になっている。この場合には、ＦＤ０に示すように、接地している左足５０を支点として倒れる（傾く）ように敵キャラクタの下半身を動かす。更に、敵キャラクタが倒れるのを制限する位置（支える位置）である移動目標位置５４に、非接地の右足５２を移動させる。
【００７２】
そして、図６のＧ２に示すように両足５０、５２が接地すると、腰６０から遠い方の足である左足５０を浮かせる。次に、Ｇ３のＦＤ１に示すように、接地している右足５２を支点として倒れるように敵キャラクタの下半身を動かすと共に、敵キャラクタが倒れるのを制限する移動目標位置５６に、非接地の左足５０を移動させる。そして、Ｇ４に示すように両足５０、５２が接地する。
【００７３】
このようにすることで、ショットの連続ヒットにより敵キャラクタがよろけながら後ずさりする様子をリアルに表現できるようになる。
【００７４】
即ち、前述の図４の手法でヒット時におけるモーションを生成すると、ショットのヒットにより敵キャラクタがバランスを崩して、不自然な姿勢で床（接地面）に立ったままになるという事態が生じる。例えば、敵キャラクタの右足だけがヒットされた場合には、右足だけが宙に浮いた状態で敵キャラクタが床に立ったままの状態になる可能性がある。
【００７５】
図６の手法により敵キャラクタの下半身を特別なアルゴリズムで動作させれば、上記のような事態を防止できる。即ち、図６のＧ１に示すように右足５２が宙に浮いた場合には、ＦＤ０に示すように敵キャラクタは倒れるように動くと共に、倒れるのを支える移動目標位置５４に右足５２が移動する。従って、敵キャラクタの右足５２だけが長時間にわたり宙に浮いたままになるという事態が防止されると共に、ヒットの衝撃により敵キャラクタが後ずさりしたかのように見せることができるようになる。
【００７６】
特に、敵キャラクタに連続してショットがヒットした場合には、この連続ヒットの衝撃により敵キャラクタが徐々に後ずさりしているかのように見せることができ、これまでにないリアルなモーションを生成できる。しかも、敵キャラクタの接地していない方の足は、倒れるのを支える位置に常に移動するようになる。従って、敵キャラクタは、体力パラメータが０にならない限り、転倒しないようになる。従って、マシンガンのように高速でショットを連射できるガンゲームに最適なモーション表現を実現できる。
【００７７】
さて、以上のような手法により敵キャラクタのモーションをリアルタイムに生成すると、以下のような問題が生じることが判明した。
【００７８】
例えば図７（Ａ）のように、プレーヤが操作するプレーヤキャラクタ（プレーヤオブジェクト）Ｐからの攻撃（ショット）が、敵キャラクタ（コンピュータオブジェクト）Ｃ１にヒットした場合を考える。この場合には、図４で説明した手法により、ヒット時における敵キャラクタＣ１のモーションが生成されることになる。そして、ヒットされた敵キャラクタＣ１は、図６で説明した下半身アルゴリズムにしたがって、よろめきながら任意の方向に移動することになる。
【００７９】
そして、例えば図７（Ｂ）に示すように、障害物ＯＢの陰に敵キャラクタＣ１が移動した場合を考える。このような状態で、敵キャラクタＣ１がプレーヤキャラクタＰに攻撃を加えると、図８（Ａ）に示すように、ショット（攻撃）が障害物ＯＢを貫通してプレーヤ（プレーヤキャラクタＰ）にヒットしてしまう事態が生じる。即ち、敵キャラクタＣ１からの攻撃が、障害物ＯＢにより妨げられることなく、プレーヤに対して加えられてしまう。
【００８０】
また、図８（Ｂ）に示すように、敵キャラクタＣ１が他の敵キャラクタＣ２の後ろに移動してしまったような場合には、敵キャラクタＣ１からのショットが他の敵キャラクタＣ２を貫通してプレーヤ（プレーヤキャラクタＰ）にヒットしてしまう事態が生じる。
【００８１】
図８（Ａ）、（Ｂ）に示すような事態が生じると、プレーヤに大きな不快感を与えてしまう。プレーヤから見えない場所にいる敵キャラクタＣ１からのショットが、突然、障害物ＯＢや他の敵キャラクタＣ２を突き抜けて、プレーヤにヒットしてしまうからである。
【００８２】
そこで、本実施形態では、以下に述べるような手法を採用して、図８（Ａ）、（Ｂ）で説明した不具合を解消している。
【００８３】
即ち、まず、敵キャラクタとプレーヤの視点（又はプレーヤキャラクタ）との間に、障害物（介在オブジェクト）が介在するか否かを判断する。
【００８４】
より具体的には、図９のＨ１に示すように、敵キャラクタＣ１と視点ＶＰ（又はプレーヤキャラクタＰ）とを結ぶ線を求め（敵キャラクタＣ１から視点ＶＰに向かってレイを発射する）、その線上に障害物ＯＢが存在するか否かを判断する。
【００８５】
そして、その判断結果に基づいて、敵キャラクタの行動を制御し、敵キャラクタからの攻撃（アクション）がプレーヤに対して加えられないようする。
【００８６】
より具体的には、図９のＨ２に示すように、まず、敵キャラクタＣ１のプレーヤ（プレーヤキャラクタＰ）に対する攻撃を禁止（又は制限）するようにする。そして、予め用意された移動位置Ｐ１、Ｐ２、Ｐ３、Ｐ４の中から、攻撃に適切（最適）な移動位置を選択する。図９のＨ２ではＰ４が選択されている。次に、図９のＨ３に示すように、選択された移動位置Ｐ４に敵キャラクタＣ１を移動させる。そして、攻撃が可能であると判断されると、Ｈ４に示すように、敵キャラクタＣ１はプレーヤに対する攻撃を開始する。
【００８７】
図１０（Ａ）〜図１２（Ｂ）に、本実施形態により生成されるゲーム画像の例を示す。
【００８８】
図１０（Ａ）は、プレーヤからのショットが敵キャラクタＣ１にヒットしたゲーム場面である。このようにショットが敵キャラクタＣ１にヒットすると、図４で説明した手法により、敵キャラクタＣ１のヒット時のモーションが生成される。そして、図６で説明した下半身の動作アルゴリズムにしたがって、図１０（Ｂ）に示すように、敵キャラクタＣ１がヒットの撃力によりよろめきながら移動することになる。
【００８９】
図１１（Ａ）は、ヒットの撃力により移動した敵キャラクタＣ１が、障害物ＯＢの陰に隠れて見えなくなってしまったゲーム場面である。この場合に、敵キャラクタＣ１が、プレーヤに対して反撃を行うと、Ｃ１からのショットが障害物ＯＢを貫通してプレーヤにヒットするという不具合が生じてしまう。
【００９０】
しかしながら、このような場合に本実施形態では、まず図９のＨ２で説明したように、敵キャラクタＣ１の攻撃が禁止される。そして、図９のＨ３で説明したように、敵キャラクタＣ１が適切な移動位置に移動する。図１１（Ｂ）は、このように敵キャラクタＣ１が適切な移動位置に移動した状態を示すゲーム場面である。
【００９１】
適切な移動位置に移動した敵キャラクタＣ１は、図１２（Ａ）に示すようにマシンガンを構えて、図１２（Ｂ）に示すようにプレーヤに対して攻撃（反撃）を開始することになる。
【００９２】
以上のような手法で敵キャラクタの行動を制御することで、敵キャラクタからのショットが障害物や他の敵キャラクタを貫通してプレーヤにヒットしてしまうという図８（Ａ）、（Ｂ）の不具合を効果的に解消できるようになる。
【００９３】
例えば図８（Ａ）、（Ｂ）の不具合は、敵キャラクタの配置や移動ルートを工夫する手法により、ある程度解消できる。
【００９４】
しかしながら、この手法を採用すると、敵キャラクタの配置や移動ルートのデザインに制限が加わり、ゲームステージの自由なデザインが妨げられてしまう。
【００９５】
また、図４や図６で説明したように、本実施形態では敵キャラクタのモーションをリアルタイムに生成している。従って、敵キャラクタがどのように動くかを予め予期することができない。即ち、プレーヤがどのようなゲーム操作を行ったか（プレーヤがどの敵キャラクタをどのタイミングでどのように撃ったか）に応じて、敵キャラクタの移動位置や動きが異なったものになってしまう。従って、敵キャラクタの初期配置や移動ルートを如何に工夫しても、図７（Ｂ）に示すように敵キャラクタが障害物に隠れてしまうという状況が必然的に生じてしまう。
【００９６】
しかしながら、本実施形態では、敵キャラクタの行動アルゴリズムに工夫を加えて図９に示すように敵キャラクタの行動を制御している。従って、図７（Ｂ）に示すような状況が生じても、ショットが障害物や他の敵キャラクタを貫通してプレーヤにヒットしてしまうという図８（Ａ）、（Ｂ）の不具合を効果的に防止できるようになる。
【００９７】
なお、敵キャラクタＣ１からのショットと、障害物ＯＢや他の敵キャラクタとの間のヒットチェックを行い、Ｃ１からのショットがＯＢやＣ２を貫通しないようにすれば（Ｃ１からの攻撃が介在オブジェクトにより妨げられるようにすれば）、図８（Ａ）、（Ｂ）の不具合は解消できる。
【００９８】
しかしながら、この種のゲームでは、登場する敵キャラクタの数や障害物の数が非常に多い。従って、これらの多数の敵キャラクタ、障害物間での全てのヒットチェックを行おうとすると、処理負担が非常に重くなる。
【００９９】
図９に示す本実施形態の手法によれば、敵キャラクタ、障害物間での全てのヒットチェックを行わない場合でも（敵キャラクタからの攻撃が介在オブジェクトにより妨げられることなくプレーヤに対して加えられる場合でも）、図８（Ａ）、（Ｂ）の不具合が生じるのを防止できる。即ち、処理負担をそれほど増すことなく、図８（Ａ）、（Ｂ）の不具合を解消できる。
【０１００】
さて、本実施形態では、第１の敵キャラクタと視点（又はプレーヤキャラクタ）との間に介在するオブジェクトが、他の第２の敵キャラクタである場合には、第１の敵キャラクタを待機させるようにしている。
【０１０１】
より具体的には、図１３のＩ１に示すように、敵キャラクタＣ１と視点ＶＰ（又はプレーヤキャラクタＰ）とを結ぶ線を求め、その線上に他の敵キャラクタＣ２が存在するか否かを判断する。
【０１０２】
そして、障害物ＯＢが線上に存在すると判断した場合には、図１３のＩ２に示すように、敵キャラクタＣ１の攻撃を禁止して、その場で待機させる。
【０１０３】
そして、図１３のＩ３に示すようにプレーヤの攻撃で敵キャラクタＣ２が消滅した場合には、図１３のＩ４に示すように、敵キャラクタＣ１にプレーヤを攻撃させる。
【０１０４】
即ち、図１３のＩ１に示すようにプレーヤから見て敵キャラクタＣ１、Ｃ２が重なった場合には、敵キャラクタＣ１の前にいる敵キャラクタＣ２については、プレーヤの攻撃により消滅する可能性が非常に高い。そして、敵キャラクタＣ２が消滅すれば、図８（Ｂ）で説明したような不具合は自然に解消してしまう。従って、このような場合には、図９のような敵キャラクタＣ１の移動処理は必要なく、その場で敵キャラクタＣ１を待機させれば十分となる。そして、敵キャラクタＣ１の移動処理を行わないようにすれば、処理負担の軽減化を図れるという利点が得られる。
【０１０５】
また、本実施形態では、敵キャラクタがプレーヤの視野外に移動した場合には、その敵キャラクタを消滅させるようにしている。
【０１０６】
例えば、図１４のＫ１に示すようにプレーヤからの攻撃が敵キャラクタＣ１にヒットし、図１４のＫ２に示すように敵キャラクタＣ１がプレーヤの視界外（画面外）に移動した場合を考える。このような場合に、図１４のＫ３に示すように本実施形態では、敵キャラクタＣ１を消滅させる。このようにすることで、敵キャラクタＣ１が視野外からプレーヤに攻撃を加えてくるという事態を効果的に防止できる。
【０１０７】
即ち、本実施形態では、図４で説明したようにヒット時の敵キャラクタのモーションをリアルタイムに生成しており、図６で説明したようにヒットの撃力により敵キャラクタがよろめきながら任意の方向に移動する。従って、プレーヤからの攻撃により、敵キャラクタが視野外に移動してしまう事態が生じる。そして、このように視野外に移動してしまった敵キャラクタからの攻撃を許すと、見えない敵キャラクタからプレーヤが攻撃されることになってしまい、図８（Ａ）、（Ｂ）と同様の不快感をプレーヤに与えてしまう。
【０１０８】
そこで、図１４のＫ３に示すように本実施形態では、視野外の敵キャラクタＣ１を消滅させるようにしている。このようにすれば、見えない敵キャラクタからプレーヤが攻撃されてしまうという事態を防止でき、プレーヤのゲームへの没入度、熱中度を維持できるようになる。
【０１０９】
３．本実施形態の処理
次に、本実施形態の詳細な詳細例について、図１５、図１６のフローチャートを用いて説明する。
【０１１０】
図１５は、本実施形態の全体的な処理の流れを示すフローチャートである。
【０１１１】
まず、モーションデータに基づくモーション再生を行う（ステップＳ１）。
【０１１２】
次に、プレーヤからのショットがヒットしたか否かを判断し（ステップＳ２）、ヒットしなかった場合には、ステップＳ１に戻りモーション再生を続行する。一方、ヒットした場合には、体力パラメータが０か否かを判断する（ステップＳ３）。そして、体力パラメータが０でない場合には、図５（Ａ）のＥ２に示すように、物理シミュレーションによるモーション生成処理に移行する（ステップＳ４）。
【０１１３】
次に、ヒット後から所与の時間が経過したか否かを判断し（ステップＳ５）、経過していない場合には、プレーヤからのショットがヒットしたか否かを判断する（ステップＳ６）。そして、ヒットした場合には、ステップＳ３で体力パラメータが０か否かを判断し、０でない場合にはステップＳ４のモーション生成処理を続行する。一方、ヒットしなかった場合には、ステップＳ３の体力パラメータの判断処理を行うことなく、ステップＳ４のモーション生成処理を続行する。
【０１１４】
ステップＳ５で所与の時間が経過したと判断された場合には、図９で説明したような敵キャラクタの復帰行動処理を行う（ステップＳ７）。即ち、ヒット時のモーションから復帰する行動を敵キャラクタに行わせ、モーション再生処理に切り替える。
【０１１５】
ステップＳ３で、体力パラメータが０であると判断された場合には、転倒モーションへの繋ぎモーションを再生（又は生成）する（ステップＳ８）。そして、図５（Ｂ）のＥ５に示すように、転倒モーションの再生処理に移行し（ステップＳ９）、敵キャラクタを消滅させる（ステップＳ１０）。
【０１１６】
図１６は、図１５のステップＳ７の復帰行動処理（敵キャラクタの行動アルゴリズム）に関するフローチャートである。
【０１１７】
まず、自身（敵キャラクタ）の現在位置を確認する（ステップＴ１）。そして、現在位置が画面外（視野外）か否かを判断し（ステップＴ２）、画面外である場合には、図１４のＫ３で説明したように自身（敵キャラクタ）を消滅させる（ステップＴ３）。
【０１１８】
次に、現在位置が画面端か否かを判断し（ステップＴ４）、画面端である場合には、予め設定された移動ポイントの中から最適な移動ポイントを選択して移動する（ステップＴ５）。
【０１１９】
次に、現在位置と視点とを結ぶ線（レイ）上に介在オブジェクト（障害物、他の敵キャラクタ）が存在するかを判断する（ステップＴ６）。そして、図９のＨ１のように障害物が線上に存在する場合には、図９のＨ２、Ｈ３のように攻撃を行うことなく最適の移動ポイントに移動する（ステップＴ７、Ｔ５）。また、図１３のＩ１のように他の敵キャラクタが線上に存在する場合には、図１３のＩ２、Ｉ３のように、他の敵キャラクタが消滅するまでその場で待機する（ステップＴ８、Ｔ９）。
【０１２０】
そして、介在オブジェクト（障害物、他の敵キャラクタ）が線上に存在しなくなったら、図９のＨ４、図１３のＩ４のように、プレーヤに対する攻撃を開始する（ステップＴ１０）。
【０１２１】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１７を用いて説明する。同図に示すシステムでは、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【０１２２】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてＤＶＤ、ゲームカセット、ＣＤＲＯＭ等が用いられる。また業務用ゲームシステムではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【０１２３】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【０１２４】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（システム本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００はシステム全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【０１２５】
更に、この種のシステムには音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１２６】
また、通信装置１０２４は画像生成システム内部で利用される各種の情報を外部とやりとりするものであり、他の画像生成システムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１２７】
そして図１〜図１６で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体１００６、この情報記憶媒体１００６からの情報等に基づいて動作するＣＰＵ１０００、画像生成ＩＣ１０１０或いは音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１２８】
図１に示すような業務用ゲームシステムに本実施形態を適用した場合には、内蔵されるシステムボード（サーキットボード）１１０６に対して、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装される。そして、本実施形態の処理（本発明の手段）を実行（実現）するための情報は、システムボード１１０６上の情報記憶媒体である半導体メモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１２９】
図１８（Ａ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＤＶＤ１２０６、メモリーカード１２０８、１２０９等に格納されている。
【０１３０】
図１８（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）１３０２を介して接続される端末１３０４-1〜１３０４-nとを含む画像生成システムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音処理ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１３１】
なお、図１８（Ｂ）の構成の場合に、本発明の処理を、ホスト装置（サーバー）と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１３２】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリーカード、携帯型ゲーム機）を用いることが望ましい。
【０１３３】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１３４】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３５】
また、本発明における介在オブジェクトは、図９、図１３で説明したような障害物、敵キャラクタに限定されず、味方キャラクタ、移動体、マップオブジェクト等、種々のものを考えることができる。
【０１３６】
また、コンピュータオブジェクトの行動の制御手法も、図９、図１３、図１４で説明した手法には限定されず、種々の変形実施が可能である。
【０１３７】
また、本発明は、コンピュータオブジェクトのモーションが図４、図６のように物理シミュレーションによりリアルタイムに生成される場合に特に有効であるが、コンピュータオブジェクトのモーションを物理シミュレーションにより生成しない場合にも本発明は適用できる。
【０１３８】
また、本実施形態では、コンピュータオブジェクトと視点とを結ぶ線上に介在オブジェクトが存在するか否かで、介在オブジェクトの介在を判断したが、本発明の判断手法はこれに限定されるものではない。また、このような判断を行うことなく、コンピュータオブジェクトの行動を制御するようにしてもよい。
【０１３９】
またコンピュータオブジェクトの移動位置については、予め用意されたものから選択するようにしてもよいし、移動位置をリアルタイムに生成するようにしてもよい。
【０１４０】
また、コンピュータオブジェクトからプレーヤへのアクションは、コンピュータオブジェクトによる攻撃であることが特に望ましいが、本発明におけるアクションはこれに限定されない。例えば、本発明におけるアクションとしては、ショットの発射以外の攻撃（キック、パンチ等）、送球、パス、捕捉、或いは衝突等、種々のものを考えることができる。例えば図１９（Ａ）、（Ｂ）に本実施形態をサッカーゲームに適用した場合のゲーム画像例を示す。図１９（Ａ）では、選手７０（コンピュータオブジェクト）が選手７２（プレーヤオブジェクト）にパス（アクション）しようとしているが、選手７０、７２間に選手７４（介在オブジェクト）が介在するためパスができない。そこで、このような場合には、選手７０の動作アルゴリズムが、選手７４の介在を検出して、図１９（Ｂ）のように、パスが可能な移動位置に選手７０を移動させ、選手７２へパス（アクション）をするようにする。
【０１４１】
また、コンピュータオブジェクトは図４、図６で説明した手法によりそのモーションを生成することが望ましいが、これ以外の手法によりモーション生成してもよい。
【０１４２】
また、各部位を動かす物理シミュレーションの手法は、図４、図６などで説明した手法が特に望ましいが、これに限定されるものでなく種々の変形実施が可能である。また、ヒット情報は、処理の簡素化のためにはヒット力ベクトルであることが特に望ましいが、これに限定されるものではなく、少なくとも各部位を動かすための情報であればよい。
【０１４３】
また、本実施形態では、敵キャラクタについてのモーション生成やモーション再生について主に説明したが、モーション生成やモーション再生の対象となるオブジェクトは敵キャラクタに限定されず、プレーヤキャラクタや移動体など種々のオブジェクトを考えることができる。
【０１４４】
また、本実施形態では、ショットによりオブジェクトがヒットされる場合を例にとり説明したが、本発明におけるオブジェクトのヒットは、これに限定されず、例えば、剣によるヒットや、パンチやキックによるヒット等も含まれる。
【０１４５】
また本発明はガンゲーム以外にも種々のゲーム（ガンゲーム以外のシューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１４６】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図１】本実施形態を業務用ゲームシステムに適用した場合の構成例を示す図である。
【図２】本実施形態の画像生成システムのブロック図の例である。
【図３】複数の部位により構成される敵キャラクタ（オブジェクト）の例について示す図である。
【図４】本実施形態におけるヒット時のモーション生成手法について説明するための図である。
【図５】図５（Ａ）、（Ｂ）は、モーション生成とモーション再生を切り替える手法について説明するための図である。
【図６】敵キャラクタの下半身モーションの生成について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、ヒットされた敵キャラクタがよろめきながら障害物の陰に移動する状況について説明するための図である。
【図８】図８（Ａ）、（Ｂ）は、敵キャラクタからの攻撃が障害物や他の敵キャラクタを貫通してプレーヤにヒットしてしまうという不具合について説明するための図である。
【図９】本実施形態による敵キャラクタの行動制御の手法について説明するための図である。
【図１０】図１０（Ａ）、（Ｂ）は、本実施形態により生成されるゲーム画像の例について示す図である。
【図１１】図１１（Ａ）、（Ｂ）も、本実施形態により生成されるゲーム画像の例について示す図である。
【図１２】図１２（Ａ）、（Ｂ）も、本実施形態により生成されるゲーム画像の例について示す図である。
【図１３】第１の敵キャラクタが他の第２の敵キャラクタの陰に隠れている場合には、第１の敵キャラクタを待機させる手法について説明するための図である。
【図１４】プレーヤの視野外に移動した敵キャラクタを消滅させる手法について説明するための図である。
【図１５】本実施形態の処理の詳細例について示すフローチャートである。
【図１６】本実施形態の処理の詳細例について示すフローチャートである。
【図１７】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１８】図１８（Ａ）、（Ｂ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【図１９】図１９（Ａ）、（Ｂ）は、本実施形態をサッカーゲームに適用した場合のゲーム画像例について示す図である。
【符号の説明】
１０          敵キャラクタ（オブジェクト）
１２、２２    手
１４、２４    前腕
１６、２６    上腕
１８          胸
２０          腰
３０          頭
３２、４２    足
３４、４４    すね
３６、４６    股
５０          左足
５２          右足
５４、５６    移動目標位置
６０          腰
Ａ０〜Ａ１８  骨
Ｊ０〜Ｊ１３  関節
ＲＰ          代表点
ＦＨ０〜ＦＨ４  ヒット力ベクトル
Ｐ            プレーヤキャラクタ
Ｃ１、Ｃ２    敵キャラクタ
ＯＢ          障害物
Ｐ１〜Ｐ４    移動ポイント
ＶＰ          視点
７０、７２、７４  選手
１００  処理部
１１０  ゲーム演算部
１１２  ヒットチェック部
１１４  モーション再生部
１１６  モーション生成部
１１８  ヒット時モーション生成部
１２０  下半身モーション生成部
１２２  切り替え部
１２４  行動制御部
１３０  操作部
１４０  記憶部
１４２  モーションデータ記憶部
１５０  情報記憶媒体
１６０  画像生成部
１６２  表示部
１７０  音生成部
１７２  音出力部
１７４  通信部
１７６  Ｉ／Ｆ部
１８０  メモリーカード
【図１】
0004278071.tif 000002
【図２】
0004278071.tif 000003
【図３】
0004278071.tif 000004
【図４】
0004278071.tif 000005
【図５】
0004278071.tif 000006
【図６】
0004278071.tif 000007
【図７】
0004278071.tif 000008
【図８】
0004278071.tif 000009
【図９】
0004278071.tif 000010
【図１０】
0004278071.tif 000011
【図１１】
0004278071.tif 000012
【図１２】
0004278071.tif 000013
【図１３】
0004278071.tif 000014
【図１４】
0004278071.tif 000015
【図１５】
0004278071.tif 000016
【図１６】
0004278071.tif 000017
【図１７】
0004278071.tif 000018
【図１８】
0004278071.tif 000019
【図１９】
0004278071.tif 000020