JP3569201B2 - 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置 - Google Patents

特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置 Download PDF

Info

Publication number
JP3569201B2
JP3569201B2 JP2000168313A JP2000168313A JP3569201B2 JP 3569201 B2 JP3569201 B2 JP 3569201B2 JP 2000168313 A JP2000168313 A JP 2000168313A JP 2000168313 A JP2000168313 A JP 2000168313A JP 3569201 B2 JP3569201 B2 JP 3569201B2
Authority
JP
Japan
Prior art keywords
character
motion
standard form
predetermined part
form model
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 - Lifetime
Application number
JP2000168313A
Other languages
English (en)
Other versions
JP2001351124A (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.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2000168313A priority Critical patent/JP3569201B2/ja
Priority to US09/605,849 priority patent/US6626759B1/en
Publication of JP2001351124A publication Critical patent/JP2001351124A/ja
Application granted granted Critical
Publication of JP3569201B2 publication Critical patent/JP3569201B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5372Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for tagging characters, objects or locations in the game scene, e.g. displaying a circle under the character controlled by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/306Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for displaying a marker associated to an object or location in the game field
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6623Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8029Fighting without shooting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)

Description

【0001】
【発明が属する技術分野】
本発明は、ビデオゲームにおいて、操作入力に応答してあるキャラクタが他のキャラクタに接触するモーションを実行する場面を表示するための技術に関する。
【0002】
【従来の技術】
格闘ゲーム等では、プレイヤが操作する自キャラクタが敵キャラクタへ攻撃を加えるための複数の技が用意されている。例えば自キャラクタの手や足等を、敵キャラクタの特定の部位(攻撃目標位置)、例えば胸等に当てる技が用意されている。このような技がプレイヤの操作入力により指定されると、自キャラクタは敵キャラクタの攻撃目標位置に対して攻撃を加えるための所定のモーションにて動作する。敵キャラクタと自キャラクタの相対的な位置関係が常に変わらないならば、自キャラクタのモーションの変更は無い。しかし、敵キャラクタと自キャラクタの相対的な位置関係は一定でないことが多い。
【0003】
そこで、敵キャラクタと自キャラクタの相対的な位置関係に応じて、自キャラクタのモーションを変更する技術が、例えば国際公開WO97/46295号公報に開示されている。この公報には、2つのキャラクタの間に高低差がある場合、この高低差を補正して低い位置にいるキャラクタからの殴打を高い方向に向けて繰り出させることが記載されている。
【0004】
【発明が解決しようとする課題】
格闘ゲームの中でもレスリング・ゲームのように、実在のレスラーを模したキャラクタを表示させて格闘を行わせるゲームがある。このようなゲームでは、キャラクタ・モデルの大きさを実在のレスラーの体格に合わせることで、リアルな格闘シーンを表現できるようになる。但し、キャラクタ毎にその大きさが異なる場合、対戦相手によって、攻撃を加えるキャラクタと、攻撃を受けるキャラクタにおける攻撃目標との相対的な位置関係も異なる。上で述べたWO97/46295号公報ではキャラクタの大きさは考慮されていない。そこで、各キャラクタの体型を考慮したモーションで各キャラクタを動作させるための技術が望まれている。
【0005】
よって、本発明の目的は、各キャラクタの体型を考慮した自然なモーションで各キャラクタを動作させるための技術を提供することである。
【0006】
【課題を解決するための手段】
本発明の第1の態様に係る、仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示する方法においては、他のキャラクタに対し、他のキャラクタの各部位と互いに対応関係にある部位で構成される標準形態モデルが対応付けられており、プレイヤによる操作入力に応答して、特定のキャラクタの所定の部位を、標準形態モデルの所定の部位に接触させるためのモーションを決定し、決定されたモーションが接触の目標とする標準形態モデルの所定の部位と、当該部位に対応する他のキャラクタの部位との位置関係を取得し、取得された位置関係を用いて決定されたモーションを補正し、当該補正されたモーションで動作する特定のキャラクタを画面表示する。
【0007】
なお、上で述べたモーションの補正では、特定のキャラクタの所定の部位の位置の補正量が上記取得された位置関係に応じた量となるまで、特定のキャラクタの所定の部位の位置を徐々に補正するような構成も可能である。
【0008】
本発明の第2の態様に係る、仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示する方法においては、プレイヤによる操作入力に応答して、特定のキャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデル(例えば実施の形態におけるベース・スケルトン・モデル)の所定の部位を、他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルの所定の部位に接触させるための特定のモーションを決定し、第2の標準形態モデルの所定の部位と他のキャラクタにおいて対応する所定の部位との相対的な位置関係を取得し、取得された相対的な位置関係を用いて特定のモーションを補正し、当該補正された特定のモーションを特定のキャラクタに実行させることにより、第1の標準形態モデルの所定の部位に対応する特定のキャラクタの所定の部位を第2の標準形態モデルの所定の部位に対応する他のキャラクタの所定の部位に接触させるためのモーションを実行する場面を表示する。
【0009】
このように、自キャラクタである特定のキャラクタに対応して第1の標準形態モデルが、敵キャラクタである他のキャラクタに対応して第2の標準形態モデルが用意され、標準形態モデル間による特定のモーションが決定される。この標準形態モデル間による特定のモーションが、他のキャラクタと第2の標準形態モデルとの体格差を表す、第2の標準形態モデルの所定の部位と他のキャラクタにおいて対応する所定の部位との相対的な位置関係を用いて補正される。これにより、自キャラクタである特定のキャラクタは、敵キャラクタである他のキャラクタに対して例えば適切な攻撃を加えることができるようになる。すなわち、特定のキャラクタの所定の部位を他のキャラクタの所定の部位に接触させるためのモーションが実行される。
【0010】
なお、上で述べた第1及び第2の標準形態モデルを、それぞれ標準サイズの第1及び第2のスケルトン・モデルとし、第2の標準形態モデルの所定の部位を、第2のスケルトン・モデルにおいて予め定められたボーンを所定の比率にて内分した位置とし、第2の標準形態モデルの所定の部位に対応する他のキャラクタの所定の部位を、第2のスケルトン・モデルの予め定められたボーンと同じ他のキャラクタにおけるボーンを第2のスケルトン・モデルと同じ所定の比率にて内分した位置とすることも可能である。これにて、例えば攻撃を受ける他のキャラクタの所定の部位は、第2の標準形態モデルにおける体の位置と同じになる。
【0011】
上で述べた特定のモーションの補正を、取得された相対的な位置関係に基づき第1の標準形態モデルの位置を変更し、変更された第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行うような構成も可能である。インバース・キネマティクス処理によって、スケルトン・モデルにおけるボーンの角度等の情報が簡単に計算できるようになる。
【0012】
また、上で述べた特定のモーションの補正を、補間フレーム毎に、取得された相対的な位置関係に基づき第1の標準形態モデルの位置を変更し、変更された第1の標準形態モデルの位置を当該補間フレームの補間割合分修正し、当該修正された第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行うような構成も可能である。複数フレームにて特定のモーションの補正を行う場合の処理を表すものである。
【0013】
さらに、各モーションに対応して、第1の標準形態モデルの所定の部位を第2の標準形態モデルの所定の部位に接触させるためのモーション・データを予め用意しておき、特定のモーションが決定されると対応するモーション・データが取得されるようにする構成も可能である。標準形態モデルによるモーション・データを、様々なキャラクタに使用できるようになる。
【0014】
本発明の第3の態様に係る、キャラクタのモーションを制御するゲームの処理方法においては、一キャラクタが他のキャラクタの所定の部位をつかむモーションを表示させる場合に、他のキャラクタに対応付けて予め定義された体格を表すデータに応じて、当該つかむモーションの手の位置の到達点と、他のキャラクタの所定の部位とのずれ量を判断し、当該判断されたずれ量に応じて、つかむモーションの手の位置を補正し、補正されたモーションにより、一キャラクタが他のキャラクタの所定の部位をつかむ動作を表示させる。
【0015】
本発明の第1乃至第3の態様に係る方法をコンピュータに実行させるプログラムを作成することは可能である。その際、第2の態様に対する上記のような変形は、当該プログラムに対しても応用可能である。本発明に係るプログラムは、例えばCD−ROM(Compact Disc − Read Only Memory)、DVD(Digital Versatile Disc)、フロッピーディスク、メモリカートリッジ、メモリ、ハードディスクなどの記録媒体又は記憶装置に格納される。記録媒体又は記憶装置に格納されるプログラムをコンピュータに読み込ませることで以下で述べるゲーム装置を実現できる。また、記録媒体によって本発明に係るプログラムをソフトウエア製品として装置と独立して容易に配布、販売することができるようになる。さらに、コンピュータなどのハードウエアを用いて本発明に係るプログラムを実行することにより、コンピュータ等のハードウエアで本発明の技術が容易に実施できるようになる。
【0016】
本発明の第4の態様に係る、仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるゲーム装置は、プログラムにしたがってゲームを実行するユニットと、プログラムを全部もしくは一部を格納するメモリと、ユニットで実行されるゲームを表示する表示画面とを備える。そして、上で述べたユニットは、メモリに格納されたプログラムにしたがって、他のキャラクタに対し、他のキャラクタの各部位と互いに対応関係にある部位で構成される標準形態モデルが対応付けられており、プレイヤによる操作入力に応答して、特定のキャラクタの所定の部位を、標準形態モデルの所定の部位に接触させるためのモーションを決定し、決定されたモーションが接触の目標とする標準形態モデルの所定の部位と、当該部位に対応する他のキャラクタの部位との位置関係を取得し、取得された位置関係を用いて決定されたモーションを補正し、当該補正されたモーションで動作する前記特定のキャラクタを画面表示させる。
【0017】
なお、上で述べた決定されたモーションの補正では、特定のキャラクタの所定の部位の位置の補正量が取得された位置関係に応じた量となるまで、特定のキャラクタの所定の部位の位置を徐々に補正するような構成とすることも可能である。
【0018】
本発明の第5の態様に係るゲーム装置においては、プログラムしたがってゲームを実行するユニットが、メモリに格納されたプログラムにしたがって、プレイヤによる操作入力に応答して、プレイヤが操作している特定のキャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルの所定の部位を、他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルの所定の部位に接触させるための特定のモーションを決定し、第2の標準形態モデルの所定の部位と前記他のキャラクタにおいて対応する所定の部位との相対的な位置関係を取得し、取得された相対的な位置関係を用いて特定のモーションを補正し、当該補正された特定のモーションを特定のキャラクタに実行させることにより、第1の標準形態モデルの所定の部位に対応する特定のキャラクタの所定の部位を第2の標準形態モデルの所定の部位に対応する他のキャラクタの所定の部位に接触させるためのモーションを実行する場面を表示させる。
【0019】
本発明の第2の態様に係る変形を、本発明の第5の形態に係るゲーム装置に応用することができる。
【0020】
また本発明の第6の形態に係る、キャラクタのモーションを制御するゲーム装置は、プログラムにしたがってゲームを実行するユニットと、プログラムを全部もしくは一部を格納するメモリと、ユニットで実行されるゲームを表示する表示画面とを備える。そして、上で述べたユニットは、メモリに格納されたプログラムにしたがって、一キャラクタが他のキャラクタの所定の部位をつかむモーションを表示させる場合に、他のキャラクタに対応付けて予め定義された体格を表すデータに応じて、つかむモーションの手の位置の到達点と、他のキャラクタの所定の部位とのずれ量を判断し、当該判断されたずれ量に応じて、つかむモーションの手の位置を補正し、補正されたモーションにより、一キャラクタが他のキャラクタの前記所定の部位をつかむ動作を表示させる。
【0021】
【発明の実施の形態】
以下に、本発明の一実施の形態として、プロレスゲームに本発明を適用した場合の例について説明する。
【0022】
本実施の形態をコンピュータ・プログラムにより実施する場合において当該コンピュータ・プログラムを実行する家庭用ゲーム機101の一例を図1に示す。家庭用ゲーム機101は、例えば内部バス119に接続されたCPU(Central Processing Unit)103、ROM(Read Only Memory)104、RAM(Random Access Memory)105、HDD(Hard Disk Drive)107、サウンド処理部109、グラフィックス処理部111、CD−ROMドライブ113、通信インターフェース115、及びインターフェース部117を備える。グラフィックス処理部111は、フレームバッファ112を備える。フレームバッファ112はVRAM(Video RAM)と示す場合もある。
【0023】
家庭用ゲーム機101のサウンド処理部109及びグラフィックス処理部111は表示画面120及びスピーカ122を有するTVセット121に接続されている。また、CD−ROMドライブ113には着脱可能なCD−ROM131が装着される。CD−ROM131には、本発明の一実施の形態にかかるゲームプログラム133及びデータ135が記録されている。通信インターフェース115はネットワーク151と通信媒体141を介して接続される。インターフェース部117には、操作ボタン及びジョイスティック161aを備えたキーパッド161及びメモリカード171が接続される。
【0024】
CPU103は、ROM104に格納されたプログラム、及びCD−ROM131上に記録されたゲームプログラム133を実行し、家庭用ゲーム機101の制御を行う。RAM105は、CPU103のワークエリアである。HDD107は、例えばCD−ROM131上に記録されたゲームプログラム133及びデータ135を保管するための記憶領域である。メモリカード171は、ゲームプログラム133により参照されるデータを保存するための記憶領域である。サウンド処理部109は、CPU103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、TVセット121にサウンド信号を出力する。そして、サウンド信号はTVセット121のスピーカ122からサウンドとして出力される。
【0025】
グラフィックス処理部111は、CPU103から出力される描画命令に従って、画像データを生成してフレームバッファ112に書き込む。そして、グラフィックス処理部111は、フレーム・バッファ112に書き込まれた画像データを表示画面120に表示するための信号をTVセット121に出力する。CD−ROMドライブ113は、CD−ROM131上のゲームプログラム133及びデータ135を読み出す。通信インターフェース115は、通信媒体141を介してネットワーク151に接続され、他のコンピュータ等との間で行われるデータ通信の入出力制御を行う。インターフェース部117は、ジョイスティック161aなどの操作入力に応答したキーパッド161からの入力信号をRAM105に出力する。RAM105に出力されたキーパッド161からの入力信号に基づき、CPU103により操作入力内容が解釈され、CPU103により操作入力に応答した演算処理が実施される。
【0026】
本実施の形態に係るゲームプログラム133及びデータ135は最初例えばCD−ROM131に記録されている。そして、ゲームプログラム133及びデータ135は実行時にCD−ROMドライブ113により読み出されて、RAM105にロードされる。なお、CD−ROM131に記録されている本実施の形態に係るゲームプログラム133及びデータ135を、予めCD−ROMドライブ113により読み出し、HDD107に格納しておくようにしてもよい。HDD107に本実施の形態に係るゲームプログラム及びデータ108が格納されている場合には、HDD107からRAM105にゲームプログラム及びデータ108がロードされる。
【0027】
CPU103はRAM105にロードされた、本実施の形態に係るゲームプログラム133及びデータ135を処理し、描画命令をグラフィックス処理部111に出力する。なお、中間的なデータはRAM105に記憶される。グラフィックス処理部111はCPU103からの描画命令に従って処理を行い、画像データをフレームバッファ112に書き込み、画像を表示画面120に表示させるための信号をTVセット121に出力する。
【0028】
以上のような家庭用ゲーム機101において実行される本実施の形態に係るプロレスゲームのゲームプログラムのアルゴリズム及び使用されるデータについて以下で詳しく述べる。
【0029】
図2、図3、図4、図5、図6及び図7を用いて本実施の形態で使用されるデータについて説明する。
【0030】
図2は本実施の形態に係るゲームプログラム133実行中におけるRAM105の状態を示す模式図である。RAM105には、各キャラクタ(レスラー)のモデル・データ200と、各キャラクタで共有されるモーション・データ220と、モーションの種類と例えばキーパッド161に設けられたジョイスティック161aの操作との対応を規定したモーション操作対応テーブル230とが含まれる。モデル・データ200には、レスラーの標準的な体格が表現されたベース・スケルトン・モデル210の情報と、各キャラクタの体格が表現されたスケルトン・モデル1,2,3,..,M(212,214,216,..,218)の情報とが含まれる。
【0031】
なお、後に詳しく述べるが本実施の形態では、TVセット121の表示画面120に表示されるキャラクタ毎に、ベース・スケルトン・モデルが用意される。よって、図2ではベース・スケルトン・モデル210の情報は1つしか示されていないが、表示されるキャラクタの数だけベース・スケルトン・モデル210の情報がRAM105上に設けられる。
【0032】
図3に本実施の形態におけるスケルトン・モデルのデータ・フォーマットを示す。なお、図3ではベース・スケルトン・モデル210の場合を示すが、他のキャラクタのスケルトン・モデルであってもデータ・フォーマットは同じである。本実施の形態においてスケルトン・モデルには、例えば腰骨に対応するボーンを最上位のボーンとして、ボーン間に親子関係が規定されている。よって、各ボーンには、親ボーンの番号と、親ボーンに対する相対位置座標が規定される。
【0033】
すなわち、ボーン番号1のボーンに対して、親ボーン番号の欄2101と、親ボーンに対する相対位置情報の欄2103とが設けられる。ボーン番号2のボーンに対して、親ボーン番号の欄2111と、親ボーンに対する相対位置情報の欄2113とが設けられる。以下、同じようにボーン番号Nのボーンに対して、親ボーン番号の欄2121と、親ボーンに対する相対位置情報の欄2123とが設けられる。
【0034】
なお、最上位のボーンについては、親ボーンは無いので親ボーン番号には空のデータであることを示す情報Nullが格納される。また、親ボーンに対する相対位置情報の欄には、仮想空間内での当該ボーンの絶対位置情報がそれぞれ格納される。
【0035】
図4(a)、(b)、(c)及び(d)にスケルトン・モデルの一例を示す模式図を示す。図4(a)、(b)、(c)及び(d)では、矢印と当該矢印の根元に付いている丸との組がボーンを示している。また、矢印は、ボーンの親子関係も示しており、矢印の根元が子であり、矢印の先が親である。図4(a)は、人型の標準的なスケルトン・モデルであるベース・スケルトン・モデル11を表している。一方図4(b)は、人型の長身タイプのスケルトン・モデル12を表している。長身タイプのスケルトン・モデル12は、図4(a)のベース・スケルトン・モデル11に比して、上下方向の矢印で示される各ボーンの長さが長くなっている。また図4(c)は、人型の小柄タイプのスケルトン・モデル13を示している。小柄タイプのスケルトン・モデル13は、図4(a)のベース・スケルトン・モデル11に比して、各ボーンの長さが上下左右均等に短くなっている。図4(d)は、人型の大柄タイプのスケルトン・モデル14を示している。大柄タイプのスケルトン・モデル14は、図4(a)のベース・スケルトン・モデル11に比して、各ボーンの長さが上下左右均等に長くなっている。
【0036】
図4(b)、(c)及び(d)のスケルトン・モデル12,13,14は一例であって、例えば実際のレスラーの体格を表すようなスケルトン・モデルをレスラー毎に作成することができる。一方、ベース・スケルトン・モデルは、例えばレスラーの平均的な体格を表すように作成される。但し、特定のレスラーを標準的体型を有するものと判断して、当該レスラーの体型を表すようなスケルトン・モデルをベース・スケルトン・モデルに使用することも可能である。なお、本実施の形態では、ベース・スケルトン・モデルと、各キャラクタのスケルトン・モデルでは、ボーン数やボーン間の親子関係は同じになる。また、ボーンに付されるボーン番号も同じである。
【0037】
図5に本実施の形態におけるモーション・データの一例を示す。モーション・データ220には、ヘッダ部2200と、モーション1のデータ部2210と、モーション2のデータ部2220と、以下同じようにモーションNのデータ部2230とが含まれる。ヘッダ部2200には、モーション番号1のデータが保持されている記憶領域のアドレスが格納される欄2201と、モーション番号2のデータが保持されている記憶領域のアドレスが格納される欄2203と、以下同じように、モーション番号Nのデータが保持されている記憶領域のアドレスが格納される欄2205とが設けられている。
【0038】
モーション1のデータ部2220には、相手側のキャラクタにおける目標となるボーンの番号の欄2211と、モーション番号1のボーン1の角度データ及び補間フレーム数の欄2213と、モーション番号1のボーン2の角度データ及び補間フレーム数の欄2215と、以下同じようにモーション番号1のボーンNの角度データ及び補間フレーム数の欄2217とが含まれる。なお、モーション・データには、モーション再生時のキーとなるフレーム(キーフレーム)における角度データが記憶されている。よって、モーション開始から終了までの間のキーフレーム以外の各フレームにおける角度データは、そのフレームの前後のキーフレームにおける角度データを所定の補間割合で補間することにより計算される。
【0039】
モーション2のデータ部2220には、相手側のキャラクタにおける目標となるボーンの番号の欄2221と、モーション番号2のボーン1の角度データ及び補間フレーム数の欄2223と、モーション番号2のボーン2の角度データ及び補間フレーム数の欄2225と、以下同じようにモーション番号2のボーンNの角度データ及び補間フレーム数の欄2227とが含まれる。以下同様にモーションNのデータ部2230には、相手側のキャラクタにおける目標となるボーンの番号の欄2231と、モーション番号Nのボーン1の角度データ及び補間フレーム数の欄2233と、モーション番号Nのボーン2の角度データ及び補間フレーム数の欄2235と、以下同じようにモーション番号NのボーンNの角度データ及び補間フレーム数の欄2237とが含まれる。
【0040】
なお、本実施の形態において角度データについては、各ボーンの端部に定義された点を原点とするローカルなX,Y及びZ軸からの曲げ角度により定義される。また、本実施の形態において、モーション・データはベース・スケルトン・モデルが動作を行った場合に最も適切な動作となるように作成されている。すなわち、リングのロープをつかむためのモーションでベース・スケルトン・モデルを動作させれば、ベース・スケルトン・モデルの手が丁度ロープに届くようなモーションが実施される。また、あるキャラクタが他のキャラクタの頭を手で叩くためのモーションを実施する場合を想定する。この場合、各キャラクタの体格がベース・スケルトン・モデルで表されていれば、あるキャラクタの手が、他のキャラクタの頭を正確に叩くようなモーションが実施される。
【0041】
図5に示すようにモーション・データには各ボーンの角度データと補間フレーム数のみが格納されており、各スケルトン・モデルに共通のデータだけが格納されている。よって、例えば図6(a)に示すように、ベース・スケルトン・モデル11に対し例えば戦いの前の構えの姿勢を表すモーション・データ(角度データのみ)を適用した場合と、図6(b)、(c)及び(d)に示すように、長身タイプのスケルトン・モデル12、小柄タイプのスケルトン・モデル13び大柄タイプのスケルトン・モデル14に対して同じモーション・データ(角度データのみ)を適用した場合とでは、姿勢が同じになる。
【0042】
但し、体格は各キャラクタで異なるため、足の位置や、手の位置、頭の位置等は異なる。よって、2以上のキャラクタが組み合って戦う場合等において、図5に示された共通のモーション・データを適用したのでは、攻撃を行う手の位置や、足の位置が、相手の攻撃目標となる頭や胸等に当らなくなる。すなわち、足の位置や、手の位置等を補正する必要が生ずる。
【0043】
図7に本実施の形態におけるモーション操作対応テーブル230を示す。モーション操作対応テーブル230は、図7に示すように、キャラクタ毎に設けられる。すなわち、図7では、キャラクタAの対応テーブル2310と、キャラクタBの対応テーブル2320と、以下同じようにキャラクタCの対応テーブル2330とが設けられている。このように、キャラクタ毎に対応テーブルを設けたのは、格闘ゲーム等のキャラクタは各々得意技が異なり、得意技にはより簡単なジョイスティック161a等の操作を割り当てることが望ましいためである。本実施の形態では、ジョイスティック161aのみによる操作でモーションを指定することができる。よってモーション操作対応テーブル230には、ジョイスティック操作の列2301と、モーション番号の列2302とが設けられている。
【0044】
例えば、キャラクタAの対応テーブル2310において、ジョイスティック161aを反時計回りに回すという操作を実施すると、モーション番号1、例えば回し蹴りが指定されたことになる(行2303)。また、ジョイスティック161aを上方向に2度動かすという操作を実施すると、モーション番号2、例えば浴びせ蹴りが指定されたことになる(行2305)。なお図7においては、理解を容易にするために、ジョイスティック161aの操作方向をジョイスティック操作の列2301に示しているが、実際には、ジョイスティック161aから出力される操作コード等がジョイスティック操作の列2301に格納されている。
【0045】
なお、図2には図示しなかったが、本実施の形態に係るゲーム・プログラム133もRAM105に格納されている。
【0046】
本実施の形態では、インバース・キネマティクス(IK:Inverse Kinematics)を用いてモーションを補正する。図8に、ある長身のキャラクタのスケルトン・モデル12に対しあるモーション・データを適用した場合のボーン12a,12b,12cの様子と、当該キャラクタに対応するベース・スケルトン・モデル11に対して同じモーション・データを適用した場合のボーン11a,11b,11cの様子を示す。図8において、A,B,Cはそれぞれスケルトン・モデル12の肩、肘、手の位置を示している。また、S、T、Uはそれぞれベース・スケルトン・モデル11の肩、肘、手の位置を示している。
【0047】
図8では、例えばリングのロープをつかむというモーションを行うものとする。用いられるモーション・データは、ベース・スケルトン・モデルが動作を行うことを前提に作成されているため、ベース・スケルトン・モデルの手(ここでは丸Uの部分)の位置が丁度ロープの位置になっている。キャラクタのスケルトン・モデルの手(ここでは丸Cの部分)の位置はロープの位置ではないので、このままではキャラクタがロープをつかむ画像を作成できない。
【0048】
なお図8、図9、図10及び図11では、例えば図4及び図6と同じように、矢印と当該矢印の根元の部分に付いている丸との組をボーンとする。また、丸の中心に基準となる点が存在するものとし、丸Aについては点A、丸Bについては点B、丸Cについては点C、丸Sについては点S、丸Tについては点T、丸Uについては点Uと呼ぶことにする。
【0049】
そこでキャラクタの手の位置(丸U)を、ベース・スケルトン・モデルの手の位置(丸C)の位置に移動させる。最初に図9に示すように、ボーン12b、12cを、点Aを中心として回転させる。回転は、点Aから点Cb(点Cの回転前の点。点Bbは点Bの回転前の点。)へのベクトルPを、点Aから点UへのベクトルQになるように点Aを中心に行われる。より具体的には、ベクトルPとベクトルQの外積が計算され、その計算で得られたベクトルと平行で点Aを通る軸が回転軸とされる。また、ベクトルPとベクトルQの内積が、各ベクトルの絶対値で除算され、cos(θ1)の値が計算される。そして、コサインの逆関数(アークコサイン)により角度θ1が計算される。
【0050】
この図9の状態から、点Cを点Uに移動させる。移動させるときに注意しなければならないのは、ボーンの長さは変わらないということである。すなわち、ボーン12c(点Cから点B)の長さは変化しないし、ボーン12b(点Bから点A)の長さも変化しない。但し、点Aから点Cの距離は、図10に示すように点Aから点Ca(=点U)の距離に変化する。従って、三角形ABCにおける角ABCと角CABは、三角形ABaCa(点Baは点Bが移動した後の点)における角ABaCaと角CaABaにそれぞれ変化する。三角形の3つの辺の長さから3つの角の角度を計算することができる。ここで角ABC−角ABaCa=θ2であり、角BaCaA−角BCA=θ3である。角度が分かれば各点の位置は計算できる。
【0051】
図9で計算されたθ1及び図10において計算されたθ3をボーン12bに適用し、図10において計算されたθ2をボーン12cについて適用すれば、図11に示すようにようになる。すなわち、点線で表された点Aと点Bbの間のボーン12bと、点線で表された点Bbと点Cbの間のボーン12cとは、実線で表された点Aと点Baの間のボーン12bと、実線で表された点Baと点Ca(=点U)の間のボーン12cとになる。
【0052】
なお、図8、図9、図10及び図11は、1フレームにてモーションを完了させる場合について説明したものである。例えば、図12に示すように、6フレームでモーションが終了する場合に行われる処理について説明しておく。
【0053】
図12では、ベース・スケルトン・モデルのある部位(例えば手)のモーション開始前の姿勢における位置B1(フレームF0)、所定のモーションを実行する際の各補間フレーム(フレームF1、F2、F3、F4及びF5)における位置B2、B3、B4、B5及びB6、最終的な位置B7(フレームF6)が示されている。各補間フレームにおける位置B2、B3、B4、B5及びB6は、最終的な位置B7を実現するために回転させなければならない角度を、補間フレーム数(本例では6)により求められる均等な割合で補間してゆくことにより求められる。
【0054】
一方、キャラクタのスケルトン・モデルの手のモーション開始前の姿勢における位置はM1(フレームF0)である。ベース・スケルトン・モデルと同じモーション・データを適用した場合のキャラクタのスケルトン・モデルの手は、各補間フレーム(フレームF1、F2、F3、F4及びF5)及び最終フレーム(フレームF6)において点線で示されるM2、M3、M4、M5、M6及びM7の位置となる。位置M2、M3、M4、M5及びM6もベース・スケルトン・モデルの場合と同じように、最終的な位置M7を実現するために回転させなければならない角度を、補間フレーム数(本例では6)により求められる均等な割合で補間して行くことにより求められる。
【0055】
図12に示されているように、単純にモーション・データをキャラクタのスケルトン・モデルに適用しただけでは、最終的なキャラクタのスケルトン・モデルの手の位置は、ベース・スケルトン・モデルの手の位置と一致しない。このB7とM7の差を、各フレーム(フレームF1、F2、F3、F4、F5及びF6)において少しずつ修正する。本実施の形態では、補間フレーム数は6であるから、フレームF1からフレームF6まで均等な補間割合にて修正してゆくこととする。
【0056】
すなわち、フレームF1では、ベース・スケルトン・モデルの手の位置B2からキャラクタのスケルトン・モデルの手の位置M2への線分を5:1に内分する点M2aを求め、この点M2aにキャラクタのスケルトン・モデルの手が移動するようにIK処理を行う。次に、フレームF2では、ベース・スケルトン・モデルの手の位置B3からキャラクタのスケルトン・モデルの手の位置M3への線分を2:1に内分する点M3aを求め、この点M3aにキャラクタのスケルトン・モデルの手が移動するようにIK処理を行う。フレームF3では、ベース・スケルトン・モデルの手の位置B4からキャラクタのスケルトン・モデルの手の位置M4への線分を1:1に内分する点M4aを求め、この点M4aにキャラクタのスケルトン・モデルの手が移動するようにIK処理を行う。
【0057】
フレームF4では、ベース・スケルトン・モデルの手の位置B5からキャラクタのスケルトン・モデルの手の位置M5への線分を1:2に内分する点M5aを求め、この点M5aにキャラクタのスケルトン・モデルの手が移動するようにIK処理を行う。フレームF5では、ベース・スケルトン・モデルの手の位置B6からキャラクタのスケルトン・モデルの手の位置M6への線分を1:5に内分する点M6aを求め、この点M6aにキャラクタのスケルトン・モデルの手が移動するようにIK処理を行う。フレームF6では、キャラクタのスケルトン・モデルの手の位置M7がベース・スケルトン・モデルの手の位置B7になるようにIK処理を行う。
【0058】
以上を前提として以下に本実施の形態にかかる処理フローを説明する。
【0059】
CPU103は、起動時に、ROM104等に記憶されているオペレーティングシステムに基づき、CD−ROMドライブ113を介してCD−ROM131から画像処理やゲームの実行に必要なゲームプログラム133やデータ135を読み出し、RAM105に転送させる。そして、CPU103は、RAM105に転送されたゲームプログラム133を実行することにより、以下に記載する処理を実現する。
【0060】
なお、家庭用ゲーム装置101で行われる制御及び処理の中には、CPU103以外の回路がCPU103と協働して実際の制御及び処理を行っている場合もある。
【0061】
また、画像処理やゲームを実行するために必要なゲームプログラム133やデータ135は、実際にはCPU103からの命令に従って処理の進行状況に応じて順次CD−ROM131から読み出されてRAM105に転送される。しかし、以下に示す説明では、発明の理解を容易にするため、CD−ROM131からのデータの読み出しや、RAM105への転送に関する記述は省略している。
【0062】
もし画像処理やゲームを実行するために必要なゲームプログラム133やデータ135がHDD107に格納されている場合には、CPU103からの命令に従って処理の進行状況に応じて順次HDD107から読み出されてRAM105に転送される。しかし、以下に示す説明では、上で述べたのと同様の理由で、HDD107からのデータの読み出しや、RAM105への転送に関する記述は省略している。
【0063】
図13にキャラクタがプレイヤにより指示されたモーションを実行する場面の表示処理のメイン・フローを示す。最初に、操作入力を検出する処理が実施される(ステップS1)。本実施の形態では、プレイヤが操作するキーパッド161からの入力が常時検査され、特にジョイスティック161aからの操作入力が抽出される。次に、本実施の形態においてはジョイスティック161aによる操作入力に基づき、自キャラクタが実行するモーションの種類が決定される(ステップS3)。
【0064】
決定されたモーションの種類に基づき、後に詳述するモーション表示処理が実行される(ステップS5)。モーション表示処理は、表示フレーム毎に実行される。そして、当該モーションが終了したか、すなわち当該モーションの最終表示フレームに達したか否かが判断される(ステップS7)。もし、当該モーションの最終表示フレームに達していない場合には、ステップS5に戻る(ステップS7:Noルート)。一方、最終表示フレームに達している場合(ステップ7:Yesルート)には、ゲーム終了か否かが判断される(ステップS9)。ゲームを終了させるか否かは、例えばユーザがキーパッド161を操作してゲーム終了を命じたか又はゲームのストーリー上ゲーム終了の条件が満たされたかに基づき判断される。ゲームを終了させない場合には、ステップS1に戻る(ステップS9:Noルート)。ゲームを終了させる場合には処理を終了させる(ステップS9:Yesルート)。
【0065】
次に図14を用いてモーション表示処理を説明する。最初に、モーションの種類に対応するモーション・データを元にキャラクタのスケルトン・モデルにおける各ボーンの角度と位置が計算される(ステップS11)。本実施の形態におけるモーション表示処理は、表示フレーム毎に実施される。よって、ステップS11で計算される各ボーンの角度及び位置は、ある表示フレームにおける各ボーンの角度及び位置である。例えば、あるボーンについて補間フレーム数が10であり、モーション・データに角度が30度であることが規定されていれば、補間フレーム毎に3度ずつ角度を変化させて行く。同じモーションにおける3番目の補間フレームならば最初のフレームの角度から9度回転させた時の位置が計算される。なお、位置については、親のボーンの位置が決定されなければ、子のボーンの位置は決定できない。よって、親のボーンの位置から順番に計算される。
【0066】
次にIK処理が必要であるか否かが判断される(ステップS13)。この判断は、一般的にはモーションの種類で行われる。すなわち、物に触ったり、相手に攻撃を加えたりしないような、例えば攻撃前の構えのモーションであったり、単純に走ったりするモーションである場合には、IK処理は必要ではない。IK処理が必要ではないと判断された場合(ステップS13:Noルート)には、ステップS23に進む。一方、物に触ったり、相手に攻撃を加えたりするようなモーションである場合には、IK処理が必要となる。
【0067】
IK処理が必要な場合(ステップS13:Yesルート)、次にモーション・データを元にベース・スケルトン・モデルにおける各ボーンの角度と位置が計算される(ステップS15)。ステップS11と同じように、本ステップで計算される各ボーンの角度及び位置は、ある表示フレームにおける各ボーンの角度及び位置である。よって、モーション・データに規定された角度を各補間フレームにおいて補間し、当該補間された角度だけ回転させる。ベース・スケルトン・モデルにおいても、親のボーンについて位置が決定されなければ、子のボーンの位置が決定できない。よって、親のボーンの位置から順番に計算される。
【0068】
次にモーション・データに目標ボーン番号が規定されているかが判断される(ステップS17)。目標ボーン番号が規定されていれば、プレイヤが操作している自キャラクタによる敵キャラクタへの攻撃などであり、自キャラクタと敵キャラクタとの接触が発生する。一方、目標ボーン番号がNullとなっており、規定されていない場合は、例えばプレイヤが操作する自プレイヤが静的なリングのロープに触ったり、置いてある道具をつかんだりする場合である。
【0069】
もし、目標ボーン番号が規定されていない場合(ステップS17:Noルート)には、図12に説明したような処理を実施するため、ステップS21に移行する。一方、目標ボーン番号が規定されている場合(ステップS17:Yesルート)には、ベース・スケルトン・モデルの位置が補正される(ステップS19)。このベース・スケルトン・モデルの位置の補正は、攻撃対象のキャラクタのスケルトン・モデルの目標ボーンと当該攻撃対象のキャラクタに対応するベース・スケルトン・モデルの目標ボーンの相対的な位置関係により行われる。この補正については後に詳しく述べる。
【0070】
そして、ベース・スケルトン・モデルの位置と補間割合を元にIK処理が実施される(ステップS21)。もし、ステップS17で目標ボーン番号が規定されていないと判断された場合には、図12で説明したような処理が実施される。一方、ステップS17で目標ボーン番号が規定されていると判断された場合には、ベース・スケルトン・モデルの位置の補正と共に後に詳しく述べる。
【0071】
ステップS13又はステップS21の処理の後に表示処理が実施されて、TVセット121の表示画面120に自キャラクタがプレイヤが指定したモーションを実行した場面が表示される(ステップS23)。ステップS23を終了すれば、図13のステップS7に戻る。
【0072】
ではステップS19及びステップS21について説明する。上でも説明したが、本実施の形態においては、モーション・データは、ベース・スケルトン・モデルに適用した場合に適切なモーションを実施するように規定されている。従って、図15に示すように、自キャラクタに対応するベース・スケルトン・モデル500の手502が、敵キャラクタに対応するベース・スケルトン・モデルの腕512をつかむというモーションは、ベース・スケルトン・モデル同士であれば、問題無く実行される。
【0073】
しかし、図16に示すように敵キャラクタに対応するベース・スケルトン・モデル510(図15参照)が敵キャラクタのスケルトン・モデル600に置き換わると、ベース・スケルトン・モデル510とスケルトン・モデル600の体格差から、自キャラクタに対応するベース・スケルトン・モデル500の手502は、目標ボーン番号と同じボーン番号を有する腕603ではなく腕602をつかむことになってしまう。図16の例では、敵キャラクタのスケルトン・モデル600がベース・スケルトン・モデル510より長身であったために目標ボーンより下のほうの腕602をつかむことになったが、より小柄なスケルトン・モデルであれば、目標ボーンより上の腕をつかむことになるか、全くつかめないことになる。ベース・スケルトン・モデル500に対応する自キャラクタのスケルトン・モデルの場合も同じように、目標ボーンをつかむことは通常はできない。
【0074】
本実施の形態では、敵キャラクタに対応するベース・スケルトン・モデル510と敵キャラクタのスケルトン・モデル600の体格差を、自キャラクタに対応するベース・スケルトン・モデル500の位置に反映させる。この処理を図17を用いて説明する。図17では、敵キャラクタに対応するベース・スケルトン・モデル510の一部(ボーン511、512、513及び514)と、敵キャラクタのスケルトン・モデル600の一部(ボーン602、603、604及び605)とが描かれている。補正前における自キャラクタに対応するベース・スケルトン・モデル500の手502の、表示フレーム毎の位置をB1、B2、B3、B4、B5、B6及びB7に示す。この例では図12と同じように、補間フレーム数は6となっている。よって、モーション・データにおいて規定された角度を1/6にして、各補間フレームにおいて1/6ずつ角度を加えてゆくことによりB2、B3、B4、B5、B6及びB7の位置が決定される。
【0075】
ベース・スケルトン・モデル500の手502の最終的な位置B7は、ベース・スケルトン・モデル510のボーン512の途中に存在する。本実施の形態では、ボーン512を線分とした場合の位置B7による内分比を計算する。ボーン512の長さは決まっており、また位置B7もベース・スケルトン・モデル500にモーション・データを適用することにより求められる。よって、ボーン512を線分とした場合の位置B7の内分比も計算することができる。この内分比を、敵キャラクタのスケルトン・モデル600に適用する。すなわち、同じボーン番号を有するボーン603を線分とした場合に上で求めた内分比で、位置B7に対応するボーン603上の点を決定する。図17では、位置B7a(M7bも同じ点である)が計算される。この位置B7とB7aとの相対的な位置関係(ずれ量)が、ステップS19で用いられるベース・スケルトン・モデル500の位置の補正の元となるデータである。
【0076】
より具体的には、ベース・スケルトン・モデル500の位置を、位置B7と位置B7aを結ぶベクトル分だけ移動させる。すなわち、ベース・スケルトン・モデル500の手502の位置を図17では、B1からB1aへ、B2からB2aへ、B3かB3aへ、B4からB4aへ、B5からB5aへ、B6からB6aへ、B7からB7aへ移動させる。このようにすれば、ベース・スケルトン・モデル500の手502は、最終的に敵キャラクタのスケルトン・モデル600のボーン603をつかむことができるようになる。
【0077】
ところで、本実施の形態の最終目的はベース・スケルトン・モデル500の手502が敵キャラクタのスケルトン・モデル600のボーン603をつかむことではない。自キャラクタのスケルトン・モデル700の手702が敵キャラクタのスケルトン・モデル600のボーン603をつかむことである。すなわち、図18に示すような状態を得ることである。図17においては、自キャラクタのスケルトン・モデル700に単純にモーション・データを適用した場合の手702の位置は、M1、M2、M3、M4、M5、M6及びM7に示されている。この例では図12と同じように、補間フレーム数は6となっている。よって、モーション・データにおいて規定された角度を1/6にして、各補間フレームにおいて1/6ずつ角度を加えてゆくことによりM2、M3、M4、M5、M6及びM7の位置が決定される。
【0078】
図17に示されているように、単純にモーション・データを自キャラクタのスケルトン・モデル700に適用しただけでは、最終的なキャラクタのスケルトン・モデル700の手702の位置M7は、ベース・スケルトン・モデル500の手502の補正された位置B7aと一致しない。このB7aとM7の差に応じて、各フレーム(フレームF1、F2、F3、F4、F5及びF6)において自キャラクタの姿勢が少しずつ修正される。これが図14のステップS21における処理である。本実施の形態では、例えば補間フレーム数は6であるから、フレームF1からフレームF6まで均等な補間割合にて自キャラクタの姿勢が修正される。
【0079】
すなわち、フレームF1では、ベース・スケルトン・モデル500の手502の位置B2aから自キャラクタのスケルトン・モデル700の手702の位置M2への線分を5:1に内分する点M2bを求め、この点M2bに自キャラクタのスケルトン・モデル700の手702が移動するようにIK処理を行う。次に、フレームF2では、ベース・スケルトン・モデル500の手502の補正された位置B3aから自キャラクタのスケルトン・モデル700の手702の位置M3への線分を2:1に内分する点M3bを求め、この点M3bに自キャラクタのスケルトン・モデル700の手702が移動するようにIK処理を行う。フレームF3では、ベース・スケルトン・モデル500の手502の補正された位置B4aから自キャラクタのスケルトン・モデル700の手702の位置M4への線分を1:1に内分する点M4bを求め、この点M4bに自キャラクタのスケルトン・モデル700の手702が移動するようにIK処理を行う。
【0080】
フレームF4では、ベース・スケルトン・モデル500の手502の補正された位置B5aから自キャラクタのスケルトン・モデル700の手702の位置M5への線分を1:2に内分する点M5bを求め、この点M5bに自キャラクタのスケルトン・モデル700の手702が移動するようにIK処理を行う。フレームF5では、ベース・スケルトン・モデル500の手502の補正された位置B6aから自キャラクタのスケルトン・モデル700の手702の位置M6への線分を1:5に内分する点M6bを求め、この点M6bに自キャラクタのスケルトン・モデル700の手702が移動するようにIK処理を行う。フレームF6では、自キャラクタのスケルトン・モデル700の手702の位置M7がベース・スケルトン・モデル500の手502の補正された位置B7aになるようにIK処理を行う。
【0081】
以上説明したように本実施の形態では、プレイヤによる操作入力(図13:ステップS1)に応答して、プレイヤが操作している自キャラクタに対応して定義され且つ同じ姿勢を示す第1のベース・スケルトン・モデルの所定の部位を、敵キャラクタに対応して定義され且つ同じ姿勢を示す第2のベース・スケルトン・モデルの所定の部位に接触させるための特定のモーションを決定する(ステップS2)。
【0082】
そして、第2のベース・スケルトン・モデルの所定の部位と敵キャラクタにおいて対応する所定の部位との相対的な位置関係を取得し、取得された相対的な位置関係を用いて自キャラクタに対応するベース・スケルトン・モデルの位置を変更し(図14:ステップS19)、且つIK処理を実施する(ステップS21)。これは実質的に特定のモーションを補正するものである。当該補正された特定のモーションを自キャラクタに実行させることにより、第1のベース・スケルトン・モデルの所定の部位に対応する自キャラクタの所定の部位を第2のベース・スケルトン・モデルの所定の部位に対応する敵キャラクタの所定の部位に接触させるためのモーションを実行する場面を表示する(ステップS23)。
【0083】
このように、ベース・スケルトン・モデルに対して規定された特定のモーションが、敵キャラクタと敵キャラクタに対応するベース・スケルトン・モデルとの体格差を表す相対的な位置関係を用いて補正される。これにより、自キャラクタは、敵キャラクタに対して適切な攻撃を加えることができるようになる。すなわち、自キャラクタの所定の部位を敵キャラクタの所定の部位に接触させるためのモーションが実行される。
【0084】
なお、第2のベース・スケルトン・モデルの所定の部位は、予め定められた目標ボーンを所定の比率にて内分した位置であり、第2のベース・スケルトン・モデルの所定の部位に対応する敵キャラクタの所定の部位は、敵キャラクタのスケルトン・モデルにおいて同じ目標ボーンを同じ所定の比率にて内分した位置である。これにて、攻撃を受ける敵キャラクタの所定の部位は、モーションにおいて予定された第2のベース・スケルトン・モデルにおける体の位置と同じになる。
【0085】
また、特定のモーションの補正は、補間フレーム毎に、取得された相対的な位置関係に基づき第1の標準形態モデルの位置を変更し、変更された第1の標準形態モデルの位置を当該補間フレームの補間割合分修正し、当該修正された第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行う。
【0086】
さらに、各モーションに対応して、第1のベース・スケルトン・モデルの所定の部位を第2のベース・スケルトン・モデルの所定の部位に接触させるためのモーション・データを予め用意しておき、特定のモーションが決定されると対応するモーション・データが取得される。ベース・スケルトン・モデルによるモーション・データを、様々なキャラクタに使用できるようになる。
【0087】
上で述べた本発明の実施の形態は様々な変更が可能である。例えば、人型のキャラクタに対応して人型のスケルトン・モデルを用いた例を示したが、例えば動物型のキャラクタに対応して動物型のスケルトン・モデルを用いてもよい。また、ジョイスティック161aによりモーションの種類を指定する例を示したが、キーパッド161に設けられたボタンでモーションの種類を指定してもよいし、ボタンとジョイスティック161aの組合せにて指定するようにすることも可能である。
【0088】
さらに、図5では同じモーション番号のモーションであっても、ボーンによっては補間フレーム数を変えることができるようになっていた。これにより、多彩なモーションを定義できるようにしているが、ステップS21における補間割合をボーンのグループ毎に変化させたり、目的のボーン番号を途中で切り換えたりすることにより、より自然で多彩なモーションを表現できるようになる。
【0089】
また図1は一例であって、様々な変更が可能である。通信インターフェース115を備えるか否かは任意である。本発明は直接サウンド処理には関係しないので、サウンド処理部109を備えている必要は無い。
【0090】
また、CD−ROMは記録媒体の一例であって、ROMのような内部メモリ、CD−ROM、DVD−ROM、メモリカートリッジ、フロッピーディスク、磁気ディスク、DVD−RAM等の他の記録媒体であってもよい。その場合にはCD−ROMドライブ113を、対応する媒体で読み出し可能なドライブにする必要がある。
【0091】
さらに、以上は本発明をコンピュータ・プログラムにより実装した場合であるが、コンピュータ・プログラムと電子回路などの専用の装置の組み合せ、又は電子回路などの専用の装置のみによっても実装することは可能である。
【0092】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は上記実施の形態に限定されるものではない。要旨を逸脱しない範囲で適宜変更可能である。例えば、上記実施の形態では、家庭用ゲーム機をプラットフォームとして本発明を実現した場合について述べたが、本発明は通常のコンピュータ、アーケードゲーム機などをプラットフォームとして実現しても良い。また、携帯情報端末、カーナビゲーション・システム等をプラットフォームにして実現することも考えられる。
【0093】
また、本発明を実現するためのプログラムやデータは、コンピュータやゲーム機に対して着脱可能なCD−ROM等の記録媒体により提供される形態に限定されない。すなわち、本発明を実現するためのプログラムやデータを、図1に示す通信インターフェース115、通信媒体141を介して接続されたネットワーク151上の他の機器側のメモリに記録し、プログラムやデータを通信回線141を介して必要に応じて順次RAM105に格納して使用する形態であってもよい。
【0094】
(表示例)
図19、図20、図21及び図22は、格闘ゲームにおいて本実施の形態を適用した場合の例を示している。本例では、小柄なレスラー900が大柄なレスラー800の頭を両手でつかむモーションが実行される表示場面120が表されている。なお、地面は平面であって、レスラー900の立っている位置とレスラー800の立っている位置には高低差はない。
【0095】
図19では、レスラー900がモーションの最初の動作として、両腕を上に上げ始めている。レスラー900とレスラー800の間は多少空いている。図20では、レスラー900は胴体の姿勢をほとんど変えずにレスラー800に近付き、両腕を図19よりも上に上げている。本例のように、レスラー900とレスラー800のように極端に大きさが異なる場合には、レスラー800がそのまま立っていると、レスラー900の背の高さ及び腕の長さではレスラー800の頭に手が届かない。よって、ここではレスラー800は少し膝を曲げて頭の高さを下げている。
【0096】
図21を見ると、レスラー900の両手はさらに上に上げられて、レスラー800の肩から顔の辺りまできている。レスラー900の胴体の姿勢はやや前かがみになっている。逆にレスラー800の姿勢は前かがみから少々起きた状態になっている。図22になると、レスラー900の両手はレスラー800の頭に届いている。レスラー900も前かがみの姿勢から手を高いところに届かせるために立った姿勢に変わっている。レスラー800の姿勢は膝を曲げて直立するような体勢になっている。
【0097】
このように、本実施の形態を適用すれば、レスラー同士に体格差が生じていても、より自然なモーションを表示させることができるようになる。
【0098】
【発明の効果】
以上述べたように本発明によれば、キャラクタ間の体格差を考慮して、プレイヤの操作入力により命じられたモーションを補正するための技術を提供することができる。
【図面の簡単な説明】
【図1】家庭用ゲーム機のブロック構成図である。
【図2】本発明に係るゲームプログラム実行時におけるRAMの状態を示す模式図である。
【図3】スケルトン・モデルのデータ・フォーマットの一例を示す模式図である
【図4】スケルトン・モデルの模式図であって、(a)はベース・スケルトン・モデルを、(b)は長身タイプのスケルトン・モデルを、(c)は小柄タイプのスケルトン・モデルを、(d)大柄タイプのスケルトン・モデルをそれぞれ示す。
【図5】モーション・データのデータ・フォーマットの一例を示す模式図である。
【図6】スケルトン・モデルにモーション・データを適用した場面を示す模式図であって、(a)はベース・スケルトン・モデルの例を、(b)は長身タイプのスケルトン・モデルの例を、(c)は小柄タイプのスケルトン・モデルの例を、(d)大柄タイプのスケルトン・モデルの例をそれぞれ示す。
【図7】モーション操作対応テーブルの一例を示す模式図である。
【図8】インバース・キネマティクス処理を説明するための模式図(その1)である。
【図9】インバース・キネマティクス処理を説明するための模式図(その2)である。
【図10】インバース・キネマティクス処理を説明するための模式図(その3)である。
【図11】インバース・キネマティクス処理を説明するための模式図(その4)である。
【図12】インバース・キネマティクス処理を説明するための模式図(その5)である。
【図13】本実施の形態の処理のメインフローを示すフローチャートである。
【図14】モーション表示処理を示すフローチャートである。
【図15】モーション表示処理を説明するための模式図(その1)である。
【図16】モーション表示処理を説明するための模式図(その2)である。
【図17】モーション表示処理を説明するための模式図(その3)である。
【図18】モーション表示処理を説明するための模式図(その4)である。
【図19】本実施の形態を使用した場合における表示画面例(その1)である。
【図20】本実施の形態を使用した場合における表示画面例(その2)である。
【図21】本実施の形態を使用した場合における表示画面例(その3)である。
【図22】本実施の形態を使用した場合における表示画面例(その4)である。
【符号の説明】
101 家庭用ゲーム機 103 CPU 104 ROM
105 RAM 107 HDD 109 サウンド処理部
112 フレームバッファ 111 グラフィックス処理部
113 CD−ROMドライブ 115 通信インターフェース
117 インターフェース部 119 内部バス 121 TVセット
120 表示画面 131 CD−ROM 141 通信媒体
151 ネットワーク 161 キーパッド 161a ジョイスティック
171 メモリカード
200 スケルトン・モデル 220 モーション・データ
230 モーション操作対応テーブル

