(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
前記オブジェクト空間に配置されるマップにおいてマトリクス状に設定された第１〜第ｎの位置（ｎは４以上の整数）での第１〜第ｎの高さ情報の各々を時間経過に伴い変化させる高さ情報変化手段と、
移動体の位置情報、方向情報を演算する移動体情報演算手段と、
前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、前記第１〜第ｎの高さ情報の少なくとも１つに基づいて変化させる演算処理を行う視点変化手段と、
変化する前記視点位置、前記視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記移動体情報演算手段は、
移動体がいる位置でのマップの高さ情報の増減を判断し、移動体がいる位置での高さ情報が減少しており所与のジャンプ条件を満たす場合には、移動体にジャンプ動作を行わせ、移動体がいる位置での高さ情報が減少しており前記ジャンプ条件を満たさない場合には、マップの高さ情報の変化に追従するように移動体の高さ情報を変化させる演算処理を行い、
移動体がいる位置でのマップの高さ情報が増加している場合には、マップの高さ情報の変化に追従するように移動体の高さ情報を変化させる演算処理を行うことを特徴とする３次元シミュレータ装置。
【請求項２】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
前記オブジェクト空間に配置されるマップにおいてマトリクス状に設定された第１〜第ｎの位置（ｎは４以上の整数）での第１〜第ｎの高さ情報を含む第１の高さ情報ファイルと、該第１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報に所与の時間変化成分を加えた第１〜第ｎの高さ情報を含む第２の高さ情報ファイルと・・・・・第（ｋ−１）の高さ情報ファイルに含まれる第１〜第ｎの高さ情報に所与の時間変化成分を加えた第１〜第ｎの高さ情報を含む第ｋの高さ情報ファイルとを記憶する高さ情報ファイル記憶手段と、
マップのオブジェクト番号とマップの表示位置を特定するための情報とを含むマップ特定情報を記憶する手段であって、表示するマップを特定する第１のマップ特定情報と、第１のマップ特定情報により特定されるマップの表示から所与の時間経過後に表示するマップを特定する第２のマップ特定情報と・・・・・第（ｊ−１）のマップ特定情報により特定されるマップの表示から所与の時間経過後に表示するマップを特定する第ｊのマップ特定情報とを記憶するマップ特定情報記憶手段と、
前記第１〜第ｋの高さ情報ファイルを前記高さ情報ファイル記憶手段から時間経過に伴い順次読み出す第１の読み出し手段と、
前記第１〜第ｊのマップ特定情報を前記マップ特定情報記憶手段から時間経過に伴い順次読み出す第２の読み出し手段と、
前記第１の読み出し手段により第１、第２の高さ情報ファイルが読み出された場合には、第１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第２の高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間処理を行い、前記第１の読み出し手段により第２、第３の高さ情報ファイルが読み出された場合には、第２の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第３の高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間処理を行い・・・・・、前記第１の読み出し手段により第ｋ−１、第ｋの高さ情報ファイルが読み出された場合には、第ｋ−１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第ｋの高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間演算処理を行う補間処理手段と、
前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、読み出された高さ情報ファイルに含まれる少なくとも１つの高さ情報に基づいて変化させる演算処理を行う視点変化手段と、
変化する前記視点位置、前記視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記画像合成手段は、
前記第２の読み出し手段により読み出されたマップ特定情報により特定されるマップの画像が表示される視界画像を合成し、
前記視点変化手段は、
補間処理により得られた高さ情報に基づいて、前記視点位置及び前記視線方向の少なくとも一方を変化させる演算処理を行うことを特徴とする３次元シミュレータ装置。
【請求項３】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
前記オブジェクト空間に配置されるマップにおいてマトリクス状に設定された第１〜第ｎの位置（ｎは４以上の整数）での第１〜第ｎの高さ情報の各々を時間経過に伴い変化させる高さ情報変化手段と、
前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、前記第１〜第ｎの高さ情報の少なくとも１つに基づいて変化させる演算処理を行う視点変化手段と、
変化する前記視点位置、前記視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記画像合成手段は、
前記マップの画像であるマップ画像が時間経過に伴い変化する視界画像を合成し、
前記高さ情報変化手段は、
前記マップ画像の変化よりも短い時間間隔で、前記第１〜第ｎの高さ情報を変化させる演算処理を行うことを特徴とする３次元シミュレータ装置。
【請求項４】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
前記オブジェクト空間に配置されるマップにおいてマトリクス状に設定された第１〜第ｎの位置（ｎは４以上の整数）での第１〜第ｎの高さ情報の各々を時間経過に伴い変化させる高さ情報変化ステップと、
移動体の位置情報、方向情報を演算する移動体情報演算ステップと、
前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、前記第１〜第ｎの高さ情報の少なくとも１つに基づいて変化させる視点変化ステップと、
変化する前記視点位置、前記視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記移動体情報演算ステップでは、
移動体がいる位置でのマップの高さ情報の増減を判断し、移動体がいる位置での高さ情報が減少しており所与のジャンプ条件を満たす場合には、移動体にジャンプ動作を行わせ、移動体がいる位置での高さ情報が減少しており前記ジャンプ条件を満たさない場合には、マップの高さ情報の変化に追従するように移動体の高さ情報を変化させる演算処理を行い、
移動体がいる位置でのマップの高さ情報が増加している場合には、マップの高さ情報の変化に追従するように移動体の高さ情報を変化させる演算処理を行うことを特徴とする画像合成方法。
【請求項５】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
前記オブジェクト空間に配置されるマップにおいてマトリクス状に設定された第１〜第ｎの位置（ｎは４以上の整数）での第１〜第ｎの高さ情報を含む第１の高さ情報ファイルと、該第１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報に所与の時間変化成分を加えた第１〜第ｎの高さ情報を含む第２の高さ情報ファイルと・・・・・第（ｋ−１）の高さ情報ファイルに含まれる第１〜第ｎの高さ情報に所与の時間変化成分を加えた第１〜第ｎの高さ情報を含む第ｋの高さ情報ファイルとを、高さ情報ファイル記憶手段に記憶させるステップと、
マップのオブジェクト番号とマップの表示位置を特定するための情報とを含むマップ特定情報をマップ特定情報記憶手段に記憶させるステップであって、表示するマップを特定する第１のマップ特定情報と、第１のマップ特定情報により特定されるマップの表示から所与の時間経過後に表示するマップを特定する第２のマップ特定情報と・・・・・第（ｊ−１）のマップ特定情報により特定されるマップの表示から所与の時間経過後に表示するマップを特定する第ｊのマップ特定情報とを、マップ特定情報記憶手段に記憶させるステップと、
前記第１〜第ｋの高さ情報ファイルを前記高さ情報ファイル記憶手段から時間経過に伴い順次読み出す第１の読み出しステップと、
前記第１〜第ｊのマップ特定情報を前記マップ特定情報記憶手段から時間経過に伴い順次読み出す第２の読み出しステップと、
前記第１の読み出しステップにより第１、第２の高さ情報ファイルが読み出された場合には、第１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第２の高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間処理を行い、前記第１の読み出しステップにより第２、第３の高さ情報ファイルが読み出された場合には、第２の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第３の高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間処理を行い・・・・・、前記第１の読み出しステップにより第ｋ−１、第ｋの高さ情報ファイルが読み出された場合には、第ｋ−１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第ｋの高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間演算処理を行う補間処理ステップと、
前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、読み出された高さ情報ファイルに含まれる少なくとも１つの高さ情報に基づいて変化させる演算処理を行う視点変化ステップと、
変化する前記視点位置、前記視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記画像合成ステップでは、
前記第２の読み出しステップにより読み出されたマップ特定情報により特定されるマップの画像が表示される視界画像を合成し、
前記視点変化ステップでは、
補間処理により得られた高さ情報に基づいて、前記視点位置及び前記視線方向の少なくとも一方を変化させる演算処理を行うことを特徴とする画像合成方法。
【請求項６】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
前記オブジェクト空間に配置されるマップにおいてマトリクス状に設定された第１〜第ｎの位置（ｎは４以上の整数）での第１〜第ｎの高さ情報の各々を時間経過に伴い変化させる高さ情報変化ステップと、
前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、前記第１〜第ｎの高さ情報の少なくとも１つに基づいて変化させる演算処理を行う視点変化ステップと、
変化する前記視点位置、前記視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記画像合成ステップでは、
前記マップの画像であるマップ画像が時間経過に伴い変化する視界画像を合成し、
前記高さ情報変化ステップでは、
前記マップ画像の変化よりも短い時間間隔で、前記第１〜第ｎの高さ情報を変化させる演算処理を行うことを特徴とする画像合成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内での視界画像の合成が可能な３次元シミュレータ装置及び画像合成方法に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に表示物を表すオブジェクトを配置し、所与の視点位置からの視界画像を合成する３次元シミュレータ装置が公知であり、プレーヤがいわゆる仮想的な現実感を体感できるものとして人気が高い。
【０００３】
この種の３次元シミュレータ装置では、いわゆる仮想現実感をプレーヤに体験させるために、よりリアルな表現が要求されている。このため３次元レーシングゲーム装置を例にとれば、オブジェクト空間内に３次元的に形成されたコースを配置し、コースのアップダウンにより視界画像を変化させるといった試みがなされている。即ち例えば上り坂においては視点位置を高くしてゆき、下り坂においては視点位置を低くしてゆく。このようにすることで、現実の道路を走行しているような感覚をプレーヤは得ることができ、ゲームのリアル感を増すことができる。
【０００４】
しかしながら、このようなゲーム装置では、コースの各位置での高さは時間的に固定されていた。そして水上バイク、モータボート、サーフボード、水上スキー等のゲームにおいて、コースでの各位置での高さが常に固定されていると、波により水面が変化する等の感覚をプレーヤに体感させることができず、仮想現実感の表現が不十分となる。
【０００５】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、マップの高さの時間的変化を体感できる３次元シミュレータ装置及び画像合成方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、前記オブジェクト空間に配置されるマップ上の第１〜第ｎの位置での第１〜第ｎの高さ情報の各々を時間経過に伴い変化させる手段と、前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、前記第１〜第ｎの高さ情報の少なくとも１つに基づいて変化させる手段と、変化する前記視点位置、前記視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【０００７】
本発明によれば、マップ上の各位置での高さ情報が固定されず、時間経過に伴い変化する。そして移動体は、高さ情報が変化するこのマップ上を移動し、移動体の移動に追従する視点位置、視線方向が、この変化する高さ情報に基づいて変化する。そして視点位置、視線方向が変化することで、観者（プレーヤ）は、マップの高さの時間的変化を体感でき、仮想現実感の向上を図れる。なお時間的に変化する高さ情報を得る手法としては、徐々に変化する高さ情報をメモリに記憶しこれを読み出す手法、所与の関数で高さ情報を変化させる手法等、種々のものを考えることができる。また視点位置、視線方向は、移動体の移動に完全に追従する必要はなく、ある程度の変動成分を持ちながら追従してもよい。
【０００８】
また本発明は、前記マップの画像を時間経過に伴い変化させると共に、高さ情報を、マップの画像の変化よりも頻繁に変化させることを特徴とする。
【０００９】
このようにすれば、処理の高速性、メモリ容量等をそれほど犠牲にすることなく、視点位置、視線方向の滑らかな変化が可能となる。
【００１０】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、前記オブジェクト空間に配置されるマップ上の第１〜第ｎの位置での第１〜第ｎの高さ情報を含む第１の高さ情報ファイルと、該第１の高さ情報ファイルに含まれる第１〜第ｎの高さ情報に所与の時間変化成分を加えた第１〜第ｎの高さ情報を含む第２の高さ情報ファイルと・・・・・第（ｋ−１）の高さ情報ファイルに含まれる第１〜第ｎの高さ情報に所与の時間変化成分を加えた第１〜第ｎの高さ情報を含む第ｋの高さ情報ファイルとを記憶する高さ情報ファイル記憶手段と、前記第１〜第ｋの高さ情報ファイルを前記高さ情報ファイル記憶手段から時間経過に伴い順次読み出す手段と、前記マップ上において移動する移動体の該移動に追従する視点位置及び視線方向の少なくとも一方を、読み出された高さ情報ファイルに含まれる少なくとも１つの高さ情報に基づいて変化させる手段と、変化する前記視点位置、前記視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【００１１】
本発明によれば、第１〜第ｋの高さ情報ファイルを高さ情報ファイル記憶手段に記憶し、これらの情報を時間経過に伴い読み出す処理を行うだけで、時間的に変化する高さ情報を得ることができる。この手法によれば、関数を用いる手法等に比べ、水面等の複雑な変化に伴う高さ変化もリアルにシミュレートでき、更に処理の高速化も図れるという利点がある。
【００１２】
また本発明は、表示するマップを特定する第１のマップ特定情報と、第１のマップ特定情報により特定されるマップの表示から所与の時間経過後に表示するマップを特定する第２のマップ特定情報と・・・・・第（ｊ−１）のマップ特定情報により特定されるマップの表示から所与の時間経過後に表示するマップを特定する第ｊのマップ特定情報とを記憶するマップ特定情報記憶手段と、前記第１〜第ｊのマップ特定情報を前記マップ特定情報記憶手段から時間経過に伴い順次読み出す手段と、第ｓ（１≦ｓ≦ｋ−１）の高さ情報ファイルに含まれる第１〜第ｎの高さ情報と第（ｓ＋１）の高さ情報ファイルに含まれる第１〜第ｎの高さ情報とに基づいて補間処理を行う手段とを含み、読み出されたマップ特定情報により特定されるマップの画像を表示すると共に、補間処理により得られた高さ情報に基づいて、前記視点位置及び前記視線方向の少なくとも一方を変化させることを特徴とする。
【００１３】
このようにすれば、高さ情報ファイル記憶手段に必要とされるメモリ容量を最小限に抑えながらも、視点位置、視線方向を滑らかに変化させることが可能となる。なお高さ情報ファイル記憶手段からの高さ情報ファイルの読み出しと、マップ特定情報記憶手段からのマップ特定情報の読み出しは同期して行うことが望ましく、その場合、高さ情報ファイルの数を、マップ特定情報の数と同一又はそれよりも多くすることが望ましい。
【００１４】
また本発明は、移動体がいる位置でのマップの高さ情報の増減を判断し、移動体がいる位置での高さ情報が減少している場合には、所与のジャンプ条件を満たすか否かにより移動体にジャンプ動作を行わせると共に、移動体がいる位置でのマップの高さ情報が増加している場合には、ジャンプ条件を満たすか否かによらず移動体にジャンプ動作を行わせないことを特徴とする。
【００１５】
本発明によれば、移動体がいる位置での高さ情報が減少している場合、即ち移動体が下り坂を移動している場合には、移動体の高さ情報の変化、マップの高さ情報の変化等に基づいてジャンプ条件を満たすか否かが判断され、満たす場合には移動体がジャンプし、満たさない場合には移動体はジャンプせず例えばマップの高さに沿うように移動する。一方、移動体がいる位置での高さ情報が増加している場合、即ち移動体が上り坂を移動している場合には、ジャンプ条件を満たすか否かによらず移動体はジャンプせず、例えばマップの高さに沿うように移動する。このようにすれば、上り坂における高さ情報の増加により移動体が必要以上に弾み、観者に不自然な感覚を与えるという事態が有効に防止される。なお本発明の処理は、例えばマップ上の大きなうねり（波）の生じるエリア等で行うことが好ましい。
【００１６】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【００１７】
まず図１（Ａ）、（Ｂ）、（Ｃ）を用いて、本実施例の原理について説明する。
【００１８】
図１（Ａ）は、絶対座標系（Ｘ、Ｙ、Ｚ）でのマップ２０の配置例を示すものである。このマップ２０は複数のマップオブジェクトにより形成され、マップオブジェクトは１又は複数のポリゴン又は曲面により形成される。ここでＸ、Ｚは平面位置を表す座標であり、Ｙは高さを表す座標である。
【００１９】
図１（Ｂ）に示すように本実施例では、マップ上の第１、第２、第３の位置２２、２４、２６等での高さ情報を、時間経過に伴い変化させている。そしてマップ上において移動する移動体３０の該移動に追従する視点位置３２及び視線方向３４の少なくとも一方を、上記高さ情報に基づいて変化させる。そして、変化する視点位置、視線方向にて見える視界画像を合成し、ディスプレイ等の表示部に表示する。また図１（Ｃ）に示すように、マップの画像も時間経過に伴い変化させている。
【００２０】
以上のように本実施例によれば、プレーヤは、マップの高さの変化を、視点位置、視線方向の変化並びに表示されるマップ画像の変化により体感でき、ゲームのリアル感を大幅に向上できる。そして本実施例によれば、波（うねり）が発生する水面上での移動体の走行、表面が波のような運動をする物体上、膨張、伸縮を繰り返す物体上での移動体の走行等を、よりリアルにシミュレートでき、ゲームの面白味を倍増できる。
【００２１】
なおマップ画像、高さ情報を頻繁に（短い時間間隔で）変化させると、演算処理負担の増加、マップ画像、高さ情報を格納するメモリ容量の増加等の問題が生じる。一方、高さ情報を頻繁に変化させないと、視点位置３２等の変化が滑らかにならず、プレーヤに不自然な感覚を与える。そこで本実施例では、高さ情報をマップ画像の変化よりも頻繁に変化させている。これは例えば、第１、第２の高さ情報２２、２４との間を補間し、補間により得られる高さ情報に基づいて視点位置、視線方向を変化させること等で実現できる。このようにすることで、演算処理負担の増加、メモリ容量の増加を抑えながら、視点位置等を滑らかに変化させることが可能となる。
【００２２】
図２に、本実施例に係る３次元シミュレータ装置の機能ブロック図の一例を示す。ここで操作部１２は、プレーヤからの操作情報を入力するためのものであり、操作部１２にて得られた操作情報は処理部１００に入力される。処理部１００は、この操作情報と、所与のプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間を設定する処理等を行うものであり、ハードウェア的には例えばＣＰＵ及びメモリにより構成される。画像合成部２００は、この設定されたオブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する処理を行うものであり、ハードウェア的には例えば画像合成専用のＩＣ或いはＣＰＵ及びメモリにより構成される。画像合成部２００により得られた視界画像は表示部１０において表示される。
【００２３】
ここで処理部１００は高さ情報変化部１１０、視点変化部１２０を含んでいる。そして高さ情報変化部１１０は、マップ上の第１〜第ｎの位置での第１〜第ｎの高さ情報の各々を時間経過に伴い変化させる処理を行う。また視点変化部１２０は、移動体の移動に追従する視点位置及び視線方向の少なくとも一方を、第１〜第ｎの高さ情報の少なくとも１つに基づいて変化させる処理を行う。そして画像合成部２００は、この変化する視点位置、視線方向にて見える視界画像を合成することになる。
【００２４】
次に、本実施例の詳細な例について説明する。図３に、本実施例を業務用のゲーム装置に適用した場合の外観図を示す。このゲーム装置は、水上バイクの操縦を擬似的に体感するためのものであり、プレーヤ４０は、実際の水上バイクを模して作られた筺体４２に搭乗し、表示部１０に映し出されるゲーム画面（視界画像）を見ながらゲーム操作を行う。筺体４２には、ハンドルポール４４が、図中のＤに示す方向で回動自在となるように取り付けられている。またハンドルポール４４には、ハンドル４６が取り付けられており、このハンドル４６に設けられたレバー４７（アクセル）を握ることで、オブジェクト空間内の移動体の加速制御が行われる。移動体の方向制御（舵取り）は、プレーヤ４０の体重移動により行われる。即ち筺体４２は、図示しない左右スイング機構により図中のＥに示す方向に左右スイング（或いはローリング）可能となっており、プレーヤ４０が左足に体重をかけると右側にスイングし、右足に体重をかけると左側にスイングするようになっている。そして右側にスイングするとオブジェクト空間内の移動体は左側に舵取りされ、左側にスイングすると右側に舵取りされることになる。
【００２５】
また筺体４２は、図示しない上下動作機構により、図中のＦに示す方向で上下（ピッチング）動作可能となっている。この上下動作は、例えば移動体がうねりエリア（図６の６０参照）等に入りマップの高さ情報が変化する場合に行われる。これによりプレーヤの感じる体感度を高めることができる。なお筺体４２の上下動作をマップの高さ情報に基づいて行い、高さ情報の変化と筺体４２の上下動作とを連動させてもよいし、連動させず例えば単に上下に振動させるというように高さ情報の変化とは無関係に筺体４２を上下動作させてもよい。
【００２６】
図４に、オブジェクト空間内に配置されるマップの平面図の一例を示す。プレーヤは移動体を操作し、スタートポイント５０からスタートし、群島エリア５２、トンネルエリア５４、湖エリア５６、ジャングルエリア５８、うねりエリア６０、渦エリア６２、トンネルエリア６４等を通過して、ゴールポイント６６に戻る。そして、いかに早くゴールにたどり着くかというタイムトライアルを行ったり、他のプレーヤとの競争を行うことでゲームを楽しむ。
【００２７】
図５に、本実施例の詳細な機能ブロック図の一例を示す。この例では、処理部１００は、高さ情報変化部１１０、視点変化部１２０、移動体情報演算部１３０、オブジェクト空間設定部１４０、空間情報記憶部１４２、マップ特定情報記憶部１４４、読み出し部１４６を含む。そして図５の例では、高さ情報変化部１１０は、高さ情報ファイル記憶部１１２、読み出し部１１４により構成されている。
【００２８】
ここで移動体情報演算部１３０は、操作部１２からの操作情報、高さ情報変化部１１０からの高さ情報及び所与のゲームプログラム等に基づいて、水上バイク等の移動体の位置情報、方向情報等をリアルタイムに演算するものである。
【００２９】
また空間情報記憶部１４２には、図６に示すように、表示するオブジェクトを特定するためのオブジェクトナンバーＯＢｉ、このオブジェクトの配置を特定するための位置情報（Ｘｍ、Ｙｍ、Ｚｍ）、方向情報（θｍ、φｍ、ρｍ）が格納される。但し、位置情報、方向情報の少なくとも一方のみを特定すればよい場合には、その一方のみを格納すればよい。そして空間情報記憶部１４２に記憶されている空間情報は、オブジェクト空間設定部１４０により読み出される。この場合、空間情報記憶部１４２には、当該フレーム（１フレーム＝１／６０秒）の１つ前のフレームにおける空間情報が記憶されている。そして、オブジェクト空間設定部１４０は、読み出された空間情報、移動体情報演算部１３０からの移動体情報、読み出し部１４６により読み出されたマップ特定情報等に基づいて、当該フレームにおける空間情報を求める。なお静止物体については空間情報は変化しないのでこのような処理は必要ない。
【００３０】
図７に、高さ情報ファイル記憶部１１２に記憶される第１〜第３２の高さ情報ファイル７０ー1〜７０ー32を模式的に示す。これらの高さ情報ファイルには、マップの各位置（Ｘ、Ｚ座標で特定される）での高さ情報（Ｙ座標で特定される）がマトリクス状に格納されている。ここで第２の高さ情報ファイル７０-2は、第１の高さ情報ファイル７０ー1に含まれるマップの各位置での高さ情報に所与の時間変化成分を加えた高さ情報により構成される。第３、第２の高さ情報ファイルの間、第４、第３の高さ情報ファイルの間・・・・第３２、第３１の高さ情報ファイルの間の関係も同様である。読み出し部１１４は、高さ情報ファイル記憶部１１２から、第１の高さ情報ファイル７０ー1、第２の高さ情報ファイル７０ー2・・・・・第３２の高さ情報ファイル７０ー32、第１の高さ情報ファイル７０ー1、第２の高さ情報ファイル７０ー2・・・・・というように、高さ情報ファイルを時間経過に伴い順次サイクリックに読み出す。このようにすることで、マップの各位置において時間的に変化する高さ情報を得ることができる。ここで読み出し部１１４は、４フレーム毎に高さ情報ファイルの読み出しを行う。従って高さ情報ファイルは、約２秒を１周期としてサイクリックに読み出されることになる。
【００３１】
移動体情報演算部１３０は、読み出された高さ情報ファイルの中から、現在の移動体の位置に対応する高さ情報を選択する。この場合、例えば移動体の位置に最も近い位置での高さ情報を選択するようにしてもよいし、移動体の周囲の複数の位置での高さ情報を選択し複数の高さ情報の平均値等を求めるようにしてもよい。移動体情報演算部１３０は、得られた高さ情報等に基づいて、次のフレームでの移動体の位置情報、方向情報等を演算する。そして視点変化部１２０は、移動体の位置情報、方向情報等に基づいて、視点位置、視線方向を変化させる処理を行う。この時、本実施例では、視点位置、視線方向を移動体の移動に追従させているが、必ずしも正確に追従させる必要はなく、ある程度の変動成分を持たせてもよい。
【００３２】
マップ特定情報記憶部１４４には、例えば第１〜第３２のマップ特定情報が記憶されている。ここで第２マップ特定情報は、第１のマップ特定情報により特定されるマップの表示から所与の時間（例えば４フレーム）経過後に表示するマップを特定する情報により構成される。第３、第２のマップ特定情報の間、第４、第３のマップ特定情報の間・・・・第３２、第３１のマップ特定情報の間の関係も同様である。読み出し部１４６は、マップ特定情報記憶部１４４から、第１のマップ特定情報、第２のマップ特定情報・・・・・第３２のマップ特定情報、第１のマップ特定情報、第２のマップ特定情報・・・・・というように、マップ特定情報を時間経過に伴い順次サイクリックに読み出す。マップ特定情報には、表示するマップオブジェクトを特定するためのオブジェクトナンバー、マップオブジェクトの表示位置を特定するための位置情報等が含まれている。オブジェクト空間設定部１４０は、読み出し部１４６により読み出されたこれらのマップ特定情報に基づいて、図６に示す空間情報を更新する。そして画像合成部２００は、更新後の空間情報を用いて画像合成を行う。以上のようにすることで、マップ画像を、時間経過に伴い順次変化させることが可能となる。
【００３３】
次に、図８のフローチャートを用いて本実施例の動作を説明する。まず移動体の位置情報に基づいて、移動体がうねりエリア６０（図４参照）に位置するか否かを判断する（ステップＳ１）。但し本実施例ではうねりエリア６０でのみマップの高さ情報を変化させているが、全てのエリアでマップの高さ情報を変化させるようにしてもよい。
【００３４】
うねりエリアに位置する場合には、マップ特定情報記憶部１４４からのマップ特定情報のサイクリックな読み出しを開始する（ステップＳ２）。これと同時に高さ情報ファイル記憶部１１２からも、上記マップ特定情報に対応する高さ情報ファイルをサイクリックに読み出す（ステップＳ３）。
【００３５】
次に移動体の位置情報に基づいて、高さ情報ファイルの中から移動体のいる位置に対応する高さ情報を選択する（ステップＳ４）。そして得られた高さ情報に基づいて、移動体の位置情報、視点位置、視線方向等を演算する（ステップＳ５）。
【００３６】
オブジェクト空間設定部１４０は、読み出し部１４６から読み出されたマップ特定情報等に基づいて空間情報を１フィールド毎に更新する。なおプレーヤが操作する自機の移動体の画像を画面上に表示する３人称表示の場合には、空間情報の中に自機の移動体に関する情報を格納するエリアが設けられ、移動体情報演算部１３０からの演算結果に基づいて、この情報が更新される。画像合成部２００は、オブジェクト空間設定部１４０から入力される空間情報に基づいて、視点変化部１２０から入力される視点位置、視線方向での視界画像を合成することになる。
【００３７】
次に補間処理について説明する。高さ情報ファイル記憶部１１２、マップ特定情報記憶部１４４に使用されるメモリ容量はなるべく小さい方が望ましく、一方、視点位置の変化を滑らかにするため高さ情報をなるべく頻繁に変化させることが望ましい。そこで本実施例では、高さ情報ファイルの数を、マップ特定情報の数と同じ又は多くし、読み出し部１１４による高さ情報ファイルの読み出しと、読み出し部１４６によるマップ特定情報の読み出しを同期させると共に、補間処理部１３２において、読み出された高さ情報の補間処理を行っている。
【００３８】
図９（Ａ）には、この補間処理の様子が模式的に示されている。例えば図９（Ａ）において、第ｓの高さ情報ファイルから選択された高さ情報をＨs、第（ｓ＋１）の高さ情報ファイルから選択された高さ情報をＨs+1とする。補間処理部１３２は、これらのＨs、Ｈs+1に基づいて、例えば次式にしたがって補間値Ｈを求めている。
【００３９】
Ｈ＝Ｈs＋（Ｈs+1−Ｈs）・Ｉa
ここでＩaは時間に関する補間率であり、例えばＨs、Ｈs+1から３つの補間値を得る場合には、Ｉaを、１／４、２／４、３／４というように変化させる。このようにすることで、高さ情報を頻繁に変化させることができ、視点位置、視線方向の滑らかな変化が可能となる。
【００４０】
また本実施例では、時間に関する補間のみならず位置に関する補間も行っている。例えば図９（Ｂ）において、位置Ｘpでの高さ情報をＨp、位置Ｘp+1での高さ情報をＨp+1とする。補間処理部１３２は、これらのＨp、Ｈp+1に基づいて、例えば次式にしたがって補間値Ｈを求めている。
【００４１】
Ｈ＝Ｈp＋（Ｈp+1−Ｈp）・Ｉb
ここでＩbは位置に関する補間率であり、例えばＨp、Ｈp+1から２つの補間値を得る場合には、Ｉbを、１／３、２／３というように変化させる。このようにすることで、高さ情報が位置に関して滑らかに変化し、視点位置、視線方向の滑らかな変化が可能となる。
【００４２】
さて図１０において、移動体３０が上り坂を登っており、移動体３０が、単位時間に、ある高さだけ上昇すると、その時の速度を初速として投げ上げ運動が開始してしまう。このような投げ上げ運動が生じると、水面のうねりにより移動体が必要以上に弾んでしまい、プレーヤに不自然な感覚を与えてしまう。特にゲームの迫力感を出すために現実の水上バイクの走行速度よりも高速で移動体を走行させたり、演算処理を簡易化するために水による吸着の影響を計算上無視した場合等に、上り坂による移動体の弾みは非常に不自然なものとなる。そこで本実施例では、移動体３０がいる位置でのマップの高さ情報の増減を判断し、マップの高さ情報が増加している場合には移動体３０をジャンプさせず、例えばマップの高さ情報の変化に追従するように移動体３０の高さ情報を変化させている。即ち上り坂においては、移動体３０をジャンプさせずマップである水面にほぼ沿うように移動体３０を移動させる。一方、下り坂においては、移動体３０の高さ情報の変化とマップの高さ情報の変化との関係に基づいて、ジャンプ条件を満たすか否かを判断し、満たす場合にはジャンプ動作を行わせる。即ち例えば、自由落下の法則等に基づいて求められた移動体の高さ情報の変化の方が、マップの高さ情報の変化よりも小さい場合には、ジャンプ条件を満たしたとし、図１０のＣに示すように移動体３０をジャンプ状態にする。この場合には、マップの高さ情報を考慮せずに移動体３０の位置情報等が演算されることになる。一方、自由落下の法則等に基づいて求められた移動体の高さ情報の変化の方が、マップの高さ情報の変化よりも大きい場合には、図１０のＤに示すように、移動体３０をジャンプさせず例えばマップである水面にほぼ沿うように移動体３０を移動させる。このようにすることで、移動体が必要以上に弾み、プレーヤに不自然な感覚を与えることが防止される。
【００４３】
以上の処理の流れが図１１のフローチャートに示される。まず図５に示す登り下り判定部１３４が、上り坂か下り坂かを判定する（ステップＴ１）。これは例えば移動体が単位時間前にいた位置での高さ情報と、現在いる位置での高さ情報との差の符号を判定することで実現できる。そして上り坂の場合には移動体をジャンプさせず例えばマップの高さ情報の変化に追従するように移動体の高さ情報を変化させる（ステップＴ２）。これにより視点位置、視線方向もマップの高さ情報の変化に追従するように変化することになる。一方、下り坂の場合には、移動体の高さ情報、マップの高さ情報等に基づいて、ジャンプ条件を満たすか否かを判断し（ステップＴ３）、ジャンプ条件を満たす場合にはジャンプ動作をさせ（ステップＴ４）、満たさない場合にはマップの高さ情報に追従するように移動体の高さ情報を変化させる。
【００４４】
次に、本実施例のハードウェア構成の一例について図１２を用いて説明する。同図に示す３次元シミュレータ装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音合成ＩＣ１００８、画像合成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像合成ＩＣ１０１０にはディスプレイ１０１８が接続され、音合成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００４５】
情報記憶媒体１００６は、ゲームプログラム、表示物を表現するための画像情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、メモリ等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセットが、業務用ゲーム装置ではＲＯＭ等のメモリが用いられる。
【００４６】
コントロール装置１０２２はゲームコントローラに相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００４７】
情報記憶媒体１００６に格納されるゲームプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また空間情報（図６）、高さ情報ファイル（図７）、マップ特定情報等の論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００４８】
更に、この種のゲーム装置には音合成ＩＣ１００８と画像合成ＩＣ１０１０とが設けられていてゲーム音やゲーム画面の好適な出力が行えるようになっている。音合成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を合成する集積回路であり、合成されたゲーム音はスピーカ１０２０によって出力される。また、画像合成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を合成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００４９】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００５０】
そして図１（Ａ）〜（Ｃ）、図２、図５、図９（Ａ）、（Ｂ）、図１０で説明した種々の処理は、図８、図１１のフロチャートに示した処理等を行うゲームプログラムを格納した情報記憶媒体１００６と、該ゲームプログラムに従って動作するＣＰＵ１０００、画像合成ＩＣ１０１０等によって実現される。なお画像合成ＩＣ１０１０、音合成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００５１】
本実施例を業務用ゲーム装置に適用した場合には、図３に示すように、装置内にはＩＣ基板１１０６が内蔵され、ＩＣ基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装される。そしてマップ上の各位置での高さ情報を時間経過に伴い変化させるための情報、視点位置、視線方向を高さ情報に基づいて変化させるための情報、変化する視点位置、視線方向に見える視界画像を合成するための情報等は、ＩＣ基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００５２】
図１３（Ａ）に、本実施例を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画面を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００５３】
図１３（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施例を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像合成ＩＣ、音合成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を合成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を合成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで合成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を合成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【００５４】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００５５】
例えば上記実施例では、高さ情報、マップ画像を時間経過に伴い変化させる手段として、高さ情報ファイル、マップ特定情報等を用いた。処理の高速化、リアル感の向上のためにはこのような手法を用いることが望ましいが、本発明はこれに限られるものではなく、例えば所与の関数を用意し、この関数を用いて高さ情報、マップ画像を変化させてもよい。
【００５６】
また本実施例では、高さ情報をマップ画像の変化よりも頻繁に変化させるために補間処理部を設けた。処理の簡易化、メモリ容量の節約を図るためにはこのような手法を用いることが望ましいが、本発明はこれに限られるものではなく、例えば高さ情報ファイルの数をマップ特定情報の数よりも多くする等、種々の手法を採用することができる。
【００５７】
また、本実施例では、水上バイクの走行ゲームを例にとり説明したが、本発明はこれに限らず、例えばモータボート、サーフボード、水上スキーの走行ゲーム、人体の上のマップを走行するゲーム等、種々のゲームに適用できる。
【００５８】
また本発明は、業務用のゲーム装置、家庭用のゲーム装置、操縦訓練のためのシミュレータ装置、多数のプレーヤが参加する大型アトラクション装置等、種々のものに適用できる。
【００５９】
また本実施例で説明した処理部、画像合成部等で行われる処理も、本実施例では単にその一例を示したものであり、本発明における処理はこれらに限定されるものではない。
【００６０】
【図面の簡単な説明】
【図１】図１（Ａ）、（Ｂ）、（Ｃ）は、本実施例の原理を説明するための図である。
【図２】本実施例の機能ブロック図の一例である。
【図３】本実施例の外観図の一例である。
【図４】オブジェクト空間に配置されるマップについて説明するための図である。
【図５】本実施例の機能ブロック図の詳細な構成の一例である。
【図６】空間情報の一例について説明するための図である。
【図７】高さ情報ファイルの一例について説明するための図である。
【図８】本実施例の動作を説明するためのフローチャートである。
【図９】図９（Ａ）、（Ｂ）は、補間処理について説明するための図である。
【図１０】移動体の不必要な弾みを防ぐ処理について説明するための図である。
【図１１】移動体の不必要な弾みを防ぐ処理について説明するためのフローチャートである。
【図１２】本実施例を実現するハードウェアの構成の一例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）は、本実施例が適用される種々の形態の装置を示す図である。
【符号の説明】
１０  表示部
１２  操作部
１００  処理部
１１０  高さ情報変化部
１１２  高さ情報ファイル記憶部
１１４  読み出し部
１２０  視点変化部
１３０  移動体情報演算部
１３２  補間処理部
１３４  上り下り判定部
１４０  オブジェクト空間設定部
１４２  空間情報記憶部
１４４  マップ特定情報記憶部
１４６  読み出し部
２００  画像合成部
【図１】
0003753338.tif 000002
【図２】
0003753338.tif 000003
【図３】
0003753338.tif 000004
【図４】
0003753338.tif 000005
【図５】
0003753338.tif 000006
【図６】
0003753338.tif 000007
【図７】
0003753338.tif 000008
【図８】
0003753338.tif 000009
【図９】
0003753338.tif 000010
【図１０】
0003753338.tif 000011
【図１１】
0003753338.tif 000012
【図１２】
0003753338.tif 000013
【図１３】
0003753338.tif 000014