説明

ゲーム装置、ゲーム装置の制御方法及びプログラム

【課題】ゲームキャラクタの動作をリアルに表現することのできるゲーム装置、ゲーム装置の制御方法及びプログラムを提供すること。
【解決手段】合成割合算出部111が式(1)に従って歩いている動作と走っている動作を合成する合成割合を算出する。そして基本移動距離算出部112が式(2)に従って合成によって生成される動作の基本移動距離を算出し、続いて動作単位時間算出部113が動作単位時間を算出する。姿勢データ取得部114は式(3)、(4)に従って、RUN姿勢データとWALK姿勢データを取得し、合成姿勢データ生成部115が、式(5)に従って合成姿勢データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームキャラクタの動作をリアルに表現することのできるゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
従来、テレビゲームにおけるキャラクタオブジェクトの動作をリアルに表現することに対し、多くの要求があり、特にスポーツゲームにおいてその傾向は顕著である。事実、これまでキャラクタオブジェクトの動作の表現の向上のため、多くの努力が行われてきた。特許文献1には、キャラクタオブジェクトに既定の基本動作のうち2つの基本動作を示すデータを合成することにより、前記2つの基本動作とは異なる動作を示すデータを生成し、該動作を表現する技術が開示されている。これによれば、例えば、走り動作と歩き動作を合成することにより、両動作とは異なる小走り動作を表現することができるとともに、この小走り動作は、走り動作と歩き動作の合成割合を調整することにより、様々な態様を示すものにすることができる。
【特許文献1】特許第3606370号公報(図17参照)
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記従来の発明によれば、前記2つの基本動作の合成によって生成される動作の素早さや該動作で移動する速度が、前記合成割合とは無関係に設定されるため、場合によっては、キャラクタオブジェクトが移動する速度が増加しても、動作の素早さと動作の大きさに変化がなく、リアルさに欠け、ひいては、ゲーム自体の面白さを低下させる虞があった。
【0004】
本発明は上記課題に鑑みてなされたものであって、その目的は、キャラクタオブジェクトの動作をよりリアルに表現することのできるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係るゲーム装置は、キャラクタオブジェクトが仮想空間内で移動する様子をスクリーン画像に表示するゲーム装置において、前記キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データと、を関連づけて記憶する第1基礎モーションデータ記憶手段と、前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データと、を関連づけて記憶する第2基礎モーションデータ記憶手段と、所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出する合成割合算出手段と、前記合成割合算出手段により算出される合成割合に従って前記第1基礎モーションデータが示す姿勢及び前記第2基礎モーションデータが示す姿勢を合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成する合成姿勢データ生成手段と、前記合成姿勢データ生成手段により生成される合成姿勢データに基づいて、前記キャラクタオブジェクトが前記仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示するスクリーン画像表示手段とを含むことを特徴とする。ここで、キャラクタオブジェクトは、姿勢変化を伴う移動を行うとともに、移動速度に応じて姿勢変化が異なるキャラクタオブジェクトであればよい。例えば、人間、動物及び昆虫等の生物やそれらを模したロボットを表すキャラクタオブジェクト等がある。
【0006】
また、本発明に係るゲーム装置の制御方法は、キャラクタオブジェクトが仮想空間内で移動する様子をスクリーン画像に表示するゲーム装置の制御方法であって、前記キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データと、を関連づけて記憶してなる第1基礎モーションデータ記憶手段の記憶内容を読み出すステップと、前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データと、を関連づけて記憶してなる第2基礎モーションデータ記憶手段の記憶内容を読み出すステップと、所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出するステップと、算出される前記合成割合に従って前記第1基礎モーションデータが示す姿勢及び前記第2基礎モーションデータが示す姿勢を合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成するステップと、生成される前記合成姿勢データに基づいて、前記キャラクタオブジェクトが前記仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示するステップとを含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データと、を関連づけて記憶する第1基礎モーションデータ記憶手段、前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データと、を関連づけて記憶する第2基礎モーションデータ記憶手段、所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出する合成割合算出手段、前記合成割合算出手段により算出される合成割合に従って前記第1基礎モーションデータが示す姿勢及び前記第2基礎モーションデータが示す姿勢を合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成する合成姿勢データ生成手段、及び前記合成姿勢データ生成手段により生成される合成姿勢データに基づいて、前記キャラクタオブジェクトが前記仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示するスクリーン画像表示手段、としてコンピュータを機能させることを特徴とする。ここで、コンピュータは、例えば家庭用ゲーム機、業務用ゲーム機、携帯ゲーム機、携帯電話機、携帯情報端末、パーソナルコンピュータ、サーバコンピュータ等である。また、このプログラムは、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な情報記憶媒体に格納されてもよい。
【0008】
本発明では、キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データとが関連づけられて記憶されている。また、前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データとが関連づけられて、さらに記憶されている。そして、所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出するとともに、該合成割合に従って前記第1及び第2基礎モーションデータを合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成する。このようにして生成された当該合成姿勢データに基づいて、前記キャラクタオブジェクトが仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示する。
【0009】
本発明によれば、例えば、キャラクタオブジェクトがゲーム空間内を所定の第1移動速度で走っている動作中の姿勢を示す第1基礎モーションデータと所定の第2移動速度で歩いている動作中の姿勢を示す第2基礎モーションデータを、所与の移動速度と第1移動速度及び第2移動速度に基づいて、合成割合算出手段が算出した合成割合で合成し、キャラクタオブジェクトが所与の移動速度で小走りしている動作中に、該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成し、生成された合成姿勢データに基づいて、該キャラクタオブジェクトがゲーム空間内を所与の移動速度で小走りしている様子をゲーム画面に表示することができる。ここで「小走りしている動作」とは、例えば、第2移動速度で歩き、第1移動速度で走るキャラクタオブジェクトが、所与の移動速度で移動するときにとる動作である。なお、所与の移動速度は、第1移動速度と第2移動速度の間の移動速度である。これにより、キャラクタオブジェクトの動作をリアルに表現することができる。
【0010】
ここで、前記第1基礎モーションデータは、前記キャラクタオブジェクトが前記第1移動速度で移動する動作中に該キャラクタオブジェクトが任意のタイミングでとる姿勢を特定するデータであり、前記第2基礎モーションデータは、前記キャラクタオブジェクトが前記第2移動速度で移動する動作中に該キャラクタオブジェクトが任意のタイミングでとる姿勢を特定するデータであり、前記合成姿勢データ生成手段は、前記第1基礎モーションデータに基づいて、前記キャラクタオブジェクトが前記第1移動速度で移動する動作中に該キャラクタオブジェクトが前記所与のタイミングに対応する第1タイミングでとる姿勢を示す第1基礎姿勢データを取得する第1基礎姿勢データ取得手段と、前記第2基礎モーションデータに基づいて、前記キャラクタオブジェクトが前記第2移動速度で移動する動作中に該キャラクタオブジェクトが前記所与のタイミングに対応する第2タイミングでとる姿勢を示す第2基礎姿勢データを取得する第2基礎姿勢データ取得手段と、を含み、前記第1基礎姿勢データにより示される姿勢と、前記第2姿勢基礎データにより示される姿勢と、を前記合成割合算出手段により算出される合成割合に従って合成することにより、前記合成姿勢データを生成してもよい。
【0011】
また、前記第1移動速度データは、前記キャラクタオブジェクトが前記第1移動速度で移動する動作に要する第1時間及びその動作による第1移動距離を示すデータであり、前記第2移動速度データは、前記キャラクタオブジェクトが前記第2移動速度で移動する動作に要する第2時間及びその動作による第2移動距離を示すデータであり、前記第1基礎姿勢データ取得手段は、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作に要する時間と、前記第1時間と、に基づいて、前記所与のタイミングに対応する前記第1タイミングを決定し、前記第2基礎姿勢データ取得手段は、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作に要する時間と、前記第2時間と、に基づいて、前記所与のタイミングに対応する前記第2タイミングを決定する。こうして、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に所与のタイミングにとる姿勢(合成姿勢データの示す姿勢)、に相当する姿勢を第1移動速度で走っている該キャラクタオブジェクトがとるタイミング(第1タイミング)を特定し、当該第1タイミングでとる姿勢を示す第1基礎姿勢データを取得する。同様にして第2移動速度で歩いている該キャラクタオブジェクトに係る第2タイミング及び第2基礎姿勢データを取得することができる。そして、取得した第1基礎姿勢データにより示される姿勢と第2基礎姿勢データにより示される姿勢と、を合成割合に従って合成して合成姿勢データを生成する。
【0012】
例えば、キャラクタオブジェクトが所与の移動速度で小走りしている場合において、右足から踏み出して2歩進む基本移動動作に要する所要時間である場合、キャラクタオブジェクトは前記基本移動動作を前記所要時間の間隔で繰り返しながら前記所与の移動速度で移動させて表現される。ここで、第1移動速度で移動し、かつ前記所要時間が第1時間で歩いている動作と、第2移動速度で移動し、かつ前記所要時間が第2時間で走っている動作とを合成して、前記所与の移動速度で小走りしているキャラクタオブジェクトが所与のタイミングにとる姿勢を示す合成姿勢データを算出する場合、走っている動作において該キャラクタオブジェクトが前記所与のタイミングに相当するタイミング(第1タイミング)にとる姿勢を示す第1基礎姿勢データと、歩いている動作において該キャラクタオブジェクトが前記所与のタイミングに相当するタイミング(第2タイミング)にとる姿勢を示す第2基礎姿勢データを取得して、取得した第1及び第2基礎姿勢データを合成する。
【0013】
また、前記合成姿勢データ生成手段は、前記第1移動距離と前記第2移動距離とを前記合成割合算出手段により算出される合成割合で合成することにより、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作による移動距離を算出する移動距離算出手段と、前記移動距離算出手段により算出される移動距離と、前記所与の移動速度と、に基づいて、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作に要する時間を算出する所要時間算出手段と、をさらに含むことを特徴とする。これによれば、所与の移動速度で移動する動作における基本移動動作での移動距離と、前記基本移動動作に要する時間に適切な値を設定し、キャラクタオブジェクトの動作をさらにリアルに表現することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0015】
図1は、本発明の実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置10は、家庭用ゲーム機11に情報記憶媒体たるDVD−ROM25及びメモリカード28が装着され、さらにモニタ18及びスピーカ22が接続されることによって構成されるものであり、例えば、モニタ18には家庭用テレビ受像機が用いられ、スピーカ22にはその内蔵スピーカが用いられる。
【0016】
家庭用ゲーム機11は、バス12、マイクロプロセッサ14、画像処理部16、音声処理部20、DVD−ROM再生部24、主記憶26、入出力処理部30及びコントローラ32を含んで構成される公知のコンピュータゲームシステムである。コントローラ32以外の構成要素は筐体内に収容される。
【0017】
バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。マイクロプロセッサ14、画像処理部16、主記憶26及び入出力処理部30は、バス12によって相互データ通信可能に接続される。
【0018】
マイクロプロセッサ14は、図示しないROMに格納されるオペレーティングシステム、DVD−ROM25から読み出されるプログラムや、メモリカード28から読み出されるデータに基づいて、家庭用ゲーム機11の各部を制御する。主記憶26は、例えばRAMを含んで構成されるものであり、DVD−ROM25から読み出されたプログラムやメモリカード28から読み出されたデータが必要に応じて書き込まれる。主記憶26はマイクロプロセッサ14の作業用としても用いられる。
【0019】
画像処理部16はVRAMを含んで構成されており、マイクロプロセッサ14から送られる画像データに基づいてVRAM上にスクリーン画像を描画する。そして、その内容をビデオ信号に変換して所定のタイミングでモニタ18(ゲーム画面)に出力する。
【0020】
入出力処理部30は、マイクロプロセッサ14が音声処理部20、DVD−ROM再生部24、メモリカード28及びコントローラ32にアクセスするためのインタフェースである。入出力処理部30には、音声処理部20、DVD−ROM再生部24、メモリカード28及びコントローラ32が接続される。
【0021】
音声処理部20はサウンドバッファを含んで構成されており、DVD−ROM25から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ22から出力する。具体的には、音声処理部20は、所定数のチャネルを処理可能であり、各チャネルに割り当てられた音データをミキシング再生し、スピーカ22から出力する。
【0022】
DVD−ROM再生部24は、マイクロプロセッサ14からの指示に従ってDVD−ROM25に記録されたプログラムを読み取る。なお、ここではプログラムを家庭用ゲーム機11に供給するためにDVD−ROM25を用いることとするが、CD−ROMやROMカード等、他のあらゆるコンピュータ読み取り可能な情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機11に供給するようにしてもよい。
【0023】
メモリカード28は、不揮発性メモリ(例えばEEPROM等)を含んで構成される。家庭用ゲーム機11は、メモリカード28を装着するための複数のメモリカードスロットを備えており、複数のメモリカード28を同時に装着可能となっている。メモリカード28は、このメモリカードスロットに対して脱着可能に構成され、例えばセーブデータなどの各種ゲームデータを記憶させるために用いられる。
【0024】
コントローラ32は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部30は一定周期毎(例えば1/60秒毎)にコントローラ32の各部の状態をスキャンし、そのスキャン結果を表す操作信号を、バス12を介してマイクロプロセッサ14に渡す。マイクロプロセッサ14は、その操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機11は複数のコントローラ32を接続可能に構成されており、各コントローラ32から入力される操作信号に基づいて、マイクロプロセッサ14がゲーム制御を行うようになっている。
【0025】
以下、上述のハードウェア構成を有する家庭用ゲーム機11により、2つの動作を合成する処理について詳細に説明する。
【0026】
図2は、ゲーム装置10において、主記憶26に構築されるゲーム空間(仮想3次元空間)を示す図である。同図に示すように、ゲーム空間40には人型のキャラクタオブジェクト41や背景オブジェクト42等のオブジェクトが配置されており、さらにユーザの仮想的な視点43が設定されている。また、この視点43にも、該キャラクタオブジェクト41に向かう方向に視線方向44が設定されている。ゲーム装置10では、公知の3次元画像処理技術を用いて、視点43から視線方向44を見た様子を示すスクリーン画像を所定の時間間隔(1/60秒)で生成し、これをモニタ18に表示するようになっている。
【0027】
キャラクタオブジェクト41はコントローラ32による操作対象であり、ゲーム空間40においてコントローラ32から入力される操作信号の内容に応じて、歩いたり、走ったりするようになっている。また、キャラクタオブジェクト41の骨盤付近には、該キャラクタオブジェクト41の位置を代表する代表点51が設定される。この代表点のゲーム空間40での座標によって、キャラクタオブジェクト41の位置を特定する。
【0028】
ゲームプログラムは、入力された操作信号に基づいてキャラクタオブジェクト41の移動速度Vを決定し、この移動速度Vに従って代表点51の座標を更新する。これによって、キャラクタオブジェクト41をゲーム空間40内で移動させることができる。さらに、この移動速度Vに従ってキャラクタオブジェクト41の姿勢を示すデータを変更し、動作の素早さや大きさを変更する。例えば、ユーザの操作によってキャラクタオブジェクト41が歩いている状態からスピードを上げて小走りしている状態に変化する場合、スピードに応じて動作の素早さや大きさを変更することができる。具体的には、歩いている動作中にとる姿勢と走っている動作中にとる姿勢を移動速度Vに基づいて合成し、小走りしている動作中にとる姿勢を順次生成することにより実現している。こうすることにより、移動速度Vに応じてキャラクタオブジェクト41が移動する動作をリアルに表現している。
【0029】
次に、走っている動作と歩いている動作を合成して、小走りしている動作を再現する技術について具体的に説明する。
【0030】
図3には、既定速度(以下RUN速度)で走っている動作(a)とRUN速度とは異なる既定速度(以下WALK速度)で歩いている動作(b)を合成して、所与の移動速度で小走りしている動作(c)を生成する様子を示す概要図である。(a)から(c)の各図には、キャラクタオブジェクト41が移動している動作中の複数のタイミングにとる姿勢を示している。ここでは、簡単のため、キャラクタオブジェクト41を側面から見ている場合を例にとる。また、右手及び左足が前に出ている姿勢をとるタイミングを開始タイミングとし、この姿勢から2歩進んで当初の姿勢(右手と左足が前に出ている姿勢)に至る動作を共通の基本移動動作とした時に、キャラクタオブジェクト41が基本移動動作中にとる姿勢を示している。
【0031】
動作中にキャラクタオブジェクト41がとる姿勢は、基礎モーションデータによって示される。基礎モーションデータとは、具体的には、基本移動動作中の複数のタイミングでキャラクタオブジェクト41がとる姿勢を示すデータであり、これらのデータから任意のタイミングでキャラクタオブジェクト41がとる姿勢を補間できる。なお、ここでは、キャラクタオブジェクト41が走っている動作に係る基礎モーションデータをRUNデータとし、歩いている動作に係る基礎モーションデータをWALKデータとする。
【0032】
また、RUN速度及びWALK速度とは、それぞれRUN速度データ、WALK速度データで示される移動速度であり、RUN速度はWALK速度よりも速くなるように設定されている。各速度データは、該移動速度で移動するキャラクタオブジェクト41が上述の基本移動動作によってゲーム空間40で進む距離(基本移動距離)を示すデータと基本移動動作に要する時間(動作単位時間)を示すデータを含んでいる。したがって、各移動速度は基本移動距離を動作単位時間で割ることによって算出することができる。以下では、走っている動作に係る基本移動距離及び動作単位時間を、それぞれRUN距離、RUN時間(ここでは、1/60秒(スクリーン画像の更新間隔)を単位とする。)とし、歩いている動作に係る基本移動距離及び動作単位時間を、それぞれWALK距離、WALK時間(RUN時間と同様に1/60秒が単位)とする。
【0033】
ゲームプログラムが決定した所与の移動速度でキャラクタオブジェクト41が移動する場合、RUN速度及びWALK速度をある合成割合で合成した値が、ゲームプログラムが決定した移動速度になるように、合成割合を算出する。具体的には、RUN速度をV1、WALK速度をV2、ゲームプログラムが決定した所与の移動速度をV、合成割合をrとすると、次式(1)を満たすrを算出することを意味する。
【0034】
V=V1*r+V2*(1−r)・・・・(1)
【0035】
こうして算出された合成割合rに従って、RUNデータ及びWALKデータが示めす姿勢を合成し、合成によって生成される小走り動作に係る基礎モーションデータ(合成姿勢データ)を生成する処理を行う。この処理は、タイミング算出処理と姿勢データ取得処理と姿勢データ合成処理、の3段階の処理からなっている。
【0036】
第1に、タイミング算出処理について説明する。タイミング算出処理では、「所与の移動速度で小走りで移動するキャラクタオブジェクト41が所与のタイミングでとる姿勢」に対応する姿勢を、キャラクタオブジェクト41が走っている動作中にとるタイミング(RUNタイミング)を特定する。同様にして、歩いている動作中にとるタイミング(WALKタイミング)も特定する。例えば、「所与のタイミング」が基本移動動作の開始タイミングであれば、RUNタイミング及びWALKタイミング共に開始タイミングである。同様に「所与のタイミング」が基本移動動作の終了タイミングであれば、RUNタイミング及びWALKタイミング共に終了タイミング、つまりRUN時間及びWALK時間である。なお、所与のタイミングとは、開始タイミングから終了タイミングまでの期間に、所定の時間間隔で与えられるタイミングである。
【0037】
まず、小走りで移動するキャラクタオブジェクト41に係る動作単位時間を算出する。具体的には、RUN距離及びWALK距離を算出された合成割合に従って合成し、小走りで移動するキャラクタオブジェクト41に係る基本移動距離を算出する。ここで、合成とは、合成割合に上述の合成割合rを引用すると、次式(2)を計算することを意味する。
【0038】
(基本移動距離)=(RUN距離)*r+(WALK距離)*(1−r)・・・・(2)
【0039】
さらに、算出された基本移動距離を所与の移動速度で割ることで動作単位時間を算出する。そして、次式(3)で示される等式から、開始タイミングからRUNタイミングまでの経過時間(RUN経過時間)を算出して、RUNタイミングを特定する。なお、「開始タイミングから所与のタイミングまでの経過時間」を動作経過時間としている。
【0040】
(動作経過時間):(動作単位時間)=(RUN経過時間):(RUN時間)・・・・(3)
【0041】
同様に次式(4)から、開始タイミングからWALKタイミングまでの経過時間(WALK経過時間)を算出して、WALKタイミングを特定する。
【0042】
(動作経過時間):(動作単位時間)=(WALK経過時間):(WALK時間)・・・・(4)
【0043】
以上がタイミング算出処理である。
【0044】
第2に、姿勢データ取得処理について説明する。姿勢データ取得処理では、RUNタイミングでキャラクタオブジェクト41がとる姿勢を示すRUN姿勢データと、WALKタイミングでとる姿勢を示すWALK姿勢データを取得する。RUN姿勢データは、RUNデータで示す複数のキャラクタオブジェクト41の姿勢に基づいて、公知の方法で補間することによって取得することができる。WALK姿勢データも同様にして取得することができる。以上が姿勢データ取得処理である。
【0045】
最後に、姿勢データ合成処理では、RUN姿勢データとWALK姿勢データを算出された合成割合rで合成し、合成姿勢データを生成する。具体的には、次式(5)から合成姿勢データを生成する。
【0046】
(合成姿勢データ)=(RUN姿勢データ)*r+(WALK姿勢データ)*(1−r)・・・・(5)
【0047】
以上により、合成姿勢データを生成する。
【0048】
以上説明した処理を、開始タイミングから終了タイミングまで順に訪れるタイミングごとに行って、各タイミングにおける合成姿勢データを得る。そして、合成姿勢データに従ってキャラクタオブジェクト41の姿勢をゲーム空間40内で時間経過とともに変化させる。さらにキャラクタオブジェクト41の代表点51の座標を、ゲームプログラムが決定した所与の移動速度で並進させる。これにより、小走り動作をリアルに再現することができる。また、小走り動作を示す基礎モーションデータを予め用意する必要がないため、コンピュータリソースの効率化を実現している。
【0049】
例えば、図3(a)に示すように、RUN距離が8メートルでRUN時間が4*T(ここでTは1/60秒とする)で走っている動作と、図3(b)に示すようにWALK距離が4メートルでWALK時間が8*Tで歩いている動作を合成し、移動速度0.8(メートル/T)で移動する小走り動作を生成する場合を考える。式(1)から合成割合r=0.2が得られ、続いて式(2)より小走り動作に係る基本移動距離が4.8メートル、動作単位時間が6*Tと算出される。さらに、この合成割合rに従って、RUN姿勢データ及びWALK姿勢データを合成し、所与のタイミングにおける合成姿勢データを生成する。図4は、開始タイミングから2*T経過したときのタイミングに、キャラクタオブジェクト41がとる姿勢を生成する様子の一例を示す図である。この場合、式(3)、(4)から、RUN経過時間=4/3*T、WALK経過時間=8/3*Tと算出される。図4(a)において点線で示されたキャラクタオブジェクト41は、公知の方法で補間したRUNタイミングにおけるキャラクタオブジェクト41の姿勢を示し、同様に図4(b)において点線で示されたキャラクタオブジェクト41は、WALKタイミングにおけるキャラクタオブジェクト41の姿勢を示している。これらの姿勢を示すRUN姿勢データとWALK姿勢データを式(5)に従って合成し、図4(c)に示すキャラクタオブジェクト41の姿勢を示す合成姿勢データを生成する。
【0050】
図5は、本ゲーム装置10の機能ブロック図の一例である。同図に示すように、ゲーム装置10で実現される機能には、情報記憶媒体101と操作部102と制御部103と表示部104とが含まれている。
【0051】
情報記録媒体101はコンピュータ読み取り可能な記録媒体であり、DVD−ROM25により実現されるものである。この情報記録媒体101には、ゲームプログラム105の他、動作識別データ106、移動速度データ107、基礎モーションデータ108及びゲームデータ109を含んでいる。
【0052】
図6のテーブルは、動作識別データ106の一例である。動作識別データ106は、キャラクタオブジェクト41の動作と該動作を識別するIDとを関連付けて記憶したデータである。また、図7のテーブルは、移動速度データ107の一例である。動作速度データ107は、動作を識別するIDと、動作単位時間と、基本移動距離とを関連付けて記憶している。制御部103は、動作識別データ106を参照して、各動作に係る動作単位時間と基本移動距離を取得する。
【0053】
図8のテーブルは、基礎モーションデータ108を示す一例である。基礎モーションデータ108は、動作を識別するIDと、姿勢番号と、キャラクタオブジェクト41の姿勢を示す姿勢データとを関連付けて記憶している。姿勢番号とは、基本移動動作の開始タイミングから終了タイミングまでにキャラクタオブジェクト41がとる姿勢に対して順に設定した番号であり、開始タイミングを0として終了タイミングに対応する番号まである。制御部103は、基礎モーションデータ108を参照して、各動作に係る基礎モーションデータを取得することができる。
【0054】
ゲームデータ109は、その他ゲームに必要なデータであり、背景オブジェクト42のゲーム空間40における位置に関するデータや、視点43のゲーム空間40における位置に関するデータ等を含む。
【0055】
操作部102は、コントローラ32を中心として家庭用ゲーム機11及びゲームプログラム105によって実現されるものであり、ユーザは、該操作部102によって各種ゲーム操作を行う。これにより操作信号が制御部103に供給される。
【0056】
制御部103は、マイクロプロセッサ14を中心として家庭用ゲーム機11及びゲームプログラム105によって実現されるものであり、操作部103から受信した操作信号に基づいて、キャラクタオブジェクト41の移動速度を決定し、キャラクタオブジェクト41の代表点51の位置を示す座標を更新する。また、決定された所与の移動速度に基づいて、走っている動作及び歩いている動作を合成して、小走りしている動作を表現する。
【0057】
この制御部103は、合成割合算出部111と、基本移動距離算出部112と、動作単位時間算出部113と、姿勢データ取得部114と、合成姿勢データ生成部115と、画像生成部116と、を含んでいる。
【0058】
合成割合算出部111は、動作識別データ106及び移動速度データ107を参照して、走って移動するキャラクタオブジェクト41の移動速度(RUN速度)及び歩いて移動するキャラクタオブジェクト41の移動速度(WALK速度)を算出し、両移動速度をある合成割合rで合成した値が所与の移動速度になるように、式(1)にしたがって合成割合を算出する。
【0059】
基本移動距離算出部112は、動作識別データ106及び移動速度データ107を参照して、走って移動するキャラクタオブジェクト41に係る基本移動距離(RUN距離)及び歩いて移動するキャラクタオブジェクト41に係る基本移動距離(WALK距離)を取得し、式(2)にしたがって生成される動作(小走り動作)に係る基本移動距離を算出する。動作単位時間算出部113は、算出された基本移動距離を所与の移動速度で割ることにより、小走り動作に係る動作単位時間を算出する。
【0060】
姿勢データ取得部114は、動作識別データ106及び移動速度データ107を参照して、走っている動作に係る動作単位時間(RUN時間)と歩いている動作に係る動作単位時間(WALK時間)を取得する。そして、姿勢データ取得部114は、小走り動作中の所与のタイミングに対応する上述のRUNタイミング、WALKタイミングを式(3)、(4)にしたがって特定し、上述のRUN姿勢データ及びWALK姿勢データを取得する。
【0061】
合成姿勢データ生成部115は、RUN姿勢データとWALK姿勢データを式(5)にしたがって合成し、上述の合成姿勢データを生成する。画像生成部116は、合成姿勢データと、キャラクタオブジェクト41の代表点51の座標と、視点43の位置を示す座標と、背景オブジェクト42の位置を示す座標等に基づいて、所与のタイミングにおける画像データを生成し、表示部104に供給する。また、所定の時間間隔で画像データを生成することにより、所与の移動速度で小走りで移動しているキャラクタオブジェクト41がとる姿勢を順次変化させながら移動する様子を表現する。
【0062】
さらに、表示部104は、モニタ18を中心として実現されるものであり、制御部103から供給される画像データが示すスクリーン画像を表示する。
【0063】
図9は、本ゲーム装置10による2つの動作を合成する処理を示すフロー図である。同図に示すようにこの処理は、ゲーム開始後、所定の時間間隔(例えば1/60秒)毎に実行されるものである。同図に示すように、本ゲーム装置10では、制御部103が、操作部102から供給された操作信号に基づいて、ユーザの操作するキャラクタオブジェクト41の移動速度(例えばV)を決定する(S101)。そして制御部103は、決定された所与の移動速度Vが、歩いている動作中の移動速度(例えばV2)より大きく、かつ走っている動作中の移動速度(例えばV1)より小さいか否か、つまりV2<V<V1であるか否かを判断する(S102)。ここで、V1及びV2は、DVD−ROM25に格納された動作識別データ106及び移動速度データ107から取得することができる。なお、制御部103により決定される移動速度Vは、V2≦V≦V1となるようゲームプログラムに設定されているものとする。
【0064】
V2<V<V1の関係を満たしている場合は、合成割合算出部111は、式(1)に従って、合成割合rを算出する(S103)。合成割合rが決定すると、基本移動距離算出部112は、走っている動作に係る上述の基本移動距離(RUN距離)及び歩いている動作に係る基本移動距離(WALK距離)を、上述の移動速度データ107から取得する。そして、基本移動距離算出部112は、式(2)にしたがってRUN距離とWALK距離を合成することにより、2つの動作を合成して生成される動作(小走り動作)の基本移動距離を算出する(S104)。なお、V1及びV2は、移動速度データ107に基づいて取得することができる。S104で基本移動距離が算出されると、動作単位時間算出部113が、該基本移動距離をVで割ることにより、小走り動作に係る動作単位時間Tを算出する(S105)。
【0065】
姿勢データ取得部114は、移動速度データ107から、走っている動作に係る動作単位時間(RUN時間)及び歩いている動作に係る動作単位時間(WALK時間)を取得する。そして、姿勢データ取得部114は、Vで移動するキャラクタオブジェクト41が現タイミングでとる姿勢、に対応する姿勢をV1で移動するキャラクタオブジェクト41がとるタイミング(RUNタイミング)を特定する。同様にして、姿勢データ取得部114は、該姿勢をV2で移動するキャラクタオブジェクト41がとるタイミング(WALKタイミング)を特定する。具体的には、式(3)、(4)に従って行う。
【0066】
そして、姿勢データ取得部114は、RUNタイミングでキャラクタオブジェクト41がとる姿勢を示すRUN姿勢データと、WALKタイミングでキャラクタオブジェクト41がとる姿勢を示すWALK姿勢データを上述の基礎モーションデータ108基づいて公知の方法で取得する(S106)。
【0067】
なお、S106では現タイミングに関してのみRUN姿勢データ及びWALK姿勢データを取得しているが、現タイミングに限らず、現タイミングの後に訪れる複数のタイミングについて取得してもよい。
【0068】
合成姿勢データ生成部115は、RUN姿勢データ及びWALK姿勢データを式(5)に従って合成し、合成姿勢データを生成する(S107)。S106において、複数のタイミングに対してRUN姿勢データ及びWALK姿勢データを取得している場合は、タイミング毎に合成姿勢データを算出し、主記憶26に記憶しておいてもよい。
【0069】
画像生成部116は、合成姿勢データと、キャラクタオブジェクト41の代表点51の座標と、視点43の位置を示す座標と、背景オブジェクト42の位置を示す座標等に基づいて、現タイミングにおける画像データを生成し、表示部104に供給する(S108)。また、S107において、主記憶26に複数の合成姿勢データを記録している場合は、対応するタイミングで主記憶26から合成姿勢データを取得して、画像データ生成してもよい。
【0070】
S102でV2<V<V1でない場合、すなわちVがV1、V2の一方と等しい場合は、制御部103が基礎モーションデータ108に基づいて、現タイミングにおける姿勢を示す姿勢データを取得し(S109)、S108で画像データを生成する。
【0071】
以上のように、本発明によれば、キャラクタオブジェクト41が所与の移動速度で順次姿勢を変化させて移動する様子をリアルに表現することができる。また、少ないデータ量で、任意の移動速度で移動するキャラクタオブジェクト41を表現することができるため、コンピュータリソースを効率的に使用することができる。
【0072】
なお、本発明は、上記実施の形態で説明したものに限らない。例えば、所与の移動速度Vは、V2≦V≦V1で示す範囲内になくてもよい。すなわち、V2<V1<Vである場合を例にとると、式(1)、(2)、(5)をそれぞれ以下の式(A)、(B)、(C)に変更することにより、Vで移動するキャラクタオブジェクト41に係る合成姿勢データを算出することができる。なお、この例の場合、歩いている動作と走っている動作を合成して、高速で走っている動作を生成することになる。
【0073】
V1=V*r+V2*(1−r)・・・・(A)
【0074】
(RUN距離)=(基本移動距離)*r+(WALK距離)*(1−r)・・・・(B)
【0075】
(RUN姿勢データ)=(合成姿勢データ)*r+(WALK姿勢データ)*(1−r)・・・・(C)
【0076】
V<V2<V1である場合も同様にして、合成姿勢データを算出することができる。
【0077】
また、歩いている動作と走っている動作との合成だけでなく、加減してキックする動作と全力でキックする動作を合成してもよい。他にも2つの投球動作を合成する、などもできる。
【0078】
また、キャラクタオブジェクト41毎に固有の移動速度データ107及び基礎モーションデータ108を用意してもよい。こうすれば、各キャラクタオブジェクト41の動作を固有の態様で表現することが可能になり、ゲーム自体の面白さをさらに増大させることができる。
【図面の簡単な説明】
【0079】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】主記憶に構築されるゲーム空間の一例を示す図である。
【図3】歩き動作及び走り動作を合成して小走り動作を生成する原理を示す図である。
【図4】キャラクタオブジェクトがとる姿勢を合成する一例を示す図である。
【図5】本発明の実施形態に係るゲーム装置の機能ブロックを示す図である。
【図6】動作識別データの一例を示す図である。
【図7】移動速度データの一例を示す図である。
【図8】基礎モーションデータの一例を示す図である。
【図9】本発明の実施形態に係るゲーム装置による合成処理を示すフロー図である。
【符号の説明】
【0080】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 マイクロプロセッサ、16 画像処理部、18 モニタ、20 音声処理部、22 スピーカ、24 DVD−ROM再生部、25 DVD−ROM、26 主記憶、28 メモリカード、30 入出力処理部、32 コントローラ、40 ゲーム空間、41 キャラクタオブジェクト、42 背景オブジェクト、43 視点、44 視線方向、51 代表点、101 情報記憶媒体、102 操作部、103 制御部、104 表示部、105 ゲームプログラム、106 動作識別データ、107 移動速度データ、108 基礎モーションデータ、109 ゲームデータ、111 合成割合算出部、112 基本移動距離算出部、113 動作単位時間算出部、114 姿勢データ取得部、115 合成姿勢データ生成部、116 画像生成部。

