(57)【要約】【課題】より簡単にそれでいて十分に「それらしく」見えるように液状体を表現することである。特に物体を伝い流れ下る液状体の様子を表現すること。【解決手段】液状体を流下させるモデルに設定した発汗領域のポリゴンの辺から開始辺２２を選択する。流下ベクトルＦＬを基準にして、開始辺２２を含むポリゴンの辺の中から対象辺２４を選択する。予め上から下に流れる汗を表す汗テクスチャを用意しておいて、開始辺２２に当該汗テクスチャの上辺を対応させ、対象辺２４に汗テクスチャの下辺を対応させるようにテクスチャマッピングする。以降、今回の対象辺２４を次の開始辺として設定し、当該次の開始辺に対応する対象辺２４を選択し、それらを含むポリゴンに汗テクスチャを適用することを順次行う。【選択図】図４
2012155571.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）と言った通信回線１と有線又は無線接続し、外部装置（特に同型の他の業務用ゲーム装置やマッチングサーバ）との間でデータ通信を実現する。そして、制御ユニット１３１０は、搭載されているＩＣメモリやハードディスクなどの情報記憶媒体からシステムプログラムやゲームプログラムを読み出して演算処理し、業務用ゲーム装置１３００の各部を制御する。
【０１３５】
コインカウンタ１３４０で所定額のコインの投入を検出したならば、制御ユニット１３１０がゲームプログラムを読み出して実行し、業務用ゲーム装置１３００は本発明を実現する画像生成装置として機能する。そして、業務用ゲーム装置１３００は、他ゲーム装置から受信した操作入力コードと自ゲーム装置への操作入力に基づく操作入力コードとに基づいて、仮想３次元空間内に形成されたゲーム空間に配置されたプレーヤキャラクタの動作等を制御する。そして、その様子を仮想カメラで撮影した画像をレンダリングする際に、液状体が流れる様子を描画して、ゲーム空間画像を生成する。そして、ゲーム空間画像に各種情報表示を合成してゲーム画面として生成する。また、適当なタイミングでＢＧＭや効果音などのゲーム音を生成する。
【０１３６】
生成されたゲーム画面はビデオモニタ１３２２で表示され、生成されたゲーム音はスピーカ１３２４で放音される。プレーヤはビデオモニタ１３２２に映し出されるゲーム画面を見つつ、スピーカ１３２４から放音されるゲーム音を聞きつつゲームをプレイする。
【０１３７】
［その２］
また、上記実施形態では格闘ゲームを実行する例を説明したが適用可能なゲームジャンルはこれに限らず、ゲーム内において液状体が流れる様子を表現するのであれば、特にジャンルは問わない。例えば、ＲＰＧ（ロールプレイングゲーム）に適用し、山肌をながれる岩清水の流れを表現するのにも本発明を適用できる。
【０１３８】
［その３］
また、液状体は、伝う相手の物体（上記実施形態では、相手キャラクタ４）に由来するものに限らない。例えば図２１に示すように、自動車５に当る雨や、他の自動車が跳ね上げた泥水を液状体としても良い。その場合、液状体の発生領域を自動車５の窓やボディ上部、ボンネット等とし、重力Ｇとともに、外力として自動車５に作用する風力Ｆｗを設定すると、液状体がそのボディや窓を伝う様子を簡単にそれでいて自然に表現することができる。
【０１３９】
［その４］
また、上記実施形態では、流下の延長部分をポリゴン一つずつ選択する構成としたが、一度に複数個選択するとしても良い。その場合、連接する複数個（例えば２個や３個）のポリゴンで形成される多角形を延長部分の単位として、開始辺２２と対象辺２４との選択を順次繰り返し行えばよい。また、ポリゴンを三角形であるとしたが、四角形であってもよい。
【０１４０】
［その５］
また、開始辺２２と対象辺２４とを選択するタイミングは、上記実施形態では開始辺２２と対象辺２４を含むポリゴンへの色づけが完了してからとしているが、例えば汗描画順５４８が最終値に到達する前に、先読み的に次の開始辺２２と対象辺２４との選択を開始するとしても良い。
【０１４１】
［その６］
また、上記実施形態では、流れる過程が異なる様子を表す複数の汗テクスチャ５１４ａ〜５１４ｄを用い、描画順に従って適用するテクスチャを切換えることで、液状体の流下する長さが徐々に長くなるように色づけする構成としたが、一つのポリゴンに対する色づけ方法はこれに限らない。
【０１４２】
例えば、図２２に示すように、１枚の汗テクスチャ５１４ｅを用意しておく。一方、描画順５４８を描画回数と見なし、描画順５４８が所定回数（例えば、４回）に到達するまで汗テクスチャ５１４ｅを、汗描画サイクルタイマー５５０が計時される都度、図５で示したのと同様にしてｕｖマッピングし５０％半透明合成することを繰り返す。より具体的には、図１８のステップＳ４２にて対象のポリゴンと汗テクスチャ５１４ｅとの５０％対５０％の半透明合成を実行し、対象のポリゴンの色情報を更新する。結果、図２３に示すように、徐々に汗が流れた跡を濃くしていくようにして、流れる汗を表現することができる。この構成の場合、汗テクスチャ５１４は１枚で済み、汗それぞれの管理も簡単になる。尚、５０％半透明合成でなくとも、７０％等でもよいことは勿論である。
【符号の説明】
【０１４３】
２  プレーヤキャラクタ
４  相手キャラクタ
２０  発汗領域
２２  開始辺
２４  対象辺
２６  中点ベクトル
２００  処理部
２１０  ゲーム演算部
２１２  汗描画制御部
２１４  流下開始位置選択部
２１６  延長部分設定部
２１８  流下方向設定部
２２０  開始辺選択部
２２２  対象辺選択部
２２４  流下経路停止部
２２６  飛散表示判定部
２２８  ｕｖマップ生成部
２３０  進行可変部
２３２  飛散制御部
５００  記憶部
５０２  ゲームプログラム
５０４  キャラクタ設定データ
５０６  キャラクタモデルデータ
５１０  発汗領域設定データ
５１２  汗表示不要領域設定データ
５１３  汗テクスチャライブラリ
５１４  汗テクスチャ
５１６  飛散用汗モデルデータ
５２０  ゲーム空間設定データ
５２８  プレイデータ
５３０  汗表現データ
５３６  頂点別流下ベクトルリスト
５３８  開始辺データ
５４４  汗飛びフラグ
５４６  対象辺データ
５４８  汗描画順
１４００  携帯型ゲーム装置
１４０１  装置本体
１４０４  ボタンスイッチ
１４０６  第１液晶ディスプレイ
１４０７  タッチパネル
１４０８  第２液晶ディスプレイ
１４０９  タッチパネル
１４５０  制御ユニット
【図１】
2012155571.tif 000003
【図２】
2012155571.tif 000004
【図３】
2012155571.tif 000005
【図４】
2012155571.tif 000006
【図５】
2012155571.tif 000007
【図６】
2012155571.tif 000008
【図７】
2012155571.tif 000009
【図８】
2012155571.tif 000010
【図９】
2012155571.tif 000011
【図１０】
2012155571.tif 000012
【図１１】
2012155571.tif 000013
【図１２】
2012155571.tif 000014
【図１３】
2012155571.tif 000015
【図１４】
2012155571.tif 000016
【図１５】
2012155571.tif 000017
【図１６】
2012155571.tif 000018
【図１７】
2012155571.tif 000019
【図１８】
2012155571.tif 000020
【図１９】
2012155571.tif 000021
【図２０】
2012155571.tif 000022
【図２１】
2012155571.tif 000023
【図２２】
2012155571.tif 000024
【図２３】
2012155571.tif 000025