(57)【特許請求の範囲】
【請求項１】
コンピュータにより仮想３次元空間に降雨シーンを構築し、そのシーンを仮想カメラで撮影した画像を生成する方法であって、前記降雨シーン内には、所定のポリゴンを複数のフレームに亘って降雨方向と異なる方向に移動するように配置し、そのポリゴンには複数の水滴を表現した半透明のテクスチャをマッピングすることを特徴とする画像の生成方法。
【請求項２】
前記ポリゴンを拡大させつつ前記降雨方向とは異なる方向に移動させることを特徴とする請求項１に記載の画像の生成方法。
【請求項３】
前記ポリゴンの各頂点に前記仮想３次元空間にて作用する重力加速度を考慮した落下運動を与えることを特徴とする請求項１又は２に記載の画像の生成方法。
【請求項４】
前記仮想３次元空間における前記ポリゴンの向きを漸次変化させながら当該ポリゴンを前記降雨方向とは異なる方向に移動させることを特徴とする請求項１〜３のいずれか１項に記載の画像の生成方法。
【請求項５】
前記ポリゴンを、その表面に沿って設定された所定の回転軸線を中心として回転させつつ前記降雨方向とは異なる方向に移動させることを特徴とする請求項１〜３のいずれか１項に記載の画像の生成方法。
【請求項６】
複数の前記ポリゴンをひとかたまりとして前記降雨方向とは異なる方向に移動させることを特徴とする請求項１〜５のいずれか１項に記載の画像の生成方法。
【請求項７】
前記複数のポリゴンのそれぞれの向きを互いに異ならせることを特徴とする請求項６に記載の画像の生成方法。
【請求項８】
前記複数のポリゴンのそれぞれの移動開始位置を互いに異ならせることを特徴とする請求項６又は７に記載の画像の生成方法。
【請求項９】
前記降雨シーンには前記ポリゴンを時間をずらして複数回配置し、それら時間差が付けられたポリゴンの移動開始位置及び移動方向の少なくともいずれか一方を互いに異ならせることを特徴とする請求項１〜８のいずれか１項に記載の画像の生成方法。
【請求項１０】
コンピュータにより仮想３次元空間に降雨シーンを構築し、そのシーンを仮想カメラで撮影した画像を生成する方法であって、前記降雨シーン内には、所定のポリゴンを複数のフレームに亘って降雨方向と異なる方向に移動するように配置し、そのポリゴンには複数の水滴を表現した半透明のテクスチャをマッピングすることを特徴とするプログラム。
【請求項１１】
前記ポリゴンを拡大させつつ前記降雨方向とは異なる方向に移動させるように構成されていることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記ポリゴンの各頂点に前記仮想３次元空間にて作用する重力加速度を考慮した落下運動を与えるように構成されていることを特徴とする請求項１０又は１１に記載のプログラム。
【請求項１３】
前記仮想３次元空間における前記ポリゴンの向きを漸次変化させながら当該ポリゴンを前記降雨方向とは異なる方向に移動させるように構成されていることを特徴とする請求項１０〜１２のいずれか１項に記載のプログラム。
【請求項１４】
前記ポリゴンを、その表面に沿って設定された所定の回転軸線を中心として回転させつつ前記降雨方向とは異なる方向に移動させるように構成されていることを特徴とする請求項１０〜１２のいずれか１項に記載のプログラム。
【請求項１５】
複数の前記ポリゴンをひとかたまりとして前記降雨方向とは異なる方向に移動させるように構成されていることを特徴とする請求項１０〜１４のいずれか１項に記載のプログラム。
【請求項１６】
前記複数のポリゴンのそれぞれの向きを互いに異ならせるように構成されていることを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記複数のポリゴンのそれぞれの移動開始位置を互いに異ならせるように構成されていることを特徴とする請求項１５又は１６に記載のプログラム。
【請求項１８】
前記降雨シーンには前記ポリゴンを時間をずらして複数回配置し、それら時間差が付けられたポリゴンの移動開始位置及び移動方向の少なくともいずれか一方を互いに異ならせるように構成されていることを特徴とする請求項１０〜１７のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックス技術を利用して降雨状態をリアルに表現する画像の生成方法に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスにより雨が降っている様子を表現する方法として、雨粒の一粒ずつをポリゴンモデルによって描画し、フレーム毎に雨粒のそれぞれの位置を演算してリアルに降雨状態を表現することが試みられている。
【０００３】
【発明が解決しようとする課題】
従来の降雨状態の画像の生成方法は、仮想３次元空間の風向き等を考慮した一定の降雨方向に雨滴のポリゴンモデルを移動させるだけであった。しかしながら、現実の世界において、例えば暴風雨時には雨滴が上から下のみならず側方からも飛び込むようになる。こうした画像をコンピュータグラフィックスで生成することはこれまで十分に検討されていない。
【０００４】
そこで、本発明は、降雨状態を従来に増してリアルに表現できる画像の生成方法及びその方法の実現に使用するコンピュータプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【０００６】
本発明の画像の生成方法は、コンピュータにより仮想３次元空間（１）に降雨シーンを構築し、そのシーンを仮想カメラ（３）で撮影した画像を生成する方法であって、前記降雨シーン内には、所定のポリゴン（４）を複数のフレームに亘って降雨方向と異なる方向に移動するように配置し、そのポリゴンには複数の水滴（５ａ）を表現した半透明のテクスチャ（５）をマッピングするものである。
【０００７】
この発明の画像の生成方法によれば、降雨方向とは異なる方向に移動するポリゴン上に複数の水滴を表現したテクスチャがマッピングされるので、細かな水しぶきがあたかも風にあおられて横に飛んでいる様子をよく表現することができる。これにより、暴風雨時のような画像をリアルに生成することができる。
【０００８】
本発明の画像の生成方法においては、前記ポリゴンを拡大させつつ前記降雨方向とは異なる方向に移動させることが好ましい。この場合には、テクスチャによって表現される水滴の間隔が次第に拡大する。従って、各水滴があたかも別々に運動してるように見えるようになり、ポリゴンの大きさを一定としたまま移動させる場合と比較して画像のリアリティが向上する。
【０００９】
また、前記ポリゴンの各頂点には、前記仮想３次元空間にて作用する重力加速度を考慮した落下運動を与えるとよい。この場合には、水しぶきがあたかも放物線のような軌跡を描きながら飛び散る様子が表現でき、画像のリアリティが向上する。
【００１０】
前記仮想３次元空間における前記ポリゴンの向きを漸次変化させながら当該ポリゴンを前記降雨方向とは異なる方向に移動させてもよい。このようにポリゴンの向きを変えながらこれを移動させた場合には、ポリゴンに貼られたテクスチャの見え方が漸次変化する。従って、ポリゴンの存在が一層目立たないようになり、画像のリアリティが向上する。
【００１１】
前記ポリゴンを、その表面に沿って設定された所定の回転軸線を中心として回転させつつ前記降雨方向とは異なる方向に移動させてもよい。この場合も、ポリゴンの回転に伴って、それに貼られたテクスチャの見え方が漸次変化する。従って、ポリゴンの存在が一層目立たないようになり、画像のリアリティが向上する。
【００１２】
複数の前記ポリゴンをひとかたまりとして前記降雨方向とは異なる方向に移動させてもよい。このようにすれば、一枚のポリゴンのみを降雨シーンに配置する場合と比較して水しぶきを多彩に表現できるようになる。
【００１３】
前記複数のポリゴンのそれぞれの向きを互いに異ならせてもよい。一枚のポリゴンのみを配置した場合にはその側方に視点が設定されたときにポリゴンに貼らたテクスチャが観察できない不都合があるが、複数のポリゴンを向きを変えて配置したときにはいずれかのポリゴンのテクスチャが観察できるようになる。
【００１４】
前記複数のポリゴンのそれぞれの移動開始位置を互いに異ならせてもよい。この場合、画像の様々な位置に水しぶきが観察されるようになり、迫力のある暴風雨のシーンを生成できる。
【００１５】
前記降雨シーンには前記ポリゴンを時間をずらして複数回配置し、それら時間差が付けられたポリゴンの移動開始位置及び移動方向の少なくともいずれか一方を互いに異ならせてもよい。
【００１６】
また、本発明のプログラムは、コンピュータを利用して仮想３次元空間（１）に降雨シーンを構築して降雨状態の画像を生成するためのプログラムであって、前記降雨シーン内に所定のポリゴン（４）を複数のフレームに亘って降雨方向とは異なる方向に移動するように配置する処理と、そのポリゴンに複数の水滴（５ａ）を表現した半透明のテクスチャ（５）をマッピングする処理とを前記コンピュータに実行させるように構成されたものである。
【００１７】
このプログラムをコンピュータで読み取って実行することにより、本発明の画像の生成方法を実施することができる。
【００１８】
なお、本発明のプログラムは、次に述べるように、上述した生成方法の好ましい態様を備えることができる。すなわち、本発明のプログラムは、前記ポリゴンを拡大させつつ前記降雨方向とは異なる方向に移動させるように構成されてもよい。前記ポリゴンの各頂点に前記仮想３次元空間にて作用する重力加速度を考慮した落下運動を与えるように構成されてもよい。前記仮想３次元空間における前記ポリゴンの向きを漸次変化させながら当該ポリゴンを前記降雨方向とは異なる方向に移動させるように構成されてもよい。前記ポリゴンを、その表面に沿って設定された所定の回転軸線を中心として回転させつつ前記降雨方向とは異なる方向に移動させるように構成されてもよい。複数の前記ポリゴンをひとかたまりとして前記降雨方向とは異なる方向に移動させるように構成されてもよい。前記複数のポリゴンのそれぞれの向きを互いに異ならせるように構成されてもよい。前記複数のポリゴンのそれぞれの移動開始位置を互いに異ならせるように構成されてもよい。前記降雨シーンには前記ポリゴンを時間をずらして複数回配置し、それら時間差が付けられたポリゴンの移動開始位置及び移動方向の少なくともいずれか一方を互いに異ならせるように構成されてもよい。
【００１９】
さらに、本発明のプログラムは記憶媒体に記録されて使用者に提供されてもよいし、有線又は無線の伝送媒体に乗せて使用者に提供されてもよい。
【００２０】
【発明の実施の形態】
図１は本発明の一実施形態を示している。図１（ａ）は仮想３次元空間１に降雨シーンが構築された例を示している。仮想３次元空間１にはＸ，Ｙ，Ｚの三軸直交座標系であるワールド座標系が設定され、そこには雨粒を表すポリゴン２…２や仮想カメラ３が配置される。Ｙ軸方向は鉛直方向に相当する。
【００２１】
ポリゴン２は、図中に矢印Ｗで示す降雨方向に延びる所定長さの線状ポリゴンである。降雨方向は仮想３次元空間１に設定される風向き等を考慮して定められる。その他にも、地形やキャラクタ等を表現する各種のオブジェクトが降雨シーンに配置されるが、それらについては図示を省略している。シーンの構築が終わると、仮想３次元空間１に配置されたポリゴン２等の頂点座標についてのワールド座標系から視点座標系へと座標変換が行われ、その視点座標系に基づいて仮想スクリーン（不図示）への投影が行われてポリゴン２等の頂点がスクリーン座標系の２次元座標に変換される。この後、テクスチャマッピング等のレンダリング処理が行われて３次元画像が生成される。
【００２２】
上述したポリゴン２では、一定の方向に雨粒が降っている様子を表現できても、降雨方向とは異なる方向に水しぶきが飛び散っている様子を表現することは難しい。そこで、本実施形態では矩形状のポリゴン４を仮想３次元空間１に配置し、これを降雨方向とは異なる方向に移動させるとともに、そこには図１（ｂ）に示すように複数の水滴５ａを表現した半透明のテクスチャ５をマッピングすることとした。ポリゴン４の移動は次のようにして行われる。
【００２３】
まず、仮想３次元空間１の適当な位置を移動開始位置Ｐｓとして定め、そこにポリゴン４を配置する。この移動開始位置はそのポリゴン４を配置した時点でポリゴン４が仮想カメラ３の視野（撮影範囲）に含まれないように定める。つまり、ポリゴン４を配置した時点ではポリゴン４が画面に見えないようにする。また、移動開始位置は常に一定である必要はなく、ポリゴン４を配置する毎に互いに異なる位置を移動開始位置として定めてよい。つまり、降雨シーンにはポリゴン４を時間をずらして複数配置することができ、それら時間差が付けられたポリゴン４の移動開始位置や移動方向の少なくともいずれか一方を互いに異ならせてもよい。
【００２４】
次に、ポリゴン４の全体に速度ベクトルＶ０を与えるとともに、各頂点にもポリゴン４の表面に沿った速度ベクトルＶ１〜Ｖ４を与える。速度ベクトルＶ０はポリゴン４の移動方向を示すもので、降雨方向とは異なる方向に設定される。各頂点の速度ベクトルＶ１〜Ｖ４は移動に伴ってポリゴン４を漸次拡大させるために与えるものである。例えば図１（ａ）においてポリゴン４の例えば左下に移動開始位置Ｐｓがあるとすれば、その移動開始位置Ｐｓからの距離が大きい頂点ほど速度ベクトルを大きくする。このように、ポリゴン４を拡大させながら移動させた場合、テクスチャ５が漸次引き延ばされるようになり、水滴５ａの間隔が次第に拡大するようになる。また、ポリゴン４には仮想３次元空間１に作用する重力方向を考慮した速度ベクトルＶｇも与えられる。これにより、横に飛び散った水滴５ａが徐々に落下していく様子が表現される。
【００２５】
さらに、ポリゴン４には適当な回転軸線６を中心として回転運動も与えられる。これにより、図示の如くポリゴン４はＹ軸方向に立った状態から水平に倒れるようにその姿勢を変える。以上より、ポリゴン４の各頂点の速度ベクトルは、速度ベクトルＶ１〜Ｖ４のいずれかと、速度ベクトルＶ０及びＶｇと、軸線６を中心とした回転運動の接線方向に働く速度ベクトルとを合成したベクトルとして与えられる。
【００２６】
ポリゴン４の上述した運動は、仮想カメラ３によって撮影される複数のフレーム（例えば６〜８フレーム）に亘って行われる。それらのフレームの集合として構成される動画像では、ポリゴン４が引き延ばされつつ放物線を描くように仮想３次元空間１内を移動するために、ポリゴン４にマッピングされたテクスチャ５によって表現される各水滴５ａの間隔や見える角度が漸次変化する。つまり、テクスチャ５によって表現される水滴５ａは、それぞれ互いに異なる運動をしているように見える。仮に、ポリゴン４を同一のサイズのまま同一の向きで運動させた場合には水滴５ａがすべて同一の動きをしているように見えるので、これと比較して水しぶきがよりリアルに表現されることになる。
【００２７】
図２は、以上の方法において使用されるテクスチャ５の実例を、図３はポリゴン４を一フレームの降雨シーンに配置した実例をそれぞれ示している。なお、図２では観察を容易にするために階調を反転させている。また、図３ではポリゴン４を明確化するために半透明の白色に着色して示している。図３から明らかなように複数のポリゴンをひとかたまりとして降雨シーンに配置し、各ポリゴンに上述した運動を与えている。この場合において、複数のポリゴンのそれぞれの向きは互いに異なっており、また、複数のポリゴンのそれぞれの移動開始位置も互いに異なっている。これらのポリゴンそれ自体は透明とし、各ポリゴン上の座標と図２のテクスチャに設定されたＵ−Ｖ座標とを１：１に対応付けてテクスチャの各ピクセルの色をポリゴンにマッピングすれば、水しぶきが飛び散っている様子が表現できる。これらのポリゴンにによって表現される水しぶきと、図１の雨滴を示すポリゴン２によって表現される降雨とが相俟って暴風雨の状態をよく表現できる。
【００２８】
以上に説明した画像の表現方法は様々な分野の３次元画像処理において利用できるものである。その一例としてコンピュータを利用したゲーム機にて本発明の表現方法を実施する例を図４及び図５により説明する。
【００２９】
図４はコンピュータを利用したゲーム機の典型的な制御系のブロック図である。周知のように、コンピュータとしてのゲーム機１０は、記憶媒体（例えばＤＶＤ−ＲＯＭ）２５に記録されたゲーム用プログラムに従って所定のゲームを実行するものであり、マイクロプロセッサを主体として構成されたＣＰＵ１１と、そのＣＰＵ１１に対する主記憶装置としてのＲＯＭ１２及びＲＡＭ１３と、ＣＰＵ１１からの指示に基づいて画像処理及び音声処理に適した処理を行なう画像処理装置１４及びサウンド処理装置１６と、記憶媒体からデータ等を読み取るための記憶媒体読取装置１８とを有している。ＲＯＭ１２には、ゲーム機１０の全体の動作制御に必要なプログラムとしてのオペレーティングシステムが書き込まれる。ＲＡＭ１３には記憶媒体としてのＤＶＤ−ＲＯＭ２５から読み取ったゲーム用のプログラムやデータが必要に応じて書き込まれる。画像処理装置１４はＣＰＵ１１から画像データを受け取って内蔵するフレームバッファ（不図示）上にゲーム画面に対応した画像データを展開するとともに、その描画された画像データを所定のビデオ再生信号に変換して所定のタイミングでモニタ１９に出力する。サウンド処理装置１６は、ＤＶＤ−ＲＯＭ２５から読み出された音声、楽音等のデータや音源データ等を再生してスピーカ２０から出力させる。読取装置１８は、ＣＰＵ１１からの指示に従ってＤＶＤ−ＲＯＭ２５上に記録されたプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。ＤＶＤ−ＲＯＭ２５には、本発明に係る画像の表現方法の実施に必要なプログラムやデータが記録されている。モニタ１９には家庭用のテレビ受像機が、スピーカ２０にはそのテレビ受像機の内蔵スピーカが一般に使用される。さらに、ＣＰＵ１１にはバス２４を介して入力装置２２及び外部記憶装置２３がそれぞれ接続される。外部記憶装置２３は例えば不揮発性の半導体メモリ、ハードディスク、光磁気ディスク等の書換えが可能な記憶装置である。このような構成はあくまで一例であり、本発明の画像の生成方法が適用されるコンピュータの構成は適宜変更されてよい。
【００３０】
記憶媒体としてのＤＶＤ−ＲＯＭ２５に記録されるプログラムには、上述した方法により降雨シーンを構築してその画像を生成するために必要な手順を記述したモジュールが含まれる。また、ＤＶＤ−ＲＯＭ２５に記録されるデータには、上述した方法を実現するために必要なデータとして、各種のオブジェクトを構成するポリゴンモデルのデータや各種のテクスチャのデータが含まれる。上述した雨滴を示すポリゴンや水しぶき用のポリゴン及びテクスチャのデータもこれらの中に含まれる。
【００３１】
暴風雨状態の画像を生成するためのプログラムモジュールは、各フレームの画像データを生成する処理において、本発明に従って暴風雨の状態を表現する必要がある場合に呼び出されてＣＰＵ１１により実行される。図５はそのプログラムモジュールに従って実行される処理の概要を示すフローチャートである。なお、図１に示したポリゴン４及びテクスチャ５に拘わる部分以外の処理には公知の技術をそのまま利用することができ、本明細書ではそれらの説明を省略する。
【００３２】
図５の処理では、まず、水しぶき用のポリゴン４を配置する起点（移動開始位置）を決定し（ステップＳ１）、続いてポリゴン４の各頂点の速度ベクトルを設定する（ステップＳ２）。ここで与える速度ベクトルの決め方は上述した通りである。続いて、与えられた速度ベクトルに基づいて次フレームにおけるポリゴン４の各頂点の座標を演算する（ステップＳ３）。その後、演算された頂点座標を参照してテクスチャ５をマッピングし（ステップＳ４）、その結果に基づく画像を所定のバッファに描画する（ステップＳ５）。次フレームに関する処理が終わると、続いて次々フレームでもポリゴン４を描くか否かを所定の条件に従って判別する（ステップＳ６）。例えば、ポリゴン４が仮想カメラ３の視野から外れかけているような場合には次々フレームに関する描画をしないものと設定し、図５の処理を終える。あるいは、一つのポリゴン４について最大フレーム数を設定しておき、その最大フレーム数まで描画を繰り返したら次々フレームは描画しないものと決めておく。
【００３３】
そして、ステップＳ６が肯定されるとステップＳ２へ戻り、否定されると図５の処理を終える。なお、仮想３次元空間１に複数のポリゴン４が配置される場合には、各ポリゴン４について独立して図５の処理を行えばよい。
【００３４】
以上の実施形態はあくまで本発明の一例であり、本発明は種々の形態で実施してよい。例えば、テクスチャの内容は種々変更してもよく、水滴以外の要素がテクスチャに含まれていてもよい。ポリゴン４の各頂点に対する速度の設定は例えば次のようにしてもよい。
【００３５】
速度Ｖ１，Ｖ２，Ｖ３，Ｖ４に対応する頂点をそれぞれＰ１，Ｐ２，Ｐ３，Ｐ４と仮定したとき、それらの頂点を生成する際に、頂点Ｐ１，Ｐ３を結ぶ線分の方向と速度Ｖ０の方向とを一致させ、頂点Ｐ２，Ｐ４を結ぶ線分の中点と頂点Ｐ１，Ｐ３を結ぶ線分の中点とを一致させるようにする。そして、フレーム毎に各頂点の速度Ｖ１〜Ｖ４に重力加速度による速度増加分を加えるとともに、前回のフレームの頂点座標には速度Ｖ１，Ｖ２，Ｖ３，Ｖ４による座標の変化量を加える。このように各頂点の座標及び速度を変化させる場合、４つの頂点のそれぞれに互いに異なる速度を対応させ、かつそれらには重力加速度を与えるので、回転軸線６の周りに格別の回転運動を加えなくてもポリゴン４が自然と水平方向に倒れるようになる。なお、初期化時にポリゴン４が平面性を保つように４つの頂点Ｐ１〜Ｐ４とそれらの速度Ｖ１〜Ｖ４を設定すれば、４つの頂点が同一平面上にあるという前提は維持される。
【００３６】
【発明の効果】
以上に説明したように、本発明の画像の生成方法によれば、降雨方向とは異なる方向に移動するポリゴン上に複数の水滴を表現したテクスチャがマッピングされるので、細かな水しぶきがあたかも風にあおられて横に飛んでいる様子をよく表現することができる。これにより、暴風雨時のような画像をリアルに生成することができる。
【図面の簡単な説明】
【図１】本発明による水しぶきを表現する画像の生成方法を概念的に示す図。
【図２】図１の方法で使用されるテクスチャの実例を示す図。
【図３】実際の画像の一フレームに配置された複数のポリゴンを示す図。
【図４】本発明の生成方法を実行するゲーム機のブロック図。
【図５】図４のゲーム機のＣＰＵが暴風雨を表現するために実行する暴風雨表現処理を示すフローチャート。
【符号の説明】
１  仮想３次元空間
２  雨滴を表現するポリゴン
３  仮想カメラ
４  水しぶき用のポリゴン
５  水しぶき用のテクスチャ
【図１】
0003609030.tif 000002
【図２】
0003609030.tif 000003
【図３】
0003609030.tif 000004
【図４】
0003609030.tif 000005
【図５】
0003609030.tif 000006