説明

画像生成システム及び情報記憶媒体

【課題】 よりリアルなモーション表現を少ないデータ量で実現できる画像生成システム及び情報記憶媒体を提供すること。
【解決手段】 接地している左足50を支点として倒れるように動くと共に倒れるのを制限する移動目標位置54に接地していない右足52が移動するように、敵キャラクタのモーションを生成する。敵キャラクタの仮想重心に仮想重力を作用させることで得られる力を腰60に作用させることで、敵キャラクタに倒れ動作を行わせる。仮想重心の接地面への投影位置に関して左足と点対称の位置に移動目標位置54を設定する。両足が接地している場合には腰に近い方の足を浮かせる。敵キャラクタの部位がヒットされると、物理シミュレーションでその前腕を動かすと共にヒット力ベクトルを順次伝達して親の部位を動かす。ヒット時や所与の時間が経過したり体力パラメータが0になった時に、モーション生成、モーション再生間の切り替えを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成システム及び情報記憶媒体に関する。
【背景技術】
【0002】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ(操作者)は、銃などを模して作られたガン型コントローラ(シューティングデバイス)を用いて、画面に映し出される敵キャラクタ(オブジェクト)などの標的オブジェクトをシューティングすることで、3次元ゲームを楽しむ。
【発明の開示】
【発明が解決しようとする課題】
【0003】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、敵キャラクタのモーションについてもリアルに表現できることが望まれる。そして、これまでの画像生成システムでは、予め用意されたモーションデータを選択し、選択されたモーションデータに基づきモーション再生することで敵キャラクタのモーションを表現していた。
【0004】
しかしながら、このようにモーションデータに基づきモーション再生する手法には、以下のような問題点があった。
(1)敵キャラクタを撃っても、敵キャラクタはいつも同じ動きしか行わないため、モーションの表現が単調になる。
(2)敵キャラクタに追い撃ちをかけた場合に、1発目のショット(弾)のヒットにより開始したモーション再生が、2発目のショットのヒットにより打ち切られてしまい、敵キャラクタのモーションが不自然になる。
(3)敵キャラクタのモーションのバリエーションを増やすためには、それに比例してモーションデータを増やす必要がある。しかしながら、モーションデータを記憶するメモリの容量は有限であるため、モーションのバリエーションの増加には限界がある。
【0005】
また、これまでの画像生成システムでは、多数のショットがヒットすることにより、敵キャラクタがよろけながら後ずさりするというようなリアルなモーション表現を実現できなかったという課題もある。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、よりリアルなモーション表現を少ないデータ量で実現できる画像生成システム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、複数の部位により構成されるオブジェクトが、接地している第1の部位を支点として倒れるように動くと共に、オブジェクトが倒れるのを制限する位置に設定された移動目標位置に、接地していない第2の部位が移動するように、オブジェクトのモーションを生成する手段と、モーションが生成されたオブジェクトの画像を含む画像を生成する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム或いはデータ等)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するための処理ルーチンを含むことを特徴とする。
【0008】
本発明によれば、まず、接地している第1の部位(例えば左足)を支点として倒れるようにオブジェクトが動く。そして、それと同時に、オブジェクトが倒れる(傾く)のを制限する位置(支える位置)である移動目標位置に、接地していない第2の部位(例えば右足)が移動する。このようにオブジェクトのモーションを生成することで、例えば、倒れそうでなかなか倒れず、よろけながら動くオブジェクトのモーションを表現できるようになる。これにより、モーション再生では得られないリアルで多様なモーション表現を実現できる。
【0009】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトの仮想重心に仮想重力を作用させることで得られる力を、オブジェクトの代表点に作用させることで、前記第1の部位を支点として倒れるようにオブジェクトを動かすことを特徴とする。このようにすれば、あたかも本当の重力の作用によりオブジェクトがバランスを崩して倒れているかのように見せることができ、画像のリアル度を増すことができる。
【0010】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第2の部位の前記移動目標位置が、オブジェクトの仮想重心を接地面に投影した位置に関して前記第1の部位と点対称の位置であることを特徴とする。このようにすれば、倒れそうなオブジェクトを安定的に支えることができるようになり、倒れそうでなかなか倒れないというオブジェクトの動きを表現できるようになる。
【0011】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第1、第2の部位が共に接地している場合には、前記第1、第2の部位のいずれか一方を浮かせることを特徴とする。このようにすれば、第1、第2の部位が接地した状態でオブジェクトが全く動かなくなるという事態を防止できるようになる。
【0012】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトの第Nの部位がヒットされた場合に、ヒット情報に基づく物理シミュレーションにより第Nの部位を動かすと共に第N+1の部位、第N+2の部位、第N+3の部位・・・・にヒット情報を順次伝達し、伝達されたヒット情報に基づく物理シミュレーションにより第N+1の部位、第N+2の部位、第N+3の部位・・・・を順次動かして、オブジェクトのモーションを生成することを特徴とする。
【0013】
本発明によれば、オブジェクトの第Nの部位がヒットされると、ヒット情報に基づく物理シミュレーション(疑似的な物理シミュレーションを含む)により、第Nの部位が動く(回転又は移動する)ようになる。また、ヒット情報が第N+1、第N+2の部位等に順次伝達され、伝達されたヒット情報に基づいて第N+1、第N+2の部位等が動くようになる。本発明によれば、このようにしてオブジェクトのモーションが生成されるため、例えばヒット位置、ヒット方向等に応じて、オブジェクトが異なったモーションを行うようになる。この結果、リアルで多様なモーション表現を実現できる。
【0014】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ヒット情報が、ヒット方向に向く力ベクトルであり、前記力ベクトルにより求められる回転モーメントにより各部位を動かすことを特徴とする。このようにすれば、力ベクトルで各部位を動かしたり、力ベクトルを各部位に伝達するだけという簡素な処理で、リアルで多様なモーション表現を実現できるようになる。
【0015】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、各部位に力ベクトルを伝達する際に、伝達する力ベクトルの大きさを順次減衰させることを特徴とする。このようにすれば、ヒット位置に近い部位ほど大きく動くようになり、リアルなモーション変化を簡素な処理で実現できるようになる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、各部位の角速度に応じた回転抵抗力を、各部位に作用させることを特徴とする。このようにすれば、各部位の角速度が過大になって、生成されるモーションが不自然なものになってしまう事態を防止できるようになる。
【0017】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトを所与の姿勢に戻すための復元力を、各部位に作用させることを特徴とする。このようにすれば、例えば、連続してヒットされた場合にも、なかなか倒されないようなオブジェクトを表現できるようになる。
【0018】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトがヒットされた場合に、オブジェクトのモーションをモーションデータに基づき再生する処理から、オブジェクトのモーションを物理シミュレーションにより生成する処理に切り替えることを特徴とする。
【0019】
本発明によれば、例えばオブジェクトがヒットされる前は、モーション再生によりオブジェクトが動き、オブジェクトがヒットされると、モーション生成によりオブジェクトが動くようになる。従って、ヒット前においては、モーション生成によってはその実現が難しいオブジェクトの動きを、モーション再生を利用して簡易に実現できるようになる。一方、ヒット後においては、モーション再生によっては多くのモーションデータ量が必要になるオブジェクトの多彩な動きを、モーション生成を利用して少ないデータ量で実現できるようになる。
【0020】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、所与の条件が成立した場合に、オブジェクトのモーションを物理シミュレーションにより生成する処理から、オブジェクトのモーションをモーションデータに基づき再生する処理に切り替えることを特徴とする。
【0021】
本発明によれば、所与の条件が成立する前は、モーション生成によりオブジェクトが動き、所与の条件が成立すると、モーション再生によりオブジェクトが動くようになる。このようにすれば、モーション生成によってはその実現が難しいオブジェクトの動きが必要な状況が生じた場合にも、容易にこれに対処できるようになる。
【0022】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトがヒットされてから所与の時間が経過した場合及びオブジェクトのパラメータが所与の値になった場合の少なくとも一方の場合に、オブジェクトのモーションを物理シミュレーションにより生成する処理から、オブジェクトのモーションをモーションデータに基づき再生する処理に切り替えることを特徴とする。但し、本発明における所与の条件は、このような、所与の時間が経過したという条件や、パラメータが所与の値になったという条件に限定されるものではない。
【0023】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、物理シミュレーションにより生成されるモーションとモーションデータに基づき再生されるモーションとを繋ぐ繋ぎモーションを、オブジェクトに行わせることを特徴とする。このようにすれば、モーション生成、モーション再生間の切り替え時において、モーションを滑らかに且つ自然に変化させることができるようになる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、ガン型コントローラを用いたガンゲーム(シューティングゲーム)に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【0025】
1.構成
図1に、本実施形態を業務用ゲームシステムに適用した場合の構成例を示す。
【0026】
プレーヤ500は、本物のマシンガンを模して作られたガン型コントローラ(広義にはシューティングデバイス)502を構える。そして、画面504に映し出される敵キャラクタ(広義にはオブジェクト)などの標的オブジェクトを狙ってシューティングすることでガンゲームを楽しむ。
【0027】
特に、本実施形態のガン型コントローラ502は、引き金を引くと、仮想的なショット(弾)が高速で自動的に連射される。従って、あたかも本物のマシンガンを撃っているかのような仮想現実感をプレーヤに与えることができる。
【0028】
なお、ショットのヒット位置(着弾位置)は、ガン型コントローラ502に光センサを設け、この光センサを用いて画面の走査光を検知することで検出してもよいし、ガン型コントローラ502から光(レーザー光)を発射し、この光の照射位置をCCDカメラなどを用いて検知することで検出してもよい。
【0029】
図2に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部140、或いは処理部100と記憶部140と情報記憶媒体150を含めばよく)、それ以外のブロック(例えば操作部130、画像生成部160、表示部162、音生成部170、音出力部172、通信部174、I/F部176、メモリーカード180等)については、任意の構成要素とすることができる。
【0030】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、CPU(CISC型、RISC型)、DSP、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0031】
操作部130は、プレーヤが操作データを入力するためのものであり、その機能は、図1のガン型コントローラ502、レバー、ボタンなどのハードウェアにより実現できる。
【0032】
記憶部140は、処理部100、画像生成部160、音生成部170、通信部174、I/F部176などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0033】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)150は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体150に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体150には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実現(実行)するための種々の情報(プログラム、データ)が格納される。
【0034】
なお、情報記憶媒体150に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部140に転送されることになる。また情報記憶媒体150に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0035】
画像生成部160は、処理部100からの指示等にしたがって、各種の画像を生成し表示部162に出力するものであり、その機能は、画像生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(画像生成プログラム)、画像情報により実現できる。
【0036】
音生成部170は、処理部100からの指示等にしたがって、各種の音を生成し音出力部172に出力するものであり、その機能は、音生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(音生成プログラム)、音情報(波形データ等)により実現できる。
【0037】
通信部174は、外部装置(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ASIC、或いはCPUなどのハードウェアや、所与のプログラム(通信プログラム)により実現できる。
【0038】
なお本発明(本実施形態)の処理を実現するための情報は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部174を介して情報記憶媒体150に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0039】
また処理部100の機能の一部又は全部を、画像生成部160、音生成部170、又は通信部174の機能により実現するようにしてもよい。或いは、画像生成部160、音生成部170、又は通信部174の機能の一部又は全部を、処理部100の機能により実現するようにしてもよい。
【0040】
I/F部176は、処理部100からの指示等にしたがってメモリーカード(広義には、携帯型ゲーム機などを含む携帯型情報記憶装置)180との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラICなどにより実現できる。なお、メモリーカード180との間の情報交換を赤外線などの無線を用いて実現する場合には、I/F部176の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【0041】
処理部100は、ゲーム演算部110を含む。
【0042】
ここでゲーム演算部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(キャラクタ、移動体)の位置や回転角度(X、Y又はZ軸回り回転角度)を決める処理、視点位置や視線角度を決める処理、オブジェクトのモーションを再生又は生成する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部130からの操作データ、メモリーカード180からのデータ、ゲームプログラムなどに基づいて行う。
【0043】
ゲーム演算部110は、ヒットチェック部112、モーション再生部114、モーション生成部116、切り替え部122を含む。
【0044】
ここで、ヒットチェック部112は、ガン型コントローラを用いてプレーヤが発射したショットがオブジェクトにヒットしたか否かを調べるヒットチェック処理を行う。なお、処理負担の軽減化のためには、オブジェクトの形状を簡易化した簡易オブジェクトを用いてヒットチェック処理を行うことが望ましい。
【0045】
モーション再生部114は、オブジェクト(敵キャラクタ等)のモーションを、モーションデータ記憶部142に記憶されているモーションデータに基づいて再生する処理を行う。即ち、モーションデータ記憶部142には、オブジェクトの各基準モーションでの各部位(パーツ)の位置データや角度データを含むモーションデータが記憶されている。モーション再生部114は、このモーションデータを読み出し、このモーションデータに基づいてオブジェクトの各部位を動かすことで、オブジェクトのモーションを再生する。
【0046】
モーション生成部116は、オブジェクトのモーションを、物理シミュレーション(物理計算を利用したシミュレーション。物理計算は擬似的な物理計算でもよい)により生成する処理を行う。即ち本実施形態では、ヒット(被弾)時等における、オブジェクト(敵キャラクタ等)のモーションを、モーションデータに基づくモーション再生ではなく、物理シミュレーションによりリアルタイムに生成するようにしている。このように物理シミュレーションによりモーションを生成することで、モーションデータに基づくモーション再生に比べて、バラエティ度が高くリアルなモーション表現を、使用データ量を抑えながら実現できるようになる。
【0047】
モーション生成部116は、ヒット(被弾)時モーション生成部118と下半身モーション生成部120を含む。
【0048】
ここで、ヒット時モーション生成部118は、ヒット時におけるオブジェクトのモーションを生成する処理を行う。より具体的には、オブジェクトの第Nの部位がヒットされた場合には、ヒット情報(ヒット方向を向く力ベクトル等)に基づく物理シミュレーションにより、その第Nの部位を動かすと共に、隣の第N+1、第N+2、第N+3の部位等にヒット情報を順次伝達(伝搬)する(例えばその大きさを順次減衰させながら伝達する)。そして、伝達されたヒット情報に基づく物理シミュレーションにより、これらの第N+1、第N+2、第N+3の部位等を動かす。このようにしてオブジェクトのモーションを生成すれば、高速連射によりショットが連続してヒットした場合におけるオブジェクトのリアルなモーションを、少ない処理負担で表現できるようになる。
【0049】
また下半身モーション生成部120は、ヒット時のオブジェクトのよろけ動作をリアルに表現するために、オブジェクトの下半身についてのモーションを特別なアルゴリズムを用いて生成している。より具体的には、接地している第1の部位(例えば左足)を支点として倒れるようにオブジェクトを動かす。そして、オブジェクトが倒れるのを制限する位置(例えば仮想重心を接地面に投影した位置に関して第1の部位と点対称の位置)に、接地していない第2の部位(例えば右足)の移動目標位置を設定し、この移動目標位置に第2の部位を移動させる。このようにしてオブジェクトのモーションを生成すれば、よろけながらもなかなか倒れないというオブジェクトのモーション表現が可能になる。
【0050】
切り替え部122は、例えばオブジェクトがヒットされた場合に、モーション再生からモーション生成に切り替える処理を行う。或いは、所与の条件が成立した場合(ヒットされてから所与の時間が経過したり、体力パラメータが零になった場合)に、モーション生成からモーション再生に切り替える処理を行う。このようにすれば、モーション生成による表現が難しい場面では、モーション再生によりオブジェクトの動きを表現し、少ないデータ量でバラエティ度の高い動きが要請される場面では、モーション生成によりオブジェクトの動きを表現できるようになる。
【0051】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0052】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0053】
2.本実施形態の特徴
さて、本実施形態では、図3に示すように、敵キャラクタ(オブジェクト)10が、複数の部位(右手12、右前腕14、右上腕16、胸18、腰20、左手22、左前腕24、左上腕26、頭30、右足32、右すね34、右股36、左足42、左すね44、左股46)により構成されている。なお、これらの部位(パーツ)の位置や回転角度(方向)は、スケルトンモデルを構成する関節J0〜J13の位置や骨(アーク)A0〜A18の回転角度として表すことができる。但し、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
【0054】
本実施形態では、敵キャラクタを構成する部位が親子(階層)構造を有している(実際には関節が親子構造を有する)。即ち、手12、22の親は前腕14、24であり、前腕14、24の親は上腕16、26であり、上腕16、26の親は胸18であり、胸18の親は腰20となる。また、頭30の親は胸18となる。また、足32、42の親はすね34、44であり、すね34、44の親は股36、46であり、股36、46の親は腰20となる。
【0055】
モーションデータ記憶部には、これらの部位(関節、骨)の位置及び回転角度が、モーションデータとして記憶されている。例えば、歩きモーションが、MP0、MP1、MP2・・・・MPNという基準モーションにより構成されているとする。するとこれらの各基準モーションMP0、MP1、MP2・・・・MPNでの各部位の位置及び回転角度が、モーションデータとして予め記憶されている。そして、例えば基準モーションMP0の各部位の位置及び回転角度を読み出し、次に基準モーションMP1の各部位の位置及び回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション再生が実現される。
【0056】
なお、モーションデータ記憶部に記憶するモーションデータは、一般的には、モーションキャプチャにより取得したり、デザイナが作成する。また、部位(関節、骨)の位置、回転角度は、親の部位の位置、回転角度に対する相対的な位置、相対的な回転角度で表される。
【0057】
本実施形態の第1の特徴は、ヒット時における敵キャラクタ(オブジェクト)のモーションを、物理シミュレーションを用いて生成する点にある。
【0058】
例えば図4において、敵キャラクタの前腕14にプレーヤのショット(弾)がヒットすると、まず、ヒット力ベクトルFH0(広義にはヒット情報)に基づき前腕14を動かす(回転させる、移動させる)。更に、このヒット力ベクトルFH0を、FH1、FH2、FH3、FH4として親の部位である上腕16、胸18、腰20に順次伝達(伝搬)する。そして、伝達されたヒット力ベクトルFH1〜FH4により、上腕16、胸18、腰20を動かす。本実施形態では、このようにして、ヒット時における敵キャラクタのモーションをリアルタイムに生成している。
【0059】
より具体的には、ヒット力ベクトルFH0は、その方向が、ヒットの方向(ショットの軌道方向)に向き、その大きさが、ヒットの威力を表すベクトルである。そして、関節J1とヒット位置(着弾位置)HPを結ぶベクトルHVと、ヒット力ベクトルFH0との外積をとることで、回転モーメントが求められる。
【0060】
次に、この回転モーメントと前腕14の仮想質量に基づき、前腕14の角加速度が算出される。そして、算出された角加速度に基づき、前腕14の角速度が算出され、この角速度で前腕14がR0に示すように回転する。
【0061】
ヒット力ベクトルFH0(ヒット情報)は、その大きさが減衰されてFH1として親の部位である上腕16に伝達される。より具体的には、このFH1は関節J1に作用し、このFH1による回転モーメントで、上腕16がR1に示すように回転する。
【0062】
次に、胸18に伝達されたFH2は関節J2に作用し、このFH2による回転モーメントで、胸18がR2に示すように回転する。
【0063】
次に腰20に伝達されたFH3は関節J3に作用し、このFH3による回転モーメントで、腰20がR3に示すように回転する。また、腰20に伝達されたFH4は代表点RPに作用し、このFH4により、腰20がMT0に示すように移動する。なお、腰20がMT0の方向に移動すると、腰20以外の他の部位もMT0の方向に移動することになる。但し、この場合にも、腰20と他の部位との間の相対的な位置関係は変化しない。
【0064】
本実施形態により生成されたモーションの例を図5(A)、(B)、図6(A)、(B)に示す。このモーションは、敵キャラクタ10の頭にショットがヒットした場合に生成されたモーションの例である。
【0065】
図5(A)〜図6(B)に示すように、本実施形態によれば、ヒット時における敵キャラクタ10のリアルなモーションを生成できる。そして、生成されるモーションは、ヒット位置やヒット方向やヒット力の大きさなどに応じて異なったものとなり、モーションデータに基づくモーション再生の手法に比べて、モーションのバリエーションを格段に増すことができる。
【0066】
即ち、モーション再生の手法では、ヒット位置に応じた何種類ものモーションデータを予め別々に用意しておく必要がある。例えば、図4のように前腕がヒットされた場合用のモーションデータと、図5(A)〜図6(B)のように頭がヒットされた場合用のモーションデータとを別々に用意する必要がある。また、同じ頭がヒットされた場合も、前方向から頭がヒットされた場合用のモーションデータ、右方向から頭がヒットされた場合用のモーションデータ、後ろ方向から頭がヒットされた場合用のモーションデータ、左方向から頭がヒットされた場合用のモーションデータを別々に用意しておく必要がある。
【0067】
ところが、モーションデータを記憶するメモリの容量は有限である。従って、モーション再生の手法では、モーションのバリエーションの増加には限界がある。
【0068】
これに対して、本実施形態によれば、上記のようなモーションデータを用意することなく、ヒット位置やヒット方向やヒット力の大きさなどに応じて異なる多様なモーションを生成できる。例えばショットのヒット位置に応じて、敵キャラクタの反応が細かく変化するようになる。従って、リアルで多様なモーション表現を少ないデータ量で実現できるようになる。
【0069】
また、モーション再生の手法では、図5(A)〜図6(B)のような、頭ヒット時用のモーションを再生している際に、例えば前腕がヒットされると、頭ヒット時用のモーションの再生が途中で打ち切られてしまい、敵キャラクタの動きが不自然なものになってしまう。
【0070】
これに対して、本実施形態によれば、頭がヒットされた後に前腕がヒットされても、モーションが途中で打ち切られるという事態が生じない。従って、ヒット時における敵キャラクタの動きを滑らかで連続的なものにすることができる。
【0071】
特に本実施形態では、図1で説明したように、プレーヤ500が所持するガン型コントローラ502は、マシンガンのようにショットを高速連射できるようになっているため、敵キャラクタに対して何発ものショットが連続してヒットする状況が生じる。更に本実施形態では、一発のショットが命中しただけでは敵キャラクタは消滅しないようになっている。従って、何発ものショットがヒットし、ショットがヒットする毎に、ヒット位置やヒット方向に応じてその動きが細かく変化するような敵キャラクタのモーションを表現する必要がある。
【0072】
モーション再生の手法により、このような高速連射時のモーション表現を実現しようとすると、必要なモーションデータの量が過大になってしまう。このため、モーション再生の手法では、このようなモーション表現は実質的に実現不可能となる。これに対して、図4で説明したモーション生成の手法によれば、このようなモーション表現を容易に実現できるようになる。
【0073】
さて、本実施形態では、各部位を動かすヒット情報として、ヒット力ベクトルを採用している。そして、図7(A)に示すように、例えばヒット力ベクトルFHNにより回転モーメントLN×FHNを求め、求められた回転モーメントにより、第Nの部位を動かす(回転させる)。そして、ヒット力ベクトルFHN+1、FHN+2を、隣の第N+1、第N+2の部位に順次伝達し、これらのヒット力ベクトルで第N+1、第N+2の部位を動かす。より具体的には、フレームKでは、FHNを第Nの部位に作用させ、フレームK+1ではFHN+1を第N+1の部位に作用させ、フレームK+2ではFHN+2を第N+2の部位に作用させる。
【0074】
このようにすることで、ヒット力ベクトルの衝撃により敵キャラクタの各部位が動く様子を、ヒット力ベクトルを隣の部位に順次伝達するだけという簡易な処理で、リアルに表現できるようになる。
【0075】
そして、この場合に本実施形態では、各部位にヒット力ベクトルを順次伝達する際に、伝達するヒット力ベクトルの大きさを順次減衰(減衰率は例えば90%程度)させている。即ち、|FHN|>|FHN+1|>|FHN+2|というように、ヒット力ベクトルの大きさを減衰させる。このようにすることで、ヒット位置に近い部位ほど大きく動くようになり、現実世界の事象により近いリアルなモーション変化を、ヒット力ベクトルの大きさを減少させるだけという簡易な処理で実現できるようになる。
【0076】
また本実施形態では、各部位の角速度に応じた回転抵抗力を、各部位に作用させるようにしている。
【0077】
例えば図7(B)に示すように、第Nの部位には、第Nの部位の角速度ωNの大きさに応じた回転抵抗力FRNを作用させる。また、第N+1の部位には、第N+1の部位の角速度ωN+1の大きさに応じた回転抵抗力FRN+1を回転と逆方向に作用させる。また、第N+2の部位には、第N+2の部位の角速度ωN+2の大きさに応じた回転抵抗力FRN+2を回転と逆方向に作用させる。
【0078】
このような回転抵抗力を作用させることで、各部位の角速度が急激に変化してしまい不自然なモーションになってしまう事態を効果的に防止できるようになる。
【0079】
また本実施形態では、敵キャラクタを所与の姿勢に戻すための復元力を、各部位に作用させている。
【0080】
例えば図8に示すように、ヒット力ベクトルFHにより敵キャラクタの姿勢が変化した場合に、敵キャラクタを、点線で示されるデフォルトの姿勢に戻すようにする。
【0081】
このようにすれば、高速連射により何発ものショットがヒットすることで、敵キャラクタの姿勢が極端に崩れてしまうというような事態を防止できる。ショットが連続してヒットしても、ヒットする毎に復元力により敵キャラクタが元のデフォルト姿勢に少しずつ戻るようになるからである。これにより、多くのショットがヒットしても、なかなか倒されないような敵キャラクタを表現できるようになり、マシンガンゲームに好適な敵キャラクタをゲームに登場させることができるようになる。
【0082】
なお、敵キャラクタをデフォルト姿勢に戻す処理は、各部位のデフォルトの回転角度を記憶部に保持しておき、このデフォルトの角度に、各部位の角度を戻すように処理することで実現できる。
【0083】
本実施形態の第2の特徴は、敵キャラクタのヒット時に、モーションデータに基づくモーション再生から物理シミュレーションによるモーション生成に切り替える点にある。
【0084】
例えば図9(A)のE1に示すように、敵キャラクタがヒットされる前においては、モーション再生により敵キャラクタの動きが表現される。即ち、所定の場所に移動したり、物陰に隠れたり、プレーヤの前に出現したりする敵キャラクタの動きについては、モーションデータに基づくモーション再生により表現する。
【0085】
一方、E2に示すように、敵キャラクタがヒットされると、モーション再生からモーション生成に切り替わる。即ち、例えば図4で説明したようなモーション生成手法により、ヒット時の敵キャラクタの動きを表現する。
【0086】
ヒット前における敵キャラクタの動きに対しては、プレーヤのゲーム操作の影響がそれほど及ばない。従って、モーションデータに基づくモーション再生だけで、敵キャラクタの動きを十分に表現できる。また、物陰に隠れたり、プレーヤの前に出現する動きなどを、モーション生成で実現しようとすると、処理の複雑化、処理負担の増大化を招く。
【0087】
一方、ヒット時における敵キャラクタの動きに対しては、プレーヤのゲーム操作の影響が強く及ぶ。即ち、プレーヤがどの敵キャラクタをどの方向からどのように射撃するかは、プレーヤの任意であり、ゲーム前には全く予期できない。このため、ヒット時においては、プレーヤのゲーム操作(射撃操作)に応じて、敵キャラクタの動きを細かく変化させる必要がある。従って、モーション再生よりも、図4で説明したようなモーション生成により敵キャラクタの動きを表現する方が望ましい。また、ヒット時の動きについては、物陰に隠れたり、プレーヤの前に出現する動きなどに比べて、物理シミュレーションに基づくモーション生成に適している。
【0088】
本実施形態では、以上の点に着目して、図9(A)のE2に示すように、敵キャラクタのヒット時に、モーション再生からモーション生成に切り替えている。これにより、状況に応じた適切な処理で、敵キャラクタを動かすことができるようになる。
【0089】
本実施形態の第3の特徴は、所与の条件が成立した場合に、物理シミュレーションによるモーション生成からモーションデータに基づくモーション再生に切り替える点にある。
【0090】
例えば図9(A)のE3では、ヒット後に所与の時間TMが経過したため、モーション生成からモーション再生に切り替えている。
【0091】
即ち、E4のように短時間で連続して敵キャラクタにショットがヒットしている場合には、図4で説明したようなモーション生成により敵キャラクタを動かす。これにより、ショットがヒットする毎にヒット位置やヒット方向に応じてその動きが細かく変化する敵キャラクタを表現できる。
【0092】
一方、E3のように、ショットがヒットした後に所与の時間TMが経過した場合には、敵キャラクタに対する連射はもはや行われていないと考えられる。従って、この場合には、モーションデータに基づくモーション再生を行うようにする。このようにすることで、プレーヤにより攻撃された後に、他の場所に移動したり、物陰に隠れたりするなどの敵キャラクタの動きを表現できるようになる。
【0093】
また図9(B)のE5では、敵キャラクタの体力パラメータが0(所与の値)になったため、モーション生成からモーション再生に切り替えている。即ち、この場合には、敵キャラクタを完全に転倒させるモーションを再生し、敵キャラクタを消滅させる。
【0094】
このように、体力パラメータが0になった場合には、その敵キャラクタの運命は、消滅するという運命にもはや決まっており、プレーヤのゲーム操作の影響が及ぶ余地がない。従って、この場合には、モーション生成ではなくモーション再生により敵キャラクタの動きを表現する。このようにすれば、予め用意されたモーションデータに基づいてリアルに敵キャラクタを転倒させることが可能になり、ゲームの演出効果を高めることができる。
【0095】
なお、モーション生成とモーション再生を切り替える場合には、物理シミュレーションにより生成されるモーションとモーションデータに基づき再生されるモーションとを繋ぐ繋ぎモーションを再生(或いは生成)することが望ましい。
【0096】
例えば図10(A)では、F1が、モーション生成とモーション再生の切り替えポイントになっている。従って、この場合には、生成された最後のモーションMGMと、再生される最初のモーションMP0とを繋ぐ繋ぎモーションを再生(又は生成)するようにする。
【0097】
また図10(B)では、F2が、モーション生成とモーション再生の切り替えポイントになっている。従って、この場合には、生成された最後のモーションMGNと、再生される最初のモーションMP0とを繋ぐ繋ぎモーションを再生(又は生成)するようにする。
【0098】
このようにすれば、モーション生成のどの時点で切り替わっても、モーションを滑らかに繋ぐことが可能となり、生成される画像の画質やリアル度を高めることができる。
【0099】
なお、繋ぎモーションの再生は、図11に示すようなモーション補間により実現することが望ましい。即ち、モーションM0、M1を、重み係数αを0から1に変化させながら、例えばM2=α×M0+(1−α)×M1という計算式により補間して、モーションM2を得る(実際には、位置や回転角度を上記計算式により補間する)。この場合、図10(A)、(B)のMGM、MGNが図11のM0になり、MP0がM1になり、得られる繋ぎモーションがM2になる。
【0100】
本実施形態の第4の特徴は、接地している方の足(第1の部位)を支点として倒れるように敵キャラクタ(オブジェクト)が動くと共に、敵キャラクタが倒れるのを制限する位置に、接地していない方の足(第2の部位)が移動するように、敵キャラクタのモーションを生成する点にある。
【0101】
例えば図12のG1では、左足50が接地しており、右足52が非接地になっている。この場合には、FD0に示すように、接地している左足50を支点として倒れる(傾く)ように敵キャラクタの下半身を動かす。更に、敵キャラクタが倒れるのを制限する位置(支える位置)である移動目標位置54に、非接地の右足52を移動させる。
【0102】
そして、図12のG2に示すように両足50、52が接地すると、腰60から遠い方の足である左足50を浮かせる。次に、G3のFD1に示すように、接地している右足52を支点として倒れるように敵キャラクタの下半身を動かすと共に、敵キャラクタが倒れるのを制限する移動目標位置56に、非接地の左足50を移動させる。そして、G4に示すように両足50、52が接地する。
【0103】
このようにすることで、ショットの連続ヒットにより敵キャラクタがよろけながら後ずさりする様子をリアルに表現できるようになる。
【0104】
本実施形態により生成されたモーションの例を図13(A)〜図17(B)に示す。ここで、図13(A)〜図15(B)は、生成されたモーションを左前方から見た図であり、図16(A)〜図17(B)は、生成されたモーションを下方から見た図である。これらの図から理解されるように、本実施形態では、倒れそうで倒れず、よろめきながら腰をふらふらさせて後ずさりする敵キャラクタの動きを、リアルに表現することに成功している。
【0105】
即ち、前述の図4の手法でヒット時におけるモーションを生成すると、ショットのヒットにより敵キャラクタがバランスを崩して、不自然な姿勢で床(接地面)に立ったままになるという事態が生じる。例えば、敵キャラクタの右足だけがヒットされた場合には、右足だけが宙に浮いた状態で敵キャラクタが床に立ったままの状態になる可能性がある。
【0106】
図12の手法により敵キャラクタの下半身を特別なアルゴリズムで動作させれば、上記のような事態を防止できる。即ち、図12のG1に示すように右足52が宙に浮いた場合には、FD0に示すように敵キャラクタは倒れるように動くと共に、倒れるのを支える移動目標位置54に右足52が移動する。従って、敵キャラクタの右足52だけが長時間にわたり宙に浮いたままになるという事態が防止されると共に、ヒットの衝撃により敵キャラクタが後ずさりしたかのように見せることができるようになる。
【0107】
特に、敵キャラクタに連続してショットがヒットした場合には、この連続ヒットの衝撃により敵キャラクタが徐々に後ずさりしているかのように見せることができ(図13(A)〜図17(B)参照)、これまでにないリアルなモーションを生成できる。しかも、敵キャラクタの接地していない方の足は、倒れるのを支える位置に常に移動するようになる。従って、敵キャラクタは、体力パラメータが0にならない限り、転倒しないようになる。従って、マシンガンのように高速でショットを連射できるガンゲームに最適なモーション表現を実現できる。
【0108】
さて、本実施形態では図18(A)に示すように、敵キャラクタの仮想重心62に仮想重力Gを作用させる。そして、この仮想重力Gにより得られる力FGを腰60(敵キャラクタの代表点)に作用させることで、左足50を支点として倒れるように敵キャラクタを動かしている。なお、仮想重心62は、敵キャラクタの上半身の部位の位置(関節位置)とそれらの部位の仮想質量とに基づいて求められる。
【0109】
このように、仮想重心62に仮想重力Gを作用させることにより得られる力FGを腰60に作用させて敵キャラクタを倒すようにすれば、あたかも、敵キャラクタがバランスを崩して倒れているかのように見せることができ、モーションのリアル度を格段に向上できる。
【0110】
また本実施形態では、接地していない右足52の移動目標位置を以下のようにして設定している。即ち、まず、仮想重心62の床(接地面)63への投影位置64を求める。そして、この投影位置64に関して、接地している左足50と点対称の位置に、右足52の移動目標位置54を設定する。このような移動目標位置54に右足52を移動すれば、仮想重心62に仮想重力が作用した場合にも、敵キャラクタを安定的に支えることができ、敵キャラクタが完全に転倒してしまうのを防止できる。これにより、倒れそうでなかなか倒れず、徐々に後ずさりするという敵キャラクタの動きを表現できるようになる。
【0111】
また本実施形態では、両足(第1、第2の部位)が共に接地している場合には、片方の足を浮かせるようにしている。
【0112】
即ち図19(A)に示すように、左足50、右足52が共に接地している場合には、図19(B)に示すように、腰60から遠い方の足である左足50を浮かせる。このようにすることで、両足が接地した状態で敵キャラクタが全く動かなくなるという事態を防止できる。そして、プレーヤからのショットがヒットする毎に、徐々に後ずさりするという敵キャラクタのリアルな動きを表現できるようになる。
【0113】
3.本実施形態の処理
次に、本実施形態の詳細な詳細例について、図20、図21、図22、図23、図24のフローチャートを用いて説明する。
【0114】
図20は、モーション再生とモーション生成の切り替え処理に関するフローチャートである。
【0115】
まず、モーションデータに基づくモーション再生を行う(ステップS1)。例えば、所定の場所に移動したり、物陰に隠れたり、プレーヤの前に現れるというような敵キャラクタの動きは、モーション再生により実現する。
【0116】
次に、プレーヤからのショットがヒットしたか否かを判断し(ステップS2)、ヒットしなかった場合には、ステップS1に戻りモーション再生を続行する。一方、ヒットした場合には、体力パラメータが0か否かを判断する(ステップS3)。そして、体力パラメータが0でない場合には、図9(A)のE2に示すように、物理シミュレーションによるモーション生成処理に移行する(ステップS4)。
【0117】
次に、ヒット後から所与の時間が経過したか否かを判断し(ステップS5)、経過していない場合には、プレーヤからのショットがヒットしたか否かを判断する(ステップS6)。そして、ヒットした場合には、ステップS3で体力パラメータが0か否かを判断し、0でない場合にはステップS4のモーション生成処理を続行する。一方、ヒットしなかった場合には、ステップS3の体力パラメータの判断処理を行うことなく、ステップS4のモーション生成処理を続行する。
【0118】
ステップS5で所与の時間が経過したと判断された場合には、図10(A)、(B)で説明したように、繋ぎモーションを再生(又は生成)する処理を行う(ステップS7)。そして、図9(A)のE3に示すように、モーション再生処理に切り替える。
【0119】
ステップS3で、体力パラメータが0であると判断された場合には、転倒モーションへの繋ぎモーションを再生(又は生成)する(ステップS8)。そして、図9(B)のE5に示すように、転倒モーションの再生処理に移行し(ステップS9)、敵キャラクタを消滅させる(ステップS10)。
【0120】
図21、図22は、ヒット時のモーション生成処理に関するフローチャートである。
【0121】
まず、処理対象となる部位が、ヒットされた部位又はヒット力ベクトルが伝達された部位かを判断し(ステップT1)、そのような部位でない場合にはステップT5に移行する。一方、そのような部位である場合には、図4で説明したように、その部位におけるヒット位置HPとヒット力ベクトルFH0を得る(ステップT2)。なお、ステップT1での判断は、ヒットされた又はヒット力ベクトルが伝達された場合にオンにセットされるヒットフラグに基づいて行われることになる。
【0122】
次に、図7(A)で説明したように、ヒット力ベクトルを、その大きさを減衰させながら、親の部位に伝達する(ステップT3)。なお、ヒット力ベクトルが伝達された部位については、そのヒットフラグがオンにセットされる。
【0123】
次に、ヒット力ベクトルに基づき回転モーメントを算出し、その回転モーメントに基づき部位の角速度を算出する(ステップT4)。例えば図7(A)の第Nの部位では、回転モーメントLN×FHNが算出され、この回転モーメントに基づき第Nの部位の角速度が算出される。
【0124】
次に、図7(B)で説明したように、部位の角速度に比例した回転抵抗力を算出し、その回転抵抗力に基づき部位の角速度を変化(減少)させる(ステップT5)。そして、図8で説明したように、敵キャラクタをデフォルトの姿勢に戻すための復元力を算出し、その復元力に基づき部位の角速度を変化させる(ステップT6)。
【0125】
次に、処理対象となる部位が腰である場合には、ヒット力ベクトルに基づき腰の移動速度を算出する(ステップT7)。例えば図4において、FH4に基づいて腰20(代表点RP)の移動速度を算出する。
【0126】
次に、処理対象となる部位が腰の場合には、算出された移動速度と角速度に基づいて、その位置と回転速度を更新し、それ以外の部位の場合には、算出された角速度に基づき、その回転角度を更新する(ステップT8)。即ち、当該フレームでの、各部位の位置や回転角度を求める。
【0127】
最後に、全ての部位についての処理が終了したか否かを判断し(ステップT9)、終了していない場合にはステップT1に戻る。
【0128】
図23、図24は、敵キャラクタの下半身モーションの生成処理に関するフローチャートである。
【0129】
まず、両足とも浮いているか否かを判断する(ステップU1)。そして、両足が浮いている場合には、腰及び両足に仮想重力を作用させ、敵キャラクタを自由落下させる(ステップU2)。
【0130】
一方、いずれかの足が浮いている場合には、現在の上半身の各部位の位置と各部位の仮想質量に基づき、図18(A)で説明したような仮想重心62を算出する(ステップU3)。そして、接地している足の位置(両足接地の場合には両足の中点)を支点として仮想重心に仮想重力を作用させたときの力を算出する(ステップU4)。即ち図18(A)の力FGを算出する。
【0131】
次に、算出された力を腰(代表点)に作用させて、腰の移動速度を変化させる(ステップU5)。即ち図18(A)の力FGにより腰を移動させる。
【0132】
次に、図19(A)で説明したように、両足が接地しているか否かを判断し(ステップU7)、両足が接地している場合には腰から遠い方の足を浮かせる(ステップU8)。即ち、図19(B)では左足50を浮かせる。
【0133】
次に、図18(B)で説明したように、仮想重心の投影位置に関して接地している方の足と点対称の位置に、接地していない方の足の移動目標位置を設定する(ステップU9)。そして、接地していない方の足を、移動目標位置に移動させる(ステップU10)。即ち、図18(B)では、右足52を移動目標位置54に移動させる。
【0134】
そして最後に、両股及び両すねの位置及び回転角度を、腰と両足の位置に基づきインバースキネマティクスにより算出する(ステップU11)。
【0135】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図25を用いて説明する。同図に示すシステムでは、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ送受信可能に接続されている。そして前記画像生成IC1010にはディスプレイ1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0136】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてDVD、ゲームカセット、CDROM等が用いられる。また業務用ゲームシステムではROM等のメモリが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0137】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【0138】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(システム本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000はシステム全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このRAM又は情報記憶媒体上に構築されることになる。
【0139】
更に、この種のシステムには音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。なおディスプレイ1018として、いわゆるヘッドマウントディスプレイ(HMD)と呼ばれるものを使用することもできる。
【0140】
また、通信装置1024は画像生成システム内部で利用される各種の情報を外部とやりとりするものであり、他の画像生成システムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【0141】
そして図1〜図24で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体1006、この情報記憶媒体1006からの情報等に基づいて動作するCPU1000、画像生成IC1010或いは音生成IC1008等によって実現される。なお画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0142】
図1に示すような業務用ゲームシステムに本実施形態を適用した場合には、内蔵されるシステムボード(サーキットボード)1106に対して、CPU、画像生成IC、音生成IC等が実装される。そして、本実施形態の処理(本発明の手段)を実行(実現)するための情報は、システムボード1106上の情報記憶媒体である半導体メモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0143】
図26(A)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるDVD1206、メモリーカード1208、1209等に格納されている。
【0144】
図26(B)に、ホスト装置1300と、このホスト装置1300と通信回線(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)1302を介して接続される端末1304-1〜1304-nとを含む画像生成システムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、CPU、画像生成IC、音処理ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0145】
なお、図26(B)の構成の場合に、本発明の処理を、ホスト装置(サーバー)と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0146】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリーカード、携帯型ゲーム機)を用いることが望ましい。
【0147】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0148】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0149】
また、各部位を動かす物理シミュレーションの手法は、図4などで説明した手法が特に望ましいが、これに限定されるものでなく種々の変形実施が可能である。また、ヒット情報は、処理の簡素化のためにはヒット力ベクトルであることが特に望ましいが、これに限定されるものではなく、少なくとも各部位を動かすための情報であればよい。
【0150】
また、本実施形態では、敵キャラクタについてのモーション生成やモーション再生について主に説明したが、モーション生成やモーション再生の対象となるオブジェクトは敵キャラクタに限定されず、プレーヤキャラクタや移動体など種々のオブジェクトを考えることができる。
【0151】
また、本実施形態では、ショットによりオブジェクトがヒットされる場合を例にとり説明したが、本発明におけるオブジェクトのヒットは、これに限定されず、例えば、剣によるヒットや、パンチやキックによるヒット等も含まれる。
【0152】
また、モーション生成とモーション再生を切り替える発明においては、モーション生成の手法は、図4などで説明した手法に限定されるものではなく、何らかの物理シミュレーション(疑似物理シミュレーション)の要素を含むものであればよい。また、モーション生成とモーション再生の切り替えイベントとしては、本実施形態で説明したイベント(オブジェクトのヒット等)以外にも種々のイベントを考えることができる。
【0153】
また、図18(A)の手法では、仮想重心に仮想重力を作用させることで得られる力を、オブジェクト(敵キャラクタ)の代表点(腰)に作用させることで、オブジェクトに倒し動作を行わせているが、オブジェクトに倒し動作を行わせる手法は、このような手法に限定されるものではない。例えば、オブジェクトの代表点など、仮想重心以外の点に仮想重力を作用させてオブジェクトに倒し動作を行わせたり、このような仮想重力を用いないでオブジェクトに倒し動作を行わせるなど、種々の手法を採用できる。
【0154】
また、本実施形態では、第1、第2の部位が足である場合について主に説明したが、第1、第2の部位は足に限定されず、手などでもよい。
【0155】
また、接地していない第2の部位の移動目標位置は、図18(B)で説明した位置が特に望ましいが、これとは異なる位置に第2の部位を移動させるようにすることもできる。
【0156】
また本発明はガンゲーム以外にも種々のゲーム(ガンゲーム以外のシューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0157】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0158】
【図1】本実施形態を業務用ゲームシステムに適用した場合の構成例を示す図である。
【図2】本実施形態の画像生成システムのブロック図の例である。
【図3】複数の部位により構成される敵キャラクタ(オブジェクト)の例について示す図である。
【図4】本実施形態におけるヒット時のモーション生成手法について説明するための図である。
【図5】図5(A)、(B)は、本実施形態により生成されるモーションの例について示す図である。
【図6】図6(A)、(B)も、本実施形態により生成されるモーションの例について示す図である。
【図7】図7(A)、(B)は、ヒット力ベクトルの大きさを減衰させながら親の部位に伝達する手法や、角速度に応じた回転抵抗力を各部位に作用させる手法について説明するための図である。
【図8】敵キャラクタをデフォルトの姿勢に戻す手法について説明するための図である。
【図9】図9(A)、(B)は、モーション生成とモーション再生を切り替える手法について説明するための図である。
【図10】図10(A)、(B)は、繋ぎモーションを再生(又は生成)する手法について説明するための図である。
【図11】モーション補間について説明するための図である。
【図12】敵キャラクタの下半身モーションの生成について説明するための図である。
【図13】図13(A)、(B)は、本実施形態により生成された下半身モーションを左前方から見た図である。
【図14】図14(A)、(B)も、本実施形態により生成された下半身モーションを左前方から見た図である。
【図15】図15(A)、(B)も、本実施形態により生成された下半身モーションを左前方から見た図である。
【図16】図16(A)、(B)は、本実施形態により生成された下半身モーションを下方から見た図である。
【図17】図17(A)、(B)も、本実施形態により生成された下半身モーションを下方から見た図である。
【図18】図18(A)、(B)は、仮想重心に仮想重力を作用させる手法や、接地していない足の移動目標位置を設定する手法について説明するための図である。
【図19】図19(A)、(B)は、両足接地の場合に片方の足を浮かせる手法について説明するための図である。
【図20】本実施形態の処理の詳細例について示すフローチャートである。
【図21】本実施形態の処理の詳細例について示すフローチャートである。
【図22】本実施形態の処理の詳細例について示すフローチャートである。
【図23】本実施形態の処理の詳細例について示すフローチャートである。
【図24】本実施形態の処理の詳細例について示すフローチャートである。
【図25】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図26】図26(A)、(B)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
【0159】
10 敵キャラクタ(オブジェクト)
12、22 手
14、24 前腕
16、26 上腕
18 胸
20 腰
30 頭
32、42 足
34、44 すね
36、46 股
50 左足
52 右足
54、56 移動目標位置
60 腰
62 仮想重心
63 床(接地面)
64 仮想重心の投影位置
A0〜A18 骨
J0〜J13 関節
RP 代表点
FH、FH0〜FH4、FHN〜FHN+2 ヒット力ベクトル
ωN〜ωN+2 角速度
FRN〜FRN+2 回転抵抗力
100 処理部
110 ゲーム演算部
112 ヒットチェック部
114 モーション再生部
116 モーション生成部
118 ヒット時モーション生成部
120 下半身モーション生成部
122 切り替え部
130 操作部
140 記憶部
142 モーションデータ記憶部
150 情報記憶媒体
160 画像生成部
162 表示部
170 音生成部
172 音出力部
174 通信部
176 I/F部
180 メモリーカード

【特許請求の範囲】
【請求項1】
画像を生成するための画像生成システムであって、
複数の部位により構成されるオブジェクトが、接地している第1の部位を支点として倒れるように動くと共に、オブジェクトが倒れるのを制限する位置に設定された移動目標位置に、接地していない第2の部位が移動するように、オブジェクトのモーションを生成する手段と、
モーションが生成されたオブジェクトの画像を含む画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項2】
請求項1において、
オブジェクトの仮想重心に仮想重力を作用させることで得られる力を、オブジェクトの代表点に作用させることで、前記第1の部位を支点として倒れるようにオブジェクトを動かすことを特徴とする画像生成システム。
【請求項3】
請求項1又は2において、
前記第2の部位の前記移動目標位置が、オブジェクトの仮想重心を接地面に投影した位置に関して前記第1の部位と点対称の位置であることを特徴とする画像生成システム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記第1、第2の部位が共に接地している場合には、前記第1、第2の部位のいずれか一方を浮かせることを特徴とする画像生成システム。
【請求項5】
請求項1乃至4のいずれかにおいて、
オブジェクトの第Nの部位がヒットされた場合に、ヒット情報に基づく物理シミュレーションにより第Nの部位を動かすと共に第N+1の部位、第N+2の部位、第N+3の部位・・・・にヒット情報を順次伝達し、伝達されたヒット情報に基づく物理シミュレーションにより第N+1の部位、第N+2の部位、第N+3の部位・・・・を順次動かして、オブジェクトのモーションを生成することを特徴とする画像生成システム。
【請求項6】
請求項1乃至5のいずれかにおいて、
オブジェクトがヒットされた場合に、オブジェクトのモーションをモーションデータに基づき再生する処理から、オブジェクトのモーションを物理シミュレーションにより生成する処理に切り替えることを特徴とする画像生成システム。
【請求項7】
請求項1乃至6のいずれかにおいて、
所与の条件が成立した場合に、オブジェクトのモーションを物理シミュレーションにより生成する処理から、オブジェクトのモーションをモーションデータに基づき再生する処理に切り替えることを特徴とする画像生成システム。
【請求項8】
コンピュータが使用可能な情報記憶媒体であって、
複数の部位により構成されるオブジェクトが、接地している第1の部位を支点として倒れるように動くと共に、オブジェクトが倒れるのを制限する位置に設定された移動目標位置に、接地していない第2の部位が移動するように、オブジェクトのモーションを生成する手段と、
モーションが生成されたオブジェクトの画像を含む画像を生成する手段と、
を実現するための情報を含むことを特徴とする情報記憶媒体。
【請求項9】
請求項8において、
オブジェクトの仮想重心に仮想重力を作用させることで得られる力を、オブジェクトの代表点に作用させることで、前記第1の部位を支点として倒れるようにオブジェクトを動かすことを特徴とする情報記憶媒体。
【請求項10】
請求項8又は9において、
前記第2の部位の前記移動目標位置が、オブジェクトの仮想重心を接地面に投影した位置に関して前記第1の部位と点対称の位置であることを特徴とする情報記憶媒体。
【請求項11】
請求項8乃至10のいずれかにおいて、
前記第1、第2の部位が共に接地している場合には、前記第1、第2の部位のいずれか一方を浮かせることを特徴とする情報記憶媒体。
【請求項12】
請求項8乃至11のいずれかにおいて、
オブジェクトの第Nの部位がヒットされた場合に、ヒット情報に基づく物理シミュレーションにより第Nの部位を動かすと共に第N+1の部位、第N+2の部位、第N+3の部位・・・・にヒット情報を順次伝達し、伝達されたヒット情報に基づく物理シミュレーションにより第N+1の部位、第N+2の部位、第N+3の部位・・・・を順次動かして、オブジェクトのモーションを生成することを特徴とする情報記憶媒体。
【請求項13】
請求項8乃至12のいずれかにおいて、
オブジェクトがヒットされた場合に、オブジェクトのモーションをモーションデータに基づき再生する処理から、オブジェクトのモーションを物理シミュレーションにより生成する処理に切り替えることを特徴とする情報記憶媒体。
【請求項14】
請求項8乃至13のいずれかにおいて、
所与の条件が成立した場合に、オブジェクトのモーションを物理シミュレーションにより生成する処理から、オブジェクトのモーションをモーションデータに基づき再生する処理に切り替えることを特徴とする情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2009−28561(P2009−28561A)
【公開日】平成21年2月12日(2009.2.12)
【国際特許分類】
【出願番号】特願2008−288251(P2008−288251)
【出願日】平成20年11月10日(2008.11.10)
【分割の表示】特願平11−171314の分割
【原出願日】平成11年6月17日(1999.6.17)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】