Claims (20)

  1. 仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    前記他のキャラクタに対し、前記他のキャラクタの各部位と互いに対応関係にある部位で構成される標準形態モデルが対応付けられており、プレイヤによる操作入力に応答して、前記特定のキャラクタの所定の部位を、前記標準形態モデルの所定の部位に接触させるためのモーションを決定し、
    前記決定されたモーションが接触の目標とする前記標準形態モデルの所定の部位と、当該部位に対応する前記他のキャラクタの部位との位置関係を取得し、
    前記取得された位置関係を用いて前記決定されたモーションを補正し、当該補正されたモーションで動作する前記特定のキャラクタを画面表示させること、
    を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  2. 前記決定されたモーションの補正では、前記特定のキャラクタの所定の部位の位置の補正量が前記取得された位置関係に応じた量となるまで、前記特定のキャラクタの所定の部位の位置を徐々に補正することを特徴とする請求項1記載の記録媒体。
  3. 仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、プレイヤによる操作入力に応答して、前記特定のキャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルの所定の部位を、他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルの所定の部位に接触させるための特定のモーションを決定し、
    前記第2の標準形態モデルの所定の部位と前記他のキャラクタにおいて対応する所定の部位との相対的な位置関係を取得し、
    取得された前記相対的な位置関係を用いて前記特定のモーションを補正し、当該補正された特定のモーションを前記特定のキャラクタに実行させることにより、前記第1の標準形態モデルの所定の部位に対応する前記特定のキャラクタの所定の部位を前記第2の標準形態モデルの所定の部位に対応する前記他のキャラクタの所定の部位に接触させるためのモーションを実行する場面を表示させること、
    を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  4. 前記第1及び第2の標準形態モデルは、それぞれ標準サイズの第1及び第2のスケルトン・モデルであり、
    前記第2の標準形態モデルの所定の部位は、前記第2のスケルトン・モデルにおいて予め定められたボーンを所定の比率にて内分した位置であり、
    前記第2の標準形態モデルの所定の部位に対応する前記他のキャラクタの所定の部位は、前記第2のスケルトン・モデルの前記予め定められたボーンと同じ前記他のキャラクタにおけるボーンを前記第2のスケルトン・モデルと同じ所定の比率にて内分した位置であることを特徴とする請求項3記載のコンピュータ読み取り可能な記録媒体。
  5. 前記特定のモーションの補正は、取得された前記相対的な位置関係に基づき前記第1の標準形態モデルの位置を変更し、変更された前記第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行われることを特徴とする請求項3記載のコンピュータ読み取り可能な記録媒体。
  6. 前記特定のモーションの補正は、補間フレーム毎に、
    取得された前記相対的な位置関係に基づき前記第1の標準形態モデルの位置を変更し、変更された前記第1の標準形態モデルの位置を当該補間フレームの補間割合分修正し、当該修正された前記第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行われることを特徴とする請求項3記載のコンピュータ読み取り可能な記録媒体。
  7. 各モーションに対応して、前記第1の標準形態モデルの所定の部位を前記第2の標準形態モデルの所定の部位に接触させるためのモーション・データが予め用意されており、
    前記特定のモーションが決定されると対応するモーション・データが取得されることを特徴とする請求項3記載のコンピュータ読み取り可能な記録媒体。
  8. キャラクタのモーションを制御するゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    一キャラクタが他のキャラクタの所定の部位をつかむ第1のモーションを表示させる場合に、前記一キャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルが前記他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルにおける前記所定の部位に対応する部位をつかむ第2のモーションの手の位置の到達点と、前記他のキャラクタの前記所定の部位とのずれ量を判断し、
    前記判断されたずれ量に応じて、前記第2のモーションの手の位置を補正し、
    前記補正された第2のモーションの手の位置と、前記一キャラクタに前記第2のモーションを適用した場合における手の位置との差に応じて、前記第1のモーションのためのデータを生成し、
    生成された前記第1のモーションのためのデータを用いて、前記一キャラクタが前記他のキャラクタの前記所定の部位をつかむ動作を表示させること、
    を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. 仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示する方法であって、
    前記他のキャラクタに対し、前記他のキャラクタの各部位と互いに対応関係にある部位で構成される標準形態モデルが対応付けられており、プレイヤによる操作入力に応答して、前記特定のキャラクタの所定の部位を、前記標準形態モデルの所定の部位に接触させるためのモーションを決定し、
    前記決定されたモーションが接触の目標とする前記標準形態モデルの所定の部位と、当該部位に対応する前記他のキャラクタの部位との位置関係を取得し、
    前記取得された位置関係を用いて前記決定されたモーションを補正し、当該補正されたモーションで動作する前記特定のキャラクタを画面表示する方法。
  10. 前記決定されたモーションの補正では、前記特定のキャラクタの所定の部位の位置の補正量が前記取得された位置関係に応じた量となるまで、前記特定のキャラクタの所定の部位の位置を徐々に補正することを特徴とする請求項9記載の方法。
  11. 仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示する方法であって、
    プレイヤによる操作入力に応答して、前記特定のキャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルの所定の部位を、他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルの所定の部位に接触させるための特定のモーションを決定し、
    前記第2の標準形態モデルの所定の部位と前記他のキャラクタにおいて対応する所定の部位との相対的な位置関係を取得し、
    取得された前記相対的な位置関係を用いて前記特定のモーションを補正し、当該補正された特定のモーションを前記特定のキャラクタに実行させることにより、前記第1の標準形態モデルの所定の部位に対応する前記特定のキャラクタの所定の部位を前記第2の標準形態モデルの所定の部位に対応する前記他のキャラクタの所定の部位に接触させるためのモーションを実行する場面を表示する方法。
  12. 前記第1及び第2の標準形態モデルは、それぞれ標準サイズの第1及び第2のスケルトン・モデルであり、
    前記第2の標準形態モデルの所定の部位は、前記第2のスケルトン・モデルにおいて予め定められたボーンを所定の比率にて内分した位置であり、
    前記第2の標準形態モデルの所定の部位に対応する前記他のキャラクタの所定の部位は、前記第2のスケルトン・モデルの前記予め定められたボーンと同じ前記他のキャラクタにおけるボーンを前記第2のスケルトン・モデルと同じ所定の比率にて内分した位置であることを特徴とする請求項11記載の方法。
  13. 前記特定のモーションの補正は、取得された前記相対的な位置関係に基づき前記第1の標準形態モデルの位置を変更し、変更された前記第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行われることを特徴とする請求項11記載の方法。
  14. 前記特定のモーションの補正は、補間フレーム毎に、
    取得された前記相対的な位置関係に基づき前記第1の標準形態モデルの位置を変更し、変更された前記第1の標準形態モデルの位置を当該補間フレームの補間割合分修正し、当該修正された前記第1の標準形態モデルの位置に配置されるようにインバース・キネマティクス処理を実施することにより行われる
    ことを特徴とする請求項11記載の方法。
  15. 各モーションに対応して、前記第1の標準形態モデルの所定の部位を前記第2の標準形態モデルの所定の部位に接触させるためのモーション・データが予め用意されており、
    前記特定のモーションが決定されると対応するモーション・データが取得されることを特徴とする請求項11記載の方法。
  16. キャラクタのモーションを制御するゲームの処理方法であって、
    一キャラクタが他のキャラクタの所定の部位をつかむ第1のモーションを表示させる場合に、前記一キャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルが前記他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルにおける前記所定の部位に対応する部位をつかむ第2のモーションの手の位置の到達点と、前記他のキャラクタの前記所定の部位とのずれ量を判断し、
    前記判断されたずれ量に応じて、前記第2のモーションの手の位置を補正し、
    前記補正された第2のモーションの手の位置と、前記一キャラクタに前記第2のモーションを適用した場合における手の位置との差に応じて、前記第1のモーションのためのデータを生成し、
    生成された前記第1のモーションのためのデータを用いて、前記一キャラクタが前記他のキャラクタの前記所定の部位をつかむ動作を表示する方法。
  17. 仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるゲーム装置であって、
    プログラムにしたがってゲームを実行するユニットと、
    前記プログラムを全部もしくは一部を格納するメモリと、
    前記ユニットで実行されるゲームを表示する表示画面と、
    を備え、
    前記ユニットは、
    前記メモリに格納されたプログラムにしたがって、
    前記他のキャラクタに対し、前記他のキャラクタの各部位と互いに対応関係にある部位で構成される標準形態モデルが対応付けられており、プレイヤによる操作入力に応答して、前記特定のキャラクタの所定の部位を、前記標準形態モデルの所定の部位に接触させるためのモーションを決定し、
    前記決定されたモーションが接触の目標とする前記標準形態モデルの所定の部位と、当該部位に対応する前記他のキャラクタの部位との位置関係を取得し、
    前記取得された位置関係を用いて前記決定されたモーションを補正し、当該補正されたモーションで動作する前記特定のキャラクタを画面表示させる、
    ことを特徴とするゲーム装置。
  18. 前記決定されたモーションの補正では、前記特定のキャラクタの所定の部位の位置の補正量が前記取得された位置関係に応じた量となるまで、前記特定のキャラクタの所定の部位の位置を徐々に補正することを特徴とする請求項17記載のゲーム装置。
  19. 仮想空間において特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるゲーム装置であって、
    プログラムにしたがってゲームを実行するユニットと、
    前記プログラムを全部もしくは一部を格納するメモリと、
    前記ユニットで実行されるゲームを表示する表示画面と、
    を備え、
    前記ユニットは、
    前記メモリに格納されたプログラムにしたがって、
    プレイヤによる操作入力に応答して、前記特定のキャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルの所定の部位を、他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルの所定の部位に接触させるための特定のモーションを決定し、
    前記第2の標準形態モデルの所定の部位と前記他のキャラクタにおいて対応する所定の部位との相対的な位置関係を取得し、
    取得された前記相対的な位置関係を用いて前記特定のモーションを補正し、当該補正された特定のモーションを前記特定のキャラクタに実行させることにより、前記第1の標準形態モデルの所定の部位に対応する前記特定のキャラクタの所定の部位を前記第2の標準形態モデルの所定の部位に対応する前記他のキャラクタの所定の部位に接触させるためのモーションを実行する場面を表示させる、
    ことを特徴とするゲーム装置。
  20. キャラクタのモーションを制御するゲーム装置であって、
    プログラムにしたがってゲームを実行するユニットと、
    前記プログラムを全部もしくは一部を格納するメモリと、
    前記ユニットで実行されるゲームを表示する表示画面と、
    を備え、
    前記ユニットは、
    前記メモリに格納されたプログラムにしたがって、
    一キャラクタが他のキャラクタの所定の部位をつかむ第1のモーションを表示させる場合に、前記一キャラクタに対応して定義され且つ同じ姿勢を示す第1の標準形態モデルが前記他のキャラクタに対応して定義され且つ同じ姿勢を示す第2の標準形態モデルにおける前記所定の部位に対応する部位をつかむ第2のモーションの手の位置の到達点と、前記 他のキャラクタの前記所定の部位とのずれ量を判断し、
    前記判断されたずれ量に応じて、前記第2のモーションの手の位置を補正し、
    前記補正された第2のモーションの手の位置と、前記一キャラクタに前記第2のモーションを適用した場合における手の位置との差に応じて、前記第1のモーションのためのデータを生成し、
    生成された前記第1のモーションのためのデータを用いて、前記一キャラクタが前記他のキャラクタの前記所定の部位をつかむ動作を表示させる、
    ことを特徴とするゲーム装置。
