(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、
モーションデータ合成の基準となる基準モーションデータを記憶する基準モーションデータ記憶手段と、
所与の操作手段により入力される操作ベクトルの情報と、あるフレームにおける複数の前記基準モーションデータとに基づいて、前記操作ベクトルに対応する、当該フレームにおけるモーションデータを合成するモーションデータ合成手段と、
合成されたモーションデータに基づいて動作する表示物の画像を含む視界画像を生成する画像生成手段とを含み、
前記モーションデータ合成手段が、
前記操作ベクトルの所与の第１、第２の軸の成分と、該第１の軸に対応づけられた少なくとも１つの基準モーションデータと、該第２の軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記モーションデータ合成手段が、
第１の軸の正の成分の最大値に対応づけられた第１の基準モーションデータと、第１の軸の負の成分の絶対値の最大値に対応づけられた第２の基準モーションデータと、第２の軸の正の成分の最大値に対応づけられた第３の基準モーションデータと、第２の軸の負の成分の絶対値の最大値に対応づけられた第４の基準モーションデータと、前記第１、第２の軸が交わる原点に対応づけられた第５の基準モーションデータとに基づいて、モーションデータを合成することを特徴とする画像生成装置。
【請求項３】
請求項２において、
前記モーションデータ合成手段が、
前記操作ベクトルの第１、第２の軸の成分が共に正である場合には、前記第１、第３、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の正の成分が大きいほど前記第１の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の正の成分が大きいほど前記第３の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１又は第２の軸の正の成分が小さいほど、前記第５の基準モーションデータの影響度を大きくし、
前記操作ベクトルの第１の軸の成分が正であり第２の軸の成分が負である場合には、前記第１、第４、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の正の成分が大きいほど前記第１の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の負の成分の絶対値が大きいほど前記第４の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１の軸の正の成分又は第２の軸の負の成分の絶対値が小さいほど、前記第５の基準モーションデータの影響度を大きくし、
前記操作ベクトルの第１の軸の成分が負であり第２の軸の成分が正である場合には、前記第２、第３、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の負の成分の絶対値が大きいほど前記第２の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の正の成分が大きいほど前記第３の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１の軸の負の成分の絶対値又は第２の軸の正の成分が小さいほど、前記第５の基準モーションデータの影響度を大きくし、
前記操作ベクトルの第１、第２の軸の成分が共に負である場合には、前記第２、第４、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の負の成分の絶対値が大きいほど前記第２の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の負の成分の絶対値が大きいほど前記第４の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１又は第２の軸の負の成分の絶対値が小さいほど、前記第５の基準モーションデータの影響度を大きくすることを特徴とする画像生成装置。
【請求項４】
請求項２又は３のいずれかにおいて、
合成された前記モーションデータにより動作する前記表示物は、野球ゲームにおけるゲームキャラクタであり、
前記第１、第２、第３、第４、第５の基準モーションデータの各々は、該ゲームキャラクタの泳ぎスイング、巻き込みスイング、ダウンスイング、アッパースイング、普通スイングを表すものであることを特徴とする画像生成装置。
【請求項５】
請求項４において、
所与の第２の操作手段の入力が有効となるまで、前記操作ベクトルに基づいて前記ゲームキャラクタをバッターボックス上で動かす処理を行うことを特徴とする画像生成装置。
【請求項６】
オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、
モーションデータ合成の基準となる基準モーションデータを記憶する基準モーションデータ記憶手段と、
所与の操作手段により入力される操作ベクトルの情報と、あるフレームにおける複数の前記基準モーションデータとに基づいて、前記操作ベクトルに対応する、当該フレームにおけるモーションデータを合成するモーションデータ合成手段と、
合成されたモーションデータに基づいて動作する表示物の画像を含む視界画像を生成する画像生成手段とを含み、
前記モーションデータ合成手段が、
前記操作ベクトルの所与の第１、第２、第３の軸の成分と、該第１の軸に対応づけられた少なくとも１つの基準モーションデータと、該第２の軸に対応づけられた少なくとも１つの基準モーションデータと、該第３の軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することを特徴とする画像生成装置。
【請求項７】
オブジェクト空間内の所与の視点での視界画像を生成するための、コンピュータ読み取り可能な情報記憶媒体であって、
モーションデータ合成の基準となる基準モーションデータを記憶する基準モーションデータ記憶手段と、
所与の操作手段により入力される操作ベクトルの情報と、あるフレームにおける複数の前記基準モーションデータとに基づいて、前記操作ベクトルに対応する、当該フレームにおけるモーションデータを合成するモーションデータ合成手段と、
合成されたモーションデータに基づいて動作する表示物の画像を含む視界画像を生成する画像生成手段としてコンピュータを機能させるプログラムを記憶し、
前記モーションデータ合成手段が、
前記操作ベクトルの所与の第１、第２の軸の成分と、該第１の軸に対応づけられた少なくとも１つの基準モーションデータと、該第２の軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することを特徴とする情報記憶媒体。
【請求項８】
オブジェクト空間内の所与の視点での視界画像を生成するための、コンピュータ読み取り可能な情報記憶媒体であって、
モーションデータ合成の基準となる基準モーションデータを記憶する基準モーションデータ記憶手段と、
所与の操作手段により入力される操作ベクトルの情報と、あるフレームにおける複数の前記基準モーションデータとに基づいて、前記操作ベクトルに対応する、当該フレームにおけるモーションデータを合成するモーションデータ合成手段と、
合成されたモーションデータに基づいて動作する表示物の画像を含む視界画像を生成する画像生成手段としてコンピュータを機能させるプログラムを記憶し、
前記モーションデータ合成手段が、
前記操作ベクトルの所与の第１、第２、第３の軸の成分と、該第１の軸に対応づけられた少なくとも１つの基準モーションデータと、該第２の軸に対応づけられた少なくとも１つの基準モーションデータと、該第３の軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での視界画像を生成するための画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、所与の視点での視界画像を生成する画像生成装置が知られており、いわゆる仮想的な現実感を体感できるものとして人気が高い。
【０００３】
この種の画像生成装置では、表示物の動きを、モーションデータに基づいて記述する場合が多い。野球ゲームを楽しめる画像生成装置を例にとれば、１又は複数のフレーム毎に順次変化するゲームキャラクタのスイング等を表すモーションデータが予め用意されている。そして、このモーションデータに基づいて、ポリゴンや曲面などのプリミティブ面で構成されるゲームキャラクタオブジェクトをオブジェクト空間内で動作させる。これによりバットスイングを行うゲームキャラクタ等の表現が可能となる。
【０００４】
さて、ゲームキャラクタの動作のバラエティ度を増すためには、１つのゲームキャラクタに対して、なるべく多くのモーションデータを用意することが望まれる。しかしながら、モーションデータの格納には所与のメモリ容量が必要となる。従って、多くのモーションデータを用意するためには、多くのメモリ容量が必要となり、これはハードウェアの大規模化という問題を招く。
【０００５】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、モーションデータをそれほど多く用意することなくバラエティ度溢れる表示物の動作の表現が可能な画像生成装置及び情報記憶媒体を提供することにある。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、所与の操作手段により入力される操作ベクトルの情報と、あるフレームにおける複数の基準モーションデータとに基づいて、前記操作ベクトルに対応する、当該フレームにおけるモーションデータを合成する手段と、合成されたモーションデータに基づいて動作する表示物の画像を含む視界画像を生成する手段とを含むことを特徴とする。
【０００７】
本発明によれば、例えば第Ｋフレームにおける複数の基準モーションデータと、操作ベクトルの情報（操作ベクトルの成分、大きさ、方向等）とに基づいて、当該第Ｋフレームにおける新たなモーションデータが合成される。この時、操作ベクトルの情報により、モーションデータ合成の際の複数の基準モーションデータの各々の影響度等が決められる。本発明によれば、操作ベクトルの情報を変化させることで、様々な内容を持つモーションデータが合成されることになる。従って、基準となるモーションデータをそれほど多く用意しなくても、様々なモーションデータを合成でき、表示物の動作のバラエティ度を格段に高めることができる。
【０００８】
また本発明は、前記操作ベクトルの所与の第１の軸の成分と、該第１の軸に対応づけられた複数の基準モーションデータに基づいて、モーションデータを合成することを特徴とする。このようにすれば、例えば第１の軸上で１次元的にしか動かない操作手段等を用いた場合においても、様々なモーションデータを合成できることになる。
【０００９】
また本発明は、前記操作ベクトルの所与の第１、第２、第３の軸の成分と、該第１の軸に対応づけられた少なくとも１つの基準モーションデータと、該第２の軸に対応づけられた少なくとも１つの基準モーションデータと、該第３の軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することを特徴とする。このようにすれば、３次元的に動き、第１軸成分、第２軸成分、第３軸成分の入力が可能な操作手段を用いた場合に、様々なモーションデータを合成できることになる。
【００１０】
また本発明は、前記操作ベクトルの所与の第１、第２の軸の成分と、該第１の軸に対応づけられた少なくとも１つの基準モーションデータと、該第２の軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することを特徴とする。このようにすれば、第１軸成分、第２軸成分の入力が可能な操作手段を用いた場合に、様々なモーションデータを合成できることになる。
【００１１】
また本発明は、第１の軸の正の成分の最大値に対応づけられた第１の基準モーションデータと、第１の軸の負の成分の絶対値の最大値に対応づけられた第２の基準モーションデータと、第２の軸の正の成分の最大値に対応づけられた第３の基準モーションデータと、第２の軸の負の成分の絶対値の最大値に対応づけられた第４の基準モーションデータと、前記第１、第２の軸が交わる原点に対応づけられた第５の基準モーションデータとに基づいて、モーションデータを合成することを特徴とする。このようにすれば、操作ベクトルの第１軸成分、第２軸成分と、第１〜第５の基準モーションデータに基づいて、モーションデータを合成できる。また例えば、操作ベクトルの第１軸の正の成分が大きい場合と、負の成分の絶対値が大きい場合と、正の成分及び負の成分の絶対値が共に小さい場合とで、
使用する基準モーションデータの種類を変えることができるため、モーションデータ合成のバラエティ度を更に増すことができる。
【００１２】
また本発明は、前記操作ベクトルの第１、第２の軸の成分が共に正である場合には、前記第１、第３、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の正の成分が大きいほど前記第１の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の正の成分が大きいほど前記第３の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１又は第２の軸の正の成分が小さいほど、前記第５の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１の軸の成分が正であり第２の軸の成分が負である場合には、前記第１、第４、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の正の成分が大きいほど前記第１の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の負の成分の絶対値が大きいほど前記第４の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１の軸の正の成分又は第２の軸の負の成分の絶対値が小さいほど、前記第５の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１の軸の成分が負であり第２の軸の成分が正である場合には、前記第２、第３、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の負の成分の絶対値が大きいほど前記第２の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の正の成分が大きいほど前記第３の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１の軸の負の成分の絶対値又は第２の軸の正の成分が小さいほど、前記第５の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１、第２の軸の成分が共に負である場合には、前記第２、第４、第５の基準モーションデータに基づいてモーションデータを合成すると共に、前記操作ベクトルの第１の軸の負の成分の絶対値が大きいほど前記第２の基準モーションデータの影響度を大きくし、前記操作ベクトルの第２の軸の負の成分の絶対値が大きいほど前記第４の基準モーションデータの影響度を大きくし、前記操作ベクトルの第１又は第２の軸の負の成分の絶対値が小さいほど、前記第５の基準モーションデータの影響度を大きくすることを特徴とする。このようにすれば、第１、第２の軸の成分の絶対値が小さい場合には第５の基準モーションデータの影響度が大きくなり、第１、第２の軸の成分の絶対値が大きい場合には、第１、第２、第３又は第４の基準モーションデータの影響度が大きくなるような、モーションデータの合成が可能となる。
【００１３】
また本発明は、合成された前記モーションデータにより動作する前記表示物は、野球ゲームにおけるゲームキャラクタであり、前記第１、第２、第３、第４、第５の基準モーションデータの各々は、該ゲームキャラクタの泳ぎスイング、巻き込みスイング、ダウンスイング、アッパースイング、普通スイングを表すものであることを特徴とする。このようにすることで、従来には無かった泳ぎスイング、巻き込みスイング、ダウンスイング、アッパースイングなどの表現が可能となると共に、これらのスイングを合成したスイングの表現も可能となる。これにより野球ゲームにおける画像表現のバラエティ度を格段に増すことができる。
【００１４】
また本発明は、オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、所与の操作手段により入力される操作ベクトルの第１の軸の成分が正である場合には、前記ゲームキャラクタに泳ぎスイング又は泳ぎスイングに近い動作をさせ、前記操作ベクトルの第１の軸の成分が負である場合には、前記ゲームキャラクタに巻き込みスイング又は巻き込みスイングに近い動作をさせる処理を行う手段と、前記ゲームキャラクタの画像を含む視界画像を生成する手段とを含むことを特徴とする。このようにすることで、プレーヤは、例えばボールの左右の変化に対して対処をすることが可能となるため、ゲームの操作性、表現される画像のバラエティ度を格段に向上できる。なお泳ぎスイングに近い動作とは、泳ぎスイングと他のスイングとを合成したものを意味し、巻き込みスイングに近い動作とは、巻き込みスイングと他のスイングを合成したものを意味する。
【００１５】
また本発明は、オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、所与の操作手段により入力される操作ベクトルの第２の軸の成分が正である場合には、ゲームキャラクタにダウンスイング又はダウンスイングに近い動作をさせ、前記操作ベクトルの第２の軸の成分が負である場合には、前記ゲームキャラクタにアッパースイング又はアッパースイングに近い動作をさせる処理を行う手段と、前記ゲームキャラクタの画像を含む視界画像を生成する手段とを含むことを特徴とする。このようにすることで、例えばライナー、ゴロを打ちたい場合におけるダウンスイングによる対処、フライを打ちたい場合におけるアッパースイングによる対処等が可能となり、ゲームの操作性、表現される画像のバラエティ度を格段に向上できる。なお高いボール、速いボールに対するダウンスイングによる対処、低いボール、フォークに対するアッパースイングによる対処を可能にすることもできる。
【００１６】
また本発明は、所与の第２の操作手段の入力が有効となるまで、前記操作ベクトルに基づいて前記ゲームキャラクタをバッターボックス上で動かす処理を行うことを特徴とする。このようにすれば、まず、ボールの飛んでくる方向に合わせて操作手段を用いてゲームキャラクタをバッターボックス上で動かし、第２の操作手段を有効にした後、変化等するボールに合わせて操作手段を用いてゲームキャラクタのモーションを変化させることができる。これによりゲームの操作性を格段に向上できる。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【００１８】
まず本実施例の原理について図１を用いて説明する。
【００１９】
本実施例では、図１に示すように、ボタン２０、スティック２２又は手袋型入力装置２４などの操作部により入力される操作ベクトル２６、２８又は３０の情報と、例えば第１フレームにおける基準モーションデータ３２-1及び３４-1に基づいて、操作ベクトル２６、２８又は３０に対応する第１フレームにおけるモーションデータを合成し、・・・・・・・・第Ｋフレームにおける基準モーションデータ３２-K及び３４-Kに基づいて、操作ベクトル２６、２８又は３０に対応する第Ｋフレームにおけるモーションデータを合成し、・・・・・・・・第Ｎフレームにおける基準モーションデータ３２-N及び３４-Nに基づいて、操作ベクトル２６、２８又は３０に対応する第Ｎフレームにおけるモーションデータを合成する。なお、この場合のモーションデータの合成はフレーム毎に行ってもよいし、複数フレーム毎に行ってもよい。
【００２０】
図１は野球ゲームにおける打者ゲームキャラクタのモーションデータの合成例を示すものであり、基準モーションデータ３２-1〜３２-Nはゲームキャラクタの普通スイングを表すものであり、基準モーションデータ３４-1〜３４-Nはゲームキャラクタのアッパースイングを表すものである。これらの基準モーションデータを合成することで、普通スイングとアッパースイングの合成スイングのモーションデータを得ることができる。第Ｋフレームにおけるモーションデータ合成を例にとると、例えばａK×（普通スイング）＋ｂK×（アッパースイング）の関係式にしたがってモーションデータが合成される。そして上式のａK、ｂKは操作ベクトル２６、２８又は３０の例えば成分、大きさ、方向等に基づいて決められることになる。ボタン２０により入力される操作ベクトル２６を例にとると、操作ベクトル２６のＺ軸成分（或いは操作ベクトル２６の大きさ）が小さい場合には普通スイングの影響度を大きくする。即ちａKを大きくする。一方、操作ベクトル２６のＺ軸成分が大きい場合にはアッパースイングの影響度を大きくする。即ちｂKを大きくする。このようにすることで入力された操作ベクトルに応じたモーションデータを合成できることになる。
【００２１】
図１に示す本実施例の手法によれば、基準モーションデータ３２-1〜３２−N、３４-1〜３４-Nに基づいて、バラエティ度溢れる多くのモーションデータを合成できることになる。これによりゲームキャラクタの動作のバラエティ度を格段に増すことができる。しかも本実施例によれば、それほど多くの基準モーションデータを用意しなくてもよいため、モーションデータの格納に必要とされるメモリ容量をそれほど増やすことなくゲームキャラクタの動作のバラエティ度を増すことができる。
【００２２】
これまでのゲーム装置においては、ほとんどの操作部は２値の操作情報しか入力できなかった。ボタン２０を例にとれば、ボタン２０を押さない場合にはオフという操作情報が入力され、ボタンを押した場合にはオンという操作情報が入力される。即ちオン、オフの２値しか入力できず、オン、オフの中間値は入力できなかった。
【００２３】
しかしながら、近年、多値の操作情報を入力できる操作部を持つゲーム装置が脚光を浴びている。ボタン２０を例にとれば、ボタン２０を押す深さｄに応じて例えば６４値の操作情報が入力できる。ボタン２０を押さない場合には０の値、ボタン２０を半分だけ押した場合には３２の値、ボタン２０を一番下まで押した場合には６４の値が入力される。本実施例は、このような多値の操作情報の入力が可能な（アナログ的な操作情報の入力が可能な）操作部の利点を活用したものである。即ち本実施例によれば、このような多値の操作情報を入力できる操作部を活用することで、入力される多値の操作情報の各々に対応した種々のモーションデータを合成できることになる。
【００２４】
なお図１のボタン２０のように、操作ベクトル２６が１つの軸、即ちＺ軸の成分のみ持つ場合には、操作ベクトル２６のＺ軸の成分と、Ｚ軸に対応づけられた複数の基準モーションデータに基づいて、モーションデータを合成することが望ましい。また図１のスティック２２のように、操作ベクトル２８が２つの軸、即ちＸ軸、Ｙ軸の成分のみ持つ場合には、操作ベクトル２８のＸ軸、Ｙ軸の成分と、Ｘ軸に対応づけられた少なくとも１つの基準モーションデータと、Ｙ軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することが望ましい。また図１の手袋型入力装置２４のように、操作ベクトル３０が３つの軸、即ちＸ軸、Ｙ軸、Ｚ軸の成分を持つ場合には、操作ベクトル３０のＸ軸、Ｙ軸、Ｚ軸の成分と、Ｘ軸に対応づけられた少なくとも１つの基準モーションデータと、Ｙ軸に対応づけられた少なくとも１つの基準モーションデータと、Ｚ軸に対応づけられた少なくとも１つの基準モーションデータとに基づいて、モーションデータを合成することが望ましい。
【００２５】
図２に本実施例に係る画像生成装置の機能ブロック図の一例を示す。ここで操作部１０は、操作ベクトル等の操作情報を入力するためのものであり、操作部１０にて得られた操作ベクトル等の操作情報は処理部１００に入力される。処理部１００は、この操作情報と、所与のプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間を設定する処理等を行うものであり、例えばＣＰＵ、メモリなどのハードウェアにより構成される。画像生成部２００は、この設定されたオブジェクト空間内の所与の視点にて見える視界画像を生成する処理を行うものであり、例えばＣＰＵ、ＤＳＰ、画像生成専用のＩＣ、メモリなどのハードウェアにより構成される。画像生成部２００により得られた視界画像は表示部１２において表示される。
【００２６】
処理部１００は、モーションデータ合成部１１０、基準モーションデータ記憶部１２０を含む。ここで基準モーションデータ記憶部１２０は、例えば図１に示すようなモーションデータ合成の基準となる基準モーションデータ３２-1〜３２-N、３４-1〜３４-N（図１０（Ａ）参照）を記憶するものである。なお基準モーションデータ記憶部１２０に、後述するような基準モーションデータの差分データ（図１０（Ｂ）参照）を記憶しておいてもよい。モーションデータ合成部１１０は、フレーム毎或いは複数フレーム毎に基準モーションデータ記憶部１２０から基準モーションデータを読み出す。そして、読み出された基準モーションデータと、操作部１０により入力される操作ベクトルの情報とに基づいて、操作ベクトルに対応する、当該フレームにおけるモーションデータを合成する。
【００２７】
図３（Ａ）、（Ｂ）に本実施例により生成される視界画像の例を示す。
【００２８】
図３（Ａ）は、投手ゲームキャラクタ４０が打者ゲームキャラクタ４２に対してボール４４を投げている場面の視界画像である。プレーヤは、操作部を用いて打者ゲームキャラクタ４２を操作する。そして図３（Ｂ）に示すように、画面上に映し出されるバットによりボール４４をヒッティングすることでゲームを楽しむ。本実施例では、このヒッティングの際の打者ゲームキャラクタ４２の動きを表すモーションデータを、図１に示す手法で合成する。
【００２９】
例えばプレーヤがダウンスイングを好む場合には、ダウンスイングを指示する操作ベクトルを入力し、アッパースイングを好む場合にはアッパースイングを指示する操作ベクトルを入力する。これにより打者ゲームキャラクタ４２は、ダウンスイングやアッパースイングの動作を行う。またカーブなどでボール４４が外角にそれた場合には、泳ぎスイングを指示する操作ベクトルを入力し、シュートなどでボール４４が内角に食い込んできた場合には、巻き込みスイングを指示する操作ベクトルを入力する。具体的には以下に示すような方法で打者ゲームキャラクタ４２の動作指示を行う。
【００３０】
図４（Ａ）に本実施例で使用するゲームコントローラ４８の一例を示す。ゲームコントローラ４８には、ゲームキャラクタに種々の動作指示を与えるスティック５０、進塁、塁タッチなどを指示するボタン５２、バッティング、ピッチング、送球、帰塁などを指示するボタン５４、及び十字キー５６などが設けられている。本実施例では図４（Ｂ）に示すように、バッティングを指示するボタン５４を押した後にスティック５０を前に倒すと、ゲームキャラクタ４２がダウンスイングを行う。同様にボタン５４を押した後に、スティック５０を後ろに倒すとアッパースイングになり、右に倒すと泳ぎスイングになり、左に倒すと巻き込みスイングになる（右打者の場合）。一方、ボタン５４を押した後にスティック５０を動かさなければ普通スイングになる。
【００３１】
そして本実施例の特徴は、例えばスティック５０を右前に倒すと、ゲームキャラクタ４２が、泳ぎスイングとダウンスイングの合成スイングを行う点にある。同様にスティック５０を右後ろに倒すと泳ぎスイングとアッパースイングが合成され、左後ろに倒すと巻き込みスイングとアッパースイングが合成され、左前に倒すと巻き込みスイングとダウンスイングが合成される。またスティック５０を前に半分だけ倒すと普通スイングとダウンスイングが例えば半分ずつ合成される。同様に後ろ、右、左に半分だけ倒すと、各々、普通スイングとアッパースイング、普通スイングと泳ぎスイング、普通スイングと巻き込みスイングが例えば半分ずつ合成されることになる。
【００３２】
図５には以上述べたことが模式的に示される。図５に示すように、Ｘ軸（第１の軸）の正の成分の最大値（Ｘ＝６４）には泳ぎスイング（第１の基準モーションデータ）が、Ｘ軸の負の成分の絶対値の最大値（Ｘ＝−６４）には巻き込みスイング（第２の基準モーションデータ）が対応づけられている。またＹ軸（第２の軸）の正の成分の最大値（Ｙ＝６４）にはダウンスイング（第３の基準モーションデータ）が、Ｙ軸の負の成分の絶対値の最大値（Ｙ＝−６４）にはアッパースイング（第４の基準モーションデータ）が対応づけられる。更にＸ軸、Ｙ軸が交わる原点（Ｘ＝０、Ｙ＝０）には普通スイング（第５の基準モーションデータ）が対応づけられている。
【００３３】
そしてＸ、Ｙが共に正の場合には、図５に示すように泳ぎスイング、ダウンスイング、普通スイングを合成する。この場合、モーションデータの合成時の影響度を次のように設定する。即ちＸ軸の正の成分が大きいほど泳ぎスイングの影響度を大きくし、Ｙ軸の正の成分が大きいほどダウンスイングの影響度を大きくし、Ｘ軸又はＹ軸の正の成分が小さいほど普通スイングの影響度を大きくする。
【００３４】
またＸが正、Ｙが負の場合には、泳ぎスイング、アッパースイング、普通スイングを合成する。この場合、Ｘ軸の正の成分が大きいほど泳ぎスイングの影響度を大きくし、Ｙ軸の負の成分の絶対値が大きいほどアッパースイングの影響度を大きくし、Ｘ軸の正の成分又はＹ軸の負の成分の絶対値が小さいほど普通スイングの影響度を大きくする。
【００３５】
またＸが負、Ｙが正の場合には、巻き込みスイング、ダウンスイング、普通スイングを合成する。この場合、Ｘ軸の負の成分の絶対値が大きいほど巻き込みスイングの影響度を大きくし、Ｙ軸の正の成分が大きいほどダウンスイングの影響度を大きくし、Ｘ軸の負の成分の絶対値又はＹ軸の正の成分が小さいほど普通スイングの影響度を大きくする。
【００３６】
またＸ、Ｙが共に負の場合には、巻き込みスイング、アッパースイング、普通スイングを合成する。この場合、Ｘ軸の負の成分の絶対値が大きいほど巻き込みスイングの影響度を大きくし、Ｙ軸の負の成分の絶対値が大きいほどアッパースイングの影響度を大きくし、Ｘ軸又はＹ軸の負の成分の絶対値が小さいほど普通スイングの影響度を大きくする。
【００３７】
次にモーションデータの合成の具体例について、図６に示すような巻き込みスイング、アッパースイング、普通スイングの合成を例にとり説明する。この場合の合成は例えば下式のように表すことができる。
【００３８】
（合成スイング）＝(１−Ｔ2)×{Ｔ1×(巻き込みスイング)＋(１−Ｔ1)×(普通スイング)}＋Ｔ2×（アッパースイング）
但し、Ｔ1＝｜Ｘ｜／６４、Ｔ2＝｜Ｙ｜／６４である。またＸ、Ｙはスティック５０を動かす操作ベクトルのＸ軸成分、Ｙ軸成分である。
【００３９】
即ち図６において、巻き込みスイングの基準モーションデータ３６-Kと普通スイングの基準モーションデータ３２-Kとを、Ｔ1：（１−Ｔ1）の割合で合成し、この合成により得られたモーションデータとアッパースイングの基準モーションデータ３４-Kとを、（１−Ｔ2）：Ｔ2の割合で合成する。例えば（Ｘ、Ｙ）＝（３２、１６）の場合を例にとれば次のようになる。
（合成スイング）＝0.75×{0.5×(巻き込みスイング)＋0.5×(普通スイング)}＋0.25×（アッパースイング）
即ち巻き込みスイングと普通スイングが半々ずつ合成されると共に、これに少しだけアッパースイングが合成されたスイングになる。
【００４０】
なお本実施例には次のような特徴もある。即ち図７（Ａ）に示すように、スティック５０は、バッティング指示のボタン５４を押す前は、打者ゲームキャラクタ４２のバッタボックス上での移動を指示するものとして機能する。即ちスティック５０を前後左右に動かすことで、打者ゲームキャラクタ４２も前後左右に動く。一方、図７（Ｂ）に示すように、バッティング指示のボタン５４を押した後は、スティック５０は、前述のように打者ゲームキャラクタ４２のスイングの種類を指示するものとして機能する。即ちスティック５０を上下左右に動かすことで、ダウン、アッパー、巻き込み、泳ぎのモーション動作を指示できる。
【００４１】
例えば図７（Ａ）に示すようにボール４４が飛んできた場合、プレーヤは、その飛んできたボール４４のコースに応じた位置に打者ゲームキャラクタ４２をスティック５０を使って動かす。この時、プレーヤは、ボール４４がホームベースに到達する前に、ボタン５４（第２の操作手段）を押して打者ゲームキャラクタ４２のスイングを開始する必要がある。
【００４２】
しかしながら、ボタン５４を押した後にボールが右に変化した場合には、初期の打者ゲームキャラクタ４２の位置では、バットがボール４４に届かない場合がある。或いはボタン５４を押した後にボールが左に変化した場合には、初期の打者ゲームキャラクタ４２の位置では、内角に差し込まれてしまう。
【００４３】
本実施例では、ボタン５４（第２の操作手段）を押した後に打者ゲームキャラクタ４２のモーションをスティック５０により指示できる。従って、上記のような場合にも、現実世界と同様な対処が可能となる。即ちボール４４が右に変化した場合には、スティック５０を右に倒して泳ぎスイングを行うことでこれに対処できる。またボール４４が左に変化した場合には、スティック５０を左に倒して巻き込みスイングを行うことでこれに対処できる。またフライを打ち上げたい場合などには、スティック５０を後ろに倒してアッパースイングを行うことでこれに対処できる。またライナー、ゴロを打ちたい場合などには、スティック５０を前に倒してダウンスイングを行うことでこれに対処できる。なおボール４４が低かったり、フォークなどの沈むボールであった場合にはアッパースイングによりこれに対処させたり、ボール４４が高かったり、ストレートなどの速いボールであった場合にはダウンスイングによりこれに対処させたりすることも可能である。
【００４４】
このように本実施例では、スティック５０を使用して打者ゲームキャラクタ４２に泳ぎ、巻き込み、アッパー、ダウンスイングを行わせることができるため、打者ゲームキャラクタ４２の操作のバラエティ度、表現のリアル度を格段に増すことができる。また本実施例では、打者ゲームキャラクタ４２の前後左右の動きの指示とスイングの種類の指示とを、同じ１つのスティック５０を用いて行うことができる。このため、打者ゲームキャラクタ４２を前後左右に動かした後にスイングの種類を指示するという一連の動作を、的確に且つ迅速に行うことができ、ゲームの操作性を格段に高めることができる。なお図７（Ａ）、（Ｂ）では、打者ゲームキャラクタ４２が右打者である場合について説明したが、左打者である場合には、スティック５０を右に倒すと巻き込みスイングになり、左に倒すと泳ぎスイングになる。
【００４５】
次に本実施例の動作の詳細例について図８のフローチャート等を用いて説明する。
【００４６】
図９（Ａ）に示すようにモーションデータをスケルトンモデルで表す場合は、例えば親のアーク６０は位置データ及び方向データを持ち、子のアーク６１〜６９は方向データのみを持つ。この時、例えばアーク６１は、アーク６０に対する相対的な向きを表す方向データ（α、β、γ）を持ち、アーク６２は、アーク６１に対する相対的な向きを表す方向データを持つ。
【００４７】
ここで基準モーションデータＡと基準モーションデータＢに基づいて新たなモーションデータを合成する場合について考える。また基準モーションデータとして例えばアーク６１の方向データを考え、基準モーションデータＡを（αａ、βａ、γａ）、基準モーションデータＢを（αｂ、βｂ、γｂ）と表す。この時、本実施例では、各フレームの基準モーションデータＡ、Ｂを、図１０（Ａ）に示すようなデータ構造で所与の記憶領域に格納している。なお図１０（Ａ）では、全てのフレームの基準モーションデータを記憶する形態となっているが、キーフレームの基準モーションデータのみを記憶し、キーフレーム以外の基準モーションデータについては時間補間により求めるようにしてもよい。
【００４８】
本実施例では、基準モーションデータＡ、Ｂのみならず、基準モーションデータＡ、Ｂの差分データについても、図１０（Ｂ）に示すようなデータ構造の形態で所与の記憶領域に格納している。この差分データは、図９（Ｂ）に示すように、基準モーションデータＡ（αａ、βａ、γａ）と基準モーションＢ（αｂ、βｂ、γｂ）の差分を６４で割ったものに相当する。このような差分データを予め用意しておくことで処理の高速化を図れる。
【００４９】
図８に示すように、まず対象となるフレームの基準モーションデータＡ（図１０（Ａ）参照）を読み出す（ステップＳ１）。例えば当該フレームが第ＫフレームであればＡ（αａK、βａK、γａK）が読み出される。
【００５０】
次に図４（Ａ）に示すスティック５０がニュートラルポジションにあるか否かを判断する（ステップＳ２）。ニュートラルポジションでない場合には、差分データＳ（図１０（Ｂ）参照）を読み込む（ステップＳ３）。
【００５１】
そして、ステップＳ１で読み出された基準モーションデータＡに対して、Ｓ×（｜スティックを倒した量｜）を加算する（ステップＳ４）。このようにして新たなモーションデータが合成される。そして合成されたモーションデータを、実際のオブジェクトモデルにセットする（ステップＳ５）。これにより、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトモデルを動作させることが可能となる。最後にモーションが終了しているか否かを判断し（ステップＳ６）、終了していない場合にはステップＳ１に戻り、次のフレームの基準モーションデータＡを読み込む。
【００５２】
次に、本実施例を実現できるハードウェアの構成の一例について図１１を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００５３】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像情報、音情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＤＶＤ、ＭＯ、ＦＤ、メモリ等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【００５４】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００５５】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また図１０（Ａ）、（Ｂ）に示すような論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００５６】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００５７】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００５８】
そして図１〜図１０（Ｂ）で説明した種々の処理は、所与の処理を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００５９】
図１２（Ａ）に、本実施例を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。装置に内蔵されるシステム基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装されている。そして所与の操作手段により入力される操作ベクトルの情報と、あるフレームにおける複数の基準モーションデータとに基づいて、前記操作ベクトルに対応する、当該フレームにおけるモーションデータを合成するための情報、合成されたモーションデータに基づいて動作する表示物の画像を含む視界画像を生成するための情報、所与の操作手段により入力される操作ベクトルの第１の軸の成分が正である場合には、前記ゲームキャラクタに泳ぎスイング又は泳ぎスイングに近い動作をさせ、前記操作ベクトルの第１の軸の成分が負である場合には、前記ゲームキャラクタに巻き込みスイング又は巻き込みスイングに近い動作をさせる処理を行うための情報、所与の操作手段により入力される操作ベクトルの第２の軸の成分が正である場合には、ゲームキャラクタにダウンスイング又はダウンスイングに近い動作をさせ、前記操作ベクトルの第２の軸の成分が負である場合には、前記ゲームキャラクタにアッパースイング又はアッパースイングに近い動作をさせる処理を行うための情報等は、システム基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００６０】
図１２（Ｂ）に、本実施例を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００６１】
図１２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施例を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【００６２】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００６３】
例えば上記実施例では野球ゲームに本発明を適用した場合について主に説明した。しかしながら本発明は、野球ゲームにおける打者ゲームキャラクタのモーションデータ合成、モーション指示に特に有効だが、それ以外の種々のゲームに適用可能である。例えば図１３に本発明を格闘技ゲームに適用した場合の例を示す。図１３では、例えば第Ｋフレームにおいて、ゲームキャラクタが剣を上に振り上げ振り下ろすという基準モーションデータ７０-Kと、剣を横に引き横から振るという基準モーションデータ７２-Kとに基づいて、新たなモーションデータを合成している。これ以外にも図１４に示すようにゲームキャラクタが右によけたり、或いは左によけたり、上に伸び上がったり、しゃがんだりする動作を基準モーションデータとすることもできる。更に本発明は、テニス、ゴルフ、サッカー、ラグビー、アメリカンフットボール、スキー、サーフィン、水上スキーなどの他のスポーツゲーム、或いはアクションゲーム、ＲＰＧゲーム、ロボット対戦ゲームなどの種々のゲームに適用できる。
【００６４】
また本実施例で用いられる操作手段は図４（Ａ）に示すものに限らず、種々のものを採用できる。例えば図１５（Ａ）のような操作手段を用いる場合には、ボタン８０の押した深さｄに基づいてモーションデータを合成すればよい。また図１５（Ｂ）のような操作手段を用いる場合には、左把持部８２と右把持部８４のなす角度に基づいてモーションデータを合成すれば。また図１５（Ｃ）に示すように、２つのスティック８６、８８からの操作情報に基づいてモーションデータを合成してもよい。
【００６５】
また操作ベクトルの第１、第２の軸の成分に基づいて、ゲームキャラクタに、泳ぎスイング、巻き込みスイング、ダウンスイング、アッパースイングの動作を行わせる、或いはこれらに近い動作を行わせる発明では、図１、図４（Ａ）、（Ｂ）等で説明した手法でモーションデータを合成することが特に望ましいが、必ずしもこの手法を採用しなくてもよい。
【００６６】
またモーションデータの形態は、図９（Ａ）、（Ｂ）、図１０（Ａ）、（Ｂ）で説明したものに限られるものではなく、少なくとも表示物のモーションを記述でき且つ操作ベクトルに基づいて２つのモーションデータを合成できるものであれば、種々の形態のモーションデータを採用できる。
【００６７】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を合成するシステム基板等の種々の装置に適用できる。
【００６８】
【図面の簡単な説明】
【図１】本実施例の原理を説明するための図である。
【図２】本実施例の機能ブロック図の一例である。
【図３】図３（Ａ）、（Ｂ）は、本実施例により生成される視界画像の一例である。
【図４】図４（Ａ）、（Ｂ）は、スティックを用いたモーション指示について説明するための図である。
【図５】モーションデータの合成手法について説明するための図である。
【図６】巻き込みスイング、普通スイング及びアッパースイングの合成について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、スティックとボタンを用いて打者ゲームキャラクタの移動とモーション指示を行う例について説明するための図である。
【図８】本実施例の動作の詳細例について説明するためのフローチャートである。
【図９】図９（Ａ）、（Ｂ）は、モーションデータ及び差分データについて説明するための図である。
【図１０】図１０（Ａ）、（Ｂ）は、基準モーションデータ及び差分データのデータ構造について説明するための図である。
【図１１】本実施例を実現するハードウェアの構成の一例を示す図である。
【図１２】図１２（Ａ）、（Ｂ）、（Ｃ）は、本実施例が適用される種々の形態の装置について説明するための図である。
【図１３】本実施例を格闘技ゲームに適用した場合について説明するための図である。
【図１４】本実施例を格闘技ゲームに適用した場合について説明するための図である。
【図１５】図１５（Ａ）、（Ｂ）、（Ｃ）は、操作手段の種々の例について説明するための図である。
【符号の説明】
１０  操作部
１２  表示部
２０  ボタン
２２  スティック
２４  手袋型入力装置
２６、２８、３０  操作ベクトル
３２-1〜３２-N  モーションデータ
３４-1〜３４-N  モーションデータ
１００  処理部
１１０  モーションデータ合成部
１２０  基準モーションデータ記憶部
２００  画像生成部
【図１】
0004097236.tif 000002
【図２】
0004097236.tif 000003
【図３】
0004097236.tif 000004
【図４】
0004097236.tif 000005
【図５】
0004097236.tif 000006
【図６】
0004097236.tif 000007
【図７】
0004097236.tif 000008
【図８】
0004097236.tif 000009
【図９】
0004097236.tif 000010
【図１０】
0004097236.tif 000011
【図１１】
0004097236.tif 000012
【図１２】
0004097236.tif 000013
【図１３】
0004097236.tif 000014
【図１４】
0004097236.tif 000015
【図１５】
0004097236.tif 000016