(57)【要約】【課題】切断されたオブジェクトの切断面の多様な表現を可能にするプログラム、情報記憶媒体及びオブジェクト生成システムを提供すること。【解決手段】複数のポリゴンにより構成される第１の多面体オブジェクトＰＯ１と、少なくとも１のポリゴンにより構成される面オブジェクトＰＬのオブジェクト情報を記憶し、第１の多面体オブジェクトＰＯ１を、第１の多面体オブジェクトＰＯ１と交差する面オブジェクトＰＬにより切断して第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３を生成する。第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３それぞれの切断面ＣＰには、面オブジェクトＰＬを構成するポリゴンの属性情報が設定される。【選択図】図２
2011065396.tif 000002
【特許請求の範囲】
【請求項１】
複数のポリゴンにより構成される第１の多面体オブジェクトと、少なくとも１のポリゴンにより構成される面オブジェクトのオブジェクト情報を記憶する記憶部と、
前記第１の多面体オブジェクトを、前記第１の多面体オブジェクトと交差する前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成するオブジェクト生成部としてコンピュータを機能させ、
前記第２及び第３の多面体オブジェクトそれぞれの切断面には、前記面オブジェクトを構成するポリゴンの属性情報が設定されることを特徴とするプログラム。
【請求項２】
請求項１において、
前記オブジェクト生成部が、
前記第１の多面体オブジェクトを構成するポリゴンを、前記面オブジェクトを構成するポリゴンとの交線において分割し、分割されたポリゴンのうち、前記面オブジェクトを構成するポリゴンの表側にあるポリゴンを第１のグループに分け、前記面オブジェクトを構成するポリゴンの裏側にあるポリゴンを第２のグループに分ける処理を行い、
前記面オブジェクトを構成するポリゴンを、前記第１の多面体オブジェクトを構成するポリゴンとの交線において分割し、分割されたポリゴンのうち、前記第１の多面体オブジェクトを構成するポリゴンの表側にあるポリゴンを第３のグループに分け、前記第１の多面体オブジェクトを構成するポリゴンの裏側にあるポリゴンを第４のグループに分ける処理を行い、
前記第１のグループに属するポリゴンと前記第４のグループに属するポリゴンを結合して前記第２の多面体オブジェクトを生成し、前記第２のグループに属するポリゴンと前記第４のグループに属するポリゴンを結合して前記第３の多面体オブジェクトを生成することを特徴とするプログラム。
【請求項３】
請求項２において、
前記オブジェクト生成部が、
前記第１の多面体オブジェクトを構成するポリゴンのうち、前記面オブジェクトを構成するポリゴンと交差しないポリゴンを、前記第１の多面体オブジェクトを構成する他のポリゴンとの隣接関係に基づき前記第１及び第２のグループに分ける処理を行い、
前記面オブジェクトを構成するポリゴンのうち、前記第１の多面体オブジェクトを構成するポリゴンと交差しないポリゴンを、前記面オブジェクトを構成する他のポリゴンとの隣接関係に基づき前記第３及び第４のグループに分ける処理を行うことを特徴とするプログラム。
【請求項４】
請求項２又は３において、
前記オブジェクト生成部が、
前記分割されたポリゴンを三角形化し、三角形化されたポリゴンを前記第１〜第４のグループに分ける処理を行うことを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１の多面体オブジェクトと、前記第１の多面体オブジェクトと交差する前記面オブジェクトとをオブジェクト空間に設定するオブジェクト空間設定部と、
操作部からの操作情報に基づきゲーム演算を行うゲーム演算部と、
前記オブジェクト空間において仮想カメラから見える画像を描画する描画部として更にコンピュータを機能させ、
前記オブジェクト生成部が、
前記ゲーム演算の結果に基づいて、前記第１の多面体オブジェクトを前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成することを特徴とするプログラム。
【請求項６】
請求項５において、
前記オブジェクト空間設定部が、
前記第１の多面体オブジェクトと交差する複数の前記面オブジェクトをオブジェクト空間に設定し、
前記オブジェクト生成部が、
前記ゲーム演算の結果に基づいて、複数の前記面オブジェクトのうち１の前記面オブジェクトを選択し、前記第１の多面体オブジェクトを、選択された前記面オブジェクトにより切断して前記第２及び第３の多面体オブジェクトを生成することを特徴とするプログラム。
【請求項７】
請求項５又は６において、
前記第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、前記面オブジェクトの位置又は回転角度に応じたエフェクトを生成するエフェクト処理部として更にコンピュータを機能させ、
前記描画部が、
前記生成されたエフェクトを含む画像を描画することを特徴とするプログラム。
【請求項８】
請求項５乃至７のいずれかにおいて、
前記第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、前記面オブジェクトを構成するポリゴンの属性情報に応じたエフェクトを生成するエフェクト処理部として更にコンピュータを機能させ、
前記描画部が、
前記生成されたエフェクトを含む画像を描画することを特徴とするプログラム。
【請求項９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至８のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１０】
複数のポリゴンにより構成される第１の多面体オブジェクトと、少なくとも１のポリゴンにより構成される面オブジェクトのオブジェクト情報を記憶する記憶部と、
前記第１の多面体オブジェクトを、前記第１の多面体オブジェクトと交差する前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成するオブジェクト生成部とを含み、
前記第２及び第３の多面体オブジェクトそれぞれの切断面には、前記面オブジェクトを構成するポリゴンの属性情報が設定されることを特徴とするオブジェクト生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及びオブジェクト生成システムに関する。
【背景技術】
【０００２】
従来から、切断面を設定して、当該切断面でオブジェクトを切断する技術が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１５７７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術は、切断されたオブジェクトの切断面についてオブジェクト内部の表現を行う等の多様な表現を行うものではなかった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、切断されたオブジェクトの切断面の多様な表現を可能にするプログラム、情報記憶媒体及びオブジェクト生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明に係るプログラムは、
複数のポリゴンにより構成される第１の多面体オブジェクトと、少なくとも１のポリゴンにより構成される面オブジェクトのオブジェクト情報を記憶する記憶部と、
前記第１の多面体オブジェクトを、前記第１の多面体オブジェクトと交差する前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成するオブジェクト生成部としてコンピュータを機能させ、
前記第２及び第３の多面体オブジェクトそれぞれの切断面には、前記面オブジェクトを構成するポリゴンの属性情報が設定されることを特徴とする。また本発明は、上記各部を含むオブジェクト生成システムに関する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関する。
【０００７】
ここで、ポリゴンの属性情報とは、例えば、ポリゴンに設定されたテクスチャ座標、反射モデル、色情報等の属性情報をいう。
【０００８】
本発明によれば、面オブジェクトを構成するポリゴンに属性情報を設定しておくだけで、多面体オブジェクトの切断面の多様な表現を行うことができる。
【０００９】
（２）また本発明に係るプログラム、情報記憶媒体及びオブジェクト生成システムでは、
前記オブジェクト生成部が、
前記第１の多面体オブジェクトを構成するポリゴンを、前記面オブジェクトを構成するポリゴンとの交線において分割し、分割されたポリゴンのうち、前記面オブジェクトを構成するポリゴンの表側にあるポリゴンを第１のグループに分け、前記面オブジェクトを構成するポリゴンの裏側にあるポリゴンを第２のグループに分ける処理を行い、
前記面オブジェクトを構成するポリゴンを、前記第１の多面体オブジェクトを構成するポリゴンとの交線において分割し、分割されたポリゴンのうち、前記第１の多面体オブジェクトを構成するポリゴンの表側にあるポリゴンを第３のグループに分け、前記第１の多面体オブジェクトを構成するポリゴンの裏側にあるポリゴンを第４のグループに分ける処理を行い、
前記第１のグループに属するポリゴンと前記第４のグループに属するポリゴンを結合して前記第２の多面体オブジェクトを生成し、前記第２のグループに属するポリゴンと前記第４のグループに属するポリゴンを結合して前記第３の多面体オブジェクトを生成するようにしてもよい。
【００１０】
ここで、ポリゴンの表側にあるか裏側にあるかの判断は、当該ポリゴンに設定された法線ベクトルに基づき行うようにしてもよい。
【００１１】
本発明によれば、第２及び第３の多面体オブジェクトそれぞれの切断面には、第１の多面体オブジェクトにより切断された面オブジェクトを構成するポリゴンのうち、第１の多面体オブジェクトの裏側にあるポリゴン（第４のグループに属するポリゴン）が設定され
ることになり、多面体オブジェクトの切断面に面オブジェクトを構成するオブジェクトの属性情報を反映させることができる。
【００１２】
（３）また本発明に係るプログラム、情報記憶媒体及びオブジェクト生成システムでは、
前記オブジェクト生成部が、
前記第１の多面体オブジェクトを構成するポリゴンのうち、前記面オブジェクトを構成するポリゴンと交差しないポリゴンを、前記第１の多面体オブジェクトを構成する他のポリゴンとの隣接関係に基づき前記第１及び第２のグループに分ける処理を行い、
前記面オブジェクトを構成するポリゴンのうち、前記第１の多面体オブジェクトを構成するポリゴンと交差しないポリゴンを、前記面オブジェクトを構成する他のポリゴンとの隣接関係に基づき前記第３及び第４のグループに分ける処理を行うようにしてもよい。
【００１３】
（４）また本発明に係るプログラム、情報記憶媒体及びオブジェクト生成システムでは、
前記オブジェクト生成部が、
前記分割されたポリゴンを三角形化し、三角形化されたポリゴンを前記第１〜第４のグループに分ける処理を行うようにしてもよい。
【００１４】
（５）また本発明に係るプログラム、情報記憶媒体では、
前記第１の多面体オブジェクトと、前記第１の多面体オブジェクトと交差する前記面オブジェクトとをオブジェクト空間に設定するオブジェクト空間設定部と、
操作部からの操作情報に基づきゲーム演算を行うゲーム演算部と、
前記オブジェクト空間において仮想カメラから見える画像を描画する描画部として更にコンピュータを機能させ、
前記オブジェクト生成部が、
前記ゲーム演算の結果に基づいて、前記第１の多面体オブジェクトを前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成するようにしてもよい。
【００１５】
また本発明に係るオブジェクト生成システムでは、
前記第１の多面体オブジェクトと、前記第１の多面体オブジェクトと交差する前記面オブジェクトとをオブジェクト空間に設定するオブジェクト空間設定部と、
操作部からの操作情報に基づきゲーム演算を行うゲーム演算部と、
前記オブジェクト空間において仮想カメラから見える画像を描画する描画部とを更に含み、
前記オブジェクト生成部が、
前記ゲーム演算の結果に基づいて、前記第１の多面体オブジェクトを前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成するようにしてもよい。
【００１６】
ここで、前記オブジェクト空間設定部は、前記ゲーム演算の結果に基づいて、前記面オブジェクトの位置、回転角度を決定するようにしてもよい。
【００１７】
本発明によれば、ゲーム演算の結果に基づき多面体オブジェクトが切断されるゲームにおいて、多面体オブジェクトの切断面の多様な表現を行うことができる。
【００１８】
（６）また本発明に係るプログラム、情報記憶媒体及びオブジェクト生成システムでは、
前記オブジェクト空間設定部が、
前記第１の多面体オブジェクトと交差する複数の前記面オブジェクトをオブジェクト空間に設定し、
前記オブジェクト生成部が、
前記ゲーム演算の結果に基づいて、複数の前記面オブジェクトのうち１の前記面オブジェクトを選択し、前記第１の多面体オブジェクトを、選択された前記面オブジェクトにより切断して前記第２及び第３の多面体オブジェクトを生成するようにしてもよい。
【００１９】
（７）また本発明に係るプログラム、情報記憶媒体では、
前記第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、前記面オブジェクトの位置又は回転角度に応じたエフェクトを生成するエフェクト処理部として更にコンピュータを機能させ、
前記描画部が、
前記生成されたエフェクトを含む画像を描画するようにしてもよい。
【００２０】
また本発明に係るオブジェクト生成システムでは、
前記第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、前記面オブジェクトの位置又は回転角度に応じたエフェクトを生成するエフェクト処理部を更に含み、
前記描画部が、
前記生成されたエフェクトを含む画像を描画するようにしてもよい。
【００２１】
（８）また本発明に係るプログラム、情報記憶媒体では、
前記第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、前記面オブジェクトを構成するポリゴンの属性情報に応じたエフェクトを生成するエフェクト処理部として更にコンピュータを機能させ、
前記描画部が、
前記生成されたエフェクトを含む画像を描画するようにしてもよい。
【００２２】
また本発明に係るオブジェクト生成システムでは、
前記第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、前記面オブジェクトを構成するポリゴンの属性情報に応じたエフェクトを生成するエフェクト処理部を更に含み、
前記描画部が、
前記生成されたエフェクトを含む画像を描画するようにしてもよい。
【図面の簡単な説明】
【００２３】
【図１】本実施形態のオブジェクト生成システムの機能ブロック図の一例。
【図２】第１の多面体オブジェクトと面オブジェクトについて説明するための図。
【図３】図３（Ａ）、図３（Ｂ）、図３（Ｃ）は、第１の多面体オブジェクトを構成するポリゴンの分割・三角形化・グループ分けについて説明するための図。
【図４】図４（Ａ）、図４（Ｂ）、図４（Ｃ）は、第１の多面体オブジェクトを構成するポリゴンの分割・三角形化・グループ分けについて説明するための図。
【図５】第１の多面体オブジェクトを構成するポリゴンのグループ分けについて説明するための図。
【図６】図６（Ａ）、図６（Ｂ）、図６（Ｃ）は、面オブジェクトを構成するポリゴンの分割・三角形化・グループ分けについて説明するための図。
【図７】オブジェクトデータのデータ構造を示す図。
【図８】第１乃至４のグループに属するポリゴンを示す図。
【図９】ポリゴンの結合について説明するための図。
【図１０】建物を表す第１の多面体オブジェクトを面オブジェクトにより切断して生成された第２の及び第３の多面体オブジェクトの画像の例。
【図１１】本実施形態の処理の一例を示すフローチャート。
【図１２】本発明を適用したゲームシステムの機能ブロック図の一例。
【図１３】本発明を適用したゲームシステムで行われるゲームについて説明するための図。
【発明を実施するための形態】
【００２４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２５】
１．機能ブロック図
図１に本実施形態のオブジェクト生成システムの機能ブロック図の一例を示す。なお本実施形態のオブジェクト生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２６】
操作部１６０は、ユーザ（プレーヤ）が操作情報（操作データ）を入力するためのものであり、ユーザの操作情報を処理部１００に出力する。操作部１６０の機能は、キーボート、マウス、ボタン、タッチパネル型ディスプレイなどのハードウェアにより実現することができる。
【００２７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７２と、最終的な表示画像等が記憶されるフレームバッファ１７４と、オブジェクトのモデルデータ（オブジェクト情報）が記憶されるオブジェクトデータ記憶部１７６と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７８と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７９とを含む。なお、これらの一部を省略する構成としてもよい。
【００２８】
特に本実施形態のオブジェクトデータ記憶部１７６は、複数のポリゴンにより構成される第１の多面体オブジェクトと、少なくとも１のポリゴンにより構成される面オブジェクトのオブジェクトデータを記憶する。また、オブジェクトデータ記憶部１７６は、異なる形状の複数の第１の多面体オブジェクトと、異なる形状の複数の面オブジェクトのオブジェクトデータを記憶するようにしてもよい。また、オブジェクトデータ記憶部１７６は、第１の多面体オブジェクトを面オブジェクトにより切断することにより生成された第２及び第３の多面体オブジェクトのオブジェクトデータを記憶する。
【００２９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００３０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはタッチパネル型ディスプレイなどにより実現できる。
【００３１】
通信部１９６は外部（例えば他のオブジェクト生成システム、ゲームシステム、サーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３２】
処理部１００（プロセッサ）は、操作部１６０からの入力情報やプログラムなどに基づいて、オブジェクト生成処理、描画処理などの処理を行う。この処理部１００は主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３３】
処理部１００は、オブジェクト空間設定部１１０、オブジェクト生成部１１２、仮想カメラ制御部１１８、描画部１２０を含む。
【００３４】
オブジェクト空間設定部１１０は、オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３５】
特に本実施形態のオブジェクト空間設定部１１０は、複数のポリゴンにより構成される第１の多面体オブジェクトと、前記第１の多面体オブジェクトと交差する前記面オブジェクトとをオブジェクト空間に設定する。また、オブジェクト空間設定部１１０は、操作部１６０からの操作情報に基づき前記第１の多面体オブジェクトと前記面オブジェクトの位置や回転角度を決定するようにしてもよい。また、オブジェクト空間設定部１１０は、操作部１６０からの操作情報に基づきオブジェクト空間に設定する前記第１の多面体オブジェクトと前記面オブジェクトをそれぞれ決定し、決定された前記第１の多面体オブジェクトと前記面オブジェクトとをオブジェクト空間に設定するようにしてもよい。
【００３６】
オブジェクト生成部１１２は、操作部１６０からの操作情報に基づいて、前記第１の多面体オブジェクトを、前記第１の多面体オブジェクトと交差する前記面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成する処理を行う。
【００３７】
また、オブジェクト生成部１１２は、前記第１の多面体オブジェクトを構成するポリゴンを、前記面オブジェクトを構成するポリゴンとの交線において分割し、分割されたポリゴンのうち、前記面オブジェクトを構成するポリゴンの表側にあるポリゴンを第１のグループに分け、前記面オブジェクトを構成するポリゴンの裏側にあるポリゴンを第２のグループに分ける処理を行い、前記面オブジェクトを構成するポリゴンを、前記第１の多面体オブジェクトを構成するポリゴンとの交線において分割し、分割されたポリゴンのうち、前記第１の多面体オブジェクトを構成するポリゴンの表側にあるポリゴンを第３のグループに分け、前記第１の多面体オブジェクトを構成するポリゴンの裏側にあるポリゴンを第４のグループに分ける処理を行い、前記第１のグループに属するポリゴンと前記第４のグループに属するポリゴンを結合して前記第２の多面体オブジェクトを生成し、前記第２のグループに属するポリゴンと前記第４のグループに属するポリゴンを結合して前記第３の多面体オブジェクトを生成するようにしてもよい。
【００３８】
また、オブジェクト生成部１１２は、前記第１の多面体オブジェクトを構成するポリゴンのうち、前記面オブジェクトを構成するポリゴンと交差しないポリゴンを、前記第１の多面体オブジェクトを構成する他のポリゴンとの隣接関係に基づき前記第１及び第２のグループに分ける処理を行い、前記面オブジェクトを構成するポリゴンのうち、前記第１の多面体オブジェクトを構成するポリゴンと交差しないポリゴンを、前記面オブジェクトを構成する他のポリゴンとの隣接関係に基づき前記第３及び第４のグループに分ける処理を行うようにしてもよい。
【００３９】
また、オブジェクト生成部１１２は、前記分割されたポリゴンを三角形化し、三角形化されたポリゴンを前記第１〜第４のグループに分ける処理を行うようにしてもよい。
【００４０】
仮想カメラ制御部１１８は、操作部１６０からの操作情報やプログラムなどに基づいて、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００４１】
描画部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元画像を生成する場合には、まずオブジェクトの各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００４２】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、射影変換（透視変換、投影変換）、ビューポート変換（スクリーン座標変換）、光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。ジオメトリ処理後のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００４３】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。
【００４４】
ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４５】
そして描画部１２０は、オブジェクトを描画する際に、テクスチャマッピング、隠面消去処理等を行う。
【００４６】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００４７】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００４８】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００４９】
２−１．概要
本実施形態では、図２に示すように、第１の多面体オブジェクトＰＯ１を、第１の多面体オブジェクトＰＯ１と交差する面オブジェクトＰＬにより切断（分割）して、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３を生成する。そして、本実施形態では、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３のそれぞれの切断面ＣＰ（分割面）には、面オブジェクトＰＬの属性情報（色情報、テクスチャ座標、反射モデル等）が設定される。なお、ここでは、第１の多面体オブジェクトの一例として直方体のオブジェクトを示し、面オブジェクトの一例として平面のオブジェクトを示しているが、それ以外の形状でもよい。例えば、面オブジェクトは、凹凸のある面オブジェクトでもよい。
【００５０】
ユーザは、操作部１６０を操作することで、異なる形状の複数の第１の多面体オブジェクトから切断対象とする１の第１の多面体オブジェクトを選択し、また、異なる形状の複数の面オブジェクトから切断に用いる１の面オブジェクトを選択することができる。また、ユーザは、表示部１９０を見ながら操作部１６０を操作することで、第１の多面体オブジェクトＰＯ１と交差する面オブジェクトＰＬの位置や回転角度を任意の位置や回転角度に設定することができる。
【００５１】
以下、第１の多面体オブジェクトＰＯ１を面オブジェクトＰＬにより切断して第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３を生成するアルゴリズムについて説明する。
【００５２】
２−２．第１の多面体オブジェクトのポリゴンの分割・グループ分け
本実施形態では、まず、第１の多面体オブジェクトＰＯ１を構成する複数のポリゴンと、面オブジェクトＰＬを構成する複数のポリゴンの中から、互いに交差するポリゴンの組み合わせをリストアップする。
【００５３】
図３（Ａ）は、ポリゴンの組み合わせの一例であり、第１の多面体オブジェクトＰＯ１の側面を構成するポリゴンＰＯ１１０と、面オブジェクトＰＬを構成するポリゴンであって、ポリゴンＰＯ１１０と交差するポリゴンＰＬ１０を示している。
【００５４】
次に、リストアップされた第１の多面体オブジェクトＰＯ１を構成するポリゴンを、面オブジェクトＰＬを構成するポリゴンとの交線により分割する。図３（Ｂ）に示す例では、第１の多面体オブジェクトＰＯ１を構成するポリゴンＰＯ１１０と、面オブジェクトＰＬを構成するポリゴンＰＬ１０の交線ＮＬを求め、第１の多面体オブジェクトＰＯ１を構成するポリゴンＰＯ１１０を、求めた交線ＮＬにおいて分割し、ポリゴンＰＯ１１１、ＰＯ１１２を生成している。
【００５５】
次に、図３（Ｃ）に示すように、分割されたポリゴンＰＯ１１１、ＰＯ１１２を三角形化する。ここでは、分割されたポリゴンのうち、三角形でないポリゴンＰＯ１１２を三角形化し、ポリゴンＰＯ１１３、ＰＯ１１４を生成している。
【００５６】
次に、図３（Ｃ）に示すように、三角形化されたポリゴンＰＯ１１１、ＰＯ１１３、ＰＯ１１４のうち、面オブジェクトＰＬを構成するポリゴンであって、交線ＮＬを含むポリゴンＰＬ１０の表側にあるポリゴンＰＯ１１１を第１のグループに分け、ポリゴンＰＬ１０の裏側にあるポリゴンＰＯ１１３、ＰＯ１１４を第２のグループに分ける。ポリゴンＰＬ１０の表側にあるか裏側にあるかは、ポリゴンＰＬ１０に設定された法線ベクトルＮＶ（図３（Ａ）参照）に基づき判断することができる。
【００５７】
そして、第１の多面体オブジェクトＰＯ１を構成するポリゴンのうち、面オブジェクトＰＬを構成するポリゴンと交差する他の全てのポリゴン（リストアップされた他の全てのポリゴン）について同様の処理を行う。図４（Ａ）〜図４（Ｃ）に示す例では、第１の多面体オブジェクトＰＯ１の側面を構成するポリゴンＰＯ１２０を、面オブジェクトＰＬを構成するポリゴンＰＬ１０との交線ＮＬにおいて分割し、三角形化することで、ポリゴンＰＯ１２３、ＰＯ１２４、ＰＯ１２２を生成し、また、ポリゴンＰＬ１１０の表側にあるポリゴンＰＯ１２３、ＰＯ１２４を第１のグループに分け、ポリゴンＰＬ１１０の裏側にあるポリゴンＰＯ１２２を第２のグループに分けている。
【００５８】
次に、図５に示すように、第１の多面体オブジェクトＰＯ１を構成するポリゴンのうち、面オブジェクトＰＬを構成するポリゴンと交差しないポリゴンＰＯ１３０、ＰＯ１４０、ＰＯ１５０、ＰＯ１６０を、第１の多面体オブジェクトＰＯ１を構成する他のポリゴンとの隣接関係に基づき第１及び第２のグループに分ける。例えば、第１のグループに分けられたポリゴンＰＯ１２３と隣接するポリゴンＰＯ１４０を第１のグループに分け、第２のグループに分けられたＰＯ１１４と隣接するポリゴンＰＯ１６０を、第２のグループに分ける。同様に、ポリゴンＰＯ１３０を第１のグループに分け、ポリゴンＰＯ１５０を第２のグループに分ける。
【００５９】
２−３．面オブジェクトのポリゴンの分割・グループ分け
本実施形態では、次に、リストアップされた面オブジェクトＰＬを構成するポリゴンを、第１の多面体オブジェクトＰＯ１を構成するポリゴンとの交線により分割する。図６（Ａ）、図６（Ｂ）に示す例では、面オブジェクトＰＬを構成するポリゴンＰＬ１０と、第１の多面体オブジェクトＰＯ１を構成しポリゴンＰＬ１０と交差するポリゴンＰＯ１１０、ＰＯ１２０、ＰＯ１７０、ＰＯ１８０との交線（ＰＬ１０とＰＯ１１０との交線ＮＬ１、ＰＬ１０とＰＯ１２０との交線ＮＬ２、ＰＬ１０とＰＯ１７０との交線ＮＬ３、ＰＬ１０とＰＯ１８０との交線ＮＬ４）を求め、面オブジェクトＰＬを構成するポリゴンＰＬ１０を、求めた交線ＮＬ１、ＮＬ２、ＮＬ３、ＮＬ４において分割し、ポリゴンＰＬ１１、ＰＬ１２を生成している。
【００６０】
次に、図６（Ｃ）に示すように、分割されたポリゴンを三角形化する。ここでは、分割されたポリゴンのうち、三角形でないポリゴンＰＬ１１を三角形化し、ポリゴンＰＬ１３、ＰＬ１４、ＰＬ１５、ＰＬ１６を生成している。
【００６１】
次に、図６（Ｃ）に示すように、三角形化されたポリゴンＰＬ１２、ＰＬ１３、ＰＬ１４、ＰＬ１５、ＰＬ１６のうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンであって、交線ＮＬ１、ＮＬ２、ＮＬ３、ＮＬ４を含むポリゴンＰＯ１１０、ＰＯ１２０、ＰＯ１７０、ＰＯ１８０の表側にあるポリゴンＰＬ１３、ＰＬ１４、ＰＬ１５、ＰＬ１６を第３のグループに分け、ポリゴンＰＯ１１０、ＰＯ１２０、ＰＯ１７０、ＰＯ１８０の裏側にあるポリゴンＰＬ１２を第４のグループに分ける。ポリゴンの表側にあるか裏側にあるかは、ポリゴンＰＯ１１０、ＰＯ１２０、ＰＯ１７０、ＰＯ１８０に設定された法線ベクトルＮＶ１、ＮＶ２、ＮＶ３、ＮＶ４に基づき判断することができる。
【００６２】
そして、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差する他の全てのポリゴン（リストアップされた他の全てのポリゴン）について同様の処理を行う。図６（Ａ）に示す例では、面オブジェクトＰＬを構成するポリゴンＰＬ２０について同様の処理を行う。
【００６３】
次に、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差しないポリゴンを、面オブジェクトＰＬを構成する他のポリゴンとの隣接関係に基づき第３及び第４のグループに分ける。なお、図６（Ａ）に示す例では、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差しないポリゴンは存在しないため、当該処理は行われない。
【００６４】
図７に、オブジェクトデータ記憶部１７６に記憶されるオブジェクトデータ（オブジェクト情報）の一例を示す。図７に示すように、オブジェクトデータ２００は、オブジェクトを構成するポリゴン毎に、ポリゴンＩＤ２１０、各頂点の頂点座標２２０、各頂点の色情報２３０、各頂点のテクスチャ座標２４０、法線ベクトル２５０、隣接するポリゴンを特定する隣接情報２６０、属するグループを特定するグループ情報２７０を格納する。また、オブジェクトデータ２００は、ポリゴン毎の各頂点の反射モデルの情報も格納する。
【００６５】
図７に示すオブジェクトデータ２００には、第１の多面体オブジェクトＰＯ１を構成する各ポリゴンと面オブジェクトＰＬを構成する各ポリゴンが、分割・三角形化されることによって生成されたポリゴンの各情報が格納されている。ここで、各ポリゴンの色情報２３０、テクスチャ情報２４０、反射モデル、法線ベクトル２５０の属性情報は、分割・三角形化される前のポリゴンの属性情報から求められる。例えば、各ポリゴンの色情報２３０、テクスチャ情報２４０は、分割・三角形化によって頂点座標が変わらなかった場合には、分割・三角形化前の色情報、テクスチャ情報がそのまま引き継がれ、分割・三角形化によって頂点座標が変わった場合には再計算される。また、各ポリゴンのグループ情報２７０は、上記グループ分けの処理により求められる。また、各ポリゴンの隣接情報２６０は、上記隣接関係に基づくグループ分けを行う際に参照される。
【００６６】
２−４．ポリゴンの結合
上記処理により、図８に示すように、第１の多面体オブジェクトＰＯ１を構成するポリゴンは、第１のグループに属するポリゴンと、第２のグループに属するポリゴンとに分割及びグループ分けされ、面オブジェクトＰＬを構成するポリゴンは、第３のグループに属するポリゴンと、第４のグループに属するポリゴンとに分割及びグループ分けされる。なお、図８では、説明の便宜上、第１〜第４のグループに属するポリゴンをそれぞれ分離して示しているが、実際には上記処理により各ポリゴンの位置が変わるわけではない。
【００６７】
本実施形態では、次に、第１のグループに属するポリゴンと第４のグループに属するポリゴンを結合して第２の多面体オブジェクトを生成し、第２のグループに属するポリゴンと第４のグループに属するポリゴンを結合して第３の多面体オブジェクトを生成する。
【００６８】
これにより、図９（Ａ）、図９（Ｂ）に示すように、第２の多面体オブジェクトＰＯ２の下部（切断面）及び第３の多面体オブジェクトＰＯ３の上部（切断面）は、それぞれ第４のグループに属するポリゴン（面オブジェクトＰＬを構成するポリゴンから分割・三角形化・グループ分けされたポリゴン）により形成されることになる。すなわち、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３のそれぞれの切断面には、面オブジェクトＰＬを構成するポリゴンに設定された色情報、テクスチャ座標、反射モデル等の属性情報が設定されることになり、また、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３のそれぞれの切断面の形状は、第４のグループに属するポリゴンの形状となる。
【００６９】
なお、本実施形態の第４のグループに属するポリゴンに設定された法線ベクトルは、＋Ｙ軸を向いているため、第１のグループに属するポリゴンと第４のグループに属するポリゴンをそのまま結合すると、当該法線ベクトルが第２の多面体オブジェクトＰＯ２の内部を向くことになってしまう。
【００７０】
そこで、本実施形態では、図９（Ｂ）に示すように、第４のグループに属する各ポリゴンに設定された法線ベクトルＮＶを反転させてから、第４のグループに属するポリゴンと第１のグループに属するポリゴンとを結合し、第２の多面体オブジェクトＰＯ２を生成している。このようにすると、ポリゴンの結合を行った際に第４のグループに属するポリゴンが描画されなくなってしまうことを防止することができる。なお、図９（Ａ）に示すように、第４のグループに属するポリゴンに設定された法線ベクトルＮＶは第３の多面体オブジェクトＰＯ３の外部（＋Ｙ軸方向）を向いているため、第４のグループに属するポリゴンと第２のグループに属するポリゴンとを結合して第３の多面体オブジェクトＰＯ３を生成する場合には、当該法線ベクトルＮＶを反転させない。
【００７１】
図１０に、建物を表す第１の多面体オブジェクトＰＯ１を面オブジェクトＰＬにより切断して生成された第２の及び第３の多面体オブジェクトの画像の例を示す。図１０に示すように、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３のそれぞれの切断面には、面オブジェクトＰＬにマッピングされたテクスチャがマッピングされており、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３のそれぞれの切断面の形状は、面オブジェクトＰＬのうち第１の多面体オブジェクトＰＯ１と交差する部分の形状となる。
【００７２】
このように本実施形態によれば、面オブジェクトＰＬを構成するポリゴンに属性情報を設定しておくだけで、当該属性情報を、第１の多面体オブジェクトＰＯ１を切断することで生成される第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３の切断面に反映させることができ、多面体オブジェクトの切断面の多様な表現を簡単な処理で実現することができる。例えば、多面体オブジェクトの内部の色、模様、質感等を表す属性情報（色情報、テクスチャ座標、反射モデル）が設定された面オブジェクトにより多面体オブジェクトを切断することで、多面体オブジェクト内部の色、模様、質感等が切断面に表された新たな多面体オブジェクトを生成することができる。
【００７３】
３．処理
次に、本実施形態の処理の一例について図１１のフローチャートを用いて説明する。
【００７４】
まず、オブジェクト生成部１１２は、第１の多面体オブジェクトＰＯ１を構成する複数のポリゴンと、面オブジェクトＰＬを構成する複数のポリゴンの中から、互いに交差するポリゴンの組み合わせをリストアップする（ステップＳ１０）。
【００７５】
次に、オブジェクト生成部１１２は、リストアップされた第１の多面体オブジェクトＰＯ１を構成するポリゴンを、面オブジェクトＰＬを構成するポリゴンとの交線において分割する（Ｓ１２）。次に、オブジェクト生成部１１２は、分割されたポリゴンを三角形化する（ステップＳ１４）。
【００７６】
次に、オブジェクト生成部１１２は、三角形化されたポリゴンを、面オブジェクトＰＬを構成するポリゴンに設定された法線ベクトルに基づき第１及び第２のグループに分ける処理を行う（ステップＳ１６）。具体的には、三角形化されたポリゴンが面オブジェクトＰＬを構成するポリゴンの表側にあるか裏側にあるかを、面オブジェクトＰＬのポリゴン（交線を含むポリゴン）に設定された法線ベクトルに基づき判断し、表側にあると判断されたポリゴンを第１のグループに分け、裏側にあると判断されたポリゴンを第２のグループに分ける。
【００７７】
次に、オブジェクト生成部１１２は、第１の多面体オブジェクトＰＯ１を構成するポリゴンのうち、面オブジェクトＰＬを構成するポリゴンと交差する全てのポリゴン（リストアップされた全てのポリゴン）を処理したか否かを判断し（ステップＳ１８）、処理していない場合には、ステップＳ１２の処理に進み、第１の多面体オブジェクトＰＯ１を構成するポリゴンのうち、面オブジェクトＰＬを構成するポリゴンと交差する他の全てのポリゴンについて、ステップＳ１２からステップＳ１６の処理を繰り返す。
【００７８】
ステップＳ１８において、交差する全てのポリゴンを処理したと判断した場合には、オブジェクト生成部１１２は、第１の多面体オブジェクトＰＯ１を構成するポリゴンのうち、面オブジェクトＰＬを構成するポリゴンと交差しないポリゴン（リストアップされなかったポリゴン）を、第１の多面体オブジェクトＰＯ１を構成する他のポリゴンとの隣接関係に基づき第１及び第２のグループに分ける処理を行う（ステップＳ２０）。具体的には、リストアップされなかったポリゴンが、第１のグループに分けられたポリゴンと隣接する場合には、当該ポリゴンを第１のグループに分け、第２のグループに分けられたポリゴンと隣接する場合には、当該ポリゴンを第２のグループに分ける。
【００７９】
次に、オブジェクト生成部１１２は、第１の多面体オブジェクトＰＯ１を構成するポリゴンのうち、面オブジェクトＰＬを構成するポリゴンと交差しない全てのポリゴンを処理したか否かを判断し（ステップＳ２２）、処理していない場合には、面オブジェクトＰＬのポリゴンと交差しない他の全てのポリゴンについてステップＳ２０の処理を繰り返す。
【００８０】
ステップＳ１８において、交差しない全てのポリゴンを処理したと判断した場合には、オブジェクト生成部１１２は、リストアップされた面オブジェクトＰＬを構成するポリゴンを、第１の多面体オブジェクトＰＯ１を構成するポリゴンとの交線において分割する（Ｓ２４）。次に、オブジェクト生成部１１２は、分割されたポリゴンを三角形化する（ステップＳ２６）。
【００８１】
次に、オブジェクト生成部１１２は、三角形化されたポリゴンを、第１の多面体オブジェクトＰＯ１を構成するポリゴンに設定された法線ベクトルに基づき第３及び第４のグループに分ける処理を行う（ステップＳ２８）。具体的には、三角形化されたポリゴンが第１の多面体オブジェクトＰＯ１を構成するポリゴンの表側にあるか裏側にあるかを、第１の多面体オブジェクトＰＯ１のポリゴン（交線を含むポリゴン）に設定された法線ベクトルに基づき判断し、表側にあると判断されたポリゴンを第３のグループに分け、裏側にあると判断されたポリゴンを第４のグループに分ける。
【００８２】
次に、オブジェクト生成部１１２は、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差する全てのポリゴン（リストアップされた全てのポリゴン）を処理したか否かを判断し（ステップＳ３０）、処理していない場合には、ステップＳ２４の処理に進み、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差する他の全てのポリゴンについて、ステップＳ２４からステップＳ２８の処理を繰り返す。
【００８３】
ステップＳ３０において、交差する全てのポリゴンを処理したと判断した場合には、オブジェクト生成部１１２は、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差しないポリゴン（リストアップされなかったポリゴン）を、面オブジェクトＰＬを構成する他のポリゴンとの隣接関係に基づき第３及び第４のグループに分ける処理を行う（ステップＳ３２）。具体的には、リストアップされなかったポリゴンが、第３のグループに分けられたポリゴンと隣接する場合には、当該ポリゴンを第３のグループに分け、第４のグループに分けられたポリゴンと隣接する場合には、当該ポリゴンを第４のグループに分ける。
【００８４】
次に、オブジェクト生成部１１２は、面オブジェクトＰＬを構成するポリゴンのうち、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差しない全てのポリゴンを処理したか否かを判断し（ステップＳ３４）、処理していない場合には、第１の多面体オブジェクトＰＯ１を構成するポリゴンと交差しない他の全てのポリゴンについてステップＳ３２の処理を繰り返す。
【００８５】
ステップＳ３４において、交差しない全てのポリゴンを処理したと判断した場合には、オブジェクト生成部１１２は、第４のグループに属するポリゴンに設定された法線ベクトルを反転させ、第１のグループに属するポリゴンと第４のグループに属するポリゴンとを結合して第２の多面体オブジェクトを生成する（ステップＳ３６）。
【００８６】
次に、オブジェクト生成部１１２は、第２のグループに属するポリゴンと第４のグループに属するポリゴンとを結合して第３の多面体オブジェクトを生成する（ステップＳ３８）。
【００８７】
４．変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００８８】
例えば、本実施形態では、第１の多面体オブジェクトを１の面オブジェクトにより切断する場合について説明したが、第１の多面体オブジェクトを、第１の多面体オブジェクトと交差する複数の面オブジェクトにより切断するようにしてもよい。この場合には、例えば、第１の多面体オブジェクトを第１の面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成し、第２及び第３の多面体オブジェクトのいずれか一方を第２の面オブジェクトにより切断して第４及び第５の多面体オブジェクトを生成する。
【００８９】
また、本実施形態では、本発明をオブジェクト生成システムに適用する場合について説明したが、本発明をゲームシステム（ゲーム装置）に適用するようにしてもよい。
【００９０】
図１２に、本発明を適用したゲームシステムの機能ブロック図の一例を示す。なお、図１２において、図１の構成要素と同様の構成要素については同符号を付し、説明を省略する。
【００９１】
処理部１００は、ゲーム演算部１１１を含む。ゲーム演算部１１１は、操作部１６０からの操作情報に基づきゲーム演算を行う。例えば、ゲーム演算部１１１は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトをオブジェクト空間内で移動させたりオブジェクトを動作させたりする処理、オブジェクトを表示する処理、ヒットチェック処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理を行う。
【００９２】
オブジェクト生成部１１２は、ゲーム演算部１１１によるゲーム演算の結果に基づいて、オブジェクト空間に配置された第１の多面体オブジェクトを面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成する。例えば、オブジェクト生成部１１２は、ゲーム演算部１１１によって、オブジェクト空間を移動するオブジェクトが第１の多面体オブジェクトにヒットしたと判断された場合に、第１の多面体オブジェクトを面オブジェクトにより切断する処理を行う。
【００９３】
また、オブジェクト空間設定部１１０は、第１の多面体オブジェクトと交差する複数の面オブジェクトをオブジェクト空間に設定し、オブジェクト生成部１１２は、ゲーム演算部１１１によるゲーム演算の結果（例えば、オブジェクト空間を移動するオブジェクトが第１の多面体オブジェクトにヒットした位置）に基づいて、複数の面オブジェクトのうち１の面オブジェクトを選択し、第１の多面体オブジェクトを、選択された面オブジェクトにより切断して第２及び第３の多面体オブジェクトを生成するようにしてもよい。
【００９４】
また、オブジェクト生成部１１２は、ゲーム演算部１１１によるゲーム演算の結果（例えば、オブジェクト空間を移動するオブジェクトが第１の多面体オブジェクトにヒットした位置や、オブジェクト空間を移動するオブジェクトの移動方向）に基づいて、第１の多面体オブジェクトと交差する面オブジェクトの位置及び回転角度の少なくとも一方を決定し、その位置にその回転角度で配置された面オブジェクトにより第１の多面体オブジェクトを切断するようにしてもよい。
【００９５】
また処理部１００は、エフェクト処理部１１４を含むようにしてもよい。エフェクト処理部１１４は、オブジェクト生成部１１２によって第１の多面体オブジェクトが前記面オブジェクトにより切断された場合に、エフェクトを生成する。例えば、エフェクト処理部１１４は、第１の多面体オブジェクトが切断されることによって第２及び第３の多面体オブジェクトの切断面から放出される液体、光、炎、煙、瓦礫等の放出物を表すエフェクト表示物の表示制御を行うようにしてもよい。
【００９６】
またエフェクト処理部１１４は、第１の多面体オブジェクトが面オブジェクトにより切断された場合に、オブジェクト空間に設定された面オブジェクトの位置又は回転角度に応じたエフェクトを生成するようにしてもよいし、面オブジェクトを構成するポリゴンに設定された属性情報に応じたエフェクトを生成するようにしてもよい。また、描画部１２０は、オブジェクト空間内において仮想カメラから見える画像であって、エフェクト処理部１１４によって生成されたエフェクトを含む画像を生成する。
【００９７】
次に、本発明を適用したゲームシステムで行われるゲームの一例について、図１３（Ａ）、図１３（Ｂ）を用いて説明する。図１３（Ａ）、図１３（Ｂ）に示すゲームでは、プレーヤは、操作部１６０を操作することで、オブジェクト空間内で戦闘機ＡＰを移動させ、また、戦闘機ＡＰからミサイルＭＳを発射させることで敵の戦闘機や建物を攻撃し破壊することができる。
【００９８】
すなわち、図１３（Ａ）に示す例では、オブジェクト空間内のマップＭＰ上に、建物を表す第１の多面体オブジェクトＰＯ１と、第１の多面体オブジェクトＰＯ１と交差する複数の面オブジェクトＰＬ１〜ＰＬ４が配置されている。なお、複数の面オブジェクトＰＬ１〜ＰＬ４は非表示となる（描画されない）ように設定されている。
【００９９】
そして、ゲーム演算部１１１が、戦闘機ＡＰから発射されたミサイルＭＳが第１の多面体オブジェクトＰＯ１にヒットしたと判断すると、オブジェクト生成部１１２は、ヒットしたときのミサイルＭＳの位置（攻撃位置）に基づき複数の面オブジェクトＰＬ１〜ＰＬ４から１の面オブジェクトを選択し、選択された面オブジェクトにより第１の多面体オブジェクトＰＯ１を切断する処理を行う。
【０１００】
図１３（Ａ）、図１３（Ｂ）に示す例では、オブジェクト生成部１１２は、ヒットしたときのミサイルＭＳの位置に最も近い位置に配置された面オブジェクトＰＬ２を選択し、面オブジェクトＰＬ２により第１の多面体オブジェクトＰＯ１を切断して第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３を生成している。また、生成された第２の多面体オブジェクトＰＯ２は、第３の多面体オブジェクトから分離するように移動し、攻撃によって建物が崩れる様を表現している。
【０１０１】
なお、オブジェクト生成部１１２は、ヒットしたときのミサイルＭＳの位置、移動方向（移動ベクトル）に基づき面オブジェクトの位置、回転角度を決定し、決定された位置、回転角度に配置された面オブジェクトにより第１の多面体オブジェクトＰＯ１を切断するようにしてもよい。
【０１０２】
そして、エフェクト処理部１１４は、第１の多面体オブジェクトＰＯ１が面オブジェクトにより切断され第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３が生成された場合に、面オブジェクトの位置、回転角度に応じて、エフェクトを生成する。図１３（Ｂ）に示す例では、エフェクト処理部１１４は、切断に用いられた面オブジェクトＰＬ２の位置に応じて、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３の切断面付近から面オブジェクトＰＬ２が延びる方向に放出される煙、瓦礫等を表すエフェクト表示物を表示させている。
【０１０３】
また、エフェクト処理部１１４は、面オブジェクトを構成するポリゴンに設定された色情報、テクスチャ座標、反射モデル等の属性情報に応じたエフェクトを生成する。例えば、エフェクト表示物ＥＦをパーティクルにより表現する場合には、面オブジェクトＰＬ２を構成するポリゴンに設定された色情報を、エフェクト表示物ＥＦを表現するパーティクルの色情報に設定するようにしてもよい。また、エフェクト表示物ＥＦを飛散する多数のポリゴンにより表現する場合には、面オブジェクトＰＬ２を構成するポリゴンに設定されたテクスチャを、エフェクト表示物ＥＦを表現するポリゴンにマッピングするようにしてもよい。
【０１０４】
このようにすると、例えば、第１の多面体オブジェクトＰＯ１（建物）内部の色、構造物、質感を表す色情報、テクスチャ、反射モデルが設定された面オブジェクトにより第１の多面体オブジェクトＰＯ１を切断することで、第２及び第３の多面体オブジェクトＰＯ２、ＰＯ３の切断面から建物の内部の色、構造物、質感を反映した煙、瓦礫等が放出するようなリアルなエフェクト表現を簡単な処理で実現することができる。
【符号の説明】
【０１０５】
１００  処理部、１１０  オブジェクト空間設定部、１１１  ゲーム演算部、１１２  オブジェクト生成部、１１４  エフェクト処理部、１１８  仮想カメラ制御部、１２０  描画部、１６０  操作部、１７０  記憶部、１８０  情報記憶媒体、１９０  表示部、１９６  通信部
【図１】
2011065396.tif 000003
【図２】
2011065396.tif 000004
【図３】
2011065396.tif 000005
【図４】
2011065396.tif 000006
【図５】
2011065396.tif 000007
【図６】
2011065396.tif 000008
【図７】
2011065396.tif 000009
【図８】
2011065396.tif 000010
【図９】
2011065396.tif 000011
【図１１】
2011065396.tif 000012
【図１２】
2011065396.tif 000013
【図１３】
2011065396.tif 000014
【図１０】
2011065396.tif 000015