JP2000168313A 2000-06-05 2000-06-05 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置 Expired - Lifetime JP3569201B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000168313A JP3569201B2 (ja) 2000-06-05 2000-06-05 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置
US09/605,849 US6626759B1 (en) 2000-06-05 2000-06-29 Game apparatus, method for displaying motion of character, and computer readable recording medium for recording program used to display motion of character

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000168313A JP3569201B2 (ja) 2000-06-05 2000-06-05 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置

Publications (2)

Publication Number Publication Date
JP2001351124A JP2001351124A (ja) 2001-12-21
JP3569201B2 true JP3569201B2 (ja) 2004-09-22

Family

ID=18671334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000168313A Expired - Lifetime JP3569201B2 (ja) 2000-06-05 2000-06-05 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置

Country Status (2)

Country Link
US (1) US6626759B1 (ja)
JP (1) JP3569201B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082144A (ja) * 2019-11-21 2021-05-27 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法
JP2021082145A (ja) * 2019-11-21 2021-05-27 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040229688A1 (en) * 2003-05-12 2004-11-18 Electronic Arts Inc. Methods and apparatus for playing video sequences while loading game data
US7333112B2 (en) * 2003-05-14 2008-02-19 Pixar Rig baking
US7944449B2 (en) * 2003-05-14 2011-05-17 Pixar Methods and apparatus for export of animation data to non-native articulation schemes
JP4580742B2 (ja) * 2004-11-30 2010-11-17 任天堂株式会社 ゲームプログラムおよびゲーム装置
US20060262119A1 (en) * 2005-05-20 2006-11-23 Michael Isner Transfer of motion between animated characters
CA2553508A1 (en) * 2005-07-29 2007-01-29 Avid Technology, Inc. Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation
JP4659606B2 (ja) * 2005-12-16 2011-03-30 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
GB2480172B (en) * 2006-05-09 2012-02-15 Disney Entpr Inc Interactive animation
WO2007134115A2 (en) * 2006-05-09 2007-11-22 Disney Enterprises, Inc. Interactive animation
US7859538B2 (en) 2006-07-31 2010-12-28 Autodesk, Inc Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine
US8094156B2 (en) * 2006-07-31 2012-01-10 Autodesk Inc. Rigless retargeting for character animation
JP5241807B2 (ja) * 2010-12-02 2013-07-17 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP5785414B2 (ja) * 2011-03-29 2015-09-30 株式会社カプコン プログラム、および、当該プログラムを記録したプログラム記録部を備えている画像処理装置
JP5490080B2 (ja) * 2011-12-06 2014-05-14 株式会社セルシス スケルトンモデルの姿勢制御方法,及びプログラム
US9665204B2 (en) * 2013-10-04 2017-05-30 Microchip Technology Incorporated Continuous circle gesture detection for a sensor system
JP6329616B1 (ja) * 2016-11-28 2018-05-23 株式会社スクウェア・エニックス プログラム、コンピュータ装置、及び、判定方法
JP6526775B1 (ja) * 2017-12-08 2019-06-05 株式会社スクウェア・エニックス アニメーションデータ圧縮プログラム、アニメーションデータ復元プログラム、アニメーションデータ圧縮装置、及びアニメーションデータ圧縮方法
JP6869215B2 (ja) * 2018-09-19 2021-05-12 株式会社Nttドコモ 情報処理装置及び情報処理システム
CN110075523B (zh) * 2019-04-30 2020-04-17 网易(杭州)网络有限公司 动作生成方法、装置、电子设备和计算机可读介质
US11052317B1 (en) * 2020-06-29 2021-07-06 Square Enix Ltd. Performing simulation of stretchable character in computer game
US11478707B2 (en) 2020-01-30 2022-10-25 Square Enix Ltd. Gap jumping simulation of stretchable character in computer game
US12097432B2 (en) * 2021-03-10 2024-09-24 Bungie, Inc. an independent subsidiary of Sony Interactive Entertainment Markup free ledge grab

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR9702282A (pt) * 1996-06-05 1999-07-20 Sega Enterprises Kk Processamento de imagem para um jogo
US6088042A (en) * 1997-03-31 2000-07-11 Katrix, Inc. Interactive motion data animation system
JPH114969A (ja) * 1997-06-16 1999-01-12 Konami Co Ltd ゲーム装置、ゲーム方法および可読記録媒体
US6011562A (en) * 1997-08-01 2000-01-04 Avid Technology Inc. Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082144A (ja) * 2019-11-21 2021-05-27 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法
JP2021082145A (ja) * 2019-11-21 2021-05-27 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法
JP7022107B2 (ja) 2019-11-21 2022-02-17 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法
US11278809B2 (en) 2019-11-21 2022-03-22 Koei Tecmo Games Co., Ltd. Non-transitory computer-readable medium, device, and method for image generation
JP7078596B2 (ja) 2019-11-21 2022-05-31 株式会社コーエーテクモゲームス 画像生成プログラム、画像生成処理装置及び画像生成方法
US11389724B2 (en) 2019-11-21 2022-07-19 Koei Tecmo Games Co., Ltd. Non-transitory computer-readable medium, device, and method for image generation

