JP3872032B2 - Image generation program, image generation apparatus, image generation method, and video game apparatus - Google Patents
Image generation program, image generation apparatus, image generation method, and video game apparatus Download PDFInfo
- Publication number
- JP3872032B2 JP3872032B2 JP2003097126A JP2003097126A JP3872032B2 JP 3872032 B2 JP3872032 B2 JP 3872032B2 JP 2003097126 A JP2003097126 A JP 2003097126A JP 2003097126 A JP2003097126 A JP 2003097126A JP 3872032 B2 JP3872032 B2 JP 3872032B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- definition data
- motion
- virtual space
- 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
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000033001 locomotion Effects 0.000 claims description 130
- 238000013500 data storage Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 230000000873 masking effect Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 49
- 238000004364 calculation method Methods 0.000 description 35
- 239000000872 buffer Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000012937 correction Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000008602 contraction Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、多関節構造体をベースとして例えばこれにポリゴンを貼り付けてなるオブジェクトを描画し、更にモーションデータに応じて動画像として描画するための技術に関する。
【0002】
【従来の技術】
従来、人物等を模擬的に表すオブジェクトをモニタ画面等にグラフィック表示可能に描画するのに、例えば腰の位置を基準(ROOT)とし、この基準(ROOT)から最初の関節(ノード位置)を定義し、この関節から次の関節を定義するというように順次関節を求め、関節同士を連結してスケルトンを生成し、さらに各スケルトンにポリゴンを貼り付けるといった体系を採用し、描画処理時には、基準(ROOT)から順番に下流側に向けて、ノード、ポリゴン等の座標、回転量を演算して描画する手法がある。そして、オブジェクトに動き(アニメーション)を与える場合、その動き毎に予め準備されたモーション定義データに従って順次演算処理して各時点でのオブジェクトを経時的に変化するように描画することで、オブジェクトをゲーム空間上で移動表示していた。
【0003】
ところで、近年のビデオゲームの分野にあっては画像の高精細化の要求があり、それに伴い特にゲーム空間に描画されるオブジェクトに使用するポリゴンデータ量、特にゲーム空間で移動するオブジェクトの動画像を描画するためのモーション定義データ量が著しく増大する傾向にある。特にゲーム装置の場合、その特質上、描画処理を高速周期で繰り返す必要があり、大容量のメモリを搭載した高速処理のハードウエアを搭載すれば、ある程度の要求は満足できるものの、メモリ、演算処理部の資源は有限であり、ハードウェアを有効利用可能なソフトウェア部分の開発にさらなる工夫が求められている。
【0004】
例えば、仮想カメラ視点、即ちプレイヤーの視点位置に対してゲーム空間内で近接/離反するキャラクタ(オブジェクト)の描画を高速処理する一手法として、近距離用、中距離用及び遠距離用として各々別々のオブジェクトを予め準備したものが提案されている。すなわち、オブジェクトを規定するノードの個数を距離に応じて3種類準備しておき、かつそれに合わせてポリゴンデータ(さらにテクスチャデータ)もそれぞれ準備しておき、仮想カメラ視点との距離に応じて切り替えて使用するようにしたものである。仮想カメラ視点との距離が近距離であれば、最も精細なオブジェクトデータを読み出して描画処理を行い、遠距離であれば、最も粗いオブジェクトデータを読み出して描画処理を行うことで、演算負荷を軽減している。
【0005】
【発明が解決しようとする課題】
しかしながら、上記したような基準(ROOT)から順次スケルトンを定義する方法では、近距離用、中距離用及び遠距離用としてスケルトンを準備する態様の場合、オブジェクトに同一の動き、例えば「歩く」動作についてアニメーション(動画表示)を行わせる場合、近距離用、中距離用及び遠距離用の各動き毎にそれぞれ別のモーション定義データを準備する必要があり、特にオブジェクトに細かな動き、種々の動きが要求される現状のゲーム分野では、アニメーションの種類が著しく多くなり、そのデータ量は無視できない。また、同一の動きを行わせるにも拘わらず、近距離用、中距離用及び遠距離用にそれぞれ別のアニメーション演算プログラムデータを持たせる必要もある。
【0006】
また、距離に無関係に、オブジェクトを1種類の(すなわち高精細の)スケルトンで定義し、アニメーション演算を行うタイプでは、特に遠距離でのアニメーション演算に於いて実際に遊技者には認識できないようなポリゴンについても全て演算を実行する等不要な演算を多量に行っていることとなり、演算負荷の軽減上好ましいとは言い難い。
【0007】
一方、例えば上記基準から各関節に対してベクトルを定義し、このベクトルの端点をノードとしてこれらノードからスケルトンを生成する方法がある。この方法によれば上記基準から順次演算するよりも直接的にスケルトンを生成することができ、オブジェクトの描画をより高速に行うことが可能となるが、依然、上記距離に応じたオブジェクトデータ、モーションデータを用意する場合の問題、一つの精細なオブジェクトを距離と無関係に用いる場合の問題を解決することはできない。
【0008】
尚、仮想カメラ視点からのゲーム空間に於ける距離のみならず、例えば大きさが変化するキャラクタ(オブジェクト)を描画する場合も同様な改善が望まれる。また、低速〜高速で左右等に移動するキャラクタ(オブジェクト)を描画する場合、低速でオブジェクトが移動する場合には精細に描画することが望ましいが、高速で移動するオブジェクトはさほど精細でなくとも問題とならないことから、上記同様な工夫が望まれる。
【0009】
本発明は、上記に鑑みてなされたもので、メモリを大量に必要としたり、不要な演算を多量に行う必要がなく、仮想カメラ視点とオブジェクトとの間の距離、オブジェクトの大きさ、オブジェクトの移動速度等のオブジェクト描画条件に応じた描画を行い、オブジェクトの静止画像、動画像を高速描画を可能とする画像生成装置、画像生成プログラム、画像生成方法及びビデオゲーム装置を提供することを目的とするものである。
【0010】
【課題を解決するための手段】
請求項1記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて3次元仮想空間に描画するための画像生成プログラムであって、コンピュータを、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するための モーションデータ記憶手段と、前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成するスケルトン生成手段として機能させるものである。
【0011】
請求項9記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて3次元仮想空間に描画する画像生成装置であって、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段と、前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成することを特徴とする画像生成装置である。
【0012】
請求項10記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて3次元仮想空間に描画する画像生成方法であって、ノード定義データ記憶手段が、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを予め格納し、モーションデータ記憶手段が、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを予めに格納し、ノード定義データ選定手段が、前記オブジェクト描画条件に応じて使用するノードを選定し、スケルトン生成手段が、選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成することを特徴とする画像生成方法である。
【0013】
請求項11記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて3次元仮想空間に描画するビデオゲーム装置であって、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段と、前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成するスケルトン生成手段とを備えたことを特徴とするビデオゲーム装置である。
【0014】
これらの各発明によれば、仮想空間に画像を生成・描画するのに使用され得る全てのノードを定義するためのノード定義データを記憶しておき、例えば仮想カメラ視点に対する距離やオブジェクトの大きさ、オブジェクトの移動速度等のオブジェクト描画条件に応じてオブジェクトの描画に用いるスケルトンを生成するためのノード定義データを選定し、選定されたノード定義データを基にスケルトンを生成し、これに同じくオブジェクト描画条件に応じたポリゴンを貼り付けて例えばモニタ上に描画する。従って、オブジェクト描画条件毎にそれぞれのノード定義データを持つ必要がない分、データ容量が低減化され、演算負荷の軽減が図れる。特に、モーションデータを用いて動画像を生成・描画する場合、オブジェクト描画条件毎にそれぞれモーションデータを持つ必要がなく、一層、データ容量が低減化され、演算負荷の軽減が図れる。
【0015】
ここで、スケルトンは、一般的には関節同士を接続するものであるが、仮想空間の特定位置を基準にしたノード定義データのうち、選定されたノード定義データのみからスケルトンが生成されるので、オブジェクト描画条件に応じて適正なスケルトンが仮想空間上に生成される。
【0016】
例えば、ノード定義データとしては各関節位置をノード番号に割り当てるデータテーブルを用いることができる。
【0017】
さらに、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段としてコンピュータを更に機能させ、前記スケルトン生成手段は、前記選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成することを特徴する。この発明によれば、モーションデータ記憶手段から順次読み出されたモーションデータに従ってスケルトンが仮想空間上に生成され、結果的にオブジェクトが動画像として描画される。
【0018】
モーション定義データとしては、前記仮想空間の特定位置を一端とする標準の位置ベクトル(ノードの位置座標)及び標準の方向ベクトル(角度データ)からなるベクトルデータを用いることが考えられる。
【0019】
ここで、図10を用いて、モーション定義データとしてベクトルデータを含む場合の選定されるベクトルデータと、ノードと、これに貼り付けるポリゴンとの関係を説明する。図10において、(n0)、(n1)、(n2)、(n3)は仮想空間の特定位置Pbを基点としてノード位置を定義するベクトルデータを表し、(N0)、(N1)、(N2)、(N3)はノード番号を表している。図10(a)はベクトルデータ(n0)、(n1)、(n2)、(n3)が全て使用(選定)された場合の図、図10(b)はオブジェクト描画条件に応じたベクトルデータ(n0)、(n1)、(n3)が使用(選定)された場合の図、図10(c)はオブジェクト描画条件に応じたベクトルデータ(n0)、(n3)が使用(選定)された場合の図である。図10(a)では、ベクトルデータ(n0)、(n1)、(n2)、(n3)を夫々使用して(ノード番号(N0)、(N1)、(N2)、(N3)を用いて)スケルトンが生成され、それに対応する、即ちスケルトン生成のオブジェクト描画条件と同じオブジェクト描画条件に応じた形、大きさのポリゴン(P0)、(P1)、(P2)が貼り付けられ、更にテクスチャを貼り付けて画像として描画される。また、図10(b)では、ベクトルデータ(n2)を除いて(ノード番号(N2)を除いて)ノード番号(N1)と、除いたノード番号(N2)以外の、例えばノード番号(N3)との間でスケルトンが生成され、それに対応する形、大きさのポリゴン(P0')、(P1')が貼り付けられ、更にテクスチャが貼り付けられて画像として描画される。また、図10(c)では、ベクトルデータ(n1)、(n2)を除いて(ノード番号(N1)、(N2)を除いて)ノード番号(N0)と、除いたノード番号(N1)、(N2)以外の、例えばノード番号(N3)との間でスケルトンが生成され、それに対応する形、大きさのポリゴン(P0'')が貼り付けられ、更にテクスチャを貼り付けて画像として描画されることとなる。尚、例えば静止画像の場合には上記の通りであり、ベクトルデータの時間変化を表すデータは用いる必要がない。
【0020】
更に、動画像の場合、従来のように基準位置からスケルトンを順番に指定していく手法の場合のように、描画条件毎に定義データ類を準備しておかなくても、1種類分のノード定義データ及び各動作に応じたモーション定義データ(を記憶しておき、オブジェクト描画条件に応じて必要なノードを選定し、選定されたノードとその動作に関するモーション定義データとからモーションデータを生成し、このモーションデータからスケルトンを生成し、オブジェクト描画条件に応じたポリゴンをテクスチャと共に貼り付けて画像として描画される。これにより、データ容量が軽減され、かつ演算負荷の軽減が図れる。
【0021】
すなわち、本発明によれば、一部のノードを不使用としても、残りの(選定された)ノードでスケルトンが容易に生成され、これに応じたポリゴンをテクスチャと共に貼り付けることで画像として描画できる。
【0022】
尚、ノード定義データとしては、全ノードを定義するようなデータであれば良い。また、モーション定義データとしては、例えば或るノードAに対しては特定位置を基準とする直接的な位置ベクトルをもって定義し、そのノードAと関係する複数のノードは、ノードAから各ノードへの方向ベクトル及び標準的なスケルトンの長さのデータを用いても良い。動画像を描画する場合、所定時間分の動きを表す角度データと、スケルトンの長さデータの伸縮の程度を表す係数とを用い、これらから描画する画像のスケルトンを求めることができる。
【0023】
請求項2記載の発明は、請求項1に記載の画像生成プログラムにおいて、前記オブジェクト描画条件は、前記仮想空間に配置された仮想カメラ視点と描画されるオブジェクトとの間の前記仮想空間における距離であることを特徴とする。この発明によれば、描画するオブジェクトの仮想カメラ視点からの距離が近ければ多数のノードを用いることで精細な画像が提供し得る一方、遠ければ、ノードの個数を減らして描画しても不自然さはない。
【0024】
請求項3記載の発明は、請求項2に記載の画像生成プログラムにおいて、前記ノード定義データ選定手段は、仮想カメラ視点と描画されるオブジェクトとの間の距離と、選定すべきノードとをルックアップテーブル形式で対応付けて格納することを特徴とする。この発明によれば、距離情報をルックアップテーブルにて参照することで、出力としてノードの選定結果が得られるので、構成が容易になり、かつ高速処理が可能となる。
【0025】
請求項4記載の発明は、請求項2又は3記載の画像生成プログラムにおいて、前記ノード定義データ選定手段は、仮想カメラ視点と描画されるオブジェクトとの間の距離を複数領域に分け、各領域に応じて使用するノードを選定することを特徴とする。この発明によれば、近い距離領域に含まれるオブジェクトは細かい画像として表示され、遠い距離領域に含まれるオブジェクトは遠距離となってモニタ上での視認が容易でないことから、違和感(不自然さ)のない程度の粗い画像として表示される。
【0026】
請求項5記載の発明は、請求項2乃至4のいずれかに記載の画像生成プログラムにおいて、前記ノード定義データ選定手段は、前記仮想カメラ視点と描画されるオブジェクトとの間の距離に応じて、使用するノードを選定するための情報をマスキング情報として記憶し、前記スケルトン生成手段は、前記マスキング情報を用いてマスキング処理することで、選定されたノードの定義データから前記仮想空間上にスケルトンを生成するようになっていることを特徴とする。この発明によれば、仮想カメラ視点と前記オブジェクトとの間の距離に応じた各ノードの選定状態がマスキング情報として得られるので、このマスキング情報をいわばゲート(乃至はアンド論理処理)的に作用させることで、選定されたノードのみから仮想空間上にスケルトンが生成される。
【0027】
請求項6記載の発明は、請求項1に記載の画像生成プログラムにおいて、前記オブジェクト描画条件は、前記仮想空間に配置された仮想カメラ視点から見た描画されるオブジェクトの画像サイズであることを特徴とする。この発明によれば、仮想空間上での、例えば表示対象となるオブジェクトと仮想カメラ視点との距離とから該対象オブジェクトの表示サイズ、例えば縦、横(あるいは高さ、幅)の少なくとも一方の寸法を、あるいは該対象オブジェクトの描画面積をサイズ算定部で算出し、算出結果の大小によってノード定義データ選定手段がノードの選定処理を実行することとなる。
【0028】
請求項7記載の発明は、請求項1に記載の画像生成プログラムにおいて、前記オブジェクト描画条件は、描画されるオブジェクトの前記仮想空間での移動速度であることを特徴とする。この発明によれば、例えば、モニタ上、仮想カメラ視点の左右に高速でオブジェクトが移動する場合、低速で移動する場合に比較してモニタ上での視認が容易でないことから、違和感(不自然さ)のない程度の粗い画像として表示される。
【0029】
請求項8記載の発明は、請求項1乃至7のいずれかに記載の画像生成プログラムにおいて、前記スケルトン生成手段により生成したスケルトンにポリゴンを貼り付けることによりオブジェクトが描画され、選定されるノードに対応して前記各オブジェクト描画条件毎に異なるポリゴンを記憶するポリゴン記憶手段を有するようになっていることを特徴とすることを特徴とする。この発明によれば、ノード定義データおよび各モーション定義データは1通りで済み、一方、各ポリゴンはオブジェクト描画条件毎に選定されるノードに対応する形で設けられているので、オブジェクト描画条件によっては隣接するノードが選定されない場合でも、それを補うようにポリゴンの数、(1つのノードによって得られる)モデルの形状を設定しておけば、描画された画像上でも不自然さのない画像を描くことが可能となる。
【0030】
【発明の実施の形態】
図1は、本発明が適用されるテレビゲームシステムの一実施形態を示す構成図である。
【0031】
図1に示されるゲームシステムは、ゲーム機本体と、プログラムデータが記録された記録媒体30とからなる。ゲーム機本体は、アドレス、データ及びコントロールバスからなるバス2に接続されたCPU1と、このバス2に接続された、グラフィックスデータ生成プロセッサ3、インターフェース回路4、メインメモリ5、ROM6、伸張回路7、パラレルポート8、シリアルポート9、描画処理プロセッサ10及びバッファ11、音声処理プロセッサ13及びバッファ14、デコーダ17及びバッファ18、インターフェース回路20、及びメモリ21を備えて構成されている。描画処理プロセッサ10にはテレビジョンモニタ12が接続され、音声処理プロセッサ13に増幅回路15を介してスピーカ16が接続され、デコーダ17に記録媒体ドライバ19が接続され、インターフェース回路20にメモリ21及びコントローラ22が接続されている。
【0032】
ここで、上記ゲームシステムは、用途に応じてその形態が異なる。すなわち、上記ゲームシステムが、家庭用として構成されている場合においては、テレビジョンモニタ(以下、モニタという)12及びスピーカ16はゲーム機本体とは別体となる。また、上記ゲームシステムが、業務用として構成されている場合においては、図1に示されている構成要素はすべて一体型となっている1つの筺体に収納される。また、上記ゲームシステムが、パーソナルコンピュータやワークステーションを核として構成されている場合においては、モニタ12は、上記コンピュータ用のディスプレイに対応し、描画処理プロセッサ10、音声処理プロセッサ13、伸張回路7は、それぞれ記録媒体30に記録されているプログラムデータの一部若しくはコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応し、インターフェース回路4、パラレルポート8、シリアルポート9及びインターフェース回路20は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ11、14及び18は、それぞれメインメモリ5若しくは図示しない拡張メモリの各エリアに対応する。本実施の形態では、上記ゲームシステムが、家庭用として構成されている場合を例にして説明する。
【0033】
次に、図1に示した各構成要素について説明する。グラフィックスデータ生成回路3は、CPU1のいわばコプロセッサとしての役割を果たす。すなわち、このグラフィックスデータ生成回路3は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理により行う。このグラフィックスデータ生成回路3の主な処理は、CPU1から供給される画像データの2次元若しくは3次元内における各頂点の座標データ、移動量データ、回転量データ及び仮想カメラ視点データに基づいて処理対象画像の表示エリア上におけるアドレスを求め、当該アドレスデータを、再びCPU1に返す処理や、仮想的に設定された光源からの距離に応じて、画像の輝度を計算する公知の処理等である。
【0034】
上記インターフェース回路4は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用である。上記ROM6はゲームシステムのオペレーティングシステムとしてのプログラムデータが、記憶されている。パーソナルコンピュータで言えば、BIOS(Basic Input Output System)に相当する。
【0035】
伸張回路7は、動画に対するMPEG(Moving Picture Engineering Group)や静止画に対するJPEG(Joint Picture Engineering Group)に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理が施される。伸張処理は、デコード処理(vlc:Variable Length Codeによりエンコードされたデータのデコード)、逆量子化処理、IDCT(Inverse Discrete Cosine Transform)処理、イントラ画像の復元処理等である。
【0036】
描画処理プロセッサ10は、CPU1が発行する描画命令に基づいて、バッファ11に対する描画処理を行う。
【0037】
バッファ11は、表示エリアと非表示エリアとからなり、表示エリアは、モニタ12の表示面上に表示するデータの展開エリアであり、非表示エリア(メモリ)は、メインメモリ5に取り込まれた、以下の各種データに基づいてのデータ展開が行われるエリアである。
【0038】
メインメモリ5は、ノード定義データ(全ノードを定義するデータ)と、ポリゴンを定義するモデルデータと、キャラクタ等を描画するべく各スケルトンに相対的に対応するポリゴンを定義する後述する距離領域毎のモデルデータとを記憶すると共に、キャラクタ等のモデルに動きを行わせるべく各ノード定義データを所定時間(例えばモニタ12のフレーム周期;1/60秒)毎に規定する動き(データ基端の座標データ(位置ベクトル)、スケルトンの延在軸線を中心とする軸回転角、即ちねじれを表す回転角データ(方向ベクトル))データ(モーション定義データ)と、距離領域毎でのノード定義データを選定するための選定データと、選定データに応じて選定されたノードについてのみ仮想空間としての3次元空間にスケルトンの展開生成処理を行わせるためのマスキング処理用のマスキング情報(マスクデータ)とを記憶し、さらに、テクスチャデータと、カラーパレットデータとを記憶する。
【0039】
上記において、時間軸のない静止画の場合のオブジェクトの描画は、ノード定義データを用い、モーション定義データを用いずに生成できる。一方、動画の場合のオブジェクトの描画は、ノード定義データとモーション定義データとからモーションデータ(ノード位置及び角度データ)を生成し、このモーションデータから実際に描画が行われる。動画の場合に、モーション定義データとして持つことで、モーションデータを求める処理が増える一方、各モーションを全てモーションデータとして持つ場合に比して、メモリ容量を、モーションの種類によっては格段に低減できることとなる。なお、モーションデータのまま持つようにした態様であっても構わない。
【0040】
また、テクスチャデータは、2次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。
【0041】
これらのデータは、記録媒体30から一度に、若しくはゲームの進行状況に合わせて複数回に分けて、CPU1により予めメインメモリ5に記録される。
【0042】
描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の2次元画像を描画するための描画命令がある。ここで、ポリゴンは、多角形の2次元画像であり、本実施の形態においては、三角形若しくは四角形が用いられる。
【0043】
ポリゴンを用いて立体的な画像を描画するための描画命令は、バッファ11の表示エリア上におけるポリゴン頂点アドレスデータ、ポリゴンが貼り付けられるテクスチャデータのバッファ11上における記憶位置を示すテクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ11上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データとからなる。
【0044】
これらのデータの内、表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ3が、CPU1からの3次元空間上におけるポリゴン頂点座標データを、対応するスケルトンの3次元空間内でのベクトルデータに基づいて座標変換することによって2次元上でのポリゴン頂点座標データに置換したものである。また、輝度データは、上記グラフィックスデータ生成プロセッサ3が、CPU1からの上記座標変換後のポリゴン頂点座標データが示す位置から、仮想的に配置された光源間での距離に基づいて決定される。
【0045】
上記ポリゴン頂点アドレスデータは、バッファ11の表示エリア上のアドレスを示す。描画処理プロセッサ10は、3若しくは4個のポリゴン頂点アドレスデータで示されるバッファ11の表示エリアの範囲に対応するテクスチャデータを書き込む。
【0046】
コントローラ22の操作により、表示面上でキャラクタ(オブジェクト)を動かす場合、言い換えれば、キャラクタそのものの動きを表現する場合若しくはキャラクタを見ている位置(仮想カメラ視点)を変える場合、次のような処理が行われる。CPU1は、非表示エリア上のノード定義データ内のベクトルデータ(位置データ、回転角データ)を、グラフィックスデータ生成プロセッサ3によって、仮想カメラ視点、3次元空間上で移動量データ及び回転量データに基づき座標変換させ、スケルトンを3次元空間上に展開生成する。各ポリゴンの3次元空間上の座標データは、対応するノードと関連してメインメモリ5に記憶されている。そして、グラフィックスデータ生成プロセッサ3は、CPU1の指令により、それぞれのノードに対応する各ポリゴンの移動後及び回転後の3次元座標データを求める。このようにして求められた各ポリゴンの3次元座標データの内、水平及び垂直方向の座標データが、バッファ11の表示エリア上のアドレスデータ、すなわち、ポリゴン頂点アドレスデータとして、描画処理プロセッサ10に供給される。描画処理プロセッサ10は、3個若しくは4個のポリゴン頂点アドレスデータによって示されるバッファ11の三角形若しくは四角形の表示エリア上に、予め割り当てられているテクスチャアドレスデータが示すテクスチャデータを書き込む。これによって、モニタ12の表示面上には、多数のポリゴンにテクスチャデータの貼り付けられた物体(オブジェクト)が表示される。
【0047】
通常の2次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ11上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データからなる。これらのデータの内、頂点アドレスデータは、グラフィックスデータ生成プロセッサ3がCPU1からの2次元平面上における頂点座標データをCPU1からの移動量データ及び回転量データに基づいて、座標変換して得られる座標データである。以下、描画処理については、「描画命令を発行する」等のように簡略化して記載する。
【0048】
音声処理プロセッサ13は、記録媒体30から読み出されたADPCMデータをバッファ14に記載し、このバッファ14に記憶されたADPCMデータを音源とする。そして、音声処理プロセッサ13は、ADPCMデータを、例えば44.1KHzの周波数のクロックで読み出す。そして、音声処理プロセッサ13は、バッファ14から読み出したADPCMデータに対し、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定、リバーブの付加等の処理を施す。記録媒体30から読み出される音声データがCD−DA(Compact Disk digital Audio)等のPCMデータの場合においては、音声処理プロセッサ13により、ADPCMデータに変換される。また、PCMデータに対するプログラムデータによる処理は、メインメモリ5上において直接行われる。メインメモリ5上において処理されたPCMデータは、音声処理プロセッサ13に供給されてADPCMデータに変換された後に、上述した各種処理が施された後に、音声としてスピーカ16から出力される。
【0049】
記録媒体ドライバ19は、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等である。記録媒体30は、例えばハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等である。記録媒体ドライバ19は、記録媒体30から画像、音声、プログラムデータを読み出し、読み出したデータを、デコーダ17に供給する。デコーダ17は、記録媒体ドライバ19からの再生データに対し、ECC(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理を施したデータを、メインメモリ5若しくは音声処理プロセッサ13に供給する。
【0050】
メモリ21は、例えば、ホルダ及びカード型のメモリからなる。カード型のメモリは、例えば終了時点の状態を保持する等のように、ゲーム各種パラメータを保持するためのものである。
【0051】
コントローラ22は、オブジェクトに所要の動きを行わせる操作指示部で、左トリガーボタン22L、右トリガーボタン22R、スタートボタン22a、上キーU、下キーD、左キーL、右キーRからなる十字キー22bと、キャンセルボタン22c、セレクトボタン22d、ボタンユニット22e、アナログスティック22f、図示はしていないがコントローラの裏面には、決定ボタンがさらに設けられている。
【0052】
十字キー22b及びアナログスティック22fは、遊技者がCPU1に対してオブジェクトを画面上で上下左右に動かし、乃至はオブジェクトの一部に動きを行わせるコマンドを与える操作指示部材である。上下の動きとは例えばジャンプ(JUMP)をいい、左右の動きとは例えば歩行動作とか、走行動作をいう。左右における各態様は、例えば、同時に左トリガーボタン22Lや右トリガーボタン22R等の方向指示部材を操作する等すれば、夫々を区別可能に指示することができる。スタートボタン22aは、ゲームプレーヤが、記録媒体30からロードされるゲームプログラムの開始をCPU1に指示するためのものである。また、決定した事項をキャンセルしてその前の段階に戻すキャンセルボタン22c、記録媒体30からメインメモリ5にロードされるゲームプログラムデータに関する各種選定をCPU1に指示するセレクトボタン22d、ゲーム空間内での視点の切り替えをCPU1に指示するボタンユニット22eが設けられている。なお、左トリガーボタン22L、右トリガーボタン22R、裏面の決定ボタンの機能は、記録媒体30からロードされるゲームプログラムによって異なるが、例えば格闘ゲーム等では、攻撃の各種技に対応させている。
【0053】
次に当該ゲームシステムの動作につき説明する。電源スイッチ(図示せず)がオンにされると、ゲームシステムに電源が投入される。この時、記録媒体30が、記録媒体ドライバ19に装填されていると、CPU1が、ROM6に記憶されているオペレーティングシステムに基づいて、記録媒体ドライバ19に対し、記録媒体30からのプログラムデータの読み出しを指示する。これにより、記録媒体ドライバ19は、記録媒体30から画像、音声及びプログラムデータを読み出す。読み出された画像、音声及びプログラムデータは、デコーダ17に供給され、ここで、エラー訂正処理が施される。デコーダ17においてエラー訂正処理の施された画像データは、バス2を介して伸張回路7に供給され、ここで、上述した伸張処理が施された後に、描画処理プロセッサ10に供給され、この描画処理プロセッサ10により、バッファ11の非表示エリアに書き込まれる。なお、デコーダ17においてエラー訂正処理の施された音声データは、メインメモリ5若しくは音声処理プロセッサ13に供給され、メインメモリ5若しくはバッファ14に書き込まれる。
【0054】
また、デコーダ17においてエラー訂正処理の施されたプログラムデータは、メインメモリ5に供給され、このメインメモリ5に書き込まれる。以降、CPU1は、メインメモリ5に記憶されているゲームプログラムデータに基づき実行されるプログラム、並びにゲームプレーヤが、コントローラ22を介して指示する内容に基づいて、ゲームを進行する。即ち、CPU1は、コントローラ22を介してゲームプレーヤから指示される指示内容に基づいて、適宜、画像処理の制御、音声処理の制御、内部処理の制御を行う。画像処理の制御とは、本実施の形態においては、キャラクタに指示される一連の動きに該当するモーションデータや仮想カメラ視点データ等から、グラフィックスデータ生成プロセッサ3での各スケルトンの座標等の計算乃至ポリゴンの頂点座標データの計算の指令、得られた3次元座標データからバッファ11の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等である。音声処理の制御とは、音声処理プロセッサ13に対する音声出力コマンドの発行、レベル、リバーブ等の指定である。内部処理の制御とは、例えばコントローラ22の操作に応じた演算等である。
【0055】
図2は、図1に示したCPU1の有する機能実行部を示す説明図である。CPU1は、図1に示した記録媒体30から読み出され、メインメモリ5に記憶されたプログラムデータを読むことにより、図2に示す機能を持つ。この図2に示されているCPU1の機能は、コントローラ22のいずれのボタンが操作されたかを検出するボタン操作検出部101、3次元ゲーム空間内での仮想カメラ視点を予め準備された所定のルール等に基づいて設定する仮想カメラ視点位置データ設定部102、テレビジョンモニタ12への表示範囲を決める表示範囲情報抽出部103、仮想カメラ視点と前記オブジェクトとの間の距離に応じて使用するノード定義データを選定するノード定義データ選定手段としてのノード定義データ選定部104、ノード定義データを用いてベクトル演算を実行するスケルトン生成演算指令部105の他、ポリゴン演算指令部106、描画命令発行部107、輝度処理部108とを有して構成される。
【0056】
この実施態様においては、以下に説明するように、テレビジョンモニタ12へのキャラクタの表示をノードに対する回転量の制御で行うようにしたものである。
【0057】
図3は、人体を模擬したオブジェクトを規定するノードの連結関係を示す一実施形態を示す図、図4は、図3の各ノードを定義するノード定義データのテーブルの一例を示すものである。
【0058】
図3中、長線はスケルトンを示し、点は関節(スケルトンの基点となる「ノード」)を示す。図3、図4に示すように、ノード番号(N0)がHipsを示し、左足側が、l-hip(N1)、l-hip-roll(N2)、l-knee(N3)、l-knee-roll(N4)、l-ankle(N5)、l-foot(N6)、l-toe(N7)、続いて左足側が、r-hip(N8)、r-hip-roll(N9)、r-knee(N10)、r-knee-roll(N11)、r-ankle(N12)、r-foot(N13)、r-toe(N14)とあり、さらに、上半身側が、spine0(N15)、spine1(N16)、…続いて左腕、さらに右腕の最終のノードまで順次定義される。各ノードには、例えばその親ノード番号と長さ等のデータが含まれる。
【0059】
図5は、ノード定義データ選定部のマスキング情報として記憶されたマスクデータの一例を示す図である。マスクデータAは、仮想カメラ視点と描画するオブジェクトとの間の距離が所定値以下の近距離領域である場合に採用されるもので、mask値のn桁分の“0”、“1”は、その1番目から順番にノード番号に対応している。例えば最初の“1”はノード(N0)を使用することを示す。
【0060】
マスクデータBは、仮想カメラ視点と当該オブジェクトとの間の距離が所定値を超えてある中間距離までの中距離領域である場合に採用されるもので、例えばmask値の3桁目や5桁目の“0”はノード(N2)、(N4)を不使用とすることを示す。
【0061】
マスクデータCは、仮想カメラ視点と当該オブジェクトとの間の距離が中間距離を超えた遠距離領域である場合に採用されるものである。mask値内の“0”がマスクデータA,B,Cの順で増加しているのは、オブジェクトが仮想カメラから遠ざかるに応じて、ある程度のノード定義データ、すなわちこれにより生成されるスケルトンに対応するポリゴンを省略(不使用と)しても、遊技者には粗い画像として認識されることがなくなるからである。スケルトン生成演算指令部105はこのオブジェクトを描画するに際して、ノード番号に従ったノード定義データがマスクデータ上でmask値“0”であれば、処理を省略(スキップ)するゲート処理を施して、次のmask値“1”のノードに対する処理に移行する。なお、Mはモーションデータである。処理手順にもよるが、実際にはモーションデータではなく、モーション定義データの段階でマスクをかければ、不使用のノードの展開処理を省略することができる。
【0062】
図6は、近距離(A)、中距離(B)、遠距離(C)毎に準備されたポリゴンの頂点座標データの一例である。図6に示すように、各ポリゴンはノードに付随して規定されている。
【0063】
近距離(A)では、全ノード定義データを用い、すなわち全ての関節であるノード(N0)〜(Nn)の各々に対して、付随するモデルを構成するための所定数のポリゴンの頂点座標データが規定されている。ノード(N0)にはポリゴンP01、P02、…が、ノード(N1)にはポリゴンP21、P22、…が、ノード(N2)にはポリゴンP21、P22、…が、ノード(N3)にはポリゴンP31、P32、…が、ノード(N7)にはポリゴンP71、P72が、そして、ノード(Nn)にはポリゴンPn1、Pn2、…が対応している。
【0064】
中距離(B)では、全関節、すなわちノード(N0)〜(Nn)のうち、図5の(B)でmask値“1”に対応したノードに対してのみ、付随するモデルを構成するためのポリゴンの頂点座標データが規定されている。ノード(N0)にはポリゴンP01'、P02'、…が、ノード(N1)にはポリゴンP11'、P12'、…が、ノード(N2)はなく、ノード(N3)にはポリゴンP31'、P32'、…が、そして、ノード(Nn)にはポリゴンPn1'、Pn2'、…が対応している。
【0065】
遠距離(C)では、全関節、すなわちノード(N0)〜(Nn)のうち、図5の(C)でmask値“1”に対応したノードに対してのみ、付随するモデルを構成するためのポリゴンの頂点座標データが規定されている。ノード(N0)にはポリゴンP01''、P02''、…が、ノード(N1)、(N2)はなく、ノード(N3)にはポリゴンP31''、P32''、…が、ノード(N4)〜(N6)はなく、ノード(N7)にはポリゴンP71''、P72''、…が、そして、ノード(Nn)にはポリゴンPn1''、Pn2''、…が対応している。
【0066】
なお、遠距離になる程、1つのノードに対応するポリゴン数も少なくて済むから、同じノードであっても、近距離(A)、中距離(B)、遠距離(C)の順で、少しずつポリゴン数が少なくなっているものもある。また、中距離(B)や遠距離(C)では、全てのノード定義データを使用していないことから、使用するノードについて、近距離(A)の場合と同じポリゴンをそのまま用いただけでは描画画像の連続性が不自然となる可能性もある。そこで、抜けたノードに対して少なくとも隣接する一方側のノードに対応するポリゴンとして、この抜けたノードに付随していたポリゴンで描画されていた部分を必要に応じてカバーするようなポリゴンを中距離(B)、遠距離(C)にて規定しておくようにすれば、違和感のない自然な画像として描画することが可能となる。このように、オブジェクト描画条件、例えば近距離(A)、中距離(B)、遠距離(C)に応じてポリゴンを対応設定しておくことで、より適切な画像の描画が可能となる。
【0067】
図7は、オブジェクトに対するモーション定義データの一例を示す図である。図6に示すように、あるオブジェクトに対する動きを定義するものとして複数種類のデータMD1、MD2,…MDmがノード番号に対応付けられて格納されている。動きとしては、例えばジャンプ、歩行、走行、伏せる、泳ぐその他、種々である。また、同じ歩行でも、歩行(タイプ1)、歩行(タイプ2)のようにより細かな歩き方を表現するようにしてもよい。モーション定義データMD1は、ノード番号順に所定時間、ゲームの場合フレーム時間(1/60秒)毎にτ1、τ2、…τn1として定義されている。モーション定義データMD2は、同様にτ1、τ2、…τn2(s1、s2は各モーションのフレーム数)として定義されている。各モーション定義データは、方向ベクトルの変化を表すデータ(rxτi、ryτi、rzτi)(iはフレーム数s中の任意のフレーム番号)である。なお、1つのモーションの所要時間は、モーションの種類毎に設定されており、上記のように、モーション定義データMD1はτs1までであり、モーション定義データMD2はτs2までである。
【0068】
図8は、オブジェクトに対するモーションデータの一例を示す図である。モーションデータM1、M2,…Mmはノード定義データとモーション定義データMD1、MD2,…MDmとから、すなわちモーション定義データMD1、MD2,…MDmの各ノード番号を元にノード定義データを展開させることによって求められるものである。各モーションデータMは、座標データ(txτi、tyτi、tzτi)及びスケルトンの延在方向を表すための回転角データ(r00τi、r01τi、r02τi、r10τi、r11τi、r12τi 、r20τi、r21τi、r22τi)である。このように、モーション定義データMDを利用してモーションデータMを求める方式を採用することで、各モーション毎のモーションデータを持たせておく必要がなくなり、メモリ容量の低減上、好ましい態様となる。
【0069】
なお、ノード定義データとしてスケルトンの標準の長さを表すデータが含まれる態様としても良く、その場合、モーションデータとして回転角データと、スケルトンの長さデータの伸縮の程度を表す係数とを採用すると良く、これによれば、ベクトルデータを用いる場合に比較して演算自体はやや多くなるものの、より少ないデータ量で上記同様のアニメ(動画)表示が可能となる。
【0070】
図9は、CPUが処理するオブジェクトのアニメ表示処理のルーチンを示すフローチャートである。
【0071】
コントローラ22で、あるいはゲームプログラムに従ってオブジェクトにモーションMk(図7に示すモーションMk(k=1,2,…mのいずれか))の指定が発行されると(ステップST1)、次いで、現在の仮想カメラ視点と当該オブジェクトの特定位置Pbとのゲーム空間内での距離が算出され、距離が遠、中、近のいずれであるかが判別され(ステップST3)、近距離であれば、図5に示すマスクデータAが指定され(ステップST5)、中距離であればマスクデータBが指定され(ステップST7)、遠距離であればマスクデータCが指定される(ステップST9)。
【0072】
次いで、指定されたモーションMkのモーション定義データ(時間τ1)が読み出され、このデータを展開することによりモーションデータが求められ、指定されたマスクデータを介してスケルトン生成演算指令部105に導かれ、即ち使用するノードが選定され、スケルトン生成演算の指令が行われ(ステップST11)、グラフィックスデータプロセッサ3によってスケルトン生成演算処理が行われる。
【0073】
この処理の終了乃至は処理中に、ステップST3での距離判別結果に対応して、図6に示す近距離用(A)、中距離用(B)、遠距離用(C)の内の1つのポリゴンデータの指定が行われる(ステップST13)。次いで、スケルトン生成演算の結果と、指定された距離用のポリゴンデータとを用いて、ポリゴン演算の指令が発行される(ステップST15)。このポリゴン演算処理はグラフィックスデータプロセッサ3によって行われる。そして、演算が終了すると、その結果をバッファ11に一時的に記憶するべく送出し(ステップST17)、モーションMkに残りの時間τのモーションデータが有るか否かが判断され(ステップST19)、残りが有れば、所定時間経過した後(ステップST21)、ステップST11に戻って、次の所定時間τの(例えば直前がτ1であれば、次にτ2)のモーションデータの読み出しが指令される。一方、アニメーションを表現するための全ての時間のデータ読み出しが終了していれば、本フローを終了する。なお、上記したようにモーションデータを求める前にモーション定義データの段階でマスクをかければ、不使用のノードの展開処理を省略することができる。
【0074】
本発明は、以下の態様を採用することも可能である。
(1)ノード定義データ選定部104は、ソフトウエアで実行してもよいが、仮想カメラ視点と特定位置Pbとの距離判定を行い、その結果である遠、中、近にアドレスを対応付けておいて、それらのアドレスに、図5に示すMask値の情報を加味(ゲート乃至はアンド論理処理)させることで、各ノードに対する使用、不使用を設定するマスキング処理を行わせてもよい。
(2)本実施形態では、ノード定義データの選定条件として仮想カメラ視点と注目オブジェクトとの距離、即ち遠近を採用したが、本発明は、これに限定されず、仮想カメラ視点から見て描画されたとしたときの画像のサイズすなわち、注目オブジェクトの縦、横(高さ、幅)寸法の少なくとも一方、乃至は注目オブジェクトの描画面積の大小を判定する手段を備え、この判定結果から採用するべきノードを選定するようにしたものであってもよい。
【0075】
この場合、予め基準の乃至は標準のノードのデータ及びそれに付随するポリゴンデータを用いてグラフィックスデータ生成プロセッサ3により各モデルの各ポリゴンのバッファ11の表示エリア上のアドレスデータを求め、このデータからCPU1の機能として採用する描画寸法算定部乃至は描画面積算定部等を利用して寸法あるいは面積を求める。この算出値は、仮想カメラ視点に対するオブジェクト描画条件、例えば描画横(あるいは幅)寸法の画像全体の横方向寸法に対する比率であり、この比率が高い程より多くのノード定義データが選定されるようにすればよい。面積の場合も同様にノード定義データが選定されるようにすればよい。
(3)ノード定義データの選定条件、即ちオブジェクト描画条件としてオブジェクトの移動速度を採用しても良い。例えば、オブジェクトの移動速度を移動速度検出手段で検出し、停止しているオブジェクトを描画する場合、最も精細になるように、即ち最も多くのノード定義データが選定されるようにし、オブジェクトの移動速度が高速になるほど粗く描画するように、即ち選定されるノード定義データが少なくなるようにしても良い。
【0076】
このように、本発明は、注目オブジェクトの仮想カメラ視点との距離、描画サイズ(比率)、移動速度等の仮想カメラ視点に対するオブジェクト描画条件でノード定義データの選定処理を行わせる態様が採用可能である。
(4)本実施形態では、近距離用としてノード定義データを全て持ち、そこから中距離、遠距離を順次、いわば間引く形式でノード定義データを選定するようにしたが、これに限定されず、以下の態様も採用可能である。例えば採用される全オブジェクト描画条件に応じて採用される全ノード定義データを、基本のノード定義データとして予め準備しておき、それぞれの距離乃至は描画面積サイズ等のオブジェクト描画条件毎に、相応しい所要の乃至は異なるノード定義データの選定がなされるように予め選定方法を設定しておくという、間引き形式とは異なる選定態様としてもよい。これにより、それぞれのオブジェクト描画条件に適した最良のオブジェクトの描画が可能となる。また、オブジェクト描画条件と選定されるノード定義データとは固定化された対応関係に設定されている必要はなく、オブジェクト描画条件の入力を受けてノード定義データ選定部により所定の選定演算を実行するなどの柔軟性、変化性を付与して、必要なノード定義データの選定を行うようにしてもよい。更に、いずれの選定を行う場合でもオブジェクト描画条件に加えて、ゲームシーン(場面)、ゲーム時間、プレイヤの操作状況等の情報を利用することも可能である。例えば、マスクを利用する形態では、これらの情報に応じて予め用意した、または演算して得られたマスクを用いることが考えられる。このような構成にすることで、各場面に応じた演算負荷で適正な精度の描画を行うことができる。
(5)本発明は、オブジェクトとして人間を模したキャラクタの例で示したが、本発明はこれに限定されず、動きのある種々のオブジェクトに適用可能であり、特にゲーム空間上を移動するキャラクタに適用して好適である。
(6)本実施形態では、図6に示すように、近距離(A)、中距離(B)、遠距離(C)毎に準備されたポリゴンの頂点座標データを持たせたが、オブジェクトによっては、1通りのポリゴンで描画する態様としてもよい。ノードの選定条件に対応させてポリゴンを定義する場合には、より好適な不自然さの少ない画像を提供できるという利点がある。また、必ずしもノード定義データの選定条件と対応させる必要はなく、例えばノード定義データの選定条件分と後者の2区分についてポリゴンのデータを持たせるようにしてもよい。
(7)本実施形態では、間引き形式において、ノード定義データ選定部104としてマスクを採用した例で示したが、図11、図12に示すようなカウンタ方式を採用することも可能である。
【0077】
図11は、動作原理及び動作に必要なデータテーブルを示すもので、(a)はオブジェクト描画条件とノード定義データの順番を示すノード番号とからなるマスクテーブルの一例を示す表、(b)は(a)の例に対して、採用するノード定義データの個数を示す個数テーブル、(c)は(a)の例に対して、近〜遠の順で採用されるノード定義データの多い順にカウンタ値を付したノード番号対応テーブルを示す。より詳細に説明すれば、図11(a)は、採用可能なノード定義データがノード番号0からノード番号8までの合計9個ある例(実際には多数あるが、ここでは説明の便宜上、9個で説明する。)であって、近距離では、全てのノード定義データ、つまり9個が採用され、中距離ではノード番号0,1,3,4,7,8の6個が採用され、遠距離ではノード番号0,4,8の3個が採用される例である。そこで、(b)のような個数テーブル1041が作成できる。
【0078】
次に、図11(c)に示すように、近〜遠の順で採用されるノード定義データの多い順のノード番号を取り出す。ここでは、ノード番号0が近、中、遠距離の全ての(オブジェクト描画)条件で採用されるから、このノード番号0がテーブルのカウント値1に対応して記憶される。同様に、ノード番号4,8が全ての条件で採用されるから、この順にカウント値2,3に対応して記憶される。次に、近、中距離の条件で採用されるノード番号は、小さい順からノード番号1,3,7であるから、これらがカウント値4,5,6に対応して記憶される。最後に、遠距離の条件で採用されるノード番号は、小さい順からノード番号2,5,6であるから、これらがカウント値7,8,9に対応して記憶される。この結果、(c)に示すノード番号対応テーブルが作成される。
【0079】
図12は、カウンタ方式によるノード定義データ選定部の構成図の一例を示す。オブジェクト描画条件が決定されると、決定されたオブジェクト描画条件が個数テーブル1041に入力され、条件に対応した値がカウンタ1042に出力される。カウンタ1042は出力された値をセットしてカウント動作を開始し、セット値に達するまでノード番号対応テーブル1043の対応するカウント値に対応して記憶されたノード番号対応データを順次読み出す読出用として機能する。並び替え部1044はノード番号対応テーブル1043から出力されたノード番号を昇順に並び替えて順番にスケルトン演算指令部105(図2参照)に出力する。
【0080】
一例を示して動作を説明する。今、中距離がオブジェクト描画条件として決定されたとすると、個数テーブル1041から値6が出力される。この値6がカウンタ1042にセットされると、カウンタ1042は値1から6までのカウント動作を行う。このカウント動作によって、ノード番号対応テーブル1043からカウント値1,2,3,4,5,6に対応するノード番号0,4,8,1,3,7が並び替え部1044に出力される。並び替え部1044はノード番号0,4,8,1,3,7を昇順に、すなわち0,1,3,4,7,8と並び替えて、スケルトン演算指令部105に出力する。
(8)本実施形態では、予め準備されたモーションによる描画を例にして説明したが、本発明はこれに限定されず、操作部によって、あるいはゲームプログラムによってオブジェクトに動きを行わせる場合にも同様に適用可能である。
【0081】
【発明の効果】
請求項1、9、10、11記載の発明によれば、全ノードを定義するデータを記憶しておき、オブジェクト描画条件に応じて必要なノードを選定し、これを使用して描画すれば良く、これによって使用するノードに関する処理のみを行えばよいことから、処理負荷および記憶データ容量を軽減でき、かつ演算負荷の軽減を図ることができる。しかも、従来のようなノードを順番に指定していく手法の場合に必要な、アニメーション毎のオブジェクトに関するモーションデータを準備しておかなくても、1種類分のモーション定義データを記憶しておくだけで済み、データ容量を軽減できる。
【0082】
請求項2記載の発明によれば、描画するオブジェクトの仮想カメラ視点からの距離が近ければ多数のノードを用いることで精細な画像が提供でき、遠ければノードの個数を減らして描画しても不自然さのない画像を提供できる。
【0083】
請求項3記載の発明によれば、距離情報をルックアップテーブルにて参照することで、出力としてノード定義データの選定結果が得られるので、構成容易かつ高速処理が実現できる。
【0084】
請求項4記載の発明によれば、遠い距離領域に含まれるオブジェクトは遠距離となってモニタ上での視認が容易でないことから、違和感(不自然さ)のない程度の粗い画像として表示できる。
【0085】
請求項5記載の発明によれば、仮想カメラ視点と前記オブジェクトとの間の距離に応じた各ノードの選定状態がマスキング情報として得られるので、このマスキング情報をいわばゲート(乃至はアンド論理処理)的に作用させることで、選定されたノードからのスケルトンのみを仮想空間上に生成することができる。
【0086】
請求項6記載の発明によれば、対象のオブジェクトと、該オブジェクトと仮想カメラ視点との距離とからオブジェクトの表示サイズ、すなわち縦、横(あるいは高さ、幅)の少なくとも1方の描画寸法を算出し、あるいはオブジェクトの描画面積を算出することで、この算出結果の大小によってノード定義データ選定手段でノード定義データの選定処理を実行できる
請求項7記載の発明によれば、モニタ上、例えば仮想カメラ視点の左右に高速でオブジェクトが移動する場合、低速で移動する場合に比較してモニタ上での視認が容易でないことから、違和感(不自然さ)のない程度の粗い画像として表示可能となる。
【0087】
請求項8記載の発明によれば、各ノード定義データが1通りで済み、一方、各ポリゴンをオブジェクト描画条件毎に選定されるノードに対応する形で設けたので、オブジェクト描画条件によっては隣接するノードが選定されない場合でも、それを補うようにポリゴンの数、(1つのノードによって得られる)モデルの形状を設定しておけば、描画された画像上でも不自然さのない画像を描くことが可能となる。
【図面の簡単な説明】
【図1】 本発明が適用されるテレビゲームシステムの一実施形態を示す構成図である。
【図2】 図1に示したCPUの有する機能実行部を示す説明図である。
【図3】 人体を模擬したオブジェクトを規定するノードの連結関係を示す一実施形態を示す図である。
【図4】 図3のノードを定義するノード定義データの一例を示すものである。
【図5】 ノード定義データ選定手段として機能するマスクデータの一例を示す図である。
【図6】 近距離(A)、中距離(B)、遠距離(C)毎に準備されたポリゴンの頂点座標データの一例である。
【図7】 オブジェクトに対するモーション定義データの一例を示す図である。
【図8】 オブジェクトに対するモーションデータの一例を示す図である。
【図9】 CPUが処理するオブジェクトのアニメ表示処理のルーチンを示すフローチャートである。
【図10】 選定されるノードと生成されるスケルトンとの関係を説明するための図で、(a)はベクトルデータ(n0)、(n1)、(n2)、(n3)が使用(選定)された場合の図、(b)はベクトルデータ(n0)、(n1)、(n3)が使用(選定)された場合の図、(c)はベクトルデータ(n0)、(n3)が使用(選定)された場合の図である。
【図11】 動作原理及び動作に必要なデータテーブルを示すもので、(a)はオブジェクト描画条件とノード定義データの順番を示すノード番号とからなるマスクテーブルの一例を示す表、(b)は(a)の例に対して、採用するノード定義データの個数を示す個数テーブル、(c)は(a)の例に対して、近〜遠の順で採用されるノード定義データの多い順にカウンタ値を付したノード番号対応テーブルを示す図である。
【図12】 カウンタ方式によりノード定義データ選定部の構成図を示す。
【符号の説明】
1 CPU
3 グラフィックスデータ生成プロセッサ
10 描画処理プロセッサ
11 バッファの非表示エリア
12 テレビジョンモニタ
101 ボタン操作検出部
102 仮想カメラ視点位置データ設定部
103 表示範囲情報抽出部
104 ノード定義データ選定部
105 スケルトン生成演算指令部
106 ポリゴン演算指令部
107 描画命令発行部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for drawing an object in which, for example, a polygon is pasted on an articulated structure as a base, and further drawing as a moving image according to motion data.
[0002]
[Prior art]
Conventionally, an object representing a person or the like is drawn on a monitor screen or the like so that it can be displayed graphically. For example, the position of the waist is used as a reference (ROOT), and the first joint (node position) is defined from the reference (ROOT). Then, the next joint is defined from this joint, the joint is obtained sequentially, the joints are connected to each other, a skeleton is generated, and a polygon is pasted on each skeleton. There is a technique in which the coordinates and rotation amounts of nodes, polygons, and the like are calculated and drawn in order from the ROOT) to the downstream side. When a motion (animation) is given to an object, the object is game-played by sequentially calculating according to the motion definition data prepared in advance for each motion and drawing the object at each time point so as to change over time. It was moving and displayed in space.
[0003]
By the way, in the field of video games in recent years, there has been a demand for high-definition images, and accordingly, the amount of polygon data used for objects drawn in the game space, especially moving images of objects moving in the game space. The amount of motion definition data for drawing tends to increase significantly. Especially in the case of game devices, it is necessary to repeat drawing processing at high speed due to its characteristics, and if high-speed processing hardware equipped with a large capacity memory is installed, some requirements can be satisfied, but memory and arithmetic processing The resources of the department are limited, and further ingenuity is required for the development of the software part that can effectively use the hardware.
[0004]
For example, as a technique for high-speed drawing of a character (object) that approaches / separates in the game space with respect to the virtual camera viewpoint, that is, the viewpoint position of the player, each of them is separately used for short distance, medium distance, and long distance An object prepared in advance has been proposed. In other words, three types of nodes that define the object are prepared according to the distance, and polygon data (further texture data) is prepared according to the number of nodes, and switched according to the distance from the virtual camera viewpoint. It is intended to be used. If the distance from the virtual camera viewpoint is a short distance, the finest object data is read and drawn, and if it is a long distance, the roughest object data is read and the drawing process is performed to reduce the computational load. is doing.
[0005]
[Problems to be solved by the invention]
However, in the method of sequentially defining skeletons from the reference (ROOT) as described above, in the case of preparing the skeletons for short distance, medium distance, and long distance, the same movement, for example, “walking” action on the object When an animation (video display) is performed on the image, it is necessary to prepare separate motion definition data for each short-distance, medium-distance, and long-distance movement. In the current game field, where the number of animations is required, the number of types of animation is remarkably increased, and the amount of data cannot be ignored. In addition, it is necessary to have separate animation calculation program data for short distance, medium distance, and long distance in spite of the same movement.
[0006]
In addition, in a type in which an object is defined by one type (ie, high-definition) skeleton regardless of the distance and the animation calculation is performed, the player cannot actually recognize the animation calculation particularly at a long distance. A large amount of unnecessary calculations such as calculations are performed for all polygons, and it is difficult to say that it is preferable for reducing the calculation load.
[0007]
On the other hand, for example, there is a method in which a vector is defined for each joint based on the above-described reference, and a skeleton is generated from these nodes with the end point of this vector as a node. According to this method, it is possible to generate a skeleton directly rather than sequentially calculating from the above-mentioned reference, and it is possible to perform drawing of an object at a higher speed. The problem of preparing data and the problem of using one minute object regardless of distance cannot be solved.
[0008]
The same improvement is desired not only in the case of drawing a character (object) whose size changes, but also in the game space from the virtual camera viewpoint. Also, when drawing a character (object) that moves from side to side, etc., at low speed to high speed, it is desirable to draw finely when the object moves at low speed, but it does not matter if the object moving at high speed is not so fine. Therefore, the same idea as described above is desired.
[0009]
The present invention has been made in view of the above, and does not require a large amount of memory or a large amount of unnecessary computations. The distance between the virtual camera viewpoint and the object, the size of the object, An object of the present invention is to provide an image generation device, an image generation program, an image generation method, and a video game device that perform drawing according to object drawing conditions such as moving speed and enable high-speed drawing of still images and moving images of objects. To do.
[0010]
[Means for Solving the Problems]
The invention according to
[0011]
Claim9The described inventionAn image generation apparatus that draws an object having a multi-joint structure in a three-dimensional virtual space according to an object drawing condition using a node corresponding to a joint, and is used in the virtual space with a specific position in the virtual space as a reference Node definition data storage means for storing node definition data for defining all nodes to be obtained, and motion definition data for defining a predetermined time of motion of the object in order to generate a moving image Motion data storage means for storing motion data, node definition data selection means for selecting a node to be used according to the object drawing conditions, and a skeleton in the virtual space sequentially according to the motion data related to the selected node Image generating apparatus characterized by generatingIt is.
[0012]
Claim 10The described invention generates an image in which an object having a multi-joint structure is drawn in a three-dimensional virtual space according to an object drawing condition using a node corresponding to the joint.MethodBecauseNode definition data storage meansNode definition data defining all nodes that can be used in the virtual space with reference to a specific position in the virtual space.Store in advance,Motion data storage means stores in advance motion data generated from the node definition data and motion definition data that defines motion for a predetermined time of the object in order to generate a moving image.,Node definition data selection meansSelect a node to use according to the object drawing conditions,Skeleton generation meansThe selected nodeSequentially generate skeletons in virtual space according to the motion data concerningImage generation characterized byMethodIt is.
[0013]
Claim 11The described invention draws an object having a multi-joint structure in a three-dimensional virtual space according to an object drawing condition using a node corresponding to the joint.Video game equipmentAnd node definition data defining all nodes that can be used in the virtual space with reference to a specific position in the virtual space.Node definition data storage means for storing,Motion data storage means for storing motion data generated from the node definition data and motion definition data that defines motion for a predetermined time of the object to generate a moving image;Select the node to use according to the object drawing conditionsNode definition data selection means toThe selected nodeAccording to the motion dataSkeletonSequentiallyGenerate in virtual spaceSkeleton generating meansIt is characterized byVideo game equipmentIt is.
[0014]
According to each of these inventions, node definition data for defining all nodes that can be used to generate and draw an image in the virtual space is stored, for example, the distance to the virtual camera viewpoint and the size of the object Select the node definition data for generating the skeleton used for drawing the object according to the object drawing conditions such as the moving speed of the object, and generate the skeleton based on the selected node definition data. A polygon according to the condition is pasted and drawn on, for example, a monitor. Therefore, since it is not necessary to have each node definition data for each object drawing condition, the data capacity is reduced and the calculation load can be reduced. In particular, when a moving image is generated / drawn using motion data, it is not necessary to have motion data for each object drawing condition, and the data capacity can be further reduced and the calculation load can be reduced.
[0015]
Here, the skeleton generally connects the joints, but the skeleton is generated only from the selected node definition data among the node definition data based on the specific position in the virtual space. An appropriate skeleton is generated in the virtual space according to the object drawing conditions.
[0016]
For example, a data table that assigns each joint position to a node number can be used as the node definition data.
[0017]
furtherThe computer further functions as a motion data storage means for storing motion data generated from the node definition data and motion definition data defining motion for a predetermined time of the object to generate a moving image, The skeleton generating means sequentially generates skeletons in a virtual space according to the motion data related to the selected node. According to this invention, a skeleton is generated in the virtual space according to the motion data sequentially read from the motion data storage means, and as a result, the object is rendered as a moving image.
[0018]
As the motion definition data, it is conceivable to use vector data consisting of a standard position vector (node position coordinates) and a standard direction vector (angle data) having a specific position in the virtual space as one end.
[0019]
Here, with reference to FIG. 10, the relationship between the vector data selected when the vector data is included as the motion definition data, the node, and the polygon to be pasted on the node will be described. In FIG. 10, (n0), (n1), (n2), and (n3) represent vector data that defines a node position with a specific position Pb in the virtual space as a base point, and (N0), (N1), (N2) , (N3) represent node numbers. FIG. 10A shows a case where vector data (n0), (n1), (n2), and (n3) are all used (selected), and FIG. 10B shows vector data ( Figure when n0), (n1), and (n3) are used (selected). Figure 10 (c) shows the case where vector data (n0) and (n3) are used (selected) according to the object drawing conditions. FIG. In FIG. 10A, vector data (n0), (n1), (n2), and (n3) are used respectively (node numbers (N0), (N1), (N2), and (N3) are used). ) A skeleton is generated, and polygons (P0), (P1), and (P2) corresponding to that, that is, the shape and size corresponding to the object drawing conditions same as the skeleton generation object drawing conditions are pasted, and the texture is It is pasted and rendered as an image. In FIG. 10B, the node number (N1) excluding the vector data (n2) (excluding the node number (N2)) and other than the excluded node number (N2), for example, the node number (N3) A skeleton is generated between them, polygons (P0 ′) and (P1 ′) having shapes and sizes corresponding to the skeletons are pasted, textures are pasted, and an image is drawn. In FIG. 10C, the vector number (n1) and (n2) are excluded (except for the node numbers (N1) and (N2)), the node number (N0), the excluded node number (N1), A skeleton is generated between the node number (N3) other than (N2), for example, a polygon (P0 '') of the corresponding shape and size is pasted, and a texture is pasted to render it as an image The Rukoto. For example, in the case of a still image, it is as described above, and it is not necessary to use data representing a time change of vector data.
[0020]
Furthermore, in the case of a moving image, one kind of node can be used without having to prepare definition data for each drawing condition as in the conventional method of sequentially specifying skeletons from a reference position. Store the definition data and motion definition data corresponding to each action (select necessary nodes according to the object drawing conditions, generate motion data from the selected nodes and motion definition data related to the actions, A skeleton is generated from the motion data, and polygons corresponding to the object drawing conditions are pasted together with the texture and drawn as an image, thereby reducing the data capacity and reducing the calculation load.
[0021]
That is, according to the present invention, even if some of the nodes are not used, a skeleton is easily generated from the remaining (selected) nodes, and can be rendered as an image by pasting the corresponding polygon together with the texture. .
[0022]
The node definition data may be data that defines all nodes. As the motion definition data, for example, a certain node A is defined by a direct position vector based on a specific position, and a plurality of nodes related to the node A are transferred from the node A to each node. Direction vector and standard skeleton length data may be used. When drawing a moving image, it is possible to obtain the skeleton of an image to be drawn from using angle data representing a predetermined time of movement and a coefficient representing the degree of expansion / contraction of the skeleton length data.
[0023]
Claim2The described invention is claimed.1In the image generating program described in the
[0024]
Claim3The described invention is claimed.2In the image generation program described in the above, the node definition data selection means stores the distance between the virtual camera viewpoint and the drawn object and the node to be selected in association with each other in a lookup table format. And According to the present invention, by referring to the distance information in the lookup table, a node selection result can be obtained as an output. Therefore, the configuration is easy and high-speed processing is possible.
[0025]
Claim4The described invention is claimed.2 or3. The image generation program according to
[0026]
Claim5The described invention is claimed.2Thru4In the image generation program according to any one of the above, the node definition data selection means uses information for selecting a node to be used as masking information according to the distance between the virtual camera viewpoint and the drawn object. The skeleton generation means stores the skeleton in the virtual space from the definition data of the selected node by performing a masking process using the masking information. According to the present invention, since the selection state of each node corresponding to the distance between the virtual camera viewpoint and the object is obtained as masking information, this masking information is acted like a gate (or AND logic processing). Thus, a skeleton is generated in the virtual space only from the selected node.
[0027]
Claim6The described invention is claimed.1In the described image generation program, the object drawing condition is an image size of an object to be drawn viewed from a viewpoint of a virtual camera arranged in the virtual space. According to this invention, for example, the display size of the target object, for example, at least one of vertical and horizontal (or height and width) based on the distance between the object to be displayed and the virtual camera viewpoint in the virtual space. Alternatively, the drawing area of the target object is calculated by the size calculation unit, and the node definition data selection unit executes the node selection process depending on the magnitude of the calculation result.
[0028]
Claim7The described invention is claimed.1In the described image generation program, the object drawing condition is a moving speed of the drawn object in the virtual space. According to the present invention, for example, when an object moves at high speed to the left and right of the virtual camera viewpoint on the monitor, it is not easy to see on the monitor compared to moving at a low speed. ) Is displayed as a rough image.
[0029]
Claim8The invention described in
[0030]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a configuration diagram showing an embodiment of a video game system to which the present invention is applied.
[0031]
The game system shown in FIG. 1 includes a game machine body and a
[0032]
Here, the form of the game system differs depending on the application. That is, when the game system is configured for home use, the television monitor (hereinafter referred to as a monitor) 12 and the speaker 16 are separate from the game machine main body. When the game system is configured for business use, all the components shown in FIG. 1 are housed in a single casing. When the game system is configured with a personal computer or workstation as the core, the
[0033]
Next, each component shown in FIG. 1 will be described. The graphics
[0034]
The
[0035]
The
[0036]
The drawing
[0037]
The
[0038]
The
[0039]
In the above, drawing of an object in the case of a still image without a time axis can be generated using node definition data and not using motion definition data. On the other hand, for drawing an object in the case of a moving image, motion data (node position and angle data) is generated from node definition data and motion definition data, and drawing is actually performed from this motion data. In the case of movies, having motion definition data increases the number of processes for obtaining motion data, but compared to having all motions as motion data, the memory capacity can be significantly reduced depending on the type of motion. Become. Note that the motion data may be kept as it is.
[0040]
The texture data is two-dimensional image data. The color palette data is data for designating a color such as texture data.
[0041]
These data are recorded in the
[0042]
The drawing command includes a drawing command for drawing a stereoscopic image using a polygon and a drawing command for drawing a normal two-dimensional image. Here, the polygon is a polygonal two-dimensional image, and in this embodiment, a triangle or a quadrangle is used.
[0043]
The drawing command for drawing a stereoscopic image using polygons is polygon vertex address data on the display area of the
[0044]
Among these data, the polygon vertex address data on the display area is obtained by the graphics
[0045]
The polygon vertex address data indicates an address on the display area of the
[0046]
When the character (object) is moved on the display surface by the operation of the
[0047]
A drawing command for drawing a normal two-dimensional image indicates vertex address data, texture address data, color palette address data indicating the storage position of the color palette data indicating the color of the texture data on the
[0048]
The
[0049]
The
[0050]
The
[0051]
The
[0052]
The cross key 22b and the analog stick 22f are operation instruction members that give commands to the
[0053]
Next, the operation of the game system will be described. When a power switch (not shown) is turned on, the game system is powered on. At this time, if the
[0054]
The program data that has been subjected to error correction processing in the
[0055]
FIG. 2 is an explanatory diagram showing a function execution unit of the
[0056]
In this embodiment, as described below, the character is displayed on the
[0057]
FIG. 3 is a diagram showing an embodiment showing a connection relation of nodes defining an object simulating a human body, and FIG. 4 shows an example of a table of node definition data defining each node of FIG.
[0058]
In FIG. 3, a long line indicates a skeleton and a point indicates a joint (a “node” serving as a base point of the skeleton). As shown in FIGS. 3 and 4, the node number (N0) indicates Hips, and the left foot side is l-hip (N1), l-hip-roll (N2), l-knee (N3), l-knee- roll (N4), l-ankle (N5), l-foot (N6), l-toe (N7), then left foot side is r-hip (N8), r-hip-roll (N9), r-knee (N10), r-knee-roll (N11), r-ankle (N12), r-foot (N13), r-toe (N14), and the upper body side is spin0 (N15), spine1 (N16) , ..., and then the left arm and then the last node of the right arm are sequentially defined. Each node includes data such as its parent node number and length.
[0059]
FIG. 5 is a diagram illustrating an example of mask data stored as masking information in the node definition data selection unit. The mask data A is used when the distance between the virtual camera viewpoint and the object to be drawn is a short-distance region having a predetermined value or less, and “0” and “1” for n digits of the mask value are The node numbers correspond in order from the first. For example, the first “1” indicates that the node (N0) is used.
[0060]
The mask data B is used when the distance between the virtual camera viewpoint and the object is a middle distance area up to an intermediate distance exceeding a predetermined value. For example, the mask data B is the third digit or the fifth digit of the mask value. "0" in the eye indicates that the nodes (N2) and (N4) are not used.
[0061]
The mask data C is used when the distance between the virtual camera viewpoint and the object is a long-distance area where the distance exceeds the intermediate distance. The fact that “0” in the mask value increases in the order of mask data A, B, and C corresponds to a certain amount of node definition data, that is, a skeleton generated by this as the object moves away from the virtual camera. This is because even if the polygon to be performed is omitted (not used), the player will not recognize it as a rough image. When the skeleton generation
[0062]
FIG. 6 is an example of polygon vertex coordinate data prepared for each short distance (A), medium distance (B), and long distance (C). As shown in FIG. 6, each polygon is defined in association with a node.
[0063]
At the short distance (A), all node definition data is used, that is, vertex coordinate data of a predetermined number of polygons for forming an associated model for each of the nodes (N0) to (Nn) that are all joints. Is stipulated. The node (N0) has polygons P01, P02,..., The node (N1) has polygons P21, P22,..., The node (N2) has polygons P21, P22,. , P32,... Correspond to polygons P71, P72 and node (Nn) correspond to polygons Pn1, Pn2,.
[0064]
At medium distance (B), the associated model is formed only for all joints, that is, nodes corresponding to mask value “1” in FIG. 5B among nodes (N0) to (Nn). The vertex coordinate data of the polygon is defined. The node (N0) has polygons P01 ′, P02 ′,..., The node (N1) has polygons P11 ′, P12 ′,..., The node (N2) has no nodes, and the node (N3) has polygons P31 ′, P32. ', ... and the node (Nn) correspond to polygons Pn1', Pn2 ', ....
[0065]
In the long distance (C), an associated model is configured only for all joints, that is, nodes corresponding to the mask value “1” in FIG. 5C among the nodes (N0) to (Nn). The vertex coordinate data of the polygon is defined. The node (N0) has no polygons P01 '', P02 '', ..., the nodes (N1), (N2) are not, and the node (N3) has polygons P31 '', P32 '', ... ) To (N6), polygons P71 ″, P72 ″,... Correspond to the node (N7), and polygons Pn1 ″, Pn2 ″,.
[0066]
As the distance increases, the number of polygons corresponding to one node can be reduced. Therefore, even in the same node, the short distance (A), the middle distance (B), and the long distance (C) Some polygons are gradually decreasing. In addition, since all node definition data is not used at medium distance (B) and long distance (C), the same polygon as in the case of short distance (A) is used as it is for the node to be used. There is a possibility that the continuity of is unnatural. Therefore, as a polygon corresponding to at least one adjacent node with respect to the missing node, a polygon that covers the part drawn with the polygon attached to this missing node as necessary is a medium distance. If it is specified at (B), a long distance (C), it can be rendered as a natural image without a sense of incongruity. In this way, by setting polygons correspondingly according to object drawing conditions, for example, the short distance (A), the middle distance (B), and the long distance (C), a more appropriate image can be drawn.
[0067]
FIG. 7 is a diagram illustrating an example of motion definition data for an object. As shown in FIG. 6, a plurality of types of data MD1, MD2,... MDm are stored in association with node numbers to define movement for a certain object. There are various movements such as jumping, walking, running, lying down, swimming, etc. Further, even in the same walking, a more detailed way of walking such as walking (type 1) or walking (type 2) may be expressed. The motion definition data MD1 is defined as .tau.1, .tau.2,... .Tau.n1 for a predetermined time in the order of node numbers and every frame time (1/60 seconds) in the case of a game. Similarly, the motion definition data MD2 is defined as τ1, τ2,... Τn2 (s1 and s2 are the number of frames of each motion). Each motion definition data is data (rxτi, ryτi, rzτi) (i is an arbitrary frame number in the number of frames s) representing a change in the direction vector. The time required for one motion is set for each type of motion. As described above, the motion definition data MD1 is up to τs1, and the motion definition data MD2 is up to τs2.
[0068]
FIG. 8 is a diagram illustrating an example of motion data for an object. The motion data M1, M2,... Mm is obtained from the node definition data and the motion definition data MD1, MD2,... MDm, that is, by expanding the node definition data based on each node number of the motion definition data MD1, MD2,. It is required. Each motion data M is coordinate data (txτi, tyτi, tzτi) and rotation angle data (r00τi, r01τi, r02τi, r10τi, r11τi, r12τi, r20τi, r21τi, r22τi) for representing the extending direction of the skeleton. In this way, by adopting a method for obtaining the motion data M using the motion definition data MD, it is not necessary to have motion data for each motion, which is a preferable aspect in terms of reducing the memory capacity.
[0069]
In addition, it is good also as an aspect in which the data showing the standard length of a skeleton is included as node definition data, and in that case, when adopting a rotation angle data and a coefficient showing the degree of expansion and contraction of the length data of the skeleton as motion data Well, according to this, although the calculation itself is slightly larger than when vector data is used, the same animation (moving image) display as described above can be performed with a smaller amount of data.
[0070]
FIG. 9 is a flowchart showing a routine of an object animation display process processed by the CPU.
[0071]
When designation of motion Mk (motion Mk (k = 1, 2,..., M) shown in FIG. 7) is issued to the object by the
[0072]
Next, the motion definition data (time τ1) of the designated motion Mk is read out, and the motion data is obtained by developing this data, and is guided to the skeleton generation
[0073]
During the end of the process or during the process, one of the short distance (A), medium distance (B), and long distance (C) shown in FIG. 6 corresponding to the distance determination result in step ST3. One polygon data is designated (step ST13). Next, a polygon calculation command is issued using the result of the skeleton generation calculation and the polygon data for the designated distance (step ST15). This polygon calculation processing is performed by the
[0074]
The present invention can also employ the following aspects.
(1) The node definition
(2) In the present embodiment, the distance between the virtual camera viewpoint and the object of interest, that is, the perspective, is adopted as the selection condition of the node definition data. However, the present invention is not limited to this, and the drawing is viewed from the virtual camera viewpoint. A node that should be adopted based on the determination result, comprising means for determining at least one of the vertical and horizontal (height, width) dimensions of the target object or the size of the drawing area of the target object. May be selected.
[0075]
In this case, address data on the display area of the
(3) The moving speed of the object may be adopted as the selection condition of the node definition data, that is, the object drawing condition. For example, when the moving speed detecting unit detects the moving speed of the object and draws the stopped object, the moving speed of the object is set so as to be the finest, that is, the most node definition data is selected. The higher the speed, the rougher the drawing, that is, the selected node definition data may be reduced.
[0076]
As described above, the present invention can adopt a mode in which selection processing of node definition data is performed under the object drawing conditions for the virtual camera viewpoint such as the distance from the virtual camera viewpoint of the object of interest, the drawing size (ratio), and the moving speed. is there.
(4) In the present embodiment, all node definition data is used for short distance, and the node definition data is selected in the form of thinning out the middle distance and long distance sequentially, so to speak, but it is not limited to this. The following modes can also be adopted. For example, all node definition data adopted according to all object drawing conditions adopted is prepared as basic node definition data in advance, and appropriate requirements for each object drawing condition such as distance or drawing area size are prepared. The selection method may be different from the thinning-out method in which a selection method is set in advance so that selection of different node definition data is made. Thereby, it is possible to draw the best object suitable for each object drawing condition. The object drawing conditions and the selected node definition data do not need to be set in a fixed correspondence relationship, and a predetermined selection operation is executed by the node definition data selecting unit upon receiving the object drawing conditions. The necessary node definition data may be selected by providing flexibility and changeability. Further, in any case, information such as a game scene (scene), a game time, a player operation state, and the like can be used in addition to the object drawing conditions. For example, in a form using a mask, it is conceivable to use a mask prepared in advance or obtained by calculation according to such information. With such a configuration, it is possible to perform drawing with appropriate accuracy with a calculation load corresponding to each scene.
(5) Although the present invention has been illustrated with an example of a character imitating a human being as an object, the present invention is not limited to this, and can be applied to various moving objects, and in particular, a character that moves in a game space. It is suitable to apply to.
(6) In this embodiment, as shown in FIG. 6, the vertex coordinate data of polygons prepared for each short distance (A), medium distance (B), and long distance (C) is provided. May be drawn with a single polygon. In the case where the polygon is defined corresponding to the node selection condition, there is an advantage that a more suitable image with less unnaturalness can be provided. Further, it is not always necessary to correspond to the node definition data selection condition. For example, polygon data may be provided for the node definition data selection condition and the latter two categories.
(7) In the present embodiment, an example in which a mask is used as the node definition
[0077]
FIG. 11 shows an operation principle and a data table necessary for the operation. (A) is a table showing an example of a mask table composed of object drawing conditions and node numbers indicating the order of node definition data, and (b) is a table. For the example of (a), a number table indicating the number of node definition data to be adopted. (C) is a counter for the example of (a) in descending order of node definition data adopted in order of near to far. A node number correspondence table with values is shown. More specifically, FIG. 11A shows an example in which there are a total of nine node definition data from
[0078]
Next, as shown in FIG. 11C, the node numbers in the descending order of the node definition data adopted in the order from near to far are extracted. Here, since
[0079]
FIG. 12 shows an example of a configuration diagram of a node definition data selection unit based on a counter method. When the object drawing condition is determined, the determined object drawing condition is input to the number table 1041, and a value corresponding to the condition is output to the
[0080]
The operation will be described with an example. Now, assuming that the intermediate distance is determined as the object drawing condition, the
(8) Although the present embodiment has been described with reference to drawing using motion prepared in advance, the present invention is not limited to this, and the same applies to the case where an object is moved by an operation unit or by a game program. It is applicable to.
[0081]
【The invention's effect】
[0082]
Claim2According to the described invention, it is possible to provide a fine image by using a large number of nodes if the distance from the virtual camera viewpoint of the object to be drawn is short, and to reduce the number of nodes if the distance is far, and to draw unnaturalness. Can provide no image.
[0083]
Claim3According to the described invention, since the selection result of the node definition data can be obtained as an output by referring to the distance information in the lookup table, easy configuration and high-speed processing can be realized.
[0084]
Claim4According to the described invention, an object included in a far distance area becomes a far distance and is not easy to visually recognize on a monitor, so that it can be displayed as a rough image with no sense of incongruity (unnaturalness).
[0085]
Claim5According to the described invention, the selection state of each node corresponding to the distance between the virtual camera viewpoint and the object can be obtained as masking information. By doing so, only the skeleton from the selected node can be generated in the virtual space.
[0086]
Claim6According to the described invention, the display size of the object, that is, the drawing dimension of at least one of vertical and horizontal (or height and width) is calculated from the target object and the distance between the object and the virtual camera viewpoint, Alternatively, by calculating the drawing area of the object, the node definition data selection means can execute node definition data selection processing depending on the magnitude of the calculation result.
Claim7According to the described invention, when an object moves at high speed to the left and right of the virtual camera viewpoint, for example, it is not easy to see on the monitor as compared to moving at low speed. ) Can be displayed as a rough image with no).
[0087]
Claim8According to the described invention, each node definition data may be one way, while each polygon is provided in a form corresponding to a node selected for each object drawing condition, so that an adjacent node is selected depending on the object drawing condition. Even if it is not done, if the number of polygons and the shape of the model (obtained by one node) are set so as to make up for it, it is possible to draw an image with no unnaturalness on the drawn image. .
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing an embodiment of a video game system to which the present invention is applied.
FIG. 2 is an explanatory diagram showing a function execution unit included in the CPU shown in FIG. 1;
FIG. 3 is a diagram showing an embodiment showing a connection relation of nodes that define an object simulating a human body.
FIG. 4 shows an example of node definition data that defines the node of FIG. 3;
FIG. 5 is a diagram showing an example of mask data that functions as node definition data selection means.
FIG. 6 is an example of polygon vertex coordinate data prepared for each of a short distance (A), a medium distance (B), and a long distance (C).
FIG. 7 is a diagram illustrating an example of motion definition data for an object.
FIG. 8 is a diagram illustrating an example of motion data for an object.
FIG. 9 is a flowchart showing a routine of animation display processing of an object processed by a CPU.
FIG. 10 is a diagram for explaining the relationship between a selected node and a generated skeleton. (A) is used by vector data (n0), (n1), (n2), and (n3) (selected) (B) is a diagram when vector data (n0), (n1), (n3) is used (selected), (c) is a vector data (n0), (n3) is used ( It is a figure when it is selected.
11A and 11B show an operation principle and a data table necessary for the operation. FIG. 11A shows an example of a mask table including object drawing conditions and node numbers indicating the order of node definition data. FIG. For the example of (a), a number table indicating the number of node definition data to be adopted. (C) is a counter for the example of (a) in descending order of node definition data adopted in order of near to far. It is a figure which shows the node number corresponding | compatible table which attached | subjected the value.
FIG. 12 shows a configuration diagram of a node definition data selection unit by a counter method.
[Explanation of symbols]
1 CPU
3 Graphics data generation processor
10 Drawing processor
11 Buffer non-display area
12 Television monitor
101 Button operation detector
102 Virtual camera viewpoint position data setting unit
103 Display range information extraction unit
104 Node definition data selection part
105 Skeleton generation calculation command section
106 Polygon calculation command section
107 Drawing command issuing unit
Claims (11)
コンピュータを、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、
動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段と、
前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、
選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成するスケルトン生成手段として機能させることを特徴とする画像生成プログラム。An image generation program for drawing an object having a multi-joint structure in a three-dimensional virtual space according to an object drawing condition using a node corresponding to a joint,
Node definition data storage means for storing node definition data defining all nodes that can be used in the virtual space with reference to a specific position in the virtual space;
Motion data storage means for storing motion data generated from the node definition data and motion definition data that defines motion for a predetermined time of the object to generate a moving image ;
Node definition data selection means for selecting a node to be used according to the object drawing condition;
An image generation program that functions as skeleton generation means for sequentially generating skeletons in a virtual space according to the motion data relating to the selected node.
前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、
動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段と、
前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、
選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空 間上に生成することを特徴とする画像生成装置。 An image generation apparatus that draws an object having a multi-joint structure in a three-dimensional virtual space according to an object drawing condition using a node corresponding to a joint,
Node definition data storage means for storing node definition data defining all nodes that can be used in the virtual space with reference to a specific position in the virtual space;
Motion data storage means for storing motion data generated from the node definition data and motion definition data that defines motion for a predetermined time of the object to generate a moving image;
Node definition data selection means for selecting a node to be used according to the object drawing condition;
Image generating apparatus and generating sequentially on the virtual space of the skeleton according to the motion data related to selected the said node.
ノード定義データ記憶手段が、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを予め格納し、
モーションデータ記憶手段が、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを予めに格納し、
ノード定義データ選定手段が、前記オブジェクト描画条件に応じて使用するノードを選定し、
スケルトン生成手段が、選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成することを特徴とする画像生成方法。An image generation method for drawing an object having a multi-joint structure in a three-dimensional virtual space according to an object drawing condition using a node corresponding to a joint,
Node definition data storage means stores in advance node definition data that defines all nodes that can be used in the virtual space with reference to a specific position in the virtual space;
Motion data storage means stores in advance motion data generated from the node definition data and motion definition data that defines motion for a predetermined time of the object in order to generate a moving image,
The node definition data selection means selects a node to be used according to the object drawing condition,
Skeleton generation unit, an image generating method which is characterized that you created on sequential virtual space skeleton in accordance with the motion data about the selected by said node.
前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、
動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段と、
前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、
選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成するスケルトン生成手段とを備えたことを特徴とするビデオゲーム装置。A video game apparatus that draws an object having a multi-joint structure in a three-dimensional virtual space according to an object drawing condition using a node corresponding to a joint,
Node definition data storage means for storing node definition data defining all nodes that can be used in the virtual space with reference to a specific position in the virtual space;
Motion data storage means for storing motion data generated from the node definition data and motion definition data that defines motion for a predetermined time of the object to generate a moving image;
Node definition data selection means for selecting a node to be used according to the object drawing condition;
A video game apparatus comprising: skeleton generation means for sequentially generating skeletons in a virtual space according to the motion data relating to the selected node.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003097126A JP3872032B2 (en) | 2003-03-31 | 2003-03-31 | Image generation program, image generation apparatus, image generation method, and video game apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003097126A JP3872032B2 (en) | 2003-03-31 | 2003-03-31 | Image generation program, image generation apparatus, image generation method, and video game apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004303063A JP2004303063A (en) | 2004-10-28 |
| JP3872032B2 true JP3872032B2 (en) | 2007-01-24 |
Family
ID=33408998
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003097126A Expired - Fee Related JP3872032B2 (en) | 2003-03-31 | 2003-03-31 | Image generation program, image generation apparatus, image generation method, and video game apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3872032B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3348964A1 (en) * | 2017-01-13 | 2018-07-18 | Carrosserie Hess AG | Method for predicting future driving conditions for a vehicle |
| US10916059B2 (en) * | 2017-12-06 | 2021-02-09 | Universal City Studios Llc | Interactive video game system having an augmented virtual representation |
| KR102110760B1 (en) * | 2018-08-07 | 2020-05-15 | 매트릭스테크 주식회사 | Apparatus for processing 3 dimension modelling data based on multi thread and operating method thereof |
| KR102769927B1 (en) * | 2018-08-31 | 2025-02-19 | 주식회사 넥슨코리아 | Computer-implemented method, apparatus and computer program for generating game data by using artificial intelligence |
| CN112891947B (en) * | 2021-04-02 | 2024-02-23 | 网易(杭州)网络有限公司 | Jump animation processing method, apparatus, electronic device and computer readable medium |
| CN114816156B (en) * | 2022-05-12 | 2024-12-03 | 网易(杭州)网络有限公司 | Model detection method, device, terminal device and storage medium |
-
2003
- 2003-03-31 JP JP2003097126A patent/JP3872032B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004303063A (en) | 2004-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3133299B2 (en) | Game device, moving image display method, and recording medium | |
| US6468161B1 (en) | Video game device and method of displaying images of game, and storage medium storing programs for causing a computer to execute the method | |
| JP3625184B2 (en) | 3D image processing method and apparatus for game, readable recording medium recording game 3D image processing program, and video game apparatus | |
| US6781592B2 (en) | Image generating device, image generating method, readable storage medium storing image generating program, and video game device | |
| KR100543153B1 (en) | 3D image processing program, 3D image processing apparatus, 3D image processing method and video game apparatus | |
| JP3872032B2 (en) | Image generation program, image generation apparatus, image generation method, and video game apparatus | |
| JP4530314B2 (en) | GAME SYSTEM, INFORMATION STORAGE MEDIUM, AND COMPRESSED DATA GENERATION METHOD | |
| JP3990258B2 (en) | Image generation system, program, and information storage medium | |
| JP3597792B2 (en) | 3D image processing method, apparatus, 3D image processing program, and video game apparatus | |
| JP3564440B2 (en) | Moving image generation program, moving image generation method and apparatus | |
| JP3809294B2 (en) | GAME DEVICE, GAME METHOD, COMPUTER-READABLE RECORDING MEDIUM | |
| JP3737784B2 (en) | 3D image processing program, 3D image processing method, and video game apparatus | |
| JP3643036B2 (en) | Apparatus and method for perspective transformation | |
| JP2003288609A (en) | Program, device, and method of 3-dimensional image processing and device for video game | |
| JP4447000B2 (en) | Image generation system, program, and information storage medium | |
| EP1249791B1 (en) | 3-D game image processing method and device for drawing border lines | |
| JP3326128B2 (en) | Game device, image display method, and machine-readable information recording medium recording program | |
| JP3706545B2 (en) | Image generation method and program used therefor | |
| JP4391633B2 (en) | Image generation system and information storage medium | |
| JP3629453B2 (en) | Game progress control program, game progress control method, and video game apparatus | |
| JP4624527B2 (en) | GAME SYSTEM AND INFORMATION STORAGE MEDIUM | |
| JP2006277772A (en) | Information processor, information processing method, information processing program, recording medium and information provision device | |
| JP4584665B2 (en) | 3D game image processing program, 3D game image processing method, and video game apparatus | |
| JPH08161465A (en) | Image data file creation method, recording medium and image creation method | |
| HK1056942A (en) | Recording medium which stores 3d image processing programm, 3d image processor, 3d image processing method, and video game machine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060418 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060427 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060522 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060616 |
|
| 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: 20061017 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061018 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 3872032 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091027 Year of fee payment: 3 |
|
| 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: 20091027 Year of fee payment: 3 |
|
| 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: 20101027 Year of fee payment: 4 |
|
| 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: 20101027 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111027 Year of fee payment: 5 |
|
| 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: 20121027 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: 20131027 Year of fee payment: 7 |
|
| 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |