(57)【要約】【課題】  従来からのコリジョンデータによる障害物との衝突判定やイベント判定等を維持しつつ、オブジェクト画像のコリジョン操作に柔軟性を持たせ、動的な変化の自由度を拡大する。【解決手段】  コリジョンデータを複数のレイヤーに分別して格納することで、実際には同一位置に配置し得ない複数のコリジョンデータを別レイヤーとすることで、設定（格納）可能とし、コリジョン操作に柔軟性を持たせ、動的な変化の自由度を拡大することができる。すなわち、地形画像データに依存することなく、建造物画像データ等のオブジェクト画像を自由に設置、移動、削除することができ、逆に地形画像を変えても、その他のオブジェクト画像に影響することがなくなる。また、最終的に矛盾が生じるような配置があった場合、この矛盾を識別処理しておけば、変更のための処理を簡素化することができる。【選択図】      図３
2006092222.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間にオブジェクトを配置することを、コンピュータ資源を用いて行う方法において、前記コンピュータ資源は、前記オブジェクトのデータ、前記配置を可能にするプログラム、さらに、前記オブジェクトの配置が許容される領域と許容されない領域とを設定する設定情報とが記憶されたメモリを備え、
前記コンピュータ資源の演算装置は、前記設定情報を取得する工程と、前記プログラムに基づいて前記仮想空間にユーザが選択したオブジェクトを配置できるか否かを判定する工程と、前記判定後の前記仮想空間に対するオブジェクトの配置情報を前記メモリに保存する工程と、当該配置情報に基づいて前記オブジェクトを前記仮想空間に配置する工程と、当該オブジェクトが仮想空間に配置された映像を表示手段に出力する工程と、を実行し、
前記設定情報は互いに重なる複数の層から構成され、かつ下層に対する前記設定は上層に対して優先され、前記演算装置は、前記下層の所定領域に前記オブジェクトの配置が許容されないとされる設定がされていた場合に、この所定領域の上に来る上層の対応領域への前記オブジェクトの配置も不許容にされるようにした前記方法。
【請求項２】
最上層の前記設定をユーザ側に許容するようにしたことを特徴とする請求項１記載の方法。
【請求項３】
前記各層が複数のセルからなるクリッド状に構成され、セル毎に前記設定が可能になるようにしたことを特徴とする請求項１又は請求項２記載の方法。
【請求項４】
最下層の設定が仮想空間の地形データに対応していることを特徴とする請求項１乃至請求項３の何れか１項記載の方法。
【請求項５】
前記下層のうち、前記オブジェクトの配置が許容される所定領域に対応する上層の部分に、当該オブジェクトを配置できるようにしたことを特徴とする請求項１乃至請求項４の何れか１項記載の方法。
【請求項６】
複数のコンピュータ資源がネットワークを介して接続されており、前記コンピュータ資源同士は、前記配置情報を互いに交換し、各コンピュータ資源の演算装置は、交換した配置情報に基づいて前記オブジェクトを仮想空間に配置して映像を形成して、これを対応する表示手段に表示するようにしたことを特徴とする請求項１乃至請求項５の何れか１項記載の方法。
【請求項７】
前記請求項１乃至請求項６の何れか１項に記載の各工程をコンピュータに実行させるためのプログラム、記憶媒体。
【請求項８】
仮想空間にオブジェクトを配置することを、コンピュータ資源を用いて行うようにしたゲーム装置において、前記コンピュータ資源は、前記オブジェクトのデータ、前記配置を可能にするプログラム、さらに、前記オブジェクトの配置が許容される領域と許容されない領域とを設定する設定情報とが記憶されたメモリを備え、
前記コンピュータ資源の演算装置は、前記設定情報を取得する工程と、前記プログラムに基づいて前記仮想空間にユーザが選択したオブジェクトを配置できるか否かを判定する工程と、前記判定後の前記仮想空間に対するオブジェクトの配置情報を前記メモリに保存する工程と、当該配置情報に基づいて前記オブジェクトを前記仮想空間に配置する工程と、当該オブジェクトが仮想空間に配置された映像を表示手段に出力する工程と、を実行し、
前記設定情報は互いに重なる複数の層から構成され、かつ下層に対する前記設定は上層に対して優先され、前記演算装置は、前記下層の所定領域に前記オブジェクトの配置が許容されないとされる設定がされていた場合に、この所定領域の上に来る上層の対応領域への前記オブジェクトの配置も不許容にされるようにしたゲーム装置。
【請求項９】
所定のオブジェクト画像を含む仮想遊戯空間表示する表示部と、前記オブジェクト画像を動画処理する演算処理ユニットと、を備えた画像処理装置であって、
前記演算処理ユニットが、
前記オブジェクト画像を前記仮想遊戯空間内の所定の位置にコリジョンデータとして記憶するためのベース領域であるレイヤーを複数を備え、各レイヤーのベース領域が単位領域に細分化され、当該単位領域毎にコリジョンデータが記憶される記憶手段と、
前記各レイヤーのそれぞれを重ねて表示することで、前記仮想遊戯空間を生成する仮想遊戯空間表示制御手段と、
前記同一のレイヤー間における、前記コリジョンデータの干渉の有無を判別するコリジョンデータ干渉判別手段と、
前記コリジョンデータ干渉判別手段での判別の結果、コリジョンデータが干渉する場合に、コリジョンデータの記憶を拒否するコリジョン拒否手段と、
前記レイヤーの階層順に優先度が設定され、異なるレイヤー間における、コリジョンデータの干渉を許容すると共に、それぞれのコリジョンデータを登録したレイヤーの階層順序に基づいて、干渉しあうコリジョンデータの何れかを選択するコリジョンデータ選択手段とを有し、
各手段が画像処理プログラムとしてメモリに記憶され、前記画像処理演算ユニットによって実行されることを特徴とする画像処理装置。
【請求項１０】
前記コリジョンデータ選択手段では、優先度の高いコリジョンデータの選択によって非選択となった優先度の低いコリジョンデータを記憶しておき、前記優先度の高いコリジョンデータが削除された時点で、非選択とされていたコリジョンデータの中から最も優先度の高いコリジョンデータを選択することを特徴とする請求項９記載の画像処理装置。
【請求項１１】
所定のオブジェクト画像を含む仮想遊戯空間表示する表示部と、前記オブジェクト画像を動画処理する演算処理ユニットと、を備えた画像処理装置によって実行される画像処理方法であって、
前記オブジェクト画像を前記仮想遊戯空間内の所定の位置にコリジョンデータとして記憶するためのベース領域であるレイヤーを複数を備え、各レイヤーのベース領域が単位領域に細分化され、当該単位領域毎にコリジョンデータを記憶する工程と、
前記各レイヤーのそれぞれを重ねて表示することで、前記仮想遊戯空間を生成する工程と、
前記同一のレイヤー間における、前記コリジョンデータの干渉の有無を判別する工程と、
前記判別の結果、コリジョンデータが干渉する場合に、コリジョンデータの記憶を拒否する工程と、
前記レイヤーの階層順に優先度が設定され、異なるレイヤー間における、コリジョンデータの干渉を許容すると共に、それぞれのコリジョンデータを登録したレイヤーの階層順序に基づいて、干渉しあうコリジョンデータの何れかを選択する工程と、
を実行することを特徴とする画像処理方法。
【請求項１２】
前記コリジョンデータの選択の際に、優先度の高いコリジョンデータの選択によって非選択となった優先度の低いコリジョンデータを記憶しておき、前記優先度の高いコリジョンデータが削除された時点で、非選択とされていたコリジョンデータの中から最も優先度の高いコリジョンデータを選択することを特徴とする請求項１１記載の画像処理方法。
【請求項１３】
前記請求項１１又は請求項１２記載の各ステップをコンピュータに実行させるためのプログラム。
【請求項１４】
仮想空間内に配置されたオブジェクトの画像を生成して表示手段に出力するとともに、前記オブジェクトの位置データと前記仮想空間に定義された地形のデータとに基づいて前記オブジェクトと前記地形との衝突判定を行い、該判定結果に基づいてゲーム進行の制御を行うゲーム制御手段としてコンピュータを機能させるプログラムであって、
前記地形データが複数用意されており、前記地形データは他の地形データとの階層関係を示す階層情報と、前記オブジェクトとの衝突判定の結果に応じて所定のイベント処理を行うための衝突判定情報を含む配列で構成されており、前記オブジェクトの位置情報と、前記地形の階層情報に基づいて、どの階層の地形に定義された衝突判定情報を採用するかを決定する手段と、前記決定された階層の地形に定義された衝突判定情報に基づいて所定のイベント処理を行う手段と、を含むゲーム制御手段としてコンピュータを機能させるプログラム。
【請求項１５】
前記請求項１３又は１４記載のプログラムが記憶された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間にオブジェクトを配置する方法、ゲーム装置、所定のオブジェクト画像を含む仮想遊戯空間表示する表示部と、前記オブジェクト画像を動画処理する演算処理ユニットと、を備えた画像処理装置、並びにこの画像処理装置を用いて実行される画像処理方法に関するものである。
【背景技術】
【０００２】
従来より、仮想的な三次元空間（以下、「仮想遊戯空間」と称す。）内に配置された、様々な物体を模した仮想体を、特定の視点から見た画像として映し出す三次元の処理を行うゲーム装置が知られている。このようなゲーム装置では、仮想遊戯空間内に、例えば、特定の地形を持つ土地に、植林したり、建造物を配したりすることで、土地開発ゲームをシミュレーションすることができる。なお、上記において、土地空間が仮想遊戯空間であり、地形データ、植林データ、建造物データ等は、オブジェクト画像（仮想体）となる。
【０００３】
このようなゲーム装置を用いて画像を生成する場合には、まず仮想遊戯空間内における視点と仮想体の位置を確定し、次に視点の向いている方向に配置されている仮想体の画像を生成している。上記シミュレーションゲームにおける画像の生成を行う場合には、視点の向いている方向に、たとえば、地形には、建造物を配する領域の障害物などが配置されている。このとき、ゲーム装置は、各仮想体が視点位置から相対的にどの位置に配置してあるかを障害物情報に基づいて認識し、土地の移り変わり（動的マップ）を表現することができる。
【０００４】
仮想遊戯空間内に配置される仮想体は、ゲーム装置により処理が可能な、幾何学的に形成されたコンピュータグラフィックスである。仮想体は、ポリゴンと呼ばれる三角や四角の平らな面を、立体的に組み合わせたものであるので、仮想体に曲面や細かな凹凸がある場合には、仮想体に比べ大きさの小さい、多くのポリゴンを用いて、その形状を形成する。
【０００５】
また、仮想遊戯空間上に配置される各仮想体には、通常、テクスチャマッピングが行われる。テクスチャマッピングとは、テクスチャと呼ばれる２次元画像を、３次元の仮想体に貼り付けることであり、このテクスチャマッピングにより、仮想体の表面特性の定義を非常に巧妙に増やすことができる。
【０００６】
すなわち、このような上記シミュレーションゲームでは、植林、建造物等は、仮想遊戯空間に配置可能な立体の仮想体である。
【０００７】
そして、建造物を建築する際、その建築領域が既に植林されている領域等と比較して、障害物となっているか否かを判定して衝突が起こっていれば、これに対応した制御を行わなければならない。
【０００８】
ここで、障害物となっているか否かを判定するために、単数または複数のコリジョンが用いられる。コリジョンとは、上記シミュレーションゲームプログラム上では、建造物の建築をいい、コリジョン点とはコリジョンが起こった箇所あるいは起こるべき箇所をいう。障害物に対する衝突判定も、障害物に複数設定されたコリジョンデータと、建造物等のコリジョンデータに基づいて行われる。通常、コリジョンデータはゲームプログラム上の仮想遊戯空間内における座標で表わされ、この両座標の一致または重なりを検出することにより、衝突判定や当たり判定が行われる。
【０００９】
このようなゲーム装置では、コリジョンが起こっているか否かを判定する基礎となるコリジョンデータを予め設定し、このコリジョンデータを基にコリジョンが起こっているか否かを判定している（特許文献１参照）。
【特許文献１】特開２００３−１１５０５６公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、一般のゲーム装置では、単一のレイヤー上に土地の地形データ（これもコリジョンデータの１つである）、もともと地形上に存在する障害物データ（ここでは、植林等）、これから地形上に配置するデータ（ここでは、建造物等）が共存しているため、互いが、それぞれのコリジョンデータに依存することになり、障害物データが増えていくに従い、制限が増大し、自由度を損なうことになり、動的なマップの変化に弱くなるという欠点がある。
【００１１】
例えば、リアルタイムに互いのコリジョンデータの比較が必要なゲームもあるが、逆に最終的に構築するまでの過程を楽しむべく、障害物等に関係なく新たにコリジョンデータの重複を許容する柔軟性を持たせる方がよい場合もある。一例として、上述した土地開発シミュレーションゲーム等では、地形や植林によって建造物の建築が拒否される場合と、逆に地形を変更したり、植林を伐採したりして、建造物を優先する場合もある。
【００１２】
本発明は上記事実を考慮し、従来からのコリジョンデータによる障害物との衝突判定やイベント判定等を維持しつつ、オブジェクト画像のコリジョン操作に柔軟性を持たせ、動的な変化の自由度を拡大することができるオブジェクト配置方法、ゲーム装置、画像処理装置及び画像処理方法を得ることが目的である。
【課題を解決するための手段】
【００１３】
（１）  第１の発明は、仮想空間にオブジェクトを配置することを、コンピュータ資源を用いて行う方法において、前記コンピュータ資源は、前記オブジェクトのデータ、前記配置を可能にするプログラム、さらに、前記オブジェクトの配置が許容される領域と許容されない領域とを設定する設定情報とが記憶されたメモリを備え、前記コンピュータ資源の演算装置は、前記設定情報を取得する工程と、前記プログラムに基づいて前記仮想空間にユーザが選択したオブジェクトを配置できるか否かを判定する工程と、前記判定後の前記仮想空間に対するオブジェクトの配置情報を前記メモリに保存する工程と、当該配置情報に基づいて前記オブジェクトを前記仮想空間に配置する工程と、当該オブジェクトが仮想空間に配置された映像を表示手段に出力する工程と、を実行し、前記設定情報は互いに重なる複数の層から構成され、かつ下層に対する前記設定は上層に対して優先され、前記演算装置は、前記下層の所定領域に前記オブジェクトの配置が許容されないとされる設定がされていた場合に、この所定領域の上に来る上層の対応領域への前記オブジェクトの配置も不許容にされるようにしたことを特徴としている。
【００１４】
第１の発明によれば、演奏装置では、以下の処理を実行する。すなわち、設定情報を取得し、プログラムに基づいて前記仮想空間にユーザが選択したオブジェクトを配置できるか否かを判定し、判定後の前記仮想空間に対するオブジェクトの配置情報を前記メモリに保存し、当該配置情報に基づいて前記オブジェクトを前記仮想空間に配置し、前記オブジェクトが仮想空間に配置された映像を表示手段に出力する。
【００１５】
このとき、前記設定情報は互いに重なる複数の層から構成され、かつ下層に対する前記設定は上層に対して優先され、前記下層の所定領域に前記オブジェクトの配置が許容されないとされる設定がされていた場合に、この所定領域の上に来る上層の対応領域への前記オブジェクトの配置も不許容にされるようにした。
【００１６】
第１の発明において、最上層の前記設定をユーザ側に許容するようにしたことを特徴とする。
【００１７】
また、第１の発明において、前記各層が複数のセルからなるグリッド状に構成され、セル毎に前記設定が可能になるようにしたことを特徴とする。
【００１８】
さらに、第１の発明において、最下層の設定が仮想空間の地形データに対応していることを特徴とする。
【００１９】
また、第１の発明において、前記下層のうち、前記オブジェクトの配置が許容される所定領域に対応する上層の部分に、当該オブジェクトを配置できるようにしたことを特徴とする。
【００２０】
さらに、第１の発明において、複数のコンピュータ資源がネットワークを介して接続されており、前記コンピュータ資源同士は、前記配置情報を互いに交換し、各コンピュータ資源の演算装置は、交換した配置情報に基づいて前記オブジェクトを仮想空間に配置して映像を形成して、これを対応する表示手段に表示するようにしたことを特徴とする。
【００２１】
（２）  第２の発明は、仮想空間にオブジェクトを配置することを、コンピュータ資源を用いて行うようにしたゲーム装置において、前記コンピュータ資源は、前記オブジェクトのデータ、前記配置を可能にするプログラム、さらに、前記オブジェクトの配置が許容される領域と許容されない領域とを設定する設定情報とが記憶されたメモリを備え、前記コンピュータ資源の演算装置は、前記設定情報を取得する工程と、前記プログラムに基づいて前記仮想空間にユーザが選択したオブジェクトを配置できるか否かを判定する工程と、前記判定後の前記仮想空間に対するオブジェクトの配置情報を前記メモリに保存する工程と、当該配置情報に基づいて前記オブジェクトを前記仮想空間に配置する工程と、当該オブジェクトが仮想空間に配置された映像を表示手段に出力する工程と、を実行し、前記設定情報は互いに重なる複数の層から構成され、かつ下層に対する前記設定は上層に対して優先され、前記演算装置は、前記下層の所定領域に前記オブジェクトの配置が許容されないとされる設定がされていた場合に、この所定領域の上に来る上層の対応領域への前記オブジェクトの配置も不許容にされるようにしたことを特徴とする。
【００２２】
第２の発明によれば、メモリは、オブジェクトのデータ、配置を可能にするプログラム、さらに、オブジェクトの配置が許容される領域と許容されない領域とを設定する設定情報とを記憶する。
【００２３】
また、演算装置では、前記設定情報を取得する工程と、前記プログラムに基づいて前記仮想空間にユーザが選択したオブジェクトを配置できるか否かを判定する工程と、前記判定後の前記仮想空間に対するオブジェクトの配置情報を前記メモリに保存する工程と、当該配置情報に基づいて前記オブジェクトを前記仮想空間に配置する工程と、当該オブジェクトが仮想空間に配置された映像を表示手段に出力する工程と、を実行する。
【００２４】
このとき、前記設定情報は互いに重なる複数の層から構成され、かつ下層に対する前記設定は上層に対して優先され、前記演算装置は、前記下層の所定領域に前記オブジェクトの配置が許容されないとされる設定がされていた場合に、この所定領域の上に来る上層の対応領域への前記オブジェクトの配置も不許容にされるようにする。
【００２５】
（３）  第３の発明は、所定のオブジェクト画像を含む仮想遊戯空間表示する表示部と、前記オブジェクト画像を動画処理する演算処理ユニットと、を備えた画像処理装置であって、前記演算処理ユニットが、前記オブジェクト画像を前記仮想遊戯空間内の所定の位置にコリジョンデータとして記憶するためのベース領域であるレイヤーを複数を備え、各レイヤーのベース領域が単位領域に細分化され、当該単位領域毎にコリジョンデータが記憶される記憶手段と、前記各レイヤーのそれぞれを重ねて表示することで、前記仮想遊戯空間を生成する仮想遊戯空間表示制御手段と、前記同一のレイヤー間における、前記コリジョンデータの干渉の有無を判別するコリジョンデータ干渉判別手段と、前記コリジョンデータ干渉判別手段での判別の結果、コリジョンデータが干渉する場合に、コリジョンデータの記憶を拒否するコリジョン拒否手段と、前記レイヤーの階層順に優先度が設定され、異なるレイヤー間における、コリジョンデータの干渉を許容すると共に、それぞれのコリジョンデータを登録したレイヤーの階層順序に基づいて、干渉しあうコリジョンデータの何れかを選択するコリジョンデータ選択手段とを有し、各手段が画像処理プログラムとしてメモリに記憶され、前記画像処理演算ユニットによって実行されることを特徴としている。
【００２６】
第３の発明によれば、記憶手段が、オブジェクト画像を前記仮想遊戯空間内の所定の位置にコリジョンデータとして記憶するためのベース領域であるレイヤーを複数を備えており、各レイヤーのベース領域が単位領域に細分化され、当該単位領域毎にコリジョンデータが記憶される。
【００２７】
仮想遊戯空間表示制御手段では、記憶手段に記憶された各レイヤーのそれぞれを重ねて表示することで、前記仮想遊戯空間を生成する。
【００２８】
ここで、コリジョンデータ干渉判別手段では、同一のレイヤー間における、前記コリジョンデータの干渉の有無を判別し、その判別の結果、コリジョンデータが干渉する場合に、コリジョンデータの記憶を拒否する（拒否手段）。なお、この拒否には、後発のコリジョンデータと先発のコリジョンデータとの衝突という概念で、別オブジェクト画像に差し替える場合も含む。
【００２９】
一方、コリジョンデータ選択手段では、前記レイヤーの階層順に優先度が設定され、異なるレイヤー間における、コリジョンデータの干渉を許容すると共に、それぞれのコリジョンデータを登録したレイヤーの階層順序に基づいて、干渉しあうコリジョンデータの何れかを選択する。
【００３０】
これにより、全てのオブジェクト画像に対してコリジョンデータが拒否されるのではなく、例えば、仮想遊戯空間内にオブジェクト画像を増やしていく、少なくとも中間的な段階では、互いが別のレイヤーであれば、矛盾（同一空間に複数のオブジェクト画像の存在）するような構成も可能となり、動的なマッピングの自由度を拡げることができる。なお、最終的な段階では、矛盾を解消するような構成に修復すればよい。
【００３１】
上記第３の発明において、前記コリジョンデータ選択手段では、優先度の高いコリジョンデータの選択によって非選択となった優先度の低いコリジョンデータを記憶しておき、前記優先度の高いコリジョンデータが削除された時点で、非選択とされていたコリジョンデータの中から最も優先度の高いコリジョンデータを選択することを特徴としている。
【００３２】
同一の空間に複数のオブジェクト画像が存在しても矛盾が生じない場合がある。例えば、オブジェクト画像として空き地が表現され、その上にオブジェクト画像として建造物を建てるような場合に該当する。
【００３３】
このような場合、建造物を建てることで、この建造物のコリジョンデータが表示対象として選択されることになるが、建造物が取り壊された場合、コリジョンデータが存在しなくなる。そこで、非選択とされていたコリジョンデータの中から最も優先度の高いコリジョンデータ（上記例では、空き地画像）を選択する。
【００３４】
（４）  第４の発明は、所定のオブジェクト画像を含む仮想遊戯空間表示する表示部と、前記オブジェクト画像を動画処理する演算処理ユニットと、を備えた画像処理装置によって実行される画像処理方法であって、前記オブジェクト画像を前記仮想遊戯空間内の所定の位置にコリジョンデータとして記憶するためのベース領域であるレイヤーを複数を備え、各レイヤーのベース領域が単位領域に細分化され、当該単位領域毎にコリジョンデータを記憶する工程と、前記各レイヤーのそれぞれを重ねて表示することで、前記仮想遊戯空間を生成する工程と、前記同一のレイヤー間における、前記コリジョンデータの干渉の有無を判別する工程と、前記判別の結果、コリジョンデータが干渉する場合に、コリジョンデータの記憶を拒否する工程と、前記レイヤーの階層順に優先度が設定され、異なるレイヤー間における、コリジョンデータの干渉を許容すると共に、それぞれのコリジョンデータを登録したレイヤーの階層順序に基づいて、干渉しあうコリジョンデータの何れかを選択する工程と、を実行することを特徴としている。
【００３５】
第４の発明によれば、複数のレイヤーには、オブジェクト画像を前記仮想遊戯空間内の所定の位置にコリジョンデータが記憶されるが、各レイヤーのベース領域が単位領域に細分化され、当該単位領域毎にコリジョンデータが記憶される。
【００３６】
各レイヤーはそれぞれが重ねられた状態で表示され仮想遊戯空間が生成される。
【００３７】
ここで、同一のレイヤー間における、前記コリジョンデータの干渉の有無を判別し、その判別の結果、コリジョンデータが干渉する場合に、コリジョンデータの記憶を拒否する。なお、この拒否には、後発のコリジョンデータと先発のコリジョンデータとの衝突という概念で、別オブジェクト画像に差し替える場合も含む。
【００３８】
一方、前記レイヤーの階層順に優先度が設定され、異なるレイヤー間における、コリジョンデータの干渉を許容すると共に、それぞれのコリジョンデータを登録したレイヤーの階層順序に基づいて、干渉しあうコリジョンデータの何れかを選択する。
【００３９】
これにより、全てのオブジェクト画像に対してコリジョンデータが拒否されるのではなく、例えば、仮想遊戯空間内にオブジェクト画像を増やしていく、少なくとも中間的な段階では、互いが別のレイヤーであれば、矛盾（同一空間に複数のオブジェクト画像の存在）するような構成も可能となり、動的なマッピングの自由度を拡げることができる。なお、最終的な段階では、矛盾を解消するような構成に修復すればよい。
【００４０】
上記第４の発明において、前記コリジョンデータの選択の際に、優先度の高いコリジョンデータの選択によって非選択となった優先度の低いコリジョンデータを記憶しておき、前記優先度の高いコリジョンデータが削除された時点で、非選択とされていたコリジョンデータの中から最も優先度の高いコリジョンデータを選択することを特徴としている。
【００４１】
同一の空間に複数のオブジェクト画像が存在しても矛盾が生じない場合がある。例えば、オブジェクト画像として空き地が表現され、その上にオブジェクト画像として建造物を建てるような場合に該当する。
【００４２】
このような場合、建造物を建てることで、この建造物のコリジョンデータが表示対象として選択されることになるが、建造物が取り壊された場合、コリジョンデータが存在しなくなる。そこで、非選択とされていたコリジョンデータの中から最も優先度の高いコリジョンデータ（上記例では、空き地画像）を選択する。
【発明の効果】
【００４３】
以上説明した如く本発明では、従来からのコリジョンデータによる障害物との衝突判定やイベント判定等を維持しつつ、オブジェクト画像のコリジョン操作に柔軟性を持たせ、動的な変化の自由度を拡大することができるという優れた効果を有する。
【発明を実施するための最良の形態】
【００４４】
図１は、本発明に係る画像処理装置の一例としてのゲーム装置のブロック図を示す。
【００４５】
ゲーム装置１００は、ゲームプログラムやデータ（映像、音楽データも含む）が格納されたプログラムデータ記憶装置又は記憶媒体（光ディスク及び光ディスクドライブ等も含む）１０１と、ゲームプログラムの実行や全体システムの制御及び画像表示のための座標計算等を行うＣＰＵ１０２と、ＣＰＵ１０２が処理を行うのに必要なプログラムやデータが格納されるシステムメモリ１０３と、ゲーム装置１００を起動するときに必要なプログラムやデータが格納されているＢＯＯＴＲＯＭ１０４と、ゲーム装置１００の各ブロックや外部に接続される機器とのプログラムやデータの流れを制御するバスアービタ１０５とを備え、これらはバスにそれぞれ接続されている。また、バスアービタ１０５には、遊戯者がゲームを進行させるための操作手段としての操作端末３００が接続されている。
【００４６】
バスにはレンダリングプロセッサ１０６が接続され、プログラムデータ記憶装置又は記憶媒体１０１から読み出した映像（ムービー）データや、操作者の操作やゲーム進行に応じて生成すべき画像は、レンダリングプロセッサ１０６によってディスプレイモニタ１１０に表示される。
【００４７】
レンダリングプロセッサ１０６が画像生成を行うのに必要なグラフィックデータ等はグラフィックメモリ（フレームバッファ）１０７に格納されている。
【００４８】
バスには、サウンドプロセッサ１０８が接続され、プログラムデータ記憶装置又は記憶媒体１０１から読み出した音楽データは、操作者の操作やゲームの進行に応じて生成すべき効果音や音声は、サウンドプロセッサ１０８によってスピーカ１１１から出力される。
【００４９】
サウンドプロセッサ１０８が効果音や音声を生成するために必要なサウンドデータ等はサウンドメモリ１０９に格納される。
【００５０】
ゲーム装置１００には、モデム１１２が接続され、電話回線（図示省略）を通じて、他のゲーム装置１００やネットワークサーバと通信を行い得る。
【００５１】
さらに、ゲーム装置１００には、ゲームの途中経過の情報やモデム１１２を通じて入出力されるプログラムデータを記憶しておくバックアップメモリ１１３（ディスク記憶媒体や記憶装置も含まれる）と、操作者の操作に従ってゲーム装置１００及び外部に接続される機器を制御するための情報をゲーム装置１００に入力するコントローラ１１４が接続されている。ＣＰＵ１０２とレンダリングプロセッサ１０６によって画像演算処理ユニットが構成される。
【００５２】
本実施の形態では、プログラムデータとして、シミュレーションムプログラムが記憶されており、上記ゲーム装置１００は、このシミュレーションを実行するべく、レンダリングブロセッサ１０６及びサウンドプロセッサ１０８等が起動する。
【００５３】
ここで、本実施の形態のシミュレーションゲームでは、土地開発をテーマにしており、図２に示される如く、ディスプレイモニタ１１０には、仮想遊戯空間として土地の地形画像（背景画像）５０が表示されるようになっている。この地形画像５０は、山岳、河川、森林等の自然地形画像や、更地、道路や橋等の人工的地形画像が含まれる。この地形画像５０には、ゲームの進行に応じて建造物や植林等のオブジェクト画像５２が追加、削除されるようになっている。
【００５４】
ディスプレイモニタ１１０上の表示画像は、図３に示される如く、複数（図３では、３階層）のレイヤー５４（Layer 0）、５６（Layer 1）、５８（Layer 2）によって構成されている。
【００５５】
すなわち、レイヤー５４、５６、５８は、地形画像５０やオブジェクト画像５２のコリジョンデータを記憶するベースとなるものであり、レイヤー５４、５６、５８毎に分類されて記憶されるようになっている。
【００５６】
レイヤー５４、５６、５８は、それぞれ細分化され、その１つのセルが単位領域（以下、ヘックスという）６０とされる。
【００５７】
コリジョンデータは、このヘックス６０毎に記憶されるようになっており、例えば、図３に模式的に示せば、斜線が施されたヘックス６０がコリジョンデータが存在する領域であり、空白のヘックス６０がコリジョンデータが存在しない領域である。
【００５８】
また、ヘックス６０には、表示の際に色分けを施すことで、プレイヤーキャラ等の移動体が移動可能な領域、既にコリジョンデータが存在し、プレイヤーキャラ等の移動体が侵入できない領域、別のレイヤーへの転送領域、等ゲーム装置に応じた条件を設定することが可能となっている。
【００５９】
さらに、ヘックス６０はグリッド状であるため、コリジョンデータとして、不定形なものを配置しても、その配置領域を細かく認識することができ、トンネル等の内部に空間があるようなコリジョンデータに対して、上記のような条件を設定することが可能となる。
【００６０】
また、複数のレイヤー構成とすることで、ネットワーク上の複数の共有者同士で、コリジョンデータを送受信する場合に、レイヤー単位でのコリジョンデータの送受信が可能となっており、データ転送容量を軽減することが可能となる。
【００６１】
最下層のレイヤー５４は、地形画像５０の内の起伏を示すコリジョンデータを記憶しており、例えば、建造物を建てることが可能な平坦な更地であるのか、急勾配の斜面であるのかをコリジョンデータとして記憶している。
【００６２】
この最下層のレイヤー５４の上層となるレイヤー５６は、地形画像５０上に存在する障害物画像（河川、森林、道路、橋等）を示すコリジョンデータを記憶しており、通常は、このような障害物に干渉するように建造物等は建築することができない。
【００６３】
ここで、本実施の形態では、前記障害物画像を記憶するレイヤー５６とは異なる、最上層のレイヤー５８に建造物画像を記憶するようになっている。
【００６４】
なお、レイヤー５４、５６、５８の関係は、上記のような自然地形、人口開発物、建造物の関係の他、下層から更地、建造物、建造物内家具の関係であってもよい。また、レイヤーを増やしてもよい。
【００６５】
上記複数のレイヤー構成において、本実施の形態では、同一レイヤー或いは異なるレイヤー間の何れであっても衝突判定、イベント判定等を行うようにしているが、異なるレイヤー間では、例えば、衝突判定の結果、複数のオブジェクト画像（コリジョンデータ）が干渉しあっても、これを一時的に容認するようにしている。
【００６６】
容認は、基本的には、下層のレイヤーに属するコリジョンデータを優先するように制御され、結果としてディスプレイモニタ１１０上には、後から追加したコリジョンデータに基づいて画像が表示されるようになっている。
【００６７】
また、異なるレイヤー間で干渉しあうコリジョンデータは、最終的に矛盾が生じる場合と生じない場合とがあるため、これを分類し、かつ矛盾が生じる場合の処理を行うことが可能となっている。例えば、更地画像のコリジョンデータと、建造物画像のコリジョンデータとは衝突判定があっても矛盾が生じるものではなく、植林画像のコリジョンデータの上に建造物画像のコリジョンデータがあった場合は、これを解消する必要がある。
【００６８】
図４は、ＣＰＵ１０２における、仮想遊戯空間を表示するための制御並びにコリジョンデータを複数のレイヤーを用いて管理するための制御を機能的に示したブロック図である。
【００６９】
入力データは処理判別部１０に入力されるようになっており、この処理判別部１０において、コマンド（表示指示、格納指示、削除指示）を認識する。なお、格納指示の場合には、格納するべき、コリジョンデータ、並びにその種類、位置情報が含まれる。
【００７０】
処理判別部１０は、削除実行部１２、出力制御部１４、入力データ抽出部１６とに接続されている。
【００７１】
削除実行部１２は、削除指示を受けると、階層メモリ１８に対して、既に格納されているコリジョンデータの削除を実行する。
【００７２】
また、出力制御部１４は、出力指示を受けると、コリジョンデータ読出部２０を介して、階層メモリ１８から特定のレイヤーのコリジョンデータを読出し、データ出力部２２へ送出する。データ出力部２２は、読み出したコリジョンデータをネットワーク上の共有者へ送信される。なお、ディスプレイモニタ１１０（図２参照）へ送出することで、仮想遊戯空間画像を表示することも可能である。
【００７３】
入力データ抽出部１６は、格納先レイヤー決定部２４に接続されている。この格納先レイヤー決定部２４では、前記入力データ抽出部１６からコリジョンデータ種を受け、このコリジョンデータ種に基づいて格納するべきレイヤーを決定し、当該決定したレイヤー及び位置を干渉判別部２６へ送出する。
【００７４】
また、入力データ抽出部１６は、全レイヤー内コリジョン位置情報読出部２８に接続されており、この全レイヤー内コリジョン位置情報読出部に位置情報が入力されることで、階層メモリ１８からコリジョンデータの位置情報を読み出し、干渉判別部２６へ送出する。
【００７５】
干渉判別部２６では、これから格納するコリジョンデータが既に格納されているコリジョンデータを干渉するか否かを判別し、その結果を格納可否判定部３０及び干渉有無判定部３２へ送出するようになっている。
【００７６】
格納可否判定部３０では、別レイヤーに関しては全て「格納可」とし、同一のレイヤーに関してのみ格納の可否を判定する。
【００７７】
この格納可否判定部３０で、「格納可」と判定された場合には、当該「格納可」信号を格納実行部３４へ送出する。格納実行部３４では、この「格納可」信号を受けて、入力データ抽出部１６からコリジョンデータを読出し、階層メモリ１８の所定のレイヤーに格納する。
【００７８】
また、格納可否判定部３０で、「格納不可」と判定された場合には、当該「格納不可」信号をメッセージ表示指示部３６へ送出する。このメッセージ表示指示部３６では、「格納不可」信号を受けると、出力制御部１４に対して、「格納不可」である旨のメッセージを表示するように指示する。
【００７９】
前記干渉有無判定部３２では、別レイヤーを対象としたものであり、本来であれば、新たに格納するコリジョンデータと既に格納されているコリジョンデータとが干渉しているか否かを判定する。この干渉有無判定部３２での判定の結果、干渉すると判定されると、優先レイヤー設定部３８にアクティブ信号を送出する。
【００８０】
このアクティブ信号により優先レイヤー設定部３８では、干渉しあうコリジョンデータの優先度を決定する。例えば、更地データ上に建造物データが存在しても矛盾はないため、建造物データを優先するように優先度管理部４０へ送出する。一方、植林データ上に建造物データが存在すると矛盾が生じるため、植林データを優先するように優先度管理部４０へ送出する。
【００８１】
優先度管理部４０では、この優先情報を階層メモリ１８と連携しあい、例えば、矛盾が生じる２つのコリジョンデータを表示するときに優先度に応じて、優先度の低い一方を半透明で表示したり、点滅させたり、濃度を変化させる等の識別処理を施すことが可能となる。言い換えれば、矛盾が生じていても、格納することが可能であり、最終的な段階でこの矛盾を解消すればよいことになる。
【００８２】
以下に本実施の形態の作用を図５のフローチャートに従い説明する。
【００８３】
ステップ２００では、コマンドが入力されたか否かが判断され、否定判定された場合には、このルーチンは実行されず、終了する。
【００８４】
ステップ２００で肯定判定されると、ステップ２０２へ移行してコマンド内容を判別する。
【００８５】
ステップ２０２での判別で、格納指示と判別された場合には、ステップ２０４へ移行して、格納先レイヤーを決定し、次いでステップ２０６へ移行して、階層メモリ１８に格納されている全てのコリジョンデータの位置情報を読み出す。
【００８６】
次のステップ２１０では、これから格納するコリジョンデータの位置と既に格納されているコリジョンデータの位置とが干渉するか否かを判別する。
【００８７】
ステップ２１２では、上記判別の結果が干渉があるか否かが判断される。このステップ２１２で肯定判定されると、ステップ２１４へ移行して干渉するのが同一レイヤーか否かが判断され、肯定判定されると、ステップ２１６へ移行して、「格納不可」というメッセージを表示するように指示し、ステップ２１８で表示制御を実行し、このルーチンは終了する。
【００８８】
また、ステップ２１２で否定判定（干渉なし）、ステップ２１４で否定判定（干渉しているが、別レイヤー）された場合には、ステップ２２０へ移行して格納指示し、ステップ２２２へ移行する。
【００８９】
ステップ２２２では、格納指示したコリジョンデータが干渉あり、かつ別レイヤーであるか否かが判断され、肯定判定されると、ステップ２２４へ移行して、この干渉しあうコリジョンデータ間の優先度を設定し、このルーチンは終了する。また、ステップ２２２で否定判定された場合には、このルーチンは終了する。
【００９０】
通常は、下層側のレイヤーに属するコリジョンデータが優先されるが、矛盾が生じる場合には、この優先度が逆転する場合もあり得る。すなわち、更地画像データ上に建造部画像データが存在しても矛盾は生じないため、建造物画像データの優先度を高くする。一方、植林データ上に建造物画像データが存在する場合には、植林画像データの優先度を高くする。
【００９１】
ここで、前記ステップ２０２におけるコマンド内容の判別が、削除指示であった場合には、ステップ２２６へ移行して、対応するコリジョンデータを検索し、ステップ２２８へ移行して削除指示をしてこのルーチンは終了する。
【００９２】
また、ステップ２０２におけるコマンド内容の判別が、出力指示（ここでの出力指示とは、ネットワーク上の他の共有者への送信、自ゲーム装置のディスプレイモニタ１１０への表示を含む。）であった場合には、ステップ２３０へ移行して、操作に応じた移動パターンを設定してステップ２３２へ移行する。
【００９３】
ステップ２３２では、出力されるコリジョンデータにおいて別レイヤー間での干渉があるか否かが判断され、否定判定された場合には、ステップ２１８へ移行して出力制御が実行される。また、ステップ２３２で肯定判定されると、ステップ２３４へ移行して優先度に基づいて識別処理を実行して、ステップ２１８へ移行する。
【００９４】
識別処理は、矛盾が生じる２つのコリジョンデータを出力するときに優先度に応じて、優先度の低い一方を半透明で表示したり、点滅させたり、濃度を変化させる等の処理である。
【００９５】
以上説明したように本実施の形態では、コリジョンデータを複数のレイヤーに分別して格納することで、実際には同一位置に配置し得ない複数のコリジョンデータを別レイヤーとすることで、設定（格納）可能とし、コリジョン操作に柔軟性を持たせ、動的な変化の自由度を拡大することができる。すなわち、地形画像データに依存することなく、建造物画像データ等のオブジェクト画像を自由に設置、移動、削除することができ、逆に地形画像を変えても、その他のオブジェクト画像に影響することがなくなる。また、最終的に矛盾が生じるような配置があった場合、この矛盾を識別処理しておけば、変更のための処理を簡素化することができる。
【００９６】
また、レイヤーを細分化（ヘックス６０）し、それぞれの表示の際に色分けを施すことで、プレイヤーキャラ等の移動体が移動可能な領域、既にコリジョンデータが存在し、プレイヤーキャラ等の移動体が侵入できない領域、別のレイヤーへの転送領域、等ゲーム装置に応じた条件を設定することが可能となっている。
【００９７】
さらに、ヘックス６０はグリッド状であるため、コリジョンデータとして、不定形なものを配置しても、その配置領域を細かく認識することができ、トンネル等の内部に空間があるようなコリジョンデータに対して、上記のような条件を設定することができる。
【００９８】
また、複数のレイヤー構成とすることで、ネットワーク上の複数の共有者同士で、コリジョンデータを送受信する場合に、レイヤー単位でのコリジョンデータの送受信が可能となっており、データ転送容量を軽減することができる。
【００９９】
ここで説明した実施形態によれば、RPG等、キャラクターがフィールドを移動する形式のゲームにおいて、衝突判定、及び、イベント判定を、複数レイヤーで構成された地形データにより処理をすることで、地形の編集、動的な変化を補助することができる。キャラクターの、衝突判定・イベント判定を地形データから処理する。従来のアルゴリズムでは１枚の地形データから、処理を行ってきたが、本発明では、複数層の地形データから処理を行う。地形データは複数レイヤーで構成され、１枚のレイヤーは、任意の大きさの配列で構成され、それぞれの要素(以下、ヘックス)に、障害物の情報、イベントの情報など地形のデータを保存することができる。既述の実施形態では、地形データは３層で構成され、１層は5x5の配列となっている。よって、一つのヘックスに、複数の情報が重なる場合もあるが、その場合は、レイヤー番号が若い方の情報が優先され処理される。  レイヤーを複数に分けることで、依存しあわない物のコリジョン(衝突判定)を別々に設定することができる。
【図面の簡単な説明】
【０１００】
【図１】本発明が適用されるゲーム装置のブロック図である。
【図２】本実施の形態に係るディスプレイモニタにおける仮想遊戯空間画像の表示状態を示す正面図である。
【図３】仮想遊戯空間を構成するレイヤー構成図である。
【図４】本実施の形態に係るＣＰＵにおける表示制御並びにレイヤー管理制御を実行するための機能ブロック図である。
【図５】本実施の形態に係るコリジョンデータ表示・管理制御ルーチンを示すフローチャートである。
【符号の説明】
【０１０１】
１０    処理判別部
１２    削除実行部
１４    出力制御部
１６    入力データ抽出部
１８    階層メモリ
２０    コリジョンデータ読出部
２２    データ出力部
２４    格納先レイヤー決定部
２６    干渉判別部
２８    全レイヤー内コリジョン位置情報読出部
３０    格納可否判定部
３２    干渉有無判定部
３４    格納実行部
３６    メッセージ表示指示部
３８    優先レイヤー設定部
４０    優先度管理部
１００    ゲーム装置
１０１    プログラムデータ記憶装置又は記憶媒体
１０２    ＣＰＵ
１０３    システムメモリ
１０４    ＢＯＯＴＲＯＭ
１０５    バスアービタ
１０６    レンダリングプロセッサ
１０７    グラフィックメモリ
１０８    サウンドプロセッサ
１０９    サウンドメモリ
１１０    ディスプレイモニタ
１１１    スピーカ
１１２    モデム
１１３    バックアップメモリ
１１４    コントローラ
【図１】
2006092222.tif 000003
【図２】
2006092222.tif 000004
【図３】
2006092222.tif 000005
【図４】
2006092222.tif 000006
【図５】
2006092222.tif 000007