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