(57)【要約】【課題】  液体等の第１オブジェクトが固体等の第２オブジェクトに付着する様子を簡易な処理にて画像表現することができる画像処理装置を提供すること。【解決手段】  仮想３次元空間５０を所与の視点から見た様子を表示する画像処理装置において、第１オブジェクト（油しぶきオブジェクト等）を床オブジェクト５２に向けて移動させるオブジェクト移動手段と、第１オブジェクトと床オブジェクト５２との接触位置を算出する接触位置算出手段と、床オブジェクト５２に対する第１オブジェクトの入射方向を算出する入射方向算出手段と、前記接触位置に第３オブジェクト（油だまりオブジェクト５６等）を配置するオブジェクト配置手段と、床オブジェクト５２の前記接触位置に平行な前記入射方向の成分を算出する平行成分算出手段と、前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化手段と、を含む。【選択図】        図９
2005196593.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間を所与の視点から見た様子を表示する画像処理装置において、
前記仮想３次元空間において、第１オブジェクトを第２オブジェクトに向けて移動させるオブジェクト移動手段と、
前記第１オブジェクトと前記第２オブジェクトとの接触位置を算出する接触位置算出手段と、
前記第２オブジェクトに対する前記第１オブジェクトの入射方向を算出する入射方向算出手段と、
前記接触位置に第３オブジェクトを配置するオブジェクト配置手段と、
前記第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出する平行成分算出手段と、
前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記画像変化手段は、前記第３オブジェクトを前記成分に応じた方向に変形させる手段を含む
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記画像変化手段は、前記第２オブジェクトの前記接触位置における法線方向と前記入射方向との関係に応じて、前記第３オブジェクトを前記成分に応じた方向に変形させることを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の画像処理装置において、
前記第３オブジェクトに貼付するテクスチャ画像を複数記憶するテクスチャ画像記憶手段をさらに含み、
前記オブジェクト配置手段は、前記接触位置に前記第３オブジェクトを配置し、前記テクスチャ画像記憶手段に記憶されるテクスチャ画像のうち、前記第２オブジェクトの前記接触位置における法線方向と前記入射方向との関係に応じた１つを貼付する
ことを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の画像処理装置において、
前記オブジェクト配置手段は、前記第１オブジェクトを消去する手段を含む
ことを特徴とする画像処理装置。
【請求項６】
仮想３次元空間を所与の視点から見た様子を表示する視野画像表示手段、
前記仮想３次元空間において、第１オブジェクトを第２オブジェクトに向けて移動させるオブジェクト移動手段、
前記第１オブジェクトと前記第２オブジェクトとの接触位置を算出する接触位置算出手段、
前記第２オブジェクトに対する前記第１オブジェクトの入射方向を算出する入射方向算出手段、
前記接触位置に第３オブジェクトを配置するオブジェクト配置手段、
前記第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出する平行成分算出手段、及び
前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化手段
としてコンピュータを機能させるためのプログラム。
【請求項７】
仮想３次元空間を所与の視点から見た様子を表示する画像処理方法において、
前記仮想３次元空間において、第１オブジェクトを第２オブジェクトに向けて移動させるオブジェクト移動ステップと、
前記第１オブジェクトと前記第２オブジェクトとの接触位置を算出する接触位置算出ステップと、
前記第２オブジェクトに対する前記第１オブジェクトの入射方向を算出する入射方向算出ステップと、
前記接触位置に第３オブジェクトを配置するオブジェクト配置手段と、
前記第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出する平行成分算出ステップと、
前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化ステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、プログラム及び画像処理方法に関し、特に仮想３次元空間に配置されたオブジェクトを表示する場合の画像処理の簡略化に関する。
【背景技術】
【０００２】
コンピュータの記憶手段にオブジェクト及び視点が配置された３次元空間を仮想的に構築し、該仮想３次元空間を前記視点から見た様子をリアルタイムに表示する画像処理装置が知られている。こうした画像処理装置では、厳密な物理計算によりリアルな画像表現を得ることができる。例えば、厳密な物理計算によれば、水滴等の液体が床等に付着する様子もリアルに画像表現することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、厳密な物理計算は往々にして処理量が膨大となり、リアルタイムに仮想３次元空間の様子を更新することが困難となる。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、液体等の第１オブジェクトが固体等の第２オブジェクトに付着する様子を簡易な処理にて画像表現することができる画像処理装置、プログラム及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置は、仮想３次元空間を所与の視点から見た様子を表示する画像処理装置において、前記仮想３次元空間において、第１オブジェクトを第２オブジェクトに向けて移動させるオブジェクト移動手段と、前記第１オブジェクトと前記第２オブジェクトとの接触位置を算出する接触位置算出手段と、前記第２オブジェクトに対する前記第１オブジェクトの入射方向を算出する入射方向算出手段と、前記接触位置に第３オブジェクトを配置するオブジェクト配置手段と、前記第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出する平行成分算出手段と、前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化手段と、を含むことを特徴とする。
【０００６】
また、本発明に係るプログラムは、仮想３次元空間を所与の視点から見た様子を表示する視野画像表示手段、前記仮想３次元空間において、第１オブジェクトを第２オブジェクトに向けて移動させるオブジェクト移動手段、前記第１オブジェクトと前記第２オブジェクトとの接触位置を算出する接触位置算出手段、前記第２オブジェクトに対する前記第１オブジェクトの入射方向を算出する入射方向算出手段、前記接触位置に第３オブジェクトを配置するオブジェクト配置手段、前記第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出する平行成分算出手段、及び前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化手段として、例えば家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯情報端末、携帯電話機、パーソナルコンピュータ、サーバコンピュータ等のコンピュータを機能させるためのプログラムである。
【０００７】
また、本発明に係る画像処理方法は、仮想３次元空間を所与の視点から見た様子を表示する画像処理方法において、前記仮想３次元空間において、第１オブジェクトを第２オブジェクトに向けて移動させるオブジェクト移動ステップと、前記第１オブジェクトと前記第２オブジェクトとの接触位置を算出する接触位置算出ステップと、前記第２オブジェクトに対する前記第１オブジェクトの入射方向を算出する入射方向算出ステップと、前記接触位置に第３オブジェクトを配置するオブジェクト配置手段と、前記第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出する平行成分算出ステップと、前記成分に基づいて前記第３オブジェクトの画像を変化させる画像変化ステップと、を含むことを特徴とする。
【０００８】
前記オブジェクト配置手段は、前記第１オブジェクトを消去する手段を含んでよい。
【０００９】
本発明によれば、厳密な物理計算によらず、第１オブジェクト及び第３オブジェクトにより表現される所定オブジェクトが第２オブジェクトに付着する様子を画像表現することができる。特に、第２オブジェクトの前記接触位置に平行な前記入射方向の成分を算出し、該成分に基づいて第３オブジェクトの画像を変化させるので、付着したオブジェクトが勢いで変形する様子を簡易な画像処理にて表現することができる。
【００１０】
また、本発明の一態様では、前記画像変化手段は、前記第３オブジェクトを前記成分に応じた方向に変形させる手段を含む。こうすれば、簡易に第３オブジェクトの画像を変化させることができる。
【００１１】
この態様では、前記画像変化手段は、前記第２オブジェクトの前記接触位置における法線方向と前記入射方向との関係に応じて、前記第３オブジェクトを前記成分に応じた方向に変形させてもよい。例えば、第２オブジェクトの前記接触位置における法線方向と前記入射方向とのなす角が所定角度以上であるか所定角度未満であるかによって、前記第３オブジェクトを前記成分に応じた方向に変形させるか否かを決定してもよい。入射方向に応じて、前記第３オブジェクトを前記成分に応じた方向に変形させる処理を省略することができる。
【００１２】
また、本発明の一態様では、前記第３オブジェクトに貼付するテクスチャ画像を複数記憶するテクスチャ画像記憶手段をさらに含み、前記オブジェクト配置手段は、前記接触位置に前記第３オブジェクトを配置し、前記テクスチャ画像記憶手段に記憶されるテクスチャ画像のうち、前記第２オブジェクトの前記接触位置における法線方向と前記入射方向との関係に応じた１つを貼付する。こうすれば、入射方向に応じて第３オブジェクトの画像を変化させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１４】
図１は、本発明の実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置１０は、家庭用ゲーム機１１に情報記憶媒体たるＤＶＤ−ＲＯＭ２５及びメモリカード２８が装着され、さらにモニタ１８及びスピーカ２２が接続されることによって構成されている。モニタ１８には家庭用テレビ受像器が用いられ、スピーカ２２にはその内蔵スピーカが用いられる。また、ここではプログラムを家庭用ゲーム機１１に供給するためにＤＶＤ−ＲＯＭ２５を用いるが、ＣＤ−ＲＯＭやＲＯＭカートリッジ等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機１１に供給するようにしてもよい。
【００１５】
家庭用ゲーム機１１は、マイクロプロセッサ１４、画像処理部１６、主記憶２６、入出力処理部３０、音声処理部２０、コントローラ３２及びＤＶＤ−ＲＯＭ再生部２４を含んで構成される公知のコンピュータゲームシステムである。マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０は、バス１２によって相互データ通信可能に接続されており、入出力処理部３０には、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８が接続されている。コントローラ３２以外の家庭用ゲーム機１１の各構成要素は筐体内に収容されている。
【００１６】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステム、ＤＶＤ−ＲＯＭ２５から読み出されるプログラム、及びメモリカード２８から読み出されるセーブデータに基づいて、家庭用ゲーム機１１の各部を制御し、プレイヤにゲームを提供する。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。また、主記憶２６は、例えばＲＡＭを含んで構成されるものであり、ＤＶＤ−ＲＯＭ２５から読み出されたプログラムやメモリカード２８から読み出されたセーブデータが必要に応じて書き込まれる。また、主記憶２６は、マイクロプロセッサ１４の作業用としても用いられる。画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データを受け取って、それに基づいてＶＲＡＭ上にゲーム画面を描画するとともに、その内容をビデオ信号に変換して所定のタイミングでモニタ１８に出力する。
【００１７】
入出力処理部３０は、マイクロプロセッサ１４がコントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８にアクセスするためのインタフェースである。音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ−ＲＯＭ２５から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ２２から出力する。ＤＶＤ−ＲＯＭ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ−ＲＯＭ２５に記録されたプログラムを読み取る。メモリカード２８は、不揮発性メモリ（例えばＥＥＰＲＯＭ等）を含んでおり、家庭用ゲーム機１１に対して脱着可能に構成される。このメモリカード２８には、各種ゲームのセーブデータ等が記憶される。コントローラ３２は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部３０は一定周期（例えば１／６０秒毎）にコントローラ３２の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号を、バス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４は、その操作信号に基づいてプレイヤのゲーム操作の内容を判定する。
【００１８】
以上のような構成を有するゲーム装置１０の主記憶２６には、仮想的な３次元空間（３次元ゲーム空間）が構築される。この仮想３次元空間には、例えばプレイヤの操作対象となる操作対象オブジェクトや、操作対象オブジェクトに対立する敵オブジェクト等の動的オブジェクトが配置される。また、仮想３次元空間の風景等の静的オブジェクトも配置される。そして、この仮想３次元空間を所与の視点から見た様子がモニタ１８に表示される。この視点は、例えば操作対象オブジェクトの後方上空に配置され、操作対象オブジェクトに従動するものである。本実施の形態に係るゲーム装置１０では、コントローラの操作に従い、操作対象オブジェクトがロボットオブジェクト（敵オブジェクト）を退治しながら、仮想３次元空間を移動して各種ゲームイベントを攻略していく、例えばアクションゲームやロールプレイングゲーム等の３次元ゲームを提供する。
【００１９】
図２及び図３は、ゲーム装置１０のモニタ１８に表示されるゲーム画面の一例である。これらの図に示すように、ゲーム画面には仮想３次元空間を所与の視点から見た様子を表す視野画像が表示される。視野画像には、例えば操作対象オブジェクトやロボットオブジェクト等の動的オブジェクトや仮想３次元空間の風景などの静的オブジェクトを表す画像が含まれる。図２の例では、ロボットオブジェクトを表す画像が表示されている。ゲーム装置１０によって提供されるゲームでは、ロボットオブジェクトが所定のダメージを受けると、ダメージを受けた部位が破損するようになっている。そして、例えば図３に示すように、破損した部位からは油しぶきが飛び散り、床等には飛び散った油しぶきによる油だまりができるようになっている。ゲーム装置１０では、特に、この油しぶきが飛び散る様子や、床等に飛び散った油しぶきの様子を好適に表現できるようになっている。
【００２０】
まず、油しぶきが飛び散る様子を好適に表現する技術について説明する。
【００２１】
図４に示すように、ゲーム装置１０では、油しぶきが飛び散る様子を表現するために、油しぶきオブジェクト５４（第１オブジェクト）が仮想３次元空間５０に配置される。油しぶきオブジェクト５４は平板状オブジェクトであり、例えば図５に示すようなテクスチャ画像が貼付される。同図に示されるテクスチャ画像は、中心部に油しぶきを表す画像が描かれ、その周囲は透明属性が付与される。
【００２２】
油しぶきオブジェクト５４は、ロボットオブジェクトが所定のダメージを受けた場合に、所定の発生位置ＯＰ（Ｘｏｐ，Ｙｏｐ，Ｚｏｐ）に配置される。発生位置ＯＰは、ロボットオブジェクトの位置に基づいて、床オブジェクト５２（第２オブジェクト）から離間した位置に決定される。例えば、ロボットオブジェクトの仮想３次元空間５０における位置と、ダメージを受けた部位の種類とに基づいて決定されてよい。また例えば、ロボットオブジェクトのダメージを受けた部位の位置（仮想３次元空間５０における位置）に基づいて決定されてよい。
【００２３】
また、油しぶきオブジェクト５４には初速度Ｖｏｐが設定される。初速度Ｖｏｐは乱数に基づいて決定される。例えば、初速度ＶｏｐのＷｘ軸方向、Ｗｙ軸方向、Ｗｚ軸方向の各成分（Ｖｏｐｘ，Ｖｏｐｙ，Ｖｏｐｚ）がそれぞれ乱数に基づいて決定される。なお、仮想３次元空間５０には、該空間での位置を記述するため、座標軸Ｗｘ，Ｗｙ，Ｗｚが設定されている。
【００２４】
油しぶきオブジェクト５４は、発生位置ＯＰから、例えば図４に示すような放物線（図中破線で示される）に沿って移動する。油しぶきオブジェクト５４の軌道（放物線）は、例えば次に示すように、発生位置ＯＰと初速度Ｖｏｐとに基づいて決定される。すなわち、軌道上の位置（ｘ，ｙ，ｚ）は、
ｘ＝Ｖｏｐｘ・ｔ＋Ｘｏｐ
ｙ＝Ｖｏｐｙ・ｔ＋Ｙｏｐ
ｚ＝Ｖｏｐｚ・ｔ−（ｇ・ｔ２）／２＋Ｚｏｐ
によって表される。ここで、Ｖｏｐｘ，Ｖｏｐｙ，Ｖｏｐｚは、それぞれ初速度ＶｏｐのＸ成分、Ｙ成分、Ｚ成分である。また、Ｘｏｐ，Ｙｏｐ，Ｚｏｐは、それぞれ発生位置ＯＰのＸ座標、Ｙ座標、Ｚ座標である。また、ｔは、油しぶきオブジェクト５４の発生からの経過時間である。さらに、ｇは重力加速度（定数）である。
【００２５】
図６は、油しぶきオブジェクト５４を上記放物線に沿って移動させる処理の一例を説明するための図である。同図（ｂ）は、同図（ａ）の状態から所定時間が経過した状態を示している。油しぶきオブジェクト５４は、同図に示すように、対応する頂点（Ａ１とＢ１、Ａ２とＢ２、Ａ３とＢ３、Ａ４とＢ４、Ａ５とＢ５）の中点が軌道上に位置するように配置される。例えば、油しぶきオブジェクト５４の頂点Ａ１及びＢ１の位置は、上記式においてｔに油しぶきオブジェクト５４が配置されてからの経過時間を代入することによって求められる点を中点とするように算出される。
【００２６】
油しぶきオブジェクト５４の頂点Ａ２乃至Ａ５は頂点Ａ１に従動し、頂点Ｂ２乃至Ｂ５は頂点Ｂ１に従動するようになっている。同図に示すように、油しぶきオブジェクト５４の各頂点については、進行方向に対して後方の頂点ほど遅れて移動するようになっている。例えば、頂点Ａ２及びＢ２、Ａ３及びＢ３、Ａ４及びＢ４、Ａ５及びＢ５の位置は、上記式においてｔに油しぶきオブジェクト５４が配置されてからの経過時間から所定の遅れ時間を減じた時間を代入することによって求められる点をそれぞれ中点とするように算出される。この遅れ時間は進行方向に対して後方の頂点ほど大きくなる。そして、この遅れ時間は、油しぶきオブジェクト５４が移動するにつれて（時間が経過するにつれて）徐々に大きくなっていく。このため、油しぶきオブジェクト５４が移動するにつれて、頂点Ａ２乃至Ａ５は頂点Ａ１から離れていき、頂点Ｂ２乃至Ｂ５は頂点Ｂ１から離れていくようになっている。
【００２７】
このようにして、油しぶきオブジェクト５４は床オブジェクト５２に衝突するまで（衝突位置ＣＰに達するまで）移動する。油しぶきオブジェクト５４が床オブジェクト５２に衝突した場合、油だまりオブジェクトが衝突位置ＣＰに基づいて配置される。そして、油しぶきオブジェクト５４の後端（図６における頂点Ａ５等）が床オブジェクト５２に接触した場合に、当該油しぶきオブジェクト５４が消去される。油だまりオブジェクトの詳細については後述する。
【００２８】
ロボットオブジェクトが所定のダメージを受けた場合には、以上に説明した油しぶきオブジェクト５４が床オブジェクト５２に重なる位置に複数配置される。すなわち、ロボットオブジェクトのいずれかの部位が破損するごとに、所定数の油しぶきオブジェクト５４が生成される。生成される油しぶきオブジェクト５４の数は乱数に基づいて決定されるようにし、ロボットオブジェクトの部位が破損するごとに変わるようにしてもよい。
【００２９】
以上のようにして、ゲーム装置１０では、ロボットオブジェクトのダメージを受けた部位から油しぶきが飛び散る様子を好適に表現するようになっている。
【００３０】
次に、床等に飛び散った油しぶきが油だまりを形成する様子を好適に表現する技術について説明する。ここでは、床に油だまりが形成される様子を表現する場合を例にとり説明する。
【００３１】
図７に示すように、ゲーム装置１０では、床に飛び散った油しぶきの様子、すなわち床にできた油だまりの様子を表現するために、油だまりオブジェクト５６（第３オブジェクト）が仮想３次元空間５０に配置される。油だまりオブジェクト５６は油が床に溜まる様子を表す平板状オブジェクトであり、例えば図８に示すようなテクスチャ画像が貼付される。同図に示されるテクスチャ画像は中心部に油だまりを表す画像が描かれ、その周囲に透明属性が付与される。
【００３２】
上述したように、油だまりオブジェクト５６は、油しぶきオブジェクト５４が床オブジェクト５２に衝突した場合に、衝突位置ＣＰに基づいて配置される。また、油だまりオブジェクト５６は床オブジェクト５２と平行するように配置される。複数の油だまりオブジェクト５６を重なるように配置する場合には、床オブジェクト５２からの距離を一定としてもよいし、床オブジェクト５２からの距離を油だまりオブジェクト５６ごとに変えるようにしてもよい。例えば、油だまりオブジェクト５６を配置する場合において、すでに配置された油だまりオブジェクト５６の少なくとも一部と重なる場合には、床オブジェクト５２からの距離が、該すでに配置された油だまりオブジェクト５６よりも大きくなるようにして配置するようにしてもよい。なお、床オブジェクト５２は床を表す平板状オブジェクトであり、床の色や模様等を表すようなテクスチャ画像が貼付される。
【００３３】
図９は、油だまりオブジェクト５６の配置について説明する図である。油だまりオブジェクト５６に対し、図８（ａ）又は（ｂ）のいずれのテクスチャ画像が貼付されるかは、床オブジェクト５２の法線ベクトル（床オブジェクト５２が屈曲している場合には衝突位置ＣＰにおける法線ベクトル）と、油しぶきオブジェクト５４が床オブジェクト５２に衝突する際の速度ベクトル（図中Ｖで示される。）とのなす角（入射角θ）に基づいて決定される。例えば、入射角θが所定値未満である場合には、油だまりオブジェクト５６に、図８（ａ）に示される、全方位に油が広がった様子が描かれたテクスチャ画像が貼付され、入射角θが所定値以上である場合には、図８（ｂ）に示される、一方に偏って油が広がった様子が描かれたテクスチャ画像が貼付される油だまりオブジェクト５６が配置される。すなわち、入射角θと所定値との比較結果に応じて、異なるテクスチャ画像が油だまりオブジェクト５６に貼付されるようになっている。
【００３４】
図８（ａ）に示すテクスチャ画像を貼付する場合、例えば油だまりオブジェクト５６の中心位置が衝突位置となるように該油だまりオブジェクト５６を床オブジェクト５２上に配置する。一方、図８（ｂ）に示すテクスチャ画像を貼付する場合、例えば油しぶきオブジェクト５４が床オブジェクト５２に衝突する際の速度ベクトルＶ（すなわち、油しぶきオブジェクト５４の床オブジェクト５２に対する入射方向となる。）を床オブジェクト５２に射影してなるベクトル（図９においてＶＨとして示される。）と、図８（ｂ）において破線矢印で示される方向（油だまりの広がり方向）とが一致するように配置する。この場合、油だまりオブジェクト５６の中心位置が衝突位置となるように配置してもよいし、油だまりオブジェクト５６の他の所定位置が衝突位置となるように配置してもよい。
【００３５】
仮想３次元空間５０に配置された油だまりオブジェクト５６は、例えば図１０に示すように、所定の大きさになるまで徐々に大きくなっていくように（拡大されるように）なっている。すなわち、油だまりオブジェクト５６の頂点の少なくとも１つの位置が、油だまりオブジェクト５６の面積を大きくするように更新されるようになっている。図８（ａ）に示すテクスチャ画像が貼付される油だまりオブジェクト５６については、図１０（ａ）に示すように、四方に拡大されるようになっている。すなわち、油だまりオブジェクト５６の各頂点を、所定時間ごとに、該油だまりオブジェクト５６を拡大するように、Ｗｘ軸方向及びＷｙ軸方向にそれぞれ所定量移動させる。一方、図８（ｂ）に示すテクスチャ画像が貼付される場合、油だまりオブジェクト５６は、図１０（ｂ）に示すようにテクスチャ画像の向き、すなわち油しぶきオブジェクト５４の床オブジェクト５２に対する入射方向を床オブジェクト５２に射影してなるベクトルＶＨの方向に拡大されるようになっている。
【００３６】
仮想３次元空間５０に配置された油だまりオブジェクト５６は、所定時間が経過した後に消去される。すなわち、仮想３次元空間５０に配置された油だまりオブジェクト５６それぞれについて、配置されてからの経過時間を記憶し、該経過時間が所定時間に達した油だまりオブジェクト５６を消去するようにしてもよい。或いは、仮想３次元空間５０に配置された油だまりオブジェクト５６の数が所定数に達したら、先に配置されたものから順に消去するようにしてもよい。この場合、仮想３次元空間５０に配置された油だまりオブジェクト５６それぞれについて順序情報（配置された順序を示す情報）を記憶し、かかる順序情報に基づいて油だまりオブジェクト５６を消去すればよい。
【００３７】
以上のようにして、ゲーム装置１０では、床に飛び散った油しぶきが油だまりを形成し、その油だまりが徐々に広がっていく様子を好適に表現するようになっている。また、ゲーム装置１０では、仮想３次元空間５０を所与の視点から見た様子を示す画像を表示する場合において、複数の油だまりオブジェクト５６をそれぞれ、床オブジェクト５２に重なる位置に配置し、各油だまりオブジェクト５６が床オブジェクト５２に重なる位置において、該油だまりオブジェクト５６の大きさを平板状の床オブジェクト５６の面内にて拡大させ、その後に各油だまりオブジェクト５６を消去するようにしたので、油だまりオブジェクト５６同士が重なり易くでき、油だまりオブジェクト５６が次々に発生する場合であっても、表示画像に不自然さが生じることを抑制しつつ、表示処理を削減してリアルタイムの画像処理（１／６０秒毎の表示更新処理）を維持することができる。すなわち、各油だまりオブジェクト５６が床オブジェクト５２上に重ねて配置され、それぞれ拡大されるので、床オブジェクト５２上に配置された順に消去しても、消去したことが表示画像に表れにくくすることができる。
【００３８】
以下、ゲーム装置１０による画像処理について、さらに詳細に説明する。
【００３９】
ゲーム装置１０による画像処理では、主記憶２６に、図１１に示す油しぶきオブジェクト管理テーブルと、図１２に示す油だまりオブジェクト管理テーブルが記憶される。油しぶきオブジェクト管理テーブルは仮想３次元空間５０に配置される油しぶきオブジェクト５４を管理するためのテーブルであり、図１１に示すように、ＩＤ欄、発生位置欄、初速度欄、経過時間カウンタ欄、頂点位置欄を含んでいる。ＩＤ欄には、各油しぶきオブジェクト５４を識別するための識別情報が記憶される。発生位置欄には、各油しぶきオブジェクト５４の発生位置ＯＰ（初期位置）を示す情報が記憶される。なお、一カ所で複数の油しぶきオブジェクト５４が発生する場合、それら油しぶきオブジェクト５４に対応づけて１つの発生位置ＯＰを示す情報を記憶すればよい。初速度欄には、各油しぶきオブジェクト５４に設定される初速度Ｖｏｐを示す情報が記憶される。例えば、初速度のＷｘ軸、Ｗｙ軸、Ｗｚ軸の各成分（Ｖｏｐｘ，Ｖｏｐｙ，Ｖｏｐｚ）を示す情報が記憶される。経過時間カウンタ欄には、各油しぶきオブジェクト５４が仮想３次元空間に配置されてから経過した時間を示す数値情報が記憶される。本実施の形態では、経過時間を１／６０秒単位で示す数値情報が記憶される。頂点位置欄には、各油しぶきオブジェクト５４の頂点の位置座標を示す情報が記憶される。頂点位置欄には、油しぶきオブジェクト５４の各頂点の位置座標を示す情報が記憶されるようにしてもよいし、油しぶきオブジェクト５４の基準となる頂点の位置座標を示す情報が記憶されるようにしてもよい。なお、本実施形態のように、油しぶきオブジェクト５４の発生位置ＯＰ及び初速度Ｖｏｐ、経過時間に基づいて、油しぶきオブジェクト５４の各頂点の位置座標が算出される場合には、頂点位置欄を省略することができる。
【００４０】
油しぶきオブジェクト管理テーブルには、ロボットオブジェクトが所定のダメージを受けた場合に、所定数のレコードが追加される。そして、油しぶきオブジェクト５４の後端が床オブジェクト５２に接触する場合に、該油しぶきオブジェクト５４に係るレコードが油しぶきオブジェクト管理テーブルから削除される。
【００４１】
油だまりオブジェクト管理テーブルは仮想３次元空間５０に配置される油だまりオブジェクト５６を管理するためのテーブルであり、図１２に示すように、ＩＤ欄、基準位置欄、入射角欄、経過時間カウンタ欄、頂点位置欄を含んでいる。ＩＤ欄には、各油だまりオブジェクト５６を識別するための識別情報が記憶される。基準位置欄には、各油だまりオブジェクト５６の基準位置（初期位置）を示す情報が記憶される。例えば、各油だまりオブジェクト５６に対応する油しぶきオブジェクト５４が床オブジェクト５２に衝突する際の衝突位置ＣＰを示す情報が記憶される。入射角欄には、各油だまりオブジェクト５６に対応する油しぶきオブジェクト５４が床オブジェクト５２に衝突する際の入射角を示す情報が記憶される。経過時間カウンタ欄には、各油だまりオブジェクト５６が仮想３次元空間５０に配置されてから経過した時間を示す数値情報が記憶される。本実施形態では、経過時間を１／６０秒単位で示す数値情報が記憶される。上述したように、仮想３次元空間５０に配置された油だまりオブジェクト５６の数が所定数に達した場合に、先に配置された油だまりオブジェクト５６から順に消去する場合、経過時間カウンタ欄には、上記順序情報を記憶させればよい。頂点位置欄には、各油だまりオブジェクト５６の頂点の位置座標を示す情報が記憶される。なお、本実施の形態のように、油だまりオブジェクト５６の基準位置及び入射角、経過時間に基づいて、油だまりオブジェクト５６の各頂点の位置座標が算出される場合には、頂点位置欄を省略することができる。
【００４２】
油だまりオブジェクト管理テーブルには、油しぶきオブジェクト５４が床オブジェクト５２に衝突する場合にレコードが追加される。そして、経過時間が所定時間に達した油だまりオブジェクト５６に係るレコードが削除される。
【００４３】
ここで、ゲーム装置１０において実行される処理について説明する。図１３はゲーム装置１０において１／６０秒ごとに実行される処理のうち、本発明に関連するものについて示すフロー図である。本処理は、ＤＶＤ−ＲＯＭ等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給されるプログラムがゲーム装置１０によって実行されることによって実現される。
【００４４】
同図に示すように、本処理では最初に、油しぶきオブジェクト５４を生成するための処理（Ｓ１０１乃至Ｓ１０４）が実行される。油しぶきオブジェクト５４を生成するための処理では、ゲーム装置１０が、ロボットオブジェクトのいずれかの部位が所定のダメージを受けたか否かを判断する（Ｓ１０１）。例えば、ロボットオブジェクトの各部位と、操作対象オブジェクト（或いは操作対象オブジェクトが備える武器オブジェクトや、操作対象オブジェクトから発せられた弾丸オブジェクト等）とを対象に公知の衝突判定処理を行い、ロボットオブジェクトのいずれかの部位が所定のダメージを受けたか否かを判断する。
【００４５】
ロボットオブジェクトのいずれかの部位が所定のダメージを受けている場合、ゲーム装置１０は、該ダメージを受けた部位に基づいて、油しぶきオブジェクト５４の発生位置ＯＰを算出する（Ｓ１０２）。例えば、ダメージを受けた際のロボットオブジェクトの位置及びダメージを受けた部位の種類に基づいて算出する。或いは、ダメージを受けた部位のオブジェクトの、ダメージを受けた際の位置に基づいて算出する。
【００４６】
次に、ゲーム装置１０は、Ｎ個分の油しぶきオブジェクト５４の初速度Ｖｏｐをそれぞれ乱数に基づいて決定する（Ｓ１０３）。例えば、Ｎ個分の油しぶきオブジェクト５４それぞれについて、初速度ＶｏｐのＷｘ軸、Ｗｙ軸、Ｗｚ軸の各成分（Ｖｏｐｘ，Ｖｏｐｙ，Ｖｏｐｚ）をそれぞれ乱数に基づいて決定する。なお、ここでは、ロボットオブジェクトが所定のダメージを受けた場合に、Ｎ個の油しぶきオブジェクト５４が生成されることとして説明するが、生成される油しぶきオブジェクト５４の個数は毎回変わるようにしてもよい。例えば、このステップが実行される前に乱数に基づいて個数を決定し、このステップでは、該個数の油しぶきオブジェクト５４の初速度Ｖｏｐをそれぞれ乱数に基づいて決定するようにしてもよい。
【００４７】
そして、ゲーム装置１０は、新たに生成するＮ個の油しぶきオブジェクト５４に係るレコードを油しぶきオブジェクト管理テーブルに登録する（Ｓ１０４）。この場合、発生位置欄には、Ｓ１０２で算出した発生位置ＯＰを示す情報を格納する。初速度欄には、Ｓ１０３で決定した初速度Ｖｏｐを示す情報を格納する。経過時間カウンタ欄には０を格納する。頂点位置欄には、油しぶきオブジェクト５４の頂点の初期位置を格納する。なお、油しぶきオブジェクト５４の頂点の初期位置は、例えば次のように決定する。すなわち、Ｓ１０２で算出した発生位置ＯＰと、Ｓ１０３で決定した初速度Ｖｏｐとに基づいて、油しぶきオブジェクト５４の軌道を算出する。そして、Ｓ１０２で算出した発生位置ＯＰに基づいて、油しぶきオブジェクト５４が該軌道に沿って配置されるように、油しぶきオブジェクト５４の頂点の初期位置を決定する。
【００４８】
次に、ゲーム装置１０は、すでに配置されている油しぶきオブジェクト５４について、油しぶきオブジェクト管理テーブルの経過時間カウンタ欄に記憶される数値情報を１だけ増加させる（Ｓ１０５）。そして、ゲーム装置１０は、すでに配置されている油しぶきオブジェクト５４について、各頂点の位置を算出し、油しぶきオブジェクト管理テーブルの頂点位置欄を更新する（Ｓ１０６）。なお、油しぶきオブジェクト５４の各頂点の位置は、例えば次のように決定する。すなわち、油しぶきオブジェクト管理テーブルの発生位置欄及び初速度欄に記憶される情報に基づいて、油しぶきオブジェクト５４の軌道を取得する。そして、油しぶきオブジェクト管理テーブルの経過時間カウンタ欄に記憶される数値情報に基づいて該軌道上の位置を取得し、この取得した位置を中点とするように、油しぶきオブジェクト５４の頂点Ａ１及びＢ１の位置を決定する。また、油しぶきオブジェクト管理テーブルの経過時間カウンタ欄に記憶される数値情報から所定値（進行方向に対して後方の頂点ほど大きくなり、かつ、時間の経過とともに大きくなる）を減じたものに基づいて取得される該軌道上の位置をそれぞれ中点とするように、油しぶきオブジェクト５４の頂点Ａ２及びＢ２、Ａ３及びＢ３、Ａ４及びＢ４、Ａ５及びＢ５の位置を決定する。
【００４９】
次に、ゲーム装置１０は、床オブジェクト５２に衝突する油しぶきオブジェクト５４が存在するか否かを判断する（Ｓ１０７）。このステップでは、油しぶきオブジェクト管理テーブルの頂点位置欄に記憶される情報に基づいて、床オブジェクト５２との衝突判定を行えばよい。
【００５０】
床オブジェクト５２に衝突する油しぶきオブジェクト５４が存在する場合には、油だまりオブジェクト５６を生成するための処理（Ｓ１０８乃至Ｓ１１０）が実行される。油だまりオブジェクト５６を生成するための処理では、ゲーム装置１０は、油しぶきオブジェクト５４と床オブジェクト５２との衝突位置ＣＰを取得する（Ｓ１０８）。また、ゲーム装置１０は、油しぶきオブジェクト５４が床オブジェクト５２に衝突する際の入射角θを取得する（Ｓ１０９）。入射角θは、油しぶきオブジェクト管理テーブルに記録された発生位置、初速度、経過時間カウンタに基づいて算出することができる。
【００５１】
そして、ゲーム装置１０は、油だまりオブジェクト管理テーブルに新たなレコードを追加する（Ｓ１１０）。この場合、基準位置欄にはＳ１０８で取得した衝突位置ＣＰを示す情報を格納する。入射角欄にはＳ１０９で取得した入射角θを示す情報を格納する。経過時間カウンタ欄には０を格納する。そして、頂点位置欄には油だまりオブジェクト５６の頂点の初期位置を格納する。具体的には、入射角θが所定角度未満の場合（図８（ａ）に示すテクスチャ画像が貼付される場合）、油だまりオブジェクト５６の頂点の位置は、油だまりオブジェクト５６の中心位置が衝突位置ＣＰとなるように決定される。この場合、油だまりオブジェクト５６は、床オブジェクト５２に平行であれば、どのような姿勢としてもよい。また例えば、入射角θが所定角度以上の場合（図８（ｂ）に示すテクスチャ画像が貼付される場合）、油しぶきオブジェクト５４が床オブジェクト５２に衝突した場合の速度ベクトルをＷｘＷｙ平面に射影してなるベクトルと、油の広がり方向（図８（ｂ）に破線矢印で示す方向）とが一致し、かつ、油だまりオブジェクト５６の所定位置が衝突位置ＣＰとなるように、油だまりオブジェクト５６の頂点の位置は決定される。この場合、油だまりオブジェクト５６は、床オブジェクト５２に平行に配置される。
【００５２】
その後、ゲーム装置１０は、床オブジェクト５２に後端が接触した油しぶきオブジェクト５４があれば、該油しぶきオブジェクト５４に係るレコードを油しぶきオブジェクト管理テーブルから削除する（Ｓ１１１）。
【００５３】
次に、ゲーム装置１０は、すでに配置されている油だまりオブジェクト５６について、油だまりオブジェクト管理テーブルの経過時間カウンタ欄に格納される数値情報を１だけ増加させる（Ｓ１１２）。そして、ゲーム装置１０は、経過時間が所定時間以上になったレコードがあるか否かを確認し（Ｓ１１３）、経過時間が所定時間以上になったレコードがある場合には、該レコードに含まれる基準位置と、他のレコードに含まれる基準位置と、の距離を算出する（Ｓ１１４）。こうして、発生してからの経過時間が所定時間以上になった油だまりオブジェクト５６と、他の油だまりオブジェクト５６との距離を算出するようにしている。そして、こうして算出される距離が所定距離以内である、他の油だまりオブジェクト５６が仮想３次元空間５０に配置されているか否かを判断する（Ｓ１１５）。そして、そのような油だまりオブジェクト５６が配置されていれば、Ｓ１１３で見つかったレコードを削除する（Ｓ１１６）。こうして、経過時間が所定時間以上になった油だまりオブジェクト５６を、他の油だまりオブジェクト５６と重なっている場合にだけ消去して、油だまりオブジェクト５６が消去されたことを表示上、目立たないようにしている。
【００５４】
次に、ゲーム装置１０は、すでに配置されている油だまりオブジェクト５６について、各頂点の位置を算出し、油だまりオブジェクト管理テーブルの頂点位置欄を更新する（Ｓ１１７）。油だまりオブジェクト管理テーブルの入射角欄に記憶される入射角θが所定角度未満である場合（すなわち、図８（ａ）に示すテクスチャ画像を貼付される油だまりオブジェクト５６の場合）には、油だまりオブジェクト５６を四方に所定量ずつ大きくするように、油だまりオブジェクト５６の頂点の位置を更新する。油だまりオブジェクト管理テーブルの入射角欄に記憶される入射角θが所定角度以上である場合（すなわち、図８（ｂ）に示すテクスチャ画像を貼付される油だまりオブジェクト５６の場合）には、油の広がり方向（すなわち、ベクトルＶＨの方向となる。）に応じて、油だまりオブジェクト５６を大きくするように、油だまりオブジェクト５６の少なくとも２つの頂点の位置を更新する。なお、このステップでは、油だまりオブジェクト５６の頂点が初期位置からすでに所定の移動可能距離を移動している場合には、該頂点の更新を行わない。その後、ゲーム装置１０は、仮想３次元空間５０を所与の視点から見た様子を表す視野画像をＶＲＡＭ上に描画する（Ｓ１１８）。
【００５５】
なお、本発明は以上説明した実施の形態に限定されるものではない。
【００５６】
例えば、以上では床に飛び散った油を好適に表現することについて説明したが、同様にして壁等に飛び散った油を好適に表現することも可能である。例えば、壁オブジェクトに平行して油だまりオブジェクト５６を配置し、この油だまりオブジェクト５６を所定時間ごとに下方向に伸ばすようにすればよい。こうすることによって、壁に飛び散った油が下に垂れる様子を好適に表現することができるようになる。また、ここでは第１オブジェクトとして油しぶきオブジェクト５４を用い、第３オブジェクトとして油だまりオブジェクト５６を用いたが、水や血液等の体液等の液体や、その他の流動性のある物質を表すものであれば、どのようなオブジェクトを用いてもよい。同様に、ここでは第２オブジェクトとして床オブジェクト５２を用いたが、どのようなオブジェクトでもよい。
【００５７】
さらに、例えば、以上の説明ではプログラムを情報記憶媒体たるＤＶＤ−ＲＯＭ２５から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図１４は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。同図に基づいて本発明に係るプログラム配信方法を説明する。同図に示すように、このプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース（情報記憶媒体）１０２に、ＤＶＤ−ＲＯＭ２５の記憶内容と同様のプログラムが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からプログラムを読み出し、それをパソコン１０８、家庭用ゲーム機１１０、ＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信（一括配信）する必要はなく、ゲームの局面に応じて必要な部分を配信（分割配信）するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施の形態に係るゲーム装置の構成を示す図である。
【図２】ゲーム画面の一例を示す図である。
【図３】ゲーム画面の一例を示す図である。
【図４】本発明の一実施の形態に係る油しぶきの表現を説明するための図である。
【図５】油しぶきを表すテクスチャ画像の一例を示す図である。
【図６】油しぶきオブジェクトの移動について説明するための図である。
【図７】本発明の一実施の形態に係る油だまりの表現を説明するための図である。
【図８】油だまりを表すテクスチャ画像の一例を示す図である。
【図９】油だまりオブジェクトの配置について説明するための図である。
【図１０】油だまりオブジェクトの拡張について説明するための図である。
【図１１】油しぶきオブジェクト管理テーブルの一例を示す図である。
【図１２】油だまりオブジェクト管理テーブルの一例を示す図である。
【図１３】本発明の一実施の形態に係るゲーム装置で実行される処理を示すフロー図である。
【図１４】本発明の他の実施の形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【００５９】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ−ＲＯＭ再生部、２５  ＤＶＤ−ＲＯＭ、２６  主記憶、２８  メモリカード、３０  入出力処理部、３２  コントローラ、５０  仮想３次元空間、５２  床オブジェクト、５４  油しぶきオブジェクト、５６  油だまりオブジェクト、１００  プログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  携帯情報端末（ＰＤＡ）、１１４  プログラム配信装置。
【図１】
2005196593.tif 000003
【図２】
2005196593.tif 000004
【図３】
2005196593.tif 000005
【図４】
2005196593.tif 000006
【図５】
2005196593.tif 000007
【図６】
2005196593.tif 000008
【図７】
2005196593.tif 000009
【図８】
2005196593.tif 000010
【図９】
2005196593.tif 000011
【図１０】
2005196593.tif 000012
【図１１】
2005196593.tif 000013
【図１２】
2005196593.tif 000014
【図１３】
2005196593.tif 000015
【図１４】
2005196593.tif 000016