Also Published As

Publication number Publication date
JP2001351124A (ja) 2001-12-21
US6626759B1 (en) 2003-09-30

Similar Documents

Publication Publication Date Title
JP3569201B2 (ja) 特定のキャラクタが他のキャラクタに接触するモーションを実行する場面を表示させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体及び方法、並びにゲーム装置
EP0842682B9 (en) Image processor for games
US6203425B1 (en) Image generating device, method thereof, game device and storage medium
JP4660357B2 (ja) 画像処理プログラムおよび画像処理装置
JP5087101B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP5118220B2 (ja) 動作モデリング装置及び方法、並びにプログラム
GB2439644A (en) Input system and method
JP4776831B2 (ja) プログラム、情報記憶媒体、ゲーム装置及びホスト装置
KR20010102912A (ko) 게임 캐릭터를 제어하는 방법, 비디오 게임 장치 및프로그램
JP7078596B2 (ja) 画像生成プログラム、画像生成処理装置及び画像生成方法
JP2006122241A (ja) ゲーム装置およびゲームプログラム
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
US6614435B1 (en) Method of control of playback of motion and program product and game system for same
JP2001204963A (ja) モーション表示方法、ゲーム装置及び記録媒体、
KR100281837B1 (ko) 화상 처리 장치 및 이를 구비한 게임 장치
US6461237B1 (en) Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method
JP6032710B2 (ja) シミュレーション装置及びプログラム
JP3885381B2 (ja) ゲームの画像表示方法
JP3561517B1 (ja) 画像表示制御プログラム、画像表示制御方法及びビデオゲーム装置
JP2007244740A (ja) プログラム、情報記憶媒体、及びゲームシステム
JP4964317B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP3530095B2 (ja) ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体
JP7022107B2 (ja) 画像生成プログラム、画像生成処理装置及び画像生成方法
JP2018128851A (ja) プログラム、オブジェクト配置システム及びオブジェクト配置方法
JP2012247953A (ja) プログラム、情報記憶媒体、情報処理システム及び情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040409

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: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3569201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

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

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

EXPY Cancellation because of completion of term