JP4510257B2 - オブジェクト間のヒットチェック方法およびゲーム装置 - Google Patents
オブジェクト間のヒットチェック方法およびゲーム装置 Download PDFInfo
- Publication number
- JP4510257B2 JP4510257B2 JP2000279546A JP2000279546A JP4510257B2 JP 4510257 B2 JP4510257 B2 JP 4510257B2 JP 2000279546 A JP2000279546 A JP 2000279546A JP 2000279546 A JP2000279546 A JP 2000279546A JP 4510257 B2 JP4510257 B2 JP 4510257B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinate system
- polygon
- hit
- sphere
- culling
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、仮想的な3次元ゲーム空間内のオブジェクト間のヒットチェック方法および該方法を適用したゲーム装置に関する。
【0002】
【従来の技術】
業務用や家庭用のゲーム機、あるいはパソコンのゲームなどでは、仮想3次元ゲーム空間内でオブジェクト間のヒットチェック処理が多く行なわれる。オブジェクトとは、ゲーム空間内に配置される各種の物を示し、静止しているか移動しているかを問わない。ヒットチェック処理とは、ゲーム空間(3次元の仮想的な空間)内のオブジェクト間で衝突するか否かをチェックする処理である。オブジェクトが幾つかのポリゴンデータから構成されるときは、各ポリゴンデータとヒットチェック処理を行なうことになる。
【0003】
例えば、▲1▼仮想3次元ゲーム空間内に地面や建物や人物や木などのオブジェクトを配置した中でプレイヤキャラクタが動き回る場合に、該プレイヤキャラクタの一部分(例えば、腕や足などのヒットポイント、あるいはプレイヤが自動車やバイクをコントロールしている場合は接地するタイヤの下端部のヒットポイントなど)が他のオブジェクトのポリゴン(地面や建物や人物や木などのオブジェクトを構成するポリゴン)にあたったか否かを判定するとき、▲2▼シューティングゲームで、プレイヤキャラクタが発射した弾丸状のものが他のオブジェクトのポリゴンにあたったか否かを判定するとき、などにヒットチェック処理が行なわれる。さらに、3次元ゲーム空間内のキャラクタのオブジェクトの影を生成する場合に、仮想的な光源からの光線と地面や壁などのオブジェクトとの間でヒットチェック処理を行ない、ヒットした位置に基づいて影を作る、というようにヒットチェック処理を利用する場合もある。
【0004】
ヒットチェック処理は、リアルタイムで正確に行なう必要があるが、3次元ゲーム空間内には多くのポリゴンからなる多くのオブジェクトが存在するため、CPUの演算負荷は大きくなる。そのため、演算負荷を少なくするために工夫したヒットチェック方法が考えられている。例えば、特開平11−175747号公報には、固定オブジェクトを構成する各ポリゴンに外接し、オブジェクト空間を特定する座標軸の2軸に平行な外接四角形を表すポリゴン特定データと、移動オブジェクトの前記2軸の位置座標とに基づき、移動オブジェクトが属する外接四角形を特定し、特定された外接四角形に対応するポリゴンとの衝突演算(ヒットチェック)を行なう方法が開示されている。
【0005】
【発明が解決しようとする課題】
上記特開平11−175747号公報に記載の技術では、各オブジェクトはワールド座標系内で定義されている(すなわち、オブジェクトを構成するポリゴンの頂点などはワールド座標系の座標で持っている)ので、各オブジェクトを配置し直したりするためには、それらのデータそのものを変更し直さなければならず柔軟な対処ができないと言う不都合があった。例えば家や木などのオブジェクトは、ワールド座標系に貼り付いた形で定義されているので、その単位で配置し直したり変形したり移動させることは困難であった。さらに、ワールド座標系で定義しているのでオブジェクトの再利用が難しいという問題もあった。。
【0006】
本発明は、上述の従来技術における問題点に鑑み、3次元ゲーム空間に配置するオブジェクトについて、オブジェクトを表すデータを再利用可能なデータ構造とし、かつそのようなデータ構造でもヒットチェック処理はリアルタイムで正確に行なうことができるようなオブジェクト間のヒットチェック方法および該方法を適用したゲーム装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、請求項1に係る発明は、ゲーム装置を用いた仮想的な3次元ゲーム空間内のオブジェクト間のヒットチェック方法であって、ゲーム装置が備える記憶手段に、あらかじめ基準座標系の上で複数のポリゴンから構成される基準オブジェクトの定義データを記憶し、ゲーム装置が備える記憶手段に、前記基準座標系での前記基準オブジェクトの範囲を示す直方体を基準となる所定の大きさのブロックに分割した各ブロックに含まれる基準オブジェクトのポリゴンを記憶し、ゲーム装置が備える処理手段が、前記基準座標系の上で定義した基準オブジェクトを座標変換して3次元ゲーム空間のワールド座標系に配置することにより、ワールド座標系上のオブジェクトを定義し、ゲーム装置が備える処理手段が、ワールド座標系の上で第1のオブジェクトと前記基準オブジェクトから定義した第2のオブジェクトとの間でヒットチェックを行なう際、前記第1のオブジェクトの位置をワールド座標系から前記第2のオブジェクトの基準座標系へ逆変換することにより、前記第1のオブジェクトの前記基準座標系での位置を取得し、ゲーム装置が備える処理手段が、取得した前記第1のオブジェクトの前記基準座標系での位置が、前記第2のオブジェクトに対応する基準オブジェクトの範囲を示す直方体を分割した複数のブロックのうち何れのブロックに属するかを判定し、ゲーム装置が備える処理手段が、前記第1のオブジェクトの前記基準座標系での位置が、前記複数のブロックの何れにも属さないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定することを特徴とする。
【0009】
請求項2に係る発明は、請求項1に記載のヒットチェック方法において、ゲーム装置が備える処理手段が、前記第1のオブジェクトの前記基準座標系での位置が前記複数のブロックの少なくとも1つに属したときに、そのブロックに含まれる前記基準オブジェクトのポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する処理を行うことを特徴とする。
【0010】
請求項3に係る発明は、請求項2に記載のヒットチェック方法において、ゲーム装置が備える処理手段が、前記基準オブジェクトのポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する際、前記第1のオブジェクトの前記基準座標系での位置が、あらかじめ前記基準オブジェクトのポリゴンに設定されている、そのポリゴンを内部に含むカリング球に含まれるか否かを判定し、該カリング球に含まれないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定するものであることを特徴とする。
【0011】
請求項4に係る発明は、請求項3に記載のヒットチェック方法において、前記ポリゴンに設定するカリング球は、そのポリゴンが3角形であるときは、その3角形の2番目に長い辺の1番長い辺に接しない頂点を中心とし、2番目に長い辺を半径とする球とすることを特徴とする。
【0013】
請求項5に係る発明は、ゲーム処理中に仮想的な3次元ゲーム空間内のオブジェクト間のヒットチェック処理を実行するゲーム装置であって、基準座標系の上で定義した基準オブジェクトを構成する複数のポリゴンの定義データを記憶する手段と、前記基準座標系での前記基準オブジェクトの範囲を示す直方体を、基準となる所定の大きさのブロックに分割し、各ブロックに含まれる基準オブジェクトのポリゴンを記憶する手段と、前記基準オブジェクトを特定する情報と、該基準オブジェクトを座標変換して3次元ゲーム空間のワールド座標系に配置しワールド座標系上のオブジェクトを定義する際の座標変換情報とを、対応させてマップ配置データとして記憶する手段と、ワールド座標系の上で第1のオブジェクトと前記基準オブジェクトから定義した第2のオブジェクトとの間でヒットチェックを行なう際、前記第1のオブジェクトの位置をワールド座標系から前記第2のオブジェクトの基準座標系へ逆変換することにより、前記第1のオブジェクトの前記基準座標系での位置を取得する手段と、取得した前記第1のオブジェクトの前記基準座標系での位置が、前記第2のオブジェクトに対応する基準オブジェクトの範囲を示す直方体を分割した複数のブロックのうち何れのブロックに属するかを判定する手段と、前記第1のオブジェクトの前記基準座標系での位置が、前記複数のブロックの何れにも属さないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定する手段とを備えたことを特徴とする。
【0014】
請求項6に係る発明は、請求項5に記載のゲーム装置において、前記第1のオブジェクトの前記基準座標系での位置が前記複数のブロックの少なくとも1つに属したとき、そのブロックに含まれる前記基準オブジェクトのポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する手段を、さらに備えたことを特徴とする。
【0015】
請求項7に係る発明は、請求項6に記載のゲーム装置において、あらかじめ各ポリゴンごとに、そのポリゴンを内部に含むカリング球を設定し、そのカリング球の中心と半径とを記憶しておく手段を、さらに備え、前記ポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する手段は、前記第1のオブジェクトの前記基準座標系での位置が、前記ポリゴンに設定されているカリング球に含まれるか否かを判定し、該カリング球に含まれないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定するものであることを特徴とする。
【0016】
請求項8に係る発明は、請求項7に記載のゲーム装置において、前記ポリゴンに設定するカリング球は、そのポリゴンが3角形であるときは、その3角形の2番目に長い辺の1番長い辺に接しない頂点を中心とし、2番目に長い辺を半径とする球とすることを特徴とする。
【0017】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。
【0018】
図1は、本発明に係るヒットチェック方法を適用したゲーム機の構成例を示す。このゲーム機は、中央処理装置(CPU)101、ランダムアクセスメモリ(RAM)102、リードオンリメモリ(ROM)103、外部記憶装置104、画像生成回路105、ディスプレイ106、音生成回路107、音出力装置108、入力インタフェース(I/F)109、入力装置110、およびシステムバス111を備えている。CPU101、RAM102、ROM103、外部記憶装置104、画像生成回路105、音生成回路107、および入力I/F109は、システムバス111に接続されている。
【0019】
CPU101は、このゲーム機の動作の全体を制御する。RAM102は、CPU101が動作する上で使用するプログラム実行領域やワーク領域などに使用する読み出しおよび書き込み可能なメモリである。ROM103は、CPU101が実行する各種の制御プログラム(BIOS:Basic Input/Output SystemやOS:Operating Systemなど)などを格納する読み出し専用メモリである。外部記憶装置104は、ゲームプログラムおよび必要な各種のデータなどを記憶する記憶装置である。外部記憶装置104としては、例えばCD−ROMやハードディスクなどが例示される。
【0020】
画像生成回路105は、CPU101からの指示に基づいて各種の画像(動画や静止画)を生成しディスプレイ106に表示する。音生成回路107は、CPU101からの指示に基づいて各種の音(効果音やバックグラウンドミュージックなど)を音出力装置108に出力する。入力I/F109は、プレイヤが操作する入力装置110の操作情報を取得し、ディジタルデータに変換してCPU101に向けて出力する。これによりCPU101は、プレイヤの入力装置110の操作による操作情報を取得できる。
【0021】
このゲーム機では、CPU101が外部記憶装置104に格納されているゲームプログラムおよび必要なデータをRAM102にロードして実行することによりゲームがプレイできる。ゲームの画面はディスプレイ106に表示され、各種の音が音出力装置108から出力される。ゲームのプレイヤは、ディスプレイに表示されたゲーム画面を見ながら入力装置110によりゲームに対して各種の操作入力を行う。実行されるゲームはどのようなものでもよい。ただし、以下に説明するような、3次元ゲーム空間で本発明に係るヒットチェック処理を行なうようなゲームであるものとする。
【0022】
図2は、図1のゲーム機によりゲームを実行した際の表示画面例である。このゲームでは3次元ゲーム空間内にいくつかのオブジェクト201〜203,211,212などを配置し、ゲーム空間内の所定の視点から見える画面をディスプレイに表示して図2のような画面を構成する。特に本実施形態では、データ量を少なくするため、あらかじめ基準となるオブジェクトを幾つか用意しておき、その基準オブジェクトを拡大・縮小・回転して3次元ゲーム空間内の所定位置に配置する。これにより、同種類のオブジェクトについては1つの基準オブジェクトのデータから生成できるので、3次元ゲーム空間に配置する全オブジェクトのデータを持つ必要がなく、データ容量を削減できる。
【0023】
図3(a)は、ゲーム空間内に配置する木を表すオブジェクトの基準となる基準オブジェクトを示す。図3(b)は、3次元ゲーム空間内に配置する家を表すオブジェクトの基準となる基準オブジェクトを示す。実際には、これらのオブジェクトは、基準オブジェクトを表現するための基準座標系の上に配置された複数のポリゴンデータ(ここでは3角形のポリゴンとして説明する)から構成されている。ここでは、図示したような木や家など、地形を構成するオブジェクトを例に説明するので、図3(a)や図3(b)のような基準オブジェクトを地形データと呼ぶものとする。また、地形データの座標系を地形データ座標系と呼ぶものとする。
【0024】
図2のオブジェクト201〜203は、それぞれ図3(a)の木の地形データを元にして拡大・縮小・回転して3次元ゲーム空間を表すワールド座標系の所定の位置に配置したものである。同様に、図2のオブジェクト211,212は、それぞれ図3(b)の家の地形データを拡大・縮小・回転してワールド座標系の所定の位置に配置したものである。このように基準となる地形データを拡大・縮小・回転してワールド座標系に配置する(すなわち、地形データ座標系からワールド座標系への座標変換)ことにより、ゲーム空間内のいわゆるマップを作成する。
【0025】
図3(a)の301や図3(b)の302は、地形データ座標系における地形データの範囲を示す直方体である。地形データを構成する複数のポリゴンデータから、x座標、y座標、z座標それぞれの最小値と最大値を取り、それらの最小値と最大値で規定される範囲が、この地形データの範囲を示す直方体となる。この直方体の頂点のうち、x座標、y座標、z座標が最小値の頂点が地形データ座標系の原点(0,0,0)となるように、地形データを設定するものとする。例えば、図3(a)では位置311が原点、図3(b)では位置312が原点である。このように設定することにより、地形データのポリゴンデータのx、y、z座標値がすべて正値になり、後に説明するヒットチェック時の計算が容易になる。321,322は地形データ座標系のxyz座標軸を示す。ここでは、原点311,312に合わせて座標軸を記載すると見にくくなるため、平行移動して座標軸321,322を図示した。
【0026】
各地形データにおいては、その地形データの範囲を示す直方体301,302を所定の大きさの基準となる直方体で分割したブロックを設定しておく。図3(c)は、地形データを所定の大きさのブロックに分けた様子を示す。一番外側の直方体は図3(a)の301や図3(b)の302に示した地形データの範囲を示す直方体であり、その中にある331,332などがブロックである。ブロックのx、y、z軸方向の大きさの組データをブロックサイズと呼ぶ。また、x、y、z軸方向でそれぞれ分割している数の組をブロック数と呼ぶ。例えば、図3(a)や図3(b)では、図3(c)に示したようにx、y、z軸方向にそれぞれ4分割しているので、(4,4,4)がブロック数である。
【0027】
次に、3次元ゲーム空間にオブジェクトを配置して構成されるマップ、およびそのマップ内に配置されるオブジェクトの元になる地形データのデータ構造について説明する。
【0028】
図4(b)は、図3で説明したような1つの地形データのデータ構造を示す。411は地形データのサイズ、412はブロックサイズ、413はブロック数を示す。地形データのサイズ411は、地形データの大きさを示す直方体301や302のx、y、z軸方向の大きさを示す。ここでは地形データの頂点311,312を原点としているので、その原点から一番離れた頂点313,314のx、y、z座標値が地形データのサイズに等しくなる。ブロックサイズ412は、図3で説明したブロックの大きさである。ブロック数413は、図3で説明したブロック数である。地形データサイズとブロックサイズが分かれば、その地形データサイズの直方体をそのブロックサイズの直方体で分割できるので、ブロック数は求めることができる。また、地形データサイズとブロック数が分かれば、その地形データサイズの直方体をそのブロック数でx、y、z方向それぞれに分割できるので、ブロックサイズを求めることができる。
【0029】
図4(b)の414は、各ブロックのブロックデータを並べたものである。ブロックデータは、x、y、z軸方向それぞれの位置を表す数を並べて特定される。例えば、ブロックデータを並べた414の先頭のブロックは「ブロック1−1−1」と記載しているが、これはx軸方向で1番目(順番はx座標の昇順にブロック単位で1番目、2番目、…と数える。y軸方向およびz軸方向も同様である。)、y軸方向で1番目、z軸方向で1番目に位置するブロックを示している。
【0030】
図4(c)に、1つのブロックデータのデータ構造を示す。1つのブロックデータは、そのブロックに含まれるポリゴンを特定するポリゴン番号を並べたものである。例えば、図3(a)の木の地形データは複数の3角形のポリゴンからなるが、その複数のポリゴンのうちブロック1−1−1に一部分でも係っているポリゴンのポリゴン番号を図4(c)のように並べて、図4(b)のブロックデータ414のうちのブロック1−1−1を構成する。ブロックは地形データの大きさを示す直方体を機械的に分割したものであるので、1つのポリゴンが複数のブロックに架かる場合があるが、その場合、そのポリゴンのポリゴン番号は、それら複数のブロックのブロックデータに重複して記載しておく。
【0031】
図4(d)に、1つのポリゴンデータのデータ構造を示す。ポリゴンの形は任意だが、ここでは3角形のポリゴンを例に説明する。1つのポリゴンデータは、そのポリゴンの3角形の3つの頂点を特定する頂点データ1,2,3、その3角形の法線ベクトル431、そのポリゴンの色や材質などの属性を示すポリゴン属性432、カリング中心433、およびカリング半径434を備える。頂点データは、頂点の座標を特定する頂点番号である。カリング中心433はそのポリゴンの頂点の少なくとも1つに外接しそのポリゴンを含む球(カリング球と呼ぶ)の中心を特定するデータ、カリング半径はカリング球の半径である。カリング球については、後にヒットチェックの手順を説明する際に説明する。
【0032】
図4(e)は、1つの頂点データの内容を示す。頂点データは、頂点番号で特定され、その頂点の(x,y,z)座標からなる。隣り合うポリゴンは、幾つかの頂点を共有し、同じ頂点は同じ頂点番号で表されるので、図4(d)のポリゴンデータの頂点データには、別のポリゴンで同じ頂点番号を持つものがある。図4(e)の頂点データは座標であり、頂点番号は自然数の番号であるので、明らかにデータ容量としては頂点番号で表現した方がデータ容量が小さい。そこで、図4(d)の頂点データには、直接に頂点座標を格納するのでなく、頂点番号を格納し、別に図4(e)のように頂点座標を持つようにしている。
【0033】
以上のように、図4(b)〜(e)のデータ構造で、図3で説明した地形データ座標系上の地形データを表現する。
【0034】
図4(a)は、ワールド座標系のマップ配置データである。上述したように、ワールド座標系に、図4(b)〜(e)で説明した地形データ座標系の地形データを座標変換して所定位置に配置することにより、マップを構成する。図4(a)の402は地形データ番号を示し、403は地形データを地形データ座標系からワールド座標系へと座標変換する変換マトリクスを示す。地形データ番号402は、図4(b)の構造の1つの地形データを特定する番号である。例えば、1行目のレコードは、地形データ番号402が「41」で、その変換マトリクス403が「M1」である。これは、地形データ番号が「41」の地形データ(図4(b)〜(e)のデータ構造)に対し、変換マトリクスM1の変換を施して、ワールド座標系に配置することを示している。これにより、1つのオブジェクトがマップ上に配置されたことになる。他のオブジェクトについても、同様にして、地形データ番号402で地形データを特定し、変換マトリクス403で座標変換して、ワールド座標系に配置していく。変換マトリクス403は従来より知られている座標変換を行なうマトリクスであり、各座標軸に沿って独立に拡大、縮小、回転したり、座標軸方向にシフトすることを表現できるものである。図4(a)の401は、ワールド座標系に配置する1つのオブジェクトを表す図4(a)の1行のデータに付した番号である。この番号自体はデータとして持ってはいないが、図4(a)のマップ配置データ中の何番目(第0番目から開始するものとする)の行データであるかでマップ内の1つのオブジェクトが特定できるので、この番号401をオブジェクトIDとして用いている。
【0035】
図5に、ヒットチェックを行う手順の具体例を示す。図5(a)において、ワールド座標系に各種の地形を構成するオブジェクト511,512などが配置されている。いま、オブジェクト511は図4(a)のマップ配置データ中のオブジェクトIDが「0」の行データで特定されるオブジェクトであり、オブジェクト512はオブジェクトIDが「1」の行データで特定されるオブジェクトであるものとする。ヒットチェックを行う対象である移動オブジェクト501(ここでは球で説明する)と地形の各オブジェクトとのヒットチェックを順番に行なう。まず、図4(a)のマップ配置データのオブジェクトID401が「0」のオブジェクト511とのヒットチェックを行なう。そのヒットチェックの方法は、以下のようなものである。
【0036】
まず、チェック対象の球501の座標をワールド座標系からオブジェクト511の地形データ座標系に逆変換する。オブジェクト511の地形データ座標系からワールド座標系への変換マトリクスは図4(a)に示すとおりM1であるので、逆変換を行なう逆変換マトリクスM1’はM1から求められる。図5(b)は、オブジェクト511の地形データ座標系に球501を逆変換した様子を示す。521は逆変換したヒットチェック対象の球を示す。522はオブジェクト511の元になった地形データを示す。次にチェック対象の球521が地形データ522のどのブロックに含まれるかを求める。球521の中心と半径は分かっており、地形データ522のブロックサイズは図4(b)の412から分かるので、球521がどのブロックに架かるかは容易に求められる。球521が地形データのどのブロックにも架かっていないときは、このオブジェクト511にはヒットしなかったと言うことである。ここでは、球521が図5(b)のブロック523に架かっていたとする。この場合は、ブロック523に含まれるポリゴン(図4(c)のブロックデータから分かる)の1つ1つについて詳細にヒットチェックする。
【0037】
1つのポリゴンとのヒットチェックは、以下のように行なう。まず、そのポリゴンのポリゴン番号から図4(d)のポリゴンデータを取得する。各ポリゴンには、カリング球が設定されており、カリング球の中心と半径は図4(d)の433,434から分かる。カリング球は、そのポリゴンの頂点の少なくとも1つに外接しそのポリゴンを含む球である。カリング球を用いることにより、ヒットチェック対象の球521と当該ポリゴンとのヒットチェックの際に、ヒットチェックしないことが明らかなポリゴンを容易に判定できるので、厳密にヒットチェック処理を行なうポリゴンを絞り込むことができ、ヒットチェック処理の処理負荷が軽減される。
【0038】
なお、ここではポリゴンの頂点の少なくとも1つに外接しそのポリゴンを含む球をカリング球としたが、必ずしも外接している必要はなく、例えばポリゴンを内部に含む球をカリング球としてもよい。ただし、頂点に外接する球をカリング球とした方が上記の絞り込みの効率はよい。
【0039】
図5(c)に、チェック対象の球521とカリング球532とのヒットチェックの様子を示す。カリング球532は、ポリゴン531のカリング球である。カリング球532はポリゴン531をその球の内部に含むので、球521とカリング球531とが重ならなければ、明らかにそのポリゴン531と球521とはヒットしない。球521とカリング球531とが重なるか否かは、球521の中心とカリング球531の中心との距離を求め、その距離が球521の半径とカリング球531の半径との和より大きいか否かを判定することにより決定できる。前記距離が前記半径の和より大きいときは、それらの球は重ならないと言うことである。距離の算出はx、y、z座標のそれぞれの差を求めてそれらの2乗和を求めればよい。球521とカリング球531とが重なる場合は、より厳密に球521と当該ポリゴンとのヒットチェックに進む。
【0040】
カリング球532は、好ましくはポリゴンの3角形531の3つの頂点に外接する球とするのがよい。すなわち、3角形531の外接円の中心を中心とし、その外接円の半径を半径とする球を、カリング球532とするのがよい。このようなカリング球にすれば、カリング球の大きさが最小になり、より小さなカリング球で球521と重なるか否かのチェックを行なえるからである。より小さなカリング球を用いることにより、球521と重ならないカリング球をより多く発見でき、厳密なヒットチェックを行なうべきポリゴンをより少なく絞り込める。ただし、ポリゴンの3角形の3つの頂点に外接する球をカリング球とする場合は、図4(d)のカリング中心433の欄に、地形データ座標系の任意の位置を表現できるだけの記憶容量が必要となる。
【0041】
従って、本実施の形態では、ポリゴンの3角形531の3つの頂点に外接する球をカリング球532とするのではなく、3角形531の1つの頂点を中心とし別の1つの頂点に外接する球をカリング球532とする。例えば、図5(c)では、ポリゴンの3角形531の頂点Aを中心とし頂点Cに外接する球を、カリング球532としている。3角形531の3つの頂点のうち、どの頂点をカリング中心としどの頂点を外接する点とするかは、以下のように定める。すなわち、3角形531の3辺のうち1番長い辺の反対側の頂点Aをカリング中心とし、2番目に長い辺ACを半径とする球を、カリング球532としている。これにより、残る頂点Bはカリング球532の内部に含まれることが保証され、カリング半径はより短くできるとともに、カリング中心を頂点番号で表現できるので、図4(d)のカリング中心433の欄のバイト数は図4(e)の頂点データを特定する頂点番号を記載できるだけのバイト数でよくなり、データ量を省ける。
【0042】
球521とカリング球532とが重なっている場合は、対応するポリゴン531と球521との厳密なヒットチェック処理を行なう。図5(d)は、その様子を示す。このヒットチェック処理は、従来より行なわれている方法で行なえばよい。
【0043】
図6は、上述したヒットチェックの処理手順を説明するためのフローチャートである。ステップ601で、変数iを0に初期化し、さらに距離を設定する変数MINとヒットしたオブジェクトIDを設定する変数HITにそれぞれ9999を設定する。次にステップ602で、第i番目のオブジェクト(すなわち、図4(a)のオブジェクトID401がiに等しいオブジェクト)とのヒットチェックを行なう。この処理については、図7で詳しく説明する。図7のヒットチェック処理によりヒットチェック対象の球とヒットしたポリゴンまでの距離が返されるので、その距離の値を変数dにセットする。
【0044】
次にステップ603で、返された距離値dと変数MINの値とを比較する。dの値がMINより小さいときは、その距離値dを変数MINにセットし、その時点の変数iの値を変数HITにセットする。その後、ステップ605で、変数i+1がワールド座標系のオブジェクトの数以上になったか(すなわち、マップ内の全オブジェクトのヒットチェックが終了したか)否か判別し、まだチェックすべきオブジェクトがあるときは、ステップ606でiを歩進し、ステップ602に戻る。ステップ605でマップ内の全オブジェクトについてヒットチェックが終了したときは、処理を終了する。
【0045】
図7は、図6のステップ602のヒットチェック処理の詳細を示す。この処理は、図5で説明した1つのオブジェクト511とヒットチェック対象の球501とのヒットチェック処理に対応する。ステップ701で、ヒットチェック対象の球501のワールド座標系での座標を、チェック対象のオブジェクトの地形データの座標系である地形データ座標系に逆変換する(その結果は例えば図5(b))。ステップ702で、逆変換した結果の球の座標から、地形データ内のどのブロックにチェック対象の球の座標が含まれるかを決定する。ステップ703で、チェック対象の球が地形データの何れかのブロックにヒットしていたときは、ステップ704で変数jをゼロクリアし、変数MINPOに9999をセットし、変数HITPOに9999をセットし、ステップ705で第j番目のポリゴンに対するヒットチェック処理を行なう。この処理については、図8で詳しく説明する。図8のヒットチェック処理によりヒットチェック対象の球とヒットしたポリゴンまでの距離が返されるので、その距離の値を変数ddにセットする。
【0046】
なお、第j番目のポリゴンとは、ヒットしたブロックのブロックデータ(図4(c))のポリゴン番号の並びを第0番目、第1番目、…と上から数えた順番で第j番目のポリゴン番号を取得し、該ポリゴン番号で特定されるポリゴンのことを言う。後述するステップ708や709から分かるように、ステップ705〜709のループは、ヒットしたブロックのブロックデータ(図4(c))に含まれるすべてのポリゴン番号のポリゴンについて、順に取り出してヒットチェックを行なっているものである。
【0047】
次にステップ706で、返された距離値ddと変数MINPOの値とを比較する。ddの値がMINPOより小さいときは、ステップ707でその距離値ddを変数MINPOにセットし、第j番目のポリゴンのポリゴン番号を図4(c)で説明したブロックデータから取得して変数HITPOにセットする。その後、ステップ708で、変数j+1が現在処理対象のブロックに含まれるポリゴン数以上になったか(すなわち、図4(c)のブロック内の最後のポリゴンまでヒットチェックが終了したか)否か判別し、まだチェックすべきポリゴンがあるときは、ステップ709でjを歩進し、ステップ705に戻る。ステップ708で当該ブロック内の全ポリゴンについてヒットチェックが終了したときは、処理を終了して上位にリターンする。リターンするときには、ヒットしたポリゴンがあれば、そのポリゴンまでの距離がMINPOに、そのポリゴンのポリゴン番号がHITPOに、それぞれセットされているので、その距離MINPOとポリゴン番号HITPOを上位に返す。なお、ヒットしたポリゴンがなければ、MINPOとHITPOには9999がセットされて(これはヒットしたポリゴンがなかったことを示す)上位にリターンする。
【0048】
図8は、図7のステップ705の第j番目のポリゴンとのヒットチェック処理の詳細を示す。ステップ801で、チェック対象の球と上位から指定されている第j番目のポリゴンのカリング球との距離を算出しヒットチェックを行なう。この処理は、図5(c)で説明したカリング球とのヒットチェックの処理である。ステップ802でカリング球にヒットしたか否か判別し、ヒットしていたときは、そのカリング球に対応するポリゴンである三角形とのヒットチェック処理を行なう。三角形とヒットしていたときは、その距離を上位に返してリターンする。ステップ802でヒットしなかったとき、およびステップ804でヒットしなかったときは、距離として9999を上位に返して(距離が9999のときはヒットしなかったことを示している)リターンする。
【0049】
以上の処理により、図6の処理終了時には、MINおよびHITが9999以外であれば、何れかのオブジェクトにヒットしたことになり、その場合、ヒットしたオブジェクトまでの距離が変数MINに格納され、ヒットしたオブジェクトのオブジェクトIDが変数HITに格納され、ヒットしたポリゴンのポリゴン番号が変数HITPOに格納されている。なお本例では、マップ内の全オブジェクトのそれぞれに対してステップ602〜605の処理を行ない、最小の距離dでヒットしたオブジェクトを探索しているが、ヒットしたすべてのオブジェクトを求めるようにしてもよい。また、ヒットしたすべてのポリゴンを求めるようにしてもよい。
【0050】
上記実施の形態では、球と3角形とのヒットチェックを例に説明したが、これに限らず、本発明は種々のヒットチェック処理に適用できる。例えば、1つの点とポリゴンとのヒットチェック、ポリゴン同士のヒットチェックなどにも適用できる。
【0051】
【発明の効果】
以上説明したように、本発明によれば、あらかじめ基準座標系の上で基準オブジェクトを定義し、その基準オブジェクトを座標変換して3次元ゲーム空間のワールド座標系に配置することにより、ワールド座標系上のオブジェクトを定義しているので、1つの基準オブジェクトから座標変換により幾つものオブジェクトを簡単に生成してワールド座標系の複数のオブジェクトとして配置でき、自由度の高いマップ設計を行なうことができる。また、ヒットチェックは、チェック対象のオブジェクトを基準座標系に逆変換し、基準座標系の上の基準オブジェクトに対してヒットチェックを行なうので、従来ワールド座標系のオブジェクトごとに持っていたヒットチェックのための情報は持つ必要がなく、データ量を削減できる。ヒットチェックの際、チェック対象のオブジェクトの方を逆変換して基準座標系に持っていくので、計算量も少なくて済む。マップ配置データの座標変換情報を変化させれば、ワールド座標系のオブジェクトを任意に変形したり移動することも容易に行なえる。さらに、ポリゴンとのヒットチェックにおいて、あらかじめポリゴンを含むカリング球を設定しておき、カリング球とチェック対象とのヒットチェックを行なっているので、より詳細なヒットチェックを行なうべきチェック対象を簡単に絞り込むことができる。カリング球とチェック対象とのヒットチェックは、例えば、距離の計算などの簡単な計算で行なえる。カリング球は、そのポリゴンが3角形であるときは、その3角形の1番長い辺の反対側の頂点を中心とし、2番目に長い辺を半径とする球とすれば、中心位置としてポリゴンの頂点を用いるので、頂点番号などの容量の小さなデータで表現できデータ量を削減することができる。
【図面の簡単な説明】
【図1】本発明に係るヒットチェック方法を適用したゲーム機の構成例を示す図
【図2】ゲームを実行した際の表示画面例を示す図
【図3】基準オブジェクトの例を示す図
【図4】マップ配置データや地形データのデータ構造を示す図
【図5】ヒットチェックを行う手順の具体例を示す図
【図6】ヒットチェックの処理手順を説明するためのフローチャート図
【図7】ヒットチェック処理の詳細な処理手順を示すフローチャート図
【図8】第j番目のポリゴンとのヒットチェック処理の詳細を示すフローチャート図
【符号の説明】
101…中央処理装置(CPU)、102…ランダムアクセスメモリ(RAM)、103…リードオンリメモリ(ROM)、104…外部記憶装置、105…画像生成回路、106…ディスプレイ、107…音生成回路、108…音出力装置、109…入力インタフェース(I/F)、110…入力装置、111…システムバス。
Claims (8)
- ゲーム装置を用いた仮想的な3次元ゲーム空間内のオブジェクト間のヒットチェック方法であって、
ゲーム装置が備える記憶手段に、あらかじめ基準座標系の上で複数のポリゴンから構成される基準オブジェクトの定義データを記憶し、
ゲーム装置が備える記憶手段に、前記基準座標系での前記基準オブジェクトの範囲を示す直方体を基準となる所定の大きさのブロックに分割した各ブロックに含まれる基準オブジェクトのポリゴンを記憶し、
ゲーム装置が備える処理手段が、前記基準座標系の上で定義した基準オブジェクトを座標変換して3次元ゲーム空間のワールド座標系に配置することにより、ワールド座標系上のオブジェクトを定義し、
ゲーム装置が備える処理手段が、ワールド座標系の上で第1のオブジェクトと前記基準オブジェクトから定義した第2のオブジェクトとの間でヒットチェックを行なう際、前記第1のオブジェクトの位置をワールド座標系から前記第2のオブジェクトの基準座標系へ逆変換することにより、前記第1のオブジェクトの前記基準座標系での位置を取得し、
ゲーム装置が備える処理手段が、取得した前記第1のオブジェクトの前記基準座標系での位置が、前記第2のオブジェクトに対応する基準オブジェクトの範囲を示す直方体を分割した複数のブロックのうち何れのブロックに属するかを判定し、
ゲーム装置が備える処理手段が、前記第1のオブジェクトの前記基準座標系での位置が、前記複数のブロックの何れにも属さないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定する
ことを特徴とするオブジェクト間のヒットチェック方法。 - 請求項1に記載のヒットチェック方法において、
ゲーム装置が備える処理手段が、前記第1のオブジェクトの前記基準座標系での位置が前記複数のブロックの少なくとも1つに属したときに、そのブロックに含まれる前記基準オブジェクトのポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する処理を行うことを特徴とするオブジェクト間のヒットチェック方法。 - 請求項2に記載のヒットチェック方法において、
ゲーム装置が備える処理手段が、前記基準オブジェクトのポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する際、前記第1のオブジェクトの前記基準座標系での位置が、あらかじめ前記基準オブジェクトのポリゴンに設定されている、そのポリゴンを内部に含むカリング球に含まれるか否かを判定し、該カリング球に含まれないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定するものであることを特徴とするオブジェクト間のヒットチェック方法。 - 請求項3に記載のヒットチェック方法において、
前記ポリゴンに設定するカリング球は、そのポリゴンが3角形であるときは、その3角形の2番目に長い辺の1番長い辺に接しない頂点を中心とし、2番目に長い辺を半径とする球とすることを特徴とするオブジェクト間のヒットチェック方法。 - ゲーム処理中に仮想的な3次元ゲーム空間内のオブジェクト間のヒットチェック処理を実行するゲーム装置であって、
基準座標系の上で定義した基準オブジェクトを構成する複数のポリゴンの定義データを記憶する手段と、
前記基準座標系での前記基準オブジェクトの範囲を示す直方体を、基準となる所定の大きさのブロックに分割し、各ブロックに含まれる基準オブジェクトのポリゴンを記憶する手段と、
前記基準オブジェクトを特定する情報と、該基準オブジェクトを座標変換して3次元ゲーム空間のワールド座標系に配置しワールド座標系上のオブジェクトを定義する際の座標変換情報とを、対応させてマップ配置データとして記憶する手段と、
ワールド座標系の上で第1のオブジェクトと前記基準オブジェクトから定義した第2のオブジェクトとの間でヒットチェックを行なう際、前記第1のオブジェクトの位置をワールド座標系から前記第2のオブジェクトの基準座標系へ逆変換することにより、前記第1のオブジェクトの前記基準座標系での位置を取得する手段と、
取得した前記第1のオブジェクトの前記基準座標系での位置が、前記第2のオブジェクトに対応する基準オブジェクトの範囲を示す直方体を分割した複数のブロックのうち何れのブロックに属するかを判定する手段と、
前記第1のオブジェクトの前記基準座標系での位置が、前記複数のブロックの何れにも属さないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定する手段と
を備えたことを特徴とするゲーム装置。 - 請求項5に記載のゲーム装置において、
前記第1のオブジェクトの前記基準座標系での位置が前記複数のブロックの少なくとも1つに属したとき、そのブロックに含まれる前記基準オブジェクトのポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する手段を、さらに備えたことを特徴とするゲーム装置。 - 請求項6に記載のゲーム装置において、
あらかじめ各ポリゴンごとに、そのポリゴンを内部に含むカリング球を設定し、そのカリング球の中心と半径とを記憶しておく手段を、さらに備え、
前記ポリゴンに、前記第1のオブジェクトの前記基準座標系での位置がヒットするか否かを判定する手段は、前記第1のオブジェクトの前記基準座標系での位置が、前記ポリゴンに設定されているカリング球に含まれるか否かを判定し、該カリング球に含まれないときは、前記第1のオブジェクトと前記第2のオブジェクトとはヒットしないと決定するものであることを特徴とするゲーム装置。 - 請求項7に記載のゲーム装置において、
前記ポリゴンに設定するカリング球は、そのポリゴンが3角形であるときは、その3角形の2番目に長い辺の1番長い辺に接しない頂点を中心とし、2番目に長い辺を半径とする球とすることを特徴とするゲーム装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000279546A JP4510257B2 (ja) | 2000-09-14 | 2000-09-14 | オブジェクト間のヒットチェック方法およびゲーム装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000279546A JP4510257B2 (ja) | 2000-09-14 | 2000-09-14 | オブジェクト間のヒットチェック方法およびゲーム装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002092650A JP2002092650A (ja) | 2002-03-29 |
JP4510257B2 true JP4510257B2 (ja) | 2010-07-21 |
Family
ID=18764538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000279546A Expired - Fee Related JP4510257B2 (ja) | 2000-09-14 | 2000-09-14 | オブジェクト間のヒットチェック方法およびゲーム装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4510257B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4782631B2 (ja) * | 2006-07-24 | 2011-09-28 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02224004A (ja) * | 1988-11-12 | 1990-09-06 | Toyota Central Res & Dev Lab Inc | 移動体の干渉チェック装置 |
JPH08315180A (ja) * | 1995-05-22 | 1996-11-29 | Hudson Soft Co Ltd | 3次元図形描画装置 |
JPH1145350A (ja) * | 1997-07-25 | 1999-02-16 | Sharp Corp | 三次元移動物体の衝突判定装置、その衝突判定方法及びその衝突判定プログラムを記録した記録媒体 |
JP2000167248A (ja) * | 1998-12-09 | 2000-06-20 | Namco Ltd | ゲ―ム装置および情報記憶媒体 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3601010B2 (ja) * | 1995-04-04 | 2004-12-15 | ホシザキ電機株式会社 | 複数電解槽式電解水生成装置 |
JPH10165648A (ja) * | 1996-12-09 | 1998-06-23 | Konami Co Ltd | 当たり判定装置,及びコンピュータプログラムを記録した媒体 |
-
2000
- 2000-09-14 JP JP2000279546A patent/JP4510257B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02224004A (ja) * | 1988-11-12 | 1990-09-06 | Toyota Central Res & Dev Lab Inc | 移動体の干渉チェック装置 |
JPH08315180A (ja) * | 1995-05-22 | 1996-11-29 | Hudson Soft Co Ltd | 3次元図形描画装置 |
JPH1145350A (ja) * | 1997-07-25 | 1999-02-16 | Sharp Corp | 三次元移動物体の衝突判定装置、その衝突判定方法及びその衝突判定プログラムを記録した記録媒体 |
JP2000167248A (ja) * | 1998-12-09 | 2000-06-20 | Namco Ltd | ゲ―ム装置および情報記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2002092650A (ja) | 2002-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6326963B1 (en) | Method and apparatus for efficient animation and collision detection using local coordinate systems | |
EP1139293B1 (en) | Game system and computer readable storage medium game program | |
JP3433918B2 (ja) | ゲームシステム、ゲームシステムにおける表示画像形成方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体 | |
JP2001009156A (ja) | コンピュータ読み取り可能な記録媒体、ゲームの表示制御方法およびゲーム装置 | |
JP2001096059A (ja) | フィールドマップ生成方法、ビデオゲームシステム、及び記録媒体 | |
CN111714895B (zh) | 游戏数据的处理方法及装置、存储介质、计算机设备 | |
CN112632683A (zh) | 基于虚幻引擎的数字孪生城市空间定位方法、装置及存储介质 | |
US10824775B2 (en) | Simulation method and device for determining collision between objects | |
JP4206547B2 (ja) | 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体 | |
US7202874B2 (en) | Method for drawing object having rough model and detailed model | |
JP2003022452A (ja) | 画像処理装置および立体形状表示プログラム | |
JP2937937B2 (ja) | 三次元オブジェクトデータ処理方法 | |
JP4510257B2 (ja) | オブジェクト間のヒットチェック方法およびゲーム装置 | |
US7742047B2 (en) | Image processing program and image processing system using same | |
CN114882153A (zh) | 一种动画生成的方法及装置 | |
US6867766B1 (en) | Image generating apparatus, image generating method, entertainment system, and recording medium | |
JP3539839B2 (ja) | 疑似3次元表示されたフィールド内におけるカーソルの表示方法、ゲームシステム及び記録媒体 | |
JP2003271988A (ja) | 画像生成装置及びプログラム | |
JP2001276414A (ja) | ゲーム装置、および、情報記憶媒体 | |
JP3636681B2 (ja) | 画像処理方法、画像処理装置、半導体デバイス、コンピュータプログラム及び記録媒体 | |
KR20010015356A (ko) | 화상처리장치 및 그 방법, 게임장치 및 그 방법, 및컴퓨터상에서 동작하는 화상처리프로그램 또는게임프로그램을 기록한 기록매체 | |
JP4673518B2 (ja) | 図形検出方法、図形検出装置、半導体デバイス、コンピュータプログラム、記録媒体 | |
JP2001218979A (ja) | ゲームシステム及び情報記憶媒体 | |
JP2002301265A (ja) | 回転移動式パズルゲーム装置 | |
JP3436748B2 (ja) | プログラム、情報記憶媒体、および、ゲーム装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070903 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100112 |
|
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: 20100405 |
|
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: 20100430 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4510257 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140514 Year of fee payment: 4 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |