JP4776831B2 - プログラム、情報記憶媒体、ゲーム装置及びホスト装置 - Google Patents

プログラム、情報記憶媒体、ゲーム装置及びホスト装置 Download PDF

Info

Publication number
JP4776831B2
JP4776831B2 JP2001275131A JP2001275131A JP4776831B2 JP 4776831 B2 JP4776831 B2 JP 4776831B2 JP 2001275131 A JP2001275131 A JP 2001275131A JP 2001275131 A JP2001275131 A JP 2001275131A JP 4776831 B2 JP4776831 B2 JP 4776831B2
Authority
JP
Japan
Prior art keywords
character
motion
swing
motion data
ball
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001275131A
Other languages
English (en)
Other versions
JP2003085591A (ja
Inventor
敦 塩沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001275131A priority Critical patent/JP4776831B2/ja
Publication of JP2003085591A publication Critical patent/JP2003085591A/ja
Application granted granted Critical
Publication of JP4776831B2 publication Critical patent/JP4776831B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータに、打具を有するキャラクタがボールを打撃するための打撃動作をプレーヤの操作指示に基づいて制御させ、前記キャラクタを含む仮想空間の画像を生成させるためのプログラム等に関するものである。
【0002】
【従来の技術】
近年では、仮想空間を用いた種々のスポーツゲームが開発されており、中には、野球ゲームやテニスゲーム、ゴルフゲームといった球技ゲームもあり、それぞれ人気を集めている。これらのゲームでは、プレーヤはコントローラにより仮想空間に登場する選手キャラクタを操作して擬似的に選手の気分を堪能したり、ゲーム戦略を思考してコンピュータや他のプレーヤとの勝敗を争うこととなる。
【0003】
例えば、野球ゲームにおいて、プレーヤが打者キャラクタを操作する場合には、プレーヤは、スイング時におけるバットの位置や軌道を入力指示し、また、バットを振るタイミングを入力指示する。ゲーム装置の処理系は、これらの入力指示に従ってバットとボールのミート判定を行い、その後のゲームの展開を決定する。換言すれば、打者キャラクタを操作するプレーヤは、バットを振る際の軌道、タイミングを入力することによって、実際の野球における打者の立場を擬似体験することができる。
【0004】
すなわち、この手の野球ゲームでは、プレーヤが如何に正確に投球の軌道を予測してバットを振る位置を指定できるか、また、タイミング良く操作入力ができるかによって、ゲーム展開が分かれる。したがって、打者キャラクタのバットの軌道や打撃タイミングを詳細に指定できる操作設定が成されているものほど、また、ボールの位置(座標)やタイミング判定等の内部処理が詳細に実行できるものほど、ゲームの展開が多様化し、より現実的なゲームとなる。
【0005】
一方で、上述のように、プレーヤによる操作に応じた内部処理を時空間的に詳細に実行する場合には、その内部処理の精密度に合わせて画面上に表示するキャラクタの動作も詳細化させることが望ましい。例えば、上述のような野球ゲームにおいて、プレーヤが打者キャラクタのスイングについて内角めに振る場合から外角めに振る場合まで自由に指示できるように設定する場合には、その入力指示に応じて打者キャラクタのスイングを変化させなければ説得力のある画面表示ができず、ゲーム処理の信頼性を欠くこととなる。だからといって、内角から外角へと、あるいは、高めから低めへとスイングを自由に選択できるようにするために、動作情報を無数に用意することは現実的な方法ではない。また、予め記憶すべき情報量が増大すれば、適当な情報を抽出する処理に遅延を来し好ましくない。
【0006】
そこで、個々のキャラクタを共通する関節構造によって定義し、一連の打撃動作を制御するためのモーションデータを全てのキャラクタに対して適用する。その際、プレーヤの入力指示に応じて複数のモーションデータを抽出し、適当な割合で合成するといった方法を採用する場合がある。すなわち、打撃を実行する都度、モーションデータを生成する方法である。具体的には、各キャラクタを階層化した関節構造により定義する。例えば、足や、腰、胸、頭、腕といったパーツに分け、胴体部には右上腕と左上腕が連結し、右上腕には右前腕が連結するといった具合に階層化し、下の階層のパーツは上の階層の座標系に基づいて上の階層のパーツと共に動くように設定する。一方、モーションデータには、個々のキーフレームにおける各関節の角度を設定する。そして、モーションデータを合成する際には、プレーヤの入力指示に応じて合成率を決定し、時間的に並列するキーフレームにおける各関節の角度を合成する。
【0007】
このように、関節構造に基づくモーションデータを複数種類用意し、これらをプレーヤの入力指示に基づいて合成する方法を採用することで、プレーヤの入力指示に応じた任意の位置へのスイングを実現させる場合がある。また、個々のキャラクタを階層構造により定義することにより、キャラクタの見かけ上の違いや、大きさや太さといった違いに関わらず、1つのモーションデータによってあらゆるキャラクタに対して同じ動きを実現できるようにしている。
【0008】
【発明が解決しようとする課題】
近年では、球技ゲームにおいて、実在する選手をゲーム空間に登場させるといった、リアル性を追求したゲームが注目を集めている。例えば、野球ゲームにおいては、実在する野球選手を模したキャラクタを登場させたり、その実在する打者の打率や安打数、盗塁数、投球スピード等のデータを内部処理に反映させることにより、リアル性を強調させる方法が考えられる。このとき、プレーヤは、日頃テレビやラジオなどで見聞きする選手の特徴を思い浮かべながら、画面上に登場するキャラクタを操作してゲームを楽しむ。
【0009】
しかしながら、上述のように、階層構造に基づくモーションデータを用いてキャラクタの動きを制御すれば、実在する選手を模倣した個々のキャラクタが、全て等しい動作を実行することとなる。例えば、現実のプロ野球において、バットを高めに構える特徴のある選手も、両足を大きく開いて構える選手も、ゲーム空間上では全て同一の構えをし、また、同一のバットの振り方をすることとなる。これでは実在の選手らしさが半減され、説得力のある現実的なゲーム画像を表示することができない。
【0010】
すなわち、従来の方法のように、モーションデータを全てのキャラクタに対して共有させれば、キャラクタの容姿の違いはあるにせよ、その個々のキャラクタの動きに個性を表現することができず、現実性を欠く恐れがあった。また、キャラクタの1つ1つに対してそれぞれ別途独立したモーションデータを定義する方法も考えられるが、野球ゲームのような球団数や選手数の多いゲームには適する方法ではない。
【0011】
本発明の課題は、上記事項に鑑みて成されたものであって、より少ないデータ量で、個々のキャラクタに個性ある動作を実現させることである。
【0012】
【課題を解決するための手段】
上記課題を解決するための第1の発明は、キャラクタの動作を制御することにより、一連の動作(例えば、本実施の形態における打撃モーション)を前記キャラクタ(例えば、本実施の形態における打者キャラクタ)に行わせて所与のゲーム(例えば、本実施の形態における野球ゲーム)を実行する装置において利用され、当該キャラクタの動作制御の基礎となるモーションデータ(例えば、図14に示す打撃モーションテーブル420)であって、前記一連の動作における第1の動作期間に係る第1モーションデータ(例えば、図18に示す第1段階テーブル422に含まれるモーションデータ)と、前記一連の動作における第2の動作期間に係る第2モーションデータ複数からなる第2モーションデータ群と、を含み、前記第1モーションデータと、前記第2モーションデータ群の内の何れかの第2モーションデータとによって前記一連の動作のためのモーションデータを構成可能であると共に、前記第2モーションデータは、少なくとも主モーションデータ(例えば、図19に示す第2段階テーブル424に含まれるモーションデータ)と従モーションデータ(例えば、図21に示す第3段階テーブル426に含まれるモーションデータ)とからなり、主モーションデータと従モーションデータの組み合わせに応じて複数の第2モーションデータが構成されるモーションデータである
【0013】
この第1の発明によれば、キャラクタに一連の動作を実行させるためのモーションデータを、第1の動作期間と第2の動作期間とにわけて記憶する。その際、第2の動作期間に係る第2モーションデータを複数種類記憶することとした。更に、第2モーションデータ群を、複数の主モーションデータと複数の従モーションデータとから構成し、第2モーションデータを、主モーションデータと従モーションデータの組み合わせによって構成されることとした。したがって、第1の動作期間に係る動作と、第2の動作期間に係る動作との組み合わせ方次第で、一連の動作のバリエーションを増やすことができる。
【0014】
また、第2の発明は、関節構造(例えば、図13に示す関節構造)が共通する複数のキャラクタの動作を制御するとともに、前記複数のキャラクタの内、何れかのキャラクタに一連の動作を行わせて所与のゲームを実行する装置において利用されるモーションデータであって、前記一連の動作における第1の動作期間に係る第1モーションデータ複数からなる第1モーションデータ群(例えば、図18に示す第1段階テーブル422)と、前記一連の動作における第2の動作期間に係る第2モーションデータ複数からなる第2モーションデータ群と、を含み、前記第1モーションデータ群の内の何れかの第1モーションデータと、前記第2モーションデータ群の内の何れかの第2モーションデータとによって前記一連の動作のためのモーションデータを構成可能であると共に、前記第2モーションデータは、少なくとも主モーションデータ(例えば、図19に示す第2段階テーブル424に含まれるモーションデータ)と従モーションデータ(例えば、図21に示す第3段階テーブル426に含まれるモーションデータ)とからなり、主モーションデータと従モーションデータの組み合わせに応じて複数の第2モーションデータが構成されるモーションデータである
【0015】
この第2の発明によれば、一連の動作を、第1の動作期間と第2の動作期間とに分割し、更に、関節構造が共通な複数のキャラクタに適用可能な構成にする。このため、第1の動作期間と第2の動作期間に係る動作の組み合わせ如何により一連の動作パターンのバリエーションを増大させることができると共に、複数のキャラクタに対してその豊富な動作パターンを適用させることができる。したがって、複数存在するキャラクタ1つ1つに対して一連の動作パターンを個別に用意することなく、第1・第2モーションデータの組み合わせを各キャラクタに対応させることにより、少ないデータ量で各キャラクタ特有の動作を実現させることができる。
【0016】
なお、一連の動作における何れのモーションデータに対しても主従関係を持たない付随モーションデータを、一連の動作に後続させてもよい。すなわち、第3の発明として第1または第2の発明のモーションデータにおいて、前記第3モーションデータ群の何れの第3モーションデータにも付随可能な付随モーションデータを更に含み、前記一連の動作と合わせた付随動作のためのモーションデータを構成可能してもよい。
【0017】
また、第4の発明は、プロセッサによる演算・制御により、キャラクタの動作を制御することにより、一連の動作を前記キャラクタに行わせ、前記キャラクタを含む仮想空間の画像を所与の視点に基づいて生成して所与のゲームを実行する、ように、当該プロセッサを有する装置に機能させるためのゲーム情報であって、前記一連の動作における第1の動作期間に係る第1モーションデータと、前記一連の動作における第2の動作期間に係る第2モーションデータ複数からなる第2モーションデータ群と、を含み、操作指示入力に基づいて、前記第2モーションデータ群の内、複数の第2モーションデータの採用を決定し、採用した複数の第2モーションデータを合成して新たな第2モーションデータを生成する生成手段(例えば、図14に示すモーションデータ抽出部228および合成処理部230)と、前記第1モーションデータと、前記生成手段により生成された第2モーションデータとに基づいて、前記キャラクタの一連の動作を制御する制御手段と、を前記装置に機能させるための情報を含むゲーム情報である
【0018】
また、第19の発明は、所与の視点に基づいてキャラクタが存する仮想空間の画像を生成し、当該生成画像を表示させることで所与のゲームを実行するゲーム装置であって、前記キャラクタの一連の動作における第1の動作期間に係る第1モーションデータと、前記一連の動作における第2の動作期間に係る第2モーションデータ複数からなる第2モーションデータ群と、を記憶する記憶手段と、操作指示入力に基づいて、前記第2モーションデータ群の内、複数の第2モーションデータの採用を決定し、採用した複数の第2モーションデータを合成して新たな第2モーションデータを生成する生成手段と、前記第1モーションデータと、前記生成手段により生成された第2モーションデータとに基づいて、前記キャラクタの一連の動作を制御する制御手段と、を備えるゲーム装置である
【0019】
この第4または第19の発明によれば、第2の動作期間における動作を、予め記憶された複数の第2モーションデータを合成することにより決定することができる。その際、採用された複数の第2モーションデータを合成する割合について、プレーヤによる操作指示入力に応じて決定するように設定すれば、プレーヤの意図した通りにキャラクタに動作させることができる。具体的な例としては、野球ゲームにおいて、バットを振る位置をアナログ的に指定できる設定とする場合、バットの振り位置に応じた無数のモーションデータが必要となるが無数のモーションデータを用意することなく、操作指示入力に応じた動作を実現させることができる。
【0020】
なお、第2モーションデータを、複数のモーションデータの組み合わせによって構成されるようにしてもよい。すなわち、第5の発明として第4の発明のゲーム情報において、前記第2モーションデータは、少なくとも主モーションデータと、従モーションデータとからなり、主モーションデータと従モーションデータの組み合わせに応じて複数の第2モーションデータが構成されるようにゲーム情報を構成することとしてもよい。このように、組み合わせによって決定される構成にすることで、動作のバリエーションを更に増やすことが可能となる。
【0021】
また、第6の発明として第4または第5の発明のゲーム情報において、前記制御手段が、第1モーションデータ及び/又は第2モーションデータの再生スピードを変更する手段を備えるように機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0022】
この第6の発明によれば、一連の動作における再生スピードを変更できる。このとき、一連の動作全体、若しくは、第1の動作期間、第2の動作期間のいずれの再生スピードを変更してもよい。なお、再生スピードを変更する条件としては、例えば、キャラクタ毎に設定したり、キャラクタが有する体力値等のパラメータの値に応じて設定するなどが考えられる。このように種々の条件に応じて再生スピードを変更することにより、プレーヤに与えるキャラクタの動作の印象を変化させることができる。
【0023】
また、第7の発明として第4から第6のいずれかの発明のゲーム情報において、前記制御手段が、前記一連の動作に要する時間に基づいて、前記一連の動作の開始タイミングを決定するように機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0024】
この第7の発明によれば、一連の動作の開始タイミングを、その一連の動作に要する時間に基づいて決定する。換言すれば、プレーヤの入力指示によらずに、自動的にキャラクタに一連の動作を開始させることができる。すなわち、ゲーム操作の一部を自動制御することが可能となり、ゲーム操作の煩雑化を防ぐことができる。
【0025】
また、第8の発明として第4から第7のいずれかの発明のゲーム情報において、前記生成手段が、前記操作指示入力および所与の条件に応じて、採用する第2モーションデータを決定する、ように機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0026】
この第8の発明によれば、第2モーションデータを決定する際、操作指示入力に応答して、一意に決定するのではなく、操作指示入力と更にその他の条件に応じて決定する。したがって、1のキャラクタに対してプレーヤが続けて同じ操作指示入力をした場合であっても、条件が異なれば異なる動作を実行させることができる。
【0027】
また、第9の発明として第4から第7のいずれかの発明のゲーム情報において、前記モーションデータには、前記第2モーションデータ群の何れの第2モーションデータにも付随可能な付随モーションデータが含まれており、前記生成手段が、所与の条件に応じて付随モーションデータの採用をも決定する、ように機能させるための情報と、前記制御手段が、前記生成手段により決定された付随モーションデータに基づいて、前記一連の動作に付随した動作をキャラクタに行わせるように機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0028】
この第9の発明によれば、一連の動作に付随させる付随モーションデータがモーションデータに含まれる場合に、条件に応じて採用する付随モーションデータを決定し、一連の動作に付随させてキャラクタに実行させる。したがって、プレーヤが操作指示入力により1のキャラクタに対して同じ一連の動作を指示した場合であっても、条件に応じて異なる付随動作を付加することができ、動作パターンのバラエティーを増やすことができる。
【0029】
なお、所与の条件とは、如何なる条件であってもかまわないが、例えば、第10の発明として第8または第9の発明のゲーム情報において、前記所与の条件には、前記キャラクタの所与のパラメータが含まれるようにゲーム情報を構成することとしてもよい。あるいは、第11の発明として第8から第10のいずれかの発明のゲーム情報において、前記所与の条件には、前記キャラクタの一部と所与のオブジェクトとの衝突有無が含まれるようにゲーム情報を構成することとしてもよい。
【0030】
また、第12の発明として第4から第11のいずれかの発明のゲーム情報において、前記第1モーションデータに対応する第1対応モーションデータと、前記第2モーションデータに対応する第2対応モーションデータと、を含むと共に、前記第1対応モーションデータと、前記生成手段により採用された第2モーションデータに対応する第2対応モーションデータとに基づいて、前記キャラクタの動作に随伴する物体もしくは現象の動きを制御する手段を機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0031】
この第12の発明によれば、キャラクタの動作に随伴する物体もしくは現象の動きを、第1・第2モーションデータに対応する対応モーションデータに基づいて表現する。例えば、キャラクタの影を対応モーションデータによって表現すれば、キャラクタの動きによって一意的に決定される影の動きをキャラクタの動作と合わせて同時に生成することができる。
【0032】
また、第13の発明として第4から第12のいずれかの発明のゲーム情報において、前記所与のゲームは、ボールと、前記ボールを打つための打具(例えば、本実施の形態におけるバット6)とを用いる球技ゲームであって、前記キャラクタの一連の動作は、前記キャラクタが前記打具を用いて前記ボールを打撃する動作である、ゲーム情報を構成することとしてもよい。ここで、ボールとは、球状のものや、コマ、ハネ、円盤状のものなど、球技ゲームで用いられる球を含む。また、打具とは、野球ゲームにおけるバット、テニスゲームにおけるラケット、ゴルフゲームにおけるクラブ、ホッケーにおけるスティックなど、ボールを打つための道具を含む。
【0033】
この第13の発明によれば、球技ゲームにおける打者キャラクタの打撃に係る一連の動作を、第1モーションデータと第2モーションデータとの組み合わせによって決定することができる。例えば、構えやテイクバックの動作期間を第1の動作期間とし、スイングやフォロースルーなどの動作期間を第2の動作期間として定義する。そして、第1モーションデータを各キャラクタに固定的に設定し、第2モーションデータをプレーヤの操作指示入力に応じて決定するように設定すれば、テイクバックを実在の選手に似せた固有の動きによって表現し、スイングやフォロースルーを、操作指示入力に対して忠実な動きによって表現することができる。
【0034】
また、第14の発明として第13の発明のゲーム情報において、前記制御手段が、前記キャラクタの一連の動作を制御する際、前記第1モーションデータ、および、前記第2モーションデータに基づく前記一連の動作を、前記ボールの位置情報に基づいて補正する、ように機能させるための情報を含むゲーム情報を構成することとしてもよい。
【0035】
この第14の発明によれば、第1・第2モーションデータに基づく一連の動作を、ボールの位置に応じて補正する。なお、このとき、第15の発明として第14の発明のゲーム情報において、前記制御手段が、前記打具が前記ボールと衝突するように前記キャラクタの一連の動作を補正する、ように機能させるための情報を含むゲーム情報を構成することとしてもよい。例えば、ボールと打具とが衝突して見えるように打具の軌道を補正するといったことができる。
【0036】
また、第16の発明として第14または第15の発明のゲーム情報において、前記打具と前記ボールとの衝突判定を実行するための衝突判定領域の位置を前記プレーヤの入力指示に応じて決定する手段を機能させるための情報と、前記制御手段が、前記ボールの軌道と前記衝突判定領域とが交差する場合に、前記キャラクタの一連の動作を補正する、ように機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0037】
この第16の発明によれば、制御手段による補正の実行有無を決定する条件は、打具とボールとの衝突判定を行うための衝突判定領域に、ボールの軌道が交差するときである。したがって、打具とボールとのタイミングが合わない場合であっても、ボールが衝突判定領域内を通過する場合には、キャラクタの一連の動作を補正できる。
【0038】
あるいは、打具とボールとの衝突を判定した後に、制御手段による補正を実行するようにしてもよい。すなわち、第17の発明として第14または第15の発明のゲーム情報において、前記打具と前記ボールとの衝突を判定する衝突判定手段を機能させるための情報と、前記制御手段が、前記衝突判定手段により前記打具と前記ボールとが衝突する判定がされた場合に、前記キャラクタの一連の動作を補正する、ように機能させるための情報と、を含むゲーム情報を構成することとしてもよい。
【0039】
また、第18の発明として第1から第3のいずれかの発明のモーションデータ、若しくは、第4から第17のいずれかの発明のゲーム情報を記憶する情報記憶媒体を構成することとしてもよい。
【0040】
【発明の実施の形態】
以下に、本発明の好適な実施の形態について、図面を参照して説明する。なお、以下では、本発明を野球ゲームにおける打者キャラクタの打撃モーションに適用し、家庭用のゲーム装置にて実現する場合について説明するが、本発明の適用については、これに限定する必要はない。また、以下では、プレーヤが打者キャラクタを操作し、投手キャラクタをコンピュータ(ゲーム装置)が制御する場合を例に説明するが、2人以上のプレーヤがそれぞれ打者キャラクタ、投手キャラクタを操作して対戦するゲームに適用してもよい。
【0041】
図1は、家庭用のゲーム装置の一例を示す図である。同図によれば、ゲーム装置1210は、ディスプレイ1200、ゲームコントローラ1202、1204等が着脱自在な構成になっている。また、ゲームプログラムや本発明を実現するために必要な情報等のゲーム情報は、ゲーム装置1210に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、メモリカード1212、および、ゲーム装置1210本体が備える情報記憶媒体等に格納されている。プレーヤは、ディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202あるいは1204を用いて操作することによって、野球ゲームを楽しむ。
【0042】
図2は、捕手キャラクタの視点に基づいて生成した画像の一例を示す図である。本実施の形態では、ゲーム装置の処理系は、同図に示すように、打者キャラクタが本塁に立つと、ストライクゾーン4と、真芯カーソル6とを表示する。ここで、真芯カーソル6とは、打撃面におけるバット8の真芯10の位置を指定するための表示物であり、プレーヤは、コントローラ1202、1204の左右キーや上下キーを押下することにより真芯カーソル6の位置を指定する。すなわち、プレーヤは、真芯カーソル6の位置と、打撃を開始するタイミングとを入力することによって、打者キャラクタ2の打撃を操作する。
【0043】
なお、打撃面とは、ストライクゾーン4と平行な地表面と垂直に交わる平面であって、ゲーム装置の処理系がバット8とボールとのミート判定をする際の位置を意味する。すなわち、ゲーム装置の処理系は、ボールが打撃面を通過するタイミングと、打撃モーションにおけるバット8が打撃面を通過するタイミングとが一致するか否かの判定結果に基づいてバット8とボールのミート判定をする。
【0044】
また、ゲーム装置の処理系は、プレーヤから打撃を開始する指示が入力されると、真芯カーソル6の位置を判定し、バット8の真芯が真芯カーソル6の位置を通過するように、打撃モーションを決定する。本発明は、この打撃モーションを決定する際に、より少ないデータ量で個々の打者キャラクタにそれぞれ特有の打撃モーションを実現させるためのものである。
【0045】
まず、本発明の概要について説明する。
本実施の形態では、打者キャラクタがバット8を構えた状態から振り終るまでの一連の動作を1つのモーションデータとして定義するのではなく、打撃のモーションを3つの段階に分割し、各段階に属するモーションをそれぞれ独立したモーションデータにより実現する。そして、ゲーム実行中においては、プレーヤから打撃を開始する指示が入力されると、各段階に属するモーションデータをそれぞれ抽出し、組み合わせて一連の打撃モーションを生成する。
【0046】
図3は、打撃モーションを3つの段階に分割した一例を示す図である。同図によれば、第1段階は構えとテイクバック、第2段階がスイング、第3段階がフォロースルーである。すなわち、第1段階には、構えやテイクバックを打者キャラクタに実現させるためのモーションデータが対応し、第2段階には、各種のスイングを実行させるためのモーションデータが、第3段階には、フォロースルーを実現させるためのモーションデータが対応する。なお、テイクバックとは、バット8を振る直前にバット8を後に引く動作を意味する。また、スイングとは、ここでは、打者キャラクタがテイクバックの状態から打撃面までバット8を振る動作を意味し、フォロースルーとは、打撃面から打者キャラクタの肩越しにバット8を振り切る動作を意味する。
【0047】
なお、第1段階では、「構え」および「テイクバック」のモーションを複数種類用意し、個々の打者キャラクタに対してそれぞれ固定的に設定する。換言すれば、打者キャラクタには、その後の動作の種類に拘わらず、予め設定した1種類の「構え」および「テイクバック」のモーションを実行させる。一方、第2段階、第3段階では、「スイング」や「フォロースルー」のモーションを、バット8の真芯10が打撃面を通過する際の位置に応じたモーションデータを設定する。すなわち、打撃モーションにおける第1段階では、プレーヤの入力指示によらず各打者キャラクタに設定された固定のモーションデータを用い、第2・第3段階では、プレーヤにより指示された真芯カーソル6の位置に基づいて最適なモーションデータを抽出して用いる。以下では、第1段階のモーションを固定モーションともいう。また、以下に、各段階におけるモーションの種類について説明する。
【0048】
図4は、第1段階における固定モーションの種類の一例を示した図である。同図によれば、個々の固定モーションは、バット8のグリップ位置、スタンス、テイクバックの3つの特徴を持ち、それぞれ標準タイプと特徴的なタイプのいずれかの組み合わせによって構成される。具体的には、バット8のグリップ位置については、標準的な高さに構えるタイプとやや高めに構えるタイプとを設定し、スタンスは、標準的な開き幅のタイプとやや広めに開くタイプとを設定し、テイクバックは、両足を地に着けて重心のみを移動させるタイプと片足を上げて重心移動させるタイプとを設定する。そして、これらのタイプの組み合わせによって、8通りの固定モーションを設定する。
【0049】
第2段階では、スイング時における打者キャラクタの体勢の種類毎に、真芯10の打撃面通過位置に応じたモーションのパターンを用意する。ここで、体勢の種類とは、例えば、スタンスの広さや、大振り小振りなどバット8の振り方等、打者キャラクタがバット8を振る際の全体の体勢に拘わる種類を意味する。また、真芯10の打撃面通過位置とは、内角低め、外角高めといった、打撃面上における真芯10の位置を意味する。
【0050】
図5は、第2段階における体勢の種類、すなわち、スタンスとバット8の振り方の組み合わせ例を表示した図である。同図によれば、スタンスの種類として標準タイプとオープンタイプの2種類を設定し、バット8の振り方の種類として標準タイプと大振りタイプの2種類を設定する。したがって、これらの組み合わせから、打者キャラクタに実行させるスイングの体勢の種類が4つ設定される。この4つの体勢の中から1の体勢を選択する処理は、例えば、スタンスについては、第1段階における打者キャラクタのスタンスの種類に応じて一意的に決定し、バット8の振り方については、プレーヤの入力指示に応じて選択するように設定する。
【0051】
なお、プレーヤは、真芯10の打撃面通過位置を真芯カーソル6によって指定することとなるが、真芯カーソル6を打撃面上に連続的に移動可能な構成にする場合には、真芯カーソル6の位置に応じた無数のモーションデータが必要となる。かといって、その無数のモーションデータを予め用意することは現実的な方法ではない。そこで、以下では、打撃面上に9つの基準点を定義し、バット8の真芯10が基準点を通過するように構成された9つのスイングのモーションデータを用意する。そして、ゲームの実行中において、プレーヤに指定された真芯カーソル6の位置近傍のいくつかの基準点を抽出し、その抽出した基準点に対応する各モーションデータを合成することによって、真芯カーソル6の位置に応じたスイングのモーションを生成する。
【0052】
すなわち、第2段階では、図5に示した体勢毎に、それぞれ9つの基準点に対するスイングのモーションデータを定義する。ただし、第2段階における個々のモーションデータは、対応する基準点と真芯カーソル6との位置関係に基づいてそれぞれ合成されるものであるから、個々の基準点の位置は、打撃面上の特徴的な位置に定義されることが望ましい。図6(a)は、打撃面上に基準点を設定した一例を示す図である。同図によれば、打撃面上の鉛直方向に内角となる列、真中の列、外角となる列を定義し、それぞれの列の、高め、真中、低めの位置に基準点を設定する。以下では、この基準点へのスイングを基本スイングという。図6(b)は、基本スイングの種類を示した図である。
【0053】
このように、第2段階では、スイングにおける打者キャラクタの体勢と、打撃する位置に応じた36パターンの基本スイングのモーションを定義する。換言すれば、プレーヤが同じ位置に真芯カーソル6を指定しても、打者キャラクタの違いや、大振り小振りといったバット8の振り方の違いによって、異なるモーションを実現させることができる。
【0054】
第3段階でも、第2段階と同様に、打者キャラクタがフォロースルーを実行する際の体勢の種類毎に、真芯10の打撃面通過位置に応じたモーションを用意する。なお、第3段階における体勢の種類には、スタンスと、バット8の扱い方の種類を用意する。ここで、バット8の扱い方とは、例えば、アッパースイングにするか否かといったバット8の振り方や、バット8を振りきった際にバット8を投げ捨てるか否かといった種類を意味する。
【0055】
図7は、第3段階における体勢の種類の一例を示す図である。同図によれば、体勢の種類として、フォロースルーの種類とスタンスの種類の組み合わせからなるパターンを設定する。具体的には、フォロースイングには、標準タイプと、アッパータイプ、標準型バット投げタイプ、アッパー型バット投げタイプの4種類のタイプを設け、スタンスには、標準的なスタンスタイプと、足を大きめに開くオープンタイプとを設ける。そして、これらの組み合わせに基づく、フォロースルーを設定する。ただし、前述の通り、スタンスに関しては、第1段階における打者キャラクタのスタンスの種類に応じて一意に決定する。アッパーのモーションはプレーヤの入力指示に応じて決定し、バット投げの有無はミート判定の結果に応じて決定する。
【0056】
また、第3段階でも、打者キャラクタの体勢の種類毎に真芯10の打撃面通過後の位置に応じたモーションを設定するが、第2段階のように9つの基準点に対応するモーションを設定するのではなく、3つの基準線に対応するモーションを設定する。図8(a)は、打撃面上にそれぞれ鉛直方向に、内角、真中、外角の3つの基準線を定義した一例を示す図である。各基準線は、第2段階における内角列、真中列、外角列とそれぞれ一致する。すなわち、第2段階で採用する基準点が決定すれば、第3段階で採用する基準線も必然的に決定できる。また、図8(b)は、3つの基準線に対応するモーションの種類を示す図である。なお、以下では、基準線へのフォロースルーを基本フォロースルーという。
【0057】
真芯カーソル6の移動可能領域は、図6(a)に示した打撃面上の内角高め、内角低め、外角高め、外角低めの4つの基準点によって囲まれる範囲20内とする。また、第2段階では、真芯カーソル6に近接する4つの基準点を抽出し、抽出した4つの基準点に対応するモーションデータを合成することによって、打者キャラクタに実行させるモーションデータを生成する。なお、合成率は、真芯カーソル6と、抽出された4つの基準点との位置関係に基づいて決定する。第3段階についても同様に、真芯カーソル6の位置を囲む2つの基準線を抽出し、各基準線に対応するモーションデータを合成することによって、フォロースルーのモーションを生成する。
【0058】
図9は、各段階のモーションのパターン数を表示した図である。上述のように、第1段階には、グリップ、スタンス、テイクバックの各タイプに基づく8つのモーションパターンを用意する。すなわち、ゲーム空間に登場させる各打者キャラクタには、この8パターンのいずれかのモーションに基づく「構え」および「テイクバック」を実現させることとなる。また、第2段階には、スタンス、バット8の振りの大きさ、バット8を振る位置の、各タイプに基づく36パターンのモーションデータを用意する。第3段階では、フォロースイング、スタンス、バット8の振り出し位置、の各タイプに基づく24パターンのモーションデータを用意する。
【0059】
このように、本実施の形態では、構えやテイクバックのような、実在する選手の特徴がより顕著となる動作については、打者キャラクタ毎に固有のモーションを固定的に設定する。一方、スイングやフォロースルーのような、バット8を振る位置に応じて明らかに異なって見える動作については、バット8の振り位置に応じた種々のモーションを設定し、プレーヤによって操作された真芯カーソル6の位置に応じて選択する。したがって、個々の打者キャラクタの特徴を表現した上で、データ数を削減し、更に、打者キャラクタの打撃モーションをもっともらしく詳細に描写することができる。
【0060】
なお、野球ゲームでは、バット8がボールにヒットすることでゲームが複雑に展開され、面白味が増大する場合がある。しかし、実空間においてバット8とボールとの位置関係を判断する場合と異なり、所定の視点に基づく画像を見ながらボールが打撃面を通過する位置を予測してバット8の振り位置を操作することは時に困難なものであり、ゲームに対する倦怠感を引き起こす恐れがある。そこで、多くの野球ゲームでは、ボールをヒットしやすくするように工夫されている。その1つの方法として、バット8とボールのミート判定する際に、バット8そのものの大きさや面積に基づいてミート判定を行うのではなく、実際のバット8の大きさよりも大きい衝突判定領域30に基づいてミート判定を行う方法がある。図10は、衝突判定領域30の一例を示す図であり、捕手キャラクタの位置から見た場合の衝突判定領域30を示す図である。衝突判定領域30は、バット8と共に動くものではなく、真芯カーソル6の座標に合わせて打撃面上に配置される平面領域である。
【0061】
係る方法によれば、バット8の真芯10とボールが同時に打撃面を通過する際に、衝突判定領域30とボールが衝突すればミートしたものとして判定する。しかし、この方法を適用すれば、図11に示すように、バット8にボール12が衝突していないにもかかわらず(a)、突然ボール12が逆向きに進行することとなり(b)、プレーヤに対して違和感を与えるとともに、判定処理が正確に成されていないかのような印象を与える恐れがある。
【0062】
この問題を解消するために、本実施の形態では、バット8の軌道を、ボール12と衝突判定領域30との衝突位置に補正する。すなわち、図12に示すように、ボール12が打撃面を通過する際の位置が、衝突判定領域30と重なる場合には(a)、バット8がボール12にミートするようにバット8の軌道を補正する(b)。
【0063】
投球の軌道は、投手キャラクタにボールを投げさせる瞬間までに決定されることが一般的である。具体的には、ストレートやカーブといった球種、デフォルトコースからのずれ量、投球速度、打撃面における通過位置等を、投手キャラクタによってボールを投げさせる瞬間までに、各種パラメータや乱数によって決定する。一方、プレーヤは、画面上の投手キャラクタがボールを投げた後、ボールの軌道を見計らって打者キャラクタの打撃位置および打撃タイミングを操作する。換言すれば、プレーヤが打者キャラクタの打撃を指示するときには、既にボールの打撃面通過位置が定まっていることとなる。したがって、バット8の軌道を修正する処理は、プレーヤによって真芯カーソル6の位置が確定され、テイクバックのモーションが終了するまでの時間に行うことができる。なお、本実施の形態では、バット8の軌道補正は、バット8とボールの打撃面通過タイミングが一致するか否かに拘わらず、ボールの打撃面通過位置が衝突判定領域30と交差すれば実行することとする。
【0064】
また、以下では、各キャラクタを、関節の階層構造を有する骨格モデルによって定義し、各関節の回転角を算出することによってモーションを決定する場合を例に説明する。図13は、骨格モデル40の一例を示す図である。ここで、関節の階層構造とは、下位階層のパーツを、上位階層のパーツの動きに追従させる構造を意味する。例えば、上腕44を上位階層、前腕46を上腕44の下位階層のパーツとして定義した場合には、前腕46は上腕44の回転に伴って回転あるいは移動するが、上腕44は前腕46の回転の影響を受けないように設定する。
【0065】
続いて、本実施の形態における機能構成について説明する。
図14は、本実施の形態における機能ブロックの一例を示す図である。同図によれば、本機能ブロックは、主に、操作部100と、処理部200と、表示部300と、情報記憶媒体400と、一時記憶部500とから構成される。
【0066】
操作部100は、図1に示すゲーム装置1210のコントローラ1202,1204に相当する機能部であって、プレーヤの入力・操作を電気信号として処理部200に出力するためのものである。
【0067】
以下に、コントローラの操作例を簡単に説明する。図15は、コントローラ1202の一例を示す図である。同図において、左側の4つのボタン600〜606が方向キーであり、真芯カーソル6の位置を操作するボタンである。例えば、ボタン600および602によって真芯カーソル6を鉛直方向に沿って上下に移動させ、ボタン604および606によって真芯カーソル6を水平方向に沿って左右に移動させる。一方、左側の4つのボタン610〜616は、機能キーであり、打撃を開始する指示やバット8の振り方の指示を入力するためのボタンである。例えば、ボタン612を押すと通常のスイングとなり、ボタン612と616とを同時に押すと大振り(パワースイング)に、ボタン612と614とを同時に押すとアッパースイングになる。また、ボタン612、614、616を同時に押すと、大振りで且つアッパースイングになる。
【0068】
以上の操作方法に限定する必要はないが、このように、コントローラ1202の各ボタンの入力と、真芯カーソル6の移動方向やスイングの種類とを対応させる。すなわち、操作部100は、コントローラのボタン入力を検知し、プレーヤによって押されたボタンに応じた信号を処理部200に対して出力する。なお、操作部100に相当する機器は、図15に示したような、コントローラ1202だけでなく、キーボードなどの汎用の入力装置や、マウスやトラックボール、ジョイスティック等のポインティングデバイスを用いることとしてもよい。
【0069】
表示部300は、図1に示すディスプレイ1200に該当する機能部であり、処理部200から入力される指示に従って処理部200にて生成された画像を表示する。
【0070】
情報記憶媒体400は、本実施の形態におけるゲーム装置の駆動に係るプログラムやデータ等を記憶するものであり、CD−ROM、MO、DVD、メモリ、ハードディスク等のハードウェアにより実現できる。また、情報記憶媒体400は、野球ゲームを実行するためのゲームプログラム410を記憶する。また、ゲームプログラム410には、ゲーム演算プログラム412や画像生成プログラム414の他、キャラクタ構造データ416、打者キャラクタデータ418、打撃モーションテーブル420が含まれる。
【0071】
キャラクタ構造データ416とは、野球ゲームに登場する個々のキャラクタの構造あるいはモデル情報を定義したデータである。図16は、キャラクタ構造データ416の一例を示す図である。同図によれば、キャラクタ構造データ416には、階層構造情報と、パーツ情報と、画像情報とが、個々のキャラクタを識別するためのキャラクタコードと対応付けて記憶される。ここで、階層構造情報とは、個々の関節の階層を定義するための情報や、各関節間距離あるいは位置関係の情報を含むものであり、モーションデータに基づいて各キャラクタを動作させるときに読み出される情報である。また、パーツ情報とは、上腕や前腕、頭部といった各パーツ、若しくは、キャラクタの全身モデルの情報である。なお、各パーツは、それぞれローカル座標系(以下、パーツ座標系という)に基づいて定義され、また、全身モデルは、全身を定義する座標系(以下、全身座標系という)により定義される。また、画像情報は、各キャラクタの色情報、マッピングするテクスチャ情報などを含むものである。
【0072】
打者キャラクタデータ418とは、ゲーム空間に登場するキャラクタの内、打者キャラクタとなるキャラクタの情報を含むものである。図17は、打者キャラクタデータ418の一例を示す図である。同図によれば、打者キャラクタデータ418には、キャラクタコードと、第1段階コードと、スタンスコードとがそれぞれ対応付けて記憶されている。ここで、第1段階コードとは、図4に示したような打撃モーションの第1段階における各固定モーションを識別するためのコードである。また、スタンスコードとは、スタンスの広さが標準であるか、オープンであるかを識別するためのコードである。
【0073】
打撃モーションテーブル420とは、打撃モーションにおける各段階のモーションデータを記憶したテーブルである。すなわち、打撃モーションテーブル420は、「構え」と「テイクバック」のモーションデータを記憶した第1段階テーブル422と、「基本スイング」のモーションデータを記憶した第2段階テーブル424と、「基本フォロースルー」のモーションデータを記憶した第3段階テーブル426とから構成される。
【0074】
図18は、第1段階テーブル422の一例を示す図である。同図によれば、第1段階テーブル422には、図4に示した8パターンの「構え」および「テイクバック」のモーションデータが、それぞれ第1段階コードと対応付けて記憶される。ここで、第1段階コードとは、図17に示した打者キャラクタデータ418に記憶される第1段階コードと等しいものである。すなわち、個々の打者キャラクタには、この第1段階テーブル422に記憶される第1段階コードの中のいずれか1のコードが付与される。
【0075】
図19は、第2段階テーブル424の一例を示す図である。同図によれば、第2段階テーブル424は、「スタンスコード」および「大振り」の有無により識別される4つのテーブルからなる。ここで、「スタンスコード」は、スタンスが標準かオープンかを識別するためのコードであり、打者キャラクタデータ418に記憶される値である。また、「大振り」の有無とは、バット8の振り方が、標準か大振りかを識別するためのコードである。この4つのテーブルには、それぞれ9つの基準点の座標(x,y)とモーションデータとがそれぞれ対応付けて記憶される。具体的には、「内角低め(x1,y1)」、「内角真中(x1,y2)」…といった基準点の座標と対応付けて、「基本スイング」のモーションデータが記憶される。すなわち、第2段階テーブル424に記憶される個々のモーションデータは、スタンスの種類、バット8を振る勢い(振り方)、バット8が振られる位置(基準点)がそれぞれ異なる。
【0076】
基準点の座標(x,y)は、ワールド座標系における座標であってもかまわないが、以下では、打撃面上の2次元座標系に基づく座標とする。図20は、打撃面上に定義した2次元座標系(以下、打撃面座標系という)を示す図であり、打撃面座標系に設定した各基準点の座標の一例を示すものである。同図によれば、打撃面座標系は、左下端の基準点Aを原点とする直交座標系であり、横軸(水平方向)がx軸、縦軸(鉛直方向)がy軸となるように設定される。また、各基準点は、それぞれ距離Lの間隔で各座標軸に沿って配置されている。なお、この打撃面座標系をワールド座標系に配置する場合には、捕手キャラクタから見て左側に座標系の原点が位置するように配置する。
【0077】
図21は、第3段落テーブルの一例を示す図である。同図によれば、第3段落テーブルは、「スタンスコード」、「アッパー」の有無、「バット投げ」の有無により識別される8つのテーブルからなる。ここで、「スタンスコード」とは、スタンスが標準かオープンかを識別するためのコードである。また、「アッパー」の有無とは、フォロースイングが標準かアッパーかを識別するためのコードであり、「バット投げ」の有無とは、バット8を振り終わった際にバット8を投げるか否かを識別するためのコードである。すなわち、「アッパー」の有無、および、「バット投げ」の有無によって、図7に示したように、フォロースイングの種類が標準、アッパー、標準型バット投げ、アッパー型バット投げの何れであるかを識別する。なお、8つのテーブルには、内角(x1=0)、真中(x2=L)、外角(x3=2L)の基準線の座標(x座標)と、各モーションデータとがそれぞれ対応付けて記憶される。すなわち、第3段落テーブルに記憶される各モーションデータは、スタンス、フォロースイング、バット8の振り出し位置とがそれぞれ異なる。
【0078】
本実施の形態では、モーションデータとして、各キーフレーム毎の各関節の方向データと、各キーフレーム間のフレーム数を記憶する。ここで、方向データとは、その関節に直接接続される下位の関節の方向を示すデータである。より詳細には、その関節をローカル座標系における原点とした場合の、原点から見た下位関節の方向を示すデータである。例えば、肘関節には、肘関節の下位階層にあたる手首関節の方向データを記憶する。
【0079】
方向データの定義方法は如何なるものであってもかまわないが、以下では、方向データとして、全身座標系(X,Y,Z)における、パーツ座標系(x,y,z)の回転角を記憶することとする。より詳細には、全身座標系におけるX軸周りの回転角、Y軸周りの回転角、Z軸周りの回転角を方向データとして記憶する。例えば、キーフレームAの肘関節の方向データが(θX,θY,θZ)によって定義されている場合には、前腕のパーツ座標系(x,y,z)をデフォルトの方向から、全身座標系(X,Y,Z)におけるX軸周りに∠θX回転させる。同様に、Y軸周りに∠θY、Z軸周りに∠θZ回転させることにより、キーフレームAにおける前腕パーツの向きを決定する。
【0080】
なお、ゲーム演算プログラム412には、ゲームシナリオや、操作部100から入力される操作信号に応じて各機能部を機能させるための情報の他、本発明に係る処理を実行するためのプログラムやデータ、各選手キャラクタの特徴、得意技、疲れやすさや体力などのパラメータなどからなる個人データ、などの情報が含まれる。また、画像生成プログラム414には、ジオメトリ処理やレンダリング処理を実行するために必要な情報や、各種選択画面や各種一覧表を生成するための情報の他、各種画像データが含まれる。
【0081】
処理部200は、システム全体の制御、システム内の各機能部への命令の指示、操作部100から入力される操作信号や情報記憶媒体400に記憶されたゲームプログラム410に基づいて野球ゲームを進行するための処理、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、あるいはASIC(ゲートアレイ等)等のハードウェアや、所与のプログラムにより実現できる。また、処理部200は、主に、ゲーム演算部220と画像生成部240とを含み、操作部100から入力される操作信号に応じた処理をゲーム演算部220に実行させ、更に、その処理結果に基づく画像を画像生成部240に生成させる。
【0082】
ゲーム演算部220は、ゲームの進行処理、選択画面の設定処理、ゲーム空間に存在する各キャラクタを制御する処理、ゲーム画像を生成するための処理等、種々のゲーム処理を、操作部100から入力される操作信号や、情報記憶媒体400から読み出すゲーム演算プログラム412等に基づいて実行する。また、ゲーム演算部220は、ボール制御部222と、打撃操作判定部224と、衝突判定部226と、モーションデータ抽出部228と、合成処理部230と、補正処理部232と、補間処理部234とを含み、操作部100から入力される信号、および、ゲームプログラム410に基づいて各部を機能させる処理を実行する。
【0083】
まず、ボール処理部について説明する。
ボール制御部222は、投手キャラクタによって投げられるボールを制御する機能部である。具体的には、ボール制御部222は、登板している投手キャラクタに設定された個人データに基づいて、ボールが打撃面を通過する位置の確率分布を生成する。そして、投手キャラクタに投球動作を実行させる直前までに、生成した確率分布に基づいてボールの打撃面通過位置、すなわち、打撃面座標系におけるボールの座標を決定する。なお、決定したボールの座標を、ボール座標506として一時記憶部500に一時的に記憶させる。また、ボール制御部222は、投げられたボールの速度(vX,vY,vZ)と軌道を決定し、ワールド座標系におけるボールの座標を毎フレーム算出する処理を実行する。
【0084】
次に、打撃操作判定部224について説明する。
打撃操作判定部224は、操作部100から入力される信号に基づいて、打撃の開始有無を判定する処理を実行する。そして、打撃を開始する旨の信号を判別した場合には、補間処理部234に補間処理を開始させて、第1段階におけるモーションを開始させる。
【0085】
また、打撃操作判定部224は、操作部100から入力される信号に基づいて、打撃の開始有無を判定すると同時に、打撃モーションにおけるバット8の振り方の種類を判定する処理を実行する。例えば、図15を用いて説明したように、コントローラ1202のボタン612のみが押された場合には、打撃を開始する旨を判別すると共に、標準型の打撃モーションと判定する。また、ボタン612と616とが同時に押された場合には、大振りの打撃モーションと判定するといった具合に、操作部100から入力される操作信号に応じて振り方の種類を判定する。そして、その判定結果に基づき「振り方コード」502を決定して一時記憶部500に一時的に記憶させる。図22は、一時記憶部500に記憶する際の「振り方コード」の一例を示す図である。同図によれば、標準型の場合には振り方コード「00」を記憶し、アッパー型の場合は「01」を、大振り型ならば「10」を、大振り且つアッパー型ならば「11」を記憶する。
【0086】
更に、打撃操作判定部224は、操作部100から入力される指示信号に応じて真芯カーソル6の位置を制御する。具体的には、図23に示した打撃面座標系内の真芯カーソル6の座標(x,y)を操作部100から入力される信号に応じて決定する。ただし、真芯カーソル6の移動可能な範囲を、0≦x≦2L、0≦y≦2Lの範囲内に限定することとする。すなわち、打撃操作判定部224は、内角高め、内角低め、外角高め、外角低めの4つの基準点からなる正方形の領域を越えて真芯カーソル6が表示されないように制御する。なお、打撃操作判定部224は、真芯カーソル6の座標(x,y)を一時記憶部500に記憶し、操作部100から入力される指示に従って随時更新する。
【0087】
モーションデータ抽出部228について説明する。
モーションデータ抽出部228は、打撃モーションにおける各段階のモーションデータを抽出する処理を実行する機能部である。具体的には、第1段階におけるモーションデータを抽出する第1段階抽出処理と、第2段階におけるモーションデータを抽出する第2段階抽出処理と、第3段階におけるモーションデータを抽出する第3段階抽出処理とを実行する。
【0088】
第1段階抽出処理は、第1段階テーブル422から打者キャラクタに対応する第1段階のモーションデータを読み出すための処理である。すなわち、モーションデータ抽出部228は、打者キャラクタデータ418の中からプレーヤにより操作される打者キャラクタのキャラクタコードに対応する第1段階コードを読み出し、次いで、第1段階テーブル422の中から読み出した第1段階コードに対応するモーションデータを読み出す。そして、その読み出したモーションデータを、第1段階モーションデータ508として一時記憶部500に一時的に記憶する。
【0089】
第2段階抽出処理は、真芯カーソル6の座標に基づいて第2段階におけるモーションデータを第2段階テーブル424から抽出するための処理である。ただし、前述の通り、第2段階におけるモーションは、各基準点に対応するモーションデータをそのまま採用するのではなく、真芯カーソル6の位置に応じていくつかのモーションデータを選択して合成した結果を用いる。すなわち、モーションデータ抽出部228は、第2段階では、合成するためのモーションデータを第2段階テーブル424から読み出す処理を行う。
【0090】
以下では、9つの基準点の中から、真芯カーソル6の座標を囲む4つの基準点を抽出することとする。例えば、図23に示す位置に真芯カーソル6が存在する場合には、真芯カーソル6を囲む4つの基準点B、C、E、Fを抽出する。抽出する方法は、如何なる方法であってもかまわないが、例えば、以下のようにして行う。まず、真芯カーソル6の座標(x,y)の各座標xおよびyをそれぞれ基準点間隔Lで割った際の商SX,SYを算出する(SX,SY)=(x/L,y/L)。次いで、各商SX,SYにLを掛けた値と、各商に1を加算した値(SX+1),(SY+1)にLを掛けた値を算出する。そして、これら算出した値を組み合わせた座標を持つ基準点を抽出する基準点として決定する。すなわち、座標(SX・L,SY・L)と、(SX・L,(SY+1)・L)と、((SX+1)・L,SY・L)と、((SX+1)・L,(SY+1)・L)と、を有する基準点を抽出する。
【0091】
また、第2段階テーブル424は、図19に示したように、体勢の種類に応じて4つのテーブルに細分化されている。すなわち、モーションデータ抽出部228は、スタンスや振り方の条件を判定し、読み出すテーブルを決定する処理を実行する。具体的には、モーションデータ抽出部228は、第2段階テーブル424に含まれる4つのテーブルの中から1のテーブルを抽出するために、打者キャラクタデータ418から該当する打者キャラクタの「スタンスコード」を読み出す。また、一時記憶部500に記憶された振り方コード502を読み出し、「大振り」であるか標準であるかを判定する。そして、読み出した「スタンスコード」、および、「大振り」の有無に基づいて1のテーブルを決定する。更に、決定したテーブルの中から、抽出した4つの基準点に対応するモーションデータを読み出して、一時記憶部500に第2段階モーションデータ510として一時的に記憶する。
【0092】
第3段階抽出処理は、第3段階におけるモーションデータを第3段階テーブル426から抽出するための処理である。このとき、第2段階での処理と同様に、真芯カーソル6の位置に基づいて第3段階テーブル426の中から複数のモーションデータを抽出する。以下では、真芯カーソル6のx座標を囲む2つの基準線を抽出する。具体的には、第2段階抽出処理にて算出した基準点の座標に基づいて一意に決定する。図23を用いて説明した例によれば、x=SXと、x=(SX+1)の基準線を抽出する。
【0093】
また、第3段階テーブル426は、図21に示したようにスタンスの種類やアッパースイングの有無、バット投げの有無に応じて8つに細分化されている。すなわち、モーションデータ抽出部228は、各体勢の条件を判定し、読み出すテーブルを決定する処理を実行する。具体的には、モーションデータ抽出部228は、打者キャラクタデータ418の中から打者キャラクタのスタンスコードを読み出す。また、一時記憶部500に記憶された振り方コード502に基づいてアッパースイングの有無を判定する。なお、バット投げの有無については、バット8とボールの衝突判定を実行する衝突判定部226の判定結果に基づいて決定する。すなわち、衝突判定部226が、バット8にボールが衝突した旨の判定をした場合、すなわち、「ミート」の判定をした場合にはバット投げを実行し、「空振り」の判定をした場合にはバット投げを実行しない。そして、読み出した「スタンスコード」、「アッパー」の有無、および、判定した「バット投げ」の有無に従って、8つのテーブルの中から1のテーブルを決定する。そして、モーションデータ抽出部228は、その決定したテーブルの中から、抽出した基準線に該当するモーションデータを読み出して、第3段階モーションデータ512として一時記憶部500に一時的に記憶する。
【0094】
合成処理部230について説明する。
合成処理部230は、第2・第3段階抽出処理にて抽出され、一時記憶部500内に記憶された各モーションデータをそれぞれ合成する機能部である。より詳細には、各モーションデータには、各キーフレームにおける各関節の方向データが記憶される。合成処理部230は、各関節に定義された方向データを、真芯カーソル6との位置関係に基づいてそれぞれ合成する処理を実行する。なお、合成方法は、バット8の真芯10が真芯カーソル6上を矛盾なく通過するように合成するものであれば如何なる方法であってもかまわないが、以下にその一例を説明する。
【0095】
まず、第2段階抽出処理にて抽出したモーションデータを合成する処理の一例を説明する。第2段階抽出処理にて抽出されたモーションデータを合成する処理では、真芯カーソル6の座標(x,y)と、各基準点の座標(x,y)とに基づいて合成割合を決定する。図23に示すように、真芯カーソル6が基準点B、C、E、Fによって囲まれている場合の合成方法を説明する。このとき、基準点Bの座標を(xB,yB)とし、所与の関節の方向データを(θXB,θYB,θZB)とする。同様に、基準点Cの座標を(xC,yC)・方向データを(θXC,θYC,θZC)、基準点Eの座標を(xE,yE)・方向データを(θXE,θYE,θZE)、基準点Fの座標を(xF,yF)・方向データを(θXF,θYF,θZF)とし、合成後の方向データ(θXR,θYR,θZR)におけるθXRを次の計算によって決定する。
ただし、xB=xE,xC=xF,yB=yC,yE=yFである。
θXR={(xC−x)・θXB+(x−xB)・θXC}・(yE−y)/L2
+{(xF−x)・θXE+(x−xE)・θXF}・(y−yC)/L2 …(1)
θYR,θZRについても同様の計算によって求めることができる。このように、方向データの合成を各関節毎に実行する。そして、合成処理部230は、合成したモーションデータを第2段階モーションデータ510として一時記憶部500に記憶する。
【0096】
続いて、第3段階抽出処理にて抽出したモーションデータを合成する処理の一例を説明する。第3段階抽出処理にて抽出されたモーションデータを合成する処理では、真芯カーソル6のx座標と、各基準線のx座標とに基づいて合成割合を決定する。例えば、真芯カーソル6の座標(x,y)が、図23に示すように基準線BとCの間に位置する場合の合成方法を説明する。なお、基準線Bのx座標をxBとし、基準線Cのx座標をxCとする。また、基準線Bに対応するモーションデータ内に含まれる所与の関節の方向データを(φXB,φYB,φZB)とし、基準線Cの方向データを(φXC,φYC,φZC)とする。このとき、合成後の方向データ(φXR,φYR,φZR)におけるφXRを次の計算によって決定する。
φXR={(xC−x)・φXB+(x−xB)・φXC} …(2)
φYR,φZRについても同様の計算によって求めることができる。合成処理部230は、各関節毎に上記合成処理を実行すると、その合成後のデータを第3段階モーションデータ512として一時記憶部500に記憶する。
【0097】
次に、衝突判定部226について説明する。
衝突判定部226は、バット8とボールの衝突判定を実行する機能部である。
衝突判定部226は、次の2つの条件が満たされたときに、バット8とボールが衝突(ミート)したものとみなす。▲1▼空間的条件:打撃面座標系におけるボールの位置(打撃面通過位置)が打撃面座標系におけるバット8の衝突判定領域30に含まれる。▲2▼時間的条件:バット8とボールが打撃面を通過するタイミング(フレーム)が一致する。換言すれば、衝突判定部226は、上記2つの条件を判定し、2つの条件が満たされた場合には、「ミート」として判定するが、いずれか1つでも条件が満たされない場合には「空振り」と決定する。なお、「空振り」は、いずれか一方の条件が満たされないと判定された瞬間に決定する。
【0098】
まず、空間的条件の判定処理について説明する。
空間的条件を判定するために、まず、衝突判定部226は、コントローラの操作入力に応じて打撃面座標系における衝突判定領域30の位置を決定する。衝突判定領域30の位置は、合成処理部230によって合成された第2段階のモーションデータに基づいて決定する。具体的には、バット8が打撃面を通過する瞬間のキーフレームにおける手首関節と真芯カーソル6を結ぶ直線上に衝突判定領域30の中心軸が位置するように、衝突判定領域30を打撃面座標系上に設定する。
【0099】
図24は、衝突判定領域30をローカル座標系(x,y)に定義した一例を示す図である。同図において、ローカル座標系の原点700は右手首関節に対応し、x軸上の点702は、真芯カーソル6の位置に対応する。すなわち、右手首関節の方向データが決定すれば、その方向データに合わせて衝突判定領域30を回転させることで、打撃面座標系における衝突判定領域30の位置を決定することができる。また、衝突判定領域30のx軸方向の長さxL、y軸方向の長さ2yO、真芯カーソル6のx座標(xP)等は、変動する値であってもよいが、以下では固定値とする。
【0100】
そして、衝突判定部226は、打撃面座標系における衝突判定領域30と、ボール制御部222により決定されたボールの中心点の座標とを比較する。すなわち、衝突判定部226は、打撃面座標系にけるボールの中心点の座標が、衝突判定領域30に含まれる場合には、空間的条件が満たされたものと判定する。一方、ボールの中心点の座標が衝突判定領域30に含まれない場合には、空間的条件が満たされないと判定する。なお、空間的条件の判定処理は、打撃面座標系におけるボールの中心点の座標を、図24に示す衝突判定領域30を定義するローカル座標系に変換して行うこととしてもよい。すなわち、ボールの中心点の座標を、手首関節の方向データを用いて、手首関節を原点とするローカル座標系に逆変換する。そして、ボールの中心点が、衝突判定領域30に含まれるか否かを判定することとしてもよい。
【0101】
続いて、時間的条件の判定処理について説明する。
衝突判定部226は、バット8が打撃面を通過するタイミングと、ボールが打撃面を通過するタイミングとを判定する。例えば、バット8が打撃面を通過する前に、ボールが打撃面を通過すれば、時間的条件を満たさないものと判定する。逆に、バット8が打撃面を通過する際に、まだボールが打撃面に到達していない場合にも時間的条件を満たさないものと判定する。一方、バット8が打撃面を通過する際に、同時にボールが打撃面を通過する場合には、時間的条件が満たされたものとして判定する。
【0102】
タイミングの判定は、如何なる方法を用いてもよいが、以下にその一例について説明する。衝突判定部226は、操作部100から打撃開始の指示信号が入力された瞬間からの時間tをカウントする。一方で、モーションデータ抽出部228が第1段階と第2段階のモーションデータを決定すると、衝突判定部226は、その決定されたモーションデータに記憶されたキーフレーム間のフレーム数を加算し、選択された第1・第2段階におけるモーションに要する時間Tを算出する。そして、衝突判定部226は、ボール制御部222により決定されたボールの速度(vX,vY,vZ)からZ軸方向の速度vZを採用して、
L=vZ・(T−t) …(3)
を算出する。ここで、速度vZは、視点に対する奥行方向の速度であり、換言すれば、打撃面に垂直する方向の早さを意味する。衝突判定部226は、距離Lを算出した瞬間の、ワールド座標系上のボールの座標(XB,YB,ZB)を判定し、ボールのZ座標の値ZBと、打撃面のZ座標(ZM)から距離Lを引いた値(ZM−L)とが一致する場合には、バット8とボールのタイミングが一致するものと判定する。ただし、ここでは、視点位置をワールド座標系における原点とした。
【0103】
このように、実際にボールが打撃面に到達する前に、バット8とボールの打撃面到達のタイミングを判定することによって、第3段階のモーションデータを滞りなく選択することができる。
【0104】
次に、補正処理部232について説明する。
補正処理部232は、図12を用いて説明したように、バット8にボールが衝突して見えるように、バット8の軌道を補正するための機能部であり、合成処理部230によって合成された第2段階のモーションデータに対して処理を施すものである。ただし、補正処理部232は、バット8の軌道補正処理を、バット8とボールの空間的条件が満たされたときに実行する。換言すれば、時間的条件が満たされるか否かを問わず、打撃面座標系におけるボールの中心点が衝突判定領域30に含まれれば、バット8の軌道をボールに衝突するように補正する。すなわち、衝突判定部226により空間的条件が満たされた旨の判定がなされた場合に、補正処理部232は補正処理を実行する。
【0105】
図25は、バット8がボール12にミートして見えるように、打撃面におけるバット8の角度を補正した一例を示す図である。同図において、矩形の実線が衝突判定領域30を示し、破線によって表された部分が補正前のバット8´の位置を、実線によって表された部分が補正後のバット8の位置をそれぞれ示す。同図に示すように、バット8の軌道補正は、バット8が打撃面を通過する瞬間のキーフレームにおける、右手首関節の方向データ、すなわち、手首関節からバット8の真芯に向けた単位ベクトルを補正することにより行う。換言すれば、補正処理部232は、手首関節の単位ベクトルを回転させる(補正する)角度を決定する処理を実行する。以下では、手首関節を原点としてバット軸を打撃面に沿って回転させる角度を補正角という。また、バット軸とは、手首関節(例えば、右手首関節)とバット8の真芯とを結ぶ直線を意味する。
【0106】
なお、補正角を、ボールの中心点、手首関節、真芯カーソル6の3つの座標に基づいて随時算出するようにしてもよいが、図26に示すような補正角テーブル430に基づいて決定するようにしてもよい。補正角テーブル430とは、衝突判定領域30を図27に示すように複数のエリアa〜pに分割した際の座標範囲と、補正角とがそれぞれ対応付けて記憶されたテーブルである。例えば、打撃面座標系におけるボールの中心点の座標を、衝突判定領域30を定義するローカル座標系に変換し、補正角テーブルにおける何れのエリアに該当するかを判定する。そして、ボールの中心点が該当するエリアに対応する補正角を読み出して、右手首関節の回転角を補正する。このように、補正角テーブルを用いれば、打撃面座標系における衝突判定領域30の範囲とボールの中心点の座標が求まれば、ただちに補正角を決定することができる。
【0107】
次に、補間処理部234について説明する。
補間処理部234は、キーフレーム間の各フレームのモーションを決定する機能部であり、一時記憶部500に記憶された各段階のモーションデータを補間することによって毎フレームのモーションを決定する。すなわち、補間処理部234は、毎フレームにおける各関節の方向データを、キーフレームのモーションデータに基づいて決定する。具体的には、前後するキーフレームにおける方向データの各回転角の差を算出し、キーフレーム間のフレーム数で割ることによって、各フレームにおける方向を決定する。例えば、キーフレーム1における肘関節の方向データが(θX1,θY1,θZ1)であり、キーフレーム1に続くキーフレーム2における肘関節の方向データが(θX2,θY2,θZ2)であり、キーフレーム1,2間のフレーム数がnである場合には、i番目(i=1,2,…,n)のフレームにおける回転角(ωX,ωY,ωZ)は、
ωX=θX1+{(θX2−θX1)/n}・i …(4)
によって決定する。ωY,ωZについても同様に算出する。
【0108】
画像生成部240は、ゲーム演算部220から入力される指示信号、各種座標データに基づき、ゲーム画像を生成する処理を実行するものであり、CPU、DSP、画像生成専用のIC、メモリなどのハードウェアにより構成される。具体的には、画像生成部240は、前方、後方クリッピングを実行してビューボリューム(すなわち、描画範囲)を決定する処理、各キャラクタやオブジェクトに対する視点に基づく座標変換処理等のジオメトリ処理と、色補間処理、陰面消去処理等のレンダリング処理を実行することによりゲーム画像を生成する。そして、生成したゲーム画像を表示部300に表示させる。
【0109】
なお、一時記憶部500は、処理部200が情報記憶媒体400に記憶された各種プログラムに従って実行した演算結果や、操作部100から入力される情報、画像生成部240により生成された画像結果等を一時的に記憶するためのメモリ領域であり、RAMや、VRAM等のハードウェアにより実現される。また、一時記憶部500は、打撃操作判定部224により判定された振り方コード502および真芯カーソル座標504と、ボール制御部222により決定されたボール座標506(打撃面通過位置)と、モーションデータ抽出部228により抽出された、第1段階モーションデータ508と、第2段階モーションデータ510と、第3段階モーションデータ512とを一時的に記憶する。
【0110】
次に、モーションデータを抽出する動作について説明する。
図28は、モーションデータ抽出処理を説明するためのフローチャートである。同図によれば、まず、ゲーム演算部220は、投球を実行させる投手キャラクタと、打撃を実行する打者キャラクタを、ゲームプログラム410に基づいて、あるいは操作部100から入力される操作信号に応じて決定する(ステップS1)。そして、モーションデータ抽出部228は、第1段階抽出処理を実行して、決定された打者キャラクタの第1段階モーションデータを抽出する(ステップS2)。また、ボール制御部222は、投手キャラクタにより投げられるボールの打撃面通過位置を決定し、ボール座標506を一時記憶部500に記憶する(ステップS3)。
【0111】
打撃操作判定部224は、操作部100から入力される操作信号の種類を判別する(ステップS4)。例えば、真芯カーソル6を移動する旨の信号が入力された場合には、打撃面の所定範囲内に真芯カーソル6を移動させる。また、打撃操作判定部224は、操作部100から打撃を開始する旨の信号が入力されたか否かを判定する(ステップS5)。打撃を開始する旨の信号が入力されない場合には、ステップS4に移行し、打撃の指示を待つ。一方、操作部100から打撃を開始する旨の信号が入力された場合には、打撃操作判定部224は、その信号の種類を判別して振り方コード502を決定すると共に、真芯カーソル座標504を決定する(ステップS6)。
【0112】
モーションデータ抽出部228は、ステップS6にて振り方コード502および真芯カーソル座標504が決定されると、打者キャラクタデータ418から該当する打者キャラクタの「スタンスコード」を読み出し、第2段階抽出処理を実行して第2段階テーブル424の中から4つのモーションデータを抽出する(ステップS7)。そして、合成処理部230は、ステップS6にて、抽出された4つのモーションデータを、真芯カーソル座標504に基づいて合成する(ステップS8)。
【0113】
ステップS8における、第2段階のモーションデータの合成処理が完了すると、衝突判定部226は、バット8とボールの空間的条件を判定し(ステップS9)、更に、空間的条件の判定結果に基づいてバットの軌道を補正する必要があるか否かを判定する(ステップS10)。空間的条件が満たされない場合には「空振り」と判定すると共に、バットの軌道を補正する必要がないものと判定し、ステップS13に移行する。一方、空間的条件が満たされる場合には、補正処理部232がバットの軌道を補正するための補正処理を実行する(ステップS11)。また、衝突判定部226は、バット8とボールの時間的条件を判定する(ステップS12)。このとき、時間的条件が満たされる場合には「ミート」と判定し、時間的条件が満たされない場合には「空振り」と判定する。
【0114】
モーションデータ抽出部228は、衝突判定部226による、ステップS9の空間的条件判定、ステップS12の時間的条件判定の結果と、「スタンスコード」、振り方コード502とに基づいて第3段階抽出処理を実行する(ステップS13)。そして、合成処理部230は、ステップS13にて抽出された第3段階のモーションデータを合成する処理を行う。以上の処理によって、打者の打撃モーションを決定する。
【0115】
次に、ハードウェア構成について説明する。
図29は、本実施の形態を実現可能とするハードウェア構成の一例を示す図である。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして、画像生成IC1010には、表示装置1018が接続され、音生成IC1008には、スピーカ1020が接続され、I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
【0116】
情報記憶媒体1006は、図14に示す機能ブロックにおける情報記憶媒体400に相当するものであり、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものである。例えば、図1に示す家庭用ゲーム装置1210では、ゲームプログラム等を格納する情報記憶媒体として、CD−ROM、ゲームカセット、DVD等が用いられ、プレイデータを格納する情報記憶媒体としてメモリカードなどが用いられる。また、本発明を業務用のゲーム装置に適用する場合には、ROM等のメモリやハードディスクが用いられ、この場合には、情報記憶媒体1006は、ROM1002になる。また、パーソナルコンピュータにおいては、CD−ROM、DVD、ROM等のメモリ、ハードディスク等が用いられる。
【0117】
コントロール装置1022は、図1、図15に示したようなゲームコントローラ1202,1204、あるいは、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0118】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000は、装置全体の制御や各種データ処理を行う。RAM1004は、このCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果が格納される。
【0119】
更に、この種の装置には、音生成IC1008と画像生成IC1010とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報に基づいて表示装置1018に出力するための画素情報を生成する集積回路である。また表示装置1018は、CRTやLCD、TV、プラズマディスプレイ、プロジェクター等により実現される。
【0120】
また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介して、ゲームプログラム等の情報を送受すること等に利用される。
【0121】
また、図1〜図27で説明した種々の処理は、図28のフローチャートに示したモーションデータ抽出処理等を行うためのプログラムを含むプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお、画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0122】
なお、本発明は、図1に示した家庭用のゲーム装置1210だけでなく、他のいかなる形態のゲーム装置に適用してもかまわない。例えば、図30に、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304−1〜1304−nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。
【0123】
図30に示す形態の場合、図14に示した情報記憶媒体400に記憶されるゲームプログラム410やキャラクタ構造データ416、打者キャラクタデータ418、打撃モーションテーブル420等は、例えば、ホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。また、端末1304−1〜1304−nが、CPU、画像生成IC、音生成IC、を有し、スタンドアローンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304−1〜1304−nに配送される。一方、スタンドアローンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304−1〜1304−nに伝送し端末において出力することになる。
【0124】
あるいは、図31に示すように、本実施の形態を業務用ゲーム装置80に適用してもよい。この業務用ゲーム装置80は、プレーヤがスピーカ86から出力される音を聞きながら、操作ボタン84を操作することによって、ディスプレイ82上に表示される打者キャラクタを操作して所与のゲームを楽しむ装置である。業務用ゲーム装置80に内蔵されるシステム基板90には、CPU、画像生成IC、音生成IC等が実装されている。そして、ゲームプログラム410やキャラクタ構造データ416、打者キャラクタデータ418、打撃モーションテーブル420等は、システム基板90上の情報記憶媒体であるメモリ92に格納されている。
【0125】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。例えば、本実施の形態では、打者キャラクタの打撃モーションを決定する場合を例に説明したが、打者キャラクタの動作に伴って変化して見える影のモーションに本発明を適用してもよい。図32は、影のモーションデータを付加した第1段階テーブル800の一例を示す図である。同図によれば、第1段階テーブル800には、モーションデータと、影モーションデータとが第1段階コードとそれぞれ対応付けて記憶されている。すなわち、種々の条件に該当するモーションデータを読み出すと共に、対応する影モーションデータを読み出して、影の動きをキャラクタの動作と同時に決定することができる。
【0126】
ただし、野球ゲーム等の球技ゲームでは、複数種類の球場を用意し、プレーヤの入力指示やゲームシナリオなどに従って採用する球場を変更させる場合がある。個々の球場では、それぞれ演出や雰囲気、光源位置等の設定が異なり、それに伴って影の見え方も変化させる必要がある。例えば、捕手キャラクタから見て打者キャラクタが左手に立った場合、影が本塁側に映る場合と、外野側に映る場合など、各球場における光源の設定、天候、時間帯などに応じて影の映る方向や形状が変化させる。係る設定にも対応するために、球場の種類や天候などの場面条件と対応させて影のモーションデータを記憶するとよい。
【0127】
図33は、場面条件毎に分類した影モーション用の第1段階テーブル802の一例を示す図である。同図によれば、第1段階における影のモーションがn個の場面条件毎に分類されて記憶される。この第1段階テーブル802の中から1の影モーションデータを抽出する際には、場面条件が付されたn個のテーブルの中から、実行中の場面状況に一致するテーブルを抽出し、更に、その抽出したテーブルの中から打者キャラクタの第1段階コードに対応する影モーションデータを検索する。このように、場面や状況毎に影モーションデータを記憶することにより、多彩な影の表現を実現することができる。
【0128】
また、本実施の形態では、「フォロースルー」のモーションを、標準タイプとアッパータイプ、更に、ミート判定に基づくバット投げタイプと標準タイプとを設定する場合を例に説明したが、これに限定する必要はない。例えば、現実のプロ野球などでは、選手が「空振り」した際、フォロースルーにて体勢を崩すことがあるが、これにならって、フォロースルーのモーションを更に細分化してもよい。例えば、図34に示すように、ミート判定により、「空振り」を判定した場合には「体勢崩れパターン」を実行し、「ミート」を判定した場合には、更に、ヒットしたか否かを判定する(ヒット判定)。「ヒット」の場合には、「バット投げパターン」を実行し、「ヒット」しない場合には、「標準パターン」を実行する、といった具合に、分類を設けてもよい。
【0129】
また、本実施の形態では、打撃モーションを3つの段階に分割し、第1段階から第3段階までの組み合わせにより、一連の打撃モーションが完結することとして説明したが、この第3段階のフォロースルーに後続するモーションを更に加えてもよい。例えば、「三振」が決定した際、第3段階におけるフォロースルーのモーションの後に、バット8を地面に叩きつけて悔しがるモーションを後続させるといった演出を加えるようにしてもよい。
【0130】
また、打者キャラクタの打撃モーションに関連付けて、他のキャラクタの動作を指定するようにしてもよい。例えば、第3段階テーブル426の中に、「三振」確定時用のテーブルを設定する。ただし、この三振時用のテーブルには、投手キャラクタが大喜びをするモーションデータを対応付けて記憶する。図35は、第3段階における三振時用テーブル820の一例を示す図である。同図によれば、スタンスコード別に基準線x1,x2,x3に対応するモーションデータが記憶される。また、各テーブルにリンクコードが付され、投手モーションデータ830が読み出されるように設定されている。すなわち、ゲーム実行中において、打者キャラクタの三振が決定すると、第3段階テーブル426の中から、三振時用テーブル820を選択し、種々の条件に該当するモーションデータを抽出すると共に、リンクコードに従って投手モーションデータ830を読み出して投手キャラクタに実行させる。このように、打者キャラクタのモーションデータに、他のキャラクタに実行させるモーションデータを対応付けて記憶することによって、他のキャラクタの動作実行有無等を判定する必要なく、打者キャラクタの動作に連動させて、他のキャラクタを制御することができる。
【0131】
また、上記説明では、打撃面座標系におけるボールの中心点の座標が、バット8の衝突判定領域30に含まれる場合には、バット8がボールにミートして見えるように、補正することとした。その際、手首関節の回転角を補正することによって、ミートするように見せる場合を例に説明したが、手首関節だけに限らず、打者キャラクタにおける個々の関節の回転角を補正するようにしてもよい。例えば、わき関節、肘関節、手首関節のそれぞれに設定された回転角を逆運動学の方法によって補正することとしてもよい。
【0132】
なお、補正処理の実行有無を決定する条件として、空間的条件、すなわち、打撃面座標系におけるボールの中心点の座標がバット8の衝突判定領域30に含まれることを条件とし、時間的条件については加味しなかった。しかし、空間的条件と時間的条件の2つの条件が満たされたとき、すなわち、バット8とボールがミートしたときにのみ、補正処理を実行するように設定してもよいことは勿論である。
【0133】
また、本実施の形態では、ゲーム演算部220に含まれる補間処理部234がキーフレーム間の各フレームにおける回転角を算出することとして説明したが、画像生成部240により補間計算を実行することとしてもよい。例えば、補間処理専用の電気回路を組み込んで、補間処理を実行するようにしてもよい。
【0134】
また、本実施の形態では、打者キャラクタが第1段階のモーションを実行している最中に、第2段階におけるモーションデータを抽出して合成し、更に、補正することとした。あるいは、第3段階のモーションは、「ミート」判定の処理結果に基づいてモーションを抽出することとした。したがって、各段階のモーションを開始するタイミングに各種判定処理や合成処理が間に合わずに処理が滞る可能性がある。係る場合には、ゲーム画像を生成することができず、プレーヤに不愉快な思いをさせる恐れがある。こういった遅延やエラーの問題を解消するために、処理の遅延やエラーを検知する機能部を設け、この機能部の検知結果に基づいて各種機能部の処理を変更するように設定してもよい。例えば、第2段階におけるモーションの合成処理が遅延した場合には、その合成処理を中断し、真芯カーソル6の座標に最も近い基準点に対応するモーションデータを採用する。あるいは、「ミート」判定処理が遅延した場合には、第3段階のモーションを決定する際に、衝突判定部226の判定結果にかかわらず、バット8の投げの有無について、「無」、すなわち、バット8を投げないタイプのテーブルの中からモーションデータを選択するように設定する。
【0135】
あるいは、画像生成処理のフリーズを防止するための補間モーションテーブルを予め用意し、遅延やエラーが発生した際に読み出して採用するようにしてもよい。図36は、補間モーションテーブル840の一例を示す図である。同図によれば、各補間用のモーションデータが各種処理名とそれぞれ対応付けて記憶される。そして、エラー発生時には、モーションデータ抽出部228は、遅延やエラーが発生した処理段階を判定し、その処理名に対応するモーションデータを読み出して、打撃モーションを補う。このように、各種モーションデータをエラーの発生段階と対応付けて記憶することにより、エラーの発生を検知すると同時に迅速に補間用のモーションデータを決定することができるため、画像処理の遅延を防ぐことができる。なお、補間用のモーションデータをエラーの発生段階と対応付けて記憶するだけでなく、バット8の位置やスイング開始からの時間と対応させて記憶するようにしてもよい。
【0136】
また、本実施の形態によれば、スタンスの種類が等しい打者キャラクタは、第2・第3段階におけるモーションデータをそれぞれ共有することになる。例えば、図17に示した打者キャラクタデータ418におけるスタンスコードがaの打者キャラクタは、第2・第3段階において、等しくスタンスコード「a」が付されたテーブルに含まれるモーションデータを適用される。このように、プレーヤの操作によらずに自動的に選択される項目(条件)が付されたテーブルは、その項目について等しい値を有する打者キャラクタに共有されることとなる。こういった項目をスタンスの種類に限定する必要はなく、例えば、体の大きさや背の高さといった違いに基づく項目を加えてもよい。また、大物有名選手や、外国人選手、個性の強い選手等を模した打者キャラクタについては、専用の打撃モーションテーブルを設け、他の打者キャラクタとモーションデータを共有しないように設定してもよい。
【0137】
また、本実施の形態では、各キーフレーム間のフレーム数を、モーションデータに記憶し、この記憶された値に従って補間処理を行うこととして説明したが、ゲームの進行に応じてフレーム数を変更するように設定してもよい。ただし、キーフレーム間のフレーム数が増加すれば、個々のフレーム間における打者キャラクタの移動量が減少するため、動作がゆっくり行われるように見える。一方、フレーム数が減少すれば、フレーム間の移動量が増大し、動作が素早く行われるように見える。そこで、例えば、打者キャラクタの体力値の変化に応じて、モーションデータに予め記憶された値からフレーム数を変化させる。具体的には、体力値が大きく疲労度が小さい場合には、モーションデータに記憶された値をそのまま採用し、体力値の減少に伴って徐々にフレーム数を増大させる。したがって、打者キャラクタは、疲労の増加に伴ってバット8を振る速度が遅くなる。このように、キーフレーム間のフレーム数をキャラクタの内部パラメータやゲームの進行度合、得点などに応じて変更してもよい。
【0138】
あるいは、一連の打撃モーションに要する時間を固定し、各段階のモーションの種類に応じて時間配分を変更するようにしてもよい。例えば、全体の打撃モーションのフレーム数をNとし、第1段階におけるモーションのフレーム数をN1に固定する。そして、残りのフレーム数(N−N1)を第2・第3段階において選択されたモーションの種類に応じて割合を変更する。例えば、プレーヤにより「大振り」が選択された場合には、残りのフレーム数を第2段階と第3段階とで5:3に分割する。一方、「標準」が選択された場合には、残りのフレーム数を第2段階と第3段階とで1:1に分割する、といった具合に、スイングの内容に応じて変更してもよい。
【0139】
また、本実施の形態では、1人のプレーヤがコンピュータにより制御される投手キャラクタと対戦する場合を例に説明したが、1のプレーヤaが投手キャラクタを操作し、2のプレーヤbが打者キャラクタを操作して対戦する2プレーヤゲームに適用してもよいことは勿論である。例えば、ネットワークを介して複数のコンピュータを接続し、その接続された複数のコンピュータが1つのゲーム空間を共有することによって野球ゲームを展開させる場合にも本発明を適用してもよい。
【0140】
図37は、ネットワーク野球ゲームにおいて、投手キャラクタを制御する側のコンピュータaの画像例を示す図である。同図に示すように、コンピュータaは、ストライクゾーン4や真芯カーソル6を表示せずに、投手キャラクタの投球操作を支援するための画像を表示する。すなわち、コンピュータaを操作するプレーヤaは、適当な入力操作により投球を指示する。そして、コンピュータaは、プレーヤaの操作に基づいてボールの打撃面通過位置を決定し、打者キャラクタを制御するコンピュータbに対して送信する。一方、コンピュータbを操作するプレーヤbは、画面上に表示される真芯カーソル6を操作し、打撃開始タイミングを入力する。そして、コンピュータbは、プレーヤbによる操作を判定して、打撃面座標系における真芯カーソル6の座標と、打撃開始の入力タイミングとをコンピュータaに出力する。このように、本発明をネットワーク野球ゲームに適用する場合には、プレーヤにより入力された操作信号を解析し、接続されたコンピュータに対してその都度送信することにより、本発明を実現することができる。
【0141】
なお、本発明の適用については、打者キャラクタの打撃モーションに限定する必要はなく、例えば、投手キャラクタの投球モーションや、テニスやゴルフにおけるスイングのモーションに適用してもよいことは勿論である。
【0142】
なお、従来のテニスゲームには、プレーヤキャラクタの近くにボールが接近すると、自動的にラケットのスイングを開始させるように設定したものがある。係るテニスゲームでは、プレーヤは、コントローラによって自キャラクタの位置や向きを操作すると共に、ラケットを振る際の強さを入力する。そして、ゲーム装置は、ボールとキャラクタとの位置関係に基づいてスイング開始のタイミングを算出し、一定のフォームでキャラクタのスイングを実現する。しかし、この従来のテニスゲームによれば、プレーヤにより指示されたスイングの強弱にかかわらず、常に一定のスイングフォームに従ってラケットをスイングさせることとなり、現実味に欠けるおそれがあった。
【0143】
そこで、本発明を適用し、構えとテイクバックのモーションと、打撃面までのスイングモーションと、打撃面からラケットを振りきるまでのフォロースルーのモーションとに分割し、プレーヤにより指示されるスイングの強弱や、キャラクタの存在位置などの条件に応じて、各段階のモーションデータを抽出し、それぞれ組み合わせて一連の打撃モーションを決定するようにしてもよい。なお、その際には、ラケットを振り始めるタイミングを、個々のモーションデータに記憶されたキーフレーム間のフレーム数に基づいて逆算して決定する。具体的には、モーションデータに記憶されたキーフレーム間のフレーム数を加算し、テイクバックの状態からラケットが打撃面を通過する瞬間までに要するフレーム数nを算出する。そして、算出したフレーム数nとボールの水平方向への進行速度vとを乗算することによって距離Lを算出し、キャラクタに対して半径L以内にボールが接近すると、ラケットのスイングを開始させる。
【0144】
このように、テイクバックからスイングまでに要するフレーム数を算出し、スイングを開始する際のボール位置をスイングの都度演算するように設定すれば、スイング開始タイミングをゲーム装置が自動的に実行するタイプのゲームに対しても本発明を適用することができる。
【図面の簡単な説明】
【図1】本実施の形態における家庭用ゲーム装置の一例を示す図。
【図2】捕手キャラクタの視点位置に基づいて画像を生成した一例を示す図。
【図3】打撃モーションを3つの段階に分割した一例を示す図。
【図4】第1段階における固定モーションの種類の一例を示す図。
【図5】第2段階における体勢の種類の一例を示す図。
【図6】(a)は、基準点の位置を示す図。(b)は、基本スイングの種類の一例を示す図。
【図7】第3段階における体勢の種類の一例を示す図。
【図8】(a)は、基準線の位置を示す図。(b)は、フォロースルーの種類の一例を示す図。
【図9】各段階におけるパターン数を示す図。
【図10】衝突判定領域の一例を示す図。
【図11】バットとボールがミートせずに、ボールがヒットして見える一例を示す図。
【図12】バットをボールにミートさせるように補正した一例を示す図。
【図13】骨格モデルの一例を示す図。
【図14】機能ブロックの一例を示す図。
【図15】コントローラの一例を示す図。
【図16】キャラクタ構造データの一例を示す図。
【図17】打者キャラクタデータの一例を示す図。
【図18】第1段階テーブルの一例を示す図。
【図19】第2段階テーブルの一例を示す図。
【図20】打撃面座標系の一例を示す図。
【図21】第3段階テーブルの一例を示す図。
【図22】振り方コードの一例を示す図。
【図23】基準点と真芯カーソルとの位置関係の一例を示す図。
【図24】ローカル座標系に衝突判定領域を定義した一例を示す図。
【図25】バットの向きを補正した一例を示す図。
【図26】補正角テーブルの一例を示す図。
【図27】衝突判定領域を16のエリアに分割した一例を示す図。
【図28】モーションデータ抽出処理を説明するフローチャート。
【図29】ハードウェア構成の一例を示す図。
【図30】ホスト装置と通信回線を介して接続されるゲーム端末に本実施の形態を適用した場合の一例を示す図。
【図31】本発明を業務用のゲーム装置に適用した場合の一例を示す図。
【図32】影モーションデータを付加した第1段階テーブルの一例を示す図。
【図33】条件毎に分類して影モーション用の第1段階テーブルの一例を示す図。
【図34】第3段階におけるフォロースルーの分岐例を示す図。
【図35】第3段階のモーションに投手モーションデータをリンクさせた一例を示す図。
【図36】補間モーションテーブルの一例を示す図である。
【図37】ネットワーク野球ゲームにおける投手キャラクタを制御する側のコンピュータによる画像例を示す図。
【符号の説明】
100 操作部
200 処理部
220 ゲーム演算部
222 ボール制御部
224 打撃操作判定部
226 衝突判定部
228 モーションデータ抽出部
230 合成処理部
232 補正処理部
234 補間処理部
240 画像生成部
300 表示部
400 情報記憶媒体
410 ゲームプログラム
412 ゲーム演算プログラム
414 画像生成プログラム
416 キャラクタ構造データ
418 打者キャラクタデータ
420 打撃モーションテーブル
500 一時記憶部
502 振り方コード
504 真芯カーソル座標
506 ボール座標
508 第1段階モーションデータ
510 第2段階モーションデータ
512 第3段階モーションデータ

Claims (9)

  1. コンピュータに、打具を有するキャラクタがボールを打撃するための打撃動作をプレーヤの操作指示に基づき、記憶部に記憶されたモーションのデータを用いて制御させ、前記キャラクタを含む仮想空間の画像を生成させるためのプログラムであって、
    前記キャラクタに対応づけて予め定められた、前記記憶部に記憶されたテイクバック用モーションのデータに基づいて前記キャラクタのテイクバックの動作を制御することと
    プレーヤの操作入力に従って打撃位置を指定することと
    前記打具と前記ボールとの交差判定をするための平面領域として定められた打撃面において離散的定められた基準点の中から、前記指定された打撃位置に近接する所定数の基準点を選択し、該選択された基準点それぞれに予め対応づけられた基本スイングモーションを、前記記憶部に記憶された当該基本スイングモーションのデータを用いて、当該選択れた基準点と前記打撃位置との位置関係に応じた合成率で合成処理することでスイングモーションを生成することと
    前記生成されたスイングモーションに基づいて、前記テイクバック動作制御に引き続いて、前記キャラクタのスイングの動作を制御することと
    前記コンピュータに実行させるためのプログラム。
  2. 前記打具より大きい大きさの衝突判定領域を前記打撃位置に基づいて前記打撃面上に設定することと
    前記衝突判定領域と前記ボールの軌道とが交差するか否かを判定することと
    前記交差するか否かの判定により交差しないと判定された場合には前記キャラクタの前記スイング動作を補正せず、交差すると判定された場合には、前記打具が当該交差位置を通過するように前記スイング動作を補正することと
    前記コンピュータ更に実行させるための請求項1に記載のプログラム。
  3. 前記衝突判定領域が、予め複数のエリアに分割されており、
    前記交差するか否かの判定により交差すると判定された場合に、前記複数のエリアのうち前記交差位置が位置するエリアに対応づけられた、前記キャラクタの前記打具を保持する手首の補正角に従って、前記キャラクタの前記スイング動作の前記補正を行うこと
    前記コンピュータに更に実行させるための請求項2に記載のプログラム。
  4. 前記基本スイングモーションの合成処理における処理遅延の発生を検出することと
    前記処理遅延発生検出れた場合に、前記基本スイングモーションの合成処理を中止することと
    前記処理遅延発生検出れた場合に、前記スイングの動作を、前記打撃位置に最も近い基準点の基本スイングモーションに基づいて制御することと
    前記コンピュータに更に実行させるための請求項1〜3の何れか一項に記載のプログラム。
  5. 前記キャラクタからの遠近に応じて前記打撃面に予め定められた基準線の中から、前記打撃位置に近接する所定数の基準線を選択し、該選択された基準線それぞれに予め対応づけられた基本フォロースルーモーションを、前記記憶部に記憶された当該基本フォロースルーモーションのデータを用いて、当該選択れた基準線と前記打撃位置との位置関係に応じた合成率で合成することでフォロースルーモーションを生成することと
    前記生成されたフォロースルーモーションに基づいて、前記スイング動作制御に引き続いて、前記キャラクタのフォロースルーの動作を制御することと
    前記コンピュータ更に実行させるための請求項1〜4の何れか一項に記載のプログラム。
  6. プレーヤの操作入力に従って、スイングの種類を指定することと
    前記指定されたスイングの種類に応じて、前記テイクバックの動作と、前記スイングの動作と、前記フォロースルーの動作とに要するフレーム数を配分することと
    前記コンピュータ更に実行させるとともに
    前記テイクバック動作制御前記スイング動作制御および前記フォロースルー動作制御前記配分されたフレーム数に従って行う、ように前記コンピュータを実行させる、
    ための請求項5に記載のプログラム。
  7. 請求項1〜6の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
  8. 打具を有するキャラクタがボールを打撃するための打撃動作をプレーヤの操作指示に基づき、記憶部に記憶されたモーションのデータを用いて制御し、前記キャラクタを含む仮想空間の画像を生成するゲーム装置であって、
    前記キャラクタに対応づけて予め定められた、前記記憶部に記憶されたテイクバック用モーションのデータに基づいて前記キャラクタのテイクバックの動作を制御することと
    プレーヤの操作入力に従って打撃位置を指定することと
    前記打具と前記ボールとの交差判定をするための平面領域として定められた打撃面において離散的定められた基準点の中から、前記指定された打撃位置に近接する所定数の基準点を選択し、該選択された基準点それぞれに予め対応づけられた基本スイングモーションを、前記記憶部に記憶された当該基本スイングモーションのデータを用いて、当該選択れた基準点と前記打撃位置との位置関係に応じた合成率で合成することでスイングモーションを生成することと
    前記生成されたスイングモーションに基づいて、前記テイクバック動作制御に引き続いて、前記キャラクタのスイングの動作を制御することと
    実行するゲーム装置。
  9. プレーヤ端末と通信接続され、当該プレーヤ端末からの操作指示に基づいて、ボールを打撃するための打撃動作を打具を有するキャラクタに行わせる画像を、記憶部に記憶されたモーションのデータを用いて生成して、前記プレーヤ端末に送信するホスト装置であって、
    前記キャラクタに対応づけて予め定められた、前記記憶部に記憶されたテイクバック用モーションのデータに基づいて前記キャラクタのテイクバックの動作を制御することと
    前記プレーヤ端末からの操作指示に従って打撃位置を指定することと
    前記打具と前記ボールとの交差判定をするための平面領域として定められた打撃面において離散的定められた基準点の中から、前記指定された打撃位置に近接する所定数の基準点を選択し、該選択された基準点それぞれに予め対応づけられた基本スイングモーションを、前記記憶部に記憶された当該基本スイングモーションのデータを用いて、当該選択れた基準点と前記打撃位置との位置関係に応じた合成率で合成することでスイングモーションを生成することと
    前記生成されたスイングモーションに基づいて、前記テイクバック動作制御に引き続いて、前記キャラクタのスイングの動作を制御することと
    前記テイクバック動作制御および前記スイング動作制御による前記キャラクタの打撃動作の画像を生成することと
    実行するホスト装置。
JP2001275131A 2001-09-11 2001-09-11 プログラム、情報記憶媒体、ゲーム装置及びホスト装置 Expired - Fee Related JP4776831B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001275131A JP4776831B2 (ja) 2001-09-11 2001-09-11 プログラム、情報記憶媒体、ゲーム装置及びホスト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001275131A JP4776831B2 (ja) 2001-09-11 2001-09-11 プログラム、情報記憶媒体、ゲーム装置及びホスト装置

Publications (2)

Publication Number Publication Date
JP2003085591A JP2003085591A (ja) 2003-03-20
JP4776831B2 true JP4776831B2 (ja) 2011-09-21

Family

ID=19100051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001275131A Expired - Fee Related JP4776831B2 (ja) 2001-09-11 2001-09-11 プログラム、情報記憶媒体、ゲーム装置及びホスト装置

Country Status (1)

Country Link
JP (1) JP4776831B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105849779A (zh) * 2013-12-02 2016-08-10 株式会社Live2D 图像处理装置、图像处理方法以及程序
US10235785B2 (en) 2014-03-18 2019-03-19 Live2D Inc. Image compositing device based on mask image, image compositing method based on mask image, and non-transitory computer-readable recording medium therefor

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3961986B2 (ja) * 2003-06-09 2007-08-22 株式会社コナミデジタルエンタテインメント ビデオゲームプログラム、ビデオゲーム装置及びビデオゲーム制御方法
JP3789919B2 (ja) * 2004-02-19 2006-06-28 コナミ株式会社 ゲームプログラム、ゲーム装置及びゲーム方法
JP4619087B2 (ja) * 2004-05-10 2011-01-26 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4483501B2 (ja) 2004-09-22 2010-06-16 株式会社ニコン 静止画を動画再生するための前処理を行う画像処理装置、プログラム、および方法
JP4128566B2 (ja) * 2004-12-28 2008-07-30 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4364179B2 (ja) * 2005-08-15 2009-11-11 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
JP4930373B2 (ja) * 2005-09-08 2012-05-16 株式会社セガ 画像処理プログラム及び,これを用いた画像処理システム
JP4659606B2 (ja) * 2005-12-16 2011-03-30 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP2007190050A (ja) * 2006-01-17 2007-08-02 Konami Digital Entertainment:Kk ビデオゲームプログラム、ビデオゲーム装置及びビデオゲーム制御方法
JP4122030B2 (ja) * 2006-02-15 2008-07-23 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム方法
JP4070791B2 (ja) * 2006-02-20 2008-04-02 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2008119224A (ja) * 2006-11-10 2008-05-29 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP4451897B2 (ja) * 2007-05-14 2010-04-14 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
JP5125294B2 (ja) 2007-07-31 2013-01-23 株式会社ニコン プログラム、画像処理装置、撮像装置および画像処理方法
JP4892454B2 (ja) * 2007-10-24 2012-03-07 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法及びプログラム
JP5325816B2 (ja) * 2010-03-08 2013-10-23 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP6092698B2 (ja) * 2013-04-23 2017-03-08 Kddi株式会社 動きデータセグメント決定装置、動きデータセグメント決定方法およびコンピュータプログラム
JP5932735B2 (ja) * 2013-08-30 2016-06-08 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム及びプログラム
JP6779048B2 (ja) * 2016-06-23 2020-11-04 株式会社コロプラ ゲームの実行方法、プログラムおよび記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4097236B2 (ja) * 1997-02-28 2008-06-11 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
JP2000140427A (ja) * 1998-11-17 2000-05-23 Square Co Ltd ゲーム装置、記録媒体、及び動作パターン変更方法
JP2001075553A (ja) * 1999-09-08 2001-03-23 Namco Ltd 画面再生装置及びコンピュータ読み取り可能な記録媒体
JP2001204963A (ja) * 2000-01-28 2001-07-31 Square Co Ltd モーション表示方法、ゲーム装置及び記録媒体、

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105849779A (zh) * 2013-12-02 2016-08-10 株式会社Live2D 图像处理装置、图像处理方法以及程序
CN105849779B (zh) * 2013-12-02 2018-12-07 株式会社Live2D 图像处理装置以及图像处理方法
US10235785B2 (en) 2014-03-18 2019-03-19 Live2D Inc. Image compositing device based on mask image, image compositing method based on mask image, and non-transitory computer-readable recording medium therefor

Also Published As

Publication number Publication date
JP2003085591A (ja) 2003-03-20

Similar Documents

Publication Publication Date Title
JP4776831B2 (ja) プログラム、情報記憶媒体、ゲーム装置及びホスト装置
JP3239683B2 (ja) 画像処理装置および画像処理方法
US8172678B2 (en) Image processing for a game
JP3934074B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP2000167252A (ja) ゲ―ム装置、当り判定方法、及び情報記録媒体
JP2010237882A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2003210848A (ja) ゲーム情報、情報記憶媒体、およびゲーム装置
JP4801854B2 (ja) プログラム、情報記憶媒体、および、ゲーム装置
JP3894937B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP2003071134A (ja) ゲーム情報、情報記憶媒体、およびゲーム装置
JP2010115244A (ja) ゲーム画像表示制御プログラム、ゲーム装置及びゲーム画像表示制御方法
JP3885381B2 (ja) ゲームの画像表示方法
JP3685829B2 (ja) 3次元ゲーム装置及び画像合成方法
JP3485987B2 (ja) 3次元ゲーム装置及びヒットチェック方法
JP4097236B2 (ja) 画像生成装置及び情報記憶媒体
JP2010233752A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4659606B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP3944456B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP2001005999A (ja) 画像生成システム及び情報記憶媒体
JP3564227B2 (ja) ゲーム装置
JP4950394B2 (ja) プログラム、情報記憶媒体、および、ゲーム装置
JP4087943B2 (ja) 画像生成装置及び情報記憶媒体
JP4343000B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP3720433B2 (ja) ゲーム装置の操作方法及びゲーム装置
JPH0884859A (ja) ゲーム装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080902

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081017

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110629

R150 Certificate of patent or registration of utility model

Ref document number: 4776831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees