説明

プログラム、情報記憶媒体及び画像生成装置

【課題】より簡単に変色表現を実現すること。
【解決手段】被変色オブジェクトであるプレーヤキャラクタ2の頂点データに「ムラ情報」と「基礎変色度合」とを設定可能にする。そして、プレーヤキャラクタ2の頂点のうち、ゲーム空間内に設定された変色領域8内の頂点の「基礎変色度合」を時間経過に応じて増加させる。変色領域8外の頂点の「基礎変色度合」は「0(変色なし)」のままとする。そして、ピクセルの表示色は、当該ピクセルの標準色(変色無しの色設定)に、近傍の頂点から求められる当該ピクセル位置における「ムラ情報」と「基礎変色度合」に基づいて濃淡が調整された汚れ色を加えて設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに3次元仮想空間の画像を生成させるためのプログラム等に関する。
【背景技術】
【0002】
近年のビデオゲームは、よりリアルにそしてより高精細な3DCG(3次元コンピュータグラフィックス)を求める傾向にある。そのため、ゲーム内に登場するキャラクタなどが、埃を被って汚れたり、雨に当って着衣の色が変わるといった変色表現の重要度を増している。
【0003】
汚れなどの変色を表現する方法としては、例えば、汚れ具合の異なるテクスチャを数パターン用意して、汚れの進行に応じてキャラクタ等に適用するテクスチャを順次差し替える手法が用いられてきた(テクスチャの差し替えについては、例えば、特許文献1を参照)。
【0004】
更には、汚れパターンの異なるテクスチャにそれぞれ透明度を独立制御可能に付与し、透明度を変えてそれら異なるテクスチャを合成することで、汚れ具合の表現に多様性を持たせる手法も知られるところである(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−295934号公報
【特許文献2】特開2009−142685号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
前述のように、近年のビデオゲームでは画像の高精細化が求められており、それにともなってテクスチャデータもより大容量となる傾向にある。
一方で、ゲーム装置側の記憶領域の容量は、自由に増加させることはできない。従って、テクスチャデータの容量が増えると、テクスチャバッファ等でVRAMを消費する割合が増え、時に画像品質の向上の足かせとなっていた。また、それにともなう圧縮されたテクスチャデータの解凍・展開などの中間処理の負荷も削減したいところである。
【0007】
本発明はこうした事情を鑑みてなされたものであり、その目的とするところは、より簡単に変色表現を実現することであり、望ましくは、VRAMの消費を抑制できる新しい変色表現方法を実現することである。
【課題を解決するための手段】
【0008】
以上の課題を解決するための第1の形態は、コンピュータに、3次元仮想空間の画像を生成させるためのプログラムであって、
前記3次元仮想空間に変色源を設定する変色源設定手段(例えば、図8の処理部200、ゲーム演算部210、変色表現制御部212、変色源設定部214、変色源設定データ508、図12のステップS2)、
前記変色源に基づいて変色領域(例えば、図2の変色領域8)を設定する変色領域設定手段(例えば、図8の処理部200、ゲーム演算部210、変色表現制御部212,変色領域設定部216、変色領域設定データ514、図12のステップS2)、
前記変色領域内での変色要因オブジェクト(例えば、図2のミスト6)の発生及び移動を制御する変色要因オブジェクト制御手段(例えば、図8の処理部200、ゲーム演算部210、変色表現制御部212、変色要因制御部224、変色要因オブジェクトデータ511、図12のステップS2)、
前記3次元仮想空間を移動可能なモデル(例えば、図2のプレーヤキャラクタ2)を制御するモデル制御手段(例えば、図8の処理部200、ゲーム演算部210、キャラクタ設定データ504、図12のステップS2、S18)、
前記モデルの前記変色領域内に位置する領域内部分(例えば、図3の頂点P1,P4,P5)を検出する領域内部分検出手段(例えば、図8の処理部200、ゲーム演算部210、変色表現制御部212、領域内部分検出部226、図12のステップS28、S30)、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段(例えば、図8の処理部200、ゲーム演算部210、変色表現制御部212、変色制御部228、画像生成部260、変色描画部262、図10の頂点データ550、ムラ情報568、基礎汚れ度合569、図14のステップS68〜S72)、
として前記コンピュータを機能させるためのプログラムである。
【0009】
また、別形態として、3次元仮想空間の画像を生成する画像生成装置(例えば、図1の携帯型ゲーム装置1400)であって、
前記3次元仮想空間に変色源を設定する変色源設定手段(例えば、図1の制御ユニット1450、図8の処理部200、変色源設定部214、図12のステップS2)と、
前記変色源に基づいて変色領域を設定する変色領域設定手段(例えば、図1の制御ユニット1450、図8の処理部200、変色領域設定部216、図12のステップS2)と、
前記変色領域内での変色要因オブジェクトの発生及び移動を制御する変色要因オブジェクト制御手段(例えば、図1の制御ユニット1450、図8の処理部200、変色要因制御部224、図12のステップS2)と、
前記3次元仮想空間を移動可能なモデルを制御するモデル制御手段(例えば、図1の制御ユニット1450、図8の処理部200、ゲーム演算部210、図12のステップS2、S18)と、
前記モデルの前記変色領域内に位置する領域内部分を検出する領域内部分検出手段(例えば、図1の制御ユニット1450、図8の処理部200、領域内部分検出部226、図12のステップS28、S30)と、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段(例えば、図1の制御ユニット1450、図8の処理部200、変色制御部228、変色描画部262、図14のステップS68〜S72)と、を備えた画像生成装置を構成することができる。
【0010】
ここで、コンピュータとは、
第1の形態によれば、変色の要因をもたらす変色源を設定し、その変色源に基づいて変色の影響を受けるとされる変色領域を設定し、更に変色の要因を視覚化するべく変色要因オブジェクトを変色領域内に配置することができる。そして、変色領域内に入ったモデルの部分を検出し、その色を変色させることができる。変色表現に係る処理において、変色要因オブジェクトとモデルとのヒットチェックを計算することはなく、簡単に汚れなどの変色表現を実現できる。尚、変色表現には、埃や泥の付着のように文字通り汚染された状況の表現は勿論、例えば水が付着したことにより色味が変わって見える状況の表現、つまり汚染は伴わないが変色する表現も含まれる。
【0011】
第2の形態は、前記モデルの部位毎の汚れ度合を、前記領域内部分検出手段の検出結果を用いて設定する汚れ度合設定手段(例えば、図8の処理部200、ゲーム演算部210、変色制御部228、汚れ度合設定部232、図10の基礎汚れ度合569、図13のステップS44)として前記コンピュータを更に機能させ、
前記変色手段が、前記汚れ度合に基づいて前記領域内部分の色を変色させるように前記コンピュータを機能させる、ための第1の形態のプログラムである。
【0012】
第2の形態によれば、第1の形態と同様の効果が得られるとともに、領域内部分検出手段により検出された部分に汚れ度合を設定し、汚れ度合に基づいて前記領域内部分の色を変色させることができる。つまり、変色の程度を汚れ度合で簡単に制御することが可能となる。
【0013】
第3の形態は、前記汚れ度合設定手段が、前記領域内部分として検出された時間が継続するほど当該領域内部分の部位の前記汚れ度合を増加させるように前記コンピュータを機能させるための第2の形態のプログラムである。
【0014】
第3の形態によれば、第2の形態と同様の効果が得られるとともに、時間経過とともに汚れが進行するような表現が可能となる。
【0015】
第4の形態は、前記変色要因オブジェクト制御手段が、前記変色源又は前記変色源近傍所定位置から前記変色要因オブジェクトを発生させ、
前記汚れ度合設定手段が、前記変色源に近いほど前記汚れ度合の増加の割合を高める、ように前記コンピュータを機能させるための第3の形態のプログラムである。
【0016】
第4の形態によれば、第3の形態と同様の効果が得られるとともに、変色源に近い程汚れ具合が酷くなるように表現できる。
【0017】
第5の形態は、前記汚れ度合設定手段が、前記領域内部分検出手段により検出されない時間が継続するほど前記汚れ度合を減少させる、ように前記コンピュータを機能させるための第2〜第4の何れかの形態のプログラムである。
【0018】
第5の形態によれば、第2〜第4の形態の何れかと同様の効果が得られるとともに、変色領域外の部分の変色が時間経過とともに減少するような表現が可能となる。例えば、水が付着して変色したが、時間経過とともに乾燥して元の色に戻るといった表現が可能となる。
【0019】
第6の形態は、前記変色領域に汚れ方向を設定する汚れ方向設定手段(例えば、図2の基準方向Fw、図8の処理部200、ゲーム演算部210、汚れ方向設定部218、図9の基準方向ベクトル522b、図11の基準方向ベクトル583)として前記コンピュータを更に機能させ、
前記変色要因オブジェクト制御手段が、前記変色要因オブジェクトを前記汚れ方向に沿って移動させ、
前記汚れ度合設定手段が、前記領域内部分の前記汚れ方向への対向角を更に用いて、前記汚れ度合を設定する、ように前記コンピュータを機能させるための第2〜第5の何れかの形態のプログラムである。
【0020】
第6の形態によれば、第2〜第5の形態の何れかと同様の効果が得られるとともに、変色要因の向かって来る方向に向いているか否かに応じて、汚れの度合を増減させることが出来る。
【0021】
第7の形態は、前記汚れ度合設定手段が、前記モデルの部位毎に定められた汚れムラ情報(例えば、図2や図10のムラ情報568)を更に用いて、前記汚れ度合を設定するように前記コンピュータを機能させるための第2〜第6の何れかの形態のプログラムである。
【0022】
第7の形態によれば、第1〜第6の形態の何れかと同様の効果が得られるとともに、変色に斑(ムラ)を生じさせることができる。
【0023】
第8の形態は、前記変色領域設定手段が、前記変色領域の移動、変形および消滅のうちの何れかを制御する変色領域制御手段(例えば、図8の処理部200、ゲーム演算部210、変色領域設定部216、変色領域制御部220、図11の速度ベクトル584、変形情報586、図12のステップS14)を有する、ように前記コンピュータを機能させるための第1〜第7の何れかの形態のプログラムである。
【0024】
第8の形態によれば、第1〜第7の形態の何れかと同様の効果が得られるとともに、変色領域の移動、変形および消滅のうちの何れかを実現できる。例えば、風に流れながら変形し、やがて霧散してしまう煙の塊によって変色するといった状況を実現可能となる。
【0025】
第9の形態は、前記変色領域に汚れ付与度合を設定する汚れ付与度合設定手段(例えば、図8の処理部200、ゲーム演算部210、変色領域設定部216、汚れ付与度合設定部222、図11の付与度合587、図12のステップS14)として前記コンピュータを更に機能させ、
前記変色手段が、前記変色領域に設定された前記汚れ付与度合を用いて、前記領域内部分の色を変色させるように前記コンピュータを機能させるための第8の形態のプログラムである。
【0026】
第9の形態によれば、第8の形態と同様の効果を奏するとともに、変色領域別に変色の影響度合を設定することができる。よって、複数の変色領域が設定されるケースにおいて、より多様な変色表現が可能となる。
【0027】
第10の形態は、前記変色領域制御手段が、所与の時間経過後に前記変色領域を消滅させ、前記変色要因オブジェクト制御手段が、前記変色領域の消滅に合わせて前記変色要因オブジェクトを消滅させ、前記汚れ付与度合設定手段が、時間経過に伴って前記汚れ付与度合を徐々に低減させる、ように前記コンピュータを機能させるための第9の形態のプログラムである。
【0028】
第10の形態によれば、第9の形態と同様の効果が得られるとともに、変色領域が時間経過で消滅する様子を視覚化するとともに、消滅して行く過程において変色させる力が衰えてゆく感じを変色表現の一部として実現することができる。
【0029】
第11の形態は、第1〜第10の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第11の形態によれば、第1〜第10の何れかの形態のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第10の形態の何れかと同様の効果を発揮させることができる。
【図面の簡単な説明】
【0030】
【図1】携帯型ゲーム装置のシステム構成例を説明するための外観図。
【図2】変色表現の原理を説明するための概念図。
【図3】変色表現の原理を説明するための概念図。
【図4】変色表現の原理を説明するための概念図。
【図5】変色表現の原理を説明するための概念図。
【図6】変色源のその他の例を示す図。
【図7】変色源のその他の例を示す図。
【図8】機能構成の一例を示す機能ブロック図。
【図9】変色領域設定データのデータ構成の一例を示す図。
【図10】頂点データのデータ構成の一例を示す図。
【図11】変色源ステータスデータのデータ構成の一例を示す図。
【図12】変色表現に関する処理の流れを説明するためのフローチャート。
【図13】図12より続くフローチャート。
【図14】レンダリング処理の流れを説明するためのフローチャート。
【図15】画像生成装置の変形例を示すシステム構成図。
【図16】変色表現を陰影で表現する場合の原理を説明するための図。
【図17】レンダリング処理の変形例の流れを説明するためのフローチャート。
【発明を実施するための形態】
【0031】
〔第1実施形態〕
本発明を適用した実施形態として、画像生成装置として、リアルタイムに3DCG(3次元コンピュータグラフィックス;3次元仮想空間の画像)を生成してビデオゲームを実行する携帯型ゲーム装置を例に挙げて説明する。そして、ゲーム内でプレーヤキャラクタの表面色が、散水装置(変色源)が振りまくミスト(変色要因)を受けて変色する様子を描画する例等について説明する。
【0032】
また、本実施形態では、画像生成装置の一例をゲーム装置とし、このゲーム装置において専用のゲームプログラムを実行することによりビデオゲームを実現する構成を例に挙げて説明するが、専用のゲームプログラムに代えて、ウェブブラウザプログラム、及びスクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインを実行し、いわゆるブラウザゲームとしてビデオゲームを実現する構成でも同様に適用できる。すなわち、この場合には、端末装置に対してブラウザゲームを実行するためのプログラムや画像データを提供するサーバシステムが本発明の画像生成装置となる。
【0033】
[画像生成装置のシステム構成]
図1は、携帯型ゲーム装置のシステム構成例を説明するための外観図である。本実施形態における携帯型ゲーム装置1400は、方向入力キー1402及びボタンスイッチ1404と、第1液晶ディスプレイ1406と、第2液晶ディスプレイ1408と、スピーカ1410と、制御ユニット1450とを、ヒンジ1414で開閉自在な折り畳み型の装置本体1401に備えている。
そして、第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408の表示面上には、スタイラスペン1416などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル1407、1409がそれぞれ装着されている。
【0034】
また、装置本体1401には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード1440からデータを読み書きできるメモリカード読取装置1418が備えられている。メモリカード1440には、携帯型ゲーム装置1400の制御ユニット1450がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体1401には、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【0035】
タッチパネル1407、1409は、表示画面を遮蔽することなくそれぞれ第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408の表示画面のほぼ全域を被い、プレーヤがスタイラスペン1416(或いは指など)で触れる接触操作を行うと、左上を原点とする直交座標系における接触位置座標を制御ユニット1450へ出力する。
【0036】
制御ユニット1450は、ゲーム装置の制御基板に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM,ROM等の各種ICメモリを搭載する。
【0037】
また、制御ユニット1450は、無線通信モジュール1412や、第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408のドライバ回路、タッチパネル1407及びタッチパネル1409のドライバ回路、方向入力キー1402及びボタンスイッチ1404からの信号を受信する回路、スピーカ1410へ音声信号を出力するためのアンプ回路、メモリカード読取装置1418への信号入出力回路といった所謂I/F回路(インターフェース回路)を搭載する。これら制御ユニット1450に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0038】
そして制御ユニット1450は、メモリカード1440に格納されているプログラムやデータをメモリカード読取装置1418によって読み出して、搭載するICメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー1402やボタンスイッチ1404、タッチパネル1407及び1409などからの操作入力に応じて携帯型ゲーム装置1400の各部を制御して、3DCGを生成し、ゲームを実行する。
【0039】
尚、本実施形態では、携帯型ゲーム装置1400は必要なプログラムや各種設定データをメモリカード1440から読み出す構成としているが、制御ユニット1450に搭載されている主要なプログラムやデータをICメモリに予め記憶している構成とすることができる。或いは、無線通信モジュール1412を介して、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)などの有線/無線の通信回線1に接続して外部装置からダウンロードして取得する構成としても良い。
【0040】
[変色表現の原理の説明]
図2〜図5は、本実施形態における変色表現の原理について説明するための概念図である。本実施形態のビデオゲームは、3次元仮想空間内に背景となる各種オブジェクトを配置してゲーム空間を形成し、そこにプレーヤが操作するプレーヤキャラクタ2のオブジェクトを配置する。そして、仮想カメラ(仮想視点)によってゲーム空間の様子を撮影した画像をゲーム空間画像としてレンダリングし、ゲーム空間画像に各種情報表示物(例えば、ステージ数であったり、得点であったり、残り時間など)を合成しゲーム画面を生成する。つまり、本実施形態のビデオゲームの画面は、リアルタイムに生成される3DCGをベースに表示される。
【0041】
本実施形態におけるビデオゲームには、被変色オブジェクトとしてプレーヤキャラクタ2が登場する。そして、ゲーム空間内には「変色源」の一つとして散水装置4が配置され、「変色要因」であるミスト6を噴霧する。本実施形態では、プレーヤキャラクタ2がミスト6を浴びて変色し、変色が回復(付着したミスト6が渇いたのに相当)する様子を表現することができる。以降では、便宜上、「汚れ色」が付いて変色するとして説明するが、本明細書で言う所の変色表現が文字通りの汚染によって生じる場合に限定されるものではなく、水などの付着により一時的にその場所の色が変わる変色も含まれる。
【0042】
さて、散水装置4は、ポリゴンモデルで形成されている。散水装置4に設定されている基準方向Fw側(この場合、水を飛ばす方向に相当)には、画面表示されない変色領域8が設定される。図の例では、理解し易いように変色領域8を立方体領域として図示しているが、領域の形状はこれに限らず、ディレクションの観点から変色源がゲーム世界においてどのような設定とどのような役割を担うかに応じて適宜設定することができる。
【0043】
ミスト6は、変色領域8内に分布する噴霧された水滴を表す変色要因オブジェクトである。変色要因オブジェクトの形状や大きさ、数、動きなどは、変色要因の設定に応じて適宜設定できる。プリミティブや、パーティクルなどを用いることもできる。
【0044】
プレーヤキャラクタ2は、その表面が複数のポリゴンにより形成されるポリゴンモデルである。図中の楕円形で示した拡大表示部内に示される三角形がそれぞれ一つの三角形ポリゴンを表す。そして、各ポリゴンは頂点P1,P2,P3,…(拡大表示部内の黒丸)でもって定義される。
【0045】
本実施形態では、プレーヤキャラクタ2に係る頂点のうち、変色表示の対象となる頂点毎に対応づけて頂点データ550が用意される。変色表示の“対象外”となるものは、例えば水を弾く素材でできている設定の領域の頂点(仮に、プレーヤキャラクタ2がそうしたアイテムを装備している場合には当該アイテムの頂点)である。尚、頂点データ550が用意される頂点を、以降では単に「プレーヤキャラクタの頂点」と呼称する。
【0046】
頂点データ550は、対応する頂点の3次元仮想空間内における位置を示す頂点位置座標552や、頂点の色情報、頂点の移動速度、α値、uvマッピング用のuv値、ボーンモデルの何れのジョイントと関連するかを示す情報などを格納することができる。そして、本実施形態では、変色表現制御に関するパラメータとして変色制御データ560を格納する。より具体的には、変色の斑(ムラ)を表現するためのパラメータであるムラ情報568と、ベースとなる汚れの程度を示すパラメータである基礎汚れ度合569とを格納する。
【0047】
ムラ情報568は、本実施形態ではゲーム開始前に、頂点毎に、所定数値範囲内(例えば、0.0〜1.0)の値がランダムに選択、設定される。尚、本実施形態ではムラ情報568は、一度設定されるとゲーム中は固定とするが、例えば、ゲーム中であっても全ての頂点について基礎汚れ度合569が「0(変色無し)」になる都度、再設定し直す処理を実行するとしても良い。また、本実施形態におけるムラ情報568は、ゲーム空間に設定される変色領域8それぞれについて別の値が設定されるが、全ての変色領域8に対して共通の値が設定される構成であっても良い。
【0048】
基礎汚れ度合569は、ゲーム開始当初の初期値は「0(変色無し)」である。
図3に示すように、ゲーム中に被変色オブジェクトであるプレーヤキャラクタ2が変色領域8に進入すると、プレーヤキャラクタ2の領域内部分を検出する。具体的には、プレーヤキャラクタ2の頂点のうち、変色領域8内に有る頂点を抽出する。そして、抽出された頂点の基礎汚れ度合569が、時間経過の都度、増加量ΔWが加算される。
【0049】
増加量ΔWは、変色源の性質に応じて適宜設定された関数によって算出される。本実施形態では、変色源として散水装置4を設定しているので、散水装置4の噴霧口5を代表点として、代表点と変色領域8内の頂点との距離Lを求め、距離Lが小さいほど増加量ΔWを多く、距離Lが大きいほど増加量ΔWが少なくなるように関数を設定している。
【0050】
勿論、増加量ΔWの算出関数の特性はこれに限らない。
例えば、変色源が変色要因として下に溜まりやすい着色性のガス状物質を発生させる設定の場合には、地面(または床面)を基準として頂点位置が低い程増加量ΔWを多くし、頂点位置が高い程増加量ΔWが少なくなるように関数を設定すると良い。変色源が、下の方ほど汚れている汚水溜まりや水溜まりなどの場合でも同様に設定できる。変色源が、ペンキのような不透明性染料の汚水溜まりの設定であれば、増加量ΔWは固定値としても良い。
また、概ね球形の変色領域を有して滞留する着色性のガス状物質であれば、変色領域の中心に近い程増加量ΔWが大きくなるように関数を設定すると良い。
【0051】
そして、図4に示すように、ムラ情報568と基礎汚れ度合569とに基づいてプレーヤキャラクタ2を変色させる。本実施形態では各ピクセルの表示色を、変色していない標準色に、変色源毎に設定されている所定の「汚れ色」を加えた色とする。
【0052】
具体的には、表示色を設定しようとするピクセルに近接する頂点(図の例では、頂点P1と頂点P5、頂点P4を加えても良い。)のムラ情報568と基礎汚れ度合569を参照して、当該ピクセルの位置におけるそれらのムラ情報と基礎汚れ度合を算出する。
このとき、近接する頂点P1,P5それぞれとの距離に比例して、各近接頂点のムラ情報568及び基礎汚れ度合569の重み付けを計算して当該ピクセルの位置におけるムラ情報及び基礎汚れ度合を算出すると良い。
例えば、対象とするピクセルが頂点P1と頂点P5の間にあって、頂点P1までの距離と頂点P5までの距離の比が、2:3であれば、頂点P1のムラ情報568及び基礎汚れ度合569を重み付け係数「0.6(=3/5)」を乗じ、頂点P5のムラ情報568及び基礎汚れ度合569を重み付け係数「0.4(=2/5)」を乗じて合算する。或いは、近接する頂点P1,P5のうち何れかのムラ情報568及び基礎汚れ度合569をそのまま参照するとしても良い。
【0053】
そして、本実施形態では、表示色を設定しようとするピクセルの位置におけるムラ情報及び基礎汚れ度合を算出したならば、「ムラ情報」の値が大きくなるほど高くなるように「汚れ度合補正値」を算出し、これをピクセルの位置の基礎汚れ度合に加算して「適用汚れ度合」を算出する。
次いで、「適用汚れ度合」が高い程低くなるように透明度を決定し、変色源毎に設定されている所定の「基準汚れ色」(例えば、グレー)にこの透明度を乗算して、実際に当該ピクセルに適用される「汚れ色」を決定する。
そして、当該ピクセルに適用される「汚れ色」が決まったならば、当該ピクセルの標準色(具体的には、当該ピクセルに対応するテクスチャのテクセルの色)にこれを合成する。合成結果に、更に陰影処理の結果が反映されてピクセルの表示色が決定される。
図4の例では、わかりやすく標準色のままを「白」で示し、変色された部分を網掛けすることで概念的に表示している。変色部分の境界の有り様や種類は、図示された例に限られるものではなく、実際のゲーム画面上では、もっと多彩なグラデーションを成してその境界も滑らかとなる。
【0054】
尚、ムラ情報568及び基礎汚れ度合569の2つのパラメータ値を用いて、どれだけ変色させるかの設定を決定する方法や、どういった色に変色させるのか、どの程度変色させるかなどの設定は、ここで説明した例に限らずゲーム全体を通したアートディレクションの範疇として適宜決定することができる。
【0055】
図5は、変色の回復の原理を説明するための概念図である。本実施形態では、被変色オブジェクトであるプレーヤキャラクタ2の頂点のうち、変色領域8の外にある頂点は、時間経過とともに基礎汚れ度合569が「0」に向かって低減される。従って、変色領域8からプレーヤキャラクタ2が出ると、自動的に変色が回復し元に戻っていくように表現される。つまり、散水装置4のミスト6を浴びた後、徐々に渇いて元に戻るかのように見える。勿論、変色領域8の外になる頂点の基礎汚れ度合569を低減する処理は、変色源のゲーム上における性質による。例えば、ペンキや汚泥のように変色要因が不透明性のものである場合には、こうした変色の回復を行うとむしろ不自然に見えるので、適用しない方が良い。
【0056】
尚、本実施形態に登場する変色源は、図2〜図5で示したような散水装置4に限らない。例えば、図6のように、変色源として発煙筒12が考えられる。発煙筒12からは、時間当たり所定数の球状または複数の球の複合体からなる変色領域8(8a,8b,8c,…;図中では分かり易いように実線表記しているが、実際には見えない)が生成される。勿論、変色領域8内には、変色要因である煙14を表現するための変色要因オブジェクトが配置される。
【0057】
各変色領域8(8a,8b,8c,…)には、それぞれ基準方向として速度ベクトルV(V1〜V5)が設定されており、発生後はその速度ベクトルV1〜V5に従って移動制御される。勿論、速度ベクトルV1〜V5は発生時に与えられる固定値に限らず、適宜時間経過とともに変化させるとしても良い。具体的には、ゲーム空間に設定されている仮想の「風」の変化によって変更したり、進行方向に存在する障害物(例えば、壁となる建物)によって特定方向の速度成分を高めたりといったように、簡易な物理シミュレーションに基づいて増減すると好適である。
【0058】
また、本実施形態では、変色領域8毎に、汚れの付与度合kを設定することができる。
汚れの付与度合kは、その変色領域に起因する汚れの影響具合を示す。より具体的には、各変色領域8(8a,8b,8c,…)には、変色源の代表点からの距離に近い程大きく、離れる程小さくなるように算出された付与度合kが設定され、変色領域別の汚れ色の算出時に乗算される。
ピクセルの表示色は、当該ピクセルの標準色に、変色領域別の汚れ色が合成され、更に陰影処理結果が反映されて決定される。
【0059】
また、発煙筒12から発生される各変色領域8には、拡大率と消滅までのタイマーを設定することができる。拡大率は、変色領域8の発生後、時間経過とともに変色源のゲーム上の性質に応じて増減される。図の例では、変色領域8は煙の塊に相当するので、徐々に拡大率を増加するように制御し、煙14の透明度を徐々に高めるように制御すると好適である。そして、消滅までのタイマーが所与の時間、或いは所定の時間を計時すると、当該変色領域8は消滅される。よって、あたかも煙りが時間と共に拡散し霧散してゆく存在として表現できる。
【0060】
尚、図の例では、発煙筒12の位置は固定ともとれるが、例えば軍用車両に取り付けられた発煙筒などでは、その軍用車両の移動に応じてゲーム空間内を移動するとしても良い。その場合、変色源のゲーム上の設定を「発煙筒の煙」ではなく、「車両のエキゾーストパイプから出る黒煙」と設定することもできる。
【0061】
また、本実施形態では、図7のように、地面の窪地16に変色源として水たまり18を設定することができる。水たまり18の水面より下の部分には、変色領域8(8h)が設定される。そして、領域内部には、そこに溜まっている泥水20などを表現するための変色要因オブジェクトを配置することができる。
【0062】
[機能ブロックの説明]
次に、上述のようなゲームを実行するための機能構成例について説明する。
図8は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部100と、処理部200と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0063】
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。図1の方向入力キー1402やボタンスイッチ1404、タッチパネル1407,1409はこれに該当する。
【0064】
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む携帯型ゲーム装置1400の各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置1400の動作を制御する。図1では制御ユニット1450が処理部200に該当する。
そして、本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0065】
ゲーム演算部210は、3DCGによるビデオゲームを実行するための各種処理を実行する。例えば、(1)仮想3次元空間内に各種オブジェクトを配置してゲーム空間を形成し、そこにプレーヤキャラクタ2と仮想カメラを配置する処理、(2)プレーヤキャラクタ2を操作入力部100からの操作入力に応じて動作させる処理、(3)プレーヤキャラクタ2と変色領域8とのいわゆるヒット判定処理や、プレーヤキャラクタ2と変色要因オブジェクトとのヒット判定処理、(4)ダメージ判定とダメージの反映処理、(5)プレーヤキャラクタ2を撮影するように仮想カメラの位置や姿勢など撮影パラメータを自動制御する処理、(6)ゲームポイントなどの算出処理、などを実行する。その他、適宜カウンタ、タイマー、フラグ設定などビデオゲームの実行に必要な各種処理を実行する。こうした処理は、公知の格闘ゲームに関する演算処理と同様にして実現できる。
【0066】
そして、本実施形態のゲーム演算部210は、変色表現に関する制御を行う変色表現制御部212を含む。より具体的には、変色表現制御部212は、変色源設定部214と、変色領域設定部216と、変色要因制御部224と、領域内部分検出部226と、変色制御部228とを含む。
【0067】
変色源設定部214は、ゲーム空間内に変色源(例えば、散水装置4、発煙筒12、水たまり18など)の表示用モデルを配置する。変色源が移動する性質の設定であれば、これを移動制御する。
【0068】
変色領域設定部216は、変色源に基づいて変色領域8をゲーム空間内に設定し、変色領域8を管理する。本実施形態では、汚れ方向設定部218と、変色領域制御部220と、汚れ付与度合設定部222とを含む。
【0069】
汚れ方向設定部218は、変色領域8毎に基準方向Fw(図2参照)や速度ベクトルV(図6参照)などを設定して汚れの方向性を設定する。
【0070】
変色領域制御部220は、変色領域8に生成のための条件が設定される場合には、生成条件を満たすかを判定し、満たす場合には変色領域8を新たに配置させる。また、変色領域8が、生成後の時間経過やゲーム空間内の位置などによって消滅する性質が与えられる場合には、変色領域毎の時間経過をカウントし、或いはゲーム空間内の位置を求めて、それらが消滅条件を満たすか判定する。そして、消滅条件を満たす場合には、当該変色領域8を消滅処理する。更には、変色領域8に、配置以降、移動したり変形する性質が与えられる場合には、ゲーム空間に適用される仮想物理法則に則って移動させたり、所定の移動経路に沿って移動させたり、所定の割合で拡大或いは縮小するように変形処理する。変色領域制御部220は、必ずしも変色領域8の生成、移動、消滅、変形の全てを行う必要はなく、ゲーム内容に応じて適宜機能を限定することができる。
【0071】
汚れ付与度合設定部222は、変色領域8毎に設定される設定パターンに基づいて汚れの付与度合kを設定する。汚れの付与度合kは、その変色領域に起因する汚れの影響具合を示す。
【0072】
変色要因制御部224は、変色領域8内での変色要因オブジェクト(例えば、ミスト6、煙14など)の発生及び移動を制御する。発生位置は、基本的に変色源、又はその近傍位置からとなる。そして、変色領域8に基準方向Fwが設定されている場合には、これを汚れ方向と見なし、これに沿って変色要因オブジェクトを移動させる。もし、変色領域8が消滅するならば、それに合わせて対応する変色要因オブジェクトを消滅させる。
【0073】
領域内部分検出部226は、被変色オブジェクト(プレーヤキャラクタ2)の変色領域内に位置する領域内部分を検出する。具体的には、頂点を検出する。
【0074】
変色制御部228は、領域内部分検出部226により検出された部分の頂点に、変色表現制御に必要なパラメータ値を設定する。その為に、本実施形態の変色制御部228は、汚れムラ設定部230と、汚れ度合設定部232とを含む。
【0075】
汚れムラ設定部230は、被変色オブジェクトの頂点にムラ情報568を設定する。
汚れ度合設定部232は、被変色オブジェクトの全頂点の基礎汚れ度合569を「0(変色無し)」に初期化し、領域内部分検出部226により検出された時間が継続するほど、つまり変色領域8に入っている時間が経過する毎に頂点の基礎汚れ度合569を増加させる。また、領域内部分検出部226により検出されない時間が継続するほど、つまり変色領域8の外にいる間、基礎汚れ度合569を減少させる。
【0076】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0077】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1ではスピーカ1410がこれに該当する。
【0078】
画像生成部260は、例えば、GPU(Graphics Processing Unit)、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現される。画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部360に出力する。
【0079】
そして、本実施形態では、変色描画部262を含む。変色描画部262は、変色制御部228により設定された変色表現制御に必要なパラメータ値に基づいて、ピクセル毎の表示色を決定する。つまり、被変色オブジェクトの表示色を、所与の汚れ色に近づけるように変色させる。変色描画部262は、例えばシェーディングプログラムとして実現することもできる。
【0080】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。
本実施形態では、図1の第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408が該当する。
【0081】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
【0082】
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1の無線通信モジュール1412がこれに該当する。
【0083】
記憶部500は、処理部200に携帯型ゲーム装置1400を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図1では制御ユニット1450に搭載されているICメモリやメモリカード1440がこれに該当する。
【0084】
本実施形態では、記憶部500はシステムプログラム501と、ゲームプログラム502とを記憶している。
システムプログラム501は、携帯型ゲーム装置1400のコンピュータとしての入出力の基本機能を実現するためのプログラムである。
ゲームプログラム502は、処理部200が読み出して実行することによってゲーム演算部210としての機能を実現させるためのアプリケーションソフトであるが、システムプログラム501の一部として組み込まれた構成であっても良い。そして、本実施形態のゲームプログラム502は、処理部200に、変色表現制御部212と、変色描画部262としての機能を実現させるためのプログラムとして変色描画プログラム503(例えばシェーディングプログラム)を含む。
【0085】
また、記憶部500には、予め用意されるデータとして、キャラクタ毎に用意されるキャラクタ設定データ504と、ゲーム空間設定データ506と、が記憶されている。また、ゲームの準備や進行に伴って随時生成や更新が行われるデータとして、プレイデータ540が記憶される。更に、ゲームの進行に係る処理を実行するにあたり必要となるデータ(例えば、タイマー値やカウンタ、フラグ)なども適宜記憶されるものとする。
【0086】
キャラクタ設定データ504は、ゲームに登場する各キャラクタを表示させ動作制御するための各種データを格納しておりキャラクタ毎に用意される。本実施形態では、プレーヤキャラクタ2を設定するためのデータが記憶されている。
具体的には、例えば、複数のポリゴンで形成されたキャラクタモデルデータと、変色していない状態を表す標準テクスチャデータと、キャラクタの操作コマンドとそのモーションデータ、各種技のエフェクトデータなどを含むものとする。
【0087】
ゲーム空間設定データ506は、ゲームが行われる舞台となるゲーム空間を3次元仮想空間内に形成し表示させるための各種データを格納する。例えば、遠景とする画像、背景物となる各種オブジェクトのポリゴンモデルデータやテクスチャデータ、地面の凹凸を定義するモデルデータやテクスチャデータなどを含む。また、仮想カメラの初期配置位置に関する情報を含むとしても良い。これらは、公知の3DCGを用いたビデオゲームにおける同種のデータと同様に実現される。そして、本実施形態では、ゲーム空間設定データ506は、変色源設定データ508を含む。
【0088】
変色源設定データ508は、変色源毎に用意されるデータセットである。本実施形態では、少なくとも散水装置4(図2参照)と、発煙筒12(図6参照)と、水たまり18(図7参照)とのそれぞれに用意されている。
【0089】
一つの変色源設定データ508は、変色源を識別するための変色源ID509と、変色源オブジェクトデータ510と、変色要因オブジェクトデータ511と、変色領域生成パターンデータ512と、汚れ付与度合設定データ513と、変色領域設定データ514とを含む。
【0090】
変色源オブジェクトデータ510は、例えば、散水装置4、発煙筒12、水たまり18など変色源に係る各種データを格納する。ゲーム空間内の初期配置位置座標、ポリゴンモデルデータや、テクスチャデータ、変形や移動パターンを定義するデータなどを含むことができる。変色源として特定のオブジェクトを配置することなく、ゲーム空間内の変色源とする場所や領域(例えば、小雨が降る領域の天空座標範囲)を変色源として指定するデータとしてもよい。
【0091】
変色要因オブジェクトデータ511は、例えば、ミスト6、煙14など変色要因を表示させるための各種データを格納する。データは、変色要因をどのように表示するかによって適宜設定されるが、例えば、ポリゴンモデルデータや、テクスチャデータ、変形や移動パターンを定義するデータなどを含むことができる。
【0092】
変色領域生成パターンデータ512は、変色領域8をどのような条件を満たすときにどの種類の変色領域を、どのように生成するかを定義する情報である。
例えば、散水装置4の例のように、変色源に対して相対的に固定された種類の変色領域については、無条件に最初から最後まで変色領域8を設置するので、常時設置を意味する情報と、設置される相対位置を定義する情報などが含まれると良い。
また、発煙筒12の例のように、変色領域8(8a,8b,8c,…)を時間経過とともに発生させる種類については、発生位置を示す相対位置座標や、発生位置を時間と共に変化させるための関数、発生のタイミングを決定する定数や関数などの情報が適当である。
ゲームの進行状況に応じて設置される種類の変色領域については、ゲーム進行状況を示す条件(例えば、プレーヤキャラクタ2との相対距離、ゲームポイントなどを用いた、いわゆる発動条件)を定義する情報を当該種類と対応づけると良い。
【0093】
汚れ付与度合い設定データ513は、汚れの付与度合k(図6参照)を示す定数や、算出のための関数、テーブルデータなどが格納される。付与度合kは、変色領域8の種類毎に設けるとしても良いし、全変色領域に共通のデータとしても良い。
【0094】
変色領域設定データ514は、当該変色源を起因として生じる変色領域8の種類毎に用意され、領域の性質を定義する情報を格納する。例えば、図9に示すように、領域種類516と、領域設置相対座標518と、領域形状データ520と、変色傾向設定データ522と、色変化設定データ524と、領域移動パターン設定データ526と、消滅条件設定データ528と、を含む。
【0095】
領域種類516は、変色領域8の種類を識別するための情報である。
領域設置相対座標518は、変色源の代表点(例えば、散水装置4の設置位置座標)を基準とした当該領域を配置する位置を定義する。同様の情報を変色領域生成パターンデータ512で定義する場合にはこちらは省略できる。
【0096】
領域形状データ520は、変色領域8の外形的特徴を定義する情報として、初期形状データ520aと、領域変形パターンデータ520bとを含む。
【0097】
初期形状データ520aは、当該変色領域の初期状態の外形と大きさ、姿勢などを定義する。例えば、外形を決める各頂点の座標、領域の中心点と半径、曲率などその形状毎に適当な形状定義情報を格納すると良い。
【0098】
領域変形パターンデータ520bは、初期形状を所定の変形条件(例えば、時間経過やゲーム進行状況の変化などの条件)を満たした場合に、初期形状をどのように変形するかを定義する。例えば、単純な拡大率を定義しても良いし、縦や横など所定方向への偏向的な変形を定義しても良い。
【0099】
変色傾向設定データ522は、変色の増加や減少の傾向を定義する。例えば、増加量ΔWを定義する関数や定数を格納する増加量設定データ522aや、基準方向ベクトル522b、回復進度522cを含む。
【0100】
基準方向ベクトル522bは、汚れ方向を定め、変色傾向に方向的特性を付与する場合に定義する。例えば、散水装置4ならば基準方向Fw(図2参照)であり、放水する向きに相当する。もし、発煙筒12の変色領域8の設定としては、領域内での煙の流れる方向などを設定することができる。
【0101】
回復進度522cは、当該変形領域の外に被変色オブジェクトの頂点がある場合に、当該変形領域に対応する基礎汚れ度合569を一度に低減させる度合を定義する。例えば、画面の描画サイクル毎の低減値、低減率などを定義できる。
【0102】
色変化設定データ524は、変色源によってどのような色に変化させるかを定義する。当該データの内容は、変色をどのようにして実現するかによって変わる。例えば、オリジナルの色(キャラクタの標準色)に、ある色を加算する構成では基準汚れ色524aを定義すると良い(図4参照)。また、変色領域8に入ると、ペンキのように不透明性の染料が付着するような設定にするならば、染料の色そのものとすればよい。また、シェーディングの陰影の濃淡によって変色させるならば、濃淡の補正量を定義すれば良い。
【0103】
領域移動パターン設定データ526に、変色領域の動きを与えるときに定義する。例えば、領域生成以降の移動方向や、移動経路、それらを算出するための基準点や時間関数などを定義することができる。
【0104】
消滅条件設定データ528は、変色領域が時間と共に消滅したり見えなくなる性質を与える場合に定義される。例えば、生成から消滅までの時限値、見えなくなる時間的割合(例えば、透明度の増加割合)などを設定できる。
尚、変色領域設定データ514には、その他の設定情報を適宜含めることができる。
【0105】
プレイデータ540は、ゲームの進行状況を示す各種データを格納する。その種類はゲーム内容によって異なる。例えば、格闘ゲームならばラウンド数や、1ラウンドの残時間、各キャラクタのライフポイント、仮想カメラの位置や姿勢などの撮影パラメータなどを格納することができる。アクションゲームならば、ステージ数、ライフポイント、残時間、アイテム数などを格納することができる。
そして、本実施形態のプレイデータ540は、プレーヤキャラクタ2の状態を示す各種パラメータ値や動作制御に必要なパラメータ値を格納するキャラクタステータスデータ542内に、複数の頂点データ550を格納する。
【0106】
頂点データ550は、プレーヤキャラクタ2の頂点毎に用意される。例えば図10に示すように、当該頂点の現在の位置を示す頂点位置座標552と、移動や動作で当該頂点の位置が更新される前の位置を示す更新前頂点位置座標554とを含む。その他、公知の頂点データと同様に、移動速度ベクトルや、加速度ベクトル、頂点カラー、ボーンモデルとの関連付けデータなどの情報を適宜格納することができる。
【0107】
そして、本実施形態では、頂点データ550に変色制御データ560を含む。
変色制御データ560は、変色領域毎の被変色オブジェクトへの現在の影響状態を示す各種情報を格納する。例えば、変色領域8が生成される都度、或いはプレーヤキャラクタ2が進入する都度、自動的に固有に付与される変色領域ID562と対応づけて、当該変色領域を発生させている変色源を識別するための変色源ID564と、領域種類566と、ムラ情報568と、基礎汚れ度合569とを格納する。勿論、その他の情報も適宜対応づけて格納できる。
【0108】
図8に戻って、本実施形態のプレイデータ540は、変色源ステータスデータ570を含む。当該データは、現在ゲーム空間内に配置されている変色源毎に用意され、変色源及びその変色領域の状態を示す各種パラメータ値を格納する。
【0109】
例えば、図11に示すように、一つの変色源ステータスデータ570は、変色源を識別するための変色源ID572と、ゲーム空間内における変色源の代表点の位置座標を示す変色源位置座標574と、変色源表示制御データ576とを含む。
【0110】
変色源表示制御データ576は、例えば、散水装置4や、発煙筒12、水たまり18などの変色源オブジェクトを表示させるための制御データを格納する。その他、変色源自体がゲーム空間内を移動したり運動する場合には、移動速度ベクトルや加速度ベクトル、移動経路、モーション制御データなどを適宜含むことができる。
【0111】
そして、本実施形態では、変色源ステータスデータ570は、当該変色源に関連する変色領域8の状態を示す各種パラメータを格納する変色領域ステータスデータ580と、変色要因オブジェクトの表示制御に関する各種パラメータを格納する変色要因ステータスデータ590と、を含む。
【0112】
変色領域ステータスデータ580は、例えば、変色領域8を識別するための変色領域ID581と対応づけて、領域位置座標582と、基準方向ベクトル583と、速度ベクトル584と、変形情報586と、付与度合587と、生成後経過時間588と、を格納する。勿論、その他の変色領域に関するパラメータ値も対応づけて格納することができる。
【0113】
領域位置座標582は、ゲーム空間内における対応する変色領域8の位置を特定するための情報であって、例えば対応する変色領域8のローカル座標原点のワールド座標値などでも良い。
【0114】
基準方向ベクトル583は、対応する変色領域に起因する変色に方向性が設定される場合に設定される。例えば、散水装置4の場合には放水方向を示す基準方向Fw(図2参照)が格納される。
【0115】
速度ベクトル584は、対応する変色領域が移動する性質を有する場合に設定される。例えば、発煙筒12の例であれば、煙14が流れる方向を示す速度ベクトルV(V1〜V5;図6参照)を格納する。
【0116】
変形情報586は、当該領域を初期形状からどれだけどのように変形したかを示すパラメータ値を格納する。例えば、単純に拡大縮小変形する場合には、初期形状からどれだけ拡大或いは縮小したかのパーセンテージを格納するとしても良い。
【0117】
付与度合587は、対応する変色領域に設定された「汚れの付与度合k」の値を格納する。
生成後経過時間588は、対応する変色領域がゲーム空間に配置されてからの経過時間を示す値を格納する。変色領域が常時設置されていて、消滅しない設定の場合には、当該パラメータの設定を省略できる。
【0118】
変色要因ステータスデータ590は、当該変色源から発生された変色要因オブジェクトの表示制御に必要な情報を格納する。例えば、変色要因オブジェクトを識別するための変色要因ID591と対応づけて、どの変色領域内に表示するかを示す対応変色領域ID592と、当該オブジェクトの配置位置を示す要因位置座標593と、速度ベクトル594とを格納する。その他、表示色に関する情報や、移動制御に関する情報なども適宜対応づけて格納することができる。
【0119】
[処理の流れの説明]
図12〜図13は、本実施形態における処理の流れについて説明するためのフローチャートである。ここで説明する一連の処理の流れは、処理部200がゲームプログラム502を読み出して実行することによって実現される。尚、ゲームの進行そのものに関する処理や、ゲーム音の生成に関する説明は省略するが、公知のビデオゲームと同様にして適宜行われるものとする。
【0120】
処理部200は先ず、ゲーム空間設定データ506を参照して、3次元仮想空間内にゲーム空間を形成する。そして、形成したゲーム空間内に、キャラクタ設定データ504を参照してプレーヤキャラクタ2を初期配置し、仮想カメラ、変色源を初期配置する(ステップS2)。
散水装置4や発煙筒12、水たまり18などの変色源を設定する際、それぞれから生じる変色領域8もまたゲーム空間内に設定され、それら変色領域8内の変色要因オブジェクトもまた初期配置される。処理部200は、プレイデータ540に変色源ステータスデータ570を生成し、初期配置した変色源、変色領域8並びに変色要因オブジェクトに関する情報を登録する。
【0121】
次に、処理部200は、変色初期化処理を実行する(ステップS4)。
具体的には、被変色オブジェクト(プレーヤキャラクタ2)の全頂点に対して、変色源ステータスデータ570に頂点データ550を用意する(図10参照)。そして、変色制御データ560に、変色源ステータスデータ570で登録されている変色領域8を登録し、登録した各変色領域に対応するムラ情報568と基礎汚れ度合569を設定する。ムラ情報568は、所定範囲内(例えば、0.0〜1.0)の数値をランダムに選択し設定する。基礎汚れ度合569は「0(変色無し)」に設定する。また、汚れ付与度合設定データ513を参照して、各変色領域8に汚れの付与度合kを設定する。
【0122】
ゲームを開始したならば(ステップS6)、処理部200は、ゲーム終了条件を満たすまで(ステップS8のNO)、例えば画像表示部360のリフレッシュレートよりも十分短いサイクル(例えば、1/60秒)で繰り返しループAの処理を実行する(ステップS12〜S96)。
【0123】
ループAでは、処理部200は先ず、変色源制御処理を実行し、ゲーム進行に伴う変色源及び変色領域の生成・移動・変形・消滅の管理、およびその結果応じた変色源オブジェクトと変色要因オブジェクトの表示に関する制御を実行する(ステップS14)。
【0124】
具体的には、各変色源の変色源設定データ508を参照して、生成条件を満たす場合に変色源そのものや変色領域を新たに生成する。
変色源が新たに生成された場合には、処理部200は変色源ステータスデータ570を追加生成する。そして、当該新たな変色源に付随する変色領域8を変色領域ステータスデータ580に登録し、変色領域8を視覚化する変色要因オブジェクトを変色要因ステータスデータ590に登録する。消滅する変色領域8については、生成とともに生成後経過時間588(図11参照)の計時を始める。
既存の変色源において、新たに変色領域8が生成された場合には、当該変色源の変色源ステータスデータ570の変色領域ステータスデータ580にこの新たな変色領域を登録する。
【0125】
また、変色源制御処理において、処理部200は、変色領域8毎に消滅条件設定データ528(図9参照)を参照して、当該変色領域が消滅条件を満たすかを判定し、満たすと判定した場合には、該当する変色領域8を変色領域ステータスデータ580から登録抹消する。また、変色源自体を滅する場合には、対応する変色源ステータスデータ570を削除する。
【0126】
また、各変色領域に対応する変色領域設定データ514を参照して、移動させたり変形し、その結果に応じて変色領域ステータスデータ580に格納されているパラメータ値を更新する。そして、変色領域の設定の結果に応じて、変色要因を視覚化すべくミスト6や、煙14といった変色要因オブジェクトの配置を変更し、変色要因ステータスデータ590に格納されているパラメータ値を更新する。例えば、変色領域8に基準方向Fw(図2参照)が設定されている場合、変色要因が流れる方向、つまり汚れ方向と見なし、変色要因オブジェクトをこの汚れ方向に沿って移動させる処理を実行する。また、変色要因オブジェクトの移動制御に際しては、変色要因オブジェクトに作用するゲーム世界の外力(例えば、重力や風)の影響を適宜加えることができる。
また、汚れ付与度合設定データ513を参照して、各変色領域8に汚れの付与度合587を更新する。
【0127】
次に、処理部200は新たに生成された変色領域に対応するムラ情報568及び基礎汚れ度合569の設定を行う(ステップS16)。具体的には、ステップS14で新たに生成された変色領域8がある場合には、プレーヤキャラクタ2の頂点データ550に、その新たな変色領域8を登録してムラ情報568や基礎汚れ度合569などのパラメータ値を新規に設定する。その場合の基礎汚れ度合569は「0」である。
【0128】
次に、処理部200は、被変色オブジェクトの移動処理を実行する(ステップS18)。すなわち、操作入力部100からの操作入力信号に応じてプレーヤキャラクタ2を動作させる。各頂点のスキニング処理もここに含まれる。
【0129】
被変色オブジェクトが移動したので、次に変色領域8毎にループBを実行して、汚れ度合を進行させる(ステップS20〜S58)。
ループBでは、先ず、処理部200は1描画フレーム前の位置に基づいて、処理対象としている変色領域に被変色オブジェクト(プレーヤキャラクタ2)が進入しているかを判定する(ステップS22)。
【0130】
具体的には、キャラクタステータスデータ542に、当該キャラクタのヒット判定モデルの1描画フレーム前の位置座標情報を格納する構成の場合には、当該位置座標に基づいて処理対象としている変色領域との交差判定(いわゆるヒットチェック)をして、交差していれば「進入」と判定する。また、頂点データ550の更新前頂点位置座標554を参照して、被変色オブジェクトの何れかの頂点の更新前の位置が処理対象としている変色領域内に有るかで判定するとしても良い。
【0131】
そして、もし処理対象の変色領域に「進入」していると判定した場合には(ステップS24のYES)、処理部200は処理対象としている変色領域に方向性が設定されているかを判定する(ステップS26)。具体的には、変色領域設定データ514(図9参照)の変色傾向設定データ522に基準方向ベクトル522bが設定されていれば肯定判定し、設定されていなければ否定判定する。また、変色領域ステータスデータ580にて、処理対象としている変色領域に速度ベクトル584が「0」以外に設定されている場合には、肯定判定する。変色要因がこれらのベクトル上流方向から流れてくると見なすことができる。これらのベクトルを「汚れ方向」と呼ぶ。
【0132】
そして、もし肯定判定した場合には(ステップS26のYES)、処理部200は、被変色オブジェクトの全頂点のうち、処理対象としている変色領域内にあって、且つ、汚れ方向(基準方向ベクトル583又は速度ベクトル584)の上流側を向いたポリゴンの頂点を、「変色増加頂点」として抽出する(ステップS28)。
より具体的には、ポリゴン毎に面法線ベクトルを求め、面法線ベクトルが基準方向ベクトル583又は速度ベクトル584との対向角を算出する。そして、面法線ベクトルがそれらに対向していれば、つまりポリゴン面が変色要因が流れてくる上流側を向いていると見なし、当該ポリゴン面を規定する頂点を「変色増加頂点」とする。当然、面法線ベクトルが汚れ方向と略同方向を向いていれば、流れてくる変色要因が当らない又は当り難く、変色源の影響を受けない裏面に相当すると見なし「変色増加頂点」とはしない。尚、ポリゴンの面法線ベクトルではなく、頂点法線ベクトルによって判定するとしても良い。
【0133】
一方、ループBの処理対象としている変色領域に方向性の設定がなければ(ステップS26のNO)、処理部200は、被変色オブジェクトの頂点のうち、処理対象とている変色領域内にある被頂点の全てを「変色増加頂点」として抽出する(ステップS30)。
【0134】
変色増加頂点を抽出したならば、処理部200はそれら全てについてループCの処理を実行する(ステップS40〜S50)。
【0135】
ループCでは先ず、処理部200は、ループCの処理対象としている変色増加頂点が、所定の変色上限条件に達しているかを判定する(ステップS42)。
変色上限条件とは、変色がこれ以上進行できない状況を示す。例えば、変色制御データ560にて基礎汚れ度合569が所定の上限値に達している、基礎汚れ度合569が「0」以外に設定されている変色領域が所定の上限数に達している、などを設定できる。設定内容は、変色をどのように表現するかによって適宜設定できる。
【0136】
そして、もし変色上限条件に達していなければ(ステップS42のNO)、処理部200は、ループBで処理対象としている変色領域に対応する変色傾向設定データ522(図9参照)を参照して、ループCで処理対象としている変色増加頂点に応じて、増加量設定データ522aに基づいて増加量ΔWを算出し、当該変色増加点の基礎汚れ度合569に加算、増加させる(ステップS44)。反対に、変色上限条件に達していると判定した場合には(ステップS42のYES)、基礎汚れ度合569の増加は行わない。
【0137】
次に、処理部200は、ループCで処理対象としている変色増加頂点が所定の変色低減条件を満たすか否かを判定する(ステップS46)。
変色低減条件とは、変色が発生し難い条件を意味する。例えば、対象としている変色増加頂点が、変色し難い材質で有ることを示す情報を設定できる。例えば、ミスト6を弾く金属製やビニール製であることを示す情報(具体的には、プレーヤキャラクタ2が装着可能な着衣や、アイテムの識別情報など)がこれに該当する。また、顔の部分を変色させるとキャラクタの識別や表情の把握が難しくなるので好ましくないと考える場合には、顔部分を構成するオブジェクトの識別情報や、できるだけ変色させたくない領域を示す情報(例えば、そうした領域に含まれる頂点の識別情報)などを変色低減条件として設定することができる。
【0138】
また、変色要因がミスト6のように水のような液体である場合には、真下を向いた面には付着し難くなる。そうした様子を表現したいと考える場合には、対象としている変色増加頂点の頂点法線ベクトルと重力方向ベクトルとの相対角度差範囲を変色低減条件として設定することができる。
尚、そうした変色低減条件は、予めプログラム中に組み込むとしても良いし、所定の定数やテーブルデータとして別途記憶部500に記憶しておき、適宜ゲーム進行状況に応じて読み出す構成としても良い。
【0139】
そして、変色低減条件を満たすと判定した場合には(ステップS46のYES)、処理部200は、ステップS44で増加・設定された基礎汚れ度合569を所定量だけ低減し(ステップS48)、現在処理対象としている変色増加頂点に対するループCの処理を終了する(ステップS50)。もし、変色低減条件を満たしていなければ(ステップS46のNO)、基礎汚れ度合569の低減は行わずに、処理対象としている変色増加頂点に対するループCの処理を終了する(ステップS50)。
【0140】
抽出された全ての変色増加頂点に対してループCを実行完了したならば、処理部200は次に、被変色オブジェクト(プレーヤキャラクタ2)の頂点のうち、変色増加頂点以外の頂点を「変色回復頂点」として抽出する(ステップS52)。
一方、ループBの処理対象としている変色領域に被変色オブジェクトが進入していないと判定した場合には(ステップS24のNO)、被変色オブジェクトの全頂点を「変色回復頂点」として抽出する(ステップS54)。
【0141】
そして、変色回復頂点を抽出したならば、ループBにて処理対象としている変色領域の変色領域設定データ514を参照し(図9参照)、その回復進度522cの設定に従って抽出された全ての変色回復頂点の基礎汚れ度合569を低減し(ステップS56)、現在処理対象としている変色領域へのループBを終了する(ステップS58)。
【0142】
全ての変色領域8に対してループBを実行し終えたならば、処理部200は次に変色表現を含むレンダリング処理を実行する(ステップS60)。
【0143】
図14は、本実施形態におけるレンダリング処理の流れを説明するためのフローチャートである。同処理では、処理部200は先ず、頂点パイプライン処理を実行する(ステップS62)。頂点シェーダ、クリッピング、陰影処理などがここで行われる。
【0144】
次いで、ポリゴン生成処理とラスタライズ処理を実行してピクセルを定め(ステップS64)、全ピクセルについてループDの処理を実行する(ステップS66〜S90)。
【0145】
ループDにおいて、処理部200は先ずピクセル単位の陰影処理を実行して、様々な光源に応じた処理対象としているピクセル位置での陰影状況を決定する(ステップS68)。そして、本実施形態では、処理対象としているピクセルにおける変色領域毎の汚れ色を決定する(ステップS70)。
【0146】
具体的には、図4で説明した手法で変色領域別に、各変色領域に起因する汚れ色を決定する。すなわち、当該ピクセルに近接する頂点の頂点データ550の変色制御データ560(図10参照)を参照し、対象とする変色領域に対応するムラ情報568と基礎汚れ度合569とを読み出す。
そして、読み出したそれらの値に、各近接する頂点までの距離に応じた重み付けをして合算し、当該ピクセル位置におけるムラ情報と基礎汚れ度合とを決定する。例えば、対象とするピクセルが頂点P1と頂点P5の間にあって、頂点P1までの距離と頂点P5までの距離の比が2:3であれば、頂点P1のムラ情報568及び基礎汚れ度合569に重み付け係数「0.6(=3/5)」を乗じ、頂点P5のムラ情報568及び基礎汚れ度合569に重み付け係数「0.4(=2/5)」を乗じて、双方を合算する。
【0147】
そして、所定の関数に基づいて、当該ピクセル位置におけるムラ情報から「汚れ度合補正値」を求め、当該ピクセル位置における基礎汚れ度合に加算して「適用汚れ度合」を求める(図4参照)。更に、適用汚れ度合を変数とする所定の関数に従って「透明度」を算出し、対象とする変色領域の色変化設定データ524の基準汚れ色524a(図9参照)に算出した透明度を乗算して濃度を調整し、当該変色領域に係る「汚れ色」とする。
【0148】
このようにして、変色領域毎の「汚れ色」を決定したならば、処理部200は、対象とするピクセルの標準色に、それら変色領域毎の「汚れ色」を加え、更にステップS68で求めたピクセル単位の陰影処理の結果とを合わせて当該ピクセルの表示色を決定する(ステップS72)。そして、現在処理対象としているピクセルへのループDを終了する(ステップS90)。
【0149】
全てのピクセルについてループDの処理を実行したならば、レンダーバックエンド処理を実行して(ステップS92)、レンダリング処理を終了する。これにより、仮想カメラを視点としたゲーム空間画像が生成されたことになる。
【0150】
図13のフローチャートに戻って、次に処理部200は、ゲーム画面の生成と表示に関する処理を実行する(ステップS94)。これによって、ステップS60により生成されたゲーム空間画像に各種情報表示が合成されゲーム画面を生成される。そして、画像表示部360にゲーム画面の画像信号が出力され表示される。
【0151】
今回のループAの処理を終了して(ステップS96)、ステップS8に戻ると、処理部200はゲーム終了条件を満たすか否かを判定する(図12参照)。
ゲーム終了条件を満たしていなければ(ステップS8のNO)、再びループAを実行する。もし、満たしていれば(ステップS8のYES)、所定のエンディング処理を実行して(ステップS98)、一連の処理を終了する。
【0152】
以上、本実施形態によれば、汚れた状態を表す専用のテクスチャを別途用意せずとも汚れの表現が可能となる。よって、いわゆるテクスチャバッファなどによりVRAMの消費を抑制することができる。近年のビデオゲームでは、ゲーム画面の高精細化に伴いテクスチャデータの容量が大きくなる傾向にあるので、VRAMの消費を抑制することの意義は大きい。
【0153】
また、専用のテクスチャを用いる場合よりも、uvマッピングなどの中間処理が不要となるので、処理負荷の軽減を図ることができる。
【0154】
また、専用のテクスチャを用いないことにより、被変色オブジェクトが様々なアイテムを装着可能なゲーム仕様であったとしても、ゲーム製作に要する工数を低減できる。特に、変色源が複数種類あり基準汚れ色がそれぞれ異なる場合には、変色源の種類ごとに専用のテクスチャを要するので大変な手間となるが、本実施形態によればそうした手間を省くことができる。
【0155】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用可能な実施形態が上述の実施形態に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【0156】
[その1]
例えば、上記実施形態では画像生成装置として携帯型ゲーム装置1400を例示したが、据え置き型の家庭用ゲーム装置や業務用ゲーム装置として実現しても良い。更には“ゲーム装置”とされる電子機器(コンピュータ)に限らず、アプリケーションソフトが実行可能な携帯電話機や情報端末装置、コンパクトデジタルカメラ、音楽プレーヤ、パソコン、カーナビと言った電子機器も、プログラムを実行可能なコンピュータを内蔵している、或いはコンピュータそのものと言えるため、本発明を実現する画像生成装置の一形態とすることができる。また、サーバシステムを画像生成装置とし、生成された画像データや当該画像データを含むプログラムを端末装置(電子機器)に提供する構成としてもよい。
【0157】
例えば、図15は、本発明が適用された画像生成装置を業務用ゲーム装置1300として実現する場合の構成例を示す図である。
業務用ゲーム装置1300は、ゲーム装置本体1301の前方に突設された操作台1304に、プレーヤが各種操作入力をするためのジョイスティック1306や複数のプッシュスイッチ1308といった入力デバイスを備える。また、ゲーム装置本体1301の上部には、ゲーム画像を表示させるための液晶パネルディスプレイやCRTといったビデオモニタ1322と、ゲーム音や効果音を放音するスピーカ1324とを備える。そして、ゲーム装置本体1301の下部及び内部には、コインカウンタ1340と、制御ユニット1310と、図示されない電源装置とを備える。更には、携行型の情報記憶媒体で、事前にプレーヤ登録をしたり過去のプレイ履歴データを記憶できるゲームカード1332からのデータ読み出しや書き込みをするゲームカードリーダライター1330を備えるとしても良い。
【0158】
制御ユニット1310は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子機器を備えたいわゆるコンピュータ基板を構成する。また、制御ユニット1310は通信装置1312を備え、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と有線又は無線接続し、外部装置(特に同型の他の業務用ゲーム装置やマッチングサーバ)との間でデータ通信を実現する。そして、制御ユニット1310は、搭載されているICメモリやハードディスクなどの情報記憶媒体からシステムプログラムやゲームプログラムを読み出して演算処理し、業務用ゲーム装置1300の各部を制御する。
【0159】
そして、コインカウンタ1340で所定額のコインの投入を検出したならば、制御ユニット1310がゲームプログラムを読み出して実行し、業務用ゲーム装置1300は本発明を実現する画像生成装置として機能する。
【0160】
業務用ゲーム装置1300は、他ゲーム装置から受信した操作入力コードと自ゲーム装置への操作入力に基づく操作入力コードとに基づいて、仮想3次元空間内に形成されたゲーム空間に配置されたプレーヤキャラクタの動作等を制御する。そして、その様子を仮想カメラで撮影した画像をレンダリングする際に、汚れた状態を表す専用のテクスチャを用いずに汚れを表現することができる。そして、ゲーム空間画像に各種情報表示を合成してゲーム画面として生成する。また、適当なタイミングでBGMや効果音などのゲーム音を生成する。生成されたゲーム画面はビデオモニタ1322で表示され、生成されたゲーム音はスピーカ1324で放音される。プレーヤは、ビデオモニタ1322に映し出されるゲーム画面を見つつ、スピーカ1324から放音されるゲーム音を聞きつつゲームをプレイすることができる。
【0161】
[その2]
また、上記実施形態では、汚れの斑(ムラ)を表現するために、ムラ情報568を設定し、ムラ情報568の値に基づいて汚れ度合に幅を持たせる構成としているが、これに限らない。例えば、ムラ情報568に代えて「透明度」を設定するとしても良い。この場合、基礎汚れ度合569にその透明度を乗算して、汚れ色の濃度を調整することができる。
【0162】
[その3]
また、基礎汚れ度合569の増加量ΔWの算出方法も、上記実施形態の例に限らない。例えば、変色領域8に方向性が設定されている場合、すなわち基準方向Fwや速度ベクトルVが設定されていて「汚れ方向」と見なせる場合には、頂点法線ベクトル又はポリゴンの面法線ベクトルと、汚れ方向との相対角(対向角でも同じ)に応じて増減量ΔWを決定するとしても良い。具体的には、相対角が180°に近い程、すなわち頂点法線ベクトル又はポリゴンの面法線ベクトルと汚れ方向とが対向する度合が高い程増加量ΔWが大きくなり、相対角が0°に近い程、すなわち頂点法線ベクトル又はポリゴンの面法線ベクトルと、対向度合が低いほど増加量ΔWが小さくなるような関数で、決定するとしても良い。
【0163】
[その4]
また、上記実施形態では、変色表現を、汚れ色の加算で実現する構成としたが、陰影の補正により実現する構成とすることができる。例えば、図16に示すように、ピクセル位置におけるムラ情報568及び基礎汚れ度合569を、上記実施形態と同様にして求め、前者を変数とする第1の関数により第1陰影補正量を算出し(同図左のグラフ参照)、後者を変数とする第2の関数により第2陰影補正量を算出し(同図右のグラフ参照)、陰影の度合で変色を表現することができる。
【0164】
処理上は、上記第1実施形態におけるレンダリング処理に代えて、図17に示すレンダリング処理を実行するものとする。具体的には、第1実施形態のステップS70〜S72に代えて、ループDの処理対象としているピクセル位置におけるムラ情報と基礎汚れ度合に基づいて第1陰影補正量と、第2陰影補正量とを算出し(ステップS74)、ステップS68で求めた陰影処理の結果を、それら第1陰影補正量と第2陰影補正量とで補正する(ステップS76)。そして、汚れのない状態を表す標準色と、補正された陰影処理の結果とに基づいてピクセルの表示色を決定する(ステップS78)。
【符号の説明】
【0165】
2 プレーヤキャラクタ
4 散水装置
6 ミスト
8 変色領域
12 発煙筒
14 煙
18 水たまり
200 処理部
210 ゲーム演算部
212 変色表現制御部
214 変色源設定部
216 変色領域設定部
218 汚れ方向設定部
220 変色領域制御部
222 汚れ付与度合設定部
224 変色要因制御部
226 領域内部分検出部
228 変色制御部
230 汚れムラ設定部
232 汚れ度合設定部
260 画像生成部
262 変色描画部
500 記憶部
502 ゲームプログラム
504 キャラクタ設定データ
506 ゲーム空間設定データ
508 変色源設定データ
514 変色領域設定データ
540 プレイデータ
550 頂点データ
568 ムラ情報
569 基礎汚れ度合
570 変色源ステータスデータ
580 変色領域ステータスデータ
590 変色要因ステータスデータ
1400 携帯型ゲーム装置
1401 装置本体
1404 ボタンスイッチ
1406 第1液晶ディスプレイ
1408 第2液晶ディスプレイ
1440 メモリカード
1450 制御ユニット

