(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、
クリッピング範囲を、シミュレーション状況に基づき変更して設定するクリッピング範囲設定手段と、
前記クリッピング範囲設定手段によって設定されたクリッピング範囲に基づき、視界画像を生成する画像生成手段とを含み、
前記クリッピング範囲設定手段が、
前記オブジェクト空間を複数のブロックに区分し、少なくとも視点位置に基づき与えられるクリッピングブロック数に基づき、ブロック単位で前記クリッピング範囲を設定し、
前記画像生成手段が、
前記クリッピング範囲に属するブロックに含まれるオブジェクトを表示対象オブジェクトとして視界画像を生成することを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記クリッピング範囲設定手段が、
クリッピング範囲に属するブロックを、視点位置に対する相対的な位置情報で特定するためのブロック特定テンプレート情報を視線方向別に複数記憶し、
視線方向に基づき決定される最適なブロック特定テンプレート情報及び視点位置に基づきクリッピング範囲に属するブロックを決定することを特徴とする画像生成装置。
【請求項３】
請求項２において、
前記ブロック特定テンプレート情報が、
隣接するブロック特定テンプレート情報へ切り替える際に生じる不具合を防ぐためのオフセット角を表示視野角に加えた範囲をクリッピング範囲として特定することを特徴とする画像生成装置。
【請求項４】
請求項３において、
前記ブロック特定テンプレート情報が、
視点の周りをｎ分割する複数の視線方向毎に設定されており、少なくとも３６０／２ｎのオフセット角を表示視野角の両端に含んだ範囲をクリッピング範囲として特定することを特徴とする画像生成装置。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記ブロック特定テンプレート情報が、
各ブロックがクリッピング範囲に属するか否かを決定するためのプライオリティ情報を含み、
前記クリッピング範囲設定手段が、
前記プライオリティ情報及び前記クリッピングブロック数に基づき、クリッピング範囲に属するブロックを決定することを特徴とする画像生成装置。
【請求項６】
請求項５において、
前記プライオリティ情報が、奥行きが小さい位置のブロックほど高いプライオリティが与えられるように設定されていることを特徴とする画像生成装置。
【請求項７】
請求項２乃至６のいずれかにおいて、
移動体の位置に基づき視点位置を決定する手段を更に含み、
コース上の移動体の少なくとも位置に関連づけて与えられた前記クリッピングブロック数に基づき、クリッピング範囲に属するブロックを決定することを特徴とする画像生成装置。
【請求項８】
請求項２乃至７のいずれかにおいて、
外部からの操作入力により移動体の位置を演算する位置演算手段と、
コースの周囲に存在するオブジェクトの情報に基づいて決定されたクリッピングブロック数を、コース上の少なくとも位置に関連づけて記憶する道付きデータ記憶手段とを更に含み、
前記クリッピング範囲設定手段が、
前記位置演算手段によって演算された移動体の少なくとも位置と前記クリッピングブロック数と前記ブロック特定テンプレート情報とに基づき、クリッピング範囲に属するブロックを決定することを特徴とする画像生成装置。
【請求項９】
オブジェクト空間内の所与の視点での視界画像を生成するためのプログラムを記憶した情報記憶媒体であって、
クリッピング範囲を、シミュレーション状況に基づき変更して設定するクリッピング範囲設定手段と、
前記変更して設定されたクリッピング範囲に基づき、視界画像を生成する画像生成手段としてコンピュータを機能させるプログラムを記憶し、
前記クリッピング範囲設定手段が、
前記オブジェクト空間を複数のブロックに区分し、少なくとも視点位置に基づき与えられるクリッピングブロック数に基づき、ブロック単位で前記クリッピング範囲を設定し、
前記画像生成手段が、
前記クリッピング範囲に属するブロックに含まれるオブジェクトを表示対象オブジェクトとして視界画像を生成することを特徴とする情報記憶媒体。
【請求項１０】
請求項９において、
前記クリッピング範囲設定手段が、
クリッピング範囲に属するブロックを、視点位置に対する相対的な位置情報で特定するためのブロック特定テンプレート情報を視線方向別に複数記憶し、
視線方向に基づき決定される最適なブロック特定テンプレート情報及び視点位置に基づきクリッピング範囲に属するブロックを決定することを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での視界画像を生成するための画像生成装置及び情報記憶媒体、特にクリッピング範囲を変更できる画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、ゲーム装置などの分野では、入力及び所定のプログラムに従い３次元オブジェクト空間を演算し、これを所与の位置及び方向からみた２次元的な視界画像として表示することが行われている。
【０００３】
このとき、所定の視野角の範囲の視界画像を生成するために、視野内のオブジェクトを選別するためのクリッピング空間を設定し、該クリッピング空間に含まれるオブジェクトの画像の生成を行う。
【０００４】
ところが例えばゲーム装置等のように限られた資源で視界画像の生成をおこなう際には、以下のような不具合が生じていた。
【０００５】
例えばポリゴンオブジェクトで構成された視界画像を生成する場合、視界内に多数のオブジェクトが存在する場合や、ポリゴン数の多いオブジェクトが存在する場合画像処理の負担が増大する。このような場合、クリッピング空間全体の画像処理が表示に合わなくなり、表示オブジェクトの脱落が発生する場合があった。しかも、脱落するオブジェクトは予測不可能であるため、重要なオブジェクトが消えてしまい、不適切な視界画像が生成される可能性もあった。
【０００６】
またブラインドの奥に存在するオブジェクトに対しても表示のための演算を行うために、ＣＰＵの演算負荷が大きくなり、他の演算に処理に重要な影響を及ぼすという問題点もあった。
【０００７】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、クリッピング範囲を任意に変更することによりＣＰＵの演算負荷を軽減し、表示抜け等のない適正な画像を生成する画像生成装置及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、オブジェクト空間内の所与の視点での視界画像を生成する画像生成装置であって、クリッピング範囲を、シミュレーション状況に基づき変更して設定するクリッピング範囲設定手段と、前記クリッピング範囲設定手段によって設定されたクリッピング範囲に基づき、視界画像を生成する画像生成手段とを含むことを特徴とする。
【０００９】
また本発明は、オブジェクト空間内の所与の視点での視界画像を生成する情報記憶媒体であって、クリッピング範囲を、シミュレーション状況に基づき変更して設定するための情報と、前記変更して設定されたクリッピング範囲に基づき、視界画像を生成するための情報とを含むことを特徴とする。
【００１０】
前記クリッピング範囲は２次元的に特定されるものでもよいし、３次元的に特定されるものでもよい。主に２次元的な視線方向の変化をシミュレーションする場合は、２次元的に特定されるクリッピング範囲を設定する事が効率的であり、３次元的な視線方向の変化をシミュレーションする場合は、３次元的に特定されるクリッピング範囲を特定することが好ましい。
【００１１】
本発明によれば、シミュレーション状況に応じてクリッピング範囲の変更を行う。例えばクリッピング範囲を狭くすれば、画像生成処理の対象となるオブジェクトを選別するための範囲がせまくなる。このため、画像生成処理対象となるオブジェクトを絞り込むことができ、画像生成装置の演算負荷を軽減することができる。このように本発明によれば、クリッピング範囲を変更することにより、画像生成装置の演算負荷を軽減することができる。
【００１２】
なお、シミュレーション状況にはゲーム画像を生成する際のゲーム状況を含む。
【００１３】
また本発明は、前記クリッピング範囲設定手段が、視点位置及び視線方向の少なくとも一方に基づき、クリッピング範囲の形状、大きさ及び奥行きの少なくとも一つを変更することを特徴とする。
【００１４】
また本発明の情報記憶媒体は、視点位置及び視線方向の少なくとも一方に基づき、クリッピング範囲の形状、大きさ及び奥行きの少なくとも一つを変更するための情報を含むことを特徴とする。
【００１５】
本発明によれば、視点位置及び視線方向の少なくとも一方に基づいてクリッピング範囲の形状、大きさ及び奥行き等の変更を行う。
【００１６】
一般に、視点位置において視線方向を中心とする視野角の範囲が生成すべき視界画像の範囲となる。従って、視点位置や視線方向が決まることにより、視界画像を生成する際の演算負荷が判断可能となる。従って、それらの情報に基づきクリッピング範囲を変更することにより、演算負荷に応じた最適なクリッピング範囲の設定が可能となる。特に背景に静止物が多い場合は視点位置や視線方向のみで演算負荷が予め予測可能なので、視点位置や視線方向応じた変更情報を予め記憶させておくことも可能となり、さらに演算負荷を軽減することができる。
【００１７】
また本発明は、前記クリッピング範囲設定手段が、前記オブジェクト空間を複数のブロックに区分し、視点位置及び視線方向の少なくとも一方に基づき与えられるクリッピングブロック数に基づき、ブロック単位で前記クリッピング範囲を設定し、前記画像生成手段が、前記クリッピング範囲に属するブロックに含まれるオブジェクトを表示対象オブジェクトとして視界画像を生成することを特徴とする。
【００１８】
また本発明の情報記憶媒体は、前記オブジェクト空間を複数のブロックに区分し、視点位置及び視線方向の少なくとも一方に基づき与えられるクリッピングブロック数に基づき、ブロック単位で前記クリッピング範囲を設定するための情報と、前記クリッピング範囲に属するブロックに含まれるオブジェクトを表示対象オブジェクトとして視界画像を生成するための情報とを含むことを特徴とする。
【００１９】
ブロック単位にクリッピング領域か否か判断できるため、各オブジェクト毎クリッピング領域に属するか否か演算する場合に比べ、少ない演算量ですむ。
【００２０】
ここにおいて静止したオブジェクトについては、予めブロックに関連させて記憶しておくことにより、更に演算負荷を軽減することができる。
【００２１】
またブロック数を特定する事によりクリッピング範囲の大きさが決まるため、効率的に、クリッピング範囲を変更することができる。
【００２２】
また本発明は、前記クリッピング範囲設定手段が、クリッピング範囲に属するブロックを、視点位置に対する相対的な位置情報で特定するためのブロック特定テンプレート情報を視線方向別に複数記憶し、視線方向に基づき決定される最適なブロック特定テンプレート情報及び視点位置に基づきクリッピング範囲に属するブロックを決定することを特徴とする。
【００２３】
また本発明の情報記憶媒体は、クリッピング範囲に属するブロックを、視点位置に対する相対的な位置情報で特定するためのブロック特定テンプレート情報を視線方向別に複数記憶し、視線方向に基づき決定される最適なブロック特定テンプレート情報及び視点位置に基づきクリッピング範囲に属するブロックを決定するための情報を含むことを特徴とする。
【００２４】
本発明によれば、視点位置の座標とテンプレート情報の相対的な位置情報の加減算のみでクリッピング範囲に属するブロックを特定することができるため演算負荷を大幅に軽減することができる。
【００２５】
また本発明は、前記ブロック特定テンプレート情報が、隣接するブロック特定テンプレート情報へ切り替える際に生じる不具合を防ぐためのオフセット角を表示視野角に加えた範囲をクリッピング範囲として特定することを特徴とする。
【００２６】
視野領域は視線方向の移動に伴って変化するが、クリッピング範囲は所与の角度単位に切りわる。従ってクリッピング範囲の大きさと視野領域の大きさが同じであれば、視線の移動に伴うブロック特定テンプレート情報切り換え時には、端のオブジェクトの脱落等が発生する。
【００２７】
本発明によれば視野角にオフセット角を含めた範囲がクリッピング範囲として設定されるため、ブロック特定テンプレート情報切り換え時にも係る不具合を生じることのないクリッピング範囲の設定を行うことができる。
【００２８】
また本発明は、前記ブロック特定テンプレート情報が、視点の周りをｎ分割する複数の視線方向毎に設定されており、少なくとも３６０／２ｎのオフセット角を表示視野角の両端に含んだ範囲をクリッピング範囲として特定することを特徴とする。
【００２９】
このようにすると、視線方向の変化に伴う不具合を生じることなく、最も効率的なクリッピング範囲の設定を行うことができる。
【００３０】
また本発明は、前記ブロック特定テンプレート情報が、各ブロックがクリッピング範囲に属するか否かを決定するためのプライオリティ情報を含み、前記クリッピング範囲設定手段は、前記プライオリティ情報及び前記クリッピングブロック数に基づき、クリッピング範囲に属するブロックを決定することを特徴とする。
【００３１】
このようにすると、少ない演算負荷で、所与のプライオリティに基づくクリッピング範囲の設定、変更を行うことができる。
【００３２】
また本発明は、前記プライオリティ情報が、奥行きが小さい位置のブロックほど高いプライオリティが与えられるように設定されていることを特徴とする。
【００３３】
このようにすると、少ない演算負荷で、奥行きに応じたブロックが含まれたクリッピング範囲の設定、変更を行うことができる。
【００３４】
また本発明は、移動体の位置及び方向の少なくとも一方に基づき視点位置及び視線方向の少なくとも一方を決定する手段を更に含み、コース上の移動体の位置及び方向の少なくとも一方に関連づけて与えられた前記クリッピングブロック数に基づき、クリッピング範囲に属するブロックを決定することを特徴とする。
【００３５】
このようにすると、コース上の移動体の位置や方向でクリッピング範囲の変更を行うことができる。従って、コース上の所与の位置や方向における視野角内に含まれるオブジェクトの状態に応じて、最適なクリッピング範囲を設定しておくことができる。
【００３６】
また本発明は、外部からの操作入力により移動体の位置及び方向の少なくとも一方を演算する位置演算手段と、コースの周囲に存在するオブジェクトの情報に基づいて決定されたクリッピングブロック数を、コース上の位置及び方向の少なくとも一方に関連づけて記憶する道付きデータ記憶手段とを更に含み、前記クリッピング範囲設定手段は、前記位置演算手段によって演算された移動体の位置及び方向の少なくとも一方と前記クリッピングブロック数と前記ブロック特定テンプレート情報とに基づき、クリッピング範囲に属するブロックを決定することを特徴とする。
【００３７】
このようにすると、外部からの操作入力に基づきコース上を移動する移動体の位置や方向に応じてクリッピング範囲を変更することができる。また、コースの周囲に存在するオブジェクトの情報に基づいて決定したクリッピングブロック数を予め記憶させているので、簡単な構成、少ない演算負荷で最適なクリッピング範囲を特定することができる。
【００３８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。なお、以下では本発明をバイクのレーシングゲームに適用した場合を例にとり説明するが、本発明が適用されるのはこれに限られるものではない。
【００３９】
本実施の形態の画像生成装置の特徴は、クリッピング空間を任意に変更することによりＣＰＵの演算負荷を軽減し、表示抜け等のない適正な画像を生成する点にある。
【００４０】
まず本発明の原理について図１を用いて説明する。
【００４１】
図１は、オブジェクト空間内の仮想プレーヤの視界画像のクリッピング範囲を説明するための図である。クリッピング範囲とは、表示対象となるオブジェクトを選別するための範囲である。即ちクリッピング範囲に含まれるオブジェクトは表示対象となり、クリッピング範囲に含まれないオブジェクトは表示対象とならない。同図において、四角錐ＯＡＢＣＤが、仮想プレーヤ２１０の視界画像を生成するためのクリッピング範囲２２０となる。従って、前記クリッピング範囲２１０内に存在するオブジェクト２４０、２５０は表示対象となり前記クリッピング範囲２１０外に存在するオブジェクト２６０は表示対象とならない。係るクリッピング範囲２２０は通常、視野角や奥行き等により所定の形状に特定される。
【００４２】
本発明では、ＣＰＵの演算負荷や視点位置や視線方向等に基づいて、前記クリッピング範囲の形状、奥行き、大きさ等の変更を行う。例えば、前回のフレームにおいて画像生成のための演算負荷が大きすぎた場合や、視点位置や視線方向によって視界内に画像生成のための演算負荷が高いオブジェクトが多いと判断した場合には、クリッピング範囲２２０を四角錐ＯＡ’Ｂ’Ｃ’Ｄ’に変更する。即ちクリッピング範囲２２０を視点座標系（Ｘｖ、Ｙｖ、Ｚｖ）における奥行きが小さくなるように変更するのである。このようにすると、オブジェクト２５０が表示対象からはずれ、画像生成のためのＣＰＵの処理負担が軽減される。
【００４３】
次に本発明の原理を用いてクリッピング範囲の設定及び奥行きの変更を行う画像生成装置の一例をレーシングゲームを例にとり説明する。本実施の形態は、オブジェクト空間を複数のブロックに分割し、クリッピング範囲の奥行きをブロック単位で特定、変更する例である。
【００４４】
図２は、複数のブロックＢij３１０に分割されたオブジェクト空間２００、及びそこに設けられたコース３２０を示したＸＺ平面図である。本実施例はドライブゲームなので、垂直方向への移動に伴う視野範囲の変動はほとんど問題にならないため、オブジェクト空間２００をＸ座標、Ｚ座標の所定単位毎に、底面が正方形でＹ軸方向に高さを有する直方体である複数のブロックブロックＢij３１０（ｉ、ｊは１〜ｍの自然数）に分割している。そしてオブジェクト空間内の各ブロックＢijは絶対位置座標（ＢＸw、ＢＹw）で特定することができるように構成されている。
【００４５】
図３は、オブジェクト空間２００と各ブロックＢij３１０の関係の３次元的なイメージを表した図である。各ブロックは、同図に示すように底面が正方形でＹ軸方向に高さを有する直方体である。
【００４６】
本実施の形態では、クリッピング範囲を決定する場合にもブロック単位で行っている。即ちクリッピング範囲に属するブロックを特定し、該ブロック内に存在するオブジェクトを表示対象とする。
【００４７】
ここにおいて、静止したオブジェクトについては、どのブロックに存在するかは予め決まっているので、予め静止したオブジェクトとブロックを関連させて記憶させておく。例えば図３において、オブジェクト３５０−Ｌ、３５０−ＳをブロックＢ１１に、オブジェクト３５０−ＭをブロックＢ４１に関連づけて記憶させておく。
【００４８】
このようにすればクリッピング範囲に属するブロックを確定すれば、自動的にクリッピング範囲に属するオブジェクトも選別することができる。従って各オブジェクト毎にクリッピング範囲に属するか否かを決定する場合に比べ演算負荷を軽減することができる。
【００４９】
次に、クリッピングブロック数について説明する。
【００５０】
レーシングゲームでは、プレーヤバイク３３０の移動は図２に示すように所定のコース３１０に沿って行われる。このようなレーシングゲームではバイク等の移動物以外は固定した位置に置かれているため、コース上位置及び視線方向が特定されると、画像生成ための演算負荷が予想できる。また、視界前方に壁等のブラインドがあり、その向こうにあるオブジェクトは表示対象にならない等の状況が発生する場所も予想できる。
【００５１】
従って本実施の形態は、予めコースの各ポイント毎にクリッピング範囲の奥行きの変更に関する情報を持たせている。具体的には、前記クリッピング範囲の奥行きの変更に関する情報として、コース上１ｍ毎にクリッピングブロック数を持たせている。そしてこのクリッピングブロック数を場所のより変化させることで、クリッピング範囲の奥行きを変更することができる。
【００５２】
図４はコースに沿って、前記クリッピングブロック数が与えられている様子を説明するための図である。コース３２０は、１ｍ単位で区分されて各区分３６０−１〜６６０−１１毎にクリッピングブロック数が与えられている。ここでは、説明を簡単にするため、クリッピングブロック数はコース上の位置で決定され、同じ位置ではどの方向も同じ値であるとする。
【００５３】
例えばプレーヤバイクが３７０−１の位置にある場合には、区分３６０−５に属しており、クリッピングブロック数は２００個となる。またプレーヤバイクが３７０−２の位置にある場合には、区分３６０−１１に属しており、クリッピングブロック数は４００個となる。従ってプレーヤバイクが３７０−１の位置にある場合には奥行きの小さいクリッピング範囲が設定され、プレーヤバイクが３７０−２の位置にある場合には奥行きの大きなクリッピング範囲が設定される。３７０−１の位置はカーブで見通しが悪いため遠くまで表示する必要ないのに対し、３７０−２の位置は前方が直線で見通しが良いため遠くまで表示する必要があるからである。
【００５４】
次にクリッピングブロック数に基づき、クリッピング範囲となるブロックを特定する手法について説明する。本実施の形態では、視点位置と視線が決まれば簡単な加減算のみでクリッピング範囲となるブロックを特定することができるようブロック特定テンプレート情報を用いている。
【００５５】
ブロック特定テンプレート情報は、クリッピング範囲に属するブロックを、視点位置に対する相対的な位置情報で特定するためのものである。本実施の形態では３６０度を３２分割して３２方向の各視線方向毎に前記ブロック特定テンプレート情報を有している。
【００５６】
図５はあるブロック特定テンプレート情報を用いてクリッピング範囲に属する最大ブロック群を特定する様子を模式的に表した図である。なお、説明を簡単にするため、図５及び図６においては、クリッピング範囲に含まれるブロック数を少なくして説明している。本実施の形態では、位置によって異なるクリッピングブロックが与えられるため、クリッピングブロック数の最大値に合わせてブロック特定テンプレート情報を持たせている。即ち、クリッピングブロック数の最大値が与えられた場合に前記ブロック特定テンプレート情報に特定されるブロック群が、前記最大ブロック群である。
【００５７】
この最大ブロック群が図５において斜線部分４３０で示されているブロックである。クリッピングブロック数が変更された場合には、この最大ブロック群に属するブロックの中から、前記クリッピングブロック数分だけのブロックが抽出されることになる。
【００５８】
本実施の形態では、前記クリッピングブロック数に基づき、クリッピング範囲の奥行き方向（図５の４４０で示された方向）を変更している。このため、視点位置４１０に近いブロックから、クリッピングブロック数分抽出されることになる。  このような抽出を少ない演算負荷で効率よく行うために、前記最大ブロック群に属する各ブロックにはプライオリティ情報が与えられている。
【００５９】
図６は、前記ブロック特定テンプレート情報の最大ブロック群に含まれる各ブロックにプライオリティ情報が与えられている様子を模式的に示した図である。同図には、奥行きの小さいほうのブロックから順に１から４３までのプライオリティが与えられている様子が示されている。
【００６０】
従って例えば、クリッピングブロック数として２４が与えられている場合には最大ブロック群に属するブロックの内１から２４までのプライオリティが与えられているブロック群（４５０の斜線で示されたブロックの集合）がクリッピング範囲に属するブロックとなる。そして、２５から４３までのプライオリティが与えれれているブロック群（４６０の斜線で示されたブロックの集合）はクリッピング範囲に属さないブロックとなる。
【００６１】
このように視点からの奥行きに従ってプライオリティ情報を持たせておくことで、クリッピングブロック数に応じたクリッピング範囲を少ない演算負荷で特定することができる。
【００６２】
次に、ブロック特定テンプレート情報によって視点位置からの相対位置座標で特定されたブロックを、オブジェクト空間における絶対座標位置座標（ＢＸw、ＢＹw）で特定する手法について説明する。
【００６３】
前記ブロック特定テンプレート情報は、最大ブロック群に属するブロックを特定するための情報を視点位置４１０対する相対的な位置情報で持っている。例えば視点位置４１０の存在するブロックＢ０（以下視点ブロックという）を原点（０、０）として、ブロックＢ１を視点ブロックに対する相対位置座標（−１、１）で特定する。このように、前記ブロック特定テンプレート情報は、クリッピング範囲に属する最大ブロック群（斜線で表されたブロックの集合）に属するブロックの視点ブロックに対する相対位置座標を有しているのである。
【００６４】
このようにすると、視点ブロックの絶対位置を表す座標に、前記視点ブロックに対する相対位置座標を加減算するだけで、クリッピング範囲に属する最大ブロック群にの絶対位置座標を特定することができる。
【００６５】
次に、視野領域とブロック特定テンプレート情報がカバーするクリッピング範囲との関係について説明する。
【００６６】
本実施の形態では、係るブロック特定テンプレート情報を、３２パターン有している。図７は視点位置４１０の周りを３２分割した視線方向を示した図である。同図における各視線方向４８０−１、４８０−２…に対応した３２パターンのブロック特定テンプレート情報を本実施の形態では有している。
【００６７】
視野領域の中心である視線方向が図７の斜線部分４９０にはいっていれば、４８０−１の視線方向のブロック特定テンプレート情報を用いてクリッピング範囲に属するブロックを特定することになる。そして、視線方向が時計回りにすこしずれて前記斜線部分４９０の右側にくると、４８０−２の視線方向のブロック特定テンプレート情報を用いてクリッピング範囲に属するブロックを特定することになる。また、視線方向が反時計回りにすこしずれて前記斜線部分４９０の左側にくると、４８０−３２の視線方向のブロック特定テンプレート情報を用いてクリッピング範囲に属するブロックを特定することになる。
【００６８】
このように予め視線方向別に複数のブロック特定テンプレート情報を用意しておくと、視線方向の変化に対してブロック特定テンプレート情報を切り換えるだけでよい。従って、少ない演算負荷で視線方向に応じたクリッピング範囲のブロックを特定することができる。
【００６９】
図８はブロック特定テンプレート情報の切り換えを説明するための模式的な図である。
【００７０】
図８において視線方向が７１０の範囲内にある時はＯＣを視線方向として扇形ＯＡＢに属するブロックをクリッピング範囲として特定するためのブロック特定テンプレート情報を用いる。例えば視線方向が図８のＯＰ方向であった場合には、前記７１０の範囲内であるため、扇形ＯＡＢに属するブロックで特定される範囲（以下扇型ＯＡＢの範囲という）がクリッピング範囲となる。そして視線方向が少しずれて、図８のＯＰ’方向になった場合、視線方向が７２０の範囲となるため、ＯＣ’を視線方向として扇形ＯＡ’Ｂ’に属するブロックをクリッピング範囲として特定するためのブロック特定テンプレート情報に切り替える。従って扇形ＯＡ’Ｂ’に属するブロックで特定される範囲（以下扇型ＯＡ’Ｂ’の範囲という）がクリッピング範囲となる。
【００７１】
このとき視線方向はＯＰ方向からＯＰ’方向へとわずかしかずれていないのにクリッピング範囲は扇型ＯＡＢから扇型ＯＡ’Ｂ’に切り替わっている。
【００７２】
このようなブロック特定テンプレート情報の切り換えは所与の角度単位、図７の場合は３６０度を３２分割した１１．２５度の角度単位で行われる。
【００７３】
ここにおいて、視野領域は視線方向の移動に伴って変化するが、クリッピング範囲は所与の角度単位に切りわる。従ってクリッピング範囲の大きさと視野領域の大きさが同じであれば、視線の移動に伴うブロック特定テンプレート情報切り換え時には、端のオブジェクトの脱落等が発生する。
【００７４】
従って、視線の移動に伴い、隣接するブロック特定テンプレート情報に切り換える場合、視野角の端のオブジェクトが脱落するという不具合が生じないように、本実施の形態で以下のようにクリッピング範囲を定めている。
【００７５】
図９は、ブロック特定テンプレート情報で特定されるクリッピング範囲と視野領域の関係を説明するための図である。図９に示すように、クリッピング範囲７３０は、視野角αに応じて設定された視野領域７４０と、その左右に設けられた左オフセット領域７５０と右オフセット領域７６０からなる。左右のオフセット領域７５０、７６０の角度βは５．６５度に設定されている。前記１１．２５度を左右で５．６５度ずつ保証する用に設定されたものである。このようにすると、ブロック特定テンプレート情報切り換え時にも、視界の端が切れたりすることのないクリッピング範囲の設定を行うことができる。
【００７６】
図１０に本実施の形態に係る画像生成装置の機能ブロック図の一例を示す。ここで操作部１０は、プレーヤが、ゲーム用のバイク筐体に設けられたアクセル、ブレーキ、グリップ等を操作したり、車体をローリングするすることで操作情報を入力するためのものである。操作部１０にて得られた操作情報は処理部２０に入力される。
【００７７】
処理部２０は、この操作情報と、所与のプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間を設定する処理等を行うものであり、例えばＣＰＵ、メモリなどのハードウェアにより構成される。
【００７８】
画像生成部３０は、この設定されたオブジェクト空間内の所与の視点にて見える視界画像を生成する処理を行うものであり、例えばＣＰＵ、ＤＳＰ、画像生成専用のＩＣ、メモリなどのハードウェアにより構成される。画像生成部３０により得られた視界画像は表示部４０において表示される。
【００７９】
情報記憶媒体５０は、プログラムやデータを記憶するものである。この情報記憶媒体５０の機能は、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、ＤＶＤ、メモリ、ハードディスクなどのハードウェアにより実現できる。処理部２０は、この情報記憶媒体５０からのプログラム、データに基づいて種々の処理を行うことになる。
【００８０】
処理部２０は、位置演算部２２、クリッピング範囲設定部２４、道付きデータ記憶部２６、ブロック特定テンプレート情報記憶部２８を含む。
【００８１】
ここで位置演算部２２は、移動物の位置及び方向を演算する。例えば、プレーヤバイクの位置及び方向を、操作部１０からの操作入力に基づき演算する。本実施の形態では表示部４０には、プレーヤバイクに乗車した仮想プレーヤの視点からの視界画像やこの仮想プレーヤの後方上空からゲーム空間を俯瞰する視点からの視界画像が表示される。これらの視点位置や視線方向は前記仮想プレーヤバイクの位置や方向に基づき決定されることになる。
【００８２】
プレーヤバイクの位置はコース上のどの位置にいるか、例えばスタート地点からのＮｍの位置にいる場合には、その距離情報たる１次元のパラメータで扱われる。
【００８３】
道付きデータ記憶部２６には、コース上の各ポイントに沿って、道の滑り具合や風の強さ、その他のゲームや画像生成に必要なデータが道付きのデータ（以下道付きデータという）として予め記憶されている。クリッピングブロック数も係る道付きデータの一つとして記憶されている。
【００８４】
図１１は、道付きデータ記憶部２６に記憶されているクリッピングブロック数を、図４のコース部分を例にとり図示したものである。同図に示すように、道付きデータ記憶部２６には、コース上の位置５２０とその位置におけるクリッピングブロック数５３０が対応づけて記憶されている。コース上の位置は、前記位置演算部２２が演算するプレーヤバイクの位置と同様にスタート地点からの距離に対応している。例えばプレーヤバイクがスタート地点からＮ＋３（ｍ）の地点にいる場合（図１１の５１０の場合）には、クリッピングブロック数は３００個である。
【００８５】
ブロック特定テンプレート情報記憶部２８には、図５〜図９で説明したブロック特定テンプレート情報が記憶されている。本実施の形態では、３２分割された視線方向毎に３２パターンのブロック特定テンプレート情報が記憶されている。ブロック特定テンプレート情報には、各視線方向毎にクリッピング範囲を構成する最大ブロック群の視点位置に対する相対位置座標と、各ブロック毎のプライオリティ情報が記憶されている。
【００８６】
図１２は、ブロック特定テンプレート情報記憶部２８に記憶されているブロック特定テンプレート情報の一例を示した図である。同図に示すようにテンプレート情報記憶部２８には、３２分割された視線方向毎に、クリッピング範囲の最大ブロック群の各ブロックの相対位置座標６２０が、プライオリティ順に配列されている。
【００８７】
従って視線方向が与えられると、３２分割された視線方向テーブル６１０から該当する範囲を決定し、使用するブロック特定テンプレート情報を決定することができる。例えば与えられた視線方向が１８度であったとすれば、６１２の視線方向の範囲に含まれるので１１．２５度〜２２．５度のブロック特定テンプレート情報を使用することになる。即ち、図１２において斜線部分６３０で示されるブロック特定テンプレート情報の最大ブロック群に属するブロックの相対位置座標６２０を用いてクリッピング範囲に属するブロックを特定することができる。
【００８８】
相対位置座標とは、図５で説明した視点ブロックに対する相対位置座標である。従ってクリッピング範囲に属するあるブロックＢijの相対位置座標（Ｘij、Ｙij）、視点ブロックの絶対位置を表す座標が（ＳＸw、ＳＹw）とすると、このブロックＢijの絶対位置座標（ＢＸw、ＢＹw）は以下のように演算される。
【００８９】
ＢＸw  ＝  ＳＸw  ＋  Ｘij              …    （１）
ＢＹw  ＝  ＳＹw  ＋  Ｙij              …    （２）
従ってクリッピング範囲に属するブロックＢijの相対位置座標（Ｘij、Ｙij）と、視点ブロックの絶対位置を表す座標（ＳＸw、ＳＹw）の加減算のみで、このブロックＢijの絶対位置座標（ＢＸw、ＢＹw）を特定することができる。
【００９０】
また、前記クリッピング範囲の最大ブロック群の各ブロックの相対位置座標６２０は、プライオリティ順に配列されているので、例えばクリッピングブロック数としてＮが与えられれば、１からＮ番目までの各ブロックの相対位置座標６２０を読み出して、クリッピング範囲を構成するブロックを特定することができる。
【００９１】
クリッピング範囲設定部２４は、プレーヤバイクの位置及び方向に基づき、クリッピングブロック数及び視線方向の含まれる範囲のブロック特定テンプレート情報を用いて、クリッピング範囲に属するブロックを特定する。
【００９２】
具体的には、各フレーム毎に位置演算部２２からプレーヤバイクの位置及び方向情報を受け取り、前記位置情報に対応するクリッピングブロック数を道付きデータ記憶部２６から読み出す。
【００９３】
また、プレーヤバイクの方向情報に基づき視線方向を決定して、該視線方向に対応するブロック特定テンプレート情報を、テンプレート情報記憶部２８から読み出す。そして前記（１）（２）の演算を行いクリッピング範囲に属するブロックを特定する。
【００９４】
図１３（Ａ）（Ｂ）に、本実施の形態の画像生成装置により生成される画像の例を示す。図１３（Ａ）は、コース上見通しのよい点での画像の例であり、図３（Ｂ）は、コースの周囲が壁等に覆われて見通しの悪い点での画像の例である。図１３（Ａ）に示すような見通しのよい点では遠くに存在するオブジェクトも視界内に入るため、クリッピング範囲の奥行きを大きくすることが好ましい。従って、図１３（Ａ）に対応するコース上の位置のクリッピングブロック数には大きい値が与えられている。
【００９５】
一方、図１３（Ｂ）は、コースの周囲が壁等に覆われているため、壁の向こうに存在するオブジェクトの画像を生成する必要はない。そこで、クリッピング範囲の奥行きを小さくして、画像生成の対象となるオブジェクトを絞り込むことで、演算負荷を軽くすることが好ましい。従って、図１３（Ｂ）に対応するコース上の位置のクリッピングブロック数には小さい値が与えられている。
【００９６】
本実施の形態の動作について図１４のフローチャートを用いて説明する。
【００９７】
まず、位置演算部２２が、操作部１０からの操作入力に基づき、プレーヤバイクの位置及び方向を演算する（ステップＳ１０）。
【００９８】
そして、クリッピング範囲設定部２４は、前記プレーヤバイクの位置及び方向の情報を受け取り、プレーヤバイクの位置に基づき、道付きデータ記憶部２６からクリッピングブロック数を読み出す（ステップＳ２０）。
【００９９】
また、クリッピング範囲設定部２４は、前記プレーヤバイクの方向に基づき、使用するブロック特定テンプレート情報をブロック特定テンプレート情報記憶部から読み出す（ステップＳ３０）。
【０１００】
そして、クリッピング範囲設定部２４は、前記クリッピングブロック数及びブロック特定テンプレート情報に基づき、クリッピング範囲に属するブロックを特定する（ステップＳ４０）。
【０１０１】
そして画像生成部３０は、前記クリッピング範囲に属するブロックに属するオブジェクトを表示対象オブジェクトとして選別し（ステップＳ５０）、前記表示対象オブジェクトの画像を生成する（ステップＳ６０）。
【０１０２】
次に、本実施の形態を実現できるハードウェアの構成の一例について図１５を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【０１０３】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像情報、音情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＤＶＤ、ＭＯ、ＦＤ、メモリ、ハードディスク等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【０１０４】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【０１０５】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また道付きデータとして与えられるクリッピングブロック数やブロック特定テンプレート情報は、このＲＡＭ又は情報記憶媒体上に記憶されることになる。
【０１０６】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１０７】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１０８】
そして図１〜図１４で説明した種々の処理は、所与の処理を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１０９】
図１６は、本実施の形態を業務用ゲーム装置に適用した場合のバイク筐体の外観図である。プレーヤはディスプレイ１１００上に映し出されたゲーム画像を見ながら、グリップ１１０１が設けられたハンドルを前後操作することにより進行方向を操作し、アクセル１１０２、ブレーキ１１０４を操作することにより加速や減速を行い、車体をローリングさせたりして、画面上の移動体１１０３を操作しゲームを楽しむ。
【０１１０】
図１６に示された業務用ゲーム装置に内蔵されるシステム基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装されている。そして所与の操作手段により入力される操作情報と、クリッピングブロック数及びブロック特定テンプレート情報とに基づいてクリッピング範囲に属するブロックを特定し、該ブロックに含まれるオブジェクトの画像を生成するための情報等は、システム基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【０１１１】
図１７（Ａ）に、本実施の形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【０１１２】
図１７（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【０１１３】
なお本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。
【０１１４】
例えば上記実施の形態では、プレーヤバイクが２次元的に移動するもの例にとり説明したが、３次元空間を自由に移動するようなものに適用してもよい。このような場合にはオブジェクト空間のＹ軸方向にもブロックを分割し、３次元的にブロックを特定することのできるブロック特定テンプレート情報を用いるようにしてもよい。
【０１１５】
また、本実施の形態ではクリッピング範囲を２次元的に設定、変更を行う場合を例にとり説明したがこれに限られない。例えばクリッピング範囲を３次元的なクリッピング空間として設定、変更するような場合でもよい。
【０１１６】
また、本実施の形態ではクリッピング範囲の奥行きを変更する場合を例にととり説明したがこれに限られない。例えばクリッピング範囲の画角方向を変更するようにしても良いし、形状等を変更するようにしてもよい。このような変更に対応するようなプライオリティ情報をブロック特定テンプレート情報に持たせておけば、少ない演算負荷でクリッピング範囲の形状等を変更することができる。  また、本実施の形態では、視点位置のみでクリッピング範囲を変更する場合を例にとり説明したがこれに限られない。例えば、視点位置及び視点方向に基づき変更する用にしても良い。
【０１１７】
また、本実施の形態では、道付きでクリッピング範囲を変更するデータを与えている場合を例にとり説明したがこれに限られない。例えば、位置座標及び方向でクリッピング範囲を変更するデータを与える構成でもよい。
【０１１８】
また、本実施の形態では、ブロック単位でクリッピング範囲を設定変更する場合を例にとり説明したがこれに限られない。クリッピング範囲に属するオブジェクトを直接選別するような場合でもよい。
【０１１９】
また、本実施の形態では、視点位置や視線方向に応じて最適な変更用のデータを予め作成しておく場合を例にとり説明したがこれに限られない。前のフレームの演算負荷に応じて、リアルタイムにクリッピング範囲を変更するようにしてもよい。
【０１２０】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を合成するシステム基板等の種々の装置に適用できる。
【０１２１】
【図面の簡単な説明】
【図１】オブジェクト空間内の仮想プレーヤの視界画像のクリッピング範囲を説明するための図である。
【図２】複数のブロックＢijに分割されたオブジェクト空間及びそこに設けられたコースを示したＸＺ平面図である。
【図３】オブジェクト空間と各ブロックＢijの関係の３次元的なイメージを表した図である。
【図４】コースに沿ってクリッピングブロック数が与えられている様子を説明するための図である。
【図５】ブロック特定テンプレート情報を用いてクリッピング範囲に属する最大ブロック群を特定する様子を模式的に表した図である。
【図６】ブロック特定テンプレート情報の最大ブロック群に含まれる各ブロックにプライオリティ情報が与えられている様子を模式的に示した図である。
【図７】視点の周りを３２分割した視線方向を示した図である。
【図８】ブロック特定テンプレート情報の切り換えを説明するための模式的な図である。
【図９】ブロック特定テンプレート情報で特定されるクリッピング範囲と視野領域の関係を説明するための図である。
【図１０】本実施の形態に係る画像生成装置の機能ブロック図の一例を示す。
【図１１】道付きデータ記憶部に記憶されているクリッピングブロック数を、例示したものである。
【図１２】ブロック特定テンプレート情報記憶部に記憶されているブロック特定テンプレート情報の一例を示した図である。
【図１３】同図（Ａ）（Ｂ）に、本実施の形態の画像生成装置により生成される画像の例を示す。
【図１４】本実施の形態の動作を説明するためのフローチャート図である。
【図１５】本実施の形態を実現できるハードウェアの構成の一例である。
【図１６】本実施の形態を業務用ゲーム装置に適用した場合のバイク筐体の外観図である。
【図１７】同図（Ａ）（Ｂ）は、本実施の形態が適用される種々の形態の装置について説明するための図である。
【符号の説明】
１０  操作部
２０  処理部
２２  位置演算部
２４  クリッピング範囲設定部
２６  道付きデータ記憶部
２８  ブロック特定テンプレート情報記憶部
３０  画像生成部
４０  表示部
５０  情報記憶媒体
【図１】
0004003898.tif 000002
【図２】
0004003898.tif 000003
【図３】
0004003898.tif 000004
【図４】
0004003898.tif 000005
【図５】
0004003898.tif 000006
【図６】
0004003898.tif 000007
【図７】
0004003898.tif 000008
【図８】
0004003898.tif 000009
【図９】
0004003898.tif 000010
【図１０】
0004003898.tif 000011
【図１１】
0004003898.tif 000012
【図１２】
0004003898.tif 000013
【図１３】
0004003898.tif 000014
【図１４】
0004003898.tif 000015
【図１５】
0004003898.tif 000016
【図１６】
0004003898.tif 000017
【図１７】
0004003898.tif 000018