JP4169222B2 - Image generating apparatus and information storage medium - Google Patents

Image generating apparatus and information storage medium Download PDF

Info

Publication number
JP4169222B2
JP4169222B2 JP13138898A JP13138898A JP4169222B2 JP 4169222 B2 JP4169222 B2 JP 4169222B2 JP 13138898 A JP13138898 A JP 13138898A JP 13138898 A JP13138898 A JP 13138898A JP 4169222 B2 JP4169222 B2 JP 4169222B2
Authority
JP
Japan
Prior art keywords
motion
character
axis
foot
field surface
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
JP13138898A
Other languages
Japanese (ja)
Other versions
JPH11306388A (en
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 JP13138898A priority Critical patent/JP4169222B2/en
Publication of JPH11306388A publication Critical patent/JPH11306388A/en
Application granted granted Critical
Publication of JP4169222B2 publication Critical patent/JP4169222B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、オブジェクト空間内の所与の視点から見える画像を生成する画像生成装置が開発、実用化されており、いわゆる仮想現実を体験できるものとして人気が高い。格闘技ゲームを楽しむことができる画像生成装置を例にとれば、プレーヤは、キャラクタを操作し、他のプレーヤ又はコンピュータが操作するキャラクタと対戦させてゲームを楽しむ。
【0003】
さて、このような格闘技ゲームでは、予め用意されたモーションを再生することにより、キャラクタの手足等の動きを表現している。例えばキャラクタを前に歩かせる操作をプレーヤが行った場合には、前歩き用に用意されたモーションが再生され、キャラクタをジャンプさせる操作を行った場合には、ジャンプ用に用意されたモーションが再生される。
【0004】
しかしながら、このように、予め用意されたモーションを単に再生することのみでキャラクタの動きを表現しようとすると、キャラクタの動きが、現実世界とは異なる不自然なものになってしまう場合がある。特に、キャラクタが相手キャラクタの方を向くようにする軸合わせや、複雑なモーション補間などの特殊なモーション制御を行うと、この不自然さは更に顕著になる。
【0005】
また、画像生成装置のハードウェアの小規模化を図るためには、キャラクタのモーションデータのデータ量をなるべく少なくすることが望ましい。
【0006】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、キャラクタの複雑なモーション制御を行いながら、キャラクタの自然な動きを実現できる画像生成装置及び情報記憶媒体を提供することにある。
【0007】
また本発明の他の目的は、少ないモーションデータ量で、キャラクタのリアルな動きを実現できる画像生成装置及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、少なくとも2つの足を有するキャラクタをオブジェクト空間内のゲームフィールド面上で移動させる演算を行う手段と、前記キャラクタのモーションを再生するモーション再生手段と、オブジェクト空間内の所与の視点において見える画像を生成する手段とを含み、前記モーション再生手段が、キャラクタの足がゲームフィールド面に接地している場合には、該足のゲームフィールド面内での移動を制限しながらキャラクタのモーションを再生することを特徴とする。
【0009】
本発明によれば、キャラクタは、モーション再生により手足などを動かしながらゲームフィールド面上を移動する。そして、キャラクタの例えば右足がゲームフィールド面に接地すると、ゲームフィールド面内での右足の移動が制限されながら(右足が接地位置に固定されたり、接地位置に強く拘束される)、モーションが再生される。左足がゲームフィールド面に接地した場合にも、同様に、ゲームフィールド面内での左足の移動が制限されながらモーションが再生される。したがって、キャラクタの移動と足のモーションとの間に矛盾が生じキャラクタの足が滑ってしまうという現象を効果的に防止できるようになる。
【0010】
また本発明は、前記キャラクタのモーションデータを記憶するモーション記憶手段を含み、前記モーション再生手段が、前記モーションデータに基づき特定される基準モーションにおいてキャラクタの足がゲームフィールド面に接地している場合には、該足のゲームフィールド面内での移動が制限されるようにキャラクタのモーションを変形し、前記基準モーションにおいて該足がゲームフィールド面から浮いている場合には、変形されたキャラクタのモーションを基準モーションに近づけるモーション補間を行うことを特徴とする。このようにすることで、ゲームフィールド面内での足の移動を制限したことにより変形したモーションを、足が浮いている間に、元の基準モーションに戻すことが可能になる。
【0011】
また本発明は、キャラクタの足がゲームフィールド面に接地している場合には足を接地位置に固定し、キャラクタの関節の位置をインバース・キネマティクスにより求めることを特徴とする。このようにすれば、足を接地位置に固定したことによる影響を、キャラクタの関節の位置の調整により相殺することが可能になる。
【0012】
また本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、第1、第2、第3の関節を少なくとも有するキャラクタのモーションデータを記憶するモーション記憶手段と、第1、第3の関節を結ぶベクトルの向きをワールド座標系のX軸に向けるためのYロール角及びZロール角とモーションデータに含まれるXロール角とに基づき変換マトリクスを求め、第1、第3の関節を結ぶベクトルの向きに設定されるX’軸と、X’Y’平面内に第2の関節が位置するように設定されるY’軸と、X’Y’平面に直交するZ’軸とからなるローカル座標系での第2の関節の位置を求め、該位置と前記変換マトリクスとに基づきX軸、Y軸、Z軸からなるワールド座標系での第2の関節の位置を求める手段と、求められた第2の関節の位置と、前記モーションデータにより特定される第1、第3の関節の位置とに基づき、前記キャラクタのモーションを再生するモーション再生手段と、オブジェクト空間内の所与の視点において見える画像を生成する手段とを含むことを特徴とする。
【0013】
本発明によれば、モーションデータとして例えば第1、第3の関節の位置とXロール角とを用意するだけで、第2の関節の位置をインバース・キネマティクスにより求めることができるようになる。したがって、少ないモーションデータ量で、リアルなキャラクタのモーション再生を実現できるようになる。
【0014】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を格闘技ゲームに適用した場合を例にとり説明するが、本発明が適用されるものはこれに限られるものではない。
【0015】
図1に、本実施形態の画像生成装置の機能ブロック図の一例を示す。
【0016】
ここで操作部10は、プレーヤが、レバーやボタンを操作することで操作データを入力するためのものであり、操作部10にて得られた操作データは処理部100に入力される。
【0017】
処理部100は、上記操作データと所与のプログラムなどに基づいて、オブジェクト空間にオブジェクトを配置する処理や、このオブジェクト空間の所与の視点での画像を生成する処理を行うものである。この処理部100の機能は、CPU(CISC型、RISC型)、DSP、ASIC(ゲートアレイ等)、メモリなどのハードウェアにより実現できる。
【0018】
情報記憶媒体190は、プログラムやデータを記憶するものである。この情報記憶媒体190の機能は、CD−ROM、ゲームカセット、ICカード、MO、FD、DVD、ハードディスク、ROMなどのハードウェアにより実現できる。処理部100は、この情報記憶媒体190からのプログラム、データに基づいて種々の処理を行うことになる。
【0019】
処理部100は、ゲーム演算部110とモーション記憶部120と画像生成部150を含む。
【0020】
ここでゲーム演算部110は、ゲームモードの設定処理、ゲームの進行処理、キャラクタなどの移動体の位置や方向を決める処理、視点位置や視線方向を決める処理、オブジェクト空間へオブジェクトを配置する処理等を行う。
【0021】
モーション記憶部120は種々のモーションデータを記憶するものである。このモーションデータは、初期状態では情報記憶媒体190に格納されており、電源投入後等に情報記憶媒体190からモーション記憶部120に転送される。
【0022】
また画像生成部150は、ゲーム演算部110により設定されたオブジェクト空間での所与の視点での画像を生成する処理を行う。画像生成部150により生成された画像は表示部12において表示される。
【0023】
ゲーム演算部110は移動体演算部112とモーション再生部116を含む。
【0024】
ここで移動体演算部112は、操作部10から入力される操作データや所与のプログラムに基づき、プレーヤが操作するキャラクタ(移動体)や所与の制御プログラム(コンピュータ)により動きが制御されるキャラクタを、オブジェクト空間内で移動させるための演算を行う。より具体的には、キャラクタの位置や方向を例えば1フレーム(1/60秒)毎に求める演算を行う。
【0025】
モーション再生部116は、モーション記憶部120に記憶されるモーションデータに基づいて、キャラクタのモーションを再生する処理を行う。またモーション再生部116は、接地モード時にキャラクタの足を接地位置に固定したり、インバース・キネマティクスによりキャラクタの関節の位置を求めたりする等の処理も行う。
【0026】
さて、本発明者は、これまでのものに比べて、キャラクタの移動の自由度が高く、キャラクタの特殊なモーション制御が可能な画像生成装置の開発を行っている。例えば、この画像生成装置では、キャラクタと相手キャラクタとを含む面内でキャラクタが移動可能な2Dモード(キャラクタを前進、後退、ジャンプさせることが可能)のみならず、ゲームフィールド面上でキャラクタが自由に動き回れるフリー・ランモードが用意される。そして、2Dモードからフリー・ランモードへは、レバー等を用いて所与の操作を行うことで切り替えることができる。またこの画像生成装置では、モーションの再生速度をリアルタイムに変化させたり、複雑なモーション補間を行うなどの特殊なモーション制御を行っている。
【0027】
しかしながら、このような画像生成装置を開発する過程において、本発明者は、キャラクタのモーション再生の際にキャラクタの足が滑ってしまう事態が生じることを見いだした。例えば図2のF1、F2、F3、F4では、ゲームフィールド面18上で前方向に歩くキャラクタ20の右足22が滑っている。
【0028】
即ち、この種の画像生成装置では、プレーヤからの操作データに基づいてキャラクタを前後左右、上下に移動させると共に(正確にはキャラクタの代表点を移動させる)、予め用意されたモーションデータに基づいてキャラクタの手足等を動かしている。したがって、キャラクタが通常に前歩きする場合には、前歩き用に用意されたモーションデータによりキャラクタの足を動かせば、足が滑る事態は生じない。
【0029】
しかしながら、例えばキャラクタが体を徐々に左に回転しながら前歩きする場合(以下、左回転前歩きと呼ぶ)などに、前歩き用に用意されたモーションデータによりキャラクタの足を動かすと、キャラクタの移動と足のモーションとの間に矛盾が生じ、図2のF1〜F4に示すような足が滑る事態が生じてしまう。
【0030】
このような事態を防止する1つの手法として、左回転前歩き用のモーションデータを別に用意する手法も考えられる。しかしながら、この手法によると、キャラクタのあらゆる移動パターンに対応した多くのモーションデータを用意しなければならなくなり、モーション記憶部120が大容量化し、画像生成装置の大規模化、高コスト化を招く。
【0031】
そこで本実施形態では、図1のモーション再生部116が、キャラクタの足がゲームフィールド面に接地している場合には、この足のゲームフィールド面内での移動を制限しながらキャラクタのモーションを再生するようにしている。即ち図2のG1に示すように、キャラクタ20の右足22がゲームフィールド面18に接地すると、G2、G3に示すように右足(右足首)22の移動を制限する。即ち、右足22を接地位置に固定する、或いは右足22が接地位置から動かないように強く拘束する。そして、G4に示すように右足22が浮いた場合には、この移動制限を解除し、今度は、ゲームフィールド面18に接地した左足24の移動を制限する。このような本実施形態の特徴により、足が滑る事態を効果的に防止できる。この結果、キャラクタの移動の自由度の増加や特殊なモーション制御を実現しながら、不自然さのない画像をプレーヤに提供できるようになる。
【0032】
次に、キャラクタが相手キャラクタの方を向くようにする軸合わせの際の足の滑りについて説明する。例えばモーションデータとして、図3(A)に示すようにキャラクタ20が横歩きする場合のモーションデータが用意されていたとする。図3(A)において、矢印30はキャラクタ20の向く方向を表している。
【0033】
一方、図3(B)では、キャラクタ20は横歩きしながら、相手キャラクタ21との軸合わせを行っている。即ち、キャラクタ20は横歩きしながら相手キャラクタ20の方に向くように体を右に回転させている(以下、右回転横歩きと呼ぶ)。ハードウェアが大規模化するため、このような右回転横歩きに専用のモーションデータを用意することはできない。したがって、図3(B)のキャラクタ20のモーション再生は、横歩き用のモーションデータを用いて行うことになる。
【0034】
図4(A)、(B)、図5(A)、(B)、図6(A)、(B)、図7(A)、(B)に、右回転横歩きを行う際に、横歩き用のモーションデータによりキャラクタ20の足を動かした場合の画像の例を示す。
【0035】
ここで図4(A)〜図5(B)は、足滑り防止のための対策を何ら施していない場合の例である。この場合には、右足22とゲームフィールド面18の模様との位置関係に着目すれば明らかなように、ゲームフィールド面18上で右足22が滑ってしまっている。
【0036】
一方、図6(A)〜図7(B)は、本実施形態の足滑り防止手法を施した場合の例である。この場合には、右足22とゲームフィールド面18の模様との位置関係に着目すれば明らかなように、ゲームフィールド面18内での右足22の移動が制限されており(右足22が接地位置に固定されている)、ゲームフィールド面18上で右足22は滑らない。このように本実施形態によれば、軸合わせという複雑なモーション制御を行いながら、プレーヤが不自然さを感じないリアルな画像が生成できるようになる。
【0037】
さて、本実施形態の足滑り防止手法では、より具体的には以下のような処理を行っている。
【0038】
即ち、図2のG1において右足22がゲームフィールド面18に接地しているか否かを、図1のモーション記憶部120に記憶されるモーションデータにより特定される基準モーションにより判断する。そして、基準モーションにおいて右足22がゲームフィールド面18に接地している場合には、右足22のモードが通常モードから接地モードに切り替わる。そして、この接地モードにおいては、図2のG2、G3に示すように、ゲームフィールド面18内での右足22の移動(右足22の上下の移動は制限する必要はない)が制限されるようにキャラクタ20のモーションを変形する。即ち、右足22の移動が制限されたことによる影響を、モーションを変形する(他の関節の位置などを調整する)ことで相殺し、キャラクタ20のスケルトンが矛盾の無い形に保たれるようにする。より具体的には、右足22の移動が制限されるように例えば膝26の位置を調整する。
【0039】
一方、基準モーションにおいて右足22がゲームフィールド面18から浮いている場合には、右足22のモードが接地モードから通常モードに切り替わり、右足22の移動の制限が解除される。そして、接地モードにおいて変形されたキャラクタ20のモーションを基準モーションに近づけるためのモーション補間を行う。
【0040】
ここでモーション補間とは、2以上のモーション(関節の位置などにより規定される)を所与の補間率で補間して、新たなモーションを生成することを言う。例えば図8では、基準モーションRMと変形モーションTMとを補間することで、モーションCMが生成されている。より具体的には図9に示すような処理を行う。即ち、基準モーションに対する補間率をα、変形モーションに対する補間率をβとすると、CM=RM×α+TM×βとなるモーションCMを新たに生成し、再生する。このモーション補間は各フレーム毎に行われる。
【0041】
通常モードにおいてこのようなモーション補間を行うことで、接地モードにおいて変形してしまったモーションを基準モーションに戻すことが可能になる。即ち、図2のG1、G2、G3に示すように右足22が接地している間に変形してしまったモーションを、G4に示すように右足22が浮いている間に基準モーションに戻す。このようにすることで、ゲームフィールド面18内での右足22の移動を制限する処理を行っても、結果的に矛盾のないモーションを再生できるようになる。
【0042】
さて、前述のように本実施形態では、接地モードにおいて右足の移動を制限することによる影響を、モーションを変形することで相殺している。このようなモーション変形を自在に行うために、本実施形態ではインバース・キネマティクスを利用している。
【0043】
即ち図10において、本実施形態では、モーションデータとして右足(足首)22の位置と股の付け根28の位置とポリシーデータとが用意される。ここで、ポリシーデータとは、膝26の位置を一意的に特定するためのデータであり、股40とすね42を含む平面を特定するためのデータを含む。例えば、ゲームフィールド面18内での右足22の移動を制限する場合には、右足22の位置についてはモーションデータを用いずに、右足22の位置を接地位置に固定してしまう。そして、この固定された右足22の位置と股40の付け根28の位置とポリシーデータとに基づいて、インバース・キネマティクスにより膝26の位置を求める。このようにすれば、接地モードにおいて右足22の移動を制限することによる影響を、膝26の位置の調整により相殺できるようになる。
【0044】
次に本実施形態の詳細な処理例について、図11、図12のフローチャートを用いて説明する。
【0045】
まず、基準モーションでの当該フレームにおける足の位置を算出する(ステップS1)。この基準モーションは、図1のモーション記憶部120に記憶されるモーションデータにより特定されるモーションである。
【0046】
次に、処理対象となる足が接地モードにあるか、通常モードにあるかを判断する(ステップS2)。そして、接地モードにある場合には、図2のG2、G3に示すようにその足を接地位置に固定し、図10に示すようにインバース・キネマティクスにより膝の位置を算出する(ステップS3)。
【0047】
次に、基準モーションにおいて足が浮いているか否かを判断する(ステップS4)。この判断は、ステップS1で算出された足の位置に基づいて行う。そして、足が浮いている場合には、接地モードから通常モードに切り替える(ステップS5)。そして、図9で説明した補間率αを0に設定する(ステップS6)。
【0048】
ステップS2で通常モードと判断された場合には、1フレーム前のモーション(変形モーション)と基準モーションとを補間率αに基づきモーション補間して(図8、図9参照)、当該フレームのモーションを求める(ステップS7)。なお、接地モードから通常モードに切り替わった直後では、補間率αはステップS6により0に設定されている。
【0049】
次に、基準モーションにおいて足は接地しているか否かを判断する(ステップS8)。この判断は、ステップS1で算出された足の位置に基づいて行う。そして、足が接地している場合には、通常モードから接地モードに切り替える(ステップS9)。そして、当該フレームでの足の位置を接地位置にする(ステップS10)。前述のステップS3において、足は、このステップS10での接地位置に固定されることになる。
【0050】
ステップS8で足が接地していないと判断された場合には、補間率αが1.0以下か否かを判断し、補間率が1.0になるまで補間率αを0から徐々に増加させる(ステップS11、S12)。このようにすることで、接地モードにおいて変形したモーションを、通常モードにおいて基準モーションに戻すことが可能になる。
【0051】
次に、本実施形態のインバース・キネマティクスについて図12のフローチャートを用いて説明する。
【0052】
まず、ベース(例えば股の付け根)とエフェクタ(例えば足)とを結ぶベクトルVBEを求める(ステップT1)。この場合、ベース及びエフェクタの位置は、図1のモーション記憶部120に記憶されるモーションデータにより特定される。但し、図2のG2、G3に示すように処理対象となる足(足首)を接地位置に固定する場合には、モーションデータによりエフェクタの位置を特定せずに、足の接地位置をエフェクタの位置にする。
【0053】
次に、上記のベクトルVBEの向きをワールド座標系のX軸に向けるためのYロール角θ及びZロール角φに基づいて、変換マトリクスM1を求める(ステップT2)。
【0054】
例えば図13において、ベースの位置を原点Oにした場合のエフェクタの位置がP(PX、PY、PZ)と表せるとする。すると、PをXZ平面に移す回転角であるZロール角φは、
φ=tan-1(PY/PX) (PXが0でない場合)
φ= π/2 (PX=0、PY>0)
φ=−π/2 (PX=0、PY<0) (1)
φ= 0 (PX=PY=0)
と表せる。この回転移動により、Pは、P’((PX2+PY21/2、0、PZ)に移る。また、OP’をX軸の向きに向ける回転角であるYロール角θは、

Figure 0004169222
となる。但し、(PX2+PY21/2=0、PZ=0になることはないこととする。
【0055】
上式(1)、(2)のZロール角φ、Yロール角θに基づき、下式(3)のような変換マトリクスM1を求める。この変換マトリクスM1は、ワールド座標系のX軸をベクトルVBEの向きに向けるマトリクスである。
【数1】
Figure 0004169222
次にモーションデータに含まれるXロール角ψ(ポリシーデータに相当)に基づき下式(4)のような変換マトリクスM2を求める(ステップT3)。この変換マトリクスM2は、X軸周りの回転を表すマトリクスである。
【数2】
Figure 0004169222
以上のようにして求められた変換マトリクスM1、M2に基づいて、下式(5)に示すような変換マトリクスM(=M1×M2)を求める(ステップT4)。
【数3】
Figure 0004169222
次に、図14に示すようなローカル座標系X’Y’Z’での中間点(例えば膝)MP(XM、YM、0)の位置を求める(ステップT5)。ここで、このローカル座標系X’Y’Z’は、ベースBとエフェクタEを結ぶベクトルVBEの向きに設定されるX’軸と、X’Y’平面に中間点MPが位置するように設定されるY’軸と、X’軸及びY’軸に直交するZ’軸とからなる。
【0056】
なお、上式(5)の変換マトリクスMは、この図14のローカル座標系X’Y’Z’の座標をワールド座標系XYZの座標に変換するマトリクスに相当する。即ち、上式(5)の変換マトリクスMの1列目はX’軸の方向を向く単位ベクトルを表し、2列目はY’軸の方向を向く単位ベクトルを表し、3列目はZ’軸の方向を向く単位ベクトルを表す。
【0057】
図14のローカル座標系X’Y’Z’において、ベースBは原点に、エフェクタEはX’軸上に位置する。また中間点MP(XM、YM、0)はX’Y’平面上に位置すると共に、YM≧0となる。またベースBから中間点MPまでの長さL1と、中間点MPからエフェクタEまでの長さL2は、キャラクタの骨格から決まる定数である。またベースBからエフェクタEまでの長さXEは、モーションデータに含まれるベースB及びエフェクタEの位置より計算により求めることができる。なお、L1+L2≦XEの場合には、XEをL1+L2に置き換えることにする。
【0058】
三角形B−MP−Eは、3辺の長さL1、L2、XEが既知であり、且つ2つの頂点の座標(B、Eの座標)が既知であるため、残りの頂点である中間点MPの座標XM、YMは下式(6)のように求めることができる。
XM=(XE2+L12−L22)/(2×XE)
YM=(L12−XM21/2 (6)
最後に、上記のようにして求められたローカル座標系X’Y’Z’での中間点MPの座標(XM、YM、0)を、上式(5)の変換マトリクスMで座標変換することで(変換マトリクスMと(X、YM、0)の積を求める)、ワールド座標系XYZでの中間点の位置を求める(ステップT6)。
【0059】
以上のようにすることで、膝などの中間点の位置をインバース・キネマティクスにより求めることができる。そして、図12のインバース・キネマティクスの最大の特徴は、モーションデータに含ませるポリシーデータ(中間点の位置を一意的に決めるためのデータ)が、Xロール角ψだけでよい点にある。
【0060】
即ち、通常の手法では、モーションデータに含ませるポリシーデータとして、図14のX’Y’平面の法線ベクトルのデータと、中間点がMPなのかMP’なのかを判別するためのデータとが必要になる。したがって、多くのモーションデータが必要になり図1のモーション記憶部120が大容量化し、画像生成装置の大規模化、高コスト化を招く。
【0061】
本実施形態のインバース・キネマティクスによれば、モーションデータに含ませるポリシーデータがXロール角だけでよいため、モーション記憶部120の大容量化を防止でき、画像生成装置の小規模化、低コスト化を図れる。
【0062】
次に、本実施形態を実現できるハードウェアの構成の一例について図15を用いて説明する。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ送受信可能に接続されている。そして前記画像生成IC1010にはディスプレイ1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0063】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてCD−ROM、ゲームカセット、DVD等が用いられる。また業務用ゲーム装置ではROM等のメモリが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0064】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0065】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000は装置全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造(例えばモーションデータの構造)は、このRAM又は情報記憶媒体上に構築されることになる。
【0066】
更に、この種の装置には音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。なおディスプレイ1018として、いわゆるヘッドマウントディスプレイ(HMD)と呼ばれるものを使用することもできる。
【0067】
また、通信装置1024はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【0068】
そして図1〜図10、図13、14で説明した種々の処理は、図11、図12のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0069】
図16(A)に、本実施形態を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104を操作してゲームを楽しむ。装置に内蔵されるIC基板1106には、CPU、画像生成IC、音処理IC等が実装されている。そして、少なくとも2つの足を有するキャラクタをオブジェクト空間内のゲームフィールド面上で移動させる演算を行うための情報、前記キャラクタのモーションを再生するための情報、オブジェクト空間内の所与の視点において見える画像を生成するための情報、キャラクタの足がゲームフィールド面に接地している場合には該足のゲームフィールド面内での移動を制限しながらキャラクタのモーションを再生するための情報等は、IC基板1106上の情報記憶媒体であるメモリ1108に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも1つを含むものである。
【0070】
図16(B)に、本実施形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、1209等に格納されている。
【0071】
図16(C)に、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304-1〜1304-nとを含むゲーム装置に本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、CPU、画像生成IC、音処理ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0072】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0073】
例えば、本実施形態では、足の移動が制限されたことによる影響を、膝の位置を調整することで相殺したが、膝以外の他の関節の位置を調整することで相殺してもよい。
【0074】
また、関節の位置を求めるためのインバース・キネマティクスの手法も本実施形態で説明したものが特に好ましいが、本発明では、これ以外の種々のインバース・キネマティクス手法を採用できる。
【0075】
また本発明のインバース・キネマティクス手法は、図12で説明したものに限定されず、数学的に等価な種々の手法も本発明の範囲に含まれる。
【0076】
また本発明のキャラクタは人間に限定されず、本発明は、ゲームに登場する種々のキャラクタ(ロボット等)に適用できる。また3本以上の足を有するキャラクタにも本発明は適用できる。
【0077】
また本実施形態では本発明を格闘技ゲームに適用した場合について説明したが、本発明はこれに限らず種々のゲーム(ロボット対戦ゲーム、ロールプレイングゲーム、シューティングゲーム、スポーツゲーム、競争ゲーム等)に適用できる。
【0078】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステム基板等の種々の画像生成装置にも適用できる。
【0079】
【図面の簡単な説明】
【図1】本実施形態の画像生成装置の機能ブロック図の一例である。
【図2】足の滑りを防止する本実施形態の手法について説明するための図である。
【図3】図3(A)、(B)は、軸合わせについて説明するための図である。
【図4】図4(A)、(B)は、足滑り防止のための対策を何ら施していない場合に生成される画像の例である。
【図5】図5(A)、(B)も、足滑り防止のための対策を何ら施していない場合に生成される画像の例である。
【図6】図6(A)、(B)は、本実施形態の足滑り防止手法を施した場合に生成される画像の例である。
【図7】図7(A)、(B)も、本実施形態の足滑り防止手法を施した場合に生成される画像の例である。
【図8】モーション補間について説明するための図である。
【図9】モーション補間について説明するための図である。
【図10】インバース・キネマティクスにより膝の位置を算出する手法について説明するための図である。
【図11】本実施形態の詳細な処理例を説明するためのフローチャートである。
【図12】本実施形態の詳細な処理例を説明するためのフローチャートである。
【図13】変換マトリクスの求め方について説明するための図である。
【図14】ローカル座標系での中間点の位置の求め方について説明するための図である。
【図15】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図16】図16(A)、(B)、(C)は、本実施形態が適用される種々の形態の装置の例を示す図である。
【符号の説明】
10 操作部
12 表示部
18 ゲームフィールド面
20 キャラクタ
21 相手キャラクタ
22 右足
24 左足
26 膝
28 股の付け根
40 股
42 すね
100 処理部
110 ゲーム演算部
112 移動体演算部
116 モーション再生部
120 モーション記憶部
150 画像生成部
190 情報記憶媒体[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation apparatus and an information storage medium that generate an image at a given viewpoint in an object space.
[0002]
[Background Art and Problems to be Solved by the Invention]
2. Description of the Related Art Conventionally, image generation apparatuses that arrange a plurality of objects in an object space that is a virtual three-dimensional space and generate an image that can be viewed from a given viewpoint in the object space have been developed and put into practical use. It is popular as a way to experience reality. Taking an example of an image generation device that can enjoy a martial arts game, a player enjoys the game by operating a character and playing against another player or a character operated by a computer.
[0003]
Now, in such a martial arts game, the motion of a character's limbs, etc. is expressed by reproducing a motion prepared in advance. For example, when the player performs an operation to walk the character forward, the motion prepared for the previous walk is played back, and when the operation for jumping the character is performed, the motion prepared for the jump is played back Is done.
[0004]
However, if an attempt is made to express the movement of a character by simply reproducing a motion prepared in advance, the movement of the character may become unnatural different from the real world. In particular, this unnaturalness becomes more prominent when special motion control such as axis alignment for making the character face the opponent character or complicated motion interpolation is performed.
[0005]
In order to reduce the hardware size of the image generation apparatus, it is desirable to reduce the amount of character motion data as much as possible.
[0006]
The present invention has been made in view of the technical problems as described above, and an object of the present invention is to provide an image generating apparatus and information capable of realizing natural movement of a character while performing complicated motion control of the character. It is to provide a storage medium.
[0007]
Another object of the present invention is to provide an image generation apparatus and an information storage medium that can realize realistic movement of a character with a small amount of motion data.
[0008]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention is an image generation apparatus for generating an image at a given viewpoint in an object space, and a character having at least two legs is displayed on a game field surface in the object space. Means for performing an operation to move, motion reproducing means for reproducing the motion of the character, and means for generating an image visible at a given viewpoint in the object space, wherein the motion reproducing means is configured such that the character's foot is a game When touching the field surface, the motion of the character is reproduced while restricting the movement of the foot within the game field surface.
[0009]
According to the present invention, the character moves on the game field surface while moving limbs or the like by motion reproduction. When the character's right foot, for example, touches the game field surface, the motion is reproduced while the movement of the right foot within the game field surface is restricted (the right foot is fixed to the ground position or strongly restrained to the ground position). The Similarly, when the left foot is in contact with the game field surface, the motion is reproduced while the movement of the left foot within the game field surface is restricted. Accordingly, it is possible to effectively prevent a phenomenon in which a contradiction occurs between the character movement and the foot motion and the character's foot slips.
[0010]
The present invention also includes a motion storage means for storing the motion data of the character, wherein the motion playback means is in the case where the character's foot is in contact with the game field surface in the reference motion specified based on the motion data. Transforms the motion of the character so that the movement of the foot in the game field surface is restricted, and if the foot is floating from the game field surface in the reference motion, the motion of the deformed character is It is characterized by performing motion interpolation to approach the reference motion. By doing in this way, it becomes possible to return the motion deformed by restricting the movement of the foot in the game field plane to the original reference motion while the foot is floating.
[0011]
Further, the present invention is characterized in that when the character's foot is in contact with the game field surface, the foot is fixed at the contact position, and the position of the character's joint is obtained by inverse kinematics. In this way, the effect of fixing the foot to the ground contact position can be offset by adjusting the position of the joint of the character.
[0012]
The present invention also provides an image generation apparatus that generates an image at a given viewpoint in an object space, and a motion storage unit that stores motion data of a character having at least first, second, and third joints. , Obtaining a conversion matrix based on the Y roll angle and Z roll angle for directing the direction of the vector connecting the first and third joints to the X axis of the world coordinate system and the X roll angle included in the motion data, , Orthogonal to the X ′ axis set to the direction of the vector connecting the third joint, the Y ′ axis set to position the second joint in the X′Y ′ plane, and the X′Y ′ plane The position of the second joint in the local coordinate system composed of the Z ′ axis to be obtained is determined, and the second joint in the world coordinate system composed of the X axis, the Y axis, and the Z axis is determined based on the position and the conversion matrix. Means for determining the position and the determined second Based on the positions of the joints and the positions of the first and third joints specified by the motion data, motion reproduction means for reproducing the motion of the character and an image that can be seen at a given viewpoint in the object space are generated. Means.
[0013]
According to the present invention, the position of the second joint can be obtained by inverse kinematics only by preparing, for example, the positions of the first and third joints and the X roll angle as the motion data. Accordingly, it is possible to realize realistic motion playback of a character with a small amount of motion data.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. In the following, a case where the present invention is applied to a martial arts game will be described as an example. However, the present invention is not limited to this.
[0015]
FIG. 1 shows an example of a functional block diagram of the image generation apparatus of the present embodiment.
[0016]
Here, the operation unit 10 is for a player to input operation data by operating a lever or a button, and the operation data obtained by the operation unit 10 is input to the processing unit 100.
[0017]
The processing unit 100 performs processing for arranging an object in the object space and processing for generating an image at a given viewpoint in the object space based on the operation data and a given program. The function of the processing unit 100 can be realized by hardware such as a CPU (CISC type, RISC type), DSP, ASIC (gate array, etc.), memory, and the like.
[0018]
The information storage medium 190 stores programs and data. The function of the information storage medium 190 can be realized by hardware such as a CD-ROM, game cassette, IC card, MO, FD, DVD, hard disk, and ROM. The processing unit 100 performs various processes based on the program and data from the information storage medium 190.
[0019]
The processing unit 100 includes a game calculation unit 110, a motion storage unit 120, and an image generation unit 150.
[0020]
Here, the game calculation unit 110 performs a game mode setting process, a game progress process, a process for determining the position and direction of a moving body such as a character, a process for determining a viewpoint position and a line-of-sight direction, and a process for placing an object in the object space. I do.
[0021]
The motion storage unit 120 stores various motion data. This motion data is stored in the information storage medium 190 in the initial state, and is transferred from the information storage medium 190 to the motion storage unit 120 after the power is turned on.
[0022]
The image generation unit 150 performs processing for generating an image at a given viewpoint in the object space set by the game calculation unit 110. The image generated by the image generation unit 150 is displayed on the display unit 12.
[0023]
The game calculation unit 110 includes a moving object calculation unit 112 and a motion playback unit 116.
[0024]
Here, the movement of the moving object calculation unit 112 is controlled by a character (moving object) operated by the player or a given control program (computer) based on operation data input from the operation unit 10 or a given program. An operation for moving the character in the object space is performed. More specifically, a calculation for obtaining the position and direction of the character every frame (1/60 second) is performed.
[0025]
The motion playback unit 116 performs processing for playing back the motion of the character based on the motion data stored in the motion storage unit 120. The motion playback unit 116 also performs processing such as fixing the character's feet to the grounding position in the grounding mode, and determining the position of the character's joint by inverse kinematics.
[0026]
Now, the present inventor has developed an image generation device that has a higher degree of freedom of movement of the character and can perform special motion control of the character than the conventional ones. For example, in this image generating apparatus, not only in 2D mode (character can be moved forward, backward, and jumped) in which the character can move within the plane including the character and the opponent character, the character is free on the game field plane. A free run mode that allows you to move around is prepared. The 2D mode can be switched to the free / run mode by performing a given operation using a lever or the like. In addition, this image generation apparatus performs special motion control such as changing the motion playback speed in real time or performing complex motion interpolation.
[0027]
However, in the process of developing such an image generating apparatus, the present inventor has found that a situation occurs in which the character's foot slips during the motion reproduction of the character. For example, in F1, F2, F3, and F4 in FIG. 2, the right foot 22 of the character 20 walking forward on the game field surface 18 is sliding.
[0028]
That is, in this type of image generating apparatus, the character is moved back and forth, right and left, up and down based on operation data from the player (more precisely, the representative point of the character is moved), and based on motion data prepared in advance. The character's limbs are moved. Therefore, when the character normally walks forward, if the character's feet are moved according to the motion data prepared for the previous walk, there is no situation where the feet slip.
[0029]
However, for example, when the character walks forward while gradually rotating the body to the left (hereinafter referred to as “left-handed rotation before walking”), if the character's feet are moved by the motion data prepared for the previous walk, A contradiction occurs between the movement and the motion of the foot, and a situation where the foot slips as shown in F1 to F4 of FIG. 2 occurs.
[0030]
As a technique for preventing such a situation, a technique of separately preparing motion data for walking before turning counterclockwise is also conceivable. However, according to this method, it is necessary to prepare a lot of motion data corresponding to all the movement patterns of the character, and the motion storage unit 120 has a large capacity, which leads to an increase in scale and cost of the image generation apparatus.
[0031]
Therefore, in this embodiment, when the character's foot is in contact with the game field surface, the motion reproducing unit 116 in FIG. 1 reproduces the character's motion while restricting the movement of the foot within the game field surface. Like to do. That is, as shown by G1 in FIG. 2, when the right foot 22 of the character 20 touches the game field surface 18, the movement of the right foot (right ankle) 22 is restricted as shown by G2 and G3. That is, the right foot 22 is fixed to the grounding position, or is strongly restrained so that the right foot 22 does not move from the grounding position. When the right foot 22 floats as indicated by G4, this movement restriction is released, and this time, the movement of the left foot 24 grounded on the game field surface 18 is restricted. Such a feature of the present embodiment can effectively prevent a situation in which a foot slips. As a result, an image free from unnaturalness can be provided to the player while increasing the degree of freedom of movement of the character and special motion control.
[0032]
Next, a description will be given of the slipping of the foot when the axis is aligned so that the character faces the opponent character. For example, as motion data, it is assumed that motion data is prepared when the character 20 walks sideways as shown in FIG. In FIG. 3A, the arrow 30 represents the direction in which the character 20 faces.
[0033]
On the other hand, in FIG. 3B, the character 20 is aligning with the opponent character 21 while walking sideways. That is, the character 20 rotates the body to the right so as to face the opponent character 20 while walking sideways (hereinafter referred to as right-turning sidewalk). Due to the large scale of hardware, it is not possible to prepare dedicated motion data for such right-handed sidewalks. Therefore, the motion reproduction of the character 20 in FIG. 3B is performed using the sidewalk motion data.
[0034]
4 (A), (B), FIG. 5 (A), (B), FIG. 6 (A), (B), FIG. 7 (A) and FIG. The example of an image at the time of moving the leg | foot of the character 20 by the motion data for sidewalk is shown.
[0035]
Here, FIG. 4 (A) to FIG. 5 (B) are examples when no measures for preventing foot slip are taken. In this case, the right foot 22 has slipped on the game field surface 18 as is apparent from the positional relationship between the right foot 22 and the pattern of the game field surface 18.
[0036]
On the other hand, FIG. 6 (A)-FIG. 7 (B) are examples when the foot-slip prevention method of this embodiment is applied. In this case, as is apparent from the positional relationship between the right foot 22 and the pattern of the game field surface 18, the movement of the right foot 22 within the game field surface 18 is restricted (the right foot 22 is in the ground position). The right foot 22 does not slide on the game field surface 18. As described above, according to the present embodiment, it is possible to generate a realistic image in which the player does not feel unnaturalness while performing complicated motion control such as axis alignment.
[0037]
Now, in the foot slip prevention method of this embodiment, more specifically, the following processing is performed.
[0038]
That is, whether or not the right foot 22 is in contact with the game field surface 18 in G1 of FIG. 2 is determined based on the reference motion specified by the motion data stored in the motion storage unit 120 of FIG. If the right foot 22 is in contact with the game field surface 18 in the reference motion, the mode of the right foot 22 is switched from the normal mode to the ground mode. In this ground contact mode, as shown by G2 and G3 in FIG. 2, the movement of the right foot 22 within the game field surface 18 (the movement of the right foot 22 up and down need not be restricted) is restricted. The motion of the character 20 is deformed. In other words, the effect of the movement of the right foot 22 being restricted is canceled by deforming the motion (adjusting the position of other joints, etc.) so that the skeleton of the character 20 is kept in a consistent form. To do. More specifically, for example, the position of the knee 26 is adjusted so that the movement of the right foot 22 is restricted.
[0039]
On the other hand, when the right foot 22 is floating from the game field surface 18 in the reference motion, the mode of the right foot 22 is switched from the ground mode to the normal mode, and the restriction on the movement of the right foot 22 is released. Then, motion interpolation is performed to bring the motion of the character 20 deformed in the ground mode closer to the reference motion.
[0040]
Here, the motion interpolation means that a new motion is generated by interpolating two or more motions (defined by joint positions and the like) at a given interpolation rate. For example, in FIG. 8, the motion CM is generated by interpolating the reference motion RM and the deformation motion TM. More specifically, processing as shown in FIG. 9 is performed. That is, if the interpolation rate for the reference motion is α and the interpolation rate for the deformation motion is β, a new motion CM of CM = RM × α + TM × β is generated and reproduced. This motion interpolation is performed for each frame.
[0041]
By performing such motion interpolation in the normal mode, it becomes possible to return the motion that has been deformed in the ground mode to the reference motion. That is, the motion that has been deformed while the right foot 22 is grounded as shown by G1, G2, and G3 in FIG. 2 is returned to the reference motion while the right foot 22 is floating as shown by G4. By doing so, even if the process of restricting the movement of the right foot 22 in the game field surface 18 is performed, it becomes possible to reproduce motion with no contradiction as a result.
[0042]
As described above, in the present embodiment, the influence of limiting the movement of the right foot in the ground contact mode is canceled by deforming the motion. In this embodiment, inverse kinematics is used in order to freely perform such motion deformation.
[0043]
That is, in FIG. 10, in this embodiment, the position of the right foot (ankle) 22, the position of the crotch base 28, and policy data are prepared as motion data. Here, the policy data is data for uniquely specifying the position of the knee 26 and includes data for specifying a plane including the crotch 40 and the shin 42. For example, when the movement of the right foot 22 within the game field surface 18 is restricted, the position of the right foot 22 is fixed to the ground contact position without using motion data for the position of the right foot 22. Then, based on the fixed position of the right foot 22, the position of the base 28 of the crotch 40, and the policy data, the position of the knee 26 is obtained by inverse kinematics. In this way, the effect of limiting the movement of the right foot 22 in the ground contact mode can be offset by adjusting the position of the knee 26.
[0044]
Next, a detailed processing example of this embodiment will be described with reference to the flowcharts of FIGS.
[0045]
First, the position of the foot in the frame in the reference motion is calculated (step S1). This reference motion is a motion specified by the motion data stored in the motion storage unit 120 of FIG.
[0046]
Next, it is determined whether the foot to be processed is in the grounding mode or the normal mode (step S2). In the contact mode, the foot is fixed at the contact position as shown in G2 and G3 in FIG. 2, and the knee position is calculated by inverse kinematics as shown in FIG. 10 (step S3). .
[0047]
Next, it is determined whether or not the foot is floating in the reference motion (step S4). This determination is made based on the foot position calculated in step S1. If the foot is floating, the ground mode is switched to the normal mode (step S5). Then, the interpolation rate α described in FIG. 9 is set to 0 (step S6).
[0048]
If it is determined in step S2 that the normal mode is selected, the motion of the previous frame (deformed motion) and the reference motion are interpolated based on the interpolation rate α (see FIGS. 8 and 9), and the motion of the frame is determined. Obtained (step S7). Immediately after switching from the ground mode to the normal mode, the interpolation rate α is set to 0 in step S6.
[0049]
Next, it is determined whether or not the foot is grounded in the reference motion (step S8). This determination is made based on the foot position calculated in step S1. If the foot is in contact with the ground, the normal mode is switched to the ground mode (step S9). Then, the position of the foot on the frame is set to the grounding position (step S10). In the above-described step S3, the foot is fixed to the ground contact position in step S10.
[0050]
If it is determined in step S8 that the foot is not in contact with the ground, it is determined whether the interpolation rate α is 1.0 or less, and the interpolation rate α is gradually increased from 0 until the interpolation rate becomes 1.0. (Steps S11 and S12). By doing in this way, it becomes possible to return the motion deformed in the ground mode to the reference motion in the normal mode.
[0051]
Next, inverse kinematics of the present embodiment will be described with reference to the flowchart of FIG.
[0052]
First, a vector VBE that connects the base (for example, the base of the crotch) and the effector (for example, the foot) is obtained (step T1). In this case, the positions of the base and the effector are specified by the motion data stored in the motion storage unit 120 in FIG. However, when the foot (ankle) to be processed is fixed at the grounding position as indicated by G2 and G3 in FIG. 2, the foot grounding position is determined by the motion data without specifying the position of the effector. To.
[0053]
Next, a conversion matrix M1 is obtained based on the Y roll angle θ and the Z roll angle φ for directing the vector VBE to the X axis of the world coordinate system (step T2).
[0054]
For example, in FIG. 13, it is assumed that the position of the effector when the base position is the origin O can be expressed as P (PX, PY, PZ). Then, the Z roll angle φ, which is the rotation angle that moves P to the XZ plane, is
φ = tan -1 (PY / PX) (When PX is not 0)
φ = π / 2 (PX = 0, PY> 0)
φ = −π / 2 (PX = 0, PY <0) (1)
φ = 0 (PX = PY = 0)
It can be expressed. By this rotational movement, P becomes P ′ ((PX 2 + PY 2 ) 1/2 , 0, PZ). Further, the Y roll angle θ, which is the rotation angle for turning OP ′ in the direction of the X axis, is
Figure 0004169222
It becomes. However, (PX 2 + PY 2 ) 1/2 = 0, PZ = 0.
[0055]
Based on the Z roll angle φ and Y roll angle θ in the above formulas (1) and (2), a conversion matrix M1 as in the following formula (3) is obtained. The conversion matrix M1 is a matrix that directs the X axis of the world coordinate system in the direction of the vector VBE.
[Expression 1]
Figure 0004169222
Next, based on the X roll angle ψ (corresponding to policy data) included in the motion data, a conversion matrix M2 as shown in the following equation (4) is obtained (step T3). The conversion matrix M2 is a matrix that represents rotation around the X axis.
[Expression 2]
Figure 0004169222
Based on the conversion matrices M1 and M2 obtained as described above, a conversion matrix M (= M1 × M2) as shown in the following equation (5) is obtained (step T4).
[Equation 3]
Figure 0004169222
Next, the position of an intermediate point (for example, knee) MP (XM, YM, 0) in the local coordinate system X′Y′Z ′ as shown in FIG. 14 is obtained (step T5). Here, the local coordinate system X′Y′Z ′ is set so that the X ′ axis set in the direction of the vector VBE connecting the base B and the effector E and the midpoint MP is positioned on the X′Y ′ plane. Y ′ axis and the Z ′ axis orthogonal to the X ′ axis and the Y ′ axis.
[0056]
Note that the conversion matrix M of the above equation (5) corresponds to a matrix for converting the coordinates of the local coordinate system X′Y′Z ′ of FIG. 14 into the coordinates of the world coordinate system XYZ. That is, the first column of the transformation matrix M in the above equation (5) represents a unit vector facing the direction of the X ′ axis, the second column represents a unit vector facing the direction of the Y ′ axis, and the third column represents Z ′. Represents a unit vector pointing in the direction of the axis.
[0057]
In the local coordinate system X′Y′Z ′ of FIG. 14, the base B is located at the origin and the effector E is located on the X ′ axis. The intermediate point MP (XM, YM, 0) is located on the X′Y ′ plane and YM ≧ 0. The length L1 from the base B to the midpoint MP and the length L2 from the midpoint MP to the effector E are constants determined from the character skeleton. The length XE from the base B to the effector E can be obtained by calculation from the positions of the base B and the effector E included in the motion data. When L1 + L2 ≦ XE, XE is replaced with L1 + L2.
[0058]
The triangle B-MP-E has three side lengths L1, L2, and XE, and the coordinates of the two vertices (the coordinates of B and E) are known. The coordinates XM and YM can be obtained as in the following formula (6).
XM = (XE 2 + L1 2 -L2 2 ) / (2 × XE)
YM = (L1 2 -XM 2 ) 1/2 (6)
Finally, the coordinates (XM, YM, 0) of the intermediate point MP in the local coordinate system X′Y′Z ′ obtained as described above are subjected to coordinate conversion by the conversion matrix M of the above equation (5). (Determining the product of the conversion matrix M and (X, YM, 0)) to determine the position of the intermediate point in the world coordinate system XYZ (step T6).
[0059]
By doing as described above, the position of an intermediate point such as a knee can be obtained by inverse kinematics. The greatest feature of the inverse kinematics in FIG. 12 is that the policy data (data for uniquely determining the position of the intermediate point) included in the motion data need only be the X roll angle ψ.
[0060]
That is, in the normal method, as the policy data to be included in the motion data, the normal vector data on the X′Y ′ plane in FIG. 14 and the data for determining whether the intermediate point is MP or MP ′ are used. I need it. Therefore, a large amount of motion data is required, and the capacity of the motion storage unit 120 in FIG. 1 increases, leading to an increase in the size and cost of the image generation apparatus.
[0061]
According to the inverse kinematics of the present embodiment, the policy data to be included in the motion data need only be the X roll angle, so that the capacity of the motion storage unit 120 can be prevented from being increased, and the image generation apparatus can be reduced in size and cost. Can be realized.
[0062]
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG. In the apparatus shown in the figure, a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a sound generation IC 1008, an image generation IC 1010, and I / O ports 1012, 1014 are connected to each other via a system bus 1016 so that data can be transmitted and received. A display 1018 is connected to the image generation IC 1010, a speaker 1020 is connected to the sound generation IC 1008, a control device 1022 is connected to the I / O port 1012, and a communication device 1024 is connected to the I / O port 1014. Has been.
[0063]
The information storage medium 1006 mainly stores programs, image data for expressing display objects, sound data, and the like. For example, a consumer game device uses a CD-ROM, game cassette, DVD, or the like as an information storage medium for storing a game program or the like. The arcade game machine uses a memory such as a ROM. In this case, the information storage medium 1006 is a ROM 1002.
[0064]
The control device 1022 corresponds to a game controller, an operation panel, and the like, and is a device for inputting a result of a determination made by the player in accordance with the progress of the game to the device main body.
[0065]
In accordance with a program stored in the information storage medium 1006, a system program stored in the ROM 1002 (such as device initialization information), a signal input by the control device 1022, the CPU 1000 controls the entire device and performs various data processing. . The RAM 1004 is a storage means used as a work area of the CPU 1000 and stores the given contents of the information storage medium 1006 and the ROM 1002 or the calculation result of the CPU 1000. Further, a data structure (for example, a structure of motion data) having a logical configuration for realizing the present embodiment is constructed on this RAM or information storage medium.
[0066]
Further, this type of apparatus is provided with a sound generation IC 1008 and an image generation IC 1010 so that game sounds and game images can be suitably output. The sound generation IC 1008 is an integrated circuit that generates game sounds such as sound effects and background music based on information stored in the information storage medium 1006 and the ROM 1002, and the generated game sounds are output by the speaker 1020. The image generation IC 1010 is an integrated circuit that generates pixel information to be output to the display 1018 based on image information sent from the RAM 1004, the ROM 1002, the information storage medium 1006, and the like. As the display 1018, a so-called head mounted display (HMD) can be used.
[0067]
The communication device 1024 exchanges various types of information used inside the game device with the outside. The communication device 1024 is connected to other game devices to send and receive given information according to the game program, and to connect a communication line. It is used for sending and receiving information such as game programs.
[0068]
Various processes described with reference to FIGS. 1 to 10, 13, and 14 include an information storage medium 1006 that stores a program for performing the processes shown in the flowcharts of FIGS. 11 and 12, and a CPU 1000 that operates according to the program. This is realized by an image generation IC 1010, a sound generation IC 1008, and the like. The processing performed by the image generation IC 1010, the sound generation IC 1008, and the like may be performed by software using the CPU 1000 or a general-purpose DSP.
[0069]
FIG. 16A shows an example in which the present embodiment is applied to an arcade game device. The player enjoys the game by operating the lever 1102 and the button 1104 while viewing the game image displayed on the display 1100. A CPU, an image generation IC, a sound processing IC, and the like are mounted on an IC substrate 1106 built in the apparatus. And information for performing a calculation for moving a character having at least two legs on the game field surface in the object space, information for reproducing the motion of the character, and an image seen at a given viewpoint in the object space. Information for generating the character, information for reproducing the motion of the character while restricting the movement of the foot in the game field surface when the character's foot is in contact with the game field surface, etc. The data is stored in a memory 1108 that is an information storage medium on 1106. Hereinafter, these pieces of information are referred to as stored information. The stored information includes at least one of program code, image information, sound information, display object shape information, table data, list data, player information, and the like for performing the various processes described above.
[0070]
FIG. 16B shows an example in which the present embodiment is applied to a home game device. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in a CD-ROM 1206, IC cards 1208, 1209, etc., which are information storage media detachable from the main unit.
[0071]
FIG. 16C shows an example in which the present embodiment is applied to a game device including a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a communication line 1302. Show. In this case, the stored information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n have a CPU, an image generation IC, and a sound processing IC and can generate game images and game sounds stand-alone, the host device 1300 receives game images and games. A game program or the like for generating sound is delivered to the terminals 1304-1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0072]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0073]
For example, in the present embodiment, the effect of restricting the movement of the foot is canceled by adjusting the position of the knee, but may be canceled by adjusting the position of a joint other than the knee.
[0074]
Further, the inverse kinematics method for obtaining the joint position is particularly preferably the one described in the present embodiment, but in the present invention, various other inverse kinematics methods can be adopted.
[0075]
Further, the inverse kinematics method of the present invention is not limited to that described with reference to FIG. 12, and various mathematically equivalent methods are also included in the scope of the present invention.
[0076]
The character of the present invention is not limited to humans, and the present invention can be applied to various characters (such as robots) appearing in games. The present invention can also be applied to a character having three or more legs.
[0077]
In the present embodiment, the case where the present invention is applied to a martial arts game has been described. However, the present invention is not limited to this and is applied to various games (robot fighting games, role playing games, shooting games, sports games, competitive games, etc.). it can.
[0078]
The present invention is not limited to home and business game devices, but also various image generation devices such as a simulator, a large attraction device in which a large number of players participate, a personal computer, a multimedia terminal, and a system board for generating game images. It can also be applied to.
[0079]
[Brief description of the drawings]
FIG. 1 is an example of a functional block diagram of an image generation apparatus according to an embodiment.
FIG. 2 is a diagram for explaining a technique of the present embodiment for preventing foot slip.
FIGS. 3A and 3B are diagrams for explaining axis alignment. FIGS.
FIGS. 4A and 4B are examples of images generated when no measures are taken to prevent foot slipping.
FIGS. 5A and 5B are also examples of images generated when no measures are taken to prevent foot slipping.
6A and 6B are examples of images generated when the foot-slip prevention method according to the present embodiment is applied. FIG.
FIGS. 7A and 7B are also examples of images generated when the foot-slip prevention method of the present embodiment is performed.
FIG. 8 is a diagram for explaining motion interpolation.
FIG. 9 is a diagram for explaining motion interpolation.
FIG. 10 is a diagram for explaining a method of calculating a knee position by inverse kinematics.
FIG. 11 is a flowchart for explaining a detailed processing example of the present embodiment;
FIG. 12 is a flowchart for explaining a detailed processing example of the present embodiment;
FIG. 13 is a diagram for explaining how to obtain a conversion matrix;
FIG. 14 is a diagram for explaining how to obtain the position of an intermediate point in a local coordinate system.
FIG. 15 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
16A, 16B, and 16C are diagrams illustrating examples of various types of apparatuses to which the present embodiment is applied.
[Explanation of symbols]
10 Operation part
12 Display section
18 Game field
20 characters
21 opponent character
22 Right foot
24 Left foot
26 Knee
28 The base of the crotch
40 crotch
42 Shin
100 processor
110 Game calculation part
112 Mobile object calculation unit
116 Motion playback unit
120 Motion memory
150 Image generator
190 Information storage media

Claims (4)

少なくとも2つの足を有するキャラクタが移動するオブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、
前記オブジェクト空間内での前記キャラクタの基準モーションを特定するためのモーションデータを記憶するモーション記憶手段と、
キャラクタをオブジェクト空間内のゲームフィールド面上で移動させる演算を行う移動演算手段と、
前記モーションデータに基づき前記キャラクタのモーションを再生するモーション再生手段と、
オブジェクト空間内の所与の視点において見える画像を生成する画像生成手段と、を含み、
前記モーション再生手段は、
ゲームフィールド面上で移動する前記キャラクタの前記基準モーションに基づき、ゲームフィールド面上で移動するキャラクタの足の位置を算出し、算出された足の位置がゲームフィールド面に接地している条件でモーション制御を行なう接地モードか、接地していない条件でモーション制御を行なう通常モードかを判断し、
接地モードと判断し場合には、前記キャラクタの足を接地位置に固定した状態で、前記基準モーションを基準にしてキャラクタの関節の位置制御をインバース・キネマティクスにより実行するキャラクタのモーションの変形処理を行い、
その後、接地モードから通常モードに移行したと判断された場合には、前記モーションデータで特定される基準モーションに前記変形されたキャラクタのモーションを近づけるモーション補間処理を行うことを特徴とする画像生成装置。
An image generation device for generating an image at a given viewpoint in an object space in which a character having at least two legs moves,
Motion storage means for storing motion data for specifying a reference motion of the character in the object space;
A movement calculation means for performing a calculation for moving the character on the game field surface in the object space;
Motion reproducing means for reproducing the motion of the character based on the motion data;
Image generating means for generating an image visible at a given viewpoint in the object space,
The motion playback means includes
Based on the reference motion of the character moving on the game field surface, the position of the foot of the character moving on the game field surface is calculated, and the motion is performed under the condition that the calculated foot position is in contact with the game field surface. Determine whether the control is in the ground mode or the normal mode in which the motion control is performed under non-ground conditions.
If it is determined that the contact mode is selected, the character's motion is deformed by performing inverse kinematics control of the joint position of the character based on the reference motion with the character's feet fixed at the contact position. And
After that, when it is determined that the mode has shifted from the ground mode to the normal mode, a motion interpolation process is performed to approximate the motion of the deformed character to the reference motion specified by the motion data. .
請求項1において、
前記モーションデータは、
キャラクタの足、膝、股の付け根に対応付けた第1、第2、第3の関節を少なくとも有するキャラクタの基準モーションを特定し、
前記モーション再生手段による前記インバース・キネマティクスの処理では、
前記第1の関節の位置を固定するとともに、
第1、第3の関節を結ぶベクトルの向きをワールド座標系のX軸に向けるためのYロール角及びZロール角とモーションデータに含まれるXロール角とに基づき変換マトリクスを求め、
第1、第3の関節を結ぶベクトルの向きに設定されるX’軸と、X’Y’平面内に第2の関節が位置するように設定されるY’軸と、X’Y’平面に直交するZ’軸とからなるローカル座標系での第2の関節の位置を求め、
該位置と前記変換マトリクスとに基づきX軸、Y軸、Z軸からなるワールド座標系での第2の関節の位置を求める処理を行なうことを特徴とする画像生成装置。
In claim 1,
The motion data is
Identifying a reference motion of the character having at least first, second, and third joints associated with the character's legs, knees, and crotch roots;
In the inverse kinematics processing by the motion playback means,
Fixing the position of the first joint,
Obtaining a transformation matrix based on the Y roll angle and the Z roll angle for directing the direction of the vector connecting the first and third joints to the X axis of the world coordinate system and the X roll angle included in the motion data;
X ′ axis set in the direction of the vector connecting the first and third joints, Y ′ axis set so that the second joint is located in the X′Y ′ plane, and the X′Y ′ plane Find the position of the second joint in the local coordinate system consisting of the Z ′ axis orthogonal to
An image generating apparatus that performs processing for obtaining a position of a second joint in a world coordinate system including an X axis, a Y axis, and a Z axis based on the position and the conversion matrix.
少なくとも2つの足を有するキャラクタが移動するオブジェクト空間内の所与の視点での画像を生成するための、コンピュータ読み取り可能な情報記憶媒体であって、
前記オブジェクト空間内での前記キャラクタの基準モーションを特定するためのモーションデータを記憶するモーション記憶手段と、
キャラクタをオブジェクト空間内のゲームフィールド面上で移動させる演算を行う移動演算手段と、
前記モーションデータに基づき前記キャラクタのモーションを再生するモーション再生手段と、
オブジェクト空間内の所与の視点において見える画像を生成する画像生成手段として、
コンピュータを機能させるプログラムを記憶し、
前記モーション再生手段は、
ゲームフィールド面上で移動する前記キャラクタの前記基準モーションに基づき、ゲームフィールド面上で移動するキャラクタの足の位置を算出し、算出された足の位置がゲームフィールド面に接地している条件でモーション制御を行なう接地モードか、接地していない条件でモーション制御を行なう通常モードかを判断し、
接地モードと判断し場合には、前記キャラクタの足を接地位置に固定した状態で、前記基準モーションを基準にしてキャラクタの関節の位置制御をインバース・キネマティクスにより実行するキャラクタのモーションの変形処理を行い、
その後、接地モードから通常モードに移行したと判断された場合には、前記モーションデータで特定される基準モーションに前記変形されたキャラクタのモーションを近づけるモーション補間処理を行うことを特徴とする情報記憶媒体。
A computer readable information storage medium for generating an image at a given viewpoint in an object space in which a character having at least two legs moves,
Motion storage means for storing motion data for specifying a reference motion of the character in the object space;
A movement calculation means for performing a calculation for moving the character on the game field surface in the object space;
Motion reproducing means for reproducing the motion of the character based on the motion data;
As an image generation means for generating an image that can be seen at a given viewpoint in the object space,
Memorize the program that makes the computer work,
The motion playback means includes
Based on the reference motion of the character moving on the game field surface, the position of the foot of the character moving on the game field surface is calculated, and the motion is performed under the condition that the calculated foot position is in contact with the game field surface. Determine whether the control is in the ground mode or the normal mode in which the motion control is performed under non-ground conditions.
If it is determined that the contact mode is selected, the character's motion deformation process is performed by using inverse kinematics to control the position of the joints of the character based on the reference motion with the feet of the character fixed at the contact position. And
After that, when it is determined that the mode has shifted from the ground mode to the normal mode, a motion interpolation process is performed to approximate the motion of the deformed character to the reference motion specified by the motion data. .
請求項3において、
前記モーションデータは、
キャラクタの足、膝、股の付け根に対応付けた第1、第2、第3の関節を少なくとも有するキャラクタの基準モーションを特定し、
前記モーション再生手段による前記インバース・キネマティクスの処理では、
前記第1の関節の位置を固定するとともに、
第1、第3の関節を結ぶベクトルの向きをワールド座標系のX軸に向けるためのYロール角及びZロール角とモーションデータに含まれるXロール角とに基づき変換マトリクスを求め、
第1、第3の関節を結ぶベクトルの向きに設定されるX’軸と、X’Y’平面内に第2の関節が位置するように設定されるY’軸と、X’Y’平面に直交するZ’軸とからなるローカル座標系での第2の関節の位置を求め、
該位置と前記変換マトリクスとに基づきX軸、Y軸、Z軸からなるワールド座標系での第2の関節の位置を求める処理を行なうことを特徴とする情報記憶媒体。
In claim 3,
The motion data is
Identifying a reference motion of the character having at least first, second, and third joints associated with the character's legs, knees, and crotch roots;
In the inverse kinematics processing by the motion playback means,
Fixing the position of the first joint,
Obtaining a transformation matrix based on the Y roll angle and Z roll angle for directing the direction of the vector connecting the first and third joints to the X axis of the world coordinate system and the X roll angle included in the motion data;
X ′ axis set in the direction of the vector connecting the first and third joints, Y ′ axis set so that the second joint is located in the X′Y ′ plane, and the X′Y ′ plane Find the position of the second joint in the local coordinate system consisting of the Z ′ axis orthogonal to
An information storage medium that performs processing for obtaining a position of a second joint in a world coordinate system composed of an X axis, a Y axis, and a Z axis based on the position and the conversion matrix.
JP13138898A 1998-04-24 1998-04-24 Image generating apparatus and information storage medium Expired - Fee Related JP4169222B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13138898A JP4169222B2 (en) 1998-04-24 1998-04-24 Image generating apparatus and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13138898A JP4169222B2 (en) 1998-04-24 1998-04-24 Image generating apparatus and information storage medium

Publications (2)

Publication Number Publication Date
JPH11306388A JPH11306388A (en) 1999-11-05
JP4169222B2 true JP4169222B2 (en) 2008-10-22

Family

ID=15056803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13138898A Expired - Fee Related JP4169222B2 (en) 1998-04-24 1998-04-24 Image generating apparatus and information storage medium

Country Status (1)

Country Link
JP (1) JP4169222B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4656622B2 (en) * 2001-08-23 2011-03-23 株式会社バンダイナムコゲームス Image generation system, program, and information storage medium
JP2007058709A (en) * 2005-08-26 2007-03-08 Light Weight:Kk Image processor, image processing method and program
JP4718622B2 (en) * 2009-03-24 2011-07-06 株式会社スクウェア・エニックス GAME DEVICE, GAME PROGRESSING METHOD, GAME PROGRAM, AND RECORDING MEDIUM
US20100302253A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Real time retargeting of skeletal data to game avatar
EP2266673B1 (en) 2009-06-24 2018-12-12 Nintendo Co., Ltd. Computer readable storage medium and information processing apparatus
JP5234809B2 (en) * 2009-06-24 2013-07-10 任天堂株式会社 Information processing program and information processing apparatus
JP5641922B2 (en) * 2010-12-21 2014-12-17 三菱プレシジョン株式会社 Method for correcting the motion of an object in three-dimensional computer graphics, apparatus using such a method, and program for causing a computer to execute such a method
TWI473036B (en) * 2012-06-29 2015-02-11 Reallusion Inc The system and method of automatic adaptation of terrain to virtual terrain
JP6310516B2 (en) * 2016-08-18 2018-04-11 株式会社カプコン Game program and game system
JP6444950B2 (en) * 2016-08-18 2018-12-26 株式会社カプコン Game program and game system
CN107928678B (en) * 2017-12-06 2020-08-28 中北大学 Wearable patella instability testing device and method based on micro-inertia measurement array

Also Published As

Publication number Publication date
JPH11306388A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
JP4704622B2 (en) Image generation system, program, and information storage medium
JP3145059B2 (en) Information storage medium and image generation device
JP3183632B2 (en) Information storage medium and image generation device
US6354944B1 (en) Optimum viewpoint automatically provided video game system
JP4301471B2 (en) Image generation system and information storage medium
JP4169222B2 (en) Image generating apparatus and information storage medium
JP2003044219A (en) Image generation system, its program, and information storage medium
JP2001006000A (en) Image generation system and information storage medium
US7148894B1 (en) Image generation system and program
JP3844396B2 (en) GAME DEVICE AND INFORMATION STORAGE MEDIUM
JP4656622B2 (en) Image generation system, program, and information storage medium
JP4114826B2 (en) Image generating apparatus and information storage medium
JP4497690B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4233065B2 (en) GAME DEVICE AND INFORMATION STORAGE MEDIUM
JP3765623B2 (en) 3D simulator apparatus and information storage medium
JP4212015B2 (en) Image generating apparatus and information storage medium
JP3753348B2 (en) Information storage medium and image generation apparatus
JP4042927B2 (en) Image generating apparatus and information storage medium
JP2001052201A (en) Image generation system and information storage medium
JP4036509B2 (en) Image generating apparatus and information storage medium
JP2001052199A (en) Image generation system and information storage medium
JP2001052200A (en) Image generation system and information storage medium
JP4641602B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4642118B2 (en) Image generation system and information storage medium
US12019793B2 (en) Tracked shoulder position in virtual reality multiuser application

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080702

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

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

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

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

LAPS Cancellation because of no payment of annual fees