【特許請求の範囲】
【請求項1】
コンピュータに、3次元仮想空間の画像を生成させるためのプログラムであって、
前記3次元仮想空間に変色源を設定する変色源設定手段、
前記変色源に基づいて変色領域を設定する変色領域設定手段、
前記変色領域内での変色要因オブジェクトの発生及び移動を制御する変色要因オブジェクト制御手段、
前記3次元仮想空間を移動可能なモデルを制御するモデル制御手段、
前記モデルの前記変色領域内に位置する領域内部分を検出する領域内部分検出手段、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段、
として前記コンピュータを機能させるためのプログラム。
【請求項2】
前記モデルの部位毎の汚れ度合を、前記領域内部分検出手段の検出結果を用いて設定する汚れ度合設定手段として前記コンピュータを更に機能させ、
前記変色手段が、前記汚れ度合に基づいて前記領域内部分の色を変色させるように前記コンピュータを機能させる、
ための請求項1に記載のプログラム。
【請求項3】
前記汚れ度合設定手段が、前記領域内部分として検出された時間が継続するほど当該領域内部分の部位の前記汚れ度合を増加させる、
ように前記コンピュータを機能させるための請求項2に記載のプログラム。
【請求項4】
前記変色要因オブジェクト制御手段が、前記変色源又は前記変色源近傍所定位置から前記変色要因オブジェクトを発生させ、
前記汚れ度合設定手段が、前記変色源に近いほど前記汚れ度合の増加の割合を高める、
ように前記コンピュータを機能させるための請求項3に記載のプログラム。
【請求項5】
前記汚れ度合設定手段が、前記領域内部分検出手段により検出されない時間が継続するほど前記汚れ度合を減少させる、
ように前記コンピュータを機能させるための請求項2〜4の何れか一項に記載のプログラム。
【請求項6】
前記変色領域に汚れ方向を設定する汚れ方向設定手段として前記コンピュータを更に機能させ、
前記変色要因オブジェクト制御手段が、前記変色要因オブジェクトを前記汚れ方向に沿って移動させ、
前記汚れ度合設定手段が、前記領域内部分の前記汚れ方向への対向角を更に用いて、前記汚れ度合を設定する、
ように前記コンピュータを機能させる、
ための請求項2〜5の何れか一項に記載のプログラム。
【請求項7】
前記汚れ度合設定手段が、前記モデルの部位毎に定められた汚れムラ情報を更に用いて、前記汚れ度合を設定する、
ように前記コンピュータを機能させるための請求項2〜6の何れか一項に記載のプログラム。
【請求項8】
前記変色領域設定手段が、前記変色領域の移動、変形および消滅のうちの何れかを制御する変色領域制御手段を有する、
ように前記コンピュータを機能させるための請求項1〜7の何れか一項に記載のプログラム。
【請求項9】
前記変色領域に汚れ付与度合を設定する汚れ付与度合設定手段として前記コンピュータを更に機能させ、
前記変色手段が、前記変色領域に設定された前記汚れ付与度合を用いて、前記領域内部分の色を変色させるように前記コンピュータを機能させる、
ための請求項8に記載のプログラム。
【請求項10】
前記変色領域制御手段が、所与の時間経過後に前記変色領域を消滅させ、
前記変色要因オブジェクト制御手段が、前記変色領域の消滅に合わせて前記変色要因オブジェクトを消滅させ、
前記汚れ付与度合設定手段が、時間経過に伴って前記汚れ付与度合を徐々に低減させる、
ように前記コンピュータを機能させるための請求項9に記載のプログラム。
【請求項11】
請求項1〜10の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
【請求項12】
3次元仮想空間の画像を生成する画像生成装置であって、
前記3次元仮想空間に変色源を設定する変色源設定手段と、
前記変色源に基づいて変色領域を設定する変色領域設定手段と、
前記変色領域内での変色要因オブジェクトの発生及び移動を制御する変色要因オブジェクト制御手段と、
前記3次元仮想空間を移動可能なモデルを制御するモデル制御手段と、
前記モデルの前記変色領域内に位置する領域内部分を検出する領域内部分検出手段と、
前記領域内部分検出手段により検出された前記モデルの前記領域内部分の色を所与の汚れ色に近づけるように変色させる変色手段と、
を備えた画像生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−155570(P2012−155570A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−14812(P2011−14812)
【出願日】平成23年1月27日(2011.1.27)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】