(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、
オブジェクト空間内で移動体を移動させる演算を行う移動体演算手段と、
前記移動体のモーションデータとして、第１のモーションを示す第１のモーションデータと、前記第１のモーションから変化した変化後の第２のモーションを示す第２のモーションデータと、前記第１のモーションから変化する第３のモーションを示す第３のモーションデータと、を記憶する記憶手段と、
前記移動体のモーションデータを再生するモーションデータ再生手段と、
オブジェクト空間内の所与の視点において見える画像を生成する画像生成手段とを含み、
前記モーションデータ再生手段が、
前記移動体が第１のエリアに存在する場合に、操作部からの操作入力に応じた補間レートで、前記第１のモーションデータと前記第２のモーションデータとをモーション補間したモーションデータを再生し、前記移動体が第２のエリアに存在する場合に、モーション補間せずに前記第３のモーションデータを再生し、前記第１のエリアと前記第２のエリアとの間の補正エリアに前記移動体が存在する場合に、前記移動体が前記第２のエリアに到達するまでに前記第１のモーションデータが再生されるように前記第１のモーションデータをモーション補間する割合を徐々に大きくする補正を行った補間レートで、前記第１のモーションデータと前記第２のモーションデータとをモーション補間したモーションデータを再生することを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記記憶手段が、
第４のモーションデータと第５のモーションデータとを更に記憶し、
前記モーションデータ再生手段が、
前記移動体演算手段の演算により得られた前記移動体の位置、方向、速度及び加速度の少なくとも１つを含む走行データに応じた補間レートで前記第４のモーションデータと前記第５のモーションデータとをモーション補間して前記第１のモーションデータを得ることを特徴とする画像生成装置。
【請求項３】
請求項２において、
前記走行データが前記移動体の鉛直方向の加速度であり、前記移動体が搭乗体と該搭乗体に搭乗するキャラクタとを含み、
前記モーションデータ再生手段が、
前記鉛直方向の加速度に応じた補間レートで前記第４のモーションデータと前記第５のモーションデータとをモーション補間して前記第１のモーションデータを得ることを特徴とする画像生成装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記移動体が、搭乗体と該搭乗体に搭乗するキャラクタとを含み、前記モーションデータ再生手段が、モーションデータの再生により該キャラクタを動作させることを特徴とする画像生成装置。
【請求項５】
オブジェクト空間内の所与の視点での画像を生成するための、コンピュータ読み取り可能な情報記憶媒体であって、
オブジェクト空間内で移動体を移動させる演算を行う移動体演算手段と、
前記移動体のモーションデータとして、第１のモーションを示す第１のモーションデータと、前記第１のモーションから変化した変化後の第２のモーションを示す第２のモーションデータと、前記第１のモーションから変化する第３のモーションを示す第３のモーションデータと、を記憶する記憶手段と、
前記移動体のモーションデータを再生するモーションデータ再生手段と、
オブジェクト空間内の所与の視点において見える画像を生成する画像生成手段としてコンピュータを機能させ、
前記モーションデータ再生手段が、
前記移動体が第１のエリアに存在する場合に、操作部からの操作入力に応じた補間レートで、前記第１のモーションデータと前記第２のモーションデータとをモーション補間したモーションデータを再生し、前記移動体が第２のエリアに存在する場合に、モーション補間せずに前記第３のモーションデータを再生し、前記第１のエリアと前記第２のエリアとの間の補正エリアに前記移動体が存在する場合に、前記移動体が前記第２のエリアに到達するまでに前記第１のモーションデータが再生されるように前記第１のモーションデータをモーション補間する割合を徐々に大きくする補正を行った補間レートで、前記第１のモーションデータと前記第２のモーションデータとをモーション補間したモーションデータを再生することを特徴とするプログラムを記憶した情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、オブジェクト空間内の所与の視点から見える画像を生成する画像生成装置が開発、実用化されており、いわゆる仮想現実を体験できるものとして人気が高い。バイクゲームを楽しむことができる画像生成装置を例にとれば、プレーヤは、自身が操作するバイクをオブジェクト空間内で走行させて３次元ゲームを楽しむ。
【０００３】
さて、このような画像生成装置では、プレーヤの仮想現実感を向上させるという課題がある。このため、例えばバイクのみならず、バイクに搭乗するキャラクタについても、よりリアルに多様に動作させることが望まれる。そしてこのキャラクタの動作は、キャラクタの動きを記述したモーションデータを予め用意し、このモーションデータを再生することで表現できる。この時、仮想現実感のより一層の向上を図るためには、プレーヤからの操作データを反映した動きをキャラクタに行わせることが望ましい。
【０００４】
しかしながら、バイクが走行するエリアによっては、プレーヤからの操作データを反映させることが望ましくないエリアがあることが判明した。
【０００５】
またプレーヤからの操作データのみをキャラクタの動きに反映させるだけでは、仮想現実感の達成が不十分であることも判明した。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、リアルで滑らかなモーションデータの再生を可能にする画像生成装置及び情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、オブジェクト空間内で移動体を移動させる演算を行う手段と、モーション補間が行われる第１のエリアからモーション補間が行われない第２のエリアに前記移動体が進入する場合に、第１のエリアで再生するモーションデータと、第２のエリアで再生するモーションデータとを繋ぐ繋ぎモーションデータを再生する手段と、オブジェクト空間内の所与の視点において見える画像を生成する手段とを含むことを特徴とする。
【０００８】
本発明によれば、移動体が第１のエリアを移動する場合にはモーション補間が行われ、これによりリアルな画像が生成される。一方、本発明によれば、モーション補間を行わない第２のエリアを設けることもできる。このような第１、第２のエリアをオブジェクト空間内に設ける場合、何も対策を講じなければ、移動体が第１のエリアから第２のエリアに進入した場合に、不自然な画像が生成されるおそれがある。しかしながら本発明によれば、移動体が、第１のエリアから第２のエリアに進入する場合に、これらのエリアで再生するモーションデータを繋ぐ繋ぎモーションデータが再生される。この結果、このような不自然な画像が生成されるのを防止できる。即ち本発明によれば、モーション補間を行う第１のエリアとモーション補間を行わない第２のエリアとを設けることができると共に、これらのエリア間で移動体が移動した場合にも違和感のない画像を提供できるようになる。
【０００９】
また本発明は、前記第１のエリアで行われるモーション補間の補間レートを補正することで、前記繋ぎモーションデータの再生を行うことを特徴とする。このようにすることで、補間レートを補正するだけという簡易な処理で繋ぎモーションデータを再生できるようになる。
【００１０】
また本発明は、前記移動体が所与のポイントを通過した場合に、前記補間レートの補正を開始することを特徴とする。このようにすることで、第１のエリアから第２のエリアに移動体が進入する前に、確実に繋ぎモーションデータを再生できるようになる。
【００１１】
また本発明は、モーション補間が行われない前記第２のエリアからモーション補間が行われる前記第１のエリアに前記移動体が進入する場合に、第２のエリアで再生するモーションデータと、第１のエリアで再生するモーションデータとを繋ぐ繋ぎモーションデータを再生することを特徴とする。このようにすることで、移動体が第２のエリアから第１のエリアに進入した場合にも、不自然な画像が生成されるのを防止できるようになる。
【００１２】
また本発明は、操作データ及び前記移動体の走行データの少なくとも一方に基づき、モーション補間を行うことを特徴とする。このようにすることで、操作データや移動体の走行データを反映したリアルなモーションデータの再生が可能になり、仮想現実感を向上できる。
【００１３】
また本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、オブジェクト空間内で移動体を移動させる演算を行う手段と、演算により得られた前記移動体の位置、方向、速度及び加速度の少なくとも１つを含む走行データに基づいてモーション補間を行い、補間により得られたモーションデータを再生する手段と、オブジェクト空間内の所与の視点において見える画像を生成する手段とを含むことを特徴とする。
【００１４】
本発明によれば、移動体の走行データに基づいてモーション補間が行われる。このため移動体の走行データを反映したリアルなモーションデータを再生できるようになる。そして特に本発明によれば、変化に富んだコースを移動体が走行する場合などに、コース状況によりリアルタイムに変化する移動体の走行データを反映したモーションデータを再生できる。このため、仮想現実感のより一層の向上を図れる。
【００１５】
また本発明は、前記走行データが前記移動体の鉛直方向の加速度であり、前記移動体が搭乗体と該搭乗体に搭乗するキャラクタとを含み、前記鉛直方向の加速度に基づいて前記キャラクタの動作のモーション補間を行うことを特徴とする。このようにすることで、例えばアップダウンのあるコースを移動体が移動する場合に、アップダウンに応じて変化するキャラクタの動きなど表現できるようになり、画像のリアル感を高めることができる。
【００１６】
また本発明は、前記移動体が、搭乗体と該搭乗体に搭乗するキャラクタとを含み、モーションデータの再生により該キャラクタを動作させることを特徴とする。このようにすることで、移動体に搭乗するキャラクタのモーションをリアルで滑らかに変化させることが可能となり、自転車ゲームやバイクゲームなどに最適な画像を提供できるようになる。
【００１７】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を自転車ゲームに適用した場合を例にとり説明するが、本発明が適用されるものはこれに限られるものではない。
【００１８】
図１に本実施形態の画像生成装置を業務用のゲーム装置に適用した場合の外観図の一例を示す。
【００１９】
ここで、ライディング筐体１６は、実際の自転車を模して作られたものであり、図示しないプレーヤはこのライディング筐体１６のサドル１７に座る。そしてディスプレイ１８には、移動体２０（搭乗体である自転車及び自転車に搭乗するキャラクタを含む）や移動体２０が走るコースや周囲の風景が表示される。プレーヤは、この画像を見ながら、ハンドル３２を左右に操作することで、ディスプレイ１８に映し出される移動体２０の進む方向を決める。またペダル３０をＡ１に示すように漕ぐことで、コース進行方向に移動体２０を進める。
【００２０】
図２に、本実施形態の画像生成装置の機能ブロック図の一例を示す。
【００２１】
ここで操作部１０は、プレーヤが、図１のハンドル３２を操作したりペダル３０を漕ぐことで操作データを入力するためのものであり、操作部１０にて得られた操作データは処理部１００に入力される。
【００２２】
処理部１００は、上記操作データと所与のプログラムなどに基づいて、オブジェクト空間に表示物を配置する処理や、このオブジェクト空間の所与の視点での画像を生成する処理を行うものである。この処理部１００の機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、カスタム（ゲートアレイ等）ＩＣなどのハードウェアにより実現できる。
【００２３】
情報記憶媒体１９０は、プログラムやデータを記憶するものである。この情報記憶媒体１９０の機能は、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、ＤＶＤ、ハードディスク、メモリなどのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１９０からのプログラム、データに基づいて種々の処理を行うことになる。
【００２４】
処理部１００は、ゲーム演算部１１０とモーションデータ記憶部１２０と画像生成部１５０を含む。
【００２５】
ここでゲーム演算部１１０は、ゲームモードの設定処理、ゲームの進行処理、移動体の位置や方向を決める処理、視点位置や視線方向を決める処理、オブジェクト空間へオブジェクトを配置する処理等を行う。
【００２６】
モーションデータ記憶部１２０は種々のモーションデータを記憶するものである。このモーションデータは、初期状態では情報記憶媒体１９０に格納されており、電源投入後等に情報記憶媒体１９０からモーションデータ記憶部１２０に転送される。
【００２７】
また画像生成部１５０は、ゲーム演算部１１０により設定されたオブジェクト空間での所与の視点での画像を生成する処理を行う。画像生成部１５０により生成された画像は表示部１２において表示される。
【００２８】
ゲーム演算部１１０は移動体演算部１１２とモーションデータ再生部１１６を含む。
【００２９】
ここで移動体演算部１１２は、操作部１０から入力される操作データや所与のプログラムに基づき、プレーヤが操作する移動体や所与の制御プログラム（コンピュータ）により動きが制御される移動体を、オブジェクト空間内のコース上で移動させる演算を行う。より具体的には、移動体の位置や方向を例えば１フレーム（１／６０秒）毎に求める演算を行う。
【００３０】
例えば（ｋ−１）フレームでの移動体の位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでの移動体の位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
モーションデータ再生部１１６は、モーションデータ記憶部１２０に記憶されるモーションデータを再生する処理を行う。またモーションデータ再生部１１６は、モーションデータ記憶部１２０に記憶されるモーションデータを補間し、補間後のモーションデータを再生する処理も行う。
【００３１】
図３に本実施形態により生成される画像の一例を示す。プレーヤは、図２の操作部１０を用いて移動体２０を操作し、制御プログラムにより制御される移動体や、他のプレーヤが操作する移動体と競争をする。そして本実施形態では、プレーヤの操作、移動体２０の走行状況、コース状況が反映されるように、キャラクタ２２をリアルに動かしている。このようにすることで、プレーヤの感じる仮想現実感を大幅に向上できる。
【００３２】
さて本実施形態では、モーションデータ記憶部１２０に記憶されるモーションデータをそのまま再生するだけではなく、モーションデータ記憶部１２０に記憶される２以上のモーションデータを補間し再生する処理も行っている。
【００３３】
図４、図５を用いてモーション補間（モーションデータの補間）の原理について説明する。ここでモーション補間とは、２以上のモーションデータ（オブジェクトを構成するパーツオブジェクトのフレーム毎の位置データ、方向データ）を、所与の補間レートで補間し、新たなモーションデータを生成することを言う。例えば図４では、Ｂ１のモーションとＢ２のモーションとを補間することで、Ｂ３のモーションが生成されている。
【００３４】
より具体的には例えば図５のような処理を行いモーション補間を実現する。例えば第１のモーションデータが含む、あるパーツオブジェクト（首、手、足等）の位置データ、方向（回転）データをＴ１、Ｒ１とし、第２のモーションデータが含む、当該パーツオブジェクトの位置データ、方向データをＴ２、Ｒ２とする。また、第１のモーションデータに対する補間レートをα、第２のモーションデータに対する補間レートをβとする。すると、位置データがＴ１×α＋Ｔ２×βであり方向データがＲ１×α＋Ｒ２×βである新たなモーションデータが補間により生成され再生される。本実施形態では、このモーション補間を各フレーム（時間）毎に行っている。
【００３５】
なお本実施形態では、上記の補間レートα、βを、操作データ、移動体の走行データ等に基づいて決めている。
【００３６】
このようなモーション補間を行うことで、操作データに応じたすべてのモーションデータを予め用意する必要がなくなる。基準となるモーションデータに基づき、操作データに応じたモーションデータを補間により生成できるからである。
【００３７】
しかしながら、ゲーム状況によっては、モーション補間を必ずしも必要としない場合がある。例えば図６に示すように、移動体２０が第１のエリア５０を走行している場合には、操作データなどに応じたモーション補間を行うことが望ましいが、移動体２０がジャンプする第２のエリア５２においては、このようなモーション補間は必ずしも必要でない。
【００３８】
即ち、第１のエリア５０においては、例えばプレーヤが図１のハンドル３２を左に切ればキャラクタ２２が左に傾く姿勢をとり、プレーヤがハンドル３２を右に切ればキャラクタ２２が右に傾く姿勢をとるように、モーション補間を行う。このようにすることで、より現実世界に近いリアルな画像を生成でき、仮想現実感の向上を図れる。一方、移動体２０がジャンプした場合には、モーション補間を行わずに、予め用意されたモーションデータを再生するだけで、十分にリアルな画像を得ることができる。
【００３９】
ところが、移動体２０が、モーション補間を行う第１のエリア５０から、モーション補間を行わない第２のエリア５２に進入した場合に、以下のような問題が発生することが判明した。
【００４０】
例えば第１のエリア５０においては、図７のＣ１〜Ｃ６に示すような、補間により生成されたモーションデータが再生される。一方、第２のエリア５２においては、Ｄ１〜Ｄ４に示すような、予め用意されたモーションデータ（ジャンプのモーションデータ）が、補間されずに再生される。そして、移動体２０が第１のエリア５０から第２のエリア５２に進入した場合には、Ｃ１〜Ｃ６を再生した後にＤ１〜Ｄ４が再生されることになる。
【００４１】
この場合、キャラクタ２２の傾き角度は、操作データ、即ち図１のハンドル３２の操舵角度により変化する。したがって、ジャンプする直前までプレーヤがハンドル３２を大きく切っていた場合には、図７のＣ６及びＤ１に示すように、モーションの飛びが発生してしまう。即ち、左に傾いていたキャラクタ２２の姿勢が、１フレームで突然直立状態になってしまい、プレーヤに違和感、不自然感を与える。
【００４２】
このような問題を解決するために本実施形態は以下のような特徴を有している。即ち本実施形態の第１の特徴は、モーション補間が行われる第１のエリアからモーション補間が行われない第２のエリアに移動体が進入する場合に、第１のエリアで再生するモーションデータと、第２のエリアで再生するモーションデータとを繋ぐ繋ぎモーションデータを再生する点にある。
【００４３】
より具体的には以下のような処理を行っている。即ち図８に示すように、第１、第２のエリア５０、５２の間に補正エリア５４を設ける。そして移動体２０が、モーション補間を行う第１のエリア５０から、モーション補間を行わない第２のエリア５２に進入する場合に、この補正エリア５４において、第１、第２のエリアでのモーションデータを繋ぐ繋ぎモーションデータを再生する。
【００４４】
この場合のモーションデータの例について図９に示す。第１のエリア５０においては、図９のＥ１〜Ｅ６に示すような、補間により生成されたモーションデータが再生される。一方、第２のエリア５２においては、Ｆ１〜Ｆ４に示すような、予め用意されたモーションデータが、補間されずに再生される。図７と異なるのは、図７ではＣ６においてもキャラクタ２２が左に傾いていたが、図９ではＥ６においてキャラクタ２２が直立状態になっている点である。
【００４５】
即ち、移動体２０が補正エリアに進入すると、プレーヤが図１のハンドル３２を左に切ったままにしているのにもかかわらず、図９のＥ１〜Ｅ６に示すように、キャラクタ２２の姿勢が、左に傾いた状態から直立状態に変化する。このようにすることで、図７のＣ６及びＤ１ではモーションの飛びが発生していたが、図９のＥ６及びＦ１ではモーションの飛びが発生しない。即ち移動体２０がモーション補間を行う第１のエリア５０からモーション補間を行わない第２のエリア５２に進入した場合にも、モーションを滑らかに繋ぐことが可能になる。これにより、プレーヤに、違和感のない自然な画像を提供することができ、プレーヤの仮想現実感の向上を図れる。
【００４６】
なお本実施形態では、繋ぎモーションデータの再生を、第１のエリア５０で行われるモーション補間の補間レートを補正することで実現している。例えば図１０に示すように、第１のエリア５０では、２つのモーションデータＭ１、Ｍ２を、Ｍ１×α＋Ｍ２×βと表される関係式にしたがい補間している。ここで、α、βは補間レートである。そして本実施形態では、移動体２０が図８の補正エリア５４にある場合、つまり移動体２０がポイント５６を通過した場合に、上記の補間レートα、βの補正を開始する。例えばモーションデータＭ１が、キャラクタ２２が直立状態となっているモーションデータであり、モーションデータＭ２が、キャラクタ２２が左に傾いた状態となっているモーションデータである場合に、βを徐々に小さくしてゆくと共にαを徐々に大きくしてゆく。このようにすることで、図９のＥ１〜Ｅ６に示すように、プレーヤがハンドル３２を左に切っているのにもかかわらず、キャラクタ２２の姿勢を左に傾いた状態から直立状態に変化させることが可能になる。これにより、モーションを滑らかに繋ぐことが可能になる。
【００４７】
さて、本実施形態の第２の特徴は、図１の移動体演算部１１２より得られた移動体の位置や方向や速度（角速度も含む）や加速度（角加速度も含む）などの走行データに基づいてモーション補間を行い、補間により得られたモーションデータを再生する点にある。このように移動体の走行データに基づいてモーション補間を行うことで、現実世界に近い、よりリアルな画像を生成できるようになる。
【００４８】
より具体的には本実施形態では以下のような処理を行っている。
【００４９】
図１１に示すように本実施形態では２段階のモーション補間を行っている。即ち図１１においてＭ１は、図１２（Ａ）に示すように鉛直方向で下向きに移動体２０が加速している場合に再生されるモーションデータを表す。またＭ２は、図１２（Ｂ）に示すように鉛直方向で上向きに移動体２０が加速している場合に再生されるモーションデータを表す。本実施形態では、まず、これらのＭ１、Ｍ２を補間レートα、βに基づいて補間し、ＭＩ１＝Ｍ１×α＋Ｍ２×βを得る。ここで補間レートα、βは、移動体２０の鉛直方向の加速度に基づいて決まることになる。
【００５０】
また図１１においてＭ３は、図１のハンドル３２を限界まで切った時のモーションデータを表す。本実施形態では、上記のように得られたＭＩ１＝Ｍ１×α＋Ｍ２×βとＭ３とを、補間レートγ、σに基づいて補間し、ＭＩ２＝ＭＩ１×γ＋Ｍ３×σ＝（Ｍ１×α＋Ｍ２×β）γ＋Ｍ３×σを得る。ここで補間レートγ、σは、ハンドル３２の操舵角度により決まることになる。
【００５１】
以上のようにして、本実施例では、移動体２０の走行データ（鉛直方向の加速度）と操作データ（ハンドル３２の操舵角度）が反映されたモーション再生を、モーションデータに要する記憶容量を最小限に抑えながら実現することが可能となる。
【００５２】
図１３に、鉛直方向の加速度に基づくモーション補間の一例を示す。図１３において、Ｇ１〜Ｇ６は、鉛直方向で下向きの加速度を移動体２０が有する場合に再生されるモーションデータの例である。Ｇ１〜Ｇ６では、キャラクタ２２の姿勢が後側に傾き、手が伸びた状態になる。またＨ１〜Ｈ６は、鉛直方向で上向きの加速度を移動体２０が有する場合に再生されるモーションデータの例である。Ｈ１〜Ｈ６では、キャラクタ２２の姿勢が前傾になり、手が曲がった状態になる。
【００５３】
本実施形態では、リアルタイムに得られる移動体の鉛直方向の加速度に基づいて、これらのモーションデータＧ１〜Ｇ６とＨ１〜Ｈ６とをフレーム毎に補間することでモーションデータＩ１〜Ｉ６を得て、このモーションデータＩ１〜Ｉ６を再生している。このようにすることで、予め用意されたモーションデータＧ１〜Ｇ６とＨ１〜Ｈ６に基づいて、移動体２０の鉛直方向の加速度（走行データ）に応じた無数のモーションデータを得ることが可能となる。この結果、モーションデータに要する記憶容量を最小限に抑えながら、リアルな画像を生成できるようになる。
【００５４】
なお図１３では、移動体の走行データが鉛直方向の加速度である場合を例にとり説明した。特に自転車やバイクなどの搭乗体にキャラクタが搭乗するタイプのゲームにおいては、このように鉛直方向の加速度に基づいてキャラクタのモーションデータを補間することが望ましい。しかしながら、本発明における走行データはこれに限られものではなく、移動体の位置、方向、速度や、鉛直方向以外の加速度等、種々のものを採用できる。
【００５５】
次に本実施形態の詳細な処理例について、図１４、図１５のフローチャートを用いて説明する。
【００５６】
図１４は、繋ぎモーションの再生（図８、図９、図１０参照）に関するフローチャートである。
【００５７】
まず初期化処理において、補正係数Ｋを１に初期化しておく（ステップＳ１）。なお補正係数Ｋは、補間レートα、βを補正するための係数であり、０≦Ｋ≦１の範囲で変化する。
【００５８】
通常処理においては、まず当該フレームでの移動体２０の位置を算出する（ステップＳ２）。次に、移動体２０が図８に示す補正エリア５４内に位置するか否か（ポイント５６を通過したか否か）を判断する（ステップＳ３）。
【００５９】
次に、Ｋ＝０か否かを判断する（ステップＳ４）。そしてＫ＝０でない場合には、Ｋ＝Ｋ−ｍ１の演算を行う（ステップＳ５）。ここで、ｍ１は、０＜ｍ１＜１の範囲にある定数である。例えば繋ぎモーションの再生（補間レートの補正）を１０フレーム程度で行う場合には、ｍ１＝０．１になる。一方、Ｋ＝０である場合にはステップＳ５の処理を行わずステップＳ６に移行する。
【００６０】
次に、補間レートα、β（α＋β＝１、０≦α≦１、０≦β≦１）を補正係数Ｋを用いて下式（３）のように補正する（ステップＳ６）。
β＝β×Ｋ
α＝１−β                          （３）
このように補間レートα、βを補間することで（図１０参照）、例えば図９のＥ１〜Ｅ６で説明したようにキャラクタ２０の姿勢を徐々に直立状態に戻すことが可能になる。これによりＥ６からＦ１への移行時にモーションの飛びが発生するのが防止される。
【００６１】
次に、補間されたモーションデータを再生する（ステップＳ８）。これにより当該フレームでの処理が終了する。
【００６２】
ステップＳ３で移動体２０が図８の補正エリア５４内に位置しないと判断された場合には、移動体２０が、モーション補間を行うエリアである第１のエリア５０内に位置するか否かを判断する（ステップＳ９）。そして移動体２０が第１のエリア５０内に位置しない場合には、移動体２０は、モーション補間を行わない第２のエリアに位置すると考えられる。したがって、この場合にはジャンプ用のモーションデータＭＪを選択し再生する（ステップＳ１０、Ｓ８）。
【００６３】
一方、ステップＳ９で移動体２０が第１のエリア５０内に位置すると判断された場合には、Ｋ＝１か否かを判断する（ステップＳ１１）。そしてＫ＝１でない場合には、Ｋ＝Ｋ−ｍ２の演算を行う（ステップＳ１２）。ここで、ｍ２は、０＜ｍ２＜１の範囲にある定数である。一方、Ｋ＝１である場合にはステップＳ１２の処理を行わずステップＳ６に移行する。
【００６４】
ステップＳ１１、Ｓ１２の処理を設けたのは以下の理由による。即ち図８に示すように移動体２０がジャンプした場合に、移動体２０の着地点はプレーヤの操作等に依存するものであるため、予測することはできない。したがって、図８の第２のエリア５２の右側のどの地点から再び第１のエリアが始まるかを予測することはできない。そして、移動体２０が着地すると、その時点からモーション補間が有効になってしまい、着地した瞬間に図７のＣ６、Ｄ１に示すようなモーションの飛びが発生するおそれがある。即ち、着地した瞬間においてプレーヤが図１のハンドル３２を右又は左に大きく切っていると、図７のＣ６、Ｄ１に示すようなモーションの飛びが発生する。
【００６５】
本実施形態では、図１４のステップＳ１１、Ｓ１２に示すように、ジャンプ後に再び第１のエリアに移動体が進入した場合に、Ｋ＝１になるまでＫ＝Ｋ＋ｍ２の補正がなされる。即ちモーション補間を行わない第２のエリアからモーション補間を行う第１のエリアに移動体が進入する場合に、第２のエリアのモーションデータと第１のエリアのモーションデータを繋ぐ繋ぎモーションが再生される。これによりプレーヤが違和感や不自然さを感じるのを有効に防止できるようになる。
【００６６】
図１５は、走行データに基づくモーション補間（図１２（Ａ）、（Ｂ）、図１３参照）に関するフローチャートである。
【００６７】
まず移動体の鉛直方向（Ｙ方向）の速度の例えば過去６０フレーム分の平均値ＶＭＹavを算出する（ステップＴ１）。移動体の速度は、前述の式（２）に示すように各フレーム毎に算出されている。
【００６８】
次に、今回のフレームの移動体の鉛直方向の速度ＶＭＹを前述の式（２）に基づき算出する（ステップＴ２）。
【００６９】
次に、鉛直方向の加速度ＡＭＹを下式（４）に基づいて算出する。
ＡＭＹ＝ＶＭＹ−ＶＭＹav            （４）
このようにすることで、図１２（Ａ）に示すように移動体２０が岩などから降りた場合や、図１２（Ｂ）に示すように移動体２０が例えば岩などに上る場合に、移動体２０の鉛直方向の加速度を容易に検出することが可能になる。
【００７０】
次に、ステップＴ３で得られた鉛直方向の加速度ＡＭＹに基づいて、補間レートα、βを決定する（ステップＴ４）。例えば図１２（Ａ）に示すように移動体２０が下方向に加速している場合にはαが大きくなり、図１２（Ｂ）に示すように移動体２０が上方向に加速している場合にはβが大きくなる。
【００７１】
次に、ステップＴ４で得られた補間レートα、βに基づいて、図１３に示されるようなモーション補間（Ｍ＝Ｍ１×α＋Ｍ２×β）を行う（ステップＴ５）。そして、得られたモーションを再生する（ステップＴ６）。
【００７２】
以上の処理を各フレーム毎に行うことで、走行データに基づくモーション補間が可能になる。
【００７３】
次に、本実施形態を実現できるハードウェアの構成の一例について図１６を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００７４】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【００７５】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００７６】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造（例えばモーションデータの構造）は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００７７】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００７８】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００７９】
そして図１〜図１３で説明した種々の処理は、図１４、図１５のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００８０】
さて前述した図１は、本実施形態を業務用ゲーム装置に適用した場合の例を示すものである。この場合、装置に内蔵されるシステム基板１１０６には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装されている。そして、オブジェクト空間内で移動体を移動させる演算を行うための情報、モーション補間が行われる第１のエリアからモーション補間が行われない第２のエリアに移動体が進入する場合に、第１のエリアで再生するモーションデータと、第２のエリアで再生するモーションデータとを繋ぐ繋ぎモーションデータを再生するための情報、オブジェクト空間内の所与の視点において見える画像を生成するための情報、演算により得られた移動体の位置、方向、速度及び加速度の少なくとも１つを含む走行データに基づいてモーション補間を行い、補間により得られたモーションデータを再生するための情報等は、システム基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００８１】
図１７（Ａ）に、本実施形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００８２】
図１７（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４-1〜１３０４-nとを含むゲーム装置に本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【００８３】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【００８４】
例えば繋ぎモーションを再生する手法は、図９、図１０、図１４等で説明した手法が好ましいが、本発明はこれに限らず種々の変形実施が可能である。例えば、予め繋ぎ用のモーションデータを用意しておいて、これを再生するようにしてもよい。
【００８５】
また移動体は、搭乗体を含まないキャラクタのみのものであってもよいし、キャラクタを含まない搭乗体のみでのものであってもよい。
【００８６】
また走行データに基づきモーション補間を行う手法も本実施形態で説明したものに限らず、種々の変形実施が可能である。
【００８７】
また本実施形態では自転車の競争ゲームに本発明を適用した場合について説明したが、本発明はこれに限らず種々のゲーム（他の競争ゲーム、スポーツゲーム、対戦ゲーム、ロールプレイングゲーム、シューティングゲーム等）に適用できる。
【００８８】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステム基板等の種々の画像生成装置にも適用できる。
【００８９】
【図面の簡単な説明】
【図１】本実施形態の画像生成装置の外観図の一例である。
【図２】本実施形態の画像生成装置の機能ブロック図の一例である。
【図３】本実施形態により生成される画像の例を示す図である。
【図４】モーション補間について説明するための図である。
【図５】モーション補間について説明するための図である。
【図６】繋ぎモーションを再生しない場合の問題点について説明するための図である。
【図７】繋ぎモーションを再生しない場合の問題点について説明するための図である。
【図８】繋ぎモーションを再生する手法について説明するための図である。
【図９】繋ぎモーションを再生する手法について説明するための図である。
【図１０】補間レートを補正する手法について説明するための図である。
【図１１】２段階のモーション補間を行う手法について説明するための図である。
【図１２】図１２（Ａ）、（Ｂ）は、走行データ（鉛直方向の加速度）に基づくモーション補間について説明するための図である。
【図１３】走行データ（鉛直方向の加速度）に基づくモーション補間について説明するための図である。
【図１４】本実施形態の詳細な処理例を説明するためのフローチャートである。
【図１５】本実施形態の詳細な処理例を説明するためのフローチャートである。
【図１６】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１７】図１７（Ａ）、（Ｂ）は、本実施形態が適用される種々の形態の装置の例を示す図である。
【符号の説明】
１０    操作部
１２    表示部
１６    ライディング筐体
１７    サドル
１８    ディスプレイ
２０    移動体
２２    キャラクタ
３０    ペダル
３２    ハンドル
４０    コース
５０    第１のエリア
５２    第２のエリア
５４    補正エリア
５６    ポイント
１００  処理部
１１０  ゲーム演算部
１１２  移動体演算部
１１６  モーションデータ再生部
１２０  モーションデータ記憶部
１５０  画像生成部
１９０  情報記憶媒体
【図１】
0004108167.tif 000002
【図２】
0004108167.tif 000003
【図３】
0004108167.tif 000004
【図４】
0004108167.tif 000005
【図５】
0004108167.tif 000006
【図６】
0004108167.tif 000007
【図７】
0004108167.tif 000008
【図８】
0004108167.tif 000009
【図９】
0004108167.tif 000010
【図１０】
0004108167.tif 000011
【図１１】
0004108167.tif 000012
【図１２】
0004108167.tif 000013
【図１３】
0004108167.tif 000014
【図１４】
0004108167.tif 000015
【図１５】
0004108167.tif 000016
【図１６】
0004108167.tif 000017
【図１７】
0004108167.tif 000018