(57)【要約】【課題】  戦闘シーンにおけるいわゆる「やられ動作」及びこれに付随する動作を、より少ないデータ量で表現可能とすること。【解決手段】  被ダメージキャラクタＤＣに受けたダメージに応じた初速度ベクトルＶ０を設定し、初速度ベクトルＶ０に基づいて空中軌道ＡＲ及び着地位置Ｐｆを算出する。次いで、空中軌道ＡＲに沿って攻撃位置Ｐ０から着地位置Ｐｆまで移動するのに要する滞空時間Ｔｆ及びこの滞空時間Ｔｆに相当するフレーム数Ｎｆを算出し、算出したＮｆフレームに、空中での姿勢の変化を設定した空中姿勢モーションを適用する。空中姿勢モーションは、先頭コマが戦闘姿勢である起立姿勢に、最終コマが着地姿勢である仰向け姿勢に、それぞれ設定されている。【選択図】  図８
2005278957.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、所定方向への重力を有するゲーム空間を設定させ、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行わせるためのプログラムであって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を変化させるとともに、前記移動制御による前記被ダメージキャラクタの着地時の姿勢が常に一定の姿勢となるように空中姿勢を制御する姿勢制御手段、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記姿勢制御手段が、空中姿勢の変化が設定された基準モーションに従って前記被ダメージキャラクタの空中姿勢を変化させる制御を行うとともに、前記移動制御手段の移動制御による前記被ダメージキャラクタの着地時に前記基準モーションの最終姿勢となるように空中姿勢を制御する、ように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記姿勢制御手段が、前記移動制御による前記被ダメージキャラクタの着地時に前記基準モーションの最終姿勢となるように空中姿勢の変化速度を可変する速度可変手段を有する、ように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記基準モーションには、基準姿勢から転回してこの基準姿勢に戻る転回モーションと、前記基準姿勢から着地姿勢に至る着地モーションとが含まれ、
前記姿勢制御手段が、
前記滞空時間に基づいて前記被ダメージキャラクタを転回させる回数を決定する転回数決定手段と、
前記転回モーションに基づいて前記被ダメージキャラクタを前記決定された回数分転回させる制御を行うとともに、前記被ダメージキャラクタの転回速度を可変する制御を行う転回姿勢制御手段と、
前記転回姿勢制御手段による転回制御の後、前記着地モーションに基づいて前記被ダメージキャラクタを前記基準姿勢から着地姿勢に変化させる制御を行う着地姿勢制御手段と、
を有し、
前記転回姿勢制御手段が、前記移動制御手段の移動制御によって前記被ダメージキャラクタが着地した時に、前記着地姿勢制御手段により制御された前記被ダメージキャラクタの姿勢が着地姿勢となるように転回速度の可変制御を行う、
ように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項５】
前記転回数決定手段が、前記滞空時間から前記着地姿勢制御手段による着地姿勢の変化制御に要する時間を除いた転回時間に基づいて、前記被ダメージキャラクタを転回させる回数を決定するように前記コンピュータを機能させ、
前記転回姿勢制御手段が、前記転回時間をかけて前記決定された回数分前記被ダメージキャラクタを転回させる制御を行うように前記コンピュータを機能させるための請求項４に記載のプログラム。
【請求項６】
コンピュータに、所定方向への重力を有するゲーム空間を設定させ、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行わせるためのプログラムであって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を所定の基準モーションに従って所定速度で変化させる制御を行う姿勢制御手段、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段、
として前記コンピュータを機能させるとともに、
前記空中移動制御手段が、前記姿勢制御手段の前記所定速度での姿勢制御により、着地時の前記被ダメージキャラクタの姿勢が所定姿勢とならない場合に、所定姿勢となるように前記空中軌道及び／又は前記滞空時間を変化させて前記移動制御を行うように前記コンピュータを機能させるためのプログラム。
【請求項７】
コンピュータを、
ゲーム空間内のキャラクタを、該キャラクタに対する負荷に応じた所定の軌道を所定の時間で移動させる移動制御手段、
前記移動制御手段による移動中の前記キャラクタの姿勢を変化させるとともに、前記移動終了時における前記キャラクタの姿勢が常に一定となるように移動中の姿勢の変化を制御する姿勢制御手段、
として機能させるためのプログラム。
【請求項８】
請求項１〜７の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項９】
所定方向への重力を有するゲーム空間を設定し、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行うゲーム装置であって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段と、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を変化させるとともに、前記移動制御による前記被ダメージキャラクタの着地時の姿勢が常に一定の姿勢となるように空中姿勢を制御する姿勢制御手段と、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段と、
を備えることを特徴とするゲーム装置。
【請求項１０】
所定方向への重力を有するゲーム空間を設定し、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行うゲーム装置であって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段と、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を所定の基準モーションに従って所定速度で変化させる制御を行う姿勢制御手段と、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段と、
を備え、
前記空中移動制御手段が、前記姿勢制御手段の前記所定速度での姿勢制御により、着地時の前記被ダメージキャラクタの姿勢が所定姿勢とならない場合に、所定姿勢となるように前記空中軌道及び／又は前記滞空時間を変化させて前記移動制御を行うことを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、所定方向への重力を有するゲーム空間を設定させ、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタをゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行わせるためのプログラム等に関する。
【背景技術】
【０００２】
ビデオゲームでは、関節構造を有するモデルで成るキャラクタ（以下、単にキャラクタという）を動作させる際に、動作毎に予め用意されたモーションに従って制御することが一般的である。しかし、１つのモーションでは１つの動作パターンしか表現できないので、多様な表現を可能とするため、動作毎に複数のモーションが用意されていることが多い。
【０００３】
モーションに基づくキャラクタの制御として、操作タイミングに合わせてオブジェクトの移動モーションの速度を制御する技術が知られている。具体的には、例えばテニスゲームにおいて、操作入力によって選手（キャラクタ）にテニスラケットを振る動作（スウィング動作）を行わせる場合に、操作タイミングが適性タイミングに対して速い場合には動作の速度を遅く（低速）し、遅い場合には速く（高速）している（例えば、特許文献１）。
【０００４】
また、野球等の球技系ゲームにおいて、ボールの捕球時でのキャラクタの姿勢とボールの位置関係のずれに基づいてモーションを補正する技術も知られている。具体的には、例えば野球ゲームにおいて、野手（キャラクタ）がボールを捕球する捕球動作を行う際に、モーション群による野手の捕球時のグローブの位置とボールの到達位置との差分に応じて、モーション群に基づくモーションにおけるグローブの位置を補正している（例えば、特許文献２）。
【特許文献１】特開平１３−０２９６５４号公報
【特許文献２】特開平１４−０５２２４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＲＰＧ（ロールプレイングゲーム）やアクションゲーム等における戦闘シーンでは、攻撃によってダメージを受けたキャラクタ（被ダメージキャラクタ）は、受けたダメージ応じた、いわゆる「やられ動作（やられモーション）」を行う。「やられ動作」は、基本的には、ダメージを受けて飛ばされた後、落下（着地）する動作であり、受けたダメージに応じて、例えば着地する際の姿勢が異なる、空中での姿勢が異なる、或いは、飛ばされる高さや距離が異なる等、様々なパターンがある。
【０００６】
そして、「やられ動作」を行った後は、着地した際の状態（姿勢）から、再度、戦闘に戻るための動作（復帰動作）を行うことが普通である。即ち、この復帰動作を行わせるためのモーションを、着地した際の状態（姿勢）毎に用意しておく必要がある。従って、着地した際の状態（姿勢）が多様であればある程、より多くのモーションが必要になり、結果的に、「やられ動作」及びこれに付随する動作の表現に要するデータ量が膨大になるという問題が発生していた。
【０００７】
上記事情に鑑み、本発明は、戦闘シーンにおけるいわゆる「やられ動作」及びこれに付随する動作を、より少ないデータ量で表現可能とすることを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、第１の発明は、
コンピュータに、所定方向への重力を有するゲーム空間を設定させ、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行わせるためのプログラムであって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段（例えば、図９の空中移動制御部２３４）、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を変化させるとともに、前記移動制御による前記被ダメージキャラクタの着地時の姿勢が常に一定の姿勢となるように空中姿勢を制御する姿勢制御手段（例えば、図９の空中姿勢制御部２３６Ａ）、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段（例えば、図９の復帰動作制御部２４０）、
として前記コンピュータを機能させるためのプログラムである。
【０００９】
また、第９の発明は、
所定方向への重力を有するゲーム空間を設定し、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行うゲーム装置であって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段（例えば、図９の空中移動制御部２３４）と、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を変化させるとともに、前記移動制御による前記被ダメージキャラクタの着地時の姿勢が常に一定の姿勢となるように空中姿勢を制御する姿勢制御手段（例えば、図９の空中姿勢制御部２３６Ａ）と、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段（例えば、図９の復帰動作制御部２４０）と、
を備えるゲーム装置である。
【００１０】
この第１又は第９の発明によれば、被ダメージキャラクタをゲーム空間中（空中）に浮かせて落下させた後、復帰姿勢に変位させる場合に、受けたダメージに応じて空中軌道及び滞空時間が異なるように移動させるとともに、着地時の姿勢が常に一定の姿勢となるように空中姿勢を変化させることができる。
【００１１】
従って、ダメージを受けた被ダメージキャラクタを浮かせて落下させるといった、いわゆる「やられ動作」において、着地時の姿勢を常に一定の姿勢とすることができるので、着地した後の動作、即ち着地時の姿勢から復帰姿勢に変位させるためのモーションが１つで済む。この結果、「やられ動作」及びこれに付随する動作の表現に要するデータ量を削減できる。また、受けたダメージによって空中軌道及び滞空時間を変化できるので、例えば多くのダメージを受ける程、より高くより遠くまで飛ばされるといった、ダメージに応じた「やられ動作」を、データ量を増加させることなく表現可能となる。
【００１２】
第２の発明は、第１の発明のプログラムにおいて、
前記姿勢制御手段が、空中姿勢の変化が設定された基準モーションに従って前記被ダメージキャラクタの空中姿勢を変化させる制御を行うとともに、前記移動制御手段の移動制御による前記被ダメージキャラクタの着地時に前記基準モーションの最終姿勢となるように空中姿勢を制御する、ように前記コンピュータを機能させるためのプログラムである。
【００１３】
この第２の発明によれば、第１の発明と同様の効果を奏するとともに、空中姿勢の変化が設定された基準モーションに従って被ダメージキャラクタの空中姿勢を変化させ、着地時の姿勢がこの基準モーションの最終姿勢となるように空中姿勢を制御することができる。従って、基準モーションの最終姿勢を適当な着地姿勢に設定しておくことで、着地時の姿勢を常にこの着地姿勢とすることが可能となる。
【００１４】
第３の発明は、第２の発明のプログラムにおいて、
前記姿勢制御手段が、前記移動制御による前記被ダメージキャラクタの着地時に前記基準モーションの最終姿勢となるように空中姿勢の変化速度を可変する速度可変手段（例えば、図９の空中姿勢制御部２３６Ａ）を有する、ように前記コンピュータを機能させるためのプログラムである。
【００１５】
この第３の発明によれば、第２の発明と同様の効果を奏するとともに、被ダメージキャラクタの着地時の姿勢が基準モーションの最終姿勢となるように空中姿勢の変化速度を可変することができる。従って、空中姿勢の変化速度を可変することで、滞空時間に関わらずに着地時の姿勢を常に一定の姿勢とすることが可能となる。具体的には、空中姿勢の変化速度を、滞空時間が長い程遅く、滞空時間が短い程速くすることで、着地姿勢を基準モーションの最終姿勢とすることができる。
【００１６】
第４の発明は、第２の発明のプログラムにおいて、
前記基準モーションには、基準姿勢から転回してこの基準姿勢に戻る転回モーションと、前記基準姿勢から着地姿勢に至る着地モーションとが含まれ、
前記姿勢制御手段が、
前記滞空時間に基づいて前記被ダメージキャラクタを転回させる回数を決定する転回数決定手段（例えば、図２１の転回数算出部２３８）と、
前記転回モーションに基づいて前記被ダメージキャラクタを前記決定された回数分転回させる制御を行うとともに、前記被ダメージキャラクタの転回速度を可変する制御を行う転回姿勢制御手段（例えば、図２１の空中姿勢制御部２３６Ｂ）と、
前記転回姿勢制御手段による転回制御の後、前記着地モーションに基づいて前記被ダメージキャラクタを前記基準姿勢から着地姿勢に変化させる制御を行う着地姿勢制御手段（例えば、図１２の空中姿勢制御部２３６Ｂ）と、
を有し、
前記転回姿勢制御手段が、前記移動制御手段の移動制御によって前記被ダメージキャラクタが着地した時に、前記着地姿勢制御手段により制御された前記被ダメージキャラクタの姿勢が着地姿勢となるように転回速度の可変制御を行う、
ように前記コンピュータを機能させるためのプログラムである。
【００１７】
この第４の発明によれば、第２の発明と同様の効果を奏するとともに、被ダメージキャラクタを、基準モーションに含まれる転回モーションに基づいて滞空時間に基づく回数分だけ転回させた後、基準モーションに含まれる着地モーションに基づいて基準姿勢から着地姿勢に変化させることができる。また、着地した際の姿勢が着地姿勢になるように転回速度を可変することができる。従って、滞空時間に基づく回数だけ転回させることができるので、例えば滞空時間が長いほど多くの回数で転回させる等、「やられ動作」の表現に多様性を持たせることが可能となる。また、転回速度を可変できるので、転回が終了した時点での姿勢を、常に基準姿勢とすることが可能となる。
【００１８】
第５の発明は、第４の発明のプログラムにおいて、
前記転回数決定手段が、前記滞空時間から前記着地姿勢制御手段による着地姿勢の変化制御に要する時間を除いた転回時間に基づいて、前記被ダメージキャラクタを転回させる回数を決定するように前記コンピュータを機能させ、
前記転回姿勢制御手段が、前記転回時間をかけて前記決定された回数分前記被ダメージキャラクタを転回させる制御を行うように前記コンピュータを機能させるためのプログラムである。
【００１９】
この第５の発明によれば、第４の発明と同様の効果を奏するとともに、滞空時間から、基準姿勢から着地姿勢に変化させるのに要する時間を除いた転回時間に基づいて転回させる回数を決定し、この転回時間をかけて被ダメージキャラクタを決定した回数だけ転回させることができる。
【００２０】
第６の発明は、
コンピュータに、所定方向への重力を有するゲーム空間を設定させ、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行わせるためのプログラムであって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段（例えば、図２１の空中移動制御部２３４）、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を所定の基準モーションに従って所定速度で変化させる制御を行う姿勢制御手段（例えば、図２１の空中姿勢制御部２３６Ｂ）、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段（例えば、図２１の復帰動作制御部２４０）、
として前記コンピュータを機能させるとともに、
前記空中移動制御手段が、前記姿勢制御手段の前記所定速度での姿勢制御により、着地時の前記被ダメージキャラクタの姿勢が所定姿勢とならない場合に、所定姿勢となるように前記空中軌道及び／又は前記滞空時間を変化させて前記移動制御を行うように前記コンピュータを機能させるためのプログラムである。
【００２１】
また、第１０の発明は、
所定方向への重力を有するゲーム空間を設定し、ゲーム進行中に所与のダメージを受けた被ダメージキャラクタを前記ゲーム空間中に浮かせて落下させた後、復帰姿勢に変位させる制御を行うゲーム装置であって、
受けたダメージに応じて空中軌道及び滞空時間が異なるように前記被ダメージキャラクタの空中の移動制御を行う空中移動制御手段（例えば、図２１の空中移動制御部２３４）と、
前記空中移動制御手段による移動制御中の前記被ダメージキャラクタの空中姿勢を所定の基準モーションに従って所定速度で変化させる制御を行う姿勢制御手段（例えば、図２１の空中姿勢制御部２３６Ｂ）と、
前記空中移動制御手段による移動制御によって前記被ダメージキャラクタが着地した後、前記被ダメージキャラクタを前記復帰姿勢に変位させる制御を行う復帰制御手段（例えば、図２１の復帰動作制御部２４０）と、
を備え、
前記空中移動制御手段が、前記姿勢制御手段の前記所定速度での姿勢制御により、着地時の前記被ダメージキャラクタの姿勢が所定姿勢とならない場合に、所定姿勢となるように前記空中軌道及び／又は前記滞空時間を変化させて前記移動制御を行うゲーム装置である。
【００２２】
この第６又は第１０の発明によれば、被ダメージキャラクタをゲーム空間中（空中）に浮かせて落下させた後、復帰姿勢に変位させる場合に、受けたダメージに応じて空中軌道及び滞空時間が異なるように移動させるとともに、空中姿勢を所定の基準モーションに従って所定速度で変化させることができる。また、着地時の姿勢が所定姿勢とならない場合に、所定姿勢となるように空中軌道及び／又は滞空時間を変化させることができる。
【００２３】
即ち、空中軌道及び／又は滞空時間を変化させることで着地時の姿勢を常に所定姿勢とすることができる。従って、ダメージを受けた被ダメージキャラクタを浮かせて落下させるといったいわゆる「やられ動作」において、着地時の姿勢を常に一定の姿勢とすることができるので、着地した後の動作、即ち着地時の姿勢から復帰姿勢に変位させるためのモーションが１つで済む。この結果、「やられ動作」及びこれに付随する動作の表現に要するデータ量を削減できる。また、受けたダメージによって空中軌道及び滞空時間を変化できるので、例えば多くのダメージを受ける程、より高くより遠くまで飛ばされるといった、ダメージに応じた「やられ動作」の表現が、データ量を増加させることなく可能となる。
【００２４】
また、第７の発明は、
コンピュータを、
ゲーム空間内のキャラクタを、該キャラクタに対する負荷に応じた所定の軌道を所定の時間で移動させる移動制御手段（例えば、図９の空中移動制御部２３４）、
前記移動制御手段による移動中の前記キャラクタの姿勢を変化させるとともに、前記移動終了時における前記キャラクタの姿勢が常に一定となるように移動中の姿勢の変化を制御する姿勢制御手段（例えば、図９の空中姿勢制御部２３６Ａ）、
として機能させるためのプログラムである。
【００２５】
この第７の発明によれば、ゲーム空間内のキャラクタを、このキャラクタに対する負荷に応じた所定の軌道で所定の時間で移動させるとともに、移動終了時における姿勢が常に一定となるよう、移動中のキャラクタの姿勢を変化させることができる。
【００２６】
従って、例えばキャラクタとしてゲーム進行中に所与のダメージを受けた被ダメージキャラクタに適用した場合、被ダメージキャラクタを浮かせて落下させるといったいわゆる「やられ動作」において、移動終了時、即ち着地時の姿勢を常に一定することができるので、着地した後の動作を行わせるためのモーションが少なくて済む。またこの場合、受けたダメージがキャラクタに対する負荷となり、受けたダメージに応じて軌道を変化させることができるので、例えばより多くのダメージを受ける程、より高く、より遠くまで飛ばされるといった、ダメージに応じた「やられ動作」を、データ量を増加させることなく表現可能となる。
【００２７】
第８の発明は、第１〜７の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００２８】
ここでいう「情報記憶媒体」とは、コンピュータが記憶されている情報を読み取り可能な、例えばＣＤ−ＲＯＭ、ＭＯ、メモリカード、ＤＶＤ、ハードディスク、ＩＣメモリ等であってある。従って、この第７の発明によれば、該情報記憶媒体に記憶されている情報をコンピュータに読み取らせて演算処理を実行させることで、第１〜７の何れかの発明と同様の効果を奏することができる。
【発明の効果】
【００２９】
本発明によれば、戦闘シーンにおけるいわゆる「やられ動作」及びこれに付随する動作を、より少ないデータ量で表現できる。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照して、本発明を実施するための最良の形態を説明する。尚、以下では、家庭用ゲーム装置においてＲＰＧ（ロールプレイングゲーム）を実行する場合を説明するが、本発明の適用がこれに限定されるものではない。また、各図面において、関節構造を有するキャラクタモデル（以下、「キャラクタ」と称する。）を、適宜、簡略化して示すが、実際には、図１２のように、人間同様の関節構造を有していたり、他の複雑な構造を有していたりして良い。
【００３１】
［外観］
図１は、本発明を家庭用ゲーム装置に適用した一例を示す外観図である。同図に示すように、家庭用ゲーム装置１０００は、本体装置１１００と、ゲームコントローラ１１１０，１１１０と、スピーカ１２０２を具備するディスプレイ１２００と、を備える。ゲームコントローラ１１１０は本体装置１１００に接続され、ディスプレイ１２００は、画像信号及び音信号を伝送可能なケーブルＫによって本体装置１１００に接続されている。
【００３２】
本体装置１１００は、例えばＣＰＵやＩＣメモリ等を搭載した制御ユニットや、ＣＤ−ＲＯＭ１１０４等の情報記憶媒体の読取装置を具備する。そして、ＣＤ−ＲＯＭ１１０４等から読み出したゲーム情報と、ゲームコントローラ１１１０からの操作信号とに基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号及び音信号をディスプレイ１２００に出力して、ディスプレイ１２００にゲーム画面を表示させるとともに、スピーカ１２０２からゲーム音を出力させる。
【００３３】
本体装置１１００がゲーム処理を行うために必要なプログラムやデータ等を含むゲーム情報等は、例えば本体装置１１００に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１１０４やＩＣメモリ１１０６、メモリカード１１０８等に格納されている。ゲームコントローラ１１１０は、プレーヤがゲーム操作を入力するためのものであり、操作に応じた操作信号を本体装置１１００に出力する。プレーヤは、ディスプレイ１２００に表示されたゲーム画面を見ながらゲームコントローラ１１１０を操作してロールプレイングゲーム（ＲＰＧ）を楽しむ。
【００３４】
［第１実施形態］
先ず、第１実施形態を説明する。
【００３５】
＜原理＞
ＲＰＧでは、プレーヤが、操作対象であるプレーヤキャラクタを、仮想三次元空間（ゲーム空間）に背景やキャラクタ等の各種オブジェクトを配置して設定されたゲームステージ内で移動させ、発生する様々なイベントをクリアすることでゲームが進行される。そして、所与の視点、例えばプレーヤキャラクタに追従するように設定された仮想カメラＣＭからゲーム空間を見た３ＤＣＧ画像がゲーム画面としてディスプレイ１２００に表示される。
【００３６】
尚ここで、ゲーム空間は、ＸＺ平面を水平面とするＸＹＺ直交座標系によって定義されており、後述する位置やベクトル等は、特に断らない限り、このＸＹＺ座標系で表現されることとする。また、ゲーム空間は、現実空間と同様に鉛直下向き（Ｙ軸負方向）に重力が作用する重力場であることとする。
【００３７】
ＲＰＧでは、プレーヤキャラクタがゲームステージを移動中に敵キャラクタと遭遇すると、戦闘モードに突入して該敵キャラクタとの戦闘が開始される。
【００３８】
図２は、戦闘モードにおけるゲーム空間の概略図である。同図では、キャラクタＣＡとキャラクタＣＢとが戦闘を行っている。キャラクタＣＡ，ＣＢは、それぞれ、攻撃魔法を唱える、パンチやキックをする、武器（剣等）で斬りつける等の攻撃動作を行ったり、或いは、防御魔法を唱える、身を守るための防御体勢を取る、防具（盾）をかざす等、相手キャラクタの攻撃に対する防御動作を行ったりする。キャラクタＣＡ，ＣＢは、相手キャラクタの攻撃動作によってダメージを受けると、受けたダメージの大きさに応じてライフポイント（生命値）が低下する。そして、先にライフポイントが“ゼロ（０）”となったキャラクタが「負け」となって戦闘が終了する。
【００３９】
また、戦闘モードでは、相手キャラクタの攻撃によってダメージを受けたキャラクタ（以下、「被ダメージキャラクタ」と称する。）ＤＣは、受けたダメージに応じた、いわゆる「やられ動作」を行う。本実施形態では、この「やられ動作」の制御に特徴がある。
【００４０】
本実施形態における「やられ動作」では、被ダメージキャラクタＤＣは、上方に打ち上げられて空中に浮かんだ後、ゲーム空間に働く重力の作用によって落下する。同図（ａ）では、キャラクタＣＡがキャラクタＣＢを攻撃した様子を示している。即ち、キャラクタＣＢが被ダメージキャラクタＤＣである。被ダメージキャラクタＤＣであるキャラクタＣＢは、同図（ｂ）に示すように、この攻撃によって斜め後方に打ち上げられて空中に浮かんだ後、地面に落下（着地）する。
【００４１】
このとき、被ダメージキャラクタＤＣは、常に同一姿勢で着地するように制御される。ここでは、仰向けの姿勢（仰向け姿勢）で着地するように制御されることとするが、腹這い姿勢や逆さま姿勢（頭から着地する姿勢）等、どのような姿勢であっても良い。また、被ダメージキャラクタＤＣが打ち上げられる空中の高さや着地位置までの距離は、受けたダメージ等によって変化する。
【００４２】
具体的に説明する。
やられ動作の制御では、先ず、図３に示すように、被ダメージキャラクタＤＣを空中に浮かび上がらせる原動力となる初速度ベクトルＶ０が設定される。初速度ベクトルＶ０は、攻撃ベクトルＦ及び被ダメージキャラクタの体重Ｗによって決定される。
【００４３】
攻撃ベクトルＦとは、攻撃側のキャラクタ（攻撃キャラクタ；図２ではキャラクタＣＡ）による攻撃の大きさ（強さ）及び向きを表すベクトルである。攻撃ベクトルＦの大きさは、攻撃キャラクタのパワー等の攻撃能力やレベル、用いた攻撃の種類等によって決定される。攻撃ベクトルＦの大きさが大きい程、被ダメージキャラクタＤＣに多くのダメージが与えられることになる。
【００４４】
また、攻撃ベクトルＦの方向は、基本的には、攻撃キャラクタから被ダメージキャラクタＤＣへ向かう方向として設定されるが、例えば下から蹴り上げるようなキックを行った場合には略鉛直上向きの方向に設定される等、用いた攻撃の種類に応じて適当に設定される。
【００４５】
そして、初速度ベクトルＶ０は、その向きが攻撃ベクトルＦの向きとほぼ平行に設定される。これは、被ダメージキャラクタＤＣがダメージを受けることで後方へ飛ばされるような様子を表現するためである。
【００４６】
また、初速度ベクトルＶ０の大きさは、攻撃ベクトルＦの大きさに比例する値を、被ダメージキャラクタＤＣの体重Ｗで補正した値として設定される。これは、より多くのダメージを受ける程、或いは、被ダメージキャラクタの体重Ｗが軽い程、被ダメージキャラクタＤＣがより高く、また、より遠くまで飛ばされるような様子を表現するためである。
【００４７】
具体的には、次式（１）に示すように、攻撃ベクトルＦの大きさ｜Ｆ｜に、所定の係数ｋを乗じ、更に、所定の基準体重Ｗｂに対する被ダメージキャラクタＤＣの体重Ｗの割合ΔＭ（＝Ｍｂ／Ｍ）を乗じた値として設定される。
｜Ｖ０｜＝ｋ×ΔＭ×｜Ｆ｜      ・・・（１）
但し、ｋ≧０、である。
【００４８】
初速度ベクトルＶ０が設定されると、この初速度ベクトルＶ０を基に、被ダメージキャラクタＤＣが空中を移動する軌道（空中軌道）ＡＲが算出される。
【００４９】
図４は、空中軌道ＡＲの算出を説明するための図である。尚、同図では、説明の簡明のため、被ダメージキャラクタＤＣの代表点の位置を質点として扱っている。同図に示すように、被ダメージキャラクタＤＣは、ダメージを受けた位置（攻撃位置）Ｐ０（Ｘ０，Ｙ０，Ｚ０）において初速度ベクトルＶ０（Ｖｘ０，Ｖｙ０，Ｖｚ０）が与えられると、物理法則に従って次のように運動する。
【００５０】
即ち、ダメージを受けてからｔ秒後の被ダメージキャラクタＤＣの速度ベクトルＶ（Ｖｘ，Ｖｙ，Ｖｚ）は、次式（２ａ）〜（２ｃ）で与えられる。
Ｖｘ＝Ｖｘ０              ・・・（２ａ）
Ｖｙ＝Ｖｙ０−ｇ×ｔ      ・・・（２ｂ）
Ｖｚ＝Ｖｚ０              ・・・（２ｃ）
但し、ｇはゲーム空間に働く重力加速度である。
【００５１】
そして、式（２ａ）〜（２ｃ）より、被ダメージキャラクタＤＣのｔ秒後の位置Ｐ（Ｘ，Ｙ，Ｚ）が次式（３ａ）〜（３ｃ）で与えられる。
Ｘ＝Ｖｘ０×ｔ＋Ｘ０                      ・・・（３ａ）
Ｙ＝Ｖｙ０×ｔ−（ｇ×ｔ2）／２＋Ｙ０     ・・・（３ｂ）
Ｚ＝Ｖｚ０×ｔ＋Ｚ０                      ・・・（３ｃ）
【００５２】
即ち、式（３ａ）〜（３ｃ）より、被ダメージキャラクタＤＣが取り得るゲーム空間での軌道が定義される。そして、この軌道と地形オブジェクトとの交点を求めることで、被ダメージキャラクタＤＣが着地する位置（着地位置）Ｐｆ（Ｘｆ、Ｙｆ、Ｚｆ）が算出される。従って、式（３ａ）〜（３ｃ）で定義される軌道の内、攻撃位置Ｐ０から着地位置Ｐｆに至る部分が被ダメージキャラクタＤＣの空中軌道ＡＲとなる。つまり、空中軌道ＡＲは放物線を描く。
【００５３】
続いて、被ダメージキャラクタＤＣが空中軌道ＡＲに沿って移動するのに要する時間、即ち、攻撃位置Ｐ０から着地位置Ｐｆに到達するのに要する時間（滞空時間）Ｔｆが算出される。即ち、式（３ａ）〜（３ｃ）において、Ｐ（Ｘ，Ｙ，Ｚ）＝Ｐｆ（Ｘｆ，Ｙｆ，Ｚｆ）、となる時刻ｔが滞空時間Ｔｆとなる。例えば、戦闘が行われている場所が平坦（平地）である場合には、式（３ｂ）において、Ｙ＝Ｙ０、となる時刻ｔが滞空時間Ｔｆとなる。
【００５４】
滞空時間Ｔｆが算出されると、この滞空時間Ｔｆに相当するフレーム数（滞空フレーム数）Ｎｆが算出される。滞空フレーム数Ｎｆは、次式（４）に示すように、秒単位で表現された滞空時間Ｔｆ［秒］に１秒当たりの描画フレーム数ＦＮを乗することで算出される。
Ｎｆ＝Ｔｆ×ＦＮ      ・・・（４）
【００５５】
例えば、１秒間に６０フレームの割合で画像が描画されている場合には、滞空フレーム数Ｎｆは次式で与えられる。
Ｎｆ＝Ｔｆ×６０      ・・・（４ａ）
【００５６】
以下では、この滞空時間Ｔｆに相当するＮｆ枚のフレームを包括して「滞空フレーム」と称する。また、これらの滞空フレームの内、ｎ番目のフレームを「フレームＦ（ｎ）」と称する。但し、ｎ＝１，２，・・・，Ｎｆ、である。そして、１番目のフレームＦ（１）を「先頭フレームＦ（１）」と称し、Ｎｆ番目のフレームＦ（Ｎｆ）を「最終フレームＦ（Ｎｆ）」と称することとする。
【００５７】
このように、空中軌道ＡＲ及び滞空フレーム数Ｎｆが算出されると、算出したこれらの空中軌道ＡＲ及び滞空フレーム数Ｎｆに基づいて被ダメージキャラクタＤＣのやられ動作が制御される。本実施形態では、動作の構成要素である“移動”と“姿勢”とは独立して制御される。
【００５８】
（１）“移動”の制御
やられ動作における被ダメージキャラクタＤＣの“移動”は、算出された空中軌道ＡＲに沿って制御される。具体的には、図５に示すように、滞空時間Ｔｆの間、フレーム毎に被ダメージキャラクタＤＣの位置Ｐ（Ｘ，Ｙ，Ｚ）が、例えば式（３ａ）〜（３ｃ）に従って算出される。そして、算出したこの位置Ｐ（Ｘ，Ｙ，Ｚ）に被ダメージキャラクタＤＣが配置される。このように、被ダメージキャラクタＤＣは、空中軌道ＡＲに沿って攻撃位置Ｐ０から着地位置Ｐｆまで、滞空時間Ｔｆをかけて“移動”するように制御される。
【００５９】
（２）“姿勢”の制御
一方、やられ動作における被ダメージキャラクタＤＣの“姿勢”は、予め定められている空中姿勢モーションに従って制御される。空中姿勢モーションとは、空中での被ダメージキャラクタＤＣの姿勢を時系列で並べたものであり、時間ｔに対する姿勢の変化を表している。
【００６０】
図６は、空中姿勢モーションの一例を示す図である。空中姿勢モーションは、やられ動作の開始時点での姿勢である戦闘中の姿勢（戦闘姿勢）を先頭コマとし、着地姿勢を最終コマとする連続した複数のコマ（Ｍコマ）から構成される。また、途中のコマは、先頭コマの姿勢から徐々に変化して最終コマの姿勢（最終姿勢）となるように設定されている。
【００６１】
同図によれば、空中姿勢モーションの先頭コマ（＃１）は、キャラクタが起立した姿勢（起立姿勢）で戦闘を行っているために起立姿勢である。また、最終コマ（＃Ｍ）は、仰向け姿勢で着地するために仰向け姿勢となっている。そして、途中のコマ（＃１〜＃（Ｍ−１））は、起立姿勢から徐々に後方に倒れて仰向け姿勢となる過程の姿勢に設定されている。
【００６２】
このような空中姿勢モーションが滞空フレームに適用される。このとき、滞空フレームの先頭フレームＦ（１）及び最終フレームＦ（Ｎｆ）に、それぞれ、空中姿勢モーションの先頭コマ（＃１）及び最終コマ（＃Ｍ）を一致させるように適用される。そして、先頭フレームＦ（１）及び最終フレームＦ（Ｎｆ）を除く中間のフレームＦ（２）〜Ｆ（Ｎｆ−１）での姿勢は、フレーム数とコマ数の関係から、空中姿勢モーションの各コマを補間することによって算出（いわゆる、中割りのコマ）されたり、或いは、コマそのものが適用されたりする（以下、単に「補間」と称する。）。補間処理は、直線補間やスプライン補間等、公知の補間演算を用いることで実現できる。
【００６３】
図７は、空中姿勢モーションの適用例を示す図である。同図において、（ａ）、（ｃ）は、空中姿勢モーションが適用された滞空フレームでの姿勢を示し、（ｂ）は、空中姿勢モーションそのものを示している。詳細には、（ａ）は、滞空フレーム数Ｎｆが空中姿勢モーションのコマ数Ｍよりも小さい場合（Ｎｆ＝Ｎｆ１＜Ｍ）を示し、（ｃ）は、滞空フレーム数Ｎｆが空中姿勢モーションのコマ数Ｍよりも大きい場合（Ｎｆ＝Ｎｆ２＞Ｍ）を示している。
【００６４】
同図に示すように、（ａ）、（ｃ）の何れの場合も、最終フレームＦ（Ｎｆ１）、Ｆ（Ｎｆ２）は仰向け姿勢である。つまり、滞空フレーム数Ｎｆの多少（即ち、滞空時間Ｔｆの長短）に関わらず、最終フレームＦ（Ｎｆ）での姿勢は、常に仰向け姿勢となる。このとき、被ダメージキャラクタＤＣの空中での“姿勢”は、滞空フレーム数Ｎｆが少ない（即ち、滞空時間Ｔｆが短い）程速く変化し、滞空フレーム数Ｎｆが多い（即ち、滞空時間Ｔｆが長い）程遅く変化する。
【００６５】
従って、“移動”及び“姿勢”が制御された被ダメージキャラクタＤＣのやられ動作は、図８に示すようになる。即ち、被ダメージキャラクタＤＣは、ダメージを受けた攻撃位置Ｐ０での起立姿勢から徐々に後方に倒れつつ、放物線を描くように空中を移動し、仰向けの姿勢で着地位置Ｐｆに着地する。
【００６６】
このように、やられ動作では、滞空フレーム数Ｎｆ、即ち着地までに要するフレーム数を算出し、この滞空フレーム数Ｎｆから成る滞空フレームに、予め定められている空中姿勢モーションを適用することで被ダメージキャラクタＤＣの空中での“姿勢”を制御している。このため、空中軌道ＡＲや滞空時間Ｔｆに関わらず、常に一定の姿勢（ここでは、仰向け姿勢）で被ダメージキャラクタＤＣを着地させることができる。
【００６７】
やられ動作が終了すると、続いて復帰動作が行われる。復帰動作では、被ダメージキャラクタＤＣは、やられ動作が終了した位置（即ち、着地位置Ｐｆ）において、やられ動作の終了時点における姿勢（即ち、着地姿勢）から所定の復帰姿勢に復帰する（変位する）動作を行う。ここでは、戦闘を継続するため、着地姿勢である仰向け姿勢から起き上がり、再度、戦闘姿勢である起立姿勢に戻る動作を行う。
【００６８】
ところで、上述のように、やられ動作では、常に同一姿勢で着地するように制御されている。即ち、やられ動作の終了時点での姿勢は常に同一である。このため、復帰動作を制御するための復帰モーションは、少なくとも１パターンあれば済む。つまり、着地姿勢である仰向け姿勢から起上がって起立姿勢に戻るパターンである。
【００６９】
＜機能構成＞
図９は、第１実施形態における機能構成を示すブロック図である。同図によれば、第１実施形態は、機能的には、操作入力部１０と、処理部２０と、記憶部４０と、画像表示部７２と、音出力部７４と、を備えて構成される。
【００７０】
操作入力部１０は、プレーヤによる操作指示を受け付け、なされた操作に応じた操作信号を処理部２０に出力する。この機能は、例えばボタンスイッチやレバー、ダイヤル、マウス、キーボード、各種センサ等によって実現される。図１ではゲームコントローラ１１１０がこれに該当する。
【００７１】
処理部２０は、家庭用ゲーム装置１０００全体の制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、本体装置１１００に具備される制御ユニットがこれに該当する。
【００７２】
また、処理部２０は、主にゲームに係る演算処理を行うゲーム演算部２２と、ゲーム演算部２２の処理によって求められた各種のデータに基づき、仮想カメラＣＭ等の所与の視点から見たゲーム空間の画像の生成及びゲーム画面を表示させるための画像信号の生成を実行する画像生成部３２と、効果音やＢＧＭ等のゲーム音の生成及びゲーム音を出力させるための音信号の生成を実行する音生成部３４と、を含んでいる。
【００７３】
ゲーム演算部２２は、操作入力部１０から入力された操作信号や、記憶部４０から読み出したゲームプログラム４２やゲームデータ等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えばゲーム空間に背景やキャラクタ等の各種オブジェクトを配置してゲームステージを設定する処理、仮想カメラＣＭの配置処理、操作入力部１０からの操作信号に基づくプレーヤキャラクタの制御、オブジェクトの交差判定処理（ヒットチェック）、ダメージの算出処理等がある。
【００７４】
第１実施形態では、ゲーム演算部２２は、被ダメージキャラクタＤＣを制御する被ダメージキャラクタ制御部２２０Ａを含んでいる。また、この被ダメージキャラクタ制御部２２０Ａは、被ダメージキャラクタＤＣの「やられ動作」を制御するやられ動作制御部２３０Ａと、「復帰動作」を制御する復帰動作制御部２４０と、を含んでいる。やられ動作制御部２３０Ａは、更に、フレーム数算出部２３２と、空中移動制御部２３４と、空中姿勢制御部２３６Ａと、を含んでいる。
【００７５】
フレーム数算出部２３２は、被ダメージキャラクタＤＣが受けたダメージ等に基づいて滞空フレーム数Ｎｆを算出する。具体的には、図３に示したように、被ダメージキャラクタＤＣが受けた攻撃ベクトルＦ及び被ダメージキャラクタＤＣの体重Ｗに基づいて初速度ベクトルＶ０を設定する。次いで、図４に示したように、ダメージを受けた攻撃位置Ｐ０及び設定した初速度ベクトルＶ０に基づき、式（３）で定義される、被ダメージキャラクタＤＣが取り得るゲーム空間中の軌道を算出する。続いて、この軌道と、ステージデータ５２を参照して判断した戦闘が行われている場所の地形との交点を求め、着地位置Ｐｆとする。そして、攻撃位置Ｐ０からこの着地位置Ｐｆまで軌道に沿って移動するのに要する滞空時間Ｔｆを算出し、更に、式（４）に従って滞空フレーム数Ｎｆを算出する。
【００７６】
フレーム数算出部２３２によって算出された各データはフレーム数算出データ６２に格納される。図１０に、フレーム数算出データ６２のデータ構成の一例を示す。同図によれば、フレーム数算出データ６２には、攻撃位置（６２ａ）と、初速度ベクトル（６２ｂ）と、着地位置（６２ｃ）と、滞空時間（６２ｄ）と、滞空フレーム数（６２ｅ）と、が格納される。このフレーム数算出データ６２は、やられ動作が行われる毎に更新される。
【００７７】
図９において、空中移動制御部２３４は、被ダメージキャラクタＤＣの空中での“移動”を制御する。具体的には、滞空時間Ｔｆに相当する先頭フレームＦ（１）から最終フレームＦ（Ｎｆ）までの間、フレーム毎に、被ダメージキャラクタＤＣの位置Ｐを算出し、算出した位置Ｐに被ダメージキャラクタＤＣを配置する。
【００７８】
空中移動制御部２３４によって算出された位置Ｐは、順次、空中軌道データ６４に格納される。図１１に、空中軌道データ６４のデータ構成の一例を示す。同図によれば、空中軌道データ６４は、滞空フレームの各フレーム（６４ａ）における被ダメージキャラクタＤＣの位置（６４ｂ）を格納する。即ち、先頭フレームＦ（１）から最終フレームＦ（Ｎｆ）までの滞空フレーム数Ｎｆ分のデータを格納する。また、この空中軌道データ６４は、やられ動作が行われる毎に更新される。
【００７９】
図９において、空中姿勢制御部２３６Ａは、被ダメージキャラクタＤＣの空中での“姿勢”を制御する。具体的には、Ｎｆフレームから成る滞空フレームに、空中姿勢モーションデータ５６Ａに基づく空中姿勢モーションを適用する。このとき、先頭フレームＦ（１）及び最終フレームＦ（Ｎｆ）のそれぞれに、空中姿勢モーションの先頭コマ（＃１）及び最終コマ（＃Ｍ）を一致させる。即ち、先頭フレームＦ（１）から最終フレームＦ（Ｎｆ）までのＮｆフレームの間、フレーム毎に、空中姿勢モーションデータ５６Ａに基づく補間演算を行って被ダメージキャラクタＤＣの姿勢を算出する。そして、空中移動制御部２３４によって配置された被ダメージキャラクタＤＣの姿勢を、この算出した姿勢に制御する。
【００８０】
復帰動作制御部２４０は、やられ動作制御部２３０Ａによる被ダメージキャラクタＤＣのやられ動作の制御が終了した後、復帰モーションデータ５８に基づいて被ダメージキャラクタの復帰動作を制御する。
【００８１】
画像生成部３２は、ゲーム演算部２２による演算結果に基づき、幾何変換処理やシェーディング処理等を実行してゲーム画面を表示するためのゲーム画像（３ＤＣＧ画像）を生成し、生成した画像の画像信号を画像表示部７２に出力する。この機能は、例えばＣＰＵやＤＳＰ等の演算装置やその制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。
【００８２】
画像表示部７２は、画像生成部３２からの画像信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。この機能は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現される。図１では、ディスプレイ１２００がこれに該当する。
【００８３】
音生成部３４は、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部７４に出力する。この機能は、例えばＣＰＵやＤＳＰ等の演算装置及びその制御プログラムによって実現される。
【００８４】
音出力部７４は、音生成部３４からの音信号に基づいて、ＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ１２０２がこれに相当する。
【００８５】
記憶部４０は、処理部２０に家庭用ゲーム装置１０００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶するとともに、処理部２０の作業領域として用いられ、処理部２０が各種プログラムに従って実行した演算結果や操作入力部１０から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、本体装置１１００が具備するＣＤ−ＲＯＭ１１０４、ＩＣメモリ１１０６、メモリカード１１０８がこれに該当する。
【００８６】
また、記憶部４０は、処理部２０をゲーム演算部２２として機能させるためのゲームプログラム４２及びゲームデータを記憶する。第１実施形態では、ゲームプログラム４２として、ゲーム演算部２２を被ダメージキャラクタ制御部２２０Ａとして機能させるための被ダメージキャラクタ制御プログラム４２０Ａを記憶している。この被ダメージキャラクタ制御プログラム４２０Ａは、やられ動作制御部２３０Ａとして機能させるためのやられ動作制御プログラム２３０Ａと、復帰動作制御部２４０として機能させるための復帰動作制御プログラム４４０と、を含んでいる。また、やられ動作制御プログラム２３０Ａは、フレーム数算出部２３２として機能させるためのフレーム数算出プログラム４３２と、空中移動制御部２３４として機能させるための空中移動制御プログラム４３４と、空中姿勢制御部２３６Ａとして機能させるための空中姿勢制御プログラム４３６Ａと、を含んでいる。
【００８７】
また、記憶部４０は、ゲームデータとして、ステージデータ５２と、キャラクタデータ５４と、空中姿勢モーションデータ５６Ａと、復帰モーションデータ５８と、フレーム数算出データ６２と、空中軌道データ６４と、を記憶している。
【００８８】
ステージデータ５２は、ゲーム空間にゲームステージを設定（構築）するためのデータであり、地形データ、背景やキャラクタ等の各種のモデリングデータやテクスチャデータ等を含んでいる。
【００８９】
キャラクタデータ５４は、ゲームに登場する関節構造を有するキャラクタモデルに関するデータであり、キャラクタ毎に用意されている。図１２に、キャラクタデータ５４のデータ構成の一例を示す。同図によれば、キャラクタデータ５４は、モデル（５４ａ）と、関節構造（５４ｂ）と、体重（５４ｃ）と、位置（５４ｄ）と、姿勢（５４ｅ）と、を対応付けて格納している。
【００９０】
モデル（５４ａ）は、キャラクタをゲーム空間にモデリングするためのデータを格納する。また、マッピングするテクスチャデータもここに格納される。
【００９１】
関節構造（５４ｂ）は、キャラクタの階層化した関節構造のデータを格納する。具体的には、同図に示すように、人間を模したキャラクタの場合には、該キャラクタを、胴体、頭、右上腕、右前腕、右手、左上腕、左前腕、左手、・・・、といったパーツ（部位）に分け、胴体には、首関節（関節ａ）で頭が連結し、右肩関節（関節ｂ）で右上腕が連結し、左肩関節（関節ｅ）で左上腕が連結し、更に、右上腕には、右肘関節（関節ｃ）で右上腕が連結し、・・・・、といった具合に各パーツの関節での連結を階層化して格納する。
【００９２】
位置（５４ｄ）は、キャラクタの現在位置Ｐとして、該キャラクタの代表点での現在位置を格納する。また、姿勢（５４ｅ）は、関節構造（５４ｂ）によって定義されているキャラクタの各関節の角度（より具体的には、その関節で連結される部位同士の相対的な角度）を格納する。
【００９３】
図９において、空中姿勢モーションデータ５６Ａは、やられ動作における被ダメージキャラクタＤＣの“姿勢”を制御するための空中姿勢モーションのデータである。この空中姿勢モーションデータ５６Ａに基づき、空中姿勢制御部２３６Ａによって、やられ動作における被ダメージキャラクタＤＣの“姿勢”が制御される。
【００９４】
図１３に、空中姿勢モーションデータ５６Ａのデータ構成の一例を示す。同図によれば、空中姿勢モーションデータ５６Ａは、空中姿勢モーションを構成するコマ毎に、コマ番号（５６Ａ−ａ）と、設定されているキャラクタの姿勢（５６Ａ−ｂ）と、を対応付けて格納している。即ち、空中姿勢モーションのコマ数に等しいＭコマ分のデータを格納している。姿勢（５６Ａ−ｂ）は、キャラクタデータ５４において関節構造（５４ｂ）で定義されているキャラクタの各関節の角度を格納する。
【００９５】
図９において、復帰モーションデータ５８は、被ダメージキャラクタＤＣの復帰動作を制御するための復帰モーションのデータである。ここでは、被ダメージキャラクタＤＣが仰向け姿勢から起き上がり、戦闘姿勢である起立姿勢に戻る動作を行うためのモーションデータを格納している。この復帰モーションデータ５８に基づき、復帰動作制御部２４０によって、被ダメージキャラクタＤＣの復帰動作が制御される。
【００９６】
尚、空中姿勢モーションデータ５６Ａ及び復帰モーションデータ５８は、ゲームに登場するキャラクタが全て同一の関節構造であれば、それぞれ１種類のみを用意することで全てのキャラクタについて適用することができる。しかし、例えば人間を模したキャラクタと鳥を模したキャラクタとが登場する場合には、人間と鳥とでは関節構造が異なるため、登場するキャラクタの種類毎に、対応する空中姿勢モーションデータ５６Ａ及び復帰モーションデータ５８を用意する必要がある。そして、やられ動作及び復帰動作の制御を行う際には、それぞれ、被ダメージキャラクタＤＣの種類に応じた空中姿勢モーションデータ５６Ａ及び復帰モーションデータ５８を用いることになる。
【００９７】
＜処理の流れ＞
図１４は、第１実施形態における「やられ動作」に関わる処理の流れを示すフローチャートである。この処理は、被ダメージキャラクタ制御部２２０Ａが記憶部４０の被ダメージキャラクタ制御プログラム４２０Ａを実行することで実現される。尚、その他のゲーム処理については公知であるので、ここでの説明は省略する。
【００９８】
同図によれば、先ず、やられ動作制御部２３０Ａが被ダメージキャラクタＤＣのやられ動作を制御する。即ち、フレーム数算出部２３２が、受けた攻撃の種類（例えば、パンチか蹴りか等）に基づいて攻撃ベクトルＦを算出し、この攻撃ベクトルＦ及び被ダメージキャラクタＤＣの体重Ｗに基づいて初速度ベクトルＶ０を設定する（ステップＳ１１）。次いで、被ダメージキャラクタＤＣの現在位置を攻撃位置Ｐ０とし、算出した初速度ベクトルＶ０をこの攻撃位置Ｐ０において与えた場合に被ダメージキャラクタＤＣが取り得るゲーム空間での軌道を算出する（ステップＳ１２）。
【００９９】
フレーム数算出部２３２は、続いて、ステージデータ５２を参照して戦闘を行っている場所の地形を判断し、判断した地形と算出した軌道との交点を求めることで着地位置Ｐｆを算出する（ステップＳ１３）。そして、攻撃位置Ｐ０から着地位置Ｐｆまでこの軌道に沿って移動するのに要する時間、即ち滞空時間Ｔｆを算出するとともに、この滞空時間Ｔｆに相当する滞空フレーム数Ｎｆを算出する（ステップＳ１４）。
【０１００】
その後、算出した滞空フレーム数Ｎｆに相当するＮｆフレームの間、フレーム毎にループＡの処理が実行される。
【０１０１】
ループＡでは、空中移動制御部２３４が、例えば攻撃位置Ｐ０及び初速度ベクトルＶ０に基づき、式（３）に従って被ダメージキャラクタＤＣの次フレームでの位置Ｐを算出する（ステップＳ１５）。また、空中姿勢制御部２３６Ａが、空中姿勢モーションデータ５６Ａに基づく補間演算を行って、次フレームでの被ダメージキャラクタＤＣの姿勢を算出する（ステップＳ１６）。
【０１０２】
次いで、空中移動制御部２３４が、算出した位置Ｐに被ダメージキャラクタＤＣを配置し、また、空中姿勢制御部２３６Ａが、被ダメージキャラクタＤＣの姿勢を算出した姿勢となるように制御する（ステップＳ１７）。その後、画像生成部３２が、ゲーム空間に設定されている仮想カメラＣＭに基づく画像を生成して画像表示部７２に表示させる（ステップＳ１８）。そして、ループＡが終了する。
【０１０３】
ループＡが終了すると、続いて、復帰動作制御部２４０が、復帰モーションデータ５８に基づいて被ダメージキャラクタＤＣの復帰動作を制御する（ステップＳ１９）。そして、復帰動作の制御が終了すると、本処理は終了となる。
【０１０４】
＜ハードウェア構成＞
図１５は、本実施の形態における家庭用ゲーム装置１０００のハードウェア構成の一例を示す図である。同図によれば、家庭用ゲーム装置１０００は、ＣＰＵ１００２と、ＲＯＭ１００４と、ＲＡＭ１００６と、情報記憶媒体１００８と、画像生成ＩＣ１０１０と、音生成ＩＣ１０１２と、Ｉ／Ｏポート１０１４，１０１６とを有し、システムバス１０３０により相互にデータの入出力が可能に接続されている。また、画像生成ＩＣ１０１０には表示装置１０１８が接続され、音生成ＩＣ１０１２にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１４にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１６には通信装置１０２４が接続されている。
【０１０５】
ＣＰＵ１００２は、情報記憶媒体１００８に格納されているプログラムやデータ、ＲＯＭ１００４に格納されているシステムプログラムやデータ、コントロール装置１０２２によって入力される操作入力信号等に従って、家庭用ゲーム装置１０００全体の制御や各種データ処理を行う。このＣＰＵ１００２は、図９の処理部２０に該当する。
【０１０６】
ＲＯＭ１００４、ＲＡＭ１００６及び情報記憶媒体１００８は、図９の記憶部４０に該当する。ＲＯＭ１００４は、家庭用ゲーム装置１０００のシステムプログラムや、図９の記憶部４０に記憶されている情報の内、特に、予め設定されているプログラムやデータ等を記憶する。ＲＡＭ１００６は、ＣＰＵ１００２の作業領域として用いられる記憶手段であり、例えば、ＲＯＭ１００４や情報記憶媒体１００８の所与の内容、１フレーム分の画像データ、ＣＰＵ１００２の演算結果等が格納される。また、情報記憶媒体１００８は、ＩＣメモリカードや本体装置に着脱自在なハードディスクユニット、ＭＯ等によって実現される。
【０１０７】
画像生成ＩＣ１０１０は、ＣＰＵ１００２からの画像情報に基づいて表示装置１０１８に表示するゲーム画面の画素情報を生成する集積回路である。表示装置１０１８は、画像生成ＩＣ１０１０で生成された画素情報に基づくゲーム画面を表示する。この画像生成ＩＣ１０１０は、図９の画像生成部３２に該当し、表示装置１０１８は、図９の画像表示部７２、図１のディスプレイ１２００に該当する。
【０１０８】
音生成ＩＣ１０１２は、情報記憶媒体１００８やＲＯＭ１００４に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。この音生成ＩＣ１０１２は、図９の処理部２０に含まれる音生成部（不図示）に該当し、スピーカ１０２０は、図１のスピーカ１２０２に該当する。
【０１０９】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１０１２等で行われる処理は、ＣＰＵ１００２或いは汎用のＤＳＰ等によってソフトウェア的に実行されることとしても良い。
【０１１０】
コントロール装置１０２２は、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。このコントロール装置１０２２は、図９の操作入力部１０、図１のゲームコントローラ１１１０に該当する。
【０１１１】
音生成ＩＣ１０１２は、情報記憶媒体１００８やＲＯＭ１００４に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。この音生成ＩＣ１０１２は、図９の処理部２０に含まれる音生成部（不図示）に該当し、スピーカ１０２０は、図１のスピーカ１２０２に該当する。
【０１１２】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１０１２等で行われる処理は、ＣＰＵ１００２或いは汎用のＤＳＰ等によってソフトウェア的に実行されることとしても良い。
【０１１３】
コントロール装置１０２２は、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。このコントロール装置１０２２は、図９の操作入力部１０、図１のゲームコントローラ１１１０に該当する。
【０１１４】
＜作用・効果＞
以上のように、第１実施形態では、戦闘シーンにおける「やられ動作」の制御が次のように行われる。即ち、被ダメージキャラクタＤＣが受けた攻撃ベクトルＦ及び被ダメージキャラクタＤＣの体重Ｗに基づいて初速度ベクトルＶ０が設定される。次いで、この初速度ベクトルＶ０に基づき、被ダメージキャラクタＤＣが移動する空中軌道ＡＲ及び着地する着地位置Ｐｆが算出され、この空中軌道ＡＲに沿って攻撃位置Ｐ０から着地位置Ｐｆまで移動するのに要する滞空時間Ｔｆ及びこの滞空時間Ｔｆに相当する滞空フレーム数Ｎｆが算出される。そして、被ダメージキャラクタＤＣが、算出された空中軌道ＡＲに沿って攻撃位置Ｐ０からＰｆまで、滞空時間Ｔｆをかけて“移動”するように制御されるとともに、滞空時間Ｔｆに相当するＮｆフレームに空中姿勢モーションを適用することで“姿勢”が制御される。
【０１１５】
従って、被ダメージキャラクタＤＣを、受けたダメージ、即ち空中軌道ＡＲや滞空時間Ｔｆ等に関わらず、常に同一の姿勢（ここでは、仰向け姿勢）で着地させることができる。つまり、やられ動作の終了時点での姿勢、即ち着地姿勢が常に同一の姿勢であるため、やられ動作に続いて行われる「復帰動作」を制御するためのモーションが１つで済む。この結果、「やられ動作」及びこれに付随する動作の表現に要するデータ量を削減できる。
【０１１６】
また、受けた攻撃ベクトルＦに基づいて空中軌道ＡＲ及び滞空時間Ｔｆが算出されるので、例えば多くのダメージを受ける程（ダメージ量が大きい程）、より高くより遠くまで飛ばされるといった、ダメージに応じた「やられ動作」を、データ量を増加させることなく表現可能となる。
【０１１７】
［第２実施形態］
次に、第２実施形態を説明する。
尚、第２実施形態において上述した第１実施形態と同一要素については同符合を付し、詳細な説明を省略する。
【０１１８】
＜原理＞
第２実施形態では、被ダメージキャラクタＤＣが、やられ動作として、空中を転回（回転）しつつ移動する動作を行う点で第１実施形態と異なる。即ち、適用される空中姿勢モーションが第１実施形態と異なる。尚、常に同一の姿勢で着地するように制御される点では第１実施形態と同様である。
【０１１９】
図１６は、第２実施形態における空中姿勢モーションの一例を示す図である。同図に示すように、第２実施形態における空中姿勢モーションは、（Ａ）転回姿勢モーションと、（Ｂ）着地姿勢モーションと、から構成される。
【０１２０】
転回姿勢モーションは、被ダメージキャラクタＤＣに空中で転回する転回動作を行わせるためのモーションであり、合計Ｍ１コマで構成されている。即ち、転回姿勢モーションは、やられ動作の開始時点での姿勢である戦闘姿勢を先頭コマ（＃１）とし、この姿勢から徐々に転回するように変化して、再度、先頭コマ（＃１）に戻る過程の姿勢が設定されている。また、最終コマ（＃Ｍ１）は、複数回転回する場合の整合性を考慮して、先頭コマ（＃１）の姿勢に戻る１歩手前（１コマ分手前）の姿勢が設定されている。同図では、起立姿勢を先頭コマ（＃１）とし、この姿勢から後方に倒れるように転回して、再度、最終コマ（＃Ｍ１）で起立姿勢に戻る一歩手前の姿勢となるように設定されている。
【０１２１】
着地姿勢モーションは、被ダメージキャラクタＤＣに着地させる着地動作を行わせるためのモーションであり、合計Ｍ２コマで構成される。即ち、着地姿勢モーションは、転回姿勢モーションの最終コマ（＃Ｍ１）に続く姿勢を先頭コマ（＃１）とし、着地姿勢を最終コマ（＃Ｍ２）として設定されている、また、途中のコマ（＃２〜＃（Ｍ２−１））は、先頭コマ（＃１）である着地姿勢から徐々に変化して最終コマ（＃Ｍ２）である着地姿勢となるように設定されている。同図では、起立姿勢を先頭コマ（＃１）とし、この姿勢から後方に倒れ、最終コマ（＃Ｍ２）で着地姿勢である仰向け姿勢となるように設定されている。
【０１２２】
第２実施形態では、このような空中姿勢モーションが滞空フレームに適用される。詳細には、図１７に示すように、Ｎｆフレームから成る滞空フレームの内、先頭フレームＦ（１）からＮ１番目のフレームＦ（Ｎ１）までのＮ１フレームに、転回姿勢モーションが適用され、続く（Ｎ１＋１）番目のフレームＦ（Ｎ１＋１）から最終フレームＦ（Ｎ）までのＮ２（＝Ｎｆ−Ｎ１）フレームに、着地姿勢モーションが適用される。但し、１＜Ｎ１＜Ｎｆ、である。
【０１２３】
本実施形態では、転回姿勢モーションが適用される前半のフレーム（以下、「転回フレーム」と称する。）の数（転回フレーム数）Ｎ１と、着地姿勢モーションが適用される後半のフレーム（以下、「着地フレーム」と称する。）の数（着地フレーム数）Ｎ２とは、次式（５ａ）、（５ｂ）のように定められている。
Ｎ２＝Ｍ２            ・・・（５ａ）
Ｎ１＝Ｎｆ−Ｎ２
＝Ｎｆ−Ｍ２      ・・・（５ｂ）
【０１２４】
即ち、Ｎｆフレームから成る滞空フレームの内、着地姿勢モーションのコマ数に等しい後半のＭ２フレームに、着地姿勢モーションが適用され、この着地フレームを除いた残りの（Ｎｆ−Ｍ２）フレームに、転回姿勢モーションが適用される。
【０１２５】
（Ａ）転回姿勢フレームの適用
転回姿勢フレームの適用にあたっては、先ず、被ダメージキャラクタＤＣを空中で転回させる回数（転回数）Ｒが算出される。具体的には、転回フレーム数Ｎ１を転回姿勢モーションのコマ数Ｍ１で除算することで算出する。ここで、割り切れない（除算結果が自然数にならない）場合には、除算結果の小数点以下第１位を四捨五入した値（自然数）を転回数Ｒとする。尚、四捨五入ではなく、小数点以下第１位の桁を切り上げ／切り捨てることとしても良い。
【０１２６】
例えば、転回姿勢モーションのコマ数Ｍ１が「１０」である場合、転回フレーム数Ｎ１が「２０」であれば、転回数Ｒは「２（＝２０／１０）」と算出され、また、転回フレーム数Ｎ１が「２５」であれば、転回数Ｒは、除算結果（２．５＝２５／１０）の小数点以下第１位を四捨五入して「３」と算出される。
【０１２７】
転回数Ｒが算出されると、転回数Ｒに応じた転回適用姿勢モーションが生成される。具体的には、転回動作において、被ダメージキャラクタＤＣを転回数Ｒだけ転回させるため、図１８に示すように、転回姿勢モーションを転回数Ｒの数だけ繋げて一連のモーションとする。従って、生成される転回適用モーションのコマ数ＭＲは、次式（６）で与えられる。
ＭＲ＝Ｍ１×Ｒ      ・・・（６）
同図では、転回数Ｒが「２」の場合が示されており、従って、この場合に生成される転回適用姿勢モーションのコマ数ＭＲは「Ｍ１×２」となる。
【０１２８】
そして、この転回適用姿勢モーションが転回フレームに適用される。このとき、先頭フレームＦ（１）及びフレームＦ（Ｎ１）に、それぞれ、転回適用姿勢モーションの先頭コマ（＃１）及び最終コマ（＃ＭＲ）が一致するように適用される。
【０１２９】
図１９は、転回適用モーションの適用例を示す図であり、転回数Ｒが「２」（Ｒ＝２）の場合を示している。同図において、（ａ）は、転回適用姿勢モーションそのものを示し、（ｂ）は、転回適用姿勢モーションが適用された転回フレームでの姿勢を示している。
【０１３０】
このように、転回動作では、被ダメージキャラクタＤＣが転回数Ｒだけ転回するように制御される。そして、転回動作において姿勢が変化する速度は、転回フレーム数Ｎ１及び転回数Ｒによって変化する。即ち、転回フレーム数Ｎ１が同じであれば、転回数Ｒが多い程変化が速くなり、転回数Ｒが少ない程変化が遅くなる。また、転回数Ｒが同じであれば、Ｎ１が大きい程変化が遅くなり、Ｎ１小さい程変化が早くなる。また、転回動作の終了時点での被ダメージキャラクタＤＣの姿勢は、転回姿勢モーションの最終コマ（＃Ｍ１）の姿勢となる。
【０１３１】
（Ｂ）着地姿勢モーションの適用
そして、着地フレームに着地姿勢モーションが適用される。このとき、着地フレーム数Ｎ２と着地姿勢モーションのコマ数Ｍ２とは等しいので、着地フレームの各フレームと着地姿勢モーションの各コマとは１対１で対応する。即ち、フレームＦ（Ｎ１＋１）及び最終フレームＦ（Ｎｆ）に、着地姿勢モーションの先頭コマ（＃１）及び最終コマ（＃Ｍ２）が一致する。そして、着地動作における姿勢の変化の速度は常に一定である。
【０１３２】
従って、第２実施形態において“移動”及び“姿勢”が制御された被ダメージキャラクタＤＣのやられ動作は、図２０に示すようになる。即ち、被ダメージキャラクタＤＣは、攻撃位置Ｐ０から、後方に１又は複数回転回しつつ放物線を描いて空中を移動し、仰向けの姿勢で着地位置Ｐｆに着地する。
【０１３３】
＜機能構成＞
図２１は、第２実施形態における機能構成を示すブロック図である。
同図によれば、第２実施形態では、ゲーム演算部２２は、被ダメージキャラクタ制御部２２０Ｂを含んでいる。この被ダメージキャラクタ制御部２２０Ｂは、やられ動作制御部２３０Ｂと、復帰動作制御部２４０と、を含んでいる。やられ動作制御部２３０Ｂは、更に、フレーム数算出部２３２と、転回数算出部２３８と、空中移動制御部２３４と、空中姿勢制御部２３６Ｂと、を含んでいる。
【０１３４】
転回数算出部２３８は、被ダメージキャラクタＤＣを空中で転回させる転回数Ｒを算出する。具体的には、先ず、フレーム数算出部２３２によって算出された滞空フレーム数Ｎｆ及び着地姿勢モーションのコマ数Ｍ２に基づき、式（５ａ）、（５ｂ）に従って転回フレーム数Ｎ１及び着地フレーム数Ｎ２を算出する。次いで、算出したＮ１をＭ１で除算することで転回数Ｒを算出する。
【０１３５】
転回数算出部２３８によって算出された各データは転回数算出データ６６に格納される。図２２に、転回数算出データ６６のデータ構成の一例を示す。同図によれば、転回数算出データ６６は、滞空フレーム数（６６ａ）と、転回フレーム数（６６ｂ）と、着地フレーム数（６６ｃ）と、転回数（６６ｄ）と、を格納する。この転回数算出データ６６は、やられ動作が行われる毎に更新される。
【０１３６】
図２１において、空中姿勢制御部２３６Ｂは、やられ動作での被ダメージキャラクタＤＣの“姿勢”を制御する。具体的には、先ず、転回数算出部２３８によって算出された転回数Ｒに基づいて転回適用姿勢モーションを生成する。即ち、図１８に示したように、転回数Ｒに等しい数だけ転回姿勢モーションを繋げて一連のモーションにすることで生成する。生成された転回適用姿勢モーションは、転回適用姿勢モーションデータ６８に格納される。
【０１３７】
図２３は、転回適用姿勢モーションデータ６８のデータ構成の一例を示す図である。同図によれば、転回適用姿勢モーションデータ６８は、転回適用姿勢モーションを構成するコマ毎に、コマ番号（６８ａ）と、設定されているキャラクタの姿勢（６８ｂ）と、を対応付けて格納している。同図に示すように、転回適用姿勢モーションは、転回数Ｒが２以上であれば、その転回数Ｒ分の転回姿勢モーションを繋げて生成されたデータであるため、Ｍ１コマ毎に同一のデータ内容（姿勢）が繰り返し現れている。
【０１３８】
そして、空中姿勢制御部２３６Ｂは、Ｎｆフレームから成る滞空フレームの内、先頭フレームＦ（１）からフレームＦ（Ｎ１）までのＮ１フレームに、転回適用姿勢モーションデータ６８に基づく転回適用姿勢モーションを適用する。このとき、フレームＦ（１）及びフレーム（Ｎ１）に、転回適用姿勢モーションの先頭コマ（＃１）及び最終コマ（＃ＭＲ）が一致するように適用する。
【０１３９】
また、フレームＦ（Ｎ１＋１）から最終フレームＦ（Ｎｆ）までのＮ２フレームに、着地姿勢モーションデータ５６４に基づく着地姿勢モーションを適用する。このとき、フレームＦ（Ｎ１＋１）及び最終フレームＦ（Ｎｆ）に、着地姿勢モーションの先頭コマ（＃１）及び最終コマ（＃Ｍ２）が一致するように適用する。
【０１４０】
図２１において、記憶部４０は、ゲームプログラム４２として、ゲーム演算部２２を被ダメージキャラクタ制御部２２０Ｂとして機能させるための被ダメージキャラクタ制御プログラム４２０Ｂを記憶している。この被ダメージキャラクタ制御プログラム４２０Ｂは、やられ動作制御プログラム２３０Ｂと、復帰動作制御プログラム４４０と、を含んでいる。また、やられ動作制御プログラム２３０Ｂは、フレーム数算出プログラム４３２と、転回数算出部２３８として機能させるための転回数算出プログラム４３８と、空中移動制御プログラム４３４と、空中姿勢制御部２３６Ｂとして機能させるための空中姿勢制御プログラム４３６Ｂと、を含んでいる。
【０１４１】
また、記憶部４０は、ゲームデータとして、ステージデータ５２と、キャラクタデータ５４と、空中姿勢モーションデータ５６Ｂと、復帰モーションデータ５８と、フレーム数算出データ６２と、空中軌道データ６４と、転回数算出データ６６と、転回適用姿勢モーションデータ６８と、を記憶している。
【０１４２】
空中姿勢モーションデータ５６Ｂは、第２実施形態におけるやられ動作での被ダメージキャラクタＤＣの“姿勢”を制御するための空中姿勢モーションのデータである。図２４に、空中姿勢モーションデータ５６Ｂのデータ構成の一例を示す。同図に示すように、空中姿勢モーションデータ５６Ｂは、転回姿勢モーションデータ５６２と、着地姿勢モーションデータ５６４と、を含んでいる。
【０１４３】
転回姿勢モーションデータ５６２は、やられ動作を構成する転回動作での被ダメージキャラクタＤＣの“姿勢”を制御するための転回姿勢モーションのデータである。同図に示すように、転回姿勢モーションデータ５６２は、転回姿勢モーションを構成するコマ毎に、コマ番号（５６２ａ）と、設定されているキャラクタの姿勢（５６２ｂ）と、を対応付けて記憶している。即ち、転回姿勢モーションのコマ数であるＭ１コマ分のデータを格納している。
【０１４４】
また、着地姿勢モーションデータ５６４は、やられ動作を構成する着地動作での被ダメージキャラクタＤＣの“姿勢”を制御するための着地モーションのデータである。同図に示すように、着地姿勢モーションデータ５６４は、着地姿勢モーションを構成するコマ毎に、コマ番号（５６４ａ）と、設定されているキャラクタの姿勢（５６４ｂ）と、を対応付けて記憶している。即ち、着地姿勢モーションのコマ数であるＭ２コマ分のデータを格納している。
【０１４５】
＜処理の流れ＞
図２５は、第２実施形態におけるやられ動作に関わる処理の流れを説明するためのフローチャートである。この処理は、被ダメージキャラクタ制御部２２０Ｂが記憶部４０の被ダメージキャラクタ制御プログラム４２０Ｂを実行することで実現される。
【０１４６】
同図によれば、先ず、やられ動作制御部２３０Ｂが被ダメージキャラクタＤＣのやられ動作を制御する。即ち、フレーム数算出部２３２が、受けた攻撃の種類に応じて攻撃ベクトルを算出し、この攻撃ベクトルＦ及び被ダメージキャラクタＤＣの体重Ｗに基づいて初速度ベクトルＶ０を設定する（ステップＳ３１）。次いで、被ダメージキャラクタＤＣの現在位置を攻撃位置Ｐ０とし、算出した初速度ベクトルＶ０をこの攻撃位置Ｐ０において与えた場合に被ダメージキャラクタＤＣが取り得るゲーム空間での軌道を算出する（ステップＳ３２）。
【０１４７】
フレーム数算出部２３２は、続いて、ステージデータ５２を参照して戦闘を行っている場所の地形を判断し、判断した地形と算出した軌道との交点を求めることで着地位置Ｐｆを算出する（ステップＳ３３）。そして、攻撃位置Ｐ０から着地位置Ｐｆまでのこの軌道に沿って移動するのに要する時間（滞空時間Ｔｆ）を算出するとともに、この滞空時間Ｔｆに相当する滞空フレーム数Ｔｆを算出する（ステップＳ３４）。
【０１４８】
次いで、転回数算出部２３８が、算出された滞空フレーム数Ｎｆに基づき、式（５ａ）、（５ｂ）に従って転回フレーム数Ｎ１及び着地フレーム数Ｎ２を算出する。即ち、着地フレーム数Ｎ２を着地姿勢モーションのコマ数Ｍ２と等しい数とし、転回フレーム数Ｎ１を、滞空フレーム数Ｎｆからこの着地フレーム数Ｎ２を引いた数とする（ステップＳ３５）。
【０１４９】
そして、転回数算出部２３８は、算出した転回フレーム数Ｎ１及び転回姿勢モーションのコマ数Ｍ１に基づいて転回数Ｒを算出する。即ち、転回フレーム数Ｎ１を転回姿勢モーションのコマ数Ｍ１で除算する。割り切れない場合には、除算結果の小数点以下第１位を四捨五入（或いは、切り上げ／切り捨て）した値（自然数）を転回数Ｒとする（ステップＳ３６）。
【０１５０】
続いて、空中姿勢制御部２３６Ｂが、算出された転回数Ｒに等しい数の転回姿勢モーションを繋げて一連のデータとすることで、転回適用姿勢モーションを生成する（ステップＳ３７）。
【０１５１】
その後、算出した転回フレーム数Ｎ１に相当するＮ１フレームの間、フレーム毎にループＢの処理が実行される。
【０１５２】
ループＢでは、空中移動制御部２３４が、被ダメージキャラクタＤＣの次フレームでの位置Ｐを算出する（ステップＳ３８）。また、空中姿勢制御部２３６Ｂが、転回適用姿勢モーションデータ６８に基づく補間演算を行って、次フレームでの被ダメージキャラクタＤＣの姿勢を算出する（ステップＳ３９）。
【０１５３】
次いで、空中移動制御部２３４が、算出した位置Ｐに被ダメージキャラクタＤＣを配置し、また、空中姿勢制御部２３６Ｂが、配置された被ダメージキャラクタＤＣの姿勢を算出した姿勢となるように制御する（ステップＳ４０）。その後、画像生成部３２が、ゲーム空間に設定されている仮想カメラＣＭに基づく画像を生成して画像表示部７２に表示させる（ステップＳ４１）。そして、ループＢが終了する。
【０１５４】
ループＢが終了すると、続いて、着地フレーム数Ｎ２に相当するＮ２フレームの間、フレーム毎にループＣの処理が実行される。
【０１５５】
ループＣでは、空中移動制御部２３４が、被ダメージキャラクタＤＣの次フレームでの位置Ｐを算出する（ステップＳ４２）。また、空中姿勢制御部２３６Ｂが、着地姿勢モーションデータ５６４に基づいて、次フレームでの被ダメージキャラクタＤＣの姿勢を算出する（ステップＳ４３）。
【０１５６】
次いで、空中移動制御部２３４が、算出した位置Ｐに被ダメージキャラクタＤＣを配置し、また、空中姿勢制御部２３６Ｂが、配置された被ダメージキャラクタＤＣの姿勢を算出した姿勢となるように制御する（ステップＳ４４）。その後、画像生成部３２が、ゲーム空間に設定されている仮想カメラＣＭに基づく画像を生成して画像表示部７２に表示させる（ステップＳ４５）。そして、ループＣが終了する。
【０１５７】
ループＣが終了すると、続いて、復帰動作制御部２４０が、復帰モーションデータ５８に基づいて被ダメージキャラクタＤＣの復帰動作を制御する（ステップＳ４６）。そして、復帰動作の制御が終了すると、本処理は終了となる。
【０１５８】
＜作用・効果＞
以上のように、第２実施形態では、戦闘シーンにおける「やられ動作」の制御が次のように行われる。即ち、第１実施形態と同様に滞空フレーム数Ｎｆが算出される。次いで、滞空フレーム数Ｔｆから成る滞空フレームの内、転回動作をさせる転回フレームの数（転回フレーム数）Ｎ１と、着地動作をさせる着地フレームの数（着地フレーム数）Ｎ２とが決定され、更に、転回動作において被ダメージキャラクタＤＣを転回させる回数（転回数）Ｒが算出される。そして、Ｎ１フレームから成る転回フレームに、転回数Ｒの数だけ転回姿勢モーションを繋げた転回適用姿勢モーションが適用されるとともに、Ｎ２フレームから成る着地フレームに着地姿勢フレームが適用されることで、被ダメージキャラクタＤＣの“姿勢”が制御される。
【０１５９】
従って、被ダメージキャラクタＤＣを、受けたダメージ、即ち空中軌道ＡＲや滞空時間Ｔｆ等に関わらず、常に同一の姿勢（ここでは、仰向け姿勢）で着地させることができる。つまり、やられ動作の終了時点での姿勢、即ち着地姿勢が常に同一の姿勢であるため、やられ動作に続いて行われる「復帰動作」を制御するためのモーションが１つで済む。この結果、「やられ動作」及びこれに付随する動作の表現に要するデータ量を削減できる。
【０１６０】
また、受けた攻撃ベクトルＦに基づいて空中軌道ＡＲ及び滞空時間Ｔｆが算出されるので、例えば多くのダメージを受ける程、より高くより遠くまで飛ばされるといった、ダメージに応じた「やられ動作」を、データ量を増加させることなく表現可能となる。更に、空中を移動させる途中、滞空時間Ｔｆに応じた転回数Ｒで回転させることで、「やられ動作」の表現に多様性を持たせることが可能となる。
【０１６１】
［変形例］
尚、本発明の適用は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【０１６２】
（Ａ）空中での姿勢の変化速度を一定とする
上述した実施形態では、設定した初速度ベクトルＶ０に基づいて滞空時間Ｔｆを算出し、算出した滞空時間Ｔｆに相当するＮｆフレームから成る滞空フレームに空中姿勢モーションを適用することで、被ダメージキャラクタＤＣの着地時の姿勢（着地姿勢）を常に一定の姿勢（仰向け姿勢）としている。即ち、空中姿勢の変化速度を可変しているが、これを一定とし、滞空時間Ｔｆを可変することで着地時の姿勢を常に一定の姿勢にすることとしても良い。
【０１６３】
具体的には、例えば第２実施形態において、転回フレーム数Ｎ１を、次式（７）に従った転回フレーム数Ｎ１´に変更する。
Ｎ１´＝Ｍ１×Ｒ      ・・・（７）
即ち、転回フレーム数Ｎ１を、転回姿勢モーションのコマ数Ｍ１の倍数に変更する。
【０１６４】
そして、転回フレーム数Ｎ１´のフレームに転回適用姿勢モーションを適用する。従って、転回フレームの各フレームＦ（１）〜Ｆ（Ｎ１´）と、転回適用姿勢モーションの各コマ（＃１）〜（＃ＮＲ）とが１対１で対応することになる。このため、転回動作における被ダメージキャラクタＤＣの姿勢の変化速度は、常に一定となる。
【０１６５】
このとき、被ダメージキャラクタＤＣの“移動”は、次のように制御する。
（Ａ−１）空中軌道ＡＲを変化させない
例えば、変更前の転回フレーム数Ｎ１で移動させた場合の各フレーム（フレームＦ（１）〜Ｆ（Ｎ１））での被ダメージキャラクタＤＣの位置Ｐを補間することで、変更後の転回フレーム数Ｎ１´で移動させた場合の各フレーム（フレームＦ（１）〜Ｆ（Ｎ１´））での位置Ｐ´を算出する。この場合、空中軌道ＡＲは変化することなく、被ダメージキャラクタＤＣの“移動”の速度が変化することになる。
【０１６６】
（Ａ−２）空中軌道ＡＲを変化させる
或いは、次式（８）に従って、変更後の滞空フレーム数Ｎｆ´を算出する。
Ｎｆ´＝Ｎ１´＋Ｎ２      ・・・（８）
次いで、次式（９）に従って、変更後の滞空フレーム数Ｎｆ´に相当する滞空時間Ｔｆ´を算出する。
Ｔｆ´＝Ｎｆ´／ＦＮ      ・・・（９）
但し、ＦＮは１秒当たりの描画フレーム数である。
【０１６７】
続いて、放物線を描いて攻撃位置Ｐ０及び着地位置Ｐｆを通る軌道であり、且つ、該軌道に沿って攻撃位置Ｐ０から着地位置Ｐｆまで移動するのに要する時間が滞空時間Ｔｆ´となる軌道を算出する。そして、この軌道の内、攻撃位置Ｐ０から着地位置Ｐｆに至る部分を新たな空中軌道ＡＲとし、この空中軌道ＡＲに沿うように被ダメージキャラクタＤＣを“移動”させる。
【０１６８】
（Ｂ）「やられ動作」の最中に、再度ダメージを受けた場合
また、上述した実施形態は、「やられ動作」の最中、即ち空中を移動中の被ダメージキャラクタＤＣが、再度、ダメージを受けた場合にも適用可能である。その場合には、図２６に示すように、被ダメージキャラクタＤＣが、再度ダメージを受けた位置Ｐｄを新たな攻撃位置Ｐ０´として、同様に、該ダメージに応じた初速度ベクトルＶ０´を再設定する。そして、この再設定した初速度ベクトルＶ０´に基づいて空中軌道ＡＲ´及び滞空フレーム数Ｎｆ´を再算出し、以降は、これに基づいて被ダメージキャラクタＤＣの“移動”及び“姿勢“を制御する。
【０１６９】
（Ｃ）被ダメージキャラクタＤＣ
また、上述した実施形態では、２人のキャラクタＣＡ，ＣＢが戦闘を行う場合を説明したが、直接交戦している場合に限らず、例えば遠く離れているキャラクタから銃等によって攻撃（銃撃）された場合や、地中に埋められている地雷を踏んだ場合等、何らかの外的ダメージを受けたキャラクタについても同様に適用可能である。また、被ダメージキャラクタＤＣは、人間等のキャラクタに限らず、自動車や飛行機等のオブジェクトにも同様に適用可能である。この場合、例えば２台の飛行機が衝突（空中衝突）するような場合にも適用可能である。
【０１７０】
（Ｄ）適用するゲーム装置
また、上述した実施形態では、本発明を家庭用ゲーム装置に適用した場合について説明したが、図１に示した家庭用ゲーム装置１０００のみではなく、業務用ゲーム装置や携帯型ゲーム装置、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
【０１７１】
例えば、図２７は、本発明を業務用ゲーム装置に適用した一例を示す外観図である。同図によれば、業務用ゲーム装置１３００は、ゲーム画面を表示するディスプレイ１３０２と、ゲームの効果音やＢＧＭを出力するスピーカ１３０４と、前後左右方向を入力するジョイスティック１３０６と、プッシュボタン１３０８と、演算処理によって業務用ゲーム装置１３００を統合的に制御して所与のゲームを実行する制御ユニット１３１０とを備える。
【０１７２】
制御ユニット１３１０は、ＣＰＵ等の演算処理装置と、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭを搭載する。制御ユニット１３１０に搭載されるＣＰＵは、ＲＯＭに記憶されたプログラムやデータを適宜読み出して演算処理することによって、ゲーム処理等の種々の処理を実行する。プレーヤは、ディスプレイ１３０２に表示されたゲーム画面を見て、スピーカ１３０４から出力されるゲーム音声を聞きながら、ジョイスティック１３０６やプッシュボタン１３０８を操作してゲームを楽しむ。
【図面の簡単な説明】
【０１７３】
【図１】本発明を適用した家庭用ゲーム装置の外観図。
【図２】戦闘モードでのゲーム空間の概略図。
【図３】初速度ベクトルＶ０の設定を説明する図。
【図４】空中軌道の算出を説明する図。
【図５】「やられ動作」における“位置”の制御を説明する図。
【図６】第１実施形態における空中姿勢モーションの一例。
【図７】空中姿勢モーションの適用例。
【図８】第１実施形態における「やられ動作」の一例。
【図９】第１実施形態の機能構成図。
【図１０】フレーム数算出データのデータ構成例。
【図１１】空中軌道データのデータ構成例。
【図１２】キャラクタデータのデータ構成例。
【図１３】第１実施形での空中姿勢モーションデータのデータ構成例。
【図１４】第１実施形態でのやられ動作に関する処理の流れを示すフローチャート。
【図１５】家庭用ゲーム装置のハードウェア構成例。
【図１６】第２実施形態における空中姿勢モーションの一例。
【図１７】転回フレーム及び着地フレームを説明する図。
【図１８】転回適用姿勢モーションの生成を説明する図。
【図１９】転回適用姿勢モーションの適用例。
【図２０】第２実施形態における「やられ動作」の一例。
【図２１】第２実施形態の機能構成図。
【図２２】転回数算出データのデータ構成例。
【図２３】転回適用姿勢モーションデータのデータ構成例。
【図２４】空中姿勢モーションデータのデータ構成例。
【図２５】第２実施形態でのやられ動作に関する処理の流れを示すフローチャート。
【図２６】「やられ動作」の最中に再度ダメージを受けた場合を説明する図。
【図２７】本発明を適用した業務用ゲーム装置に適用した場合の外観例。
【符号の説明】
【０１７４】
１０００                      家庭用ゲーム装置
１０                        操作入力部
２０                        処理部
２２                      ゲーム演算部
２２０Ａ、２２０Ｂ      被ダメージキャラクタ制御部
２３０Ａ、２３０Ｂ    やられ動作制御部
２３２              フレーム数算出部
２３４              空中移動制御部
２３６Ａ、２３６Ｂ  空中姿勢制御部
２３８              転回数算出部
２４０                復帰動作制御部
３２                      画像生成部
３４                      音生成部
４０                        記憶部
４２                      ゲームプログラム
４２０Ａ、４２０Ｂ      被ダメージキャラクタ制御プログラム
４３０Ａ、４３０Ｂ    やられ動作制御プログラム
４３２              フレーム数算出プログラム
４３４              空中移動制御プログラム
４３６Ａ、４３６Ｂ  空中姿勢制御プログラム
４３８              転回数算出プログラム
４４０                復帰動作制御プログラム
５２                      ステージデータ
５４                      キャラクタデータ
５６Ａ、５６Ｂ            空中姿勢モーションデータ
５６２                転回姿勢モーションデータ
６６４                着地姿勢モーションデータ
５８                      復帰モーションデータ
６２                      フレーム数算出データ
６４                      空中軌道データ
６６                      転回数算出データ
６８                      転回適用姿勢モーションデータ
７２                        画像表示部
７４                        音出力部
ＤＣ  被ダメージキャラクタ
ＡＲ  空中軌道
【図１】
2005278957.tif 000003
【図２】
2005278957.tif 000004
【図３】
2005278957.tif 000005
【図４】
2005278957.tif 000006
【図５】
2005278957.tif 000007
【図６】
2005278957.tif 000008
【図７】
2005278957.tif 000009
【図８】
2005278957.tif 000010
【図９】
2005278957.tif 000011
【図１０】
2005278957.tif 000012
【図１１】
2005278957.tif 000013
【図１２】
2005278957.tif 000014
【図１３】
2005278957.tif 000015
【図１４】
2005278957.tif 000016
【図１５】
2005278957.tif 000017
【図１６】
2005278957.tif 000018
【図１７】
2005278957.tif 000019
【図１８】
2005278957.tif 000020
【図１９】
2005278957.tif 000021
【図２０】
2005278957.tif 000022
【図２１】
2005278957.tif 000023
【図２２】
2005278957.tif 000024
【図２３】
2005278957.tif 000025
【図２４】
2005278957.tif 000026
【図２５】
2005278957.tif 000027
【図２６】
2005278957.tif 000028
【図２７】
2005278957.tif 000029