(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点において見える画像を生成する画像生成装置であって、
オブジェクト空間を複数の区画に分割し、各区画内に存在する背景オブジェクトを構成するプリミティブ面からなる区画オブジェクトを設定し、当該区画オブジェクトに基づき、前記所与の視点において見える画像を生成するのに必要な３次元演算を行う３次元演算手段と、
前記３次元演算手段の演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成する画像生成手段とを含み、
前記区画は、
オブジェクト空間に設けた基準点の周りを所与の角度単位で放射上に区切ったエリアとして設定されており、
前記３次元演算手段が、
視線方向に基づいて、前記区画単位で視野の内外を判断して処理対象区画を決定し、前記処理対象区画に対応する区画オブジェクトに対して、前記３次元演算を行うことを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記３次元演算手段は、
区画オブジェクト単位で設定されたモデル情報に基づき３次元演算を行うことを特徴とする画像生成装置。
【請求項３】
請求項１又は２において、
前記３次元演算手段が、
前記区画オブジェクト毎に、頂点データ、テクスチャデータ、稜線データの少なくとも１つ含むモデル情報を記憶する手段を含むことを特徴とする画像生成装置。
【請求項４】
請求項２又は３において、
前記モデル情報は、
頂点情報を区画単位のローカル座標系のデータとして有しており、
前記３次元演算手段が、
前記頂点情報の視点座標系及びスクリーン座標系への座標変換演算の少なくとも一方を区画単位のローカル座標系のデータに基づき行うことを特徴とする画像生成装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記３次元演算手段が、
オブジェクト空間の同一の位置を表す頂点について、隣り合う２つの区画オブジェクトのそれぞれに頂点情報を有している場合、いずれか一方の区画オブジェクトの頂点情報に基づいて行なった３次元演算後の頂点情報に基づいて、他方の区画オブジェクトに含まれる同一の位置を表す頂点についての画像生成に必要な頂点情報を決定することを特徴とする画像生成装置。
【請求項６】
オブジェクト空間内の所与の視点において見える画像を生成する画像生成装置であって、
オブジェクト空間を、基準点の周りを所与の角度単位で放射上に区切って設定された区画に分割し、各区画に関連づけて区画内に存在するオブジェクトを登録する手段と、
視線方向に基づいて処理対象となる区画を決定し、処理対象となる区画に存在するオブジェクトについて所与の視点において見える画像を生成するのに必要な３次元演算を行う３次元演算手段と、
前記３次元演算手段の演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成する画像生成手段とを含むことを特徴とする画像生成装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
視点位置の移動がオブジェクト空間内の所与エリアに限定されており、前記所与のエリアがオブジェクト空間に対して十分に小さくなるように設定されていることを特徴とする画像生成装置。
【請求項８】
オブジェクト空間内の所与の視点において見える画像を生成するためのプログラムを記憶した情報記憶媒体であって、
前記プログラムは、
オブジェクト空間を複数の区画に分割し、各区画内に存在する背景オブジェクトを構成するプリミティブ面からなる区画オブジェクトを設定し、当該区画オブジェクトに基づき、前記所与の視点において見える画像を生成するのに必要な３次元演算を行うための３次元演算手段と、
前記３次元演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成する画像生成手段としてコンピューターを機能させ、
前記区画は、
オブジェクト空間に設けた基準点の周りを所与の角度単位で放射上に区切ったエリアとして設定されており、
前記３次元演算手段が、
視線方向に基づいて、前記区画単位で視野の内外を判断して処理対象区画を決定し、前記処理対象区画に対応する区画オブジェクトに対して、前記３次元演算を行うことを特徴とする情報記憶媒体。
【請求項９】
請求項８において、
前記３次元演算手段は、
区画オブジェクト単位で設定されたモデル情報に基づき３次元演算を行うための手段を含むことを特徴とする情報記憶媒体。
【請求項１０】
オブジェクト空間内の所与の視点において見える画像を生成するためのプログラムを記憶した情報記憶媒体であって、
前記プログラムは、
オブジェクト空間を、基準点の周りを所与の角度単位で放射上に区切って設定された区画に分割し、各区画に関連づけて区画内に存在するオブジェクトを登録するための手段と、
視線方向に基づいて処理対象となる区画を決定し、処理対象となる区画に存在するオブジェクトについて所与の視点において見える画像を生成するのに必要な３次元演算を行うための手段と、
前記３次元演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成するための手段としてコンピューターを機能させることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での視界画像を生成するための画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、所与の視点での視界画像を合成する画像生成装置が知られており、プレーヤがいわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
そして、このような画像生成装置においてプレーヤの感じる仮想現実感を更に向上させるためには、画像を如何にして高品質化するかが大きな技術的課題となる。
【０００４】
オブジェクト空間内に存在するオブジェクトの画像を生成する際には、オブジェクトをオブジェクト空間に配置する演算や、視点座標系やスクリーン座標系への座標変換演算等の３次元演算が必要となる。
【０００５】
かかる３次元演算を行う際、オブジェクト空間内に存在する地形や建物等の背景オブジェクトを個別のモデルとしてモデリングに必要な頂点データや稜線データ等のモデル情報を有し、個別のオブジェクト毎に３次元演算を行う手法がある。
【０００６】
前記手法においては、個別のオブジェクト単位に視野の内外等を判断して正確なクリッピング処理を行うことができる。しかし、個別のオブジェクト毎にオブジェクト空間への配置処理や座標変換処理やクリッピング処理が必要となるため、演算用データのアクセス時間や演算回数の増大等で処理効率の悪化を招く。従って処理能力の低いハードウエアでは高品質な画像をリアルタイムに提供することは困難であった。
【０００７】
一方、オブジェクト空間に存在するすべてのオブジェクトを一つのモデルとして取り扱う手法もある。しかしこの手法ではモデルが一つしかないため、クリッピング処理により見えない部分を省くことができない。従って、視野外の無駄な演算が発生し、結果として、演算時間の増大をもたらす。従ってかかる手法においても処理能力の低いハードウエアでは高品質な画像をリアルタイムに提供することは困難であった。
【０００８】
本発明は、以上のような技術的課題に鑑みなされたものであり、その目的とするところは、演算用データのアクセス時間や演算回数の増大等に起因する処理効率の悪化及び視野外の無駄な演算処理の発生を防止し、少ない演算負荷で高品質の画像を生成することができる画像生成装置及び情報記憶媒体を提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、オブジェクト空間内の所与の視点において見える画像を生成する画像生成装置であって、オブジェクト空間を複数の区画に分割し、各区画内に存在する背景オブジェクトを構成するプリミティブ面からなる区画オブジェクトを設定し、当該区画オブジェクトに基づき、前記所与の視点において見える画像を生成するのに必要な３次元演算を行う３次元演算手段と、前記３次元演算手段の演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成する画像生成手段とを含むことを特徴とする。
【００１０】
また本発明は、オブジェクト空間内の所与の視点において見える画像を生成するための情報記憶媒体であって、オブジェクト空間を複数の区画に分割し、各区画内に存在する背景オブジェクトを構成するプリミティブ面からなる区画オブジェクトを設定し、当該区画オブジェクトに基づき、前記所与の視点において見える画像を生成するのに必要な３次元演算を行うための情報と、前記３次元演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成するための情報とを含むことを特徴とする。
【００１１】
ここにおいて前記３次元演算とは、例えば視点座標系やスクリーン座標系への座標変換及びクリッピング処理のための演算の少なくとも１つを含む。
【００１２】
本発明は、これらの３次元演算を区画オブジェクトに基づき行う。区画オブジェクトとは、区画内に存在する複数の背景オブジェクトを構成するプリミティブ面で構成されるオブジェクトをいう。従って例えば区画内に複数の背景オブジェクトが含まれている場合にはこれらの複数の背景オブジェクトを構成するプリミティブ面で区画オブジェクトは構成されることになる。また、大きなオブジェクトが複数の区画にまたがって存在している場合には、これら大きなオブジェクトを区画単位で区切った場合の各部分を構成するプリミティブ面で区画オブジェクトは構成されることになる。
【００１３】
背景オブジェクトとは、背景画像を構成するオブジェクトであり、例えば地形や建物等である。ただし、前記背景オブジェクトは静止物に限られない。全体的に移動する物でもよく、また例えばドア等のように一部が移動するものでもよい。
【００１４】
また、特に背景オブジェクト以外のオブジェクトを設定する必要はない。即ち、オブジェクト空間内の全てのオブジェクトを背景オブジェクトとして取り扱ってもよい。
【００１５】
本発明によれば、区画単位でオブジェクトを設定しているため、効率的な演算処理が可能となる。
【００１６】
例えば区画内に複数のオブジェクトが存在する場合には、区画オブジェクトを設定することによりオブジェクト数を削減できるため、オブジェクト単位に発生するデータのアクセス時間等が減少し、演算時間の短縮を図ることができる。
【００１７】
一方、複数の区画にまたがるような大きなオブジェクトが存在する場合には、クリッピング処理が困難となり見えない部分についても３次元演算が必要になり無駄な演算が発生する。これに対し、本発明によれば、区画単位で必要な部分を選別できるため、演算時間の短縮をはかることができる。
【００１８】
本発明の前記３次元演算手段は、区画オブジェクト単位で設定されたモデル情報に基づき３次元演算を行うことを特徴とする。
【００１９】
本発明の情報記憶媒体は、区画オブジェクト単位で設定されたモデル情報に基づき３次元演算を行うための情報を含むことを特徴とする。
【００２０】
本発明は、これらの３次元演算を区画オブジェクトのモデル情報に基づき行う。
【００２１】
通常は例えば建物や木等の物理的に独立した物単位のオブジェクトでモデリングを行い、モデル情報を設定している。モデル情報とは、モデリングに必要な情報であり、例えばモデルを構成する頂点情報や稜線情報等を含む。
【００２２】
本発明によれば、例えば区画内に建物が１０棟ある場合には１０棟分のモデル情報を設定するのではなく１０棟を１つのモデルとしてモデル情報を設定する。このため、区画内の個々のオブジェクト単位のモデル情報を用いて３次元演算を行う場合に比べ、データのアクセス時間が減少し演算時間の短縮を図ることができる。個々のオブジェクトを１モデルとする場合に比べ、区画単位に１モデルとする方がオブジェクト数が少なくて済むためである。
【００２３】
一方、オブジェクト空間全体の背景オブジェクトを１つのモデルとしてとらえる手法も考えられる。この手法はデータのアクセス時間は少ないが、見えない部分まで３次元演算が必要になる。このため、無駄な演算が発生し、多数の精度の高いオブジェクトの表示を行おうとすると演算負荷が増大する。
【００２４】
これに対し、本発明によれば、区画単位で必要な部分を選別できるため、演算付加の増大を招くことなく多数の精度の高いオブジェクトの表示が可能となる。
【００２５】
また、本発明は前記３次元演算手段が、前記区画単位で視野の内外を判断して処理対象区画を決定し、前記処理対象区画に対応する区画オブジェクトに対して、前記３次元演算を行うことを特徴とする。
【００２６】
本発明によれば、区画単位で視野の内外を判断して、処理対象となった区画についてのみ以降の処理を行う。このため、視野外の区画についての無駄な３次元演算処理を省き効率のよい処理を実現することができる。
【００２７】
また個々の背景オブジェクト単位で視野の内外の判断を行う場合に比べ演算処理が減少し、効率のよいクリッピング処理を行うことができる。
【００２８】
また本発明の前記区画は、オブジェクト空間に設けた基準点の周りを所与の角度単位で放射上に区切ったエリアとして設定されており、前記３次元演算手段が、
視線方向に基づいて、前記処理対象区画を決定することを特徴とする。
【００２９】
本発明によれば、例えばオブジェクト空間が円形のエリア上に形成されているような場合には、当該円の中心点の周りに複数の扇型の区画が形成されることになる。
【００３０】
このような区画に対応した区画オブジェクトは、区画のエリアにそってポリゴンを区切って生成してもよいし、区画の境にポリゴンが存在する場合はそのポリゴンをどちらかの区画に含めるようにしてもよい。前者の場合には区画のエリアに沿った区画オブジェクトが形成され、後者の場合には、区画のエリア内には収まらないが、区画のエリアに近似した区画オブジェクトが形成される。
【００３１】
一般に、視点位置が前記基準点の周りの所定のエリア内で移動するように限定されていてその所定のエリアがオブジェクト空間に対して十分に小さい場合には、視線方向のみで、各区画の視野の内外を判断することができる。
【００３２】
従って本発明の手法を用いると、クリッピング処理演算を大幅に削減することができる。
【００３３】
また本発明は、前記３次元演算手段が、前記区画オブジェクト毎に、頂点データ、テクスチャデータ、稜線データの少なくとも１つ含むモデル情報を記憶する手段を含むことをを特徴とする。
【００３４】
このようにすると、個々のオブジェクト単位に記憶されたモデル情報を用いて演算を行う場合に比べ、データのアクセス時間や演算回数の減少を図り、演算効率を高めることができる。このため、少ない演算負荷でリアルタイム処理を実現する事ができる。
【００３５】
また本発明の前記モデル情報は、頂点情報を区画単位のローカル座標系のデータとして有しており、前記３次元演算手段が、前記頂点情報の視点座標系及びスクリーン座標系への座標変換演算の少なくとも一方を区画単位のローカル座標系のデータに基づき行うことを特徴とする。
【００３６】
ある位置の座標値はワールド座標系で表すよりローカル座標系で表す場合の方が少ない桁数で済む。ローカル座標系はワールド座標系に比べて網羅すべき範囲が狭いからである。従って本発明によれば、３次元演算に必要なデータの桁数が減り、データサイズの縮小を行うことができる。
【００３７】
また本発明は、前記３次元演算手段が、オブジェクト空間の同一の位置を表す頂点について、隣り合う２つの区画オブジェクトのそれぞれに頂点情報を有している鞘合、いずれか一方の区画オブジェクトの頂点情報に基づいて行なった３次元演算後の頂点情報に基づいて、他方の区画オブジェクトに含まれる同一の位置を表す頂点についての画像生成に必要な頂点情報を決定することを特徴とする。
【００３８】
複数の区画オブジェクトが同一位置を表す頂点情報を含む場合、通常各区画毎に演算を行うと、丸め誤差や演算誤差により、同一位置についての３次元演算後の頂点情報にずれが生じる。従ってずれたまま画像生成を行うと区画オブジェクトの境界線上に隙間を生じる。
【００３９】
しかし本発明によれば、いずれか一方の区画の３次元演算後の頂点情報に基づいて、他方の区画の画像を生成に必要な頂点情報を決定するため、誤差を調整して前記隙間の発生を防止することができる。
【００４０】
また本発明は、オブジェクト空間内の所与の視点において見える画像を生成する画像生成装置であって、オブジェクト空間を、基準点の周りを所与の角度単位で放射上に区切って設定された区画に分割し、各区画に関連づけて区画内に存在するオブジェクトを登録する手段と、視線方向に基づいて処理対象となる区画を決定し、処理対象となる区画に存在するオブジェクトについて所与の視点において見える画像を生成するのに必要な３次元演算を行う３次元演算手段と、前記３次元演算手段の演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成する画像生成手段とを含むことを特徴とする。
【００４１】
また本発明は、オブジェクト空間内の所与の視点において見える画像を生成するための情報記憶媒体であって、オブジェクト空間を、基準点の周りを所与の角度単位で放射上に区切って設定された区画に分割し、各区画に関連づけて区画内に存在するオブジェクトを登録するための情報と、視線方向に基づいて処理対象となる区画を決定し、処理対象となる区画に存在するオブジェクトについて所与の視点において見える画像を生成するのに必要な３次元演算を行うための情報と、
前記３次元演算結果に基づき前記オブジェクト空間の所与の視点における画像を生成するための情報とを含むことを特徴とする。
【００４２】
本発明によれば、例えばオブジェクト空間が円形のエリア上に形成されているような場合には、当該円の中心点の周りに複数の扇型の区画が形成されることになる。
【００４３】
このような場合視点位置が前記基準点の周りの所定のエリア内で移動するように限定されていてその所定のエリアがオブジェクト空間に対して十分に小さい場合には、視線方向のみで、各区画の視野の内外を判断することができる。
【００４４】
このため、クリッピング処理演算を大幅に削減することができる。
【００４５】
また本発明は、視点位置の移動がオブジェクト空間内の所与エリアに限定されており、前記所与のエリアがオブジェクト空間に対して十分に小さくなるように設定されていることを特徴とする。
【００４６】
例えば、格闘技ゲーム等で生成される画像は、オブジェクト空間の中心付近の所与のリングエリア内で移動を行う仮想カメラで撮影された画像である。従って視線方向は３６０度すべてにわたって変化するが仮想カメラの位置に連動する視点位置は、前記リング内の移動でよい。
【００４７】
このような場合、本発明によれば、少ない演算負荷で視線方向及び視点位置の変化に応じた視野領域の画像生成が可能となる。
【００４８】
【発明の実施の形態】
（１）第一の実施の形態
以下、本発明の実施の形態について図面を用いて説明する。なお、以下では本発明を格闘技ゲームに適用した場合を例にとり説明するが、本発明が適用されるのはこれに限られるものではない。
【００４９】
図１に本実施の形態に係る画像生成装置の機能ブロック図の一例を示す。ここで操作部１０は、プレーヤがレバー、ボタン等を操作してプレーヤキャラクタの操作情報を入力するためのものである。操作部１０にて得られた操作情報は処理部１００に出力される。
【００５０】
処理部１００は、この操作情報と、所与のプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間の所与の視点での画像を生成する処理等を行うものである。この処理部１００の機能は、例えばＣＰＵ（ＣＩＣＳ型、ＲＩＳＣ型）、ＤＳＰ、ＡＳＩＣ（ゲートアレイ等）、メモリなどのハードウェアにより構成される。
【００５１】
情報記憶媒体１５０は、プログラムやデータを記憶するものである。この情報記憶媒体１５０の機能は、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、ＤＶＤ、メモリ、ハードディスクなどのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１５０からのプログラム、データに基づいて種々の処理を行うことになる。
【００５２】
処理部１００は、ゲーム演算部１１０、区画オブジェクト情報記憶部１２０、３次元演算部１３０、画像生成部１４０を含む。
【００５３】
ここでゲーム演算部１１０は、ゲームモードの設定処理、ゲームの進行処理、ゲームキャラクタの位置や方向、動作を決める処理、視点情報を決める処理等を行う。またゲーム演算部１１０は、各フレーム毎に視線方向を決定する視線方向決定部１１２を含む。
【００５４】
視線方向決定部１１２は、ゲームステージにおけるゲームキャラクタの位置や方向、動作に基づいて、ゲームキャラクタが行う格闘技を撮影するのに最適な仮想カメラの位置及び方向を決定する。この時の仮想カメラの方向が視線方向となる。
【００５５】
区画オブジェクト情報記憶部１２０は区画オブジェクト毎に頂点情報、メッシュ情報、テクスチャ情報等のモデル情報を記憶するものである。なお、本実施の形態ではポリゴンオブジェクトを用いて画像生成を行っているため、前記モデル情報はポリゴンオブジェクトに対応したモデル情報を有している。この区画モデル情報は初期状態では情報記憶媒体１５０に格納されており、電源投入後等に情報記憶媒体１５０から区画モデル情報記憶部１２０に転送される。
【００５６】
３次元演算部１３０は、前記視線方向に基づき、３次元演算の対象となる区画オブジェクトを決定し、前記処理対象となる区画オブジェクトのモデル情報に基づき、画像生成に必要な座標変換演算等を行う。
【００５７】
画像生成部１４０は、３次元演算部１３０の演算結果に基づいてオブジェクト空間での所与の視点での画像を生成する処理を行う。画像生成部１４０により生成された画像は表示部１６０において表示される。
【００５８】
次に区画と区画オブジェクトの関係について説明する。
【００５９】
図２（Ａ）（Ｂ）は、本実施の形態のオブジェクト空間と区画の関係を説明するための図である。図２（Ａ）は、本実施の形態のオブジェクト空間が区画に区切られている様子示した平面図であり、図２（Ｂ）は、区画とオブジェクト空間の立体的な関係を表した図である。
【００６０】
本実施の形態では、オブジェクト空間の中心点の周りを１２等分して区切られた各扇型のエリア２２０−０〜２２０−１１を１区画としている。中央の円形エリアは、リングエリア２１０である。本画像生成装置によって生成されるのは格闘技ゲームの画像であり、プレーヤキャラクタの格闘は、このリングエリアで行われる。オブジェクト空間の半径は仮想的に約１６ｋｍほどに設定されており、リングエリアの半径は仮想的に約１６ｍほどに設定されている。なお、リングエリアに関しては、背景オブジェクトとして区画オブジェクトに含めていない。
【００６１】
本実施の形態では、区画毎に１つのモデルを形成する区画オブジェクトを設定している。
【００６２】
図３は、各区画毎に設定された区画オブジェクトを説明するための図である。
【００６３】
本実施の形態では、図３（Ａ）〜（Ｌ）に示すような区画オブジェクトを用いている。これらは図２（Ａ）に示す１２の区画に対応して、各区画内に存在するポリゴン面からなるオブジェクトを１つのモデルとして形成したものである。図３（Ｆ）の５１０のように稜線が区画に沿っている区画オブジェクトもあるが、例えば図３（Ｂ）の５２０及び図３（Ｂ）の５３０のように、稜線が必ずしも区画の境と一致していない部分もある。これは、区画をまたがって存在するポリゴン面を区画の稜線で分割せずに、どちらか一方の区画に含めて区画オブジェクトを設定するからである。このように区画の形状と区画オブジェクトは厳密に一致している必要はない。
【００６４】
なお、背景オブジェクトが建物等である場合には通常建物毎にモデルを構成するが、背景オブジェクトが地形等である場合、モデルを構成する単位が区画よりも大きい場合もある。例えば図３（Ｃ）（Ｄ）の滝５４０、５５０や図３（Ｅ）〜（Ｈ）山５６０、５７０、５８０、５９０等である。このような場合は、大きなオブジェクトを各区に属する部分に分割してモデルを構成することになる。
【００６５】
次にモデル情報の構成について、区画内に複数のポリゴンオブジェクトが存在する場合を例にとり説明する。
【００６６】
図４（Ａ）（Ｂ）、図５（Ａ）（Ｂ）は、区画オブジェクトと個々のオブジェクトのモデル情報について説明するための図である。図４（Ａ）に示すようにある区画２２０−１に３つのオブジェクトＯＢ１、ＯＢ２、ＯＢ３が存在し、他の区画２２０−２に２つのオブジェクトＯＢ４、ＯＢ５が存在しているとする。
【００６７】
図５（Ａ）は、個々のオブジェクト毎にモデルを形成する場合のモデル情報の例を示している。モデル情報は、頂点情報、メッシュ情報、テクスチャ情報を含む。
【００６８】
頂点情報は、１つのモデルを形成しているオブジェクトを構成するポリゴンの頂点の座標を、オブジェクトのボディ座標系等のローカル座標系における３次元座標として表したものである。メッシュ情報３２０とは、オブジェクトを構成するポリゴン面を特定するための稜線情報である。すなわち頂点情報のみでは各頂点がどのように連結してポリゴン面を構成しているのかが特定できない。そこで、オブジェクトを構成するポリゴン面を特定するために、オブジェクトを構成する各面の稜線に沿った頂点の配列情報としてメッシュ情報を設定している。
【００６９】
図４（Ｂ）には、オブジェクトＯＢ１の頂点情報３１０とメッシュ情報３２０の例が示されている。同図に示す用に、オブジェクトＯＢ１はＶ１１〜Ｖ１８の８個の頂点とＭ１１〜Ｍ１６を６個のポリゴン面を含んでいる。オブジェクトＯＢ１の頂点情報Ｖ１は、図４（Ｂ）の３１０に示すように各頂点Ｖ１１〜Ｖ１８についてのオブジェクトＯＢ１のボディ座標系におけるＸＹＺ座標を含んで構成されている。即ち例えばＶ１１の頂点情報（Ｘ１１、Ｙ１１、Ｚ１１）は、オブジェクトＯＢ１のローカル座標系のデータとして与えられている。
【００７０】
また、オブジェクトＯＢ１のメッシュ情報Ｍ１は図４（Ｂ）の３２０に示すように、各ポリゴン面Ｍ１１〜Ｍ１６についての稜線情報３２２を含んで構成されている。例えばポリゴン面Ｍ１１は反時計回りにＶ１１−Ｖ１５−Ｖ１６−Ｖ１２の頂点をつないで構成されていることを示している。
【００７１】
また本実施の形態ではテクスチャマッピングを行っているため、オブジェクトを構成する各ポリゴン面に張り付けるテクスチャの情報を用いている。
【００７２】
また、このモデリング手法においては、図５（Ａ）に示すように各オブジェクト毎に、オブジェクト空間に配置するためのワールド座標系における配置情報ＷＬ１〜ＷＬ５を用いている。この配置情報は、ワールド座標系における位置情報（Ｘｗ，Ｙｗ，Ｚｗ）及び方向情報（θ，φ，ρ）で設定されている。オブジェクトが移動しないものである場合はこの配置情報は更新されないが、移動するものである場合は、ゲーム演算部１１０等により移動した位置及び方向に更新される。
【００７３】
一方図５（Ｂ）は本実施の形態のように区画単位で１つのモデルを形成する場合のモデル情報の例を示したものである。図５（Ｂ）に示すように、各区画オブジェクト毎にモデル情報が与えられている。ここにおいて区画オブジェクトＫＯＢ１は、前記オブジェクトＯＢ１、ＯＢ２、ＯＢ３に含まれるポリゴン面により構成したものである。即ち１つの区画オブジェクトの頂点情報、メッシュ情報、テクスチャ情報は、原則として区画内に存在する全頂点の情報、区画内に存在する全稜線の情報、区画内に存在する全ポリゴン面に貼り付けるテクスチャ情報からなる。
【００７４】
例えば区画オブジェクトＫＯＢ１の頂点情報は、オブジェクトＯＢ１、オブジェクトＯＢ２、オブジェクトＯＢ３を構成する全頂点情報Ｖ１’、Ｖ２’、Ｖ３’からなる。ただし頂点情報Ｖ１’、Ｖ２’、Ｖ３’は、区画内に存在する各頂点のローカル座標系における３次元座標で有している。
【００７５】
区画オブジェクトＫＯＢ１のメッシュ情報及びテクスチャ情報についても同様に、オブジェクトＯＢ１、オブジェクトＯＢ２、オブジェクトＯＢ３を構成する全稜線についてのメッシュ情報Ｍ１’、Ｍ２’、Ｍ３’、及びオブジェクトＯＢ１、オブジェクトＯＢ２、オブジェクトＯＢ３を構成する全ポリゴン面についてのテクスチャ情報Ｔ１’、Ｔ２’、Ｔ３からなる。
【００７６】
そして図５（Ｂ）に示すように各区画オブジェクト毎に、ワールド座標系に配置するための配置情報ＫＷＬ１、ＫＷＬ２を有している。本実施の形態では、図２（Ａ）に示すように区画分けされているため、配置情報としては例えば区画を特定するための区画番号等でよい。
【００７７】
このように、区画オブジェクトを設定することによりモデル数の減少を図ることができるため、データのアクセス時間及び演算回数が減少し演算時間の短縮を図ることができる。
【００７８】
次に、これら区画オブジェクトに基づいて、３次元演算部で行われる処理について具体的に説明する。
【００７９】
３次元演算部は、所与の視点位置及び視線方向のおける画像生成するために必要な頂点座標の座標変換演算等を行う。具体的には、区画オブジェクトの頂点情報を所与の視点位置の所与視線方向における視点座標系への座標変換を行い、さらに、スクリーン座標系への座標変換を行う。
【００８０】
本実施の形態では、まず視野外に存在する無駄な３次元演算処理を省くために、
区画単位のクリッピング処理を行い、３次元演算処理の対象となる処理対象区画の決定を行っている。
【００８１】
図２で説明したように、本実施の形態において格闘技の行われるリングは、オブジェクト空間全体に比べるときわめて狭いエリアである。このため視点位置もこのリング内の移動のみとなり、どの区画が生成される背景画像にあたるかは、視線方向により特定されることになる。
【００８２】
図６（Ａ）（Ｂ）は、本実施の形態のクリッピング処理について説明するための図である。
【００８３】
図６（Ａ）は、本実施の形態の視野角を示した図である。本実施の形態では視野角２９０は５５度に設定されている。この視野に入らない領域は、表示されないため画像生成に関する処理を省略することが好ましい。
【００８４】
そこで本実施の形態では区画単位に、画像生成に関する処理を省略するか否かの判断を行っている。ここにおいて各区画の扇形の中心角は３０度であるため、視点位置が中心点にあるとすれば、視野内に入る可能性のある区画は最大３個である。しかし、視点位置とオブジェクト空間の中心点には多少の誤差があること、また区画オブジェクトと区画には図３（Ａ）〜（Ｌ）に示すように多少のずれがあることにる表示抜けを防止するため、余裕をもって５個の処理対象区画を選択するようにしている。
【００８５】
すなわち図６（Ｂ）に示すように半円形のクリッピングエリア２５０を設定し半円の中心線を視線方向と重なるようにおいた場合、このクリッピングエリアと重なりあう面積が多い方から６つの区画を選択する。図６（Ａ）では区画２２０−１１〜区画２２０−４が処理対象区画として選択される。この選択は視線方向決定部１１２の決定した視線方向と区画の配置により自動的に行われる。
【００８６】
そして本実施の形態では、区画毎にスクリーン座標系への座標変換処理をおこなっている。すなわち、視点の位置及び方向を区画単位のローカル座標系に変換しローカル座標系の座標値を用いてスクリーン座標系への変換処理を行っている。
【００８７】
ある位置の座標値をワールド座標系で表すよりローカル座標系で表す場合の方が少ない桁数で済む。ローカル座標系はワールド座標系に比べて網羅すべき範囲が狭いからである。従ってこのようにすると３次元演算に必要なデータの桁数が減り、データサイズの縮小を行うことができる。
【００８８】
ところが各ブロック毎に行った３次元演算に基づいて生成された画像を合成する際、各ブロックの境界線の画像に隙間が発生する場合がある。
【００８９】
図７（Ａ）〜（Ｆ）は、図３（Ａ）〜（Ｌ）の各区画オブジェクトを合成した図である。図７（Ａ）は図３（Ａ）〜（Ｄ）のＡＲＥＡ０〜ＡＲＥＡ３の区画オブジェクトを合成した図であり、図７（Ｂ）は図３（Ｃ）〜（Ｅ）のＡＲＥＡ２〜ＡＲＥＡ４の区画オブジェクトを合成した図であり、図７（Ｃ）は図３（Ｄ）〜（Ｇ）のＡＲＥＡ３〜ＡＲＥＡ６の区画オブジェクトを合成した図であり、図７（Ｄ）は図３（Ｇ）〜（Ｉ）のＡＲＥＡ６〜ＡＲＥＡ８の区画オブジェクトを合成した図であり、図７（Ｅ）は図３（Ｉ）〜（Ｌ）のＡＲＥＡ８〜ＡＲＥＡ１１の区画オブジェクトを合成した図であり、図７（Ｆ）は図３（Ｌ）、（Ａ）〜（Ｄ）のＡＲＥＡ１１、ＡＲＥＡ０〜ＡＲＥＡ２の区画オブジェクトを合成した図である。図７（Ａ）〜（Ｆ）の６１０〜７３０は、各区画の境目に発生した隙間を示している。例えば図７（Ａ）において、隙間６１０は、図３（Ａ）の右側の稜線６１０と図３（Ｂ）の左側の稜線８２０の不一致により生じたものである。
【００９０】
本実施の形態ではかかる隙間の発生を防止するため、複数の区画オブジェクトが同一位置を表す頂点情報を含む場合には、先に３次元演算を行った区画オブジェクトの頂点情報を、後に演算を行う区画オブジェクトの頂点情報として用いるよう構成している。
【００９１】
図８（Ａ）（Ｂ）は、区画のつなぎ目に発生する隙間を防止する手法について説明するための図である。説明を簡単にするため、区画２２０−１と区画２２０−２の２枚のポリゴンＰ１、Ｐ２がある場合を例にとり説明する。ポリゴンｐ１はＶ１、Ｖ２、Ｖ３、Ｖ４の頂点からなり、ポリゴンＰ２はＶ１、Ｖ２、Ｖ５、Ｖ６の頂点からなるとする。そして、ポリゴンＰ１は区画２２０−１に対応する区画オブジェクトに含まれ、ポリゴンＰ２は区画２２０−２に対応する区画オブジェクトに含まれているとする。
【００９２】
従って同一の位置を表す点Ｖ１とＶ２について、区画２２０−１の区画オブジェクトと区画２２０−２の区画オブジェクトで別々に頂点情報を有することになる。
【００９３】
この区画オブジェクト情報の頂点データは、それぞれのローカル座標系の座標値で有している。そして、それぞれ区画オブジェクト単位で座標変換が行われて、最終的には区画オブジェクトを構成する角頂点のスクリーン座標系における頂点情報が得られる。図８（Ｂ）はこの頂点情報に基づき、スクリーン８００に前記頂点を配置した図である。ポリゴンＰ１の各頂点Ｖ１、Ｖ２、Ｖ３、Ｖ４はＶ１’ａ、Ｖ２’ａ、Ｖ３’、Ｖ４’に座標変換され、ポリゴンＰ２の各頂点Ｖ１、Ｖ２、Ｖ５、Ｖ６はＶ１’ｂ、Ｖ２’ｂ、Ｖ５’、Ｖ６’に座標変換されている。
【００９４】
同じ位置を表すはずのＶ１’ａと、Ｖ１’ｂ、Ｖ２’ａ、Ｖ２’ｂは、ずれて表示されている。モデル情報を設定する際の各区画オブジェクトのローカル座標系への座標変換時や３次元演算部が行う座標変換演算の結果等により生じるまるめ誤差、演算誤差等が生じたためである。
【００９５】
かかる隙間の発生を回避するために、本実施の形態では、区画２２０−１の区画オブジェクトの座標変換の結果得られた変換後の頂点情報Ｖ１’ａ、Ｖ２’ａを、区画２２０−２の区画オブジェクトの変換後の頂点情報として用いるのである即ち区画２２０−２の区画オブジェクトの変換後頂点情報はＶ１’ａ、Ｖ２’ａ、Ｖ５’、Ｖ６’となる。このようにすると区画２２０−２についてはＶ１及びＶ２について３次元演算を省略できるため、演算負荷の軽減にもなる。
【００９６】
図９は図８で説明した手法を用いて、各区画オブジェクトを合成した様子を表した図である。図９では、図７（Ａ）〜（Ｆ）の場合のように、各区画オブジェクトのつなぎ目に隙間が発生していない。
【００９７】
図１０は、本実施の形態の処理の一例を表すフローチャート図である。
【００９８】
本実施の形態では、各フレーム毎に、図１０に示すフローチャートの処理を行い画像の生成を行っている。
【００９９】
まず、ゲーム空間内のプレーヤキャラクタの動作や位置関係に基づいて、画像生成を行うための視線方向等が決定される（ステップＳ１０）。この処理は主に、ゲーム演算部１１０の視線方向決定部１１２が行う。
【０１００】
そして３次元演算部１３０は、前記処理対象区画に対応する区画オブジェクトについて、３次元演算処理を行う（ステップＳ２０、Ｓ３０、Ｓ４０、Ｓ５０）。
【０１０１】
まず、前記視線方向に基づき、図５（Ａ）（Ｂ）で説明したようにして処理対象区画を決定する（ステップＳ２０）。そして、最初に３次元演算を行う区画オブジェクトについてはすべての頂点について３次元演算を行う（ステップＳ３０、Ｓ５０）。また、既に３次元演算を行った区画がある場合には、稜線上に存在する同位置の頂点情報を取得し、区画内の他の頂点について３次元演算を行う。すなわち、図８（Ａ）（Ｂ）で説明したように、稜線上に存在する同位置の頂点情報で既に３次元演算済みのものがあれば、当該区画内の同位置の頂点については３次元演算を行わない。その代わりに既に３次元演算済みの頂点情報を用いる（ステップＳ３０、Ｓ４０）。
【０１０２】
その後、画像生成部１４０は各区画毎の３次元演算結果を受け取り、レンダリング処理等を行い、各画素毎ＲＧＢデータを演算し、表示画像を生成する（ステップＳ７０）。すべての区画について前記３次元演算と画像生成が終了したら１サイクルの処理を終了し、終了していなければステップ３０からの処理を繰り返す。
【０１０３】
次に、本実施の形態を実現できるハードウェアの構成の一例について図１１を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【０１０４】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像情報、音情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＤＶＤ、ＭＯ、ＦＤ、メモリ、ハードディスク等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【０１０５】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【０１０６】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また区画オブジェクト情報は、このＲＡＭ又は情報記憶媒体上に記憶されることになる。
【０１０７】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１０８】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１０９】
そして図１〜図１０で説明した種々の処理は、所与の処理を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１１０】
図１２（Ａ）に、本実施例を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。装置に内蔵されるＩＣ基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装されている。
【０１１１】
そして所与の操作手段により入力される操作情報により決定される視線情報と、区画オブジェクト情報に基づいて画像を生成するための情報等は、システム基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【０１１２】
図１２（Ｂ）に、本実施の形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【０１１３】
図１２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４-1〜１３０４-nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１１４】
（２）第二の実施の形態
前記第一の実施の形態では、オブジェクト空間を複数の扇型の区画に分割して、１区画を１つのモデルとする区画オブジェクトとして考えた。これに対し、第二の実施の形態においては、オブジェクト空間を複数の扇型の区画に分割する点では第一の実施の形態と共通するが、区画単位にモデルを構成せずに個々のオブジェクト単位でモデル構成する点で相違する。
【０１１５】
そして各オブジェクトを前記扇型の区画に関連づけて記憶させておく。すなわち、モデル情報は図５（Ａ）に示すように個々のオブジェクト単位で有している。
【０１１６】
しかし個々のオブジェクトは、前記扇型の区画に関連づけられているため、図５に示すように区画単位にクリッピング処理をおこなうことができる。
【０１１７】
なお本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。
【０１１８】
区画の形状が扇型である場合を例にとり説明したがこれに限られない。視線方向のみが問題となり、視点位置がほとんど問題とならない場合には扇型が好ましいが、視点位置の移動が問題となる場合には、例えば正方形や長方形の区画を設定してもよい。
【０１１９】
また、区画オブジェクト情報のデータの記憶構造及び記憶内容も本実施の形態の形式に限られない。
【０１２０】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を合成するシステム基板等の種々の装置に適用できる。
【０１２１】
【図面の簡単な説明】
【図１】第一の実施の形態に係る画像生成装置の機能ブロック図の一例である。
【図２】図２（Ａ）（Ｂ）は、第一の実施の形態のオブジェクト空間と区画の関係を説明するための図である。
【図３】図３（Ａ）〜（Ｌ）は、各区画毎に設定された区画オブジェクトを説明するための図である。
【図４】図４（Ａ）（Ｂ）は、区画オブジェクトと個々のオブジェクトのモデル情報について説明するための図である。
【図５】図５（Ａ）（Ｂ）は、区画オブジェクトと個々のオブジェクトのモデル情報について説明するための図である。
【図６】図６（Ａ）（Ｂ）は第一の実施の形態のクリッピング処理について説明するための図である。
【図７】図７（Ａ）〜（Ｆ）は、各区画オブジェクトを合成した図である。
【図８】図８（Ａ）（Ｂ）は、区画のつなぎ目に発生する隙間を防止する手法について説明するための図である。
【図９】図９（Ａ）〜（Ｆ）は、第一の実施の形態の手法を用いて、各区画オブジェクトを合成した様子を表した図である。
【図１０】第一の実施の形態の処理の一例を表すフローチャート図である。
【図１１】第一の実施の形態を実現できるハードウェアの構成の一例である。
【図１２】図１２（Ａ）（Ｂ）（Ｃ）は、本発明が適用される種々の形態の装置を示す図である。
【符号の説明】
１０    操作部
１００  処理部
１１０  ゲーム演算部
１１２  視線方向決定部
１２０  区画オブジェクト情報記憶部
１３０  ３次元演算部
１４０  画像生成部
１５０  情報記憶媒体
１６０  表示部
２２０  区画
２５０  クリッピングエリア
２７０  視点位置
２８０  視線方向
２９０  視野角
３１０  頂点情報
３２０  メッシュ情報
【図１】
0004165722.tif 000002
【図２】
0004165722.tif 000003
【図３】
0004165722.tif 000004
【図４】
0004165722.tif 000005
【図５】
0004165722.tif 000006
【図６】
0004165722.tif 000007
【図７】
0004165722.tif 000008
【図８】
0004165722.tif 000009
【図９】
0004165722.tif 000010
【図１０】
0004165722.tif 000011
【図１１】
0004165722.tif 000012
【図１２】
0004165722.tif 000013