(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点での視界画像を合成する３次元ゲーム装置であって、
移動体オブジェクトを前記オブジェクト空間内で移動させる処理と、移動体オブジェクトの移動に追従して前記視点の視点位置及び前記視点の視線方向を変更する処理とを行う移動体演算手段と、
前記オブジェクト空間内に配置される複数のマップオブジェクトの代表点の位置を記憶したオブジェクトデータ記憶手段と、
前記視点位置及び前記視線方向から特定される視界領域にマップオブジェクトが含まれるか否かを判定し、少なくとも前記視界領域に含まれるマップオブジェクトについては代表点の位置を変更する処理を行い、変更された代表点の位置に基づいて、隣接するマップオブジェクトについてはマップオブジェクト間に重なりエリアを設けて前記オブジェクト空間内の所与の配置面にマップオブジェクトを配置する処理を行うオブジェクト空間設定手段と、
前記オブジェクト空間に配置されたマップオブジェクトの画像を含む視界画像を合成する画像合成手段と、を含み、
前記オブジェクトデータ記憶手段に記憶されたマップオブジェクトの代表点の位置は、マップオブジェクト同士が隣接して配置されるように設定されており、
前記オブジェクト空間設定手段が、
前記視界領域に含まれるマップオブジェクトのそれぞれに対して、前記視点とマップオブジェクトの代表点とを結ぶベクトルを演算する処理と、前記配置面に平行するいずれかの座標軸における前記ベクトルの座標成分の大きさから求められ、前記座標成分の大きさが大きくなるほど値が大きくなる調整値を演算する処理と、代表点の位置を前記座標軸方向で前記調整値分前記視点に近づけた位置に変更する処理とを行うことを特徴とする３次元ゲーム装置。
【請求項２】
オブジェクト空間内の所与の視点での視界画像を合成する３次元ゲーム装置であって、
移動体オブジェクトを前記オブジェクト空間内で移動させる処理と、移動体オブジェクトの移動に追従して前記視点の視点位置及び前記視点の視線方向を変更する処理とを行う移動体演算手段と、
前記オブジェクト空間内に配置される複数のマップオブジェクトの代表点の位置を記憶したオブジェクトデータ記憶手段と、
前記視点位置及び前記視線方向から特定される視界領域にマップオブジェクトが含まれるか否かを判定し、少なくとも前記視界領域に含まれるマップオブジェクトについては代表点の位置を変更する処理を行い、変更された代表点の位置に基づいて、隣接するマップオブジェクトについてはマップオブジェクト間に重なりエリアを設けて前記オブジェクト空間内の所与の配置面にマップオブジェクトを配置する処理を行うオブジェクト空間設定手段と、
前記オブジェクト空間に配置されたマップオブジェクトの画像を含む視界画像を合成する画像合成手段と、を含み、
前記オブジェクトデータ記憶手段に記憶されたマップオブジェクトの代表点の位置は、マップオブジェクト同士が隣接して配置されるように設定されており、
前記オブジェクト空間設定手段が、
前記視界領域に含まれるマップオブジェクトのそれぞれに対して、前記視点とマップオブジェクトの代表点とを結ぶベクトルを演算する処理と、前記ベクトルの長さから求められ、前記ベクトルの長さが長くなるほど値が大きくなる調整値を演算する処理と、代表点の位置を前記配置面に平行するいずれかの座標軸方向で前記調整値分前記視点に近づけた位置に変更する処理とを行うことを特徴とする３次元ゲーム装置。
【請求項３】
請求項１又は２において、
前記オブジェクト空間設定手段が、
前記視界領域に含まれるマップオブジェクトのそれぞれに対して、前記ベクトルを演算する処理と、前記ベクトルの長さから求められ、前記ベクトルの長さが長くなるほど値が大きくなる調整値を演算する処理と、代表点の位置を前記配置面に直交する座標軸方向で前記調整値分前記視点から遠ざけた位置に変更する処理とを行うことを特徴とする３次元ゲーム装置。
【請求項４】
オブジェクト空間内の所与の視点での視界画像を合成するためのコンピュータ読み取り可能な情報記憶媒体であって、
移動体オブジェクトを前記オブジェクト空間内で移動させる処理と、移動体オブジェクトの移動に追従して前記視点の視点位置及び前記視点の視線方向を変更する処理とを行う移動体演算手段と、
前記オブジェクト空間内に配置される複数のマップオブジェクトの代表点の位置を記憶したオブジェクトデータ記憶手段と、
前記視点位置及び前記視線方向から特定される視界領域にマップオブジェクトが含まれるか否かを判定し、少なくとも前記視界領域に含まれるマップオブジェクトについては代表点の位置を変更する処理を行い、変更された代表点の位置に基づいて、隣接するマップオブジェクトについてはマップオブジェクト間に重なりエリアを設けて前記オブジェクト空間内の所与の配置面にマップオブジェクトを配置する処理を行うオブジェクト空間設定手段と、
前記オブジェクト空間に配置されたマップオブジェクトの画像を含む視界画像を合成する画像合成手段として、
コンピュータを機能させるプログラムを記憶し、
前記オブジェクトデータ記憶手段に記憶されたマップオブジェクトの代表点の位置は、マップオブジェクト同士が隣接して配置されるように設定されており、
前記オブジェクト空間設定手段が、
前記視界領域に含まれるマップオブジェクトのそれぞれに対して、前記視点とマップオブジェクトの代表点とを結ぶベクトルを演算する処理と、前記配置面に平行するいずれかの座標軸における前記ベクトルの座標成分の大きさから求められ、前記座標成分の大きさが大きくなるほど値が大きくなる調整値を演算する処理と、代表点の位置を前記座標軸方向で前記調整値分前記視点に近づけた位置に変更する処理とを行うことを特徴とする情報記憶媒体。
【請求項５】
オブジェクト空間内の所与の視点での視界画像を合成するためのコンピュータ読み取り可能な情報記憶媒体であって、
移動体オブジェクトを前記オブジェクト空間内で移動させる処理と、移動体オブジェクトの移動に追従して前記視点の視点位置及び前記視点の視線方向を変更する処理とを行う移動体演算手段と、
前記オブジェクト空間内に配置される複数のマップオブジェクトの代表点の位置を記憶したオブジェクトデータ記憶手段と、
前記視点位置及び前記視線方向から特定される視界領域にマップオブジェクトが含まれるか否かを判定し、少なくとも前記視界領域に含まれるマップオブジェクトについては代表点の位置を変更する処理を行い、変更された代表点の位置に基づいて、隣接するマップオブジェクトについてはマップオブジェクト間に重なりエリアを設けて前記オブジェクト空間内の所与の配置面にマップオブジェクトを配置する処理を行うオブジェクト空間設定手段と、
前記オブジェクト空間に配置されたマップオブジェクトの画像を含む視界画像を合成する画像合成手段として、
コンピュータを機能させるプログラムを記憶し、
前記オブジェクトデータ記憶手段に記憶されたマップオブジェクトの代表点の位置は、マップオブジェクト同士が隣接して配置されるように設定されており、
前記オブジェクト空間設定手段が、
前記視界領域に含まれるマップオブジェクトのそれぞれに対して、前記視点とマップオブジェクトの代表点とを結ぶベクトルを演算する処理と、前記ベクトルの長さから求められ、前記ベクトルの長さが長くなるほど値が大きくなる調整値を演算する処理と、代表点の位置を前記配置面に平行するいずれかの座標軸方向で前記調整値分前記視点に近づけた位置に変更する処理とを行うことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はオブジェクト空間内の所与の視点での視界画像を合成できる３次元ゲーム装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、所与の視点での視界画像を合成する３次元ゲーム装置が知られており、プレーヤがいわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
そして、このような３次元ゲーム装置においてプレーヤの感じる仮想現実感を更に向上させるためには、画像を如何にして高品質化するかが大きな技術的課題となる。
【０００４】
しかしながら、オブジェクトをオブジェクト空間内に配置する処理を行うためには、オブジェクトの頂点位置の計算等が必要であり、この頂点位置の計算等の際には、ある程度の丸め誤差、桁落ち誤差等の計算誤差が必然的に生じる。そして、このような計算誤差の発生を原因として、最終的に得られる画像の品質が低下してしまうおそれがある。
【０００５】
本発明は、以上のような技術的課題に鑑みなされたものであり、その目的とするところは、計算誤差が生じた場合等においても高品質の画像を合成することができる３次元ゲーム装置及び情報記憶媒体を提供することにある。
【０００６】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、オブジェクト空間内の所与の視点での視界画像を合成する３次元ゲーム装置であって、第１、第２、第３、第４のオブジェクトが第１、第２、第３、第４のオブジェクトの順で視点に近い場所から配置される場合において、前記第３、第４のオブジェクト間の重なりエリアの大きさが、前記第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくなるように、前記第１、第２、第３、第４のオブジェクトを含む複数のオブジェクトを前記オブジェクト空間内に配置する処理を行う手段と、前記オブジェクトの画像を含む視界画像を合成する手段とを含むことを特徴とする。
【０００７】
本発明によれば、視点から遠い場所に配置される第３、第４のオブジェクト間の重なりエリアの大きさが、視点から近い場所に配置される第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくなる。視点から近い場所にある第１、第２のオブジェクト間の重なりエリアの大きさが大きくなると、プレーヤに不自然な感覚を与える等の問題が生じるが、本発明によれば、第１、第２のオブジェクト間の重なりエリアの大きさは小さくなるため、上記問題を解決できる。また視点から遠い場所にある第３、第４のオブジェクト間では、計算誤差等に起因してオブジェクト間に隙間が生じ易くなる等の問題があるが、本発明によれば、第３、第４のオブジェクト間の重なりエリアの大きさが大きくなるため、上記問題を解決できる。なお第２、第３のオブジェクトが隣接配置される場合には、第２、第３のオブジェクト間の重なりエリアの大きさを、第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくし、第３、第４のオブジェクト間の重なりエリアの大きさよりも小さくすることが望ましい。
【０００８】
また本発明は、前記第１、第２、第３、第４のオブジェクトの代表点と前記視点とを結ぶ第１、第２、第３、第４のベクトルの少なくとも１つの座標成分の大きさが第４、第３、第２、第１のベクトルの順で大きくなる場合に、前記第３、第４のオブジェクト間の重なりエリアの大きさを、前記第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくすること特徴とする。
【０００９】
このようにすれば、第１、第２、第３、第４のベクトルの座標成分を利用した簡易な処理で、オブジェクト間の重なりエリアの大きさを制御することが可能となる。
【００１０】
また本発明は、前記第１、第２、第３、第４のオブジェクトの代表点と前記視点とを結ぶ第１、第２、第３、第４のベクトルの長さが第４、第３、第２、第１のベクトルの順で長くなる場合に、前記第３、第４のオブジェクト間の重なりエリアの大きさを、前記第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくすること特徴とする。
【００１１】
このようにすれば、視点とオブジェクトとの距離に応じて、より正確に、オブジェクト間の重なりエリアの大きさを制御することが可能となる。
【００１２】
また本発明は、前記第１、第２、第３、第４のオブジェクトが前記視点の下方、上方、左方及び右方のいずれか一方に全て配置される場合に、前記第１、第２、第３、第４のオブジェクトと前記視点との前記一方の方向での距離を、第４、第３、第２、第１のオブジェクトの順で長くすることを特徴とする。
【００１３】
このようにすれば、第１〜第４のオブジェクトが例えば下方に全て配置される場合には、視点との距離が遠くになるにつれて、第４〜第１のオブジェクトの順で下方向に沈めてゆくことが可能となる。これにより計算誤差等に起因する隙間がオブジェクト間に生じた場合にも、この隙間を目立たなくすることが可能となる。
【００１４】
また本発明は、前記第１、第２、第３、第４のオブジェクトが、オブジェクト空間内に隣接配置されるマップオブジェクトであることを特徴とする。
【００１５】
このようにすれば、マップオブジェクト間に隙間が生じないようにしながら、マップオブジェクトを敷き詰めて隣接配置することが可能となり、得られるマップの画像を高品質なものとすることが可能となる。
【００１６】
【発明の実施の形態】
以下、本発明の実施例について図面を用いて説明する。
【００１７】
図１に本実施例の機能ブロック図の一例を示す。ここで操作部１２は、プレーヤがレバー、ボタン等を操作して操作情報を入力するためのものであり、操作部１２にて得られた操作情報は処理部１００に入力される。処理部１００は、この操作情報と、所与のプログラム等に基づいて、プログラムの実行、各種モードの設定、表示物の配置、背景の設定等の種々の処理を行うものであり、その機能は、ＣＰＵ及びメモリなどのハードウェアにより実現される。画像合成部２００は、処理部１００での処理結果に基づいて、移動体、マップ、固定物等のオブジェクトが配置されるオブジェクト空間内の所与の視点での視界画像（ゲーム画像）を合成する処理を行うものであり、その機能は、画像合成専用ＩＣ及びメモリ或いはＣＰＵ及びメモリなどのハードウェアにより実現される。画像合成部２００で生成された画像は表示部１０に出力され、表示部１０において表示される。
【００１８】
処理部１００は、移動体演算部１１０、オブジェクト空間設定部１２０、マップデータ記憶部１３０を含む。ここで移動体演算部１１０は、飛行機、宇宙船、車、バイク、スキー（スキーヤー）、サーフィン（サーファー）、水上バイク、ロボット、ゲームキャラクタ等の移動体オブジェクトをオブジェクト空間内で移動させる処理を行う。具体的には、プレーヤが操作部１２を用いて入力する操作情報と所与のプログラムとに基づいて、例えば１フレーム毎に移動体オブジェクトの位置を順次求める演算を行う。またオブジェクト空間設定部１２０は、移動体演算部１１０からの処理結果等に基づいて、オブジェクト空間内に種々のオブジェクトを配置設定する処理を行う。またマップデータ記憶部１３０は、オブジェクト空間内にマップオブジェクトを配置する処理の際に使用するマップデータを記憶している。
【００１９】
図２に本実施例により合成される視界画像の例を示す。プレーヤは、画面上に映し出される移動体オブジェクト（飛行機）２０を操作部１２により操作しオブジェクト空間内で飛行させてゲームを楽しむ。この際、地面、海面等を表すマップ２２は、図３（Ａ）に示すようにマップオブジェクト２４等をマトリクス状に隣接配置することにより表現されている。
【００２０】
図３（Ｂ）には、図３（Ａ）のように配置されるマップオブジェクトを、視点３０の位置から視線３２の方向で見た場合に見える画像の例が示される。
【００２１】
図３（Ｂ）に示すような画像を得るために、この種の３次元ゲーム装置では、図４（Ａ）、（Ｂ）に示すような処理を行っている。即ち移動体演算部１１０での処理結果に基づいて、図４（Ａ）に示す視点３０の位置及び視線３２の方向を求める。ここで視点３０の位置、視線３２の方向は、移動体オブジェクトの移動に追従して変化する。視点３０の位置及び視線３２の方向に基づいて、境界３４、３６、３８により囲まれる視界領域４０が特定される。そして図４（Ａ）に示すように、この視界領域４０内の全ての場所がマップオブジェクトで満たされるように、マップオブジェクトＭ１〜Ｍ４３が配置される。この時、図４（Ｂ）に示されるように、マップオブジェクトＭ１〜Ｍ４３のＹ座標（高さ）は全て同一となっている。なおマップオブジェクトＭ１〜Ｍ４３の配置位置は、代表点Ｐ１〜Ｐ４３の位置データにより特定されている。
【００２２】
さてマップオブジェクトをこのように隣接配置した場合に、次のような問題が生じることが判明した。例えば図５（Ａ）に、配置されるマップオブジェクトの形状の一例を示す。このマップオブジェクトＭ１は、ポリゴン４４-11〜４４-18により構成されている。そして各ポリゴンのワールド座標系での頂点位置データは、代表点Ｐ１のワールド座標系での位置データと、各ポリゴンのローカル座標系での頂点位置データとに基づいて求められる。ここで例えば図５（Ｂ）において、ワールド座標系での頂点Ａの位置データを求める場合を考える。この場合、代表点Ｐ１のワールド座標系での位置データとポリゴン４４-16のローカル座標系での頂点位置データとに基づいてワールド座標系での頂点Ａの位置データを求める場合と、代表点Ｐ２のワールド座標系での位置データとポリゴン４４-23のローカル座標系での頂点位置データとに基づいてワールド座標系での頂点Ａの位置データを求める場合とでは、丸め誤差、桁落ち誤差等の計算誤差に起因して計算結果が異なったものとなる場合がある。そしてこの誤差が大きく、表示位置を数ドット分異ならせるような誤差であった場合には、Ａの場所に隙間が生じるような表示がなされてしまい、画質が極端に低下する。
【００２３】
このような画質の低下を防ぐ１つの手法として、全てのマップオブジェクトＭ１〜Ｍ４３を若干拡大し、マップオブジェクト間に均等な重なりエリアを設ける手法も考えられる。しかしながらこの手法によると、重なりエリアが非常に目立ってしまい、特に視点に近い位置に配置されるマップオブジェクト間に大きな重なりエリアがあると、プレーヤに非常に不自然な感覚を与えてしまう。
【００２４】
そこで本実施例では図６（Ａ）、（Ｂ）に示すようにマップオブジェクトＭ１〜Ｍ４８を配置している。なお以下に示すマップオブジェクトの配置処理は図１のオブジェクト空間設定部１２０が主に行う。
【００２５】
例えば図６（Ａ）に示すように、マップオブジェクトＭ５、Ｍ９、Ｍ１５、Ｍ２２（第１〜第４のオブジェクト）は、Ｍ５、Ｍ９、Ｍ１５、Ｍ２２の順で視点３０に近い場所から配置されているが、この場合に、Ｍ１５、Ｍ２２間の重なりエリア４８の大きさを、Ｍ５、Ｍ９間の重なりエリア４６の大きさよりも大きくしている。なおＭ９、Ｍ１５間の重なりエリア４７の大きさは、重なりエリア４６よりも大きくし、重なりエリア４８よりも小さくしている。またマップオブジェクトＭ３０、Ｍ３１、Ｍ３２、Ｍ３３（第１〜第４のオブジェクト）は、Ｍ３０、Ｍ３１、Ｍ３２、Ｍ３３の順で視点３０に近い場所から配置されているが、この場合に、Ｍ３２、Ｍ３３間の重なりエリア５１の大きさを、Ｍ３０、Ｍ３１間の重なりエリア４９の大きさよりも大きくしている。なおＭ３１、Ｍ３２間の重なりエリア５０の大きさは、重なりエリア４９よりも大きくし、重なりエリア５１よりも小さくしている。
【００２６】
本実施例では、以上のようにマップオブジェクトを配置しているため、視点から近い位置にあるマップオブジェクト間の重なりエリアを小さくしながら、視点から遠い位置にあるマップオブジェクト間の重なりエリアを大きくすることが可能となる。視点から近い位置にあるマップオブジェクト間に大きな重なりエリアがあると、その重なりエリアは目立ってしまい、プレーヤに非常に不自然な感覚を与えてしまうが、本実施例によれば、視点から近い位置にあるマップオブジェクト間の重なりエリアは、図６（Ａ）に示すように小さくなるため、このような不自然な感覚をプレーヤに与えることがない。一方、視点から遠い位置にあるマップオブジェクト間では、計算誤差が大きくなりマップオブジェクト間に隙間が生じる可能性が高くなるが、本実施例によれば、視点から遠い位置にあるマップオブジェクト間の重なりエリアは大きくなるため、上記のような隙間が生じる可能性を低くすることができる。このように本実施例によれば、非常に高品質な画像の提供が可能となる。
【００２７】
更に本実施例では図６（Ｂ）に示すように、視点３０の下方に配置されているマップオブジェクトＭ２、Ｍ５、Ｍ９、Ｍ１５（第１〜第４のオブジェクト）と視点３０との下方向での距離、即ちＭ２、Ｍ５、Ｍ９、Ｍ１５のＹ座標と視点３０のＹ座標の差を、Ｍ１５、Ｍ９、Ｍ５、Ｍ２の順に大きくしている。つまり視点３０から遠ざかるにつれてマップオブジェクトを下方向に徐々に沈めている。このようにすることで、計算誤差等を原因としてマップオブジェクト間に隙間が生じた場合においても、その隙間を目立たなくすることが可能となる。
【００２８】
なお本実施例では、例えば図７（Ａ）に示すように、マップオブジェクトＭ１〜Ｍ４の代表点Ｐ１〜Ｐ４と視点３０とを結ぶベクトルＶ１〜Ｖ４のＺ座標成分の大きさが、ベクトルＶ４〜Ｖ１の順で大きくなる場合に、Ｍ３、Ｍ４間の重なりエリアをＭ１、Ｍ２間の重なりエリアよりも大きくしている。同様に、Ｍ５〜Ｍ８の代表点Ｐ５〜Ｐ８と視点３０とを結ぶベクトルＶ５〜Ｖ８のＺ座標成分の大きさが、ベクトルＶ８〜Ｖ５の順で大きくなる場合に、Ｍ７、Ｍ８間の重なりエリアをＭ５、Ｍ６間の重なりエリアよりも大きくしている。またマップオブジェクトＭ９〜Ｍ１２の代表点Ｐ９〜Ｐ１２と視点３０とを結ぶベクトルＶ９〜Ｖ１２のＸ座標成分の大きさが、ベクトルＶ１２〜Ｖ９の順で大きくなる場合に、Ｍ１１、Ｍ１２間の重なりエリアをＭ９、Ｍ１０間の重なりエリアよりも大きくしている。同様に、Ｍ１３〜Ｍ１６の代表点Ｐ１３〜Ｐ１６と視点３０とを結ぶベクトルＶ１３〜Ｖ１６のＸ座標成分の大きさが、ベクトルＶ１６〜Ｖ１３の順で大きくなる場合に、Ｍ１５、Ｍ１６間の重なりエリアをＭ１３、Ｍ１４間の重なりエリアよりも大きくしている。即ち図７（Ａ）では、視点と代表点とを結ぶベクトルの各座標成分の大きさに基づいて、重なりエリアの大小関係を決めている。
【００２９】
しかしながら図７（Ｂ）に示すように、視点と代表点とを結ぶベクトルの長さに基づいて重なりエリアの大小関係を決めてもよい。即ち図７（Ｂ）では、マップオブジェクトＭ１〜Ｍ４の代表点Ｐ１〜Ｐ４と視点３０とを結ぶベクトルＶ１〜Ｖ４の長さが、ベクトルＶ４〜Ｖ１の順で長くなる場合に、Ｍ３、Ｍ４間の重なりエリアをＭ１、Ｍ２間の重なりエリアよりも大きくしている。またＭ５〜Ｍ８の代表点Ｐ５〜Ｐ８と視点３０とを結ぶベクトルＶ５〜Ｖ８の長さが、ベクトルＶ８〜Ｖ５の順で長くなる場合に、Ｍ７、Ｍ８間の重なりエリアをＭ５、Ｍ６間の重なりエリアよりも大きくしている。
【００３０】
図７（Ａ）の手法は、重なりエリアの大小関係を決めるための処理が簡易であるという利点がある。一方、図７（Ｂ）の手法は、視点からの距離に応じて、より正確に重なりエリアの大小関係を決めることができるという利点がある。
【００３１】
次に本実施例の詳細な処理の一例について図８のフローチャート等を用いて説明する。
【００３２】
まずマップオブジェクトの検索位置を図６（Ａ）の視点３０の位置に設定する（ステップＳ１）。視点３０の位置データは、移動体演算部１１０により例えば１フレーム毎に求められる。
【００３３】
次に、検索位置である視点３０に一番近く且つ視界領域４０（境界３４、３６、３８により囲まれる領域）に、その少なくとも一部が含まれるマップオブジェクトを検索する（ステップＳ２）。例えば図６では、マップオブジェクトＭ２がまず選択される。ここで本実施例では、ワールド座標系でのマップオブジェクトの位置データ（代表点の位置データ）、配置されるマップオブジェクトの種類を特定するデータ等を含むマップデータが、図１のマップデータ記憶部１３０に予め記憶されている。ここでマップデータ記憶部１３０に記憶されるマップオブジェクトの位置データに対して何ら変更を加えずこの位置データに基づいてマップオブジェクトを配置すると、マップオブジェクトはオブジェクト空間内で等間隔に配置されることになる。即ちマップオブジェクトが互いの重なりエリアのない状態で配置されることになる。
【００３４】
次に、視点との位置関係に基づいてマップオブジェクトの位置データを変更する（ステップＳ３）。具体的には、例えば以下の式に基づいて位置データを変更する。
【００３５】
Ｘ１＝Ｘ01＋{(Ｘ−Ｘ01)／Ｋ}                                （１）
Ｙ１＝Ｙ01＋{(Ｘ−Ｘ01)2＋(Ｙ−Ｙ01)2＋(Ｚ−Ｚ01)2}1/2／Ｋ  （２）
Ｚ１＝Ｚ01＋{(Ｚ−Ｚ01)／Ｋ}                                （３）
ここで（Ｘ、Ｙ、Ｚ）は視点の位置データであり、（Ｘ01、Ｙ01、Ｚ01）はマップオブジェクトの変更前の位置データであり、（Ｘ１、Ｙ１、Ｚ１）はマップオブジェクトの変更後の位置データであり、Ｋは正の定数である。
【００３６】
例えば上式（１）を図７（Ａ）のマップオブジェクトＭ９〜Ｍ１２に適用した場合を考える。この場合、Ｘ01は正であり、（Ｘ−Ｘ01）／Ｋは負であり、（Ｘ−X01）／Ｋの絶対値は、Ｍ１２〜Ｍ９の順で大きくなる。従って、視点３０の方へマップオブジェクトが近づく距離はＭ１２が最も長くなり、その次にＭ１１、Ｍ１０となり、Ｍ９が最も短くなる。これによりＭ１１、Ｍ１２の重なりエリアを、Ｍ９、Ｍ１０の重なりエリアよりも大きくすることが可能となる。
【００３７】
また例えば上式（３）を図７（Ａ）のマップオブジェクトＭ５〜Ｍ８に適用した場合を考える。この場合、Ｚ01は負であり、（Ｚ−Ｚ01）／Ｋは正であり、（Ｚ−Ｚ01）／Ｋの絶対値は、Ｍ８〜Ｍ５の順で大きくなる。従って、視点３０の方へマップオブジェクトが近づく距離はＭ８が最も長くなり、その次にＭ７、Ｍ６となり、Ｍ５が最も短くなる。これによりＭ８、Ｍ７の重なりエリアを、Ｍ６、Ｍ５の重なりエリアよりも大きくすることが可能となる。
【００３８】
また上式（２）によれば、マップオブジェクトのＹ座標に、視点３０から距離を１／Ｋ倍した値が足される。これにより、図６（Ｂ）に示すように、視点から遠ざかるにつれて、マップオブジェクトを下側に、即ちＹ座標の正方向に沈み込ませることが可能となる。
【００３９】
次に、変更後のマップオブジェクトの位置データが、例えば図９（Ａ）に示すようなテーブルデータに格納される（ステップＳ４）。図９（Ａ）のテーブルデータには、ワールド座標系での各オブジェクトの位置データ（代表点の位置データ）と各オブジェクトの方向データが格納されている。
【００４０】
次に処理したマップオブジェクトを検索対象から除外する（ステップＳ５）。そして視界限界距離（図６の境界３８までの距離）を越える位置に配置されるマップオブジェクトが処理対象となるまで処理を繰り返す（ステップＳ６）。
【００４１】
このようにして変更後のマップオブジェクトの位置データが得られると、次に、図９（Ｂ）に示すテーブルデータに格納されるローカル座標系での頂点位置データに基づいて、ワールド座標系での頂点位置データが求められる。その後、このワールド座標系での頂点位置データはスクリーン座標系の頂点位置データに変換され、図９（Ｂ）のＦに示す欄に格納される。なお上記の座標変換処理は、オブジェクト空間設定部１２０が行ってもよいし、画像合成部２００が行ってもよい。次に、以上のようにして求められたスクリーン座標系での位置データと、色データ、テクスチャデータ等に基づいて、画像合成部２００がポリゴンを描画する処理を行い、これにより図２に示すような視界画像が合成されることになる。
【００４２】
次に、本実施例を実現できるハードウェアの構成の一例について図１０を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音合成ＩＣ１００８、画像合成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像合成ＩＣ１０１０にはディスプレイ１０１８が接続され、音合成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００４３】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像情報、音情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＤＶＤ、ＭＯ、ＦＤ、メモリ等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【００４４】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００４５】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また図９（Ａ）、（Ｂ）に示すテーブルデータ等の論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００４６】
更に、この種の装置には音合成ＩＣ１００８と画像合成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音合成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を合成する集積回路であり、合成されたゲーム音はスピーカ１０２０によって出力される。また、画像合成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を合成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００４７】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００４８】
そして図１〜図７（Ｂ）、図９（Ａ）、（Ｂ）で説明した種々の処理は、図８のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像合成ＩＣ１０１０、音合成ＩＣ１００８等によって実現される。なお画像合成ＩＣ１０１０、音合成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００４９】
図１１（Ａ）に、本実施例を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。装置に内蔵されるＩＣ基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装されている。そして、第１、第２、第３、第４のオブジェクトが第１、第２、第３、第４のオブジェクトの順で視点に近い場所から配置される場合において、第３、第４のオブジェクト間の重なりエリアの大きさが、第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくなるように、第１、第２、第３、第４のオブジェクトを含む複数のオブジェクトをオブジェクト空間内に配置する処理を行うための情報、オブジェクトの画像を含む視界画像を合成する処理を行うための情報、第１〜第４のオブジェクトの代表点と前記視点とを結ぶ第１〜第４のベクトルの少なくとも１つの座標成分の大きさが、第４〜第１のベクトルの順で大きくなる場合に、或いは第１〜第４のベクトルの長さが第４〜第１のベクトルの順で長くなる場合に、第３、第４のオブジェクト間の重なりエリアの大きさを第１、第２のオブジェクト間の重なりエリアの大きさよりも大きくするための情報、第１〜第４のオブジェクトが視点の下方、上方、左方及び右方のいずれか一方に全て配置される場合に、第１〜第４のオブジェクトと視点との前記一方の方向での距離を、第４〜第１のオブジェクトの順で長くするための情報、第１〜第４のオブジェクトを、オブジェクト空間内に隣接配置されるマップオブジェクトとするための情報等は、ＩＣ基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００５０】
図１１（Ｂ）に、本実施例を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００５１】
図１１（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施例を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像合成ＩＣ、音合成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を合成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を合成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで合成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を合成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【００５２】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００５３】
例えば本発明はマップオブジェクトに適用することが特に望ましいが、それ以外のオブジェクトに適用することも可能である。例えば図１２（Ａ）に示すように、半球のオブジェクト６０及び６２或いは６４、６６を組み合わせて球を表現する場合を考える。この場合、視点３０から近い位置に配置されるオブジェクト６０、６２間の重なりエリアの大きさよりも、視点３０から遠い位置に配置されるオブジェクト６４、６６間の重なりエリアの大きさを大きくすることで、画像の品質を向上できる。また図１２（Ｂ）において、胴体オブジェクト６８と翼オブジェクト７０との結合部分７２や胴体オブジェクト６８とコックピット７４との結合部分７６での重なりエリアの大きさを、視点から遠くなるほど大きくするようにしてもよい。
【００５４】
また図８で説明した処理では、オブジェクト間の距離を変更することで、重なりエリアの大きさを制御する手法を採用しており、処理の簡易性の観点からはこの手法は特に有効だが、それ以外の手法により重なりエリアの大きさを制御するようにしてもよい。
【００５５】
また図８で説明した処理では、等間隔に配置された時のマップの位置データを予め用意し、その後、この位置データを変更するという手法を採用した。しかしながら、本発明はこれに限らず、例えばマップの位置データを予め用意せず、リアルタイムにマップの位置データを生成する等の種々の手法を採用できる。
【００５６】
また図６（Ｂ）では、マップオブジェクトは視点の下方に配置されており、視点から遠くなるにつれて視点とマップオブジェクトの下方向での距離を長くした。しかしながら、本発明はこれに限らず、例えばマップオブジェクトが視点の上方、左方、右方に配置されている場合には、視点から遠くなるにつれて視点とマップオブジェクトの上方向、左方向、右方向での距離を長くすればよい。
【００５７】
また本実施例では、同一の大きさのマップオブジェクトを等間隔に配置した例を説明したが、視点から近いほどマップオブジェクトの大きさを小さくし分割数を多くすること等も可能である。
【００５８】
また処理部、画像合成部の構成、動作も、上記実施例はその一例を示したものであり、これに限られるものではない。
【００５９】
また本発明は、飛行機ゲームのみならず、宇宙船ゲーム、車ゲーム、バイクゲーム、スキーゲーム、スノーボードゲーム、水上バイクゲーム、ロールプレイングゲーム等、種々のゲームに適用できる。
【００６０】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を合成するＩＣ基板等の種々のゲーム装置に適用できる。
【００６１】
【図面の簡単な説明】
【図１】本実施例の機能ブロック図の一例である。
【図２】本実施例により生成される視界画像の一例である。
【図３】図３（Ａ）、（Ｂ）は、マップオブジェクトの配置について説明するための図である。
【図４】図４（Ａ）、（Ｂ）は、重なりエリアを設けずマップオブジェクトを配置する手法を説明するための図である。
【図５】図５（Ａ）、（Ｂ）は、重なりエリアを設けない場合に生じる不具合点について説明するための図である。
【図６】図６（Ａ）、（Ｂ）は、本実施例の原理について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、重なりエリアの大きさを変化させる種々の手法について説明するための図である。
【図８】本実施例の動作の詳細例を説明するためのフローチャートである。
【図９】図９（Ａ）、（Ｂ）は、本実施例で使用されるテーブルデータの例である。
【図１０】本実施例を実現するハードウェアの構成の一例を示す図である。
【図１１】図１１（Ａ）、（Ｂ）、（Ｃ）は、本実施例が適用される種々の形態の装置を示す図である。
【図１２】図１２（Ａ）、（Ｂ）は、マップオブジェクト以外のオブジェクトへの本発明の適用例について説明するための図である。
【符号の説明】
１０    表示部
１２    操作部
１００  処理部
１１０  移動体演算部
１２０  オブジェクト空間設定部
１３０  マップデータ記憶部
２００  画像合成部
【図１】
0003964969.tif 000002
【図２】
0003964969.tif 000003
【図３】
0003964969.tif 000004
【図４】
0003964969.tif 000005
【図５】
0003964969.tif 000006
【図６】
0003964969.tif 000007
【図７】
0003964969.tif 000008
【図８】
0003964969.tif 000009
【図９】
0003964969.tif 000010
【図１０】
0003964969.tif 000011
【図１１】
0003964969.tif 000012
【図１２】
0003964969.tif 000013