【特許請求の範囲】
【請求項1】
キャラクタオブジェクトが仮想空間内で移動する様子をスクリーン画像に表示するゲーム装置において、
前記キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データと、を関連づけて記憶する第1基礎モーションデータ記憶手段と、
前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データと、を関連づけて記憶する第2基礎モーションデータ記憶手段と、
所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出する合成割合算出手段と、
前記合成割合算出手段により算出される合成割合に従って前記第1基礎モーションデータが示す姿勢及び前記第2基礎モーションデータが示す姿勢を合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成する合成姿勢データ生成手段と、
前記合成姿勢データ生成手段により生成される合成姿勢データに基づいて、前記キャラクタオブジェクトが前記仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示するスクリーン画像表示手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記第1基礎モーションデータは、前記キャラクタオブジェクトが前記第1移動速度で移動する動作中に該キャラクタオブジェクトが任意のタイミングでとる姿勢を特定するデータであり、
前記第2基礎モーションデータは、前記キャラクタオブジェクトが前記第2移動速度で移動する動作中に該キャラクタオブジェクトが任意のタイミングでとる姿勢を特定するデータであり、
前記合成姿勢データ生成手段は、
前記第1基礎モーションデータに基づいて、前記キャラクタオブジェクトが前記第1移動速度で移動する動作中に該キャラクタオブジェクトが前記所与のタイミングに対応する第1タイミングでとる姿勢を示す第1基礎姿勢データを取得する第1基礎姿勢データ取得手段と、
前記第2基礎モーションデータに基づいて、前記キャラクタオブジェクトが前記第2移動速度で移動する動作中に該キャラクタオブジェクトが前記所与のタイミングに対応する第2タイミングでとる姿勢を示す第2基礎姿勢データを取得する第2基礎姿勢データ取得手段と、を含み、
前記第1基礎姿勢データにより示される姿勢と、前記第2基礎姿勢データにより示される姿勢と、を前記合成割合算出手段により算出される合成割合に従って合成することにより、前記合成姿勢データを生成する、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置において、
前記第1移動速度データは、前記キャラクタオブジェクトが前記第1移動速度で移動する動作に要する第1時間及びその動作による第1移動距離を示すデータであり、
前記第2移動速度データは、前記キャラクタオブジェクトが前記第2移動速度で移動する動作に要する第2時間及びその動作による第2移動距離を示すデータであり、
前記第1基礎姿勢データ取得手段は、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作に要する時間と、前記第1時間と、に基づいて、前記所与のタイミングに対応する前記第1タイミングを決定し、
前記第2基礎姿勢データ取得手段は、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作に要する時間と、前記第2時間と、に基づいて、前記所与のタイミングに対応する前記第2タイミングを決定する、
ことを特徴とするゲーム装置。
【請求項4】
請求項3に記載のゲーム装置において、
前記合成姿勢データ生成手段は、
前記第1移動距離と前記第2移動距離とを前記合成割合算出手段により算出される合成割合で合成することにより、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作による移動距離を算出する移動距離算出手段と、
前記移動距離算出手段により算出される移動距離と、前記所与の移動速度と、に基づいて、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作に要する時間を算出する所要時間算出手段と、をさらに含む、
ことを特徴とするゲーム装置。
【請求項5】
キャラクタオブジェクトが仮想空間内で移動する様子をスクリーン画像に表示するゲーム装置の制御方法であって、
前記キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データと、を関連づけて記憶してなる第1基礎モーションデータ記憶手段の記憶内容を読み出すステップと、
前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データと、を関連づけて記憶してなる第2基礎モーションデータ記憶手段の記憶内容を読み出すステップと、
所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出するステップと、
算出される前記合成割合に従って前記第1基礎モーションデータが示す姿勢及び前記第2基礎モーションデータが示す姿勢を合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成するステップと、
生成される前記合成姿勢データに基づいて、前記キャラクタオブジェクトが前記仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示するステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項6】
キャラクタオブジェクトが第1移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第1基礎モーションデータと、該第1移動速度を示す第1移動速度データと、を関連づけて記憶する第1基礎モーションデータ記憶手段、
前記キャラクタオブジェクトが前記第1移動速度とは異なる第2移動速度で移動する動作中に該キャラクタオブジェクトがとる姿勢を示す第2基礎モーションデータと、該第2移動速度を示す第2移動速度データと、を関連づけて記憶する第2基礎モーションデータ記憶手段、
所与の移動速度と、前記第1及び第2移動速度データにより示される前記第1及び第2移動速度と、に基づいて前記第1及び第2基礎モーションデータの合成割合を算出する合成割合算出手段、
前記合成割合算出手段により算出される合成割合に従って前記第1基礎モーションデータが示す姿勢及び前記第2基礎モーションデータが示す姿勢を合成し、前記キャラクタオブジェクトが前記所与の移動速度で移動する動作中に該キャラクタオブジェクトが所与のタイミングでとる姿勢を示す合成姿勢データを生成する合成姿勢データ生成手段、及び
前記合成姿勢データ生成手段により生成される合成姿勢データに基づいて、前記キャラクタオブジェクトが前記仮想空間内を前記所与の移動速度で移動する様子をスクリーン画像に表示するスクリーン画像表示手段、
としてコンピュータを機能させることを特徴とするプログラム。

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


【公開番号】特開2007−167323(P2007−167323A)
【公開日】平成19年7月5日(2007.7.5)
【国際特許分類】
【出願番号】特願2005−368679(P2005−368679)
【出願日】平成17年12月21日(2005.12.21)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】