(57)【要約】【課題】より簡単に変色表現を実現すること。【解決手段】被変色オブジェクトであるプレーヤキャラクタ２の頂点データに「ムラ情報」と「基礎変色度合」とを設定可能にする。そして、プレーヤキャラクタ２の頂点のうち、ゲーム空間内に設定された変色領域８内の頂点の「基礎変色度合」を時間経過に応じて増加させる。変色領域８外の頂点の「基礎変色度合」は「０（変色なし）」のままとする。そして、ピクセルの表示色は、当該ピクセルの標準色（変色無しの色設定）に、近傍の頂点から求められる当該ピクセル位置における「ムラ情報」と「基礎変色度合」に基づいて濃淡が調整された汚れ色を加えて設定する。【選択図】図４
2012155570.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、３次元仮想空間の画像を生成させるためのプログラムであって、
前記３次元仮想空間に変色源を設定する変色源設定手段、
前記変色源に基づいて変色領域を設定する変色領域設定手段、
前記変色領域内での変色要因オブジェクトの発生及び移動を制御する変色要因オブジェクト制御手段、
前記３次元仮想空間を移動可能なモデルを制御するモデル制御手段、
前記モデルの前記変色領域内に位置する領域内部分を検出する領域内部分検出手段、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記モデルの部位毎の汚れ度合を、前記領域内部分検出手段の検出結果を用いて設定する汚れ度合設定手段として前記コンピュータを更に機能させ、
前記変色手段が、前記汚れ度合に基づいて前記領域内部分の色を変色させるように前記コンピュータを機能させる、
ための請求項１に記載のプログラム。
【請求項３】
前記汚れ度合設定手段が、前記領域内部分として検出された時間が継続するほど当該領域内部分の部位の前記汚れ度合を増加させる、
ように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記変色要因オブジェクト制御手段が、前記変色源又は前記変色源近傍所定位置から前記変色要因オブジェクトを発生させ、
前記汚れ度合設定手段が、前記変色源に近いほど前記汚れ度合の増加の割合を高める、
ように前記コンピュータを機能させるための請求項３に記載のプログラム。
【請求項５】
前記汚れ度合設定手段が、前記領域内部分検出手段により検出されない時間が継続するほど前記汚れ度合を減少させる、
ように前記コンピュータを機能させるための請求項２〜４の何れか一項に記載のプログラム。
【請求項６】
前記変色領域に汚れ方向を設定する汚れ方向設定手段として前記コンピュータを更に機能させ、
前記変色要因オブジェクト制御手段が、前記変色要因オブジェクトを前記汚れ方向に沿って移動させ、
前記汚れ度合設定手段が、前記領域内部分の前記汚れ方向への対向角を更に用いて、前記汚れ度合を設定する、
ように前記コンピュータを機能させる、
ための請求項２〜５の何れか一項に記載のプログラム。
【請求項７】
前記汚れ度合設定手段が、前記モデルの部位毎に定められた汚れムラ情報を更に用いて、前記汚れ度合を設定する、
ように前記コンピュータを機能させるための請求項２〜６の何れか一項に記載のプログラム。
【請求項８】
前記変色領域設定手段が、前記変色領域の移動、変形および消滅のうちの何れかを制御する変色領域制御手段を有する、
ように前記コンピュータを機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
前記変色領域に汚れ付与度合を設定する汚れ付与度合設定手段として前記コンピュータを更に機能させ、
前記変色手段が、前記変色領域に設定された前記汚れ付与度合を用いて、前記領域内部分の色を変色させるように前記コンピュータを機能させる、
ための請求項８に記載のプログラム。
【請求項１０】
前記変色領域制御手段が、所与の時間経過後に前記変色領域を消滅させ、
前記変色要因オブジェクト制御手段が、前記変色領域の消滅に合わせて前記変色要因オブジェクトを消滅させ、
前記汚れ付与度合設定手段が、時間経過に伴って前記汚れ付与度合を徐々に低減させる、
ように前記コンピュータを機能させるための請求項９に記載のプログラム。
【請求項１１】
請求項１〜１０の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
【請求項１２】
３次元仮想空間の画像を生成する画像生成装置であって、
前記３次元仮想空間に変色源を設定する変色源設定手段と、
前記変色源に基づいて変色領域を設定する変色領域設定手段と、
前記変色領域内での変色要因オブジェクトの発生及び移動を制御する変色要因オブジェクト制御手段と、
前記３次元仮想空間を移動可能なモデルを制御するモデル制御手段と、
前記モデルの前記変色領域内に位置する領域内部分を検出する領域内部分検出手段と、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段と、
を備えた画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに３次元仮想空間の画像を生成させるためのプログラム等に関する。
【背景技術】
【０００２】
近年のビデオゲームは、よりリアルにそしてより高精細な３ＤＣＧ（３次元コンピュータグラフィックス）を求める傾向にある。そのため、ゲーム内に登場するキャラクタなどが、埃を被って汚れたり、雨に当って着衣の色が変わるといった変色表現の重要度を増している。
【０００３】
汚れなどの変色を表現する方法としては、例えば、汚れ具合の異なるテクスチャを数パターン用意して、汚れの進行に応じてキャラクタ等に適用するテクスチャを順次差し替える手法が用いられてきた（テクスチャの差し替えについては、例えば、特許文献１を参照）。
【０００４】
更には、汚れパターンの異なるテクスチャにそれぞれ透明度を独立制御可能に付与し、透明度を変えてそれら異なるテクスチャを合成することで、汚れ具合の表現に多様性を持たせる手法も知られるところである（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２９５９３４号公報
【特許文献２】特開２００９−１４２６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述のように、近年のビデオゲームでは画像の高精細化が求められており、それにともなってテクスチャデータもより大容量となる傾向にある。
一方で、ゲーム装置側の記憶領域の容量は、自由に増加させることはできない。従って、テクスチャデータの容量が増えると、テクスチャバッファ等でＶＲＡＭを消費する割合が増え、時に画像品質の向上の足かせとなっていた。また、それにともなう圧縮されたテクスチャデータの解凍・展開などの中間処理の負荷も削減したいところである。
【０００７】
本発明はこうした事情を鑑みてなされたものであり、その目的とするところは、より簡単に変色表現を実現することであり、望ましくは、ＶＲＡＭの消費を抑制できる新しい変色表現方法を実現することである。
【課題を解決するための手段】
【０００８】
以上の課題を解決するための第１の形態は、コンピュータに、３次元仮想空間の画像を生成させるためのプログラムであって、
前記３次元仮想空間に変色源を設定する変色源設定手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色表現制御部２１２、変色源設定部２１４、変色源設定データ５０８、図１２のステップＳ２）、
前記変色源に基づいて変色領域（例えば、図２の変色領域８）を設定する変色領域設定手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色表現制御部２１２，変色領域設定部２１６、変色領域設定データ５１４、図１２のステップＳ２）、
前記変色領域内での変色要因オブジェクト（例えば、図２のミスト６）の発生及び移動を制御する変色要因オブジェクト制御手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色表現制御部２１２、変色要因制御部２２４、変色要因オブジェクトデータ５１１、図１２のステップＳ２）、
前記３次元仮想空間を移動可能なモデル（例えば、図２のプレーヤキャラクタ２）を制御するモデル制御手段（例えば、図８の処理部２００、ゲーム演算部２１０、キャラクタ設定データ５０４、図１２のステップＳ２、Ｓ１８）、
前記モデルの前記変色領域内に位置する領域内部分（例えば、図３の頂点Ｐ１，Ｐ４，Ｐ５）を検出する領域内部分検出手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色表現制御部２１２、領域内部分検出部２２６、図１２のステップＳ２８、Ｓ３０）、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色表現制御部２１２、変色制御部２２８、画像生成部２６０、変色描画部２６２、図１０の頂点データ５５０、ムラ情報５６８、基礎汚れ度合５６９、図１４のステップＳ６８〜Ｓ７２）、
として前記コンピュータを機能させるためのプログラムである。
【０００９】
また、別形態として、３次元仮想空間の画像を生成する画像生成装置（例えば、図１の携帯型ゲーム装置１４００）であって、
前記３次元仮想空間に変色源を設定する変色源設定手段（例えば、図１の制御ユニット１４５０、図８の処理部２００、変色源設定部２１４、図１２のステップＳ２）と、
前記変色源に基づいて変色領域を設定する変色領域設定手段（例えば、図１の制御ユニット１４５０、図８の処理部２００、変色領域設定部２１６、図１２のステップＳ２）と、
前記変色領域内での変色要因オブジェクトの発生及び移動を制御する変色要因オブジェクト制御手段（例えば、図１の制御ユニット１４５０、図８の処理部２００、変色要因制御部２２４、図１２のステップＳ２）と、
前記３次元仮想空間を移動可能なモデルを制御するモデル制御手段（例えば、図１の制御ユニット１４５０、図８の処理部２００、ゲーム演算部２１０、図１２のステップＳ２、Ｓ１８）と、
前記モデルの前記変色領域内に位置する領域内部分を検出する領域内部分検出手段（例えば、図１の制御ユニット１４５０、図８の処理部２００、領域内部分検出部２２６、図１２のステップＳ２８、Ｓ３０）と、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段（例えば、図１の制御ユニット１４５０、図８の処理部２００、変色制御部２２８、変色描画部２６２、図１４のステップＳ６８〜Ｓ７２）と、を備えた画像生成装置を構成することができる。
【００１０】
ここで、コンピュータとは、
第１の形態によれば、変色の要因をもたらす変色源を設定し、その変色源に基づいて変色の影響を受けるとされる変色領域を設定し、更に変色の要因を視覚化するべく変色要因オブジェクトを変色領域内に配置することができる。そして、変色領域内に入ったモデルの部分を検出し、その色を変色させることができる。変色表現に係る処理において、変色要因オブジェクトとモデルとのヒットチェックを計算することはなく、簡単に汚れなどの変色表現を実現できる。尚、変色表現には、埃や泥の付着のように文字通り汚染された状況の表現は勿論、例えば水が付着したことにより色味が変わって見える状況の表現、つまり汚染は伴わないが変色する表現も含まれる。
【００１１】
第２の形態は、前記モデルの部位毎の汚れ度合を、前記領域内部分検出手段の検出結果を用いて設定する汚れ度合設定手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色制御部２２８、汚れ度合設定部２３２、図１０の基礎汚れ度合５６９、図１３のステップＳ４４）として前記コンピュータを更に機能させ、
前記変色手段が、前記汚れ度合に基づいて前記領域内部分の色を変色させるように前記コンピュータを機能させる、ための第１の形態のプログラムである。
【００１２】
第２の形態によれば、第１の形態と同様の効果が得られるとともに、領域内部分検出手段により検出された部分に汚れ度合を設定し、汚れ度合に基づいて前記領域内部分の色を変色させることができる。つまり、変色の程度を汚れ度合で簡単に制御することが可能となる。
【００１３】
第３の形態は、前記汚れ度合設定手段が、前記領域内部分として検出された時間が継続するほど当該領域内部分の部位の前記汚れ度合を増加させるように前記コンピュータを機能させるための第２の形態のプログラムである。
【００１４】
第３の形態によれば、第２の形態と同様の効果が得られるとともに、時間経過とともに汚れが進行するような表現が可能となる。
【００１５】
第４の形態は、前記変色要因オブジェクト制御手段が、前記変色源又は前記変色源近傍所定位置から前記変色要因オブジェクトを発生させ、
前記汚れ度合設定手段が、前記変色源に近いほど前記汚れ度合の増加の割合を高める、ように前記コンピュータを機能させるための第３の形態のプログラムである。
【００１６】
第４の形態によれば、第３の形態と同様の効果が得られるとともに、変色源に近い程汚れ具合が酷くなるように表現できる。
【００１７】
第５の形態は、前記汚れ度合設定手段が、前記領域内部分検出手段により検出されない時間が継続するほど前記汚れ度合を減少させる、ように前記コンピュータを機能させるための第２〜第４の何れかの形態のプログラムである。
【００１８】
第５の形態によれば、第２〜第４の形態の何れかと同様の効果が得られるとともに、変色領域外の部分の変色が時間経過とともに減少するような表現が可能となる。例えば、水が付着して変色したが、時間経過とともに乾燥して元の色に戻るといった表現が可能となる。
【００１９】
第６の形態は、前記変色領域に汚れ方向を設定する汚れ方向設定手段（例えば、図２の基準方向Ｆｗ、図８の処理部２００、ゲーム演算部２１０、汚れ方向設定部２１８、図９の基準方向ベクトル５２２ｂ、図１１の基準方向ベクトル５８３）として前記コンピュータを更に機能させ、
前記変色要因オブジェクト制御手段が、前記変色要因オブジェクトを前記汚れ方向に沿って移動させ、
前記汚れ度合設定手段が、前記領域内部分の前記汚れ方向への対向角を更に用いて、前記汚れ度合を設定する、ように前記コンピュータを機能させるための第２〜第５の何れかの形態のプログラムである。
【００２０】
第６の形態によれば、第２〜第５の形態の何れかと同様の効果が得られるとともに、変色要因の向かって来る方向に向いているか否かに応じて、汚れの度合を増減させることが出来る。
【００２１】
第７の形態は、前記汚れ度合設定手段が、前記モデルの部位毎に定められた汚れムラ情報（例えば、図２や図１０のムラ情報５６８）を更に用いて、前記汚れ度合を設定するように前記コンピュータを機能させるための第２〜第６の何れかの形態のプログラムである。
【００２２】
第７の形態によれば、第１〜第６の形態の何れかと同様の効果が得られるとともに、変色に斑（ムラ）を生じさせることができる。
【００２３】
第８の形態は、前記変色領域設定手段が、前記変色領域の移動、変形および消滅のうちの何れかを制御する変色領域制御手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色領域設定部２１６、変色領域制御部２２０、図１１の速度ベクトル５８４、変形情報５８６、図１２のステップＳ１４）を有する、ように前記コンピュータを機能させるための第１〜第７の何れかの形態のプログラムである。
【００２４】
第８の形態によれば、第１〜第７の形態の何れかと同様の効果が得られるとともに、変色領域の移動、変形および消滅のうちの何れかを実現できる。例えば、風に流れながら変形し、やがて霧散してしまう煙の塊によって変色するといった状況を実現可能となる。
【００２５】
第９の形態は、前記変色領域に汚れ付与度合を設定する汚れ付与度合設定手段（例えば、図８の処理部２００、ゲーム演算部２１０、変色領域設定部２１６、汚れ付与度合設定部２２２、図１１の付与度合５８７、図１２のステップＳ１４）として前記コンピュータを更に機能させ、
前記変色手段が、前記変色領域に設定された前記汚れ付与度合を用いて、前記領域内部分の色を変色させるように前記コンピュータを機能させるための第８の形態のプログラムである。
【００２６】
第９の形態によれば、第８の形態と同様の効果を奏するとともに、変色領域別に変色の影響度合を設定することができる。よって、複数の変色領域が設定されるケースにおいて、より多様な変色表現が可能となる。
【００２７】
第１０の形態は、前記変色領域制御手段が、所与の時間経過後に前記変色領域を消滅させ、前記変色要因オブジェクト制御手段が、前記変色領域の消滅に合わせて前記変色要因オブジェクトを消滅させ、前記汚れ付与度合設定手段が、時間経過に伴って前記汚れ付与度合を徐々に低減させる、ように前記コンピュータを機能させるための第９の形態のプログラムである。
【００２８】
第１０の形態によれば、第９の形態と同様の効果が得られるとともに、変色領域が時間経過で消滅する様子を視覚化するとともに、消滅して行く過程において変色させる力が衰えてゆく感じを変色表現の一部として実現することができる。
【００２９】
第１１の形態は、第１〜第１０の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１１の形態によれば、第１〜第１０の何れかの形態のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第１０の形態の何れかと同様の効果を発揮させることができる。
【図面の簡単な説明】
【００３０】
【図１】携帯型ゲーム装置のシステム構成例を説明するための外観図。
【図２】変色表現の原理を説明するための概念図。
【図３】変色表現の原理を説明するための概念図。
【図４】変色表現の原理を説明するための概念図。
【図５】変色表現の原理を説明するための概念図。
【図６】変色源のその他の例を示す図。
【図７】変色源のその他の例を示す図。
【図８】機能構成の一例を示す機能ブロック図。
【図９】変色領域設定データのデータ構成の一例を示す図。
【図１０】頂点データのデータ構成の一例を示す図。
【図１１】変色源ステータスデータのデータ構成の一例を示す図。
【図１２】変色表現に関する処理の流れを説明するためのフローチャート。
【図１３】図１２より続くフローチャート。
【図１４】レンダリング処理の流れを説明するためのフローチャート。
【図１５】画像生成装置の変形例を示すシステム構成図。
【図１６】変色表現を陰影で表現する場合の原理を説明するための図。
【図１７】レンダリング処理の変形例の流れを説明するためのフローチャート。
【発明を実施するための形態】
【００３１】
〔第１実施形態〕
本発明を適用した実施形態として、画像生成装置として、リアルタイムに３ＤＣＧ（３次元コンピュータグラフィックス；３次元仮想空間の画像）を生成してビデオゲームを実行する携帯型ゲーム装置を例に挙げて説明する。そして、ゲーム内でプレーヤキャラクタの表面色が、散水装置（変色源）が振りまくミスト（変色要因）を受けて変色する様子を描画する例等について説明する。
【００３２】
また、本実施形態では、画像生成装置の一例をゲーム装置とし、このゲーム装置において専用のゲームプログラムを実行することによりビデオゲームを実現する構成を例に挙げて説明するが、専用のゲームプログラムに代えて、ウェブブラウザプログラム、及びスクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインを実行し、いわゆるブラウザゲームとしてビデオゲームを実現する構成でも同様に適用できる。すなわち、この場合には、端末装置に対してブラウザゲームを実行するためのプログラムや画像データを提供するサーバシステムが本発明の画像生成装置となる。
【００３３】
［画像生成装置のシステム構成］
図１は、携帯型ゲーム装置のシステム構成例を説明するための外観図である。本実施形態における携帯型ゲーム装置１４００は、方向入力キー１４０２及びボタンスイッチ１４０４と、第１液晶ディスプレイ１４０６と、第２液晶ディスプレイ１４０８と、スピーカ１４１０と、制御ユニット１４５０とを、ヒンジ１４１４で開閉自在な折り畳み型の装置本体１４０１に備えている。
そして、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表示面上には、スタイラスペン１４１６などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル１４０７、１４０９がそれぞれ装着されている。
【００３４】
また、装置本体１４０１には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード１４４０からデータを読み書きできるメモリカード読取装置１４１８が備えられている。メモリカード１４４０には、携帯型ゲーム装置１４００の制御ユニット１４５０がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体１４０１には、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【００３５】
タッチパネル１４０７、１４０９は、表示画面を遮蔽することなくそれぞれ第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表示画面のほぼ全域を被い、プレーヤがスタイラスペン１４１６（或いは指など）で触れる接触操作を行うと、左上を原点とする直交座標系における接触位置座標を制御ユニット１４５０へ出力する。
【００３６】
制御ユニット１４５０は、ゲーム装置の制御基板に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種ＩＣメモリを搭載する。
【００３７】
また、制御ユニット１４５０は、無線通信モジュール１４１２や、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８のドライバ回路、タッチパネル１４０７及びタッチパネル１４０９のドライバ回路、方向入力キー１４０２及びボタンスイッチ１４０４からの信号を受信する回路、スピーカ１４１０へ音声信号を出力するためのアンプ回路、メモリカード読取装置１４１８への信号入出力回路といった所謂Ｉ／Ｆ回路（インターフェース回路）を搭載する。これら制御ユニット１４５０に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【００３８】
そして制御ユニット１４５０は、メモリカード１４４０に格納されているプログラムやデータをメモリカード読取装置１４１８によって読み出して、搭載するＩＣメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー１４０２やボタンスイッチ１４０４、タッチパネル１４０７及び１４０９などからの操作入力に応じて携帯型ゲーム装置１４００の各部を制御して、３ＤＣＧを生成し、ゲームを実行する。
【００３９】
尚、本実施形態では、携帯型ゲーム装置１４００は必要なプログラムや各種設定データをメモリカード１４４０から読み出す構成としているが、制御ユニット１４５０に搭載されている主要なプログラムやデータをＩＣメモリに予め記憶している構成とすることができる。或いは、無線通信モジュール１４１２を介して、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などの有線／無線の通信回線１に接続して外部装置からダウンロードして取得する構成としても良い。
【００４０】
［変色表現の原理の説明］
図２〜図５は、本実施形態における変色表現の原理について説明するための概念図である。本実施形態のビデオゲームは、３次元仮想空間内に背景となる各種オブジェクトを配置してゲーム空間を形成し、そこにプレーヤが操作するプレーヤキャラクタ２のオブジェクトを配置する。そして、仮想カメラ（仮想視点）によってゲーム空間の様子を撮影した画像をゲーム空間画像としてレンダリングし、ゲーム空間画像に各種情報表示物（例えば、ステージ数であったり、得点であったり、残り時間など）を合成しゲーム画面を生成する。つまり、本実施形態のビデオゲームの画面は、リアルタイムに生成される３ＤＣＧをベースに表示される。
【００４１】
本実施形態におけるビデオゲームには、被変色オブジェクトとしてプレーヤキャラクタ２が登場する。そして、ゲーム空間内には「変色源」の一つとして散水装置４が配置され、「変色要因」であるミスト６を噴霧する。本実施形態では、プレーヤキャラクタ２がミスト６を浴びて変色し、変色が回復（付着したミスト６が渇いたのに相当）する様子を表現することができる。以降では、便宜上、「汚れ色」が付いて変色するとして説明するが、本明細書で言う所の変色表現が文字通りの汚染によって生じる場合に限定されるものではなく、水などの付着により一時的にその場所の色が変わる変色も含まれる。
【００４２】
さて、散水装置４は、ポリゴンモデルで形成されている。散水装置４に設定されている基準方向Ｆｗ側（この場合、水を飛ばす方向に相当）には、画面表示されない変色領域８が設定される。図の例では、理解し易いように変色領域８を立方体領域として図示しているが、領域の形状はこれに限らず、ディレクションの観点から変色源がゲーム世界においてどのような設定とどのような役割を担うかに応じて適宜設定することができる。
【００４３】
ミスト６は、変色領域８内に分布する噴霧された水滴を表す変色要因オブジェクトである。変色要因オブジェクトの形状や大きさ、数、動きなどは、変色要因の設定に応じて適宜設定できる。プリミティブや、パーティクルなどを用いることもできる。
【００４４】
プレーヤキャラクタ２は、その表面が複数のポリゴンにより形成されるポリゴンモデルである。図中の楕円形で示した拡大表示部内に示される三角形がそれぞれ一つの三角形ポリゴンを表す。そして、各ポリゴンは頂点Ｐ１，Ｐ２，Ｐ３，…（拡大表示部内の黒丸）でもって定義される。
【００４５】
本実施形態では、プレーヤキャラクタ２に係る頂点のうち、変色表示の対象となる頂点毎に対応づけて頂点データ５５０が用意される。変色表示の“対象外”となるものは、例えば水を弾く素材でできている設定の領域の頂点（仮に、プレーヤキャラクタ２がそうしたアイテムを装備している場合には当該アイテムの頂点）である。尚、頂点データ５５０が用意される頂点を、以降では単に「プレーヤキャラクタの頂点」と呼称する。
【００４６】
頂点データ５５０は、対応する頂点の３次元仮想空間内における位置を示す頂点位置座標５５２や、頂点の色情報、頂点の移動速度、α値、ｕｖマッピング用のｕｖ値、ボーンモデルの何れのジョイントと関連するかを示す情報などを格納することができる。そして、本実施形態では、変色表現制御に関するパラメータとして変色制御データ５６０を格納する。より具体的には、変色の斑（ムラ）を表現するためのパラメータであるムラ情報５６８と、ベースとなる汚れの程度を示すパラメータである基礎汚れ度合５６９とを格納する。
【００４７】
ムラ情報５６８は、本実施形態ではゲーム開始前に、頂点毎に、所定数値範囲内（例えば、０．０〜１．０）の値がランダムに選択、設定される。尚、本実施形態ではムラ情報５６８は、一度設定されるとゲーム中は固定とするが、例えば、ゲーム中であっても全ての頂点について基礎汚れ度合５６９が「０（変色無し）」になる都度、再設定し直す処理を実行するとしても良い。また、本実施形態におけるムラ情報５６８は、ゲーム空間に設定される変色領域８それぞれについて別の値が設定されるが、全ての変色領域８に対して共通の値が設定される構成であっても良い。
【００４８】
基礎汚れ度合５６９は、ゲーム開始当初の初期値は「０（変色無し）」である。
図３に示すように、ゲーム中に被変色オブジェクトであるプレーヤキャラクタ２が変色領域８に進入すると、プレーヤキャラクタ２の領域内部分を検出する。具体的には、プレーヤキャラクタ２の頂点のうち、変色領域８内に有る頂点を抽出する。そして、抽出された頂点の基礎汚れ度合５６９が、時間経過の都度、増加量ΔＷが加算される。
【００４９】
増加量ΔＷは、変色源の性質に応じて適宜設定された関数によって算出される。本実施形態では、変色源として散水装置４を設定しているので、散水装置４の噴霧口５を代表点として、代表点と変色領域８内の頂点との距離Ｌを求め、距離Ｌが小さいほど増加量ΔＷを多く、距離Ｌが大きいほど増加量ΔＷが少なくなるように関数を設定している。
【００５０】
勿論、増加量ΔＷの算出関数の特性はこれに限らない。
例えば、変色源が変色要因として下に溜まりやすい着色性のガス状物質を発生させる設定の場合には、地面（または床面）を基準として頂点位置が低い程増加量ΔＷを多くし、頂点位置が高い程増加量ΔＷが少なくなるように関数を設定すると良い。変色源が、下の方ほど汚れている汚水溜まりや水溜まりなどの場合でも同様に設定できる。変色源が、ペンキのような不透明性染料の汚水溜まりの設定であれば、増加量ΔＷは固定値としても良い。
また、概ね球形の変色領域を有して滞留する着色性のガス状物質であれば、変色領域の中心に近い程増加量ΔＷが大きくなるように関数を設定すると良い。
【００５１】
そして、図４に示すように、ムラ情報５６８と基礎汚れ度合５６９とに基づいてプレーヤキャラクタ２を変色させる。本実施形態では各ピクセルの表示色を、変色していない標準色に、変色源毎に設定されている所定の「汚れ色」を加えた色とする。
【００５２】
具体的には、表示色を設定しようとするピクセルに近接する頂点（図の例では、頂点Ｐ１と頂点Ｐ５、頂点Ｐ４を加えても良い。）のムラ情報５６８と基礎汚れ度合５６９を参照して、当該ピクセルの位置におけるそれらのムラ情報と基礎汚れ度合を算出する。
このとき、近接する頂点Ｐ１，Ｐ５それぞれとの距離に比例して、各近接頂点のムラ情報５６８及び基礎汚れ度合５６９の重み付けを計算して当該ピクセルの位置におけるムラ情報及び基礎汚れ度合を算出すると良い。
例えば、対象とするピクセルが頂点Ｐ１と頂点Ｐ５の間にあって、頂点Ｐ１までの距離と頂点Ｐ５までの距離の比が、２：３であれば、頂点Ｐ１のムラ情報５６８及び基礎汚れ度合５６９を重み付け係数「０．６（＝３／５）」を乗じ、頂点Ｐ５のムラ情報５６８及び基礎汚れ度合５６９を重み付け係数「０．４（＝２／５）」を乗じて合算する。或いは、近接する頂点Ｐ１，Ｐ５のうち何れかのムラ情報５６８及び基礎汚れ度合５６９をそのまま参照するとしても良い。
【００５３】
そして、本実施形態では、表示色を設定しようとするピクセルの位置におけるムラ情報及び基礎汚れ度合を算出したならば、「ムラ情報」の値が大きくなるほど高くなるように「汚れ度合補正値」を算出し、これをピクセルの位置の基礎汚れ度合に加算して「適用汚れ度合」を算出する。
次いで、「適用汚れ度合」が高い程低くなるように透明度を決定し、変色源毎に設定されている所定の「基準汚れ色」（例えば、グレー）にこの透明度を乗算して、実際に当該ピクセルに適用される「汚れ色」を決定する。
そして、当該ピクセルに適用される「汚れ色」が決まったならば、当該ピクセルの標準色（具体的には、当該ピクセルに対応するテクスチャのテクセルの色）にこれを合成する。合成結果に、更に陰影処理の結果が反映されてピクセルの表示色が決定される。
図４の例では、わかりやすく標準色のままを「白」で示し、変色された部分を網掛けすることで概念的に表示している。変色部分の境界の有り様や種類は、図示された例に限られるものではなく、実際のゲーム画面上では、もっと多彩なグラデーションを成してその境界も滑らかとなる。
【００５４】
尚、ムラ情報５６８及び基礎汚れ度合５６９の２つのパラメータ値を用いて、どれだけ変色させるかの設定を決定する方法や、どういった色に変色させるのか、どの程度変色させるかなどの設定は、ここで説明した例に限らずゲーム全体を通したアートディレクションの範疇として適宜決定することができる。
【００５５】
図５は、変色の回復の原理を説明するための概念図である。本実施形態では、被変色オブジェクトであるプレーヤキャラクタ２の頂点のうち、変色領域８の外にある頂点は、時間経過とともに基礎汚れ度合５６９が「０」に向かって低減される。従って、変色領域８からプレーヤキャラクタ２が出ると、自動的に変色が回復し元に戻っていくように表現される。つまり、散水装置４のミスト６を浴びた後、徐々に渇いて元に戻るかのように見える。勿論、変色領域８の外になる頂点の基礎汚れ度合５６９を低減する処理は、変色源のゲーム上における性質による。例えば、ペンキや汚泥のように変色要因が不透明性のものである場合には、こうした変色の回復を行うとむしろ不自然に見えるので、適用しない方が良い。
【００５６】
尚、本実施形態に登場する変色源は、図２〜図５で示したような散水装置４に限らない。例えば、図６のように、変色源として発煙筒１２が考えられる。発煙筒１２からは、時間当たり所定数の球状または複数の球の複合体からなる変色領域８（８ａ，８ｂ，８ｃ，…；図中では分かり易いように実線表記しているが、実際には見えない）が生成される。勿論、変色領域８内には、変色要因である煙１４を表現するための変色要因オブジェクトが配置される。
【００５７】
各変色領域８（８ａ，８ｂ，８ｃ，…）には、それぞれ基準方向として速度ベクトルＶ（Ｖ１〜Ｖ５）が設定されており、発生後はその速度ベクトルＶ１〜Ｖ５に従って移動制御される。勿論、速度ベクトルＶ１〜Ｖ５は発生時に与えられる固定値に限らず、適宜時間経過とともに変化させるとしても良い。具体的には、ゲーム空間に設定されている仮想の「風」の変化によって変更したり、進行方向に存在する障害物（例えば、壁となる建物）によって特定方向の速度成分を高めたりといったように、簡易な物理シミュレーションに基づいて増減すると好適である。
【００５８】
また、本実施形態では、変色領域８毎に、汚れの付与度合ｋを設定することができる。
汚れの付与度合ｋは、その変色領域に起因する汚れの影響具合を示す。より具体的には、各変色領域８（８ａ，８ｂ，８ｃ，…）には、変色源の代表点からの距離に近い程大きく、離れる程小さくなるように算出された付与度合ｋが設定され、変色領域別の汚れ色の算出時に乗算される。
ピクセルの表示色は、当該ピクセルの標準色に、変色領域別の汚れ色が合成され、更に陰影処理結果が反映されて決定される。
【００５９】
また、発煙筒１２から発生される各変色領域８には、拡大率と消滅までのタイマーを設定することができる。拡大率は、変色領域８の発生後、時間経過とともに変色源のゲーム上の性質に応じて増減される。図の例では、変色領域８は煙の塊に相当するので、徐々に拡大率を増加するように制御し、煙１４の透明度を徐々に高めるように制御すると好適である。そして、消滅までのタイマーが所与の時間、或いは所定の時間を計時すると、当該変色領域８は消滅される。よって、あたかも煙りが時間と共に拡散し霧散してゆく存在として表現できる。
【００６０】
尚、図の例では、発煙筒１２の位置は固定ともとれるが、例えば軍用車両に取り付けられた発煙筒などでは、その軍用車両の移動に応じてゲーム空間内を移動するとしても良い。その場合、変色源のゲーム上の設定を「発煙筒の煙」ではなく、「車両のエキゾーストパイプから出る黒煙」と設定することもできる。
【００６１】
また、本実施形態では、図７のように、地面の窪地１６に変色源として水たまり１８を設定することができる。水たまり１８の水面より下の部分には、変色領域８（８ｈ）が設定される。そして、領域内部には、そこに溜まっている泥水２０などを表現するための変色要因オブジェクトを配置することができる。
【００６２】
［機能ブロックの説明］
次に、上述のようなゲームを実行するための機能構成例について説明する。
図８は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００６３】
操作入力部１００は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。図１の方向入力キー１４０２やボタンスイッチ１４０４、タッチパネル１４０７，１４０９はこれに該当する。
【００６４】
処理部２００は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００を含む携帯型ゲーム装置１４００の各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置１４００の動作を制御する。図１では制御ユニット１４５０が処理部２００に該当する。
そして、本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００６５】
ゲーム演算部２１０は、３ＤＣＧによるビデオゲームを実行するための各種処理を実行する。例えば、（１）仮想３次元空間内に各種オブジェクトを配置してゲーム空間を形成し、そこにプレーヤキャラクタ２と仮想カメラを配置する処理、（２）プレーヤキャラクタ２を操作入力部１００からの操作入力に応じて動作させる処理、（３）プレーヤキャラクタ２と変色領域８とのいわゆるヒット判定処理や、プレーヤキャラクタ２と変色要因オブジェクトとのヒット判定処理、（４）ダメージ判定とダメージの反映処理、（５）プレーヤキャラクタ２を撮影するように仮想カメラの位置や姿勢など撮影パラメータを自動制御する処理、（６）ゲームポイントなどの算出処理、などを実行する。その他、適宜カウンタ、タイマー、フラグ設定などビデオゲームの実行に必要な各種処理を実行する。こうした処理は、公知の格闘ゲームに関する演算処理と同様にして実現できる。
【００６６】
そして、本実施形態のゲーム演算部２１０は、変色表現に関する制御を行う変色表現制御部２１２を含む。より具体的には、変色表現制御部２１２は、変色源設定部２１４と、変色領域設定部２１６と、変色要因制御部２２４と、領域内部分検出部２２６と、変色制御部２２８とを含む。
【００６７】
変色源設定部２１４は、ゲーム空間内に変色源（例えば、散水装置４、発煙筒１２、水たまり１８など）の表示用モデルを配置する。変色源が移動する性質の設定であれば、これを移動制御する。
【００６８】
変色領域設定部２１６は、変色源に基づいて変色領域８をゲーム空間内に設定し、変色領域８を管理する。本実施形態では、汚れ方向設定部２１８と、変色領域制御部２２０と、汚れ付与度合設定部２２２とを含む。
【００６９】
汚れ方向設定部２１８は、変色領域８毎に基準方向Ｆｗ（図２参照）や速度ベクトルＶ（図６参照）などを設定して汚れの方向性を設定する。
【００７０】
変色領域制御部２２０は、変色領域８に生成のための条件が設定される場合には、生成条件を満たすかを判定し、満たす場合には変色領域８を新たに配置させる。また、変色領域８が、生成後の時間経過やゲーム空間内の位置などによって消滅する性質が与えられる場合には、変色領域毎の時間経過をカウントし、或いはゲーム空間内の位置を求めて、それらが消滅条件を満たすか判定する。そして、消滅条件を満たす場合には、当該変色領域８を消滅処理する。更には、変色領域８に、配置以降、移動したり変形する性質が与えられる場合には、ゲーム空間に適用される仮想物理法則に則って移動させたり、所定の移動経路に沿って移動させたり、所定の割合で拡大或いは縮小するように変形処理する。変色領域制御部２２０は、必ずしも変色領域８の生成、移動、消滅、変形の全てを行う必要はなく、ゲーム内容に応じて適宜機能を限定することができる。
【００７１】
汚れ付与度合設定部２２２は、変色領域８毎に設定される設定パターンに基づいて汚れの付与度合ｋを設定する。汚れの付与度合ｋは、その変色領域に起因する汚れの影響具合を示す。
【００７２】
変色要因制御部２２４は、変色領域８内での変色要因オブジェクト（例えば、ミスト６、煙１４など）の発生及び移動を制御する。発生位置は、基本的に変色源、又はその近傍位置からとなる。そして、変色領域８に基準方向Ｆｗが設定されている場合には、これを汚れ方向と見なし、これに沿って変色要因オブジェクトを移動させる。もし、変色領域８が消滅するならば、それに合わせて対応する変色要因オブジェクトを消滅させる。
【００７３】
領域内部分検出部２２６は、被変色オブジェクト（プレーヤキャラクタ２）の変色領域内に位置する領域内部分を検出する。具体的には、頂点を検出する。
【００７４】
変色制御部２２８は、領域内部分検出部２２６により検出された部分の頂点に、変色表現制御に必要なパラメータ値を設定する。その為に、本実施形態の変色制御部２２８は、汚れムラ設定部２３０と、汚れ度合設定部２３２とを含む。
【００７５】
汚れムラ設定部２３０は、被変色オブジェクトの頂点にムラ情報５６８を設定する。
汚れ度合設定部２３２は、被変色オブジェクトの全頂点の基礎汚れ度合５６９を「０（変色無し）」に初期化し、領域内部分検出部２２６により検出された時間が継続するほど、つまり変色領域８に入っている時間が経過する毎に頂点の基礎汚れ度合５６９を増加させる。また、領域内部分検出部２２６により検出されない時間が継続するほど、つまり変色領域８の外にいる間、基礎汚れ度合５６９を減少させる。
【００７６】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）や、音声合成ＩＣなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７７】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではスピーカ１４１０がこれに該当する。
【００７８】
画像生成部２６０は、例えば、ＧＰＵ（Graphics Processing Unit）、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、ビデオ信号ＩＣ、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ＩＣメモリ、テクスチャデータの展開用に使用されるＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（例えば１／６０秒）で１枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部３６０に出力する。
【００７９】
そして、本実施形態では、変色描画部２６２を含む。変色描画部２６２は、変色制御部２２８により設定された変色表現制御に必要なパラメータ値に基づいて、ピクセル毎の表示色を決定する。つまり、被変色オブジェクトの表示色を、所与の汚れ色に近づけるように変色させる。変色描画部２６２は、例えばシェーディングプログラムとして実現することもできる。
【００８０】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。
本実施形態では、図１の第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８が該当する。
【００８１】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００８２】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１の無線通信モジュール１４１２がこれに該当する。
【００８３】
記憶部５００は、処理部２００に携帯型ゲーム装置１４００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図１では制御ユニット１４５０に搭載されているＩＣメモリやメモリカード１４４０がこれに該当する。
【００８４】
本実施形態では、記憶部５００はシステムプログラム５０１と、ゲームプログラム５０２とを記憶している。
システムプログラム５０１は、携帯型ゲーム装置１４００のコンピュータとしての入出力の基本機能を実現するためのプログラムである。
ゲームプログラム５０２は、処理部２００が読み出して実行することによってゲーム演算部２１０としての機能を実現させるためのアプリケーションソフトであるが、システムプログラム５０１の一部として組み込まれた構成であっても良い。そして、本実施形態のゲームプログラム５０２は、処理部２００に、変色表現制御部２１２と、変色描画部２６２としての機能を実現させるためのプログラムとして変色描画プログラム５０３（例えばシェーディングプログラム）を含む。
【００８５】
また、記憶部５００には、予め用意されるデータとして、キャラクタ毎に用意されるキャラクタ設定データ５０４と、ゲーム空間設定データ５０６と、が記憶されている。また、ゲームの準備や進行に伴って随時生成や更新が行われるデータとして、プレイデータ５４０が記憶される。更に、ゲームの進行に係る処理を実行するにあたり必要となるデータ（例えば、タイマー値やカウンタ、フラグ）なども適宜記憶されるものとする。
【００８６】
キャラクタ設定データ５０４は、ゲームに登場する各キャラクタを表示させ動作制御するための各種データを格納しておりキャラクタ毎に用意される。本実施形態では、プレーヤキャラクタ２を設定するためのデータが記憶されている。
具体的には、例えば、複数のポリゴンで形成されたキャラクタモデルデータと、変色していない状態を表す標準テクスチャデータと、キャラクタの操作コマンドとそのモーションデータ、各種技のエフェクトデータなどを含むものとする。
【００８７】
ゲーム空間設定データ５０６は、ゲームが行われる舞台となるゲーム空間を３次元仮想空間内に形成し表示させるための各種データを格納する。例えば、遠景とする画像、背景物となる各種オブジェクトのポリゴンモデルデータやテクスチャデータ、地面の凹凸を定義するモデルデータやテクスチャデータなどを含む。また、仮想カメラの初期配置位置に関する情報を含むとしても良い。これらは、公知の３ＤＣＧを用いたビデオゲームにおける同種のデータと同様に実現される。そして、本実施形態では、ゲーム空間設定データ５０６は、変色源設定データ５０８を含む。
【００８８】
変色源設定データ５０８は、変色源毎に用意されるデータセットである。本実施形態では、少なくとも散水装置４（図２参照）と、発煙筒１２（図６参照）と、水たまり１８（図７参照）とのそれぞれに用意されている。
【００８９】
一つの変色源設定データ５０８は、変色源を識別するための変色源ＩＤ５０９と、変色源オブジェクトデータ５１０と、変色要因オブジェクトデータ５１１と、変色領域生成パターンデータ５１２と、汚れ付与度合設定データ５１３と、変色領域設定データ５１４とを含む。
【００９０】
変色源オブジェクトデータ５１０は、例えば、散水装置４、発煙筒１２、水たまり１８など変色源に係る各種データを格納する。ゲーム空間内の初期配置位置座標、ポリゴンモデルデータや、テクスチャデータ、変形や移動パターンを定義するデータなどを含むことができる。変色源として特定のオブジェクトを配置することなく、ゲーム空間内の変色源とする場所や領域（例えば、小雨が降る領域の天空座標範囲）を変色源として指定するデータとしてもよい。
【００９１】
変色要因オブジェクトデータ５１１は、例えば、ミスト６、煙１４など変色要因を表示させるための各種データを格納する。データは、変色要因をどのように表示するかによって適宜設定されるが、例えば、ポリゴンモデルデータや、テクスチャデータ、変形や移動パターンを定義するデータなどを含むことができる。
【００９２】
変色領域生成パターンデータ５１２は、変色領域８をどのような条件を満たすときにどの種類の変色領域を、どのように生成するかを定義する情報である。
例えば、散水装置４の例のように、変色源に対して相対的に固定された種類の変色領域については、無条件に最初から最後まで変色領域８を設置するので、常時設置を意味する情報と、設置される相対位置を定義する情報などが含まれると良い。
また、発煙筒１２の例のように、変色領域８（８ａ，８ｂ，８ｃ，…）を時間経過とともに発生させる種類については、発生位置を示す相対位置座標や、発生位置を時間と共に変化させるための関数、発生のタイミングを決定する定数や関数などの情報が適当である。
ゲームの進行状況に応じて設置される種類の変色領域については、ゲーム進行状況を示す条件（例えば、プレーヤキャラクタ２との相対距離、ゲームポイントなどを用いた、いわゆる発動条件）を定義する情報を当該種類と対応づけると良い。
【００９３】
汚れ付与度合い設定データ５１３は、汚れの付与度合ｋ（図６参照）を示す定数や、算出のための関数、テーブルデータなどが格納される。付与度合ｋは、変色領域８の種類毎に設けるとしても良いし、全変色領域に共通のデータとしても良い。
【００９４】
変色領域設定データ５１４は、当該変色源を起因として生じる変色領域８の種類毎に用意され、領域の性質を定義する情報を格納する。例えば、図９に示すように、領域種類５１６と、領域設置相対座標５１８と、領域形状データ５２０と、変色傾向設定データ５２２と、色変化設定データ５２４と、領域移動パターン設定データ５２６と、消滅条件設定データ５２８と、を含む。
【００９５】
領域種類５１６は、変色領域８の種類を識別するための情報である。
領域設置相対座標５１８は、変色源の代表点（例えば、散水装置４の設置位置座標）を基準とした当該領域を配置する位置を定義する。同様の情報を変色領域生成パターンデータ５１２で定義する場合にはこちらは省略できる。
【００９６】
領域形状データ５２０は、変色領域８の外形的特徴を定義する情報として、初期形状データ５２０ａと、領域変形パターンデータ５２０ｂとを含む。
【００９７】
初期形状データ５２０ａは、当該変色領域の初期状態の外形と大きさ、姿勢などを定義する。例えば、外形を決める各頂点の座標、領域の中心点と半径、曲率などその形状毎に適当な形状定義情報を格納すると良い。
【００９８】
領域変形パターンデータ５２０ｂは、初期形状を所定の変形条件（例えば、時間経過やゲーム進行状況の変化などの条件）を満たした場合に、初期形状をどのように変形するかを定義する。例えば、単純な拡大率を定義しても良いし、縦や横など所定方向への偏向的な変形を定義しても良い。
【００９９】
変色傾向設定データ５２２は、変色の増加や減少の傾向を定義する。例えば、増加量ΔＷを定義する関数や定数を格納する増加量設定データ５２２ａや、基準方向ベクトル５２２ｂ、回復進度５２２ｃを含む。
【０１００】
基準方向ベクトル５２２ｂは、汚れ方向を定め、変色傾向に方向的特性を付与する場合に定義する。例えば、散水装置４ならば基準方向Ｆｗ（図２参照）であり、放水する向きに相当する。もし、発煙筒１２の変色領域８の設定としては、領域内での煙の流れる方向などを設定することができる。
【０１０１】
回復進度５２２ｃは、当該変形領域の外に被変色オブジェクトの頂点がある場合に、当該変形領域に対応する基礎汚れ度合５６９を一度に低減させる度合を定義する。例えば、画面の描画サイクル毎の低減値、低減率などを定義できる。
【０１０２】
色変化設定データ５２４は、変色源によってどのような色に変化させるかを定義する。当該データの内容は、変色をどのようにして実現するかによって変わる。例えば、オリジナルの色（キャラクタの標準色）に、ある色を加算する構成では基準汚れ色５２４ａを定義すると良い（図４参照）。また、変色領域８に入ると、ペンキのように不透明性の染料が付着するような設定にするならば、染料の色そのものとすればよい。また、シェーディングの陰影の濃淡によって変色させるならば、濃淡の補正量を定義すれば良い。
【０１０３】
領域移動パターン設定データ５２６に、変色領域の動きを与えるときに定義する。例えば、領域生成以降の移動方向や、移動経路、それらを算出するための基準点や時間関数などを定義することができる。
【０１０４】
消滅条件設定データ５２８は、変色領域が時間と共に消滅したり見えなくなる性質を与える場合に定義される。例えば、生成から消滅までの時限値、見えなくなる時間的割合（例えば、透明度の増加割合）などを設定できる。
尚、変色領域設定データ５１４には、その他の設定情報を適宜含めることができる。
【０１０５】
プレイデータ５４０は、ゲームの進行状況を示す各種データを格納する。その種類はゲーム内容によって異なる。例えば、格闘ゲームならばラウンド数や、１ラウンドの残時間、各キャラクタのライフポイント、仮想カメラの位置や姿勢などの撮影パラメータなどを格納することができる。アクションゲームならば、ステージ数、ライフポイント、残時間、アイテム数などを格納することができる。
そして、本実施形態のプレイデータ５４０は、プレーヤキャラクタ２の状態を示す各種パラメータ値や動作制御に必要なパラメータ値を格納するキャラクタステータスデータ５４２内に、複数の頂点データ５５０を格納する。
【０１０６】
頂点データ５５０は、プレーヤキャラクタ２の頂点毎に用意される。例えば図１０に示すように、当該頂点の現在の位置を示す頂点位置座標５５２と、移動や動作で当該頂点の位置が更新される前の位置を示す更新前頂点位置座標５５４とを含む。その他、公知の頂点データと同様に、移動速度ベクトルや、加速度ベクトル、頂点カラー、ボーンモデルとの関連付けデータなどの情報を適宜格納することができる。
【０１０７】
そして、本実施形態では、頂点データ５５０に変色制御データ５６０を含む。
変色制御データ５６０は、変色領域毎の被変色オブジェクトへの現在の影響状態を示す各種情報を格納する。例えば、変色領域８が生成される都度、或いはプレーヤキャラクタ２が進入する都度、自動的に固有に付与される変色領域ＩＤ５６２と対応づけて、当該変色領域を発生させている変色源を識別するための変色源ＩＤ５６４と、領域種類５６６と、ムラ情報５６８と、基礎汚れ度合５６９とを格納する。勿論、その他の情報も適宜対応づけて格納できる。
【０１０８】
図８に戻って、本実施形態のプレイデータ５４０は、変色源ステータスデータ５７０を含む。当該データは、現在ゲーム空間内に配置されている変色源毎に用意され、変色源及びその変色領域の状態を示す各種パラメータ値を格納する。
【０１０９】
例えば、図１１に示すように、一つの変色源ステータスデータ５７０は、変色源を識別するための変色源ＩＤ５７２と、ゲーム空間内における変色源の代表点の位置座標を示す変色源位置座標５７４と、変色源表示制御データ５７６とを含む。
【０１１０】
変色源表示制御データ５７６は、例えば、散水装置４や、発煙筒１２、水たまり１８などの変色源オブジェクトを表示させるための制御データを格納する。その他、変色源自体がゲーム空間内を移動したり運動する場合には、移動速度ベクトルや加速度ベクトル、移動経路、モーション制御データなどを適宜含むことができる。
【０１１１】
そして、本実施形態では、変色源ステータスデータ５７０は、当該変色源に関連する変色領域８の状態を示す各種パラメータを格納する変色領域ステータスデータ５８０と、変色要因オブジェクトの表示制御に関する各種パラメータを格納する変色要因ステータスデータ５９０と、を含む。
【０１１２】
変色領域ステータスデータ５８０は、例えば、変色領域８を識別するための変色領域ＩＤ５８１と対応づけて、領域位置座標５８２と、基準方向ベクトル５８３と、速度ベクトル５８４と、変形情報５８６と、付与度合５８７と、生成後経過時間５８８と、を格納する。勿論、その他の変色領域に関するパラメータ値も対応づけて格納することができる。
【０１１３】
領域位置座標５８２は、ゲーム空間内における対応する変色領域８の位置を特定するための情報であって、例えば対応する変色領域８のローカル座標原点のワールド座標値などでも良い。
【０１１４】
基準方向ベクトル５８３は、対応する変色領域に起因する変色に方向性が設定される場合に設定される。例えば、散水装置４の場合には放水方向を示す基準方向Ｆｗ（図２参照）が格納される。
【０１１５】
速度ベクトル５８４は、対応する変色領域が移動する性質を有する場合に設定される。例えば、発煙筒１２の例であれば、煙１４が流れる方向を示す速度ベクトルＶ（Ｖ１〜Ｖ５；図６参照）を格納する。
【０１１６】
変形情報５８６は、当該領域を初期形状からどれだけどのように変形したかを示すパラメータ値を格納する。例えば、単純に拡大縮小変形する場合には、初期形状からどれだけ拡大或いは縮小したかのパーセンテージを格納するとしても良い。
【０１１７】
付与度合５８７は、対応する変色領域に設定された「汚れの付与度合ｋ」の値を格納する。
生成後経過時間５８８は、対応する変色領域がゲーム空間に配置されてからの経過時間を示す値を格納する。変色領域が常時設置されていて、消滅しない設定の場合には、当該パラメータの設定を省略できる。
【０１１８】
変色要因ステータスデータ５９０は、当該変色源から発生された変色要因オブジェクトの表示制御に必要な情報を格納する。例えば、変色要因オブジェクトを識別するための変色要因ＩＤ５９１と対応づけて、どの変色領域内に表示するかを示す対応変色領域ＩＤ５９２と、当該オブジェクトの配置位置を示す要因位置座標５９３と、速度ベクトル５９４とを格納する。その他、表示色に関する情報や、移動制御に関する情報なども適宜対応づけて格納することができる。
【０１１９】
［処理の流れの説明］
図１２〜図１３は、本実施形態における処理の流れについて説明するためのフローチャートである。ここで説明する一連の処理の流れは、処理部２００がゲームプログラム５０２を読み出して実行することによって実現される。尚、ゲームの進行そのものに関する処理や、ゲーム音の生成に関する説明は省略するが、公知のビデオゲームと同様にして適宜行われるものとする。
【０１２０】
処理部２００は先ず、ゲーム空間設定データ５０６を参照して、３次元仮想空間内にゲーム空間を形成する。そして、形成したゲーム空間内に、キャラクタ設定データ５０４を参照してプレーヤキャラクタ２を初期配置し、仮想カメラ、変色源を初期配置する（ステップＳ２）。
散水装置４や発煙筒１２、水たまり１８などの変色源を設定する際、それぞれから生じる変色領域８もまたゲーム空間内に設定され、それら変色領域８内の変色要因オブジェクトもまた初期配置される。処理部２００は、プレイデータ５４０に変色源ステータスデータ５７０を生成し、初期配置した変色源、変色領域８並びに変色要因オブジェクトに関する情報を登録する。
【０１２１】
次に、処理部２００は、変色初期化処理を実行する（ステップＳ４）。
具体的には、被変色オブジェクト（プレーヤキャラクタ２）の全頂点に対して、変色源ステータスデータ５７０に頂点データ５５０を用意する（図１０参照）。そして、変色制御データ５６０に、変色源ステータスデータ５７０で登録されている変色領域８を登録し、登録した各変色領域に対応するムラ情報５６８と基礎汚れ度合５６９を設定する。ムラ情報５６８は、所定範囲内（例えば、０．０〜１．０）の数値をランダムに選択し設定する。基礎汚れ度合５６９は「０（変色無し）」に設定する。また、汚れ付与度合設定データ５１３を参照して、各変色領域８に汚れの付与度合ｋを設定する。
【０１２２】
ゲームを開始したならば（ステップＳ６）、処理部２００は、ゲーム終了条件を満たすまで（ステップＳ８のＮＯ）、例えば画像表示部３６０のリフレッシュレートよりも十分短いサイクル（例えば、１／６０秒）で繰り返しループＡの処理を実行する（ステップＳ１２〜Ｓ９６）。
【０１２３】
ループＡでは、処理部２００は先ず、変色源制御処理を実行し、ゲーム進行に伴う変色源及び変色領域の生成・移動・変形・消滅の管理、およびその結果応じた変色源オブジェクトと変色要因オブジェクトの表示に関する制御を実行する（ステップＳ１４）。
【０１２４】
具体的には、各変色源の変色源設定データ５０８を参照して、生成条件を満たす場合に変色源そのものや変色領域を新たに生成する。
変色源が新たに生成された場合には、処理部２００は変色源ステータスデータ５７０を追加生成する。そして、当該新たな変色源に付随する変色領域８を変色領域ステータスデータ５８０に登録し、変色領域８を視覚化する変色要因オブジェクトを変色要因ステータスデータ５９０に登録する。消滅する変色領域８については、生成とともに生成後経過時間５８８（図１１参照）の計時を始める。
既存の変色源において、新たに変色領域８が生成された場合には、当該変色源の変色源ステータスデータ５７０の変色領域ステータスデータ５８０にこの新たな変色領域を登録する。
【０１２５】
また、変色源制御処理において、処理部２００は、変色領域８毎に消滅条件設定データ５２８（図９参照）を参照して、当該変色領域が消滅条件を満たすかを判定し、満たすと判定した場合には、該当する変色領域８を変色領域ステータスデータ５８０から登録抹消する。また、変色源自体を滅する場合には、対応する変色源ステータスデータ５７０を削除する。
【０１２６】
また、各変色領域に対応する変色領域設定データ５１４を参照して、移動させたり変形し、その結果に応じて変色領域ステータスデータ５８０に格納されているパラメータ値を更新する。そして、変色領域の設定の結果に応じて、変色要因を視覚化すべくミスト６や、煙１４といった変色要因オブジェクトの配置を変更し、変色要因ステータスデータ５９０に格納されているパラメータ値を更新する。例えば、変色領域８に基準方向Ｆｗ（図２参照）が設定されている場合、変色要因が流れる方向、つまり汚れ方向と見なし、変色要因オブジェクトをこの汚れ方向に沿って移動させる処理を実行する。また、変色要因オブジェクトの移動制御に際しては、変色要因オブジェクトに作用するゲーム世界の外力（例えば、重力や風）の影響を適宜加えることができる。
また、汚れ付与度合設定データ５１３を参照して、各変色領域８に汚れの付与度合５８７を更新する。
【０１２７】
次に、処理部２００は新たに生成された変色領域に対応するムラ情報５６８及び基礎汚れ度合５６９の設定を行う（ステップＳ１６）。具体的には、ステップＳ１４で新たに生成された変色領域８がある場合には、プレーヤキャラクタ２の頂点データ５５０に、その新たな変色領域８を登録してムラ情報５６８や基礎汚れ度合５６９などのパラメータ値を新規に設定する。その場合の基礎汚れ度合５６９は「０」である。
【０１２８】
次に、処理部２００は、被変色オブジェクトの移動処理を実行する（ステップＳ１８）。すなわち、操作入力部１００からの操作入力信号に応じてプレーヤキャラクタ２を動作させる。各頂点のスキニング処理もここに含まれる。
【０１２９】
被変色オブジェクトが移動したので、次に変色領域８毎にループＢを実行して、汚れ度合を進行させる（ステップＳ２０〜Ｓ５８）。
ループＢでは、先ず、処理部２００は１描画フレーム前の位置に基づいて、処理対象としている変色領域に被変色オブジェクト（プレーヤキャラクタ２）が進入しているかを判定する（ステップＳ２２）。
【０１３０】
具体的には、キャラクタステータスデータ５４２に、当該キャラクタのヒット判定モデルの１描画フレーム前の位置座標情報を格納する構成の場合には、当該位置座標に基づいて処理対象としている変色領域との交差判定（いわゆるヒットチェック）をして、交差していれば「進入」と判定する。また、頂点データ５５０の更新前頂点位置座標５５４を参照して、被変色オブジェクトの何れかの頂点の更新前の位置が処理対象としている変色領域内に有るかで判定するとしても良い。
【０１３１】
そして、もし処理対象の変色領域に「進入」していると判定した場合には（ステップＳ２４のＹＥＳ）、処理部２００は処理対象としている変色領域に方向性が設定されているかを判定する（ステップＳ２６）。具体的には、変色領域設定データ５１４（図９参照）の変色傾向設定データ５２２に基準方向ベクトル５２２ｂが設定されていれば肯定判定し、設定されていなければ否定判定する。また、変色領域ステータスデータ５８０にて、処理対象としている変色領域に速度ベクトル５８４が「０」以外に設定されている場合には、肯定判定する。変色要因がこれらのベクトル上流方向から流れてくると見なすことができる。これらのベクトルを「汚れ方向」と呼ぶ。
【０１３２】
そして、もし肯定判定した場合には（ステップＳ２６のＹＥＳ）、処理部２００は、被変色オブジェクトの全頂点のうち、処理対象としている変色領域内にあって、且つ、汚れ方向（基準方向ベクトル５８３又は速度ベクトル５８４）の上流側を向いたポリゴンの頂点を、「変色増加頂点」として抽出する（ステップＳ２８）。
より具体的には、ポリゴン毎に面法線ベクトルを求め、面法線ベクトルが基準方向ベクトル５８３又は速度ベクトル５８４との対向角を算出する。そして、面法線ベクトルがそれらに対向していれば、つまりポリゴン面が変色要因が流れてくる上流側を向いていると見なし、当該ポリゴン面を規定する頂点を「変色増加頂点」とする。当然、面法線ベクトルが汚れ方向と略同方向を向いていれば、流れてくる変色要因が当らない又は当り難く、変色源の影響を受けない裏面に相当すると見なし「変色増加頂点」とはしない。尚、ポリゴンの面法線ベクトルではなく、頂点法線ベクトルによって判定するとしても良い。
【０１３３】
一方、ループＢの処理対象としている変色領域に方向性の設定がなければ（ステップＳ２６のＮＯ）、処理部２００は、被変色オブジェクトの頂点のうち、処理対象とている変色領域内にある被頂点の全てを「変色増加頂点」として抽出する（ステップＳ３０）。
【０１３４】
変色増加頂点を抽出したならば、処理部２００はそれら全てについてループＣの処理を実行する（ステップＳ４０〜Ｓ５０）。
【０１３５】
ループＣでは先ず、処理部２００は、ループＣの処理対象としている変色増加頂点が、所定の変色上限条件に達しているかを判定する（ステップＳ４２）。
変色上限条件とは、変色がこれ以上進行できない状況を示す。例えば、変色制御データ５６０にて基礎汚れ度合５６９が所定の上限値に達している、基礎汚れ度合５６９が「０」以外に設定されている変色領域が所定の上限数に達している、などを設定できる。設定内容は、変色をどのように表現するかによって適宜設定できる。
【０１３６】
そして、もし変色上限条件に達していなければ（ステップＳ４２のＮＯ）、処理部２００は、ループＢで処理対象としている変色領域に対応する変色傾向設定データ５２２（図９参照）を参照して、ループＣで処理対象としている変色増加頂点に応じて、増加量設定データ５２２ａに基づいて増加量ΔＷを算出し、当該変色増加点の基礎汚れ度合５６９に加算、増加させる（ステップＳ４４）。反対に、変色上限条件に達していると判定した場合には（ステップＳ４２のＹＥＳ）、基礎汚れ度合５６９の増加は行わない。
【０１３７】
次に、処理部２００は、ループＣで処理対象としている変色増加頂点が所定の変色低減条件を満たすか否かを判定する（ステップＳ４６）。
変色低減条件とは、変色が発生し難い条件を意味する。例えば、対象としている変色増加頂点が、変色し難い材質で有ることを示す情報を設定できる。例えば、ミスト６を弾く金属製やビニール製であることを示す情報（具体的には、プレーヤキャラクタ２が装着可能な着衣や、アイテムの識別情報など）がこれに該当する。また、顔の部分を変色させるとキャラクタの識別や表情の把握が難しくなるので好ましくないと考える場合には、顔部分を構成するオブジェクトの識別情報や、できるだけ変色させたくない領域を示す情報（例えば、そうした領域に含まれる頂点の識別情報）などを変色低減条件として設定することができる。
【０１３８】
また、変色要因がミスト６のように水のような液体である場合には、真下を向いた面には付着し難くなる。そうした様子を表現したいと考える場合には、対象としている変色増加頂点の頂点法線ベクトルと重力方向ベクトルとの相対角度差範囲を変色低減条件として設定することができる。
尚、そうした変色低減条件は、予めプログラム中に組み込むとしても良いし、所定の定数やテーブルデータとして別途記憶部５００に記憶しておき、適宜ゲーム進行状況に応じて読み出す構成としても良い。
【０１３９】
そして、変色低減条件を満たすと判定した場合には（ステップＳ４６のＹＥＳ）、処理部２００は、ステップＳ４４で増加・設定された基礎汚れ度合５６９を所定量だけ低減し（ステップＳ４８）、現在処理対象としている変色増加頂点に対するループＣの処理を終了する（ステップＳ５０）。もし、変色低減条件を満たしていなければ（ステップＳ４６のＮＯ）、基礎汚れ度合５６９の低減は行わずに、処理対象としている変色増加頂点に対するループＣの処理を終了する（ステップＳ５０）。
【０１４０】
抽出された全ての変色増加頂点に対してループＣを実行完了したならば、処理部２００は次に、被変色オブジェクト（プレーヤキャラクタ２）の頂点のうち、変色増加頂点以外の頂点を「変色回復頂点」として抽出する（ステップＳ５２）。
一方、ループＢの処理対象としている変色領域に被変色オブジェクトが進入していないと判定した場合には（ステップＳ２４のＮＯ）、被変色オブジェクトの全頂点を「変色回復頂点」として抽出する（ステップＳ５４）。
【０１４１】
そして、変色回復頂点を抽出したならば、ループＢにて処理対象としている変色領域の変色領域設定データ５１４を参照し（図９参照）、その回復進度５２２ｃの設定に従って抽出された全ての変色回復頂点の基礎汚れ度合５６９を低減し（ステップＳ５６）、現在処理対象としている変色領域へのループＢを終了する（ステップＳ５８）。
【０１４２】
全ての変色領域８に対してループＢを実行し終えたならば、処理部２００は次に変色表現を含むレンダリング処理を実行する（ステップＳ６０）。
【０１４３】
図１４は、本実施形態におけるレンダリング処理の流れを説明するためのフローチャートである。同処理では、処理部２００は先ず、頂点パイプライン処理を実行する（ステップＳ６２）。頂点シェーダ、クリッピング、陰影処理などがここで行われる。
【０１４４】
次いで、ポリゴン生成処理とラスタライズ処理を実行してピクセルを定め（ステップＳ６４）、全ピクセルについてループＤの処理を実行する（ステップＳ６６〜Ｓ９０）。
【０１４５】
ループＤにおいて、処理部２００は先ずピクセル単位の陰影処理を実行して、様々な光源に応じた処理対象としているピクセル位置での陰影状況を決定する（ステップＳ６８）。そして、本実施形態では、処理対象としているピクセルにおける変色領域毎の汚れ色を決定する（ステップＳ７０）。
【０１４６】
具体的には、図４で説明した手法で変色領域別に、各変色領域に起因する汚れ色を決定する。すなわち、当該ピクセルに近接する頂点の頂点データ５５０の変色制御データ５６０（図１０参照）を参照し、対象とする変色領域に対応するムラ情報５６８と基礎汚れ度合５６９とを読み出す。
そして、読み出したそれらの値に、各近接する頂点までの距離に応じた重み付けをして合算し、当該ピクセル位置におけるムラ情報と基礎汚れ度合とを決定する。例えば、対象とするピクセルが頂点Ｐ１と頂点Ｐ５の間にあって、頂点Ｐ１までの距離と頂点Ｐ５までの距離の比が２：３であれば、頂点Ｐ１のムラ情報５６８及び基礎汚れ度合５６９に重み付け係数「０．６（＝３／５）」を乗じ、頂点Ｐ５のムラ情報５６８及び基礎汚れ度合５６９に重み付け係数「０．４（＝２／５）」を乗じて、双方を合算する。
【０１４７】
そして、所定の関数に基づいて、当該ピクセル位置におけるムラ情報から「汚れ度合補正値」を求め、当該ピクセル位置における基礎汚れ度合に加算して「適用汚れ度合」を求める（図４参照）。更に、適用汚れ度合を変数とする所定の関数に従って「透明度」を算出し、対象とする変色領域の色変化設定データ５２４の基準汚れ色５２４ａ（図９参照）に算出した透明度を乗算して濃度を調整し、当該変色領域に係る「汚れ色」とする。
【０１４８】
このようにして、変色領域毎の「汚れ色」を決定したならば、処理部２００は、対象とするピクセルの標準色に、それら変色領域毎の「汚れ色」を加え、更にステップＳ６８で求めたピクセル単位の陰影処理の結果とを合わせて当該ピクセルの表示色を決定する（ステップＳ７２）。そして、現在処理対象としているピクセルへのループＤを終了する（ステップＳ９０）。
【０１４９】
全てのピクセルについてループＤの処理を実行したならば、レンダーバックエンド処理を実行して（ステップＳ９２）、レンダリング処理を終了する。これにより、仮想カメラを視点としたゲーム空間画像が生成されたことになる。
【０１５０】
図１３のフローチャートに戻って、次に処理部２００は、ゲーム画面の生成と表示に関する処理を実行する（ステップＳ９４）。これによって、ステップＳ６０により生成されたゲーム空間画像に各種情報表示が合成されゲーム画面を生成される。そして、画像表示部３６０にゲーム画面の画像信号が出力され表示される。
【０１５１】
今回のループＡの処理を終了して（ステップＳ９６）、ステップＳ８に戻ると、処理部２００はゲーム終了条件を満たすか否かを判定する（図１２参照）。
ゲーム終了条件を満たしていなければ（ステップＳ８のＮＯ）、再びループＡを実行する。もし、満たしていれば（ステップＳ８のＹＥＳ）、所定のエンディング処理を実行して（ステップＳ９８）、一連の処理を終了する。
【０１５２】
以上、本実施形態によれば、汚れた状態を表す専用のテクスチャを別途用意せずとも汚れの表現が可能となる。よって、いわゆるテクスチャバッファなどによりＶＲＡＭの消費を抑制することができる。近年のビデオゲームでは、ゲーム画面の高精細化に伴いテクスチャデータの容量が大きくなる傾向にあるので、ＶＲＡＭの消費を抑制することの意義は大きい。
【０１５３】
また、専用のテクスチャを用いる場合よりも、ｕｖマッピングなどの中間処理が不要となるので、処理負荷の軽減を図ることができる。
【０１５４】
また、専用のテクスチャを用いないことにより、被変色オブジェクトが様々なアイテムを装着可能なゲーム仕様であったとしても、ゲーム製作に要する工数を低減できる。特に、変色源が複数種類あり基準汚れ色がそれぞれ異なる場合には、変色源の種類ごとに専用のテクスチャを要するので大変な手間となるが、本実施形態によればそうした手間を省くことができる。
【０１５５】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用可能な実施形態が上述の実施形態に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【０１５６】
［その１］
例えば、上記実施形態では画像生成装置として携帯型ゲーム装置１４００を例示したが、据え置き型の家庭用ゲーム装置や業務用ゲーム装置として実現しても良い。更には“ゲーム装置”とされる電子機器（コンピュータ）に限らず、アプリケーションソフトが実行可能な携帯電話機や情報端末装置、コンパクトデジタルカメラ、音楽プレーヤ、パソコン、カーナビと言った電子機器も、プログラムを実行可能なコンピュータを内蔵している、或いはコンピュータそのものと言えるため、本発明を実現する画像生成装置の一形態とすることができる。また、サーバシステムを画像生成装置とし、生成された画像データや当該画像データを含むプログラムを端末装置（電子機器）に提供する構成としてもよい。
【０１５７】
例えば、図１５は、本発明が適用された画像生成装置を業務用ゲーム装置１３００として実現する場合の構成例を示す図である。
業務用ゲーム装置１３００は、ゲーム装置本体１３０１の前方に突設された操作台１３０４に、プレーヤが各種操作入力をするためのジョイスティック１３０６や複数のプッシュスイッチ１３０８といった入力デバイスを備える。また、ゲーム装置本体１３０１の上部には、ゲーム画像を表示させるための液晶パネルディスプレイやＣＲＴといったビデオモニタ１３２２と、ゲーム音や効果音を放音するスピーカ１３２４とを備える。そして、ゲーム装置本体１３０１の下部及び内部には、コインカウンタ１３４０と、制御ユニット１３１０と、図示されない電源装置とを備える。更には、携行型の情報記憶媒体で、事前にプレーヤ登録をしたり過去のプレイ履歴データを記憶できるゲームカード１３３２からのデータ読み出しや書き込みをするゲームカードリーダライター１３３０を備えるとしても良い。
【０１５８】
制御ユニット１３１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＩＣメモリなどの電気電子機器を備えたいわゆるコンピュータ基板を構成する。また、制御ユニット１３１０は通信装置１３１２を備え、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と有線又は無線接続し、外部装置（特に同型の他の業務用ゲーム装置やマッチングサーバ）との間でデータ通信を実現する。そして、制御ユニット１３１０は、搭載されているＩＣメモリやハードディスクなどの情報記憶媒体からシステムプログラムやゲームプログラムを読み出して演算処理し、業務用ゲーム装置１３００の各部を制御する。
【０１５９】
そして、コインカウンタ１３４０で所定額のコインの投入を検出したならば、制御ユニット１３１０がゲームプログラムを読み出して実行し、業務用ゲーム装置１３００は本発明を実現する画像生成装置として機能する。
【０１６０】
業務用ゲーム装置１３００は、他ゲーム装置から受信した操作入力コードと自ゲーム装置への操作入力に基づく操作入力コードとに基づいて、仮想３次元空間内に形成されたゲーム空間に配置されたプレーヤキャラクタの動作等を制御する。そして、その様子を仮想カメラで撮影した画像をレンダリングする際に、汚れた状態を表す専用のテクスチャを用いずに汚れを表現することができる。そして、ゲーム空間画像に各種情報表示を合成してゲーム画面として生成する。また、適当なタイミングでＢＧＭや効果音などのゲーム音を生成する。生成されたゲーム画面はビデオモニタ１３２２で表示され、生成されたゲーム音はスピーカ１３２４で放音される。プレーヤは、ビデオモニタ１３２２に映し出されるゲーム画面を見つつ、スピーカ１３２４から放音されるゲーム音を聞きつつゲームをプレイすることができる。
【０１６１】
［その２］
また、上記実施形態では、汚れの斑（ムラ）を表現するために、ムラ情報５６８を設定し、ムラ情報５６８の値に基づいて汚れ度合に幅を持たせる構成としているが、これに限らない。例えば、ムラ情報５６８に代えて「透明度」を設定するとしても良い。この場合、基礎汚れ度合５６９にその透明度を乗算して、汚れ色の濃度を調整することができる。
【０１６２】
［その３］
また、基礎汚れ度合５６９の増加量ΔＷの算出方法も、上記実施形態の例に限らない。例えば、変色領域８に方向性が設定されている場合、すなわち基準方向Ｆｗや速度ベクトルＶが設定されていて「汚れ方向」と見なせる場合には、頂点法線ベクトル又はポリゴンの面法線ベクトルと、汚れ方向との相対角（対向角でも同じ）に応じて増減量ΔＷを決定するとしても良い。具体的には、相対角が１８０°に近い程、すなわち頂点法線ベクトル又はポリゴンの面法線ベクトルと汚れ方向とが対向する度合が高い程増加量ΔＷが大きくなり、相対角が０°に近い程、すなわち頂点法線ベクトル又はポリゴンの面法線ベクトルと、対向度合が低いほど増加量ΔＷが小さくなるような関数で、決定するとしても良い。
【０１６３】
［その４］
また、上記実施形態では、変色表現を、汚れ色の加算で実現する構成としたが、陰影の補正により実現する構成とすることができる。例えば、図１６に示すように、ピクセル位置におけるムラ情報５６８及び基礎汚れ度合５６９を、上記実施形態と同様にして求め、前者を変数とする第１の関数により第１陰影補正量を算出し（同図左のグラフ参照）、後者を変数とする第２の関数により第２陰影補正量を算出し（同図右のグラフ参照）、陰影の度合で変色を表現することができる。
【０１６４】
処理上は、上記第１実施形態におけるレンダリング処理に代えて、図１７に示すレンダリング処理を実行するものとする。具体的には、第１実施形態のステップＳ７０〜Ｓ７２に代えて、ループＤの処理対象としているピクセル位置におけるムラ情報と基礎汚れ度合に基づいて第１陰影補正量と、第２陰影補正量とを算出し（ステップＳ７４）、ステップＳ６８で求めた陰影処理の結果を、それら第１陰影補正量と第２陰影補正量とで補正する（ステップＳ７６）。そして、汚れのない状態を表す標準色と、補正された陰影処理の結果とに基づいてピクセルの表示色を決定する（ステップＳ７８）。
【符号の説明】
【０１６５】
２  プレーヤキャラクタ
４  散水装置
６  ミスト
８  変色領域
１２  発煙筒
１４  煙
１８  水たまり
２００  処理部
２１０  ゲーム演算部
２１２  変色表現制御部
２１４  変色源設定部
２１６  変色領域設定部
２１８  汚れ方向設定部
２２０  変色領域制御部
２２２  汚れ付与度合設定部
２２４  変色要因制御部
２２６  領域内部分検出部
２２８  変色制御部
２３０  汚れムラ設定部
２３２  汚れ度合設定部
２６０  画像生成部
２６２  変色描画部
５００  記憶部
５０２  ゲームプログラム
５０４  キャラクタ設定データ
５０６  ゲーム空間設定データ
５０８  変色源設定データ
５１４  変色領域設定データ
５４０  プレイデータ
５５０  頂点データ
５６８  ムラ情報
５６９  基礎汚れ度合
５７０  変色源ステータスデータ
５８０  変色領域ステータスデータ
５９０  変色要因ステータスデータ
１４００  携帯型ゲーム装置
１４０１  装置本体
１４０４  ボタンスイッチ
１４０６  第１液晶ディスプレイ
１４０８  第２液晶ディスプレイ
１４４０  メモリカード
１４５０  制御ユニット
【図１】
2012155570.tif 000003
【図２】
2012155570.tif 000004
【図３】
2012155570.tif 000005
【図４】
2012155570.tif 000006
【図５】
2012155570.tif 000007
【図６】
2012155570.tif 000008
【図７】
2012155570.tif 000009
【図８】
2012155570.tif 000010
【図９】
2012155570.tif 000011
【図１０】
2012155570.tif 000012
【図１１】
2012155570.tif 000013
【図１２】
2012155570.tif 000014
【図１３】
2012155570.tif 000015
【図１４】
2012155570.tif 000016
【図１５】
2012155570.tif 000017
【図１６】
2012155570.tif 000018
【図１７】
2012155570.tif 000019