JP4688407B2 - Information storage medium and game device - Google Patents
Information storage medium and game device Download PDFInfo
- Publication number
- JP4688407B2 JP4688407B2 JP2003124237A JP2003124237A JP4688407B2 JP 4688407 B2 JP4688407 B2 JP 4688407B2 JP 2003124237 A JP2003124237 A JP 2003124237A JP 2003124237 A JP2003124237 A JP 2003124237A JP 4688407 B2 JP4688407 B2 JP 4688407B2
- Authority
- JP
- Japan
- Prior art keywords
- cloud
- virtual camera
- setting
- texture
- transparency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、オブジェクト空間を仮想カメラから見た画像を生成し、当該生成画像を表示させることによって所与のゲームを実行するためのゲーム情報、情報記憶媒体及びゲーム装置に関する。
【0002】
【従来の技術】
従来、テレビゲーム装置等の画像において、雲を表現する際には、処理を軽減するために、一枚の平面状のポリゴンに雲のテクスチャをマッピングした雲オブジェクトをオブジェクト空間に複数水平に設定して、雲を表現していた。しかしながら、例えば、飛行機を操縦するゲームなどにおいて、操縦者の視点から見た画像を生成する場合には、仮想カメラ(視点)が雲と水平となることもあり、雲に厚味がないことが分かってしまうといった問題があった。そのため、雲オブジェクトを常に仮想カメラの視線方向に垂直に対向させるいわゆるビルボード処理を行なっていた。
【0003】
【発明が解決しようとする課題】
しかしながら、従来においては、雲のテクスチャをマッピングさせた1枚のポリゴンを、常に、仮想カメラに対する上下左右位置を固定し、かつ、仮想カメラの視線方向に垂直に配置する方法が採られていた。そのため、仮想カメラの位置や視線方向等が変化しても雲は全く変化しないため、違和感が生じるといった問題があった。またさらに、例えば視線方向の仰角あるいは俯角が大きくなると、±90°の角度を境にして、雲が反転して表現されてしまうといった問題があった。そのため、仮想カメラの位置や視線方向等の変化に対しても、違和感のない雲の表現が望まれていた。特にゲームにおいては、各フレームに係る処理を所与の時間内に行なわなければならないため、仮想カメラの位置や視線方向の変化に対して違和感のない雲を表現する際の、処理負担の増大を抑えなければならないといった問題もあった。
【0004】
本発明の課題は、仮想カメラの位置や視線方向の変化に対して、矛盾のない雲の表現を実現することである。
【0005】
【課題を解決するための手段】
以下、上記課題を解決するための手段を説明するが、その前に、本明細書を通じて使用する重要な用語である「雲素」および「雲状オブジェクト」について、その解釈を説明する。
【0006】
本明細書開示の技術は「雲」を如何に表現するかを主眼においた技術である。しかし、現実社会においては、「雲」の性質上、1つの「雲」は通常1つの「雲」であって、「小さい雲」が寄り集まって1つの「雲」を構成するとは考えないのが一般的である。コンピュータグラフィックスの分野においては、「雲」を粒子系(いわゆるパーティクル)により表現する手法が知られているが、この手法によれば、「雲」は「粒子(パーティクル)」の集合であって、「小さい雲」の集合ではない。しかし、本技術は粒子(パーティクル)1つ1つを制御するものではないため、「雲」を構成する単位が「粒子(パーティクル)」とは言い得ない。そこで、「雲」を構成する要素であり、単位であることを表すため「雲素」という言葉を用いている。
【0007】
上記趣旨より、本明細書を通じて雲素とは、雲状オブジェクトを構成する要素を特定するための言葉である。したがって、雲素の意には雲状オブジェクトも含まれる。即ち、雲状オブジェクト(例えば、小さい雲や、一側面のみを表した雲状オブジェクト)の集合体や、複数の雲状オブジェクトの択一的選択物等が1つの雲状オブジェクト(例えば、大きい雲や、一側面の側から見た雲状オブジェクト)であってもよいからである。また、雲素の意には、複数の粒子(パーティクル)の集合体も含まれる。即ち、雲状オブジェクトの構成要素には、複数の粒子を1つの単位とする場合も含まれるからである。
【0008】
また、「雲状オブジェクト」とは、次のことを意味する。即ち、本明細書開示の技術は「雲」を主眼においてはいるが、「雲」のみに本技術が適用可能であるのではないことを意味する。「雲状オブジェクト」とは、「煙」や「霧」、「もや」といった、そのあり方を「雲」と共通にするオブジェクトを含む意味である。
【0009】
第1の発明は、
プロセッサによる演算・制御により、第1の仮想カメラ(例えば、図2に示す仮想カメラ100)から見た第1のオブジェクト空間の画像を生成して、所与のゲームを実行することとなる第1の装置に対して、
前記第1の仮想カメラの所与の角度パラメータ(例えば、図2に示すピッチ角X)の値に応じて予め用意された複数種類の第1の雲素(例えば、図3に示す雲パーツA(122),雲パーツB(124))を、前記所与の角度パラメータの現在値に応じた所与の割合で合成処理することにより、前記第1のオブジェクト空間に前記第1の仮想カメラに向けて配置される板状体の第1の雲状オブジェクト(例えば、実施の形態における小雲ビルボード)に反映させるテクスチャ情報(例えば、図4に示す小雲テクスチャ102)を生成する第1の生成手段(例えば、図31に示す小雲描画部632)、を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0010】
ここで、第1の装置は、コンピュータ装置であってもよいし、携帯用/家庭用/業務用のゲーム装置であってもよい。所与の角度パラメータとは、第1の仮想カメラを第1のオブジェクト空間に設定する上で必要となる、第1の仮想カメラに係る角度パラメータのことであり、例えば、第1の仮想カメラのロール角やピッチ角、ヨー角といった角度のことである。また、所与の割合での合成処理には、例えば、第1の雲素が2つであって、1:0や0:1の割合で合成処理する場合、即ち、第1の雲素を切り換える場合も含む。
【0011】
この第1の発明によれば、例えば、第1の雲状オブジェクトの一側面(例えば、正面)と他側面(例えば、裏面)を表す2つの第1の雲素を用意し、第1の仮想カメラの視線方向に応じて、その第1の雲素を切り換えること等が可能である。即ち、第1の雲状オブジェクトは第1の仮想カメラに向けて配置されるため、例えば、第1の雲状オブジェクトの正面と裏面を矛盾なく、かつ容易に表現することが可能である。
【0012】
また更に、第1の仮想カメラの「角度パラメータの現在値に応じ」て、第1の雲状オブジェクトに反映されるテクスチャ情報が生成されるため、第1のオブジェクト空間に第1の雲状オブジェクトを配置する際、第1の雲状オブジェクトの上下左右方向を考慮する必要がない。即ち、例えば、第1の仮想カメラのロール角が変化する場合には、第1の雲状オブジェクトを、当該ロール角に応じて回転させる必要が生じるが、そのロール角に応じてテクスチャ情報が生成されるため、第1の雲状オブジェクトは、単に、第1のオブジェクト空間に配置するだけ(より正確には、第1のオブジェクト空間には、第1の雲状オブジェクトを配置する位置を決定するだけ)で済む。
【0013】
第2の発明は、第1の発明のゲーム情報であって、
前記第1の雲素は少なくとも透明度情報(例えば、実施の形態におけるα値)を含む色情報を有するテクスチャ情報であり、
前記第1の生成手段に対して、前記複数種類の第1の雲素の色情報を、前記所与の割合で合算することにより前記複数種類の第1の雲素を合成処理する、ように機能させるための情報(例えば、実施の形態における式(2)、(3))を含むことを特徴としている。
【0014】
この第2の発明によれば、第1の雲素の合成処理は、色情報の合算で済む。また、色情報が透明度情報だけの場合には、色情報の合算演算をさらに容易に済ませることができる。即ち、例えば、第1の雲状オブジェクトの色を「白色」として予め設定しておけば、透明度情報の演算のみで、簡単に、描画される第1の雲状オブジェクトの色を決定することができる。
【0015】
第3の発明は、第2の発明のゲーム情報であって、
前記第1の装置に対して、所与のアニメーション(例えば、図7に示す気流テクスチャ104)を前記第1の雲素の色情報に反映させるアニメーション反映手段、を機能させるための情報を含むことを特徴とする。
【0016】
この第3の発明によれば、第1の雲素の色情報が時間経過に従って変化するため、気流の様子を表現することができる。
【0017】
この場合、さらに第4の発明のように、第3の発明のゲーム情報に、
前記アニメーション反映手段に対して、前記第1の雲素に反映させる前記所与のアニメーションの向き、縮尺、及び部分の内少なくとも1つを変更する、ように機能させるための情報を含ませることとしてもよい。
【0018】
この第4の発明によれば、第1の雲素は複数種類あるため、その種類によって、アニメーションを反映させる向きや縮尺、部分(例えば、アニメーションを第1の雲素にマッピングする場合には、第1の雲素に対するマッピングの向きなど)を変更することにより、1つのアニメーションであっても様々な気流を表現することが可能となる。
【0019】
また、第5の発明のように、第3または第4の発明のゲーム情報であって、
前記所与のアニメーションは、少なくとも透明度情報を含む色情報の時間的変化を表すアニメーションであり、
前記アニメーション反映手段に対して、前記所与のアニメーションに基づいて前記第1の雲素の色情報を決定する、ように機能させるための情報を含むこととしてもよい。
【0020】
この第5の発明によれば、所与のアニメーションを、例えば、周期的に色情報が変化したり、透明度情報のみが変化するといったものとすることができる。例えば、第1の雲素の色を「白色」と予め決定されている場合には、第1の雲素が描画される際の色を、「透明度情報」のみによって決定することができるため、第1の雲素の色情報を決定する処理を簡便化することが可能である。
【0021】
第6の発明は、第1から第5の発明のいずれかのゲーム情報であって、
前記第1の生成手段に対して、
前記所与の角度パラメータを前記第1の仮想カメラのピッチ角及び/又はヨー角の角度パラメータとする手段と、
前記第1の仮想カメラの、ピッチ角及び/又はヨー角の角度パラメータの値に応じて予め用意された複数種類の第1の雲素を、対応する前記第1の仮想カメラの角度パラメータの現在値に応じた所与の割合で合成処理する手段と、
を機能させるための情報を含むことを特徴としている。
【0022】
この第6の発明によれば、仮想カメラに向けて配置される板状体の第1の雲状オブジェクトの欠点を補うことができる。即ち、例えば、第1の雲状オブジェクトの右側面と左側面の、2つの第1の雲素を用意しておけば、第1の仮想カメラのヨー角に応じて、第1の雲状オブジェクトの右側面と左側面を矛盾無く表現することができる。また同様に、例えば、第1の雲状オブジェクトの上面と下面の、2つの第1の雲素を用意しておけば、第1の仮想カメラのピッチ角に応じて、第1の雲状オブジェクトの上面と下面を矛盾無く表現することができる。
【0023】
第7の発明は、第1から第6の発明のいずれかのゲーム情報であって、
前記第1の生成手段に対して、前記ピッチ角に応じて予め用意された第1の雲素がある場合には、その第1の雲素を前記第1の仮想カメラのロール角或いはヨー角に応じて回転させるとともに、前記ヨー角に応じて予め用意された第1の雲素がある場合には、その第1の雲素を前記第1の仮想カメラのロール角或いはピッチ角に応じて回転させて前記合成処理を行う、ように機能させるための情報を含むことを特徴としている。
【0024】
この第7の発明によれば、第1の仮想カメラに係る角度パラメータの内、一の角度パラメータに応じて用意された第1の雲素であったとしても、他の角度パラメータに応じて回転させて、合成処理される。例えば、ヨー角に応じて、第1の雲状オブジェクトの右側面と左側面の2つの第1の雲素が用意されていた場合、勿論、ヨー角に応じてその2つの第1の雲素が合成処理されるが、ロール角に応じて回転された上で、合成処理される。即ち、第1の発明の効果として上述した通り、第1の雲状オブジェクトは、単に、第1のオブジェクト空間に配置されるのみであるため、第1の仮想カメラがロールした場合にも矛盾のないテクスチャ情報を生成する必要がある。このため、ヨー角やピッチ角に応じて用意された第1の雲素に対して、ロール角に応じて回転させることによって、第1の仮想カメラがロールした場合にも、第1の生成手段は、矛盾のないテクスチャ情報を生成することができる。
【0025】
第8の発明は、第1から第7の発明のいずれかのゲーム情報であって、
前記第1の生成手段に対して、前記第1の仮想カメラのピッチ角が水平方向用と垂直方向用の少なくとも2種類の予め用意された第1の雲素を、前記第1の仮想カメラのピッチ角に応じた所与の割合で合成処理することにより、前記第1の仮想カメラのピッチ角に応じて予め用意された複数種類の第1の雲素を合成処理する、ように機能させるための情報を含むことを特徴としている。
【0026】
この第8の発明によれば、一の第1の雲状オブジェクトに対する第1の仮想カメラの視線方向が変化した場合、即ち、第1の仮想カメラのピッチ角が変化した場合であっても、その形状等に矛盾のない第1の雲状オブジェクトを表現することが可能となる。
【0027】
そしてこの場合、第9の発明のように、第8の発明のゲーム情報であって、
前記第1の生成手段に対して、前記第1の仮想カメラのロール角に応じて前記水平方向用および前記垂直方向用の第1の雲素を回転させて前記合成処理を行う、ように機能させるための情報を含むように構成してもよい。
【0028】
この第9の発明によれば、第1の仮想カメラがロールした場合においても、第1の雲状オブジェクト自体を回転させることなく、矛盾のない第1の雲状オブジェクトを表現することができる。
【0029】
さらにこの場合、第10の発明のように、第8または第9の発明のゲーム情報であって、
前記垂直方向用の第1の雲素には、前記第1の仮想カメラのピッチ角が仰角および俯角の場合に対応する、更に2種類の第1の雲素があり、
前記第1の生成手段に対して、前記垂直方向用の第1の雲素に含まれる前記2種類の第1の雲素を、前記第1の仮想カメラのピッチ角に応じて切り換えることにより、前記垂直方向用の第1の雲素とする、ように機能させるための情報を含むように構成してもよい。
【0030】
この第10の発明によれば、垂直方向用の第1の雲素には、ピッチ角が仰角の場合と俯角の場合の第1の雲素があり、ピッチ角によって切り換えられるため、一の第1の雲状オブジェクトの上面と下面とを、その形状等に矛盾なく、容易に表現することができる。
【0031】
第11の発明は、第8から第10の発明のいずれかのゲーム情報であって、
前記水平方向用の第1の雲素には、前記第1の仮想カメラのヨー角の角度範囲を等分した各角度範囲に対応する、更に複数種類の第1の雲素があり、
前記第1の生成手段に対して、前記水平方向用の第1の雲素に含まれる前記複数種類の第1の雲素を、前記第1の仮想カメラのヨー角に応じて切り換えることにより、前記水平方向用の第1の雲素とする、ように機能させるための情報を含むことを特徴としている。
【0032】
この第11の発明によれば、一の第1の雲状オブジェクトに対する第1の仮想カメラの視線方向が変化した場合、即ち、第1の仮想カメラのヨー角が変化した場合であっても、その形状等に矛盾のない第1の雲状オブジェクトを表現することが可能となる。
【0033】
第12の発明のゲーム情報は、プロセッサによる演算・制御により、仮想カメラ(例えば、図2に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行することとなる装置に対して、
前記オブジェクト空間に配置される雲状オブジェクト(例えば、図2に示す小雲テクスチャ102)を複数種類の雲素(例えば、図3に示す雲パーツA(122)、雲パーツB(124))から生成するとともに、前記仮想カメラの位置または視線方向が変化する場合に、前記複数種類の雲素を所与の処理により切り換えることにより前記雲状オブジェクトを生成する手段(例えば、図31に示す小雲描画部632)、を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0034】
この第12の発明によれば、例えば、雲状オブジェクトの一側面(例えば、正面)と他側面(例えば、裏面)を表す2つの雲素を用意し、仮想カメラの視線方向に応じて、その雲素を切り換えること等が可能である。即ち、仮想カメラの視線方向が変化した場合であっても雲状オブジェクトの正面と裏面を矛盾なく、かつ容易に表現することが可能である。
【0035】
第13の発明は、
プロセッサによる演算・制御により、第2の仮想カメラ(例えば、図14に示す仮想カメラ100)から見た第2のオブジェクト空間の画像を生成して、所与のゲームを実行することとなる第2の装置に対して、
雲モデル空間(例えば、図14に示す中雲座標系)に第2の雲素(例えば、図14に示す小雲ビルボード24−1〜32)を複数配置する第2の配置手段(例えば、図31に示す中雲生成部612)と、
前記雲モデル空間を透視変換することにより、前記第2のオブジェクト空間に前記第2の仮想カメラに向けて配置される板状体の第2の雲状オブジェクトに反映させるテクスチャ情報(例えば、実施の形態における中雲テクスチャ)を生成する第2の生成手段(例えば、図31に示す中雲描画部634)と、
を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0036】
この第13の発明によれば、第2のオブジェクト空間に配置される第2の雲状オブジェクトは板状体ではあるが、様々な態様の第2の雲状オブジェクトを表現することができる。なぜならば、第2の雲状オブジェクトに反映される、第2の生成手段によって生成されるテクスチャ情報は、第2の雲素が複数配置された雲モデル空間を透視変換したものであるため、透視変換の仕方によって、種々のテクスチャ情報を生成することが可能だからである。また本発明により、第2のオブジェクト空間に係る処理と、テクスチャ情報を生成する処理とを区別して処理することが可能となり、第2のオブジェクト空間に係る処理負荷を軽減させることができる。なおここで、第2の装置は、コンピュータ装置であってもよいし、携帯用/家庭用/業務用のゲーム装置であってもよい。また第2の雲素を板状体により構成してもよい。
【0037】
第14の発明は、第13の発明のゲーム情報であって、
前記第2の生成手段に対して、前記第2の仮想カメラと、前記雲モデル空間を透視変換するための雲モデル用仮想カメラ(例えば、図14に示す雲視点220)とを連動させ、前記雲モデル用仮想カメラに基づいて前記雲モデル空間を透視変換する、ように機能させるための情報を含むことを特徴としている。
【0038】
この第14の発明によれば、雲モデル用仮想カメラと、第2の仮想カメラとが連動するため、第2のオブジェクト空間に配置される、板状体の第2の雲状オブジェクトであっても、形状等において矛盾なく表現することが可能である。
【0039】
第15の発明は、第13または第14の発明のゲーム情報であって、
前記第2の配置手段に対して、前記複数の第2の雲素の配置を、前記雲モデル空間の所与の範囲に偏った分布とする、ように機能させるための情報(例えば、実施の形態における式(4))を含むことを特徴としている。
【0040】
この第15の発明によれば、例えば、第2の雲素の色が「薄い白色」である場合、第2の雲素の配置位置の偏りによって、その偏った所与の範囲においては「濃い白色」として表現することができる。即ち、雲モデル空間における配置位置に偏りを持たせることによって、第2の雲状オブジェクトの色の濃淡に変化をつけることができる。
【0041】
第16の発明は、第13から第15の発明のいずれかのゲーム情報であって、前記第2の配置手段に対して、前記雲モデル空間に配置する前記各第2の雲素の大きさを変更する、ように機能させるための情報(例えば、実施の形態における式(5))を含むことを特徴とする。
【0042】
この第16の発明によれば、雲モデル空間における第2の雲素の配置位置が同じであっても、第2の雲素の大きさを異ならしめることができるため、生成するテクスチャ情報を異ならしめる、即ち、種々の形態の第2の雲状オブジェクトを容易に表現することができる。
【0043】
第17の発明は、第13から第16のいずれかのゲーム情報であって、
前記第2の装置に対して、前記第2のオブジェクト空間の光源と、前記第2の雲状オブジェクトとに基づいて、前記第2の生成手段により生成されたテクスチャ情報の色情報を決定する色情報決定手段(例えば、図31に示す色決定部638)、を機能させるための情報を含むことを特徴とする。
【0044】
この第17の発明によれば、第2のオブジェクト空間における、光源に係るシェーディング処理をテクスチャ情報に施すことにより、最終的に、第2の雲状オブジェクトの色情報を矛盾なく表現させることができる。即ち、第2のオブジェクト空間においては、光源と、第2の雲状オブジェクトとは存在するが、第2の雲状オブジェクトに反映されるテクスチャ情報は別途生成される。このため、第2のオブジェクト空間における光源と、第2の雲状オブジェクトの配置状況等に応じて、テクスチャ情報の色情報を決定することにより、最終的に、色において矛盾のない、リアリスティックな第2の雲状オブジェクトを表現することが可能である。
【0045】
第18の発明は、第17の発明のゲーム情報であって、
前記色情報決定手段に対して、前記第2の雲状オブジェクトにおける少なくとも2つの特定点(例えば、図16に示す特定点22−1〜9)の色情報を、前記第2のオブジェクト空間における光源に基づいて決定し、この特定点の色情報に基づいて前記テクスチャ情報の色情報を決定する、ように機能させるための情報を含むことを特徴とする。
【0046】
例えば、「雲」を真横から見た場合、通常、太陽光線の当たる上側は明るく、下側は暗い。しかし、「雲」が1つである場合ならまだしも、複数の「雲」が存在する場合、単に、上側を明るく、下側を暗くするといった、一様な表現手法では、リアルな雲を表現することができない。そこで、この第18の発明によれば、例えば、第2の雲状オブジェクトの複数の特定点における色情報をまず求め、この特定点の色情報に基づいて、テクスチャ情報(即ち、終局的には第2の雲状オブジェクト)の色情報を決定することとすれば、第2のオブジェクト空間における、第2の雲状オブジェクトの配置状況等に応じた色を表現することができる。
【0047】
またこの場合、第19の発明のように、第18の発明のゲーム情報であって、
前記色情報決定手段に対して、前記光源の光線方向の角度に応じて予め用意された複数の色情報を、当該特定点における前記光源の光線方向の角度に応じた所与の割合で合成処理することにより、前記各特定点の色情報を決定する、ように機能させるための情報(例えば、図31に示す関数データ930)を含むこととしてもよい。
【0048】
従来、光源に係る輝度計算は、輝度値を加算する処理が一般的であった。即ち、ある輝度値を加算することによって、明るい状態の色を表現することが可能ではあったが、最大輝度である「白色」のRGB値が、R=255、G=255、B=255であるため、段々と「白色」に近づかざるを得なかった。従って、もともと「白色」である「雲」に対する輝度計算は、困難なものであった。この第19の発明によれば、複数の色情報(例えば、オレンジ色と白色と灰色)を予め用意し、特定点における色情報が光源の光線方向に応じて決定されるため、例えば、様々な色に染められた「雲」(例えば、上側をオレンジ色にする等)を容易に表現することができる。
【0049】
第20の発明は、第1から第11のいずれかの発明のゲーム情報と、第13から第19の発明のいずれかのゲーム情報とを含むゲーム情報であって、
前記第1の装置と前記第2の装置は同一の装置であり、
当該装置に対して、
前記第1の仮想カメラを前記第2の仮想カメラとする手段と、
前記第1の生成手段により生成されたテクスチャ情報を前記第1の雲状オブジェクトに反映させる手段と、
前記第1の雲状オブジェクトを前記第2の雲素とする手段と、
を機能させるための情報を含むことを特徴とする。
【0050】
この第20の発明によれば、第1から第11の発明のいずれかの発明の効果と、第13から第19の発明のいずれかの発明の効果とを備えるゲーム情報を実現することができる。具体的には、例えば、第1の仮想カメラ(第2の仮想カメラ)の視線方向に対して矛盾のない、板状体の第1の雲状オブジェクト(第2の雲素)を生成することができ、かつ、様々な態様の第2の雲状オブジェクトを表現することができる。
【0051】
第21の発明のゲーム情報は、プロセッサによる演算・制御により、仮想カメラ(例えば、図14に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行することとなる装置に対して、
所与のアニメーションが施された複数種類の雲素(例えば、図3に示す小雲テクスチャ102)を重ね合わせて、前記オブジェクト空間に配置される雲状オブジェクト(例えば、実施の形態における中雲ビルボード)を生成する手段(例えば、図31に示す中雲生成部612及び中雲描画部634)、を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0052】
この第21の発明によれば、雲素には所与のアニメーションが施されているため、気流を表現することができる。ただし、雲素が複数重ね合わされた部分においては、所与のアニメーションも重ね合わされているため、当該部分においては気流を明確に表現できないが、雲素が重なっていない部分や、重なる数の少ない部分においては、気流が表現される。即ち、例えば、雲状オブジェクトの中央付近に偏りを持たせて雲素を重ねて表現した場合、中央付近の気流は視認できないが、周縁における気流を視認することができ、よりリアリスティックな雲を表現することができる。
【0053】
第22の発明のゲーム情報は、プロセッサによる演算・制御により、第3の仮想カメラ(例えば、図20に示す仮想カメラ100)から見た第3のオブジェクト空間の画像を生成して、所与のゲームを実行することとなる第3の装置に対して、
所与の配置位置繰り返しパターンを展開することにより前記第3のオブジェクト空間に複数配置する第3の雲素(例えば、実施の形態における中雲ビルボード)の配置位置を決定する配置位置決定手段(例えば、図31に示す中雲配置部614)と、
前記配置位置決定手段により決定された配置位置に、板状体の前記第3の雲素を配置する第3の配置手段(例えば、図31に示す中雲配置部614)と、
前記第3の雲素を、前記第3の仮想カメラに対する所与の方向に向ける対向配置手段(例えば、図31に示す中雲配置部614)と、
を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0054】
ここで、第3の装置は、コンピュータ装置であってもよいし、携帯用/家庭用/業務用のゲーム装置であってもよい。また所与の配置位置繰り返しパターンとは、第3の雲素の配置位置が決定されたある単位領域における、配置位置のパターンのことであり、例えばこのパターンを縦2×横2×高さ2に配置(展開)することによって、単位領域の8倍(=2×2×2)の大きさの領域における第3の雲素の配置位置を決定することができる。
【0055】
換言すれば、第3のオブジェクト空間の、任意の領域における第3の雲素の配置位置が、このパターンの展開によって決定しうる。即ち、この第22の発明によれば、第3のオブジェクト空間における、第3の雲素の配置位置を容易に決定することができる。例えば、配置位置繰り返しパターンの大きさ(上記の単位領域の大きさ)を第3の仮想カメラの視界と略同一とし、第3の仮想カメラを右方向へパンさせた場合、視野の左側から見えなくなった第3の雲素が、視野の右側から表出することとなる。即ち、配置位置繰り返しパターンのみで、第3の雲素の、第3のオブジェクト空間全ての配置位置を決定することができる。また、第3の雲素は板状体の雲素であるため、第3のオブジェクト空間の画像生成に係る処理負荷を軽減することができる。
【0056】
第23の発明は、第22の発明のゲーム情報であって、
前記第3の装置に対して、前記第3のオブジェクト空間内の所与の高度に、雲素配置層を設定する手段(例えば、図31に示す中雲配置部614)、を機能させるための情報(例えば、図31に示す雲層データ926)と、
前記第3の配置手段に対して、前記雲素配置層内に前記第3の雲素を配置する、ように機能させるための情報(例えば、実施の形態における式(11))と、
を含むことを特徴とする。
【0057】
この第23の発明によれば、第3の雲素を配置する雲素配置層を第3のオブジェクト空間内に設定することができ、この雲素配置層以外に第3の雲素が配置されることがない。したがって、第3のオブジェクト空間において、第3の雲素を配置する高度を制御することができる。なお、さらに雲素配置層の厚さを設定可能なよう構成してもよい。その場合には、例えば、層を薄くすることによっていわし雲を表現したり、層を厚くすることによって積乱雲を表現したりすることができる。
【0058】
第24の発明は、第22または第23の発明のゲーム情報であって、
前記第3の装置に対して、前記第3の仮想カメラからの距離(例えば、実施の形態における距離d)に基づいて、第3の雲素配置領域(例えば、図20に示す雲設定領域R)を設定する第3の雲素領域設定手段(例えば、図31に示す雲設定領域決定部620)、を機能させるための情報と、
前記第3の配置手段に対して、前記第3の雲素配置領域内に前記第3の雲素を配置する、ように機能させるための情報と、
を含むことを特徴とする。
【0059】
この第24の発明によれば、例えば、仮想カメラの視野内にのみ第3の雲素配置領域を設定することにより、視野外の第3の雲素に対する処理を削減することが可能である。
【0060】
第25の発明は、第22から第24の発明のいずれかのゲーム情報であって、前記第3の装置に対して、前記第3のオブジェクト空間における前記第3の雲素の配置位置に応じて、前記各第3の雲素の透明度を設定する第3の雲素透明度設定手段(例えば、図31に示す不透明度設定部622)、を機能させるための情報を含むことを特徴とする。
【0061】
この第25の発明によれば、例えば、雲の濃淡を、その雲の配置位置に応じて変更することができる。本発明をより具体化する手法としては例えば第26の発明や第27の発明がある。
【0062】
例えば、第26の発明のように、第25の発明のゲーム情報であって、
前記第3の雲素透明度設定手段に対して、前記第3のオブジェクト空間における雲の存在可否を表す雲分布図(例えば、図30に示す雲分布マップ924)に基づいて、前記各第3の雲素の透明度を設定する、ように機能させるための情報を含むこととしてもよい。
【0063】
この第26の発明によれば、雲分布図に従って、第3の雲素の透明度が設定されるため、第3のオブジェクト空間全体に渡る雲の表示/非表示を管理することができる。即ち、第3の雲素の配置位置は、第22の発明によって決定されるが、実際に表現されるか否か(より正確には、第3の雲素の色が描画されるか否か)は雲分布図に従って決定される。
【0064】
また、第27の発明のように、第25または第26の発明のゲーム情報であって、
前記第3の雲素透明度設定手段に対して、前記第3の仮想カメラから前記各第3の雲素までの距離に基づいて、前記各第3の雲素の透明度を設定する、ように機能させるための情報(例えば、実施の形態における式(12))を含むこととしてもよい。
【0065】
この第27の発明によれば、例えば、第3の仮想カメラに近接配置される第3の雲素の透明度を上げるよう設定することにより、第3の仮想カメラからの視認性が向上し、ゲームにおける操作性を向上させることができる。
【0066】
第28の発明は、第24の発明のゲーム情報であって、
前記第3の装置に対して、
前記第3の仮想カメラからの距離が前記第3の雲素配置領域より遠方に、第4の雲素配置領域(例えば、実施の形態における遠景雲設定領域Rf)を設定する第4の雲素領域設定手段(例えば、図31に示す雲設定領域決定部620)と、
前記第4の雲素配置領域に、板状体の第4の雲素を略水平状に複数配置する第4の配置手段(例えば、図31に示す中雲配置部614)と、
を機能させるための情報を含むことを特徴とする。
【0067】
第24の発明により第3の雲素配置領域が設定されるが、第3の仮想カメラの視野内に、第3の雲素配置領域の周縁が含まれる場合には、矛盾が生じ得る。即ち、第3の仮想カメラの視野内において、第3の雲素配置領域内には第3の雲素が配置されているが、その範囲を超えた所には雲素が配置されていないため、第3の雲素配置領域の周縁がユーザーに分かってしまい、ゲームに対する没入感が損なわれ得る。そのため、第28の発明のように、第3の雲素配置領域の遠方に第4の雲素配置領域を設定することにより、上記問題を解決できる。ここで、第3の仮想カメラにおいて、第4の雲素配置領域は第3の雲素配置領域よりも遠方であるため、雲素を簡略化した表現としてもユーザーには認知され難い。そのため、第4の雲素配置領域においては、板状体の第4の雲素を、略水平状に配置するのみで、処理を簡略化させることが可能である。
【0068】
またこの場合、第29の発明のように、第28の発明のゲーム情報であって、
前記第3の装置に対して、前記配置位置決定手段が用いる前記所与の配置位置繰り返しパターンを展開することにより、前記第4の雲素の配置位置を決定する手段、を機能させるための情報と、
前記第4の配置手段に対して、前記決定された第4の雲素の配置位置に、前記第4の雲素を略水平状に配置する、ように機能させるための情報と、
を含むこととしてもよい。
【0069】
この第29の発明によれば、第3の雲素を配置する際に基準とした、配置位置繰り返しパターンを、第4の雲素の配置位置へも適用することができる。したがって、第22の発明の効果を、第4の雲素に対しても得ることができる。
【0070】
さらに第30の発明のように、
第28または第29の発明のゲーム情報であって、
前記第3の装置に対して、前記第4の雲素の配置位置に応じて、前記各第4の雲素の透明度を設定する第4の雲素透明度設定手段、を機能させるための情報を含むこととしてもよい。
【0071】
この第30の発明によれば、例えば、雲の濃淡を、配置位置に応じて変更することができる。本発明をより具体化する手法としては例えば第31の発明や第32の発明がある。
【0072】
例えば、第31の発明のように、第30の発明のゲーム情報であって、
前記第4の雲素透明度設定手段に対して、前記第3のオブジェクト空間における雲の存在可否を表す雲分布図に基づいて、前記各第4の雲素の透明度を設定する、ように機能させるための情報を含むこととしてもよい。
【0073】
この第31の発明によれば、雲分布図に従って、第4の雲素の透明度が設定されるため、第3のオブジェクト空間全体に渡る雲の表示/非表示を管理することができる。即ち、第4の雲素の配置位置は、第30の発明によって決定されるが、実際に表現されるか否か(より正確には、第4の雲素の色が描画されるか否か)は雲分布図に従って決定される。なお、この雲分布図を、第3の雲素と共有してもよいことは勿論である。
【0074】
また、第32の発明のように、第30または第31の発明のゲーム情報であって、
前記第4の雲素透明度設定手段に対して、前記第3の仮想カメラから前記各第4の雲素までの距離に基づいて、前記各第4の雲素の透明度を設定する、ように機能させるための情報を含むこととしてもよい。
【0075】
この第32の発明によれば、例えば、第3の仮想カメラからより遠方に配置される第4の雲素の透明度を、徐々に上げるよう設定することにより、第3の仮想カメラからの遠方における視認性を向上させ、また、第4の雲素が遙か遠くまで続いているかのように表現することができる。
【0076】
第33の発明は、第13から第20の発明のいずれかのゲーム情報と、第22から第32の発明のいずれかのゲーム情報とを含むゲーム情報であって、
前記第2の装置と前記第3の装置は同一の装置であり、
当該装置に対して、
前記第2の仮想カメラを前記第3の仮想カメラとする手段と、
前記第2のオブジェクト空間を前記第3のオブジェクト空間とする手段と、
前記第2の生成手段により生成されたテクスチャ情報を前記第2の雲状オブジェクトに反映させる手段と、
前記第2の雲状オブジェクトを前記第3の雲素とする手段と、
を機能させるための情報を含むことを特徴とする。
【0077】
この第33の発明によれば、第13から第20の発明のいずれかの発明の効果と、第22から第32の発明のいずれかの発明の効果とを備えるゲーム情報を実現することができる。具体的には、例えば、第2の雲素によって、板状体ではあるが様々な態様を有する第2の雲状オブジェクト(第3の雲素)を表現することができ、かつ、第2の雲状オブジェクト(第3の雲素)の第3のオブジェクト空間における配置位置計算を簡略化することができる。
【0078】
第34の発明は、第33の発明のゲーム情報であって、
前記第2の生成手段に対して、複数種類のテクスチャ情報を生成する、ように機能させるための情報と、
前記装置に対して、前記第2の生成手段により生成される複数種類のテクスチャ情報を反映させることにより、テクスチャ情報の異なる複数種類の第2の雲状オブジェクトを生成する手段、を機能させるための情報と、
前記第3の配置手段に対して、前記複数種類の第2の雲状オブジェクトを配置する、ように機能させるため情報と、
を含むことを特徴としている。
【0079】
この第34の発明によれば、複数種類の第2の雲状オブジェクトを生成する、即ち、複数種類の第3の雲素とすることができるため、第3のオブジェクト空間において表現する雲状物の表現を多様化することができる。
【0080】
第35の発明のゲーム情報は、プロセッサによる演算・制御により、仮想カメラ(例えば、図20に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行することとなる装置に対して、
前記仮想カメラの位置または視線方向が変化する場合に、視界から外れた領域に存在していた雲状オブジェクト(例えば、実施の形態における中雲ビルボード)を新たに視界となる領域に表現することにより、雲状オブジェクトが存する空間が続いていることを擬似的に表現する手段(例えば、図31に示す雲海生成部618及び雲海描画部640)、を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0081】
この第35の発明によれば、仮想カメラの位置の変化などによって、視界から外れた雲状オブジェクトを新たに視界となる領域に表現することによって、オブジェクト空間において、雲状オブジェクトが連続的に配置されているかのような表現をすることができ、雲状オブジェクトの画像生成に係る処理を軽減させることができる。
【0082】
第36の発明のゲーム情報は、プロセッサによる演算・制御により、仮想カメラ(例えば、図20に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行することとなる装置に対して、
前記仮想カメラの位置の変化に応じて、前記仮想カメラの視界の略中央付近から仮想カメラに接近する雲状オブジェクト(例えば、実施の形態における中雲ビルボード)に対する透明度を上げて、視界の遠方から視界の略中央付近に移動する雲状オブジェクトに対する透明度を下げる手段(例えば、図31に示す不透明度設定部622)、を機能させるための、前記プロセッサによる演算可能なゲーム情報である。
【0083】
この第36の発明によれば、仮想カメラの視界の略中央付近における雲状オブジェクトの透明度が高く、仮想カメラの近方および遠方に位置する透明度が低いため、視認性が高く、操作性のよいオブジェクト空間の画像(ゲーム画像)とすることができる。
【0084】
また、第37の発明のように、第1から第36の発明のいずれかのゲーム情報を記憶する情報記憶媒体を実現することとしてもよい。
【0085】
第38の発明は、仮想カメラ(例えば、図2に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
前記仮想カメラの所与の角度パラメータの値(例えば、図2に示すピッチ角X)に応じて予め用意された複数種類の雲素(例えば、図3に示す雲パーツA(122)、雲パーツB(124))を、前記所与の角度パラメータの現在値に応じた所与の割合で合成処理することにより、前記オブジェクト空間に前記仮想カメラに向けて配置される板状体の雲状オブジェクト(例えば、実施の形態における小雲ビルボード)に反映させるテクスチャ情報(例えば、図4に示す小雲テクスチャ102)を生成する生成手段(例えば、図31に示す小雲描画部632)、を備えるゲーム装置である。
【0086】
この第38の発明によれば、例えば、雲状オブジェクトの一側面(例えば、正面)と他側面(例えば、裏面)を表す2つの雲素を用意し、仮想カメラの視線方向に応じて、その雲素を切り換えること等が可能である。即ち、雲状オブジェクトは仮想カメラに向けて配置されるため、例えば、雲状オブジェクトの正面と裏面を矛盾なく、かつ容易に表現することが可能である。
【0087】
また更に、仮想カメラの「角度パラメータの現在値に応じ」て、雲状オブジェクトに反映されるテクスチャ情報が生成されるため、オブジェクト空間に雲状オブジェクトを配置する際、雲状オブジェクトの上下左右方向を考慮する必要がない。即ち、例えば、仮想カメラのロール角が変化する場合には、雲状オブジェクトを、当該ロール角に応じて回転させる必要が生じるが、そのロール角に応じてテクスチャ情報が生成されるため、雲状オブジェクトは、単に、オブジェクト空間に配置するだけ(より正確には、オブジェクト空間には、雲状オブジェクトを配置する位置を決定するだけ)で済む。
【0088】
第39の発明は、仮想カメラ(例えば、図14に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
雲モデル空間(例えば、図14に示す中雲座標系)に雲素(例えば、図14に示す小雲ビルボード24−1〜32)を複数配置する配置手段(例えば、図31に示す中雲生成部612)と、
前記雲モデル空間を透視変換することにより、前記オブジェクト空間に前記仮想カメラに向けて配置される板状体の雲状オブジェクト(例えば、実施の形態における中雲ビルボード)に反映させるテクスチャ情報(例えば、実施の形態における中雲テクスチャ)を生成する生成手段(例えば、図31に示す中雲描画部634)と、
を備えるゲーム装置である。
【0089】
この第39の発明によれば、オブジェクト空間に配置される雲状オブジェクトは板状体ではあるが、様々な態様の雲状オブジェクトを表現することができる。なぜならば、雲状オブジェクトに反映される、生成手段によって生成されるテクスチャ情報は、雲素が複数配置された雲モデル空間を透視変換したものであるため、透視変換の仕方によって、種々のテクスチャ情報を生成することが可能だからである。また本発明により、オブジェクト空間に係る処理と、テクスチャ情報を生成する処理とを区別して処理することが可能となり、オブジェクト空間に係る処理負荷を軽減させることができる。なお、第2の雲素を板状体により構成してもよい。
【0090】
第40の発明は、仮想カメラ(例えば、図14に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
前記仮想カメラの所与の角度パラメータの値(例えば、図2に示すピッチ角X)に応じて予め用意された複数種類の雲素(例えば、図3に示す雲パーツA(122)、雲パーツB(124))を、前記所与の角度パラメータの現在値に応じた所与の割合で合成処理することによりテクスチャ情報(例えば、図4に示す小雲テクスチャ102)を生成する第1の生成手段(例えば、図31に示す小雲描画部632)と、
前記第1の生成手段により生成されたテクスチャ情報を、板状体の第1の雲状オブジェクト(例えば、実施の形態における小雲ビルボード)に反映させる手段(例えば、中雲描画部634)と、
雲モデル空間(例えば、実施の形態における中雲座標系)に前記第1の雲状オブジェクトを複数配置する配置手段(例えば、図31に示す中雲生成部612)と、
前記雲モデル空間を透視変換することにより、前記オブジェクト空間に前記仮想カメラに向けて配置される板状体の第2の雲状オブジェクト(例えば、実施の形態における中雲ビルボード)に反映させるテクスチャ情報(例えば、実施の形態における中雲テクスチャ)を生成する第2の生成手段(例えば、図31に示す中雲描画部634)と、
を備えるゲーム装置である。
【0091】
この第40の発明によれば、例えば、仮想カメラの視線方向に対して矛盾のない、板状体の第1の雲状オブジェクトを生成することができ、かつ、様々な態様の第2の雲状オブジェクトを表現することができる。
【0092】
第41の発明は、仮想カメラ(例えば、図20に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
所与の配置位置繰り返しパターンを展開することにより前記オブジェクト空間に複数配置する雲素(例えば、実施の形態における中雲ビルボード)の配置位置を決定する配置位置決定手段(例えば、図31に示す中雲配置部614)と、
前記配置位置決定手段により決定された配置位置に、板状体の前記雲素を配置する配置手段(例えば、図31に示す中雲配置部614)と、
前記雲素を前記仮想カメラに対する所与の方向に向ける対向配置手段(例えば、図31に示す中雲配置部614)と、
を備えるゲーム装置である。
【0093】
ここで、所与の配置位置繰り返しパターンとは、雲素の配置位置が決定されたある単位領域における、配置位置のパターンのことであり、例えばこのパターンを縦2×横2×高さ2に配置(展開)することによって、単位領域の8倍(=2×2×2)の大きさの領域における雲素の配置位置を決定することができる。
【0094】
換言すれば、オブジェクト空間の、任意の領域における雲素の配置位置が、このパターンの展開によって決定しうる。即ち、この第41の発明によれば、オブジェクト空間における、雲素の配置位置を容易に決定することができる。例えば、配置位置繰り返しパターンの大きさ(上記の単位領域の大きさ)を仮想カメラの視界と略同一とし、仮想カメラを右方向へパンさせた場合、視野の左側から見えなくなった雲素が、視野の右側から表出することとなる。即ち、配置位置繰り返しパターンのみで、雲素の、オブジェクト空間全ての配置位置を決定することができる。また、雲素は板状体の雲素であるため、オブジェクト空間の画像生成に係る処理負荷を軽減することができる。
【0095】
第42の発明は、仮想カメラ(例えば、図20に示す仮想カメラ100)から見たオブジェクト空間の画像を生成して、所与のゲームを実行するゲーム装置であって、
雲モデル空間(例えば、実施の形態における中雲座標系)に雲素(例えば、実施の形態における小雲ビルボード)を複数配置する雲素配置手段(例えば、図31に示す中雲生成部612)と、
前記雲モデル空間を透視変換することにより、テクスチャ情報を生成する生成手段(例えば、図31に示す中雲描画部634)と、
前記生成手段により生成されるテクスチャ情報を板状体の雲状オブジェクト(例えば、実施の形態における中雲ビルボード)に反映させる手段(例えば、図31に示す雲海描画部640)と、
所与の配置位置繰り返しパターンを展開することにより前記オブジェクト空間に複数配置する前記雲状オブジェクトの配置位置を決定する配置位置決定手段(例えば、図31に示す中雲配置部614)と、
前記配置位置決定手段により決定された配置位置に、前記雲状オブジェクトを配置する雲状オブジェクト配置手段(例えば、図31に示す中雲配置部614)と、
前記雲状オブジェクトを前記仮想カメラに対する所与の方向に向ける対向配置手段(例えば、図31に示す中雲配置部614)と、
を備えるゲーム装置である。
【0096】
この第42の発明によれば、例えば、雲素によって、板状体ではあるが様々な態様を有する雲状オブジェクトを表現することができ、かつ、雲状オブジェクトのオブジェクト空間における配置位置計算を簡略化することができる。
【0097】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照して説明する。なお、以下、飛行機ゲームを例にとって説明するが、本発明の適用は、これに限るものではない。
【0098】
図1は、本発明を家庭用ゲーム装置に適用した場合の一例を示す図である。図1において、プレーヤは、ディスプレイ1200に写し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作して、飛行機を操縦し、飛行機ゲームを楽しむ。この場合、ゲームプログラム等のゲームを行なうために必要な情報は、本体装置に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、メモリカード1212等に格納されている。
【0099】
このような飛行機ゲームにおいては、プレーヤの操作に応じて、飛行機の位置、向きが様々に変化するため、ゲーム画像を生成する際の仮想カメラの位置、角度等が様々に変化する。本発明は、このように、仮想カメラの位置、角度の変化に対してゲーム画像に含まれる雲を矛盾なく表現するものである。以下、本発明に係る、1.原理、2.機能、3.動作について詳細に説明する。
【0100】
1.原理
まず、本発明の原理について説明する。本発明では、オブジェクト空間に設定される雲(雲海を)生成する際に、まず、一片の小さい雲である小雲を生成し、その小雲の集合である中雲を生成し、その中雲の集合として雲海を生成、表現する。以下、小雲、中雲、雲海の生成原理について説明する。
【0101】
1−(1)小雲生成原理
以下、図2〜図10を参照して小雲(小雲を表現するテクスチャ(以下、小雲テクスチャ102という。))の生成に係る原理について説明する。尚、生成される小雲テクスチャ102は、透明度(不透明度α)のみを有するテクスチャ(以下、αテクスチャという。)であるが、後述する処理との関連を分かり易くするため、便宜上1枚のポリゴン(以下、仮想ペラポリゴンという。)として生成されるかのように図示・説明する。
【0102】
図2(a)は、オブジェクト空間(ワールド座標系に基づく)内において、仮想カメラ100と、この生成される小雲テクスチャ102と、を表す図である。同図に示すように、小雲テクスチャ102は、常に仮想カメラ100の視線方向に垂直に対向するように設定される。
【0103】
仮想カメラ100に関するパラメータの種別としては、仮想カメラ位置と、仮想カメラ角度とがある。仮想カメラ位置は、ワールド座標系における仮想カメラ100の位置(Xw,Yw,Zw)を表すパラメータである。仮想カメラ角度は、同図(b)に示すように、仮想カメラ100のピッチ角(鉛直方向の首振り角であり仰角および俯角)を表す角度X(以下、ピッチ角X)、ヨー角(水平方向の首振り角)を表す角度Y(以下、ヨー角Y)、ロール角(視線方向を中心とした回転角(ねじれ))を表す角度Z(以下、ロール角Z)、により表されるパラメータである。
【0104】
ただし、ピッチ角Xの取り得る値の範囲は−90°≦X≦90°であり、仰角を正、俯角を負とする。
【0105】
また、上記パラメータ以外に、必要に応じて、視野範囲(ズーム率)を表す画角などの各種パラメータが用いられる。
【0106】
小雲テクスチャ102は、図3に示す概念図のように、▲1▼気流テクスチャ104の不透明度(以下、α値という。)を雲パーツA(122)に設定、▲2▼気流テクスチャ104のα値を雲パーツB(124)に設定、▲3▼雲パーツA(122)と雲パーツB(124)のα値を合成、することにより生成される。これらの雲パーツA(122)、B(124)、及び気流テクスチャ104は、α値のみを持つαテクスチャであり、上述したように小雲テクスチャ102もまたαテクスチャである。尚、α値は、不透明度を表すパラメータであり"0"以上"1"以下の数であり、"0"であれば完全な透明を、"1.0"であれば不透明な状態を表す。
【0107】
また、雲パーツA(122)は、仮想カメラ100のピッチ角Xが0°、即ち、仮想カメラ100の視線方向が水平方向の場合を想定したαテクスチャであり、雲パーツB(124)は、仮想カメラ100のピッチ角Xが±90°、即ち、仮想カメラ100の視線方向が鉛直方向の場合を想定したαテクスチャである。
【0108】
気流テクスチャ104とは、アニメーションによりα値の時間的変化を表したテクスチャであって、所定方向への気流を表現しているものである。但し、気流テクスチャ104を瞬間的にとらえた場合には、静止したα値の分布を表したものと考えられる。
【0109】
図4は小雲テクスチャ102の一例を示す図、図5は雲パーツA(122)(同図(a))及び雲パーツA用マスク112(同図(b))の一例を示す図、図6は雲パーツB(124)(同図(a))及び雲パーツB用マスク114(同図(b))の一例を示す図、図7は気流テクスチャ104の一例を示す図である。
【0110】
ここで、小雲テクスチャ102、雲パーツA(122),雲パーツB(124)、雲パーツA用マスク112、雲パーツB用マスク114および気流テクスチャ104は、それぞれ36(=6×6)テクセルで構成されていることとし、各テクセルの座標を[n,m]と表現する。ただし、n,m=0,1,2,3,4,5である。また、気流テクスチャ104のテクセル[n,m]のα値をα[n,m]、雲パーツA(122)のテクセル[n,m]のα値をαA[n,m]、雲パーツB(124)のテクセル[n,m]のα値をαB[n,m]、小雲テクスチャ102のテクセル[n,m]のα値をCα[n,m]と表現する。
【0111】
雲パーツA用マスク112とは、雲パーツA(122)の形状を特定するためのビットパターンであり、雲パーツB用マスク114とは、雲パーツB(124)の形状を特定するためのビットパターンであって、共に、各テクセル[n,m]に"0"または"1"の値が予め設定されている。
【0112】
まず、雲パーツA(122)の各テクセル[n,m]に雲パーツA用マスク112の値を設定し、雲パーツB(124)の各テクセル[n,m]に雲パーツB用マスク114の値を設定する。即ち、
αA[n,m]=MA[n,m]
αB[n,m]=MB[n,m] …(1)
とする。ここで、MA[n,m]は、雲パーツA用マスク112の各テクセルのビット値を表し、MB[n,m]は、雲パーツB用マスク114の各テクセルのビット値を表す。
【0113】
この式(1)により、雲パーツA(122)と雲パーツB(124)には、値"0"または"1"による雲の形状が設定されることとなる。
【0114】
次に、仮想カメラ100のピッチ角Xに応じて、雲パーツA(122)の各テクセル[n,m]に対応する気流テクスチャ104のテクセル[n,m]のα値を設定するとともに、雲パーツB(124)の各テクセル[n,m]に対応する気流テクスチャ104のテクセル[n,m]のα値を設定する。即ち、
αA[n,m]←α[n,m]×cosX ×αA[n,m]
αB[n,m]←α[n,m]×sin|X|×αB[n,m] …(2)
とする。ここで、←は、代入を意味する演算子であり、右辺の演算結果を左辺の変数に代入することを意味する。
【0115】
即ち、例えば、雲パーツA(122)に値"1"が格納されているテクセル[n,m]には、気流テクスチャ104のα値が反映されることとなり、逆に、値"0"が格納されているテクセル[n,m]には、気流テクスチャ104のα値が反映されないこととなる。従い、式(1)の雲パーツA用マスク112及び雲パーツB用マスク114により、雲パーツA(122)及び雲パーツB(124)の形状が形作られるとともに、気流テクスチャ104のアニメーションによって、雲パーツA(122)及び雲パーツB(124)内の雲の粒子が時間経過に従って流れていく様を表現することができる。
【0116】
さらに、式(2)では、仮想カメラ100のピッチ角Xによって、雲パーツA(122),雲パーツB(124)に反映される気流テクスチャ104のα値が変化することとなる。
【0117】
例えば、仮想カメラ100の視線方向が水平面と平行になった場合、即ち、ピッチ角X=0°となった場合には、
αA[n,m]←α[n,m]×αA[n,m]
αB[n,m]←0 ×αB[n,m]
となり、雲パーツA(122)のαA[n,m]には、気流テクスチャ104のα[n,m]が設定されることとなる。また、雲パーツB(124)のαB[n,m]には、気流テクスチャ104のα[n,m]が反映されないこととなる。
【0118】
同様に、ピッチ角X=45°となった場合には、
αA[n,m]←α[n,m]×(1/√2)×αA[n,m]
αB[n,m]←α[n,m]×(1/√2)×αB[n,m]
となる。
【0119】
また、仮想カメラ100の視線方向が真上あるいは真下となった場合、即ち、ピッチ角X=90°あるいは−90°となった場合には、
αA[n,m]←0 ×αA[n,m]
αB[n,m]←α[n,m]×αB[n,m]
となり、雲パーツB(124)のαB[n,m]には、気流テクスチャ104のα[n,m]が設定されることとなるが、雲パーツA(122)のαA[n,m]には、気流テクスチャ104のα[n,m]が反映されないこととなる。
【0120】
またここで、雲パーツA(122)と雲パーツB(124)とで、反映させる気流テクスチャ104の気流の方向を変更することとしてもよい。例えば、式(2)を以下のように変形する。
αA[n,m]←α[n,m]×cosX×αA[n,m]
αB[n,m]←α[(5−n),(5−m)]×sin|X|×αB[n,m]
このような式とすることにより、同一の気流テクスチャ104を用いているが、簡単に、雲パーツA(122)と雲パーツB(124)とで、気流の方向を変えることが可能である。また更に式(2)を変形することにより、気流テクスチャ104の一部分を拡大して、雲パーツA(122)と雲パーツB(124)とに反映させることとしても良い。
【0121】
次に、雲パーツA(122)の各テクセル[n,m]のα値と、雲パーツB(124)の各テクセル[n,m]のα値とを合算することにより、小雲テクスチャ102の各テクセル[n,m]のα値を決定する。即ち、
Cα[n,m]=αA[n,m]+αB[n,m] ・・・(3)
として決定される。但し、式(3)においては、α値が"1.0"を超える場合が起こり得、この場合には、そのテクセルのα値は"1.0"とする。
【0122】
図8(c)は気流テクスチャ104の一例を示す図であり、同図(a)、(b)はこの気流テクスチャ104の不透明度(α値)が反映された、雲パーツA(122)(同図(a))、雲パーツB(124)(同図(b))の一例を示す図である。また、図9は、上記雲パーツA(122)、雲パーツB(124)の合成により生成された小雲テクスチャ102の一例を示す図である。同図(a)は、ピッチ角X=90°の場合を、同図(b)は、ピッチ角X=45°の場合を、同図(c)は、ピッチX=0°の場合を、それぞれ表す図である。尚、図8及び図9においては、α値を視覚的に把握しやすくするために、α値が"1"の部分を"白色"に、またα値が"0"に近づくにつれ"黒色"に近づくように表現されている。即ち、図8及び図9は、α値を色の濃淡として表した図である。
【0123】
以上のように、本原理においては、雲パーツA(122)と雲パーツB(124)とを仮想カメラ100のピッチ角Xに応じて合成することとしたため、単純な手法ながらも立体感のある雲を表現することができる。
【0124】
即ち、従来においては、雲のテクスチャをマッピングさせた1枚のポリゴン(以下、ペラポリゴンという。)を、常に、仮想カメラ100に対する上下左右位置を固定し、かつ、仮想カメラ100の視線方向に垂直に配置する方法が採られていた。しかしこの方法によると、仮想カメラ100の位置や視線方向等が変化しても雲は全く変化しないため、違和感のある表現であった。またさらに、仮想カメラ100の視線方向の変化に対して、雲のペラポリゴンが意図しない変化をする事象が発生する。即ち、例えば視線方向の仰角あるいは俯角が大きくなると、±90°の角度を境にして、雲が反転して表現されてしまう。
【0125】
これは、仮想カメラ100のピッチ角(仰角あるいは俯角)として取り得る角度範囲が−90°〜90°であるため、±90゜を超えたピッチ角θ2は、図10に示すように、θ2'(<90゜)と設定されることに起因する。
【0126】
本原理はこの意図しない小雲テクスチャ102の反転表現をも解決するものである。即ち、2枚の雲パーツA(122),雲パーツB(124)を用意し、仮想カメラ100のピッチ角に応じて合成することにより、ある角度で雲が反転するという事象は発生し得ない。
【0127】
また、ピッチ角Xの変化に応じて、徐々に2枚の雲パーツA(122),雲パーツB(124)の合成比率を変化させることにより(即ち、2枚の雲パーツA(122),雲パーツB(124)の不透明度αを決定することに該当する)、仮想カメラ100のピッチ角の変化に応じて、なめらかに雲の形状を変化させて、表現することができる。
【0128】
更に、各雲パーツA(122),雲パーツB(124)それぞれに気流テクスチャ104が合成されるため、2枚の雲パーツA(122),雲パーツB(124)の雲縁を曖昧にすることができ、より自然な雲を表現することができる。
【0129】
次に、小雲生成原理のみで雲を実現する場合について説明する。
上記説明においては、小雲テクスチャ102をαテクスチャとして生成する方法について説明したが、以下の処理を追加することにより、雲としての表現を実現することができる。
【0130】
第1の方法は、生成された小雲テクスチャ102を構成する各テクセルに、そのテクセルのα値に応じたRGB値を決定し、雲を表現する方法である。
【0131】
具体的には、例えば、小雲テクスチャ102の色をモノクロで表現する場合、"白色"のRGB値は(255,255,255)であり、"黒色"のRGB値は(0,0,0)である。従い、生成された小雲テクスチャ102において、α値が"1"であるテクセルに対しては、"白色"となるようにRGB値(255,255,255)を設定し、α値が"0"に近づくにつれて、段々と白色が薄くなっていくように、そのテクセルのRGB値を設定する(例えば、RGB値=255×α値)。
【0132】
このことにより、図9に示すような、濃淡がある雲の表現を容易に実現することができる。
【0133】
第2の方法は、雲パーツA(122),雲パーツB(124)を構成する各テクセルに予めRGB値を設定しておく方法である。
【0134】
具体的には、雲パーツA(122),雲パーツB(124)の各テクセルにRGB値を予め設定しておき、各テクセルのα値を気流テクスチャ104により決定する。そして、雲パーツA(122),雲パーツB(124)をαブレンディングすることにより小雲テクスチャ102を生成する。
【0135】
このことにより、例えば、雲パーツA(122)に予め設定する色を"黒色"のみ、雲パーツB(124)に予め設定する色を"白色"のみとすると、水平方向から小雲テクスチャ102を見た場合(ピッチ角X=0゜の場合)には、小雲テクスチャ102の色は"黒色"となる。そして、徐々にピッチ角Xが変化することにより、次第に"灰色"("黒色"に"白色"が混じった色)に見え、更にピッチ角Xを大きくすると、"白色"の混じる割合が大きくなり、ついには上方あるいは下方から見ると(ピッチ角X=90゜の場合) "白色"に見える雲の表現を実現することができる。
【0136】
尚、各雲パーツA(122),雲パーツB(124)に予め設定する雲の色(RGB値)を任意に変更することにより、仮想カメラ100の視線のピッチ角Xによって、様々に色が異なる雲の表現を実現することができる。
【0137】
また、例えば、雲パーツB(124)として、仮想カメラ100のピッチ角Xが俯角の場合に用いる雲パーツB−1と、仮想カメラ100のピッチ角Xが仰角の場合に用いる雲パーツB−2との2種類の雲パーツBを設定しておき、仮想カメラのピッチ角Xに応じて、雲パーツB−1と雲パーツB−2とを切り換えることとしても良い。例えば、1種類の雲パーツB(124)を用いて小雲テクスチャ102を生成する場合には、小雲の上面を見た場合と下面を見た場合とで同じ小雲テクスチャが生成されるが、雲パーツB−1と雲パーツB−2とを切り換えることにより、小雲の上面を見た場合の小雲テクスチャ102と小雲の下面を見た場合の小雲テクスチャ102とで、小雲の形状が異なるようにすることができ、より矛盾のない雲の形状を実現できる。
【0138】
同様に、雲パーツA(122)として、仮想カメラ100のヨー角Yに対応する複数種類の雲パーツA(122)を設定しておき、仮想カメラ100のヨー角Yに応じて雲パーツAを切り換えることとしても良い。
【0139】
なお、上記小雲生成原理において生成した各雲パーツA(122),雲パーツB(124)には、気流テクスチャのα値が反映されており、この2種類の雲パーツA(122),雲パーツB(124)を合成して小雲テクスチャ102を生成している。このため、小雲テクスチャ102は、全体に気流がかかった雲として表現されることとなり、雲の粒子が雲全体に渡って動いているように表現される。リアリスティックな雲を表現する場合には、このような現象は必ずしも良いとはいえない。
【0140】
しかしながら、後述する中雲生成原理に基づいて、この小雲テクスチャ102を複数使用して中雲を生成することにより、ある範囲に小雲テクスチャ102を集中させて中雲テクスチャを生成するため、中心の透明度が低く、周辺に近づくにつれて透明度が高くなる中雲テクスチャが生成される。そのため、中雲の縁にのみに気流が表現される、リアルな雲を表現することができる。
【0141】
1−(2)中雲生成原理
次に中雲生成原理について説明する。
ここで、中雲とは、小さな雲(小雲)を寄せ集めた集合体を意味する。また、小雲とは、前述の方法により生成した不透明度(α値)のみを有する小雲テクスチャ102の意であり、これを32個複製し、中雲モデル空間に3次元的に分布させることにより中雲を生成する。中雲モデル空間とは、中雲を生成するためのローカル座標系のことである(以下、この中雲モデル空間を中雲座標系という。)。そして、3次元的に配置された各小雲テクスチャ102の不透明度を、仮想カメラ100に基づいて描画するとともに、仮想カメラ100と光源との位置関係に応じた色を着色することにより、中雲テクスチャを生成する。
【0142】
具体的には、1つの中雲を、32枚のペラポリゴンにより構成する。ただし、各ペラポリゴンの表面(ただし、仮想カメラ100に面する側)には、小雲テクスチャ102のαテクスチャがマッピングされる。また、各ペラポリゴンは、中雲座標系における代表点の座標と大きさのみが定義されたものであり、ゲーム実行中においては、その面が仮想カメラ100の視線方向に対して垂直に交わるように回転するビルボードである。
【0143】
以下では、この中雲を構成する個々のペラポリゴンを、小雲ビルボードという。そして、中雲テクスチャを生成する際には、まず、小雲テクスチャ102により指定された各小雲ビルボードのα値を、仮想カメラ100に基づいて所与の平面座標上に描画する。また一方では、中雲に与える色情報を、オブジェクト空間における仮想カメラ100と光源との位置関係に応じて決定し、描画されたα値に従って着色することにより中雲テクスチャを生成する。
【0144】
なお、小雲テクスチャ102を生成する際に、雲パーツA(122)、雲パーツB(124)は、仮想カメラ100のロール角Zに応じて回転させるため、生成される小雲テクスチャ102は、仮想カメラ100のロール角Zに応じて上下左右位置が変化する。そのため、その小雲テクスチャ102をマッピングした小雲ビルボード102は、上下左右位置が仮想カメラ100のロール角Zに応じたものとなるため、代表点に配置するだけで良い。
【0145】
図11は、本発明を適用することによって生成した4種の中雲202、204、206、208の画像例を示す図である。同図に示した各中雲は、32個の小雲ビルボードをそれぞれ異なる分布で配置し、それ以外の全ての条件を同一に設定して生成したものである。即ち、各中雲の画像生成において、各小雲ビルボードにマッピングしたαテクスチャ(即ち、小雲テクスチャ102)は全て同一であり、また、各中雲と仮想カメラ100との位置関係や、オブジェクト空間における仮想カメラ100と光源との位置関係等の設定も全て等しくした。同図によれば、各中雲は、形状や透明さ、立体感等の見え方が異なる。このように、本発明では、32個の小雲ビルボードの分布を変化させるだけで、複数の異なる中雲を生成する。また、オブジェクト空間における仮想カメラ100と光源の位置関係に基づいて色情報を決定することとしたため、各画像から類推される光源の方向が等しいものとして認識できる。
【0146】
以下では、図11に示すような4つの中雲202、204、206、208のテクスチャ(以下、中雲テクスチャ)を生成する方法について、詳細に説明する。なお、以下では、▲1▼初期設定として、各中雲を構成する小雲ビルボードを分布させる方法について説明した後、▲2▼小雲ビルボードの描画として、小雲ビルボードの集合体を描画する方法、即ち、各小雲ビルボードの不透明度αを描画し、着色する方法について説明する。
【0147】
▲1▼初期設定
初期設定では、小雲ビルボードの分布と、各小雲ビルボードの大きさについて設定する。具体的には、中雲1つ1つに対して、中雲座標系を定義し、32個の小雲ビルボードの座標を設定するとともに、各小雲ビルボードの大きさを決定し、各中雲のデータとして記憶する。なお、小雲ビルボードの大きさや分布の設定については、より自然体に近い中雲を生成するために、乱数を用いて行う。即ち、各小雲ビルボードの座標および大きさを乱数により決定する。
【0148】
小雲ビルボードの座標を決定する際には、座標における各成分毎に乱数を発生する。ただし、乱数を無制限に発生させた場合、不必要に大きい値が得られる可能性がある。このため、生成する乱数に下限と上限を設け、所定の範囲内の値が得られるように設定する。ただし、乱数を発生したとき、下限から上限に至る範囲内の全ての値について出現確立が等しい。従って、得られた乱数を小雲ビルボードの座標成分として直接採用した場合、32個の小雲ビルボードは、所与の立方体内に満遍なく分布されることとなり、図11に示す中雲のような一部に寄り集まった雲を表現することができない。そこで、分布に偏りを持たせるために、1つの小雲ビルボードの座標を決定する際に、各座標の1成分につき複数の乱数を発生して、その平均の値を採用する。
【0149】
具体的には、各成分の値を次の式により決定する。
xn=(R1+R2+R3+R4)/4−(Rmax−Rmin)/2
yn=(R5+R6+R7+R8)/4−(Rmax−Rmin)/2
zn=(R9+R10+R11+R12)/4−(Rmax−Rmin)/2 …(4)
ここに、(xn、yn、zn)は、1つの中雲を構成するn番目のビルボードの座標を意味し、R1〜R12は、それぞれ独立に発生した乱数を示す。また、Rmaxは、発生させる乱数の最大値(上限)を、Rminは、最小値(下限)をそれぞれ意味する。例えば、Rmax=100、Rmin=0として設定すれば、乱数の発生範囲は、中雲座標系における原点を中心とし、一辺の長さが"100"の立方体となる。
【0150】
図12は、中雲座標系(x、y、z)の斜視図であり、式(4)に基づいて小雲ビルボードの代表点を分布させた一例を示すものである。同図における破線は、乱数の発生範囲を示す。また、各小雲ビルボードの代表点の座標を点により示した。このように、式(4)を用いて、複数の乱数により小雲ビルボードの座標を決定することによって、原点に偏った分布をする小雲ビルボードの集合体を構成することができる。
【0151】
なお、式(4)では、1成分につき、4つの乱数を用いることとして説明したが、この数に限定する必要はない。例えば、採用する乱数の数を増やせば、小雲ビルボードが原点の近くに配置される可能性がより高くなり、更に偏った分布を実現できる。逆に、採用する乱数の数を少なく設定すれば、偏りが小さい分布を施すことができる。このことは、式(4)において、乱数の発生範囲を操作することによっても同様の効果が認められる。即ち、乱数の発生範囲を大きく設定すれば、分布の偏りが小さくなり、発生範囲を小さく設定すれば、分布の偏りを大きくすることができる。従って、生成する中雲の形状や大きさ、立体感等に応じて採用する乱数の数や範囲を変更してもよい。
【0152】
一方、小雲ビルボードの大きさは、次のようにして決定する。即ち、1つ1つの小雲ビルボードを正方形として定義し、その一辺の長さwsを乱数により決定する。
ws=1.0+Rw …(5)
ここに、Rwは、乱数を意味し、その発生範囲を0.0≦Rw≦1.0とする。即ち、各中雲を、一辺の長さwsが1.0≦ws≦2.0を満たす、様々な大きさの小雲ビルボードの集合体により構成することができる。
【0153】
図13は、上記初期設定により決定された各小雲ビルボードの座標と大きさを記憶する4つの小雲分布データ210a〜dの一例を示す図である。同図によれば、4つの小雲分布データ210a〜dには、それぞれの中雲を構成する小雲ビルボードのコード(NO.)と、各小雲ビルボードを配置する座標の各成分、および、一辺の長さwsが記憶される。ゲーム実行中においては、小雲分布データ210a〜dに記憶されたデータに基づいて、各小雲ビルボードを制御する。なお、同図においては、4つの中雲に対応する小雲分布データ210a〜dをそれぞれ独立して記憶することとして示したが、4つの中雲の小雲ビルボードをまとめて記憶させてもよい。即ち、128個の小雲ビルボードを1つの小雲分布データとして記憶してもよい。また、上記初期設定は、ゲームを実行する直前に行い、毎回異なる中雲を生成する構成にしてもよい。
【0154】
▲2▼小雲ビルボードの描画
続いて、ゲーム実行中において、小雲ビルボードを描画する処理について説明する。
【0155】
図14(a)は、中雲座標系(x、y、z)を模式的に描いたものであり、小雲ビルボード24−1〜32を描画するための仮想カメラ(以下、雲視点220という)と、中雲座標系の原点と、投影スクリーン22との位置関係を説明するための図である。ここに、投影スクリーン22とは、小雲ビルボード24−1〜32の集合体を投影するための投影面であり、その面は、ワールド座標系における仮想カメラ100の視線ベクトル34に対して垂直に交わる関係にある。また、同図に示すように、雲視点220と、中雲座標系の原点と、投影スクリーン22の中心点22aとは、ワールド座標系における仮想カメラ100の視線ベクトル34と平行な1つの直線26上に配置される。従って、雲視点220の視線ベクトルは、ワールド座標系における仮想カメラ100の視線ベクトル34と等しくなる。なお、中雲座標系において、原点に対する雲視点220と投影スクリーン22の距離を、それぞれ一定とする。
【0156】
図14(b)は、オブジェクト空間を定義するワールド座標系(Xw、Yw、Zw)と、(a)に示す中雲座標系(x、y、z)とを示した図である。同図によれば、オブジェクト空間を映し出すためのスクリーン32と仮想カメラ100とを結ぶ直線36と、中雲座標系の原点を経由した雲視点220と、投影スクリーン22の中心点22aとを結ぶ直線26とが平行である。即ち、ゲーム実行中において、ワールド座標系における仮想カメラ100とスクリーン32の座標を決定すると、仮想カメラ100からスクリーン32に向かう視線ベクトル34を算出する。そして、この視線ベクトル34の傾きに基づいて、中雲座標系における雲視点220と投影スクリーン22の座標を決定する。なお、図14(b)において、位置関係を説明するために、ワールド座標系内に中雲座標系を配置したが、実際に配置するものではない。従って、小雲ビルボード24の分布は、ワールド座標系における他のオブジェクトの配置・描画を妨げるものではない。
【0157】
このように、仮想カメラ100の視線ベクトル34と平行になるように、雲視点220と投影スクリーン22との位置を決定し、雲視点220に基づいて、各小雲ビルボードを投影スクリーン22上に投影変換する。但し、このとき、中雲座標系における32個の小雲ビルボード24−1〜32の面がそれぞれ仮想カメラ100の視線ベクトル34に対して垂直に交わるように、各小雲ビルボードの頂点の座標を決定する。そして、各頂点について、投影スクリーン22への投影変換を行う。即ち、1つの小雲ビルボードを投影スクリーン22上に投影する際には、初期設定において生成した小雲分布データ210a〜dの中から該当する小雲ビルボードの代表点の座標と一辺の長さwsを読み出し、その読み出した値に基づいて視線ベクトル34の方向を法線方向とし、且つ、代表点の座標を中心とする面の4つの頂点を算出する。そして、算出した4つの頂点を投影スクリーン22上に投影することにより、小雲ビルボードの投影処理を行う。
【0158】
あるいは、小雲ビルボード24の投影処理において、中雲座標系における小雲ビルボード24と投影スクリーン22とが常に平行であることを利用して、投影処理を次のように短絡化してもよい。まず、中雲座標系における小雲ビルボードの代表点の座標を、投影スクリーン22上に投影する。一方で、該当する小雲ビルボード24の一辺の長さwsを、投影スクリーン22の座標系における長さws´に変換する(即ち、長さwsに対して透視変換の演算を施す)。そして、投影スクリーン22の座標系において、投影された小雲ビルボード24の代表点の座標を中心とする、一辺の長さws´の正方形の頂点を求める。このように、小雲ビルボード24の各頂点の座標を、投影スクリーン22の座標系において直接求めることによって、複数の小雲ビルボード24−1〜32の描画処理を軽減することができる。
【0159】
図15は、1つの中雲テクスチャの画像データを記憶するための中雲バッファ40を模式的に描いた図である。同図によれば、中雲バッファ40は、100×100テクセル分のRGBの色情報と、α値を記憶するメモリであり、それぞれRGBプレーン42とαプレーン44とに分けて記憶する。また、中雲バッファ40における各テクセルは、投影スクリーン22の座標系(XS,YS)と対応する。即ち、中雲座標系における小雲ビルボード24を投影スクリーン22上に投影すると、投影スクリーン22の座標系における小雲ビルボード24の各頂点の座標に対応する中雲バッファ40のテクセルを決定できる。そして、決定されたテクセルによって囲まれた範囲のテクセルのαプレーン44に対して、小雲テクスチャ102により指定されたα値(Cα)を与える。ただし、各テクセルのαプレーン44に対して、α値を加算的に与えることとする。即ち、中雲バッファ40内の1つのテクセルに対して、複数の小雲ビルボード24が重なって投影された場合には、全てのα値を加算して記憶させる。なお、α値を加算することによって、α>1となる場合には、1を超える値を切り捨てることとする。
【0160】
このように、3次元的に配置した小雲ビルボード24−1〜32をオブジェクト空間における仮想カメラ100の視線方向に応じて描画することによって、仮想カメラ100の位置が変化する度に見え方が変化することとなる。従って、生成される中雲テクスチャは、平面であるにもかかわらず、立体的な印象を与えることができる。また、中雲の見え方が、3次元空間における分布に従って秩序正しく変化するため、違和感を与えることなく雲を表現することができる。
【0161】
また、図15に示す中雲バッファ40のRGBプレーン42に与える色情報は、オブジェクト空間における光源と、仮想カメラ100の視線方向および、中雲座標系における投影スクリーン22(より正確には、投影スクリーン22に対応するオブジェクト空間上の「中雲ビルボード」であるが、本原理は、「中雲」に係る原理を説明しているため、以下、「投影スクリーン」として説明する。)との位置関係に応じて決定する。より具体的には、投影スクリーン22(対応するオブジェクト空間上の中雲ビルボード。以下同じ。)と光源との位置関係を判定するための特定点を、投影スクリーン22上に設定する。例えば、投影スクリーン22の頂点、投影スクリーン22の各辺の中点、および、投影スクリーン22の中心点といった複数箇所の点を特定点として設定する。ゲーム実行中においては、投影スクリーン22上に設定した各特定点と光源との位置関係を判定し、光源に近いと判定される特定点には明るい色を、光源から離れた位置に該当する特定点には暗い色を決定する。そして、投影スクリーン22上の各特定点に対して決定した色情報を、中雲バッファ40上の対応するテクセルのRGBプレーン42に記憶させる。また、中雲バッファ40上の他のテクセルに対しては、グローシェーディングの方法、即ち、各特定点に与えられた色の中間色を算出して与える。
【0162】
投影スクリーン22上の各特定点と光源との位置関係を判定する処理は、ベクトル演算により行う。即ち、投影スクリーン22上に設定した各特定点に特定のベクトルを持たせ、ゲーム実行中の投影スクリーン22の回転に合わせて各特定点の特定ベクトルを回転させる。そして、オブジェクト空間における光源の光線ベクトル38と、投影スクリーン22の各特定ベクトルとの成す角を計算し、その角度に応じた色を該当する特定点の色として決定する。なお、以下では、簡単の為に、光源を無限光源とする。即ち、図14(b)に示すように、光のベクトル38(以下、光線ベクトル38という)は、オブジェクト空間の全体を均等に照らし、且つ、至るところで平行なベクトルとする。
【0163】
図16は、投影スクリーン22に設けた9ヶ所の特定点22−1〜9と、各特定点の特定ベクトルを説明するための図である。(a)は、中雲座標系における投影スクリーン22の正面図を、(b)は、投影スクリーン22の断面図をそれぞれ示す。(a)および(b)によれば、各特定点が、投影スクリーン22の各頂点22−2,4,6,8、投影スクリーン22の各辺における中点22−3,5,7,9、および、投影スクリーン22の中心点22−1に設定され、特定ベクトルとして、各点における法線ベクトルが与えられる。なお、(b)には、投影スクリーン22の中心点22−1における法線ベクトル22−1a、および、仮想カメラ100の視線ベクトル34を示した。即ち、中心点22−1の特定ベクトルは、仮想カメラ100の視線ベクトル34に対して常に逆向きとなる。
【0164】
また、図16(c)は、各特定ベクトル(即ち、法線ベクトル)が指す向きの関係を示す図であり、投影スクリーン22を、x−z平面に対して水平に、且つ、各辺がx軸とz軸に対して平行あるいは垂直に交わるように配置したときの各特定ベクトルの成分を表示したものである。(c)に示すように、各特定ベクトルが互いに成す角の関係は、ゲーム実行中における投影スクリーン22の回転にかかわらず等しい。従って、仮想カメラ100の視線ベクトル34が決定すれば、視線ベクトル34に基づく回転行列を生成して、(c)に示す各特定ベクトルに作用させることにより、投影スクリーン22における各点の法線ベクトルを簡単に算出することができる。
【0165】
このように、投影スクリーン22の各点における特定ベクトルの向きを決定すると、光線ベクトル38との成す角を算出する。しかし、3次元空間における各ベクトルの成す角を算出して、座標系における3つの成分の角度を比較する処理は煩雑であるため、以下では、成す角を算出せずに、内積により色を決定することとする。また、内積を算出する際には、各ベクトルを単位ベクトル化し、内積の結果ωが−1≦ω≦1の範囲を取るように設定する。そして、該当する点に与える色を、ωの値および符号に応じて一意的に決定する。
【0166】
なお、内積ωの値と中雲に与える色との関係は、投影スクリーン22の各特定点が光源に対して近いか遠いかといった関係と対応させる。具体的には、図16(a)に示した投影スクリーン22において、特定点22−2の法線ベクトルは光線ベクトル38に対して逆向きを示し、特定点22−6の法線ベクトルは同方向を指す。即ち、投影スクリーン22において、より光源に近い点の法線ベクトルは、光線ベクトル38と逆向きを示し、光源に対して影となる部分の法線ベクトルは、光線ベクトル38と同方向を示す。こうした関係に基づき、光線ベクトル38と各点の法線ベクトルとの内積ωが、負である場合には、該当する点が光源に近いものと判断して、明るい色を与える。また、内積ωが正である場合には、光源からやや遠い、影となる部分に対応する点であると判断し、暗い色を与える。
【0167】
更に詳細には、内積ωが負である場合には雲の色として白を、内積ωが正である場合には灰色を(極端には、黒を)、といった具合に、色の濃淡を内積ωの値に応じて決定する。例えば、RGB各色の出力Iの範囲を0≦I≦255と定義する。ここに、I=0のとき、RGB全ての色が出力されずに黒となり、逆にI=255のとき白となる。そして、内積ωを変数とする関数f(ω)を乗算することにより、全色の出力の割合を決定する。関数f(ω)は、0≦f(ω)≦1の範囲を取り、ωの増加に伴って増加する関数であればいずれのものであってもかまわないが、例えば、
といった関数を定義する(ただし、0≦f(ω))。図17は、関数f(ω)のグラフを示すものであり、横軸がωを、縦軸が関数f(ω)の値を示す。式(6)によれば、関数f(ω)の値は、内積ωが負のとき"1"から"0"の値を持ち、内積ωが正のとき値が"0"となる。従って、法線ベクトルと光線ベクトル38とが互いに等しい方向を向くとき(ω>0)には、f(ω)=0となり、出力される色は黒となり、雲における影の部分を表現することができる。一方、法線ベクトルと光線ベクトル38とが向き合う関係にあるとき(ω<0)には、f(ω)>0となり、ωの値が"−1"に近づくにつれて白に近い色となる。
【0168】
このように、投影スクリーン22における複数箇所の法線ベクトルを算出し、光線ベクトル38との内積を取ることによって、よりもっともらしく雲の陰影を表現することができる。しかしながら、式(6)によれば、雲の陰影を表現することができるものの、様々な色のグラデーションを表現することができない。例えば、朝日や夕日を浴びて金色に輝く部分から、夜空の色を受けて暗く陰る部分までを持つ1つの雲を、立体感を維持し、且つ、グラデーションを付けて表現したい場合がある。しかし、光線ベクトル38と法線ベクトルの内積ωという、1つの値の変化に基づいて、RGBの3つの色を様々に、且つ、もっともらしく変化させることは困難である。
【0169】
そこで、光が当って雲が明るく輝くときの色味(明色IL=RL、GL、BL)と、雲のベースとなる色味(ベース色IB=RB、GB、BB)と、光が当らない影となる部分の色味(影色IS=RS、GS、BS)の、3色の色を予め設定する。そして、内積ωの値に応じて、各色を採用する割合を決定することとする。例えば、明色の割合を決定するための関数FL(ω)と、ベース色の割合を決定するための関数FB(ω)と、影色の割合を決定するための関数FS(ω)とをそれぞれ独立して設定する。即ち、出力する色Iを、
I=IL・FL(ω)+IB・FB(ω)+IS・FS(ω) …(7)
により決定する。
【0170】
また、各関数F(ω)を次のように設定する。
図18(a)〜(c)は、各関数のグラフを示す図である。それぞれのグラフにおいて、横軸はωの値を、縦軸は関数F(ω)の値を示す。なお、式(8)からわかるように、各関数の和は、常に1となる。従って、不自然な色味を出力することなく、合理的に各色を合成することができる。また、ω=−1,1の場合を除き、ベース色が常に合成されることとなる。従って、例えば、ベース色として白を適用した場合、白を基調とし、滑らかに色の変化する雲を表現することができる。
【0171】
以上のように、小雲テクスチャ102のαテクスチャをマッピングした小雲ビルボード24を、中雲座標系に3次元的に配置し、ワールド座標系における仮想カメラ100の向きに応じて回転させることとしたため、中雲を観察する仮想カメラ100の位置に対応して形状が変化する立体的な中雲を表現することができる。そのため、例えば、プレーヤの操縦する飛行機(視点)の高低の変更に伴い中雲を見る角度が変化しても、中雲の形状に矛盾が生じず、見ていて違和感のない画像を生成することができる。
【0172】
また、中雲テクスチャを生成する際には、全体に気流がかかった雲である小雲テクスチャ102を中心付近に集中させて中雲テクスチャを生成するので、中心が濃く(透明度が低く)、周辺に近づくにつれ薄く(透明度が高く)なる中雲テクスチャが作成される。そのため、結果として、中雲テクスチャの縁のみに気流が表現され、よりリアルな雲を表現することができる。
【0173】
また、中雲を構成する雲パーツ1つ1つに対して色を決定せずに、中雲全体のα値について描画した後、色を決定することとしたため、より迅速に中雲テクスチャを生成することができる。更に、予め3種類の色を設定し、各色を採用する割合を、中雲を描画するためのスクリーン(実際には、対応するオブジェクト上の中雲ビルボード)と光源との位置関係に応じて決定することとしたため、日の光によって色を微妙に変化させる雲を表現することが可能となった。
【0174】
なお、上記説明では、生成する中雲の数を4個、1つの中雲を構成する小雲ビルボードの数を32個として説明したが、これらの数に限定する必要はなく、1つの小雲ビルボードの規模に応じて様々に変更してもよいことは勿論である。また、色の濃淡や予め設定した色の合成割合を決定する式は、式(6)や式(8)に限定する必要はなく、雲の色として違和感の生じない色合いを算出するものであれば、いかなる式であってもかまわない。また、上記説明では、3色を合成することとして説明したが、2色や4色、…、n色であってもかまわない。この場合には、例えば、式(8)内の(ω+1)に乗算する値を、合成する色の数に合わせて変更することにより可能となる。
【0175】
あるいは、図19に示すような色決定テーブル290を予め生成し、このテーブルに基づいて色を決定することとしてもよい。図19によれば、色決定テーブル290には、法線ベクトルと光線ベクトル38との内積ωの範囲と、各内積ωの範囲と対応付けて色情報(RGBの各値)が記憶される。ゲーム実行中においては、投影スクリーン22の各特定点の法線ベクトルと光線ベクトル38との内積ωを計算し、色決定テーブル290を読み出して該当する色情報を判定し、中雲バッファ内の該当するテクセルのRGBプレーンに与える。ただし、このような色決定テーブル290を採用した場合には、予め記憶すべき情報が増えるとともに、雲の微妙な色の変化を表現することができない。従って、上記説明のように、予め特定した色を合成する割合をその都度計算する方法が最も好ましいものといえる。
【0176】
また、4つの中雲のテクスチャを生成することとして説明したが、これに限定する必要はなく、例えば、オブジェクト空間に各小雲ビルボードを実際に配置し、オブジェクト空間における仮想カメラ100に基づいて描画することとしてもよい。あるいは、オブジェクト空間全体に渡る雲を、1つの中雲のテクスチャによって表現することとしてもよい。
【0177】
しかし、このように、仮想カメラ100や雲視点の位置に基づいて描画すべき小雲ビルボードの数が多ければ多いほど、各小雲ビルボードの座標や向きを算出する処理や、描画処理等の負担が増大し、ゲーム画像の生成処理全体を遅延化させるといった問題が生じる。なお、この問題は、仮想カメラ100に基づいて描画する際の中雲や小雲ビルボードの大きさを調節することにより解決されるように思われる。例えば、オブジェクト空間に直接小雲ビルボードを配置する場合であっても、小雲ビルボードの大きさを比較的大きく設定すれば、描画等の処理を軽減することができる。しかし、飛行機ゲームのような雲を間近で観察し得るタイプのゲームにあっては、1種類のαテクスチャをマッピングしただけの比較的大きな小雲ビルボードをオブジェクト空間に直接配置した場合には、仮想カメラ位置の変化に伴う雲の微妙な変化を表現することができない。また、中雲を構成する各小雲ビルボードを大きくし、その数を少なくした場合、仮想カメラ100の位置の変化に伴う中雲の形状の変化が乏しくなり、立体感に欠けたものとなる。
【0178】
そのため、本実施の形態においては、以下に述べる雲海生成原理に基づいて、オブジェクト空間に中雲ビルボードを配置することにより、仮想カメラ100の位置の変化に伴う雲の変化を表現するとともに、立体感を有する雲を表現する。
【0179】
1−(3)雲海生成原理
次に、中雲生成原理により生成された中雲テクスチャをマッピングしたビルボード(以下、中雲ビルボードという。)を複数オブジェクト空間に設定することにより雲海を生成する原理を説明する。
【0180】
図20に示すような、仮想カメラ100(視線方向が図中矢印で示す方向で、視野角φ)から見た画像を生成する際には、図20に示した雲設定領域R内のみに、中雲ビルボードを配置する。雲設定領域R外部の雲については、仮想カメラ100の視界に入らず、描画されないため、配置しない。
【0181】
また、中雲ビルボードは、上述したように、常に仮想カメラ100の視線方向に垂直に対向し、配置位置(一点)と、大きさを設定することによりオブジェクト空間に配置される。即ち、仮想カメラ100が移動したり、視線方向を変えても雲が平面であることは露見しない。
【0182】
図20に示した雲設定領域Rについてより具体的に説明する。雲設定領域Rは、図21に示すように、オブジェクト空間(ワールド座標系)において設定された仮想カメラ100の位置から視線方向(図中矢印表示)に距離dの位置に中心点FPW(FPW.x,FPW.y,FPW.z)を有する一辺長2Lの立方体内の領域である。即ち、雲設定領域Rの位置は、仮想カメラ100の位置や視線方向に応じて変化する。但し、雲設定領域Rの各辺の方向は、ワールド座標系のXw軸、Yw軸、Zw軸の方向を向くように設定される。
【0183】
この雲設定領域Rに中雲の配置位置(中雲ビルボードの配置位置座標)を設定する際には、雲設定領域Rの中心点FPWを原点とするローカル座標系(xL,yL,zL)(以下、雲海座標系という。)における雲設定領域R内の位置座標を決定する。即ち、雲設定領域Rの中心点FPWに相対する位置として中雲ビルボードの配置位置を決定する。ここで、雲海座標系における雲設定領域Rは、図22に示すように中心点を点FPL(0,0,0)とし、一辺長2Lの立方体となる。
【0184】
雲海座標系に配置される中雲ビルボードの座標CL[i](CL[i].x,CL[i].y,CL[i].z)は、
CL[i].x={Ct[i].x+{2L−(FPW.x mod2L)}}mod 2L−L …(9)
CL[i].z={Ct[i].z+{2L−(FPW.z mod2L)}}mod 2L−L …(10)
CL[i].y=(Alt−FPW.y)+Ct[i].y×Altw …(11)
で設定される。ここで、i=1、2、…、nであり、nは設定される雲(中雲ビルボード)の数である。また、「mod」とは、剰余を示す演算子である。Altは、雲層のy座標の中心であり、例えば、地面のy座標が"0"である場合には、地面からの雲層の中心までの高さを示すこととなる。Altwは、雲層の中心から雲層の端までの最大幅である。
【0185】
また、初期設定として初期分布Ct[i](Ct[i].x,Ct[i].y,Ct[i].z)(i=1,2,…,n)が設定されている。初期分布とは、雲海における中雲ビルボードの配置位置の分布状態を決めるために初めに(例えば、ゲームの開始時等に)、一度決定されるものであり、その後ゲーム実行中には、この初期分布は変更されない。そして、Ct[i].x=rand(randは0〜(2L−1)の乱数)、Ct[i].y=rand(randは−1〜1の乱数)、Ct[i].z=rand(randは0〜(2L−1)の乱数)として初めに決定されるものである。
【0186】
式(9)によれば、{Ct[i].x+{2L−(FPW.x mod2L)}}mod2Lのとり得る値は"0"〜"2L−1"の範囲となるため、雲海座標系における中雲の配置位置のx座標CL[i].xのとり得る値は、"−L"〜"L−1"の範囲となる。また、{2L−(FPW.x mod2L)}の値は、例えば、FPW.xの値が増加する場合には、"2L"〜"1"の範囲で減少し、"1"になった後、更にFPW.xの値が増加すると"2L"に戻る。
【0187】
そのため、例えば、雲設定領域Rの中心点のx座標FPW.xの値が増加していく場合には、中雲の配置位置のx座標CL[i].xの値は"L−1"から"−L"の範囲でFPW.xの値が増加した分だけ減少し、"−L"になった後は、また"L−1"に戻り、"L−1"から"−L"の値が繰り返されることとなる。即ち、雲設定領域Rの中心点のx座標FPW.xが増加した分だけ、雲海座標系における中雲ビルボードの配置位置のx座標CL[i].xは減少し、雲設定領域Rの外部になると、逆側に現れることになり、必ず雲設定領域R内"−L"〜"L−1"の値となる。雲海座標系における中雲ビルボードの配置位置のz座標CL[i].zについても式(10)により同様である。
【0188】
図23(a)は、ワールド座標系において、Zw軸方向から見た雲設定領域Rを示す図である。同図に示すように、例えば、雲設定領域Rのワールド座標系における中心位置がFPW1(FPW1.x,FPW1.y,FPW1.z)とすると、雲海座標系における中雲ビルボードの配置位置CL[i]のx座標CL[i].xは、式(9)に従って、
CL[i].x={Ct[i].x+{2L−(FPW1.x mod2L)}}mod 2L−L
で設定される。
【0189】
ここで、例えば、図23(a)に示すように、Ct[1].x=110、FPW1.x=100、L=100であったとすると、中雲ビルボードの配置位置CL[1]の雲海座標系におけるx座標の値は、
CL[1].x={110+{200−(100 mod200)}}mod 200−100=−90
となる(図23(b))。図23(b)は、FPL1(=FPW1)を原点とした雲海座標系において、zL軸方向から見た雲設定領域Rの一例を示す図である。
【0190】
そして、仮想カメラ100の位置が図23(a)に示すようにワールド座標系のx軸方向に(図中点V1から点V2へ)移動し(視線方向は変化しない)、それに伴い、ワールド座標系における雲設定領域Rの中心点FPWの位置も点FPW1から点FPW2(FPW2.x,FPW2.y,FPW2.z)(FPW2.y=FPW1.y、FPW2.z=FPW1.z)に移動した場合、例えば、図23(a)に示すようにFPW2.x=190であるとすると、中雲ビルボードの配置位置CL[1]の雲海座標系におけるx座標の値は、
CL[1].x={110+{200−(190 mod200)}}mod 200−100=+20
となる(図23(c))。図23(c)は、FPL2(=FPW2)を原点とした雲海座標系において、zL軸方向から見た雲設定領域Rの一例を示す図である。
【0191】
即ち、図23(a)に示すように、ワールド座標系において、仮想カメラ100の変更による雲設定領域Rの移動に伴い、雲設定領域Rから外れた領域RP1が、新たに雲設定領域Rに含まれる領域RP2として現れることになる。即ち、一の分布パターンを繰り返して使用することができる。
【0192】
また、例えば、Ct[2].x=50であるとすると、雲設定領域Rの中心点FPWがFPW1である場合には、中雲ビルボードの配置位置CL[2]の雲海座標系におけるx座標CL[2].xは、
CL[2].x={50+{200−(100 mod200)}}mod 200−100=+50
となる。この場合、ワールド座標系におけるCL[2]のx座標は、中心点FPW1のx座標FPW1.x("100")から"+50"の座標"150"である。
【0193】
雲設定領域Rの中心点FPWが点FPW1から点FPW2に移動すると、中雲ビルボードの配置位置CL[2]の雲海座標系におけるx座標CL[2].xは、
CL[2].x={50+{200−(190 mod200)}}mod 200−100=−40
となる。この場合、ワールド座標系における中雲ビルボードの配置位置CL[2]のx座標は、中心点FPW2のx座標FPW2.x("190")から"−40"の座標"150"である。
【0194】
即ち、移動前(中心点を点FPW1とする)雲設定領域Rと、移動後(中心点を点FPW2とする)雲設定領域Rとの重なる領域PR3内の中雲ビルボードの配置位置は、ワールド座標系において同じ位置に設定されることとなる。
【0195】
雲設定領域Rの中心点FPWがZw軸方向に移動した場合は、上述したXw軸方向の移動と同様である。
【0196】
図24は、雲設定領域Rの中心点FPWがYw軸方向に移動する場合について説明する図である。図24(a)に示すように、雲設定領域Rの中心点FPWが点FPW1(FPW1.y=300)、Alt=240、Altw=20であり、初期分布においてCt[1].y=0であるとすると、中雲ビルボードの配置位置CL[1]の雲海座標系におけるy座標CL[1].yは、
CL[1].y=(240−300)+0×20="−60"
となり、図24(b)に示すような位置となる。図24(b)は、FPL1(=FPW1)を原点とした雲海座標系において、zL軸方向から見た雲設定領域Rの一例を示す図である。
【0197】
また、雲設定領域Rの中心点FPWが、例えば、図24(a)に示すように点FPW1(FPW1.y=300)から点FPW3(FPW3.y=350)に移動した場合、中雲ビルボードの配置位置CL[1]のy座標CL[1].yは、CL[1].y=−60から、CL[1].y=(240−350)+0×20=−110、に変更される(図24(c))。図24(C)は、FPL2(=FPW2)を原点とした雲海座標系において、zL軸方向から見た雲設定領域Rの一例を示す図である。
【0198】
仮想カメラ100の変更に伴い雲設定領域Rの位置が変わっても、ワールド座標系における雲の高さ(雲層の高さ)が変わることはないため、Xw軸方向に雲設定領域Rが移動した場合のように、雲設定領域Rの外部になった領域が新たに雲設定領域Rに含まれる領域として現れるといったことはなく、図24(c)に示すように雲設定領域R外部の座標位置に中雲ビルボードの配置位置が設定される。勿論、配置位置が雲設定領域R外部になった場合には、雲を配置しない。
【0199】
このように、式(9)〜(11)に従ってn個の中雲ビルボードの配置位置CL[i]を設定し、雲設定領域R内の中心点FPLがワールド座標系におけるFPWになるように、雲設定領域Rをワールド座標系に配置することにより、ワールド座標系における雲設定領域R内の雲(中雲ビルボード)の配置位置を設定することができる。そして、これらの配置位置CL[i]に大きさW[i]=1.0+rand(randは、0.0〜1.0の範囲の乱数)でそれぞれ中雲ビルボードを配置する。ここで、大きさW[i]は、例えば、中雲ビルボードの一辺の長さを示すものであっても良いし、また、例えば、中雲生成原理に基づいて生成される中雲テクスチャの大きさを"1"とした場合に、その中雲テクスチャに対する大きさを示すものであっても良い。
【0200】
ここで、上記式(9)〜(11)に基づいて、雲設定領域R内に設定するのは、中雲ビルボードの「配置位置」のみである。即ち、上下左右方向については、考慮に入れていない。これは、上述したように中雲を構成する小雲ビルボードが既に上下左右方向を考慮して生成されており、中雲テクスチャも同様に上下左右方向を考慮して生成されている(即ち、仮想カメラ100のロール角Zに応じた中雲テクスチャが生成される。)。そのため、雲海生成時には、雲設定領域R内に「配置位置」のみを決定すれば良い。
【0201】
従って、オブジェクト空間全体に雲を配置することなく、雲設定領域R内にのみ雲を設定すれば良いため、雲の設定に係る処理を軽減することが可能となる。また、雲を中雲ビルボードで表現するため、従来のように、仮想カメラ100の方向によっては、厚みの無さが露見するといったことがなく、例えば、雲層を水平方向からみた場合であっても、図25に示すような立体感のある雲の画像を生成することができる。図25は、本原理を適用した雲を含む表示画面の一例を示す図である。
【0202】
しかしながら、図26に示すような位置、視線方向の仮想カメラ100から見た場合には、雲設定領域Rの境界が視界内に入る。このため、図26に示すように仮想カメラ100の移動に伴い雲設定領域Rを矢印方向に移動させると、仮想カメラ100が少しx軸方向(図中右方向)に移動した時点で、雲設定領域Rの左端境界付近に設定された配置位置CL[m]が消滅して雲設定領域Rの右端境界付近に変わることとなる。
【0203】
従って、仮想カメラ100から見た場合には、視界内の配置位置CL[m]に配置された雲が視界の端から消えるのではなく、視界の中で消滅することになってしまう。また、同様に仮想カメラ100の移動に伴い、視界の中で急に雲が現れることもあり、違和感を生じる。そのため、視界内の雲設定領域Rの境界付近の雲をより透明にするため、
α=1.0−|(Sz[i]−d)|/L (12)
に基づいて、不透明度を示すパラメータであるα値(0≦α≦1)を設定する。
【0204】
ここで、Sz[i]は、仮想カメラ100から中雲ビルボードの配置位置CL[i]までの距離である。また、α値は"0"で完全に透明となり、α値が"1"の場合に不透明となる。即ち、仮想カメラ100から中雲ビルボードの配置位置までの距離Sz[i]と仮想カメラ100から雲設定領域Rの中心点FPWまでの距離dとの差が小さい位置に配置位置を持つ雲ほどαの値が大きくなり(不透明となり)、仮想カメラ100から中雲ビルボードの配置位置までの距離Sz[i]と、仮想カメラ100から雲設定領域Rの中心点FPWまでの距離dとの差が大きい位置に配置位置を持つ中雲ビルボードほどα値が小さくなる(透明になる)。
【0205】
式(12)によれば、雲設定領域Rの境界付近の配置位置CL[m]と仮想カメラ100との距離Sz[i]は、距離dとの差が大きいため、この配置位置CL[m]に配置される中雲ビルボードは透明度の高いものとなる。従って、急に消えてもわかりにくい。同様に、視界の中の雲設定領域Rの境界に現れる場合には、透明度の高い雲が現れることとなる。
【0206】
なお、仮想カメラ100から中雲ビルボードの配置位置CL[i]までの距離Sz[i]と、仮想カメラ100から雲設定領域Rの中心点FPWまでの距離dとの差に応じてα値を変更するのではなく、例えば、図27(a)に示すように、配置位置CL[i]が雲設定領域Rの中心点FPWから離れる雲ほど透明度が高くなる(αの値が小さくなる)こととし、中心点FPWからの距離がLで(α=0)になることとしても良い。その場合には、図27(a)に示した半径Lの球P1の内側においては、中心点FPWから離れるほど不透明度が低くなり(透明になり)、球P1の外の領域に配置位置を持つ雲は完全に透明となる(見えない)。
【0207】
また、例えば、図27(b)に示すように、仮想カメラ100からの中雲ビルボードの配置位置までの距離Sz[i]が所与の範囲となる領域を不透明(α=1.0)の領域とし、その領域から離れるほど徐々にα値を低くしていく(透明にしていく)ようにしても良い。
【0208】
また、例えば、図28に示すような仮想カメラ100の位置、視線方向、視野角の場合には、雲設定領域Rの外部の雲も視界に入る。そのため、更に遠景雲設定領域Rfを設定し、この遠景雲設定領域Rfに、平面状の雲オブジェクトを水平に配置する。この遠景雲設定領域Rfは、例えば、仮想カメラ100からdf(df>d)の距離に中心点FfPWを有し、一辺長Lf(Lf>L)(遠景雲設定領域Rfは仮想カメラ100から遠くに設定されるため、より広い範囲が視界内に入ることとなるため)の立方体の領域である。
【0209】
この遠景雲設定領域Rfに雲オブジェクトを配置する際には、上述した雲設定領域Rにおいて中雲ビルボードの配置位置を決定する場合と同様の初期分布Ct[i]に基づいて、式(9)〜(11)における"L"を"Lf"とし、"FPW"を"FfPW"として配置位置を決定する。また、雲設定領域Rと同様に、中心点FfPWから離れるほど雲が透明となるようにα値が設定される。そのため、雲設定領域Rと遠景雲設定領域Rfとの境界や重なる部分の雲はα値の低い(透明度の高い(見え難い))ものとなる。そのため、雲設定領域Rと遠景雲設定領域Rfとの境界をわかりにくくし、自然に連なる雲海を表現することができる。
【0210】
図29は、視界内に、遠景雲設定領域Rfと雲設定領域Rとが存在する場合の表示画像の一例を示す図である。このように、遠景雲設定領域Rf内の雲オブジェクトの場合には、仮想カメラ100から遠い位置に配置され、また、仮想カメラ100と遠景雲設定領域Rf内の雲オブジェクトとの間に雲設定領域R内の中雲ビルボードが配置されたりするため、遠景雲設定領域Rf内の雲オブジェクトは、仮想カメラ100の視線方向に垂直に向いていなくても厚みの無さが露見し難い。そのため、遠景雲設定領域Rf内に設定する雲オブジェクトは、仮想カメラ100の位置、視線方向に関わらず水平に配置するだけで良く、ビルボード処理に係る負担を軽減することができる。
【0211】
また、例えば、図30に示すようなオブジェクト空間全体の雲の分布を示す雲分布マップ924に従って、雲のある部分に配置位置を持つ中雲ビルボードのα値に"1"を掛け(設定されているα値をそのまま反映させ)、雲のない部分に配置位置を持つ中雲ビルボードのα値に"0"を掛ける(透明にする)ことにより、雲のない部分に配置される中雲ビルボードを見えなくして、雲がないようにする。
【0212】
即ち、図30に示す雲分布マップ924は、α値の分布を示すマップである。白い(雲がある)部分はα値が"1"に、黒い(雲がない)部分はα値が"0"に設定されている。そして、この雲分布マップ924の位置に応じたα値を中雲ビルボードに設定されているα値に掛け合わせたα値が描画を行なう際の不透明度に反映されることとなる。
【0213】
なお、雲分布マップ924における雲がある部分と雲がない部分との境界付近の部分のα値を、例えば"0.5"に設定しておくこととしても良い。その場合には、例えば、雲の切れ目(雲海の端部など)、即ち雲がある部分と雲がない部分との境界をはっきりさせずにぼかすことができる。
【0214】
2.機能
次に本実施の形態における各機能について説明する。
【0215】
図31は、本実施の形態における機能ブロックの一例を示すブロック図である。同図に示すように、本実施の形態の機能ブロックは、操作部500と、処理部600と、表示部700と、一時記憶部800と、記憶部900とから構成される。
【0216】
操作部500は、ゲームにおけるオブジェクトの操作等を指示入力するためのものである。プレーヤは、図1に示すゲームコントローラ1202、1204等を用いて操作データを入力する。操作部10にて得られた操作データは処理部600に出力される。
【0217】
処理部600は、主に、ゲーム演算部610と画像生成部630とから構成される。ゲーム演算部610は、操作部500から入力される操作データ及び記憶部900から読み出したゲームプログラム910に従って、所与のゲームを実行する処理、仮想カメラ100の位置、視線方向、画角(視野角)等を設定する処理、オブジェクト空間にオブジェクト、光源等を設定する処理等の処理を行なう。
【0218】
また、ゲーム演算部610には、中雲生成部612、初期設定部616、雲海生成部618が含まれる。
【0219】
画像生成部630は、仮想カメラ100から見た画像を生成する処理を行なう。画像生成部630には、小雲描画部632、中雲描画部634、雲海描画部640が含まれる。
【0220】
これら処理部600の機能は、CISC型やRISC型のCPU、DSP、画像生成専用のIC、メモリ、などのハードウェアにより実現される。
【0221】
表示部700は、画像生成部630により生成された画像(即ち、フレームバッファ808に設定された画像)等を表示するものであり、例えば、CRT、LCD、プラズマディスプレイ等によって実現され、図1のディスプレイ1200がこれに該当する。
【0222】
一時記憶部800は、小雲バッファ802、中雲バッファ804、特定点色データ806、フレームバッファ808、描画対象設定データ810が格納される。この一時記憶部800の機能は、RAMにより実現できる。
【0223】
記憶部900は、ゲームプログラム910、気流テクスチャ104、初期データ950、雲分布マップ924、雲層データ926、色データ928、関数データ930を記憶している。この記憶部900の機能は、CD−ROM、ゲームカセット、ICカード、MO、FD、DVD、メモリ、ハードディスクなどのハードウェアにより実現できる。
【0224】
次に図31に示した各機能部の機能について各処理毎に詳細に説明する。
2−(1)小雲生成処理機能
初期設定部616は、初期データ950を設定する処理を行なう。具体的には、ゲーム開始時に、雲パーツデータ952と、2−(2)中雲生成処理機能において小雲ビルボードを分布するための初期データである小雲分布データ210と、2−(3)雲海生成処理機能において中雲ビルボードを分布するための初期データである中雲分布データ956とを設定する。
【0225】
雲パーツデータ952は、上述した雲パーツA用マスク112(図5(b))、雲パーツB用マスク114(図6(b))、を含む雲パーツに係るデータである。この雲パーツデータ952は、ゲーム開始時に初期設定部616により、設定される。なお、予め、記憶部500に初期データ950として記憶されていることとしても良い。
【0226】
画像生成部630の小雲描画部632は、ゲームプログラム910に含まれる小雲生成プログラム912に従って、上述した1−(1)小雲生成原理を実行する処理部であり、仮想カメラ100のピッチ角Xと、初期データ950に含まれる雲パーツデータ952、気流テクスチャ104に基づいて雲パーツA(122)(図5(a))、雲パーツB(124)(図6(a))の各テクセルのα値を設定し、αテクスチャである小雲テクスチャ102を生成し、一時記憶部800内の小雲バッファ802に格納する処理を行う機能部である。
【0227】
2−(2)中雲生成処理機能
中雲生成部612は、中雲作成プログラム914に従って、中雲座標系における雲視点220と投影スクリーン22の配置位置を決定する処理を実行する。即ち、中雲生成部612は、ゲーム演算部610からワールド座標系における仮想カメラ100の視線ベクトルが入力されると、中雲座標系における雲視点220と投影スクリーン22の配置位置を決定する。そして、決定した雲視点220と投影スクリーン22の座標データを画像生成部630の中雲描画部634に出力する。
【0228】
中雲描画部634は、雲視点220と投影スクリーン22の座標データが中雲生成部612から入力されると、中雲座標系における各小雲ビルボードの代表点の座標を雲視点220の視点座標系に変換するための回転行列と、雲視点220に基づいて投影スクリーン22上に投影変換するための透視変換行列とを生成する。そして、初期設定部616によりゲーム開始時に設定され記憶部900に記憶された各中雲の小雲分布データ210(図13)を読み出して、各小雲ビルボードの座標データに対して生成した行列を作用させることによって、各小雲ビルボードを投影スクリーン22上に投影する。
【0229】
また、中雲描画部634には、α値描画部636、色決定部638が含まれる。α値描画部636は、各中雲を構成する32個の小雲ビルボードのα値を描画する処理を実行する。即ち、投影スクリーン22における各小雲ビルボードの各頂点の座標を決定すると、中雲バッファ804上の対応するテクセルを判定し、各頂点によって囲まれた範囲内のテクセルのαプレーンに対して、小雲テクスチャ102のαテクスチャを描画する。
【0230】
色決定部638は、中雲に与える色を決定する処理を実行する。即ち、色決定部638は、投影スクリーン22(実際には、対応するオブジェクト空間上の中雲ビルボード)上の9つの特定点に与える色を決定すると共に、中雲バッファ804の全てのテクセルに対して与える色を各特定点の色に基づいて決定する処理を行う。具体的には、色決定部638は、図32に示すような、特定点色データ806を生成する。特定点色データ806とは、各特定点と対応付けて色情報を記憶するためのものであり、一時記憶部800内に格納される。
【0231】
即ち、色決定部638は、投影スクリーン22(実際には、対応するオブジェクト空間上の中雲ビルボード)における9つの特定点の法線ベクトルを算出すると、光線ベクトルとの内積ωを計算する。そして、算出した内積ωの値を関数データ930に格納されている式(8)に代入して色データ928に格納された明色、ベース色、影色の3色の輝度を決定し、決定した輝度を関数データ930に格納されている式(7)に代入することにより、該当する特定点の色を決定する。そして、決定した各特定点の色情報を特定点色データ806として一時記憶部800に記憶する。また、α値描画部636が32個の小雲ビルボードのα値を描画終了後、生成した特定点色データ806に基づいて、中雲バッファ804内の各テクセルのRGBプレーンに与える色情報を決定する。なお、各テクセルに与える色を決定する処理は、各特定点間の色を線形補間することにより決定する。
【0232】
2−(3)雲海生成処理機能
雲海生成部618は、雲海作成プログラム916に基づいて雲海をオブジェクト空間に生成する処理を行なうものであり、雲設定領域決定部620と、中雲配置部614と、不透明度設定部622と、描画対象設定部624とを含む。雲設定領域決定部620は、ゲーム演算部210により設定された仮想カメラ100の位置、視線方向に基づいて、仮想カメラ100の位置から視線方向に距離dの位置を決定し、その位置を中心点FPWとする一辺長2Lの立方体を雲設定領域Rとして決定する。また、雲設定領域決定部620は、仮想カメラ100の位置から視線方向に距離dfの位置を決定し、その位置を中心点FfPWとする一辺長2Lfの立方体を遠景雲設定領域Rfとして決定する。
【0233】
図33は、中雲分布データ956のデータ構成の一例を示す図である。同図に示すように、雲設定領域R内に設定する雲の数n分の"i"に対する初期分布Ct[i].x、Ct[i].y、Ct[i].zの値と、中雲ビルボードの大きさW[i]と、中雲生成処理機能により生成される4種類の中雲ビルボードに付された中雲ビルボード種類番号b1〜b4の内のいずれかがビルボード種類番号として設定されている。
【0234】
Ct[i].x、Ct[i].zは、それぞれ"0"から"2L−1"までの乱数が設定され、Ct[i].yは、"−1"から"+1"までの乱数が設定されている。例えば、図33においては、"i"が"1"に対するCt[i].x(即ちCt[1].x)は"110"、Ct[i].y(即ちCt[1].y)は"0"、Ct[i].z(即ちCt[1].z)は"124"である。また、"i"が"1"に対する大きさW[i](即ちW[1])は、"1.1"に設定されており、ビルボード種類番号として"b1"が設定されている。即ち、後述する中雲配置部614がi=1に対して設定する配置位置CL[1]には中雲ビルボード種類番号b1の中雲ビルボードが大きさ"1.1"で配置されることとなる。
【0235】
図34は、雲層データ926のデータ構成の一例を示す図である。同図に示すように、雲層データ926は、オブジェクト空間に設定される雲層のそれぞれの層に対する高さ(ワールド座標系における雲層の中心のy座標の値)Alt、幅Altwが設定されている。本実施の形態においては、層1、層2の2つの雲層をオブジェクト空間に設定することとしているため、図34に示す雲層データ926においては、層1、層2に対する高さAlt、幅Altwが設定されているが、オブジェクト空間に設定される雲層の数は、1つでも良く、また3つ以上であっても良い。その場合には、雲層データ926には、オブジェクト空間に設定される雲層それぞれに対する高さAlt、幅Altwが設定される。
【0236】
中雲配置部614は、記憶部900に記憶された雲層データ926、初期設定部616により設定された中雲分布データ956に基づいて、上述した、式(9)、(10)、(11)に従って雲設定領域Rの中心点FPWを原点とする雲海座標系における雲の配置位置CL[i](i=1〜n)の座標を設定する。また、遠景雲設定領域Rfの中心点FfPWを原点とする遠景雲海座標系における雲の配置位置CL[i](i=1〜n)の座標も同様に設定する。
【0237】
また、中雲配置部614は、設定した(雲海座標系の)配置位置CL[i]の値に基づいて、オブジェクト空間(ワールド座標系)に中雲ビルボードを配置する。即ち、雲設定領域Rの中心点をワールド座標系の点FPWとした場合の座標位置に、配置位置CL[i]を変換する。そして、初期分布データに設定されているビルボードの種類に従った中雲ビルボードを大きさW[i]で、視点方向に正対させて配置する。また、設定した配置位置CL[i]が雲設定領域R外であった場合には、その配置位置には、中雲ビルボードを配置しない。
【0238】
また、中雲配置部614は、遠景雲設定領域Rfに対して設定した配置位置CL[i]の値に基づいて、雲オブジェクトをワールド座標系において水平に配置する。雲オブジェクトとしては、例えば、中雲ビルボードのビルボード処理を省いたもの、即ち、ビルボードではなく、通常の(ビルボード処理を行なわない)平面状の1枚のポリゴンに中雲生成処理において生成された中雲テクスチャをマッピングしたものである。
【0239】
このように、中雲配置部614は、中雲ビルボードを配置するが、配置する中雲ビルボードの上下左右の向きは固定的で良い。何故ならば、中雲生成部612及び中雲描画部634により、仮想カメラ100のロール角Zに応じた中雲テクスチャが生成されるため、中雲配置部614はその生成された中雲テクスチャの配置位置のみを設定して配置すれば良い。
【0240】
不透明度設定部622は、中雲配置部614が設定した中雲ビルボードの配置位置と仮想カメラ100との距離Sz[i]に基づいて、上述した式(12)に従って、中雲ビルボードの配置位置それぞれに対するα値を設定し、描画対象設定データ810に格納する。
【0241】
更に、不透明度設定部622は、記憶部900に記憶された雲分布マップ924に基づいて、中雲ビルボードの配置位置(中雲配置部614によりワールド座標系に変換された配置位置)に対応する雲分布マップ924(図30)に設定されているα値を描画対象設定データ810に設定されているα値に掛け合わせ、描画対象設定データ810のα値を更新する。
【0242】
図35は、描画対象設定データ810のデータ構成の一例を示す図である。ここでは、説明を簡明にするため、雲設定領域Rに配置する雲に対する描画対象設定データ932のみを図示するが、描画対象設定データ810としては、同様に、遠景雲設定領域Rfに配置される雲に対する描画対象設定データ810も設定される。
【0243】
図35に示すように、中雲配置部614により決定された配置位置CL[i]に対してα値及び描画フラグが設定されている。α値は、不透明度設定部622が設定したα値が格納される。描画フラグは、各フレームに対する処理開始時に"0"にリセットされ、描画対象となるもののみ後述する描画対象設定部624により"1"に設定される。また、この描画対象設定データ810の配置位置CL[i]には、雲設定領域Rまたは遠景雲設定領域Rfの内部に存在する配置位置のみが設定されている。即ち、中雲配置部614により配置される中雲ビルボードまたは雲オブジェクトに対してのみ、α値及び描画フラグが設定されることとなる。
【0244】
雲分布マップ924は、図30に示すようなオブジェクト空間全体の雲の分布を示すマップであり、記憶部900は、雲層それぞれに対する雲分布マップ924を格納している。また、この雲分布マップ924は、雲の不透明度αの分布を示すものでもあり、雲のある(図中白い)部分はα値が"1"に設定されており、雲のない(図中黒い)部分は、α値が"0"に設定されている。
【0245】
描画対象設定部624は、描画対象設定データ810に不透明度設定部622が設定したα値が"0"でない中雲ビルボードを描画対象として設定する。即ち、透明な中雲ビルボードは描画されないこととなる。具体的には、描画対象設定データ810において、α値が"0"でない配置位置CL[i]に対する描画フラグを"1"に設定する。即ち、画像生成部は、オブジェクト空間に配置された中雲ビルボードの内、描画フラグが"1"に設定された配置位置CL[i]に配置された中雲ビルボードのみを描画する。
【0246】
雲海描画部640は、ワールド座標系に配置された中雲ビルボード及び雲オブジェクトをスクリーン座標系に座標変換し、不透明度設定部622により設定された描画対象設定データ810に設定された不透明度α及び中雲バッファ804のαプレーンに設定されているα値、中雲バッファ804のRGBプレーンに設定された輝度(色)、等に基づいて、色情報等を決定して画像を生成する、(即ちフレームバッファ808の各画素の値を設定する)。その際に、描画対象設定データ810において描画フラグが"1"に設定されている配置位置CL[i]に配置される中雲ビルボードと雲オブジェクトに対してのみ処理を行なう。
【0247】
3.動作
次に本実施の形態における雲生成処理の動作について説明する。図36は、雲生成処理の動作の一例を示すフローチャートである。
【0248】
まず、初期設定部616がゲーム開始時に初期データ950を設定する初期設定処理を実行する(ステップS0)。そして、小雲描画部632がステップS0において設定された初期データ950に基づいて小雲生成処理を行ない、小雲テクスチャ102を生成する(ステップS1)。
【0249】
中雲生成部612及び中雲描画部634はステップS0において設定された初期データ950及びステップS1において生成された小雲テクスチャ102に基づいて中雲生成処理を行い、中雲テクスチャを生成する(ステップS2)。そして、雲海生成部618及び雲海描画部640は、ステップS0において設定された初期データ950及びステップS2において生成された中雲テクスチャに基づいて雲海生成処理を行ない、雲海を含む1フレーム分の画像を生成する(ステップS3)。そして、ステップS1に戻り、ステップS1〜S3の処理を毎フレーム行ない、ゲーム画像(動画)を生成することとなる。
【0250】
図37は、初期設定処理(図36;ステップS0)の動作の一例を示すフローチャートである。
【0251】
まず、初期設定部616は、初期データ950として雲パーツデータ952を生成し、雲の形状を決定する(ステップS0−1)。そして、初期設定部616は、中雲生成処理において、小雲を配置する際の分布データである小雲分布データ210を生成する。(ステップS0−2)。そして、雲海生成処理において中雲を配置する際の分布データとなる中雲分布データ956を生成して(ステップS0−3)、処理を終了する。
【0252】
図38は、本実施の形態における小雲生成処理(図36;ステップS1)の動作について説明するフローチャートである。
【0253】
図38において、まず、小雲描画部632は、小雲テクスチャ102のCα[n,m]をクリアする("0"に戻す)とともに、式(1)を用いて雲パーツA(122),B(124)に雲パーツデータ952に設定されている雲パーツA用マスク112と雲パーツB用マスク114のビットパターンの値を加算して、雲パーツA(122)、Bのα値を初期状態に戻す(ステップS1−1)。
【0254】
次に、小雲描画部632は、現時点の仮想カメラのピッチ角Xを取得すると(ステップS1−2)、雲パーツA(122)または雲パーツB(124)を特定して以下の処理を行う(以下雲パーツA(122)を特定したこととする。)。即ち、特定した雲パーツA(122)を構成するテクセル[n,m]について、α値が"0"であるか否かを判別する(ステップS1−3)。α値が"0"でなければ(ステップS1−3:YES)、気流テクスチャ104の対応するテクセルのα[n,m]と上記取得したピッチ角Xとを式(2)に代入することにより、αA[n,m]の値を求める(ステップS1−4)。
【0255】
そして、この求めたαA[n,m]の値を、小雲テクスチャ102の対応するテクセル[n,m]のα値に加算する(ステップS4)。この加算の結果、小雲テクスチャ102のα値が"1"を超えた場合には、そのテクセルのα値は"1"とする。
【0256】
また、上記雲パーツA(122)のテクセル[n,m]のα値が"0"である場合には(ステップS1−3:NO)、ステップS1−4およびステップS1−5の処理をスキップして、ステップS1−6に移行する。
【0257】
このように、小雲描画部632は、雲パーツA(122)を構成する全てのテクセルについて、上記ステップS1−3〜S1−5の処理を実行して、小雲テクスチャ102の対応するテクセルの不透明度αを決定すると(ステップS1−6:YES)、続いて、雲パーツB(124)についても、同様の処理(ステップS1−3〜S1−6)を行う。
【0258】
そして、雲パーツA(122)及びB(124)について、上記ステップS1−3〜S1−6の処理を実行したことを確認すると(ステップS1−7:YES)、小雲描画部632は、本処理を終了する。
【0259】
以上の処理により、雲パーツA(122),B(124)、及び気流テクスチャ104を合成し、小雲テクスチャ102が生成されることとなる。
【0260】
尚、気流テクスチャ104は、上述した通りアニメーションであるため、時間の経過に応じて、気流テクスチャ104を構成する各テクセルの不透明度の値α[n,m]が変化する。このため、小雲テクスチャ102には気流の様子が表現されることとなる。
【0261】
図39は、中雲生成処理(図36;ステップS2)の動作の一例を示すフローチャートである。
【0262】
中雲生成部612は、ワールド座標系における仮想カメラ100の視線ベクトルに基づいて、中雲座標系における雲視点220と投影スクリーン22の配置位置を決定する(ステップS2−1)。中雲描画部634は、中雲座標系に配置された投影スクリーン22(実際には、対応するオブジェクト空間上の中雲ビルボード)における9つの特定点の法線ベクトルを算出し、各特定点の色を決定して、特定点色データ806を生成する(ステップS2−2)。また、中雲描画部634は、中雲座標系における雲視点220の座標に基づいて、ローカルマトリクスを生成する(ステップS2−3)。即ち、各小雲ビルボードを雲視点220の視点座標系に変換するための回転行列と、雲視点220と投影スクリーン22との距離に基づく透視変換行列を生成する。
【0263】
そして、中雲描画部634は、初期設定処理(図37)により設定された小雲分布データ210内に記憶された128(32×4)個の小雲ビルボードのコードの中から1つを選択し(ステップS2−4)、ステップS2−3で生成した行列を作用することによって、投影スクリーン22上に投影変換する。そして、α値描画部636が当該小雲ビルボードのα値を中雲バッファ804上のαプレーンに描画する(ステップS2−5)。中雲描画部634は、当該中雲バッファ804の描画処理が終了すると、32個の小雲ビルボードについて処理を実行したか否かを判別する(ステップS2−6)。終了していない場合には、ステップS2−4に戻り、次の小雲ビルボードのコードを選択してα値を描画する(ステップS2−4〜S2−5)。
【0264】
一方、ステップS2−6において、32個の小雲ビルボードの処理が終了したものと判別した場合には、色決定部638が、ステップS2−2において生成された特定点色データ806に基づいて、中雲バッファ804のRGBプレーンに色を描画する処理を実行する(ステップS2−7)。中雲バッファ804の全てのテクセルについて色を与える処理が終了した後、中雲描画部634は、4つの中雲について処理が終了したかを判別し(ステップS2−8)、終了していない場合には、ステップS2−4に移行して、次の中雲の描画処理を実行する。ステップS2−8において、4つの中雲について処理が終了した場合には、本処理を終了する。
【0265】
次に、雲海生成処理(図36;ステップS3)の動作について説明する。図40は、本実施の形態における雲海生成処理の動作の一例を示すフローチャートである。
【0266】
まず、雲設定領域決定部620が仮想カメラ100の位置、視線方向に基づいて雲設定領域Rを設定する(ステップS3−1)。次いで、雲海描画部640が仮想カメラ100の位置、視線方向に基づいて、ワールド座標系からスクリーン座標系への座標変換のためのマトリクスを生成しておく(ステップS3−2)。
【0267】
そして、中雲配置部614がi=1について式(9)〜(11)に従って、雲層データ926、中雲分布データ956に基づいて雲設定領域Rの中心点を原点とした雲海座標系における座標として中雲ビルボードの配置位置CL[i]を設定し(ステップS3−3,S3−4)、その配置位置CL[i]に対応する、ワールド座標系における配置位置にサイズW[i]の中雲ビルボードを配置する(ステップS3−5)。そして、配置された中雲ビルボードをステップS3−2において生成されたマトリクスに従って、雲海描画部640がスクリーン座標に座標変換する(ステップS3−6)。
【0268】
また、不透明度設定部622が式(12)に従って、仮想カメラ100から配置位置までの距離Sz[i]に応じた中雲ビルボードのα値を設定し(ステップS3−7)、雲分布マップ924に従って、更に中雲ビルボードのα値を設定する(ステップS3−8)。そして、描画対象設定部624が中雲ビルボードが透明(α=0)か否かを判別し(ステップS3−9)、透明である場合には、描画対象設定データ810の描画フラグを"0"のままにしてステップS3−11に移行する。
【0269】
透明でない場合には、描画対象として設定し、即ち、ステップS3−5において設定された配置位置CL[i]に対する描画フラグを"1"に設定し(ステップS3−10)、ステップS3−11に移行する。
【0270】
ステップS3−11において、中雲配置部614は、i≧nか否かを判別する。"i"がnより小さい場合には、"i"の値を"i+1"に更新して(ステップS3−12)、ステップS3−4に戻り、以降ステップS3−11までの処理を繰り返す。"i"がn以上になったと判別した場合には、雲層データ926に設定されている全ての雲層に対して中雲ビルボードの配置位置の設定を行なったか否かを判別し(ステップS3−13)、行なっていない雲層がある場合には、ステップS3−3に戻り、行なっていない雲層に対して、ステップS3−3〜S3−13までの処理を繰り返す。
【0271】
そして、オブジェクト空間に設定されている全ての雲層に対して処理が終了した場合には、遠景雲設定領域Rfに対してもステップS3−2〜S3−14と同様の処理を行なう。即ち、雲設定領域Rを設定し、配置する雲オブジェクト数分、雲オブジェクトの配置位置を設定して配置し、配置された雲オブジェクトをスクリーン座標系に変換し、不透明度αを設定し、透明でないもののみを描画対象とする処理を繰り返し、更に、オブジェクト空間に設定されている全ての雲層に対して処理を行なう(ステップS3−14)。
【0272】
そして、雲海描画部640が描画対象設定データ810において描画フラグが"1"に設定されている配置位置に配置される中雲ビルボード、雲オブジェクトのみを中雲バッファ804に設定されている色、不透明度等に基づいて描画して(ステップS3−16)、処理を終了する。
【0273】
次に、本実施の形態を実現できるハードウェアの構成の一例について図41を用いて説明する。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして画像生成IC1010には表示装置1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0274】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものであり、図31における記憶部900に相当する。例えば本実施の形態を実現するものがコンピュータである場合には、ゲームプログラム等を格納する情報記憶媒体としてCD−ROM、DVD等が、家庭用ゲーム装置である場合には、これらの他にゲームカセット等が用いられる。また業務用ゲーム装置として実現する場合には、ROM等のメモリやハードディスクが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0275】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、ユーザーがゲームの進行に応じて行なう判断の結果を装置本体に入力するための装置である。このコントロール装置1022は、図31における操作部500に相当する。
【0276】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022から入力される信号等に従って、CPU1000は装置全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。
【0277】
更に、この装置には音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やBGM音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいて表示装置1018に出力するための画素情報を生成する集積回路である。また表示装置1018は、CRT、LCD、TV、プラズマディスプレイ、液晶プラズマディスプレイ、プロジェクター等により実現される。この表示装置1018は、図31に示す表示部700に相当する。
【0278】
また、通信装置1024は装置内部で利用される各種の情報を外部とやりとりするものであり、他の装置と接続されてゲームプログラム等に応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受すること等に利用される。
【0279】
そして、図1〜図35を参照して説明した種々の処理は、図36〜図40のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお画像生成IC1010等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行うこととしてもよい。
【0280】
図42に、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304−1〜1304−nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。
【0281】
この場合、ゲームプログラム510、気流テクスチャ104、初期データ952、雲分布マップ924、雲層データ926、色データ928、関数データ930は、例えば、ホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。以下、この情報記憶媒体1306に格納されている情報を格納情報という。端末1304−1〜1304−nが、CPU、画像生成IC、音生成ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、格納情報が通信回線1302を介して端末1304−1〜1304−nに配信される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304−1〜1304−nに伝送し、端末において出力することになる。
【0282】
以上のように、本発明によれば、小雲生成処理により、雲パーツA(122)と雲パーツB(124)とを仮想カメラ100のピッチ角Xに応じて合成することとしたため、単純な手法ながらも立体感のある雲を表現することができる。
【0283】
更に中雲生成処理により、中雲を観察する仮想カメラ100の位置に対応して形状が変化する立体的な中雲を表現することができる。即ち、仮想カメラ100から中雲を見る角度が変化しても、中雲の形状に矛盾が生じず、見ていて違和感のない画像を生成することができる。
【0284】
また、小雲テクスチャ102に施された気流の表現は、結果的に、中雲テクスチャの縁のみに反映されるように見えるため、よりリアルな雲を表現することができる。
【0285】
また、更に雲海生成処理により、雲海を違和感なく、立体的に表現することができる。また、仮想カメラ100の視界内(雲設定領域R内)のみ中雲ビルボードを配置すれば良いため、雲海の画像生成に係る処理の軽減を図ることができる。
【0286】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。例えば、上記実施の形態においては、中雲生成時の初期設定において、中雲座標系における原点に偏らせて小雲ビルボードを分布することとして説明したが、他の位置であってもかまわない。すなわち、式(5)において、各4つの乱数の平均から(Rmax−Rmin)/2を減算することとして説明したが、各成分毎に適当な値を減算(あるいは、加算)することによって、中雲座標系における小雲ビルボードの集合体の分布位置を変更してもよい。
【0287】
あるいは、図43に示すように、小雲ビルボードの分布をいくつかに分散してもよい。すなわち、32個の小雲ビルボードをいくつかに分割し、各集合体毎に異なる分布の中心点の座標(すなわち、分布の偏りの位置)を与えることとしてもよい。このように、1つの中雲における小雲ビルボードの分布をいくつかに分散させることによって、図44(a)に示すような横長な中雲や、(b)に示すような複雑な形状の中雲等を生成することができる。
【0288】
また、例えば、上記実施の形態においては、遠景雲設定処理においても、雲設定領域R内と同数nの雲を設定することとしたが、遠景雲設定領域Rfに配置される雲は仮想カメラ100から遠いため、あまり精細なモデルである必要がないため、例えば、設定する雲の数を少なくし、一つ一つの雲オブジェクトを大きくして配置することにより、処理の軽減を図ることとしても良い。
【0289】
また、雲オブジェクトを中雲テクスチャをマッピングしたペラポリゴンとしたが、遠景であるため、より単純な雲テクスチャをマッピングして雲オブジェクトを生成することとしても良い。その場合、予め、遠景用の雲テクスチャを記憶部900に格納しておくこととしても良い。
【0290】
また、例えば、図30に示した雲分布マップ924は、時間経過とともに、雲のある部分とない部分との分布を変化させることとしても良い。その場合には、時間経過とともに雲が流れ、分布が変化する様子を表現することができる。
【0291】
また、層の幅ALtwを雲層毎に固定値として設定していたが、例えば、層の幅ALtwを位置的に変化させることとしても良い。即ち、雲層の厚い部分と薄い部分とを設定することとしても良い。また、例えば、積乱雲のように時間経過とともに発達していくような雲の場合には、雲層の一部の厚みが時間経過とともに厚くなるため、更に時間的に層の幅ALtwを変化させることとしても良い。
【0292】
また、上記実施の形態においては、飛行機ゲームを例にとって説明したが、プレーヤが操作(操縦)するものは、飛行機に限らず、例えば、ヘリコプターなどであっても勿論良い。
【0293】
また、上記実施の形態においては、家庭用ゲーム装置を例にとって説明したが、本発明の適用は、これに限らず、例えば、携帯型のゲーム装置や業務用ゲーム装置であっても良い。また、例えば、パーソナル・コンピュータ、PDA、携帯型電話機等のゲーム装置以外のコンピュータ装置であっても良い。
【0294】
【発明の効果】
本発明によれば、仮想カメラの位置、視線方向の変化に対して矛盾がなく、且つ立体感のある雲の表現が可能となる。
【図面の簡単な説明】
【図1】本発明を家庭用のゲーム装置に適用した場合の一例を示す図である。
【図2】(a)仮想カメラと小雲テクスチャとの関係、(b)仮想カメラ角度、を説明する図である。
【図3】小雲テクスチャの合成の概念を示す図である。
【図4】小雲テクスチャの一例を示す図である。
【図5】雲パーツA及び雲パーツA用マスクの一例を示す図である。
【図6】雲パーツB及び雲パーツB用マスクの一例を示す図である。
【図7】気流テクスチャの一例を示す図である。
【図8】(a)雲パーツA、(b)雲パーツB、(c)気流テクスチャの画像の一例を示す図である。
【図9】仮想カメラのピッチ角Xが(a)X=0°、(b)X=45°、(c)X=90°の場合の小雲テクスチャの一例を示す図である。
【図10】小雲テクスチャの反転する原理を示す図である。
【図11】中雲の画像例を示す図である。
【図12】中雲座標系の一例を示す斜視図である。
【図13】小雲分布データの一例を示す図である。
【図14】(a)中雲座標系における仮想カメラと中雲座標系の原点と投影スクリーンとの位置関係、(b)ワールド座標系と中雲座標系との関係、を示す図である。
【図15】中雲バッファの一例を示す模式図である。
【図16】特定点と特定ベクトルとを説明する図である。
【図17】関数f(ω)のグラフを示す図である。
【図18】(a)FL(ω)、(b)FB(ω)、(c)FS(ω)、の各関数のグラフを示す図である。
【図19】色決定テーブルの一例を示す図である。
【図20】仮想カメラと雲設定領域との関係を示す図である。
【図21】ワールド座標系における雲設定領域の一例を示す図である。
【図22】雲海座標系における雲設定領域の一例を示す図である。
【図23】雲設定領域の移動に伴い中雲ビルボードの配置位置の変化を説明する図である。
【図24】雲設定領域の移動に伴い中雲ビルボードの配置位置の変化を説明する図である。
【図25】雲を含む表示画面の一例を示す図である。
【図26】仮想カメラの視界と雲設定領域との関係の一例を示す図である。
【図27】雲設定領域内の不透明度の分布例を示す図である。
【図28】遠景雲設定領域の一例を示す図である。
【図29】遠景雲設定領域に設定される雲を含む画像の一例を示す図である。
【図30】雲分布マップの一例を示す図である。
【図31】本実施の形態における機能ブロックの一例を示すブロック図である。
【図32】特定点色データ806のデータ構成の一例を示す図である。
【図33】中雲分布データのデータ構成の一例を示す図である。
【図34】雲層データのデータ構成の一例を示す図である。
【図35】描画対象設定データのデータ構成の一例を示す図である。
【図36】本実施の形態における雲生成処理の動作の一例を示すフローチャートである。
【図37】本実施の形態における初期設定処理の動作の一例を示すフローチャートである。
【図38】本実施の形態における小雲生成処理の動作の一例を示すフローチャートである。
【図39】本実施の形態における中雲生成処理の動作の一例を示すフローチャートである。
【図40】本実施の形態における雲海生成処理の動作の一例を示すフローチャートである。
【図41】本実施の形態を実現できるハードウェアの構成の一例を示す図である。
【図42】ホスト装置と通信回線を介して接続されるゲーム端末に本実施の形態を適用した場合の一例を示す図である。
【図43】小雲ビルボードの分布例を示す図である。
【図44】小雲ビルボードの分布例を示す図である。
【符号の説明】
500 操作部
600 処理部
610 ゲーム演算部
612 中雲生成部
616 初期設定部
618 雲海生成部
630 画像生成部
632 小雲描画部
634 中雲描画部
640 雲海描画部
700 表示部
800 一時記憶部
802 小雲バッファ
804 中雲バッファ
806 特定点色データ
808 フレームバッファ
810 描画対象設定データ
900 記憶部
910 ゲームプログラム
950 初期データ
924 雲分布マップ
926 雲層データ
928 色データ
930 関数データ
104 気流テクスチャ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to game information, an information storage medium, and a game device for executing a given game by generating an image of an object space viewed from a virtual camera and displaying the generated image.
[0002]
[Prior art]
Conventionally, when representing a cloud in an image of a video game device or the like, in order to reduce processing, a plurality of cloud objects in which a cloud texture is mapped to a single planar polygon are set horizontally in the object space. And expressed the clouds. However, for example, in a game of maneuvering an airplane, when generating an image viewed from the operator's viewpoint, the virtual camera (viewpoint) may be level with the cloud, and the cloud may not be thick. There was a problem of understanding. Therefore, so-called billboard processing is performed in which the cloud object is always vertically opposed to the viewing direction of the virtual camera.
[0003]
[Problems to be solved by the invention]
However, conventionally, a method has been employed in which a single polygon onto which a cloud texture is mapped is always fixed in the vertical and horizontal positions with respect to the virtual camera and arranged perpendicular to the viewing direction of the virtual camera. For this reason, even if the position of the virtual camera, the line-of-sight direction, and the like change, the cloud does not change at all. Furthermore, for example, when the elevation angle or depression angle in the line-of-sight direction increases, there is a problem that the clouds are inverted and expressed at an angle of ± 90 °. For this reason, there has been a demand for a cloud expression that does not give a sense of incongruity to changes in the position and line-of-sight direction of the virtual camera. In particular, in games, processing related to each frame must be performed within a given time, which increases the processing burden when expressing clouds that do not feel uncomfortable with changes in the position of the virtual camera or the direction of the line of sight. There was also a problem that had to be suppressed.
[0004]
An object of the present invention is to realize a cloud expression that is consistent with changes in the position and line-of-sight direction of a virtual camera.
[0005]
[Means for Solving the Problems]
Hereinafter, means for solving the above-described problem will be described. Before that, the interpretation of important terms “cloudy” and “cloudy object” used throughout this specification will be described.
[0006]
The technology disclosed in this specification is a technology that focuses on how to express “clouds”. However, in the real world, due to the nature of “clouds”, one “cloud” is usually one “cloud” and “small clouds” do not gather together to constitute one “cloud”. Is common. In the field of computer graphics, there is known a method of expressing “clouds” with particle systems (so-called particles). According to this method, “clouds” are a collection of “particles”. It is not a collection of “small clouds”. However, since the present technology does not control each particle (particle), it cannot be said that the unit constituting the “cloud” is “particle”. Therefore, the word “cloudy” is used to indicate that it is an element constituting “cloud” and is a unit.
[0007]
In view of the above, the term “cloudy” is used in this specification to identify the elements constituting the cloud-like object. Therefore, cloud means also includes cloud objects. That is, a cloud-like object (for example, a small cloud or a cloud-like object representing only one side surface), an alternative selection of a plurality of cloud-like objects, or the like is a single cloud-like object (for example, a large cloud). Or a cloud-like object seen from one side). In addition, the meaning of cloud includes an aggregate of a plurality of particles (particles). That is, the component of the cloud object includes a case where a plurality of particles are used as one unit.
[0008]
The “cloud object” means the following. That is, although the technique disclosed in this specification focuses on “clouds”, it means that the present technique is not applicable only to “clouds”. The term “cloud object” means an object such as “smoke”, “mist”, and “haze” that shares an object with “cloud”.
[0009]
The first invention is
An image of the first object space viewed from the first virtual camera (for example, the
A plurality of types of first cloud particles (for example, cloud part A illustrated in FIG. 3) prepared in advance according to a given angle parameter (for example, pitch angle X illustrated in FIG. 2) of the first virtual camera. (122), the cloud part B (124)) is synthesized at a given ratio according to the current value of the given angle parameter, so that the first virtual camera is added to the first object space. First to generate texture information (for example, the
[0010]
Here, the first device may be a computer device or a portable / home / business game device. The given angle parameter is an angle parameter related to the first virtual camera, which is necessary for setting the first virtual camera in the first object space. For example, the given angle parameter of the first virtual camera These are angles such as roll angle, pitch angle, and yaw angle. In addition, in the synthesis process at a given ratio, for example, when there are two first cloud atoms and the synthesis process is performed at a ratio of 1: 0 or 0: 1, that is, This includes the case of switching.
[0011]
According to the first invention, for example, two first cloud elements representing one side surface (for example, the front surface) and the other side surface (for example, the back surface) of the first cloud object are prepared, and the first virtual object is prepared. The first cloud can be switched according to the viewing direction of the camera. That is, since the first cloud object is arranged toward the first virtual camera, for example, the front and back surfaces of the first cloud object can be easily expressed without contradiction.
[0012]
Furthermore, since the texture information reflected in the first cloud object is generated “in accordance with the current value of the angle parameter” of the first virtual camera, the first cloud object is generated in the first object space. Is not necessary to consider the vertical and horizontal directions of the first cloud-like object. That is, for example, when the roll angle of the first virtual camera changes, it is necessary to rotate the first cloud object according to the roll angle, but texture information is generated according to the roll angle. Therefore, the first cloud-like object is simply placed in the first object space (more precisely, the position where the first cloud-like object is placed in the first object space is determined. Only).
[0013]
The second invention is the game information of the first invention,
The first cloud is texture information having color information including at least transparency information (for example, α value in the embodiment),
The first generation unit is configured to synthesize the plurality of types of first cloud particles by adding the color information of the plurality of types of first cloud particles at the given ratio. It is characterized by including information for functioning (for example, formulas (2) and (3) in the embodiment).
[0014]
According to the second aspect of the invention, the synthesis process of the first cloudy may be the sum of the color information. Further, when the color information is only the transparency information, the summation operation of the color information can be more easily completed. That is, for example, if the color of the first cloud-like object is set in advance as “white”, the color of the first cloud-like object to be drawn can be determined simply by calculating the transparency information. it can.
[0015]
The third invention is the game information of the second invention,
Information for causing the first device to function as animation reflecting means for reflecting a given animation (for example, the
[0016]
According to the third aspect of the invention, since the color information of the first cloud changes with time, it is possible to express the state of the airflow.
[0017]
In this case, as in the fourth invention, the game information of the third invention
Information for causing the animation reflecting means to function so as to change at least one of the direction, scale, and portion of the given animation to be reflected in the first cloud is included. Also good.
[0018]
According to the fourth aspect of the invention, since there are a plurality of types of the first cloud, depending on the type, the direction, scale, and part of reflecting the animation (for example, when mapping the animation to the first cloud, By changing the mapping direction for the first cloud and the like, various airflows can be expressed even with one animation.
[0019]
Further, as in the fifth invention, the game information of the third or fourth invention,
The given animation is an animation representing a temporal change of color information including at least transparency information;
Information for causing the animation reflecting means to function so as to determine the color information of the first cloud based on the given animation may be included.
[0020]
According to the fifth aspect, for a given animation, for example, color information periodically changes or only transparency information changes. For example, if the color of the first cloud is determined in advance as “white”, the color when the first cloud is drawn can be determined only by “transparency information”. It is possible to simplify the process of determining the color information of the first cloud.
[0021]
A sixth invention is game information according to any one of the first to fifth inventions,
For the first generating means,
Means for making the given angle parameter an angle parameter of a pitch angle and / or a yaw angle of the first virtual camera;
A plurality of types of first cloud particles prepared in advance according to the value of the angle parameter of the pitch angle and / or the yaw angle of the first virtual camera, and the current angle parameter of the corresponding first virtual camera. Means for synthesizing at a given ratio according to the value;
It is characterized by including information for functioning.
[0022]
According to the sixth aspect of the invention, it is possible to compensate for the drawbacks of the first cloud-like object that is a plate-like body arranged toward the virtual camera. That is, for example, if two first cloud elements of the right side surface and the left side surface of the first cloud object are prepared, the first cloud object is set according to the yaw angle of the first virtual camera. The right side and left side of can be expressed without contradiction. Similarly, for example, if two first cloud elements are prepared on the upper surface and the lower surface of the first cloud object, the first cloud object is set according to the pitch angle of the first virtual camera. The upper surface and lower surface of can be expressed without contradiction.
[0023]
A seventh invention is game information according to any one of the first to sixth inventions,
When there is a first cloud that is prepared in advance according to the pitch angle for the first generation unit, the first cloud is used as the roll angle or yaw angle of the first virtual camera. And when there is a first cloud that is prepared in advance according to the yaw angle, the first cloud is determined according to the roll angle or pitch angle of the first virtual camera. It is characterized in that it includes information for causing the composition processing to be performed by rotating it.
[0024]
According to the seventh aspect of the invention, even if the first cloud is prepared according to one angle parameter among the angle parameters related to the first virtual camera, the rotation is performed according to another angle parameter. Then, the composition process is performed. For example, when two first cloud elements of the right side surface and the left side surface of the first cloud object are prepared according to the yaw angle, of course, the two first cloud elements according to the yaw angle. Is synthesized, but after being rotated according to the roll angle, the synthesis is performed. That is, as described above as the effect of the first invention, the first cloud-like object is simply arranged in the first object space, and therefore there is no contradiction even when the first virtual camera rolls. There is no need to generate texture information. For this reason, even when the first virtual camera rolls by rotating according to the roll angle with respect to the first cloud particles prepared according to the yaw angle or the pitch angle, the first generating means Can generate consistent texture information.
[0025]
The eighth invention is game information of any of the first to seventh inventions,
With respect to the first generation means, at least two types of first cloud particles prepared for the first virtual camera having a pitch angle of the first virtual camera for the horizontal direction and for the vertical direction are obtained from the first virtual camera. In order to function to synthesize a plurality of types of first cloud particles prepared in advance according to the pitch angle of the first virtual camera by performing synthesis processing at a given ratio according to the pitch angle. It is characterized by including information.
[0026]
According to the eighth aspect of the present invention, even when the line-of-sight direction of the first virtual camera relative to the first first cloud-like object changes, that is, when the pitch angle of the first virtual camera changes, It is possible to represent the first cloud object having no contradiction in its shape or the like.
[0027]
And in this case, as in the ninth invention, the game information of the eighth invention,
The first generation means is configured to rotate the first cloud for the horizontal direction and the vertical for the first virtual camera according to a roll angle of the first virtual camera and perform the synthesis process. You may comprise so that the information for making it may be included.
[0028]
According to the ninth aspect, even when the first virtual camera rolls, the first cloud-like object having no contradiction can be expressed without rotating the first cloud-like object itself.
[0029]
Further, in this case, as in the tenth invention, the game information of the eighth or ninth invention,
The vertical first cloud has two types of first cloud corresponding to the case where the pitch angle of the first virtual camera is an elevation angle and a depression angle,
By switching the two types of first cloud included in the first vertical cloud for the first generation unit according to the pitch angle of the first virtual camera, You may comprise so that the information for making it function as it may be set as the said 1st cloudy substance for perpendicular | vertical directions.
[0030]
According to the tenth aspect of the present invention, the first cloud for vertical direction has the first cloud for the case where the pitch angle is an elevation angle and the case of a depression angle, and is switched according to the pitch angle. The upper surface and lower surface of one cloud-like object can be easily expressed without contradiction to its shape and the like.
[0031]
The eleventh invention is game information of any of the eighth to tenth inventions,
The first horizontal cloud for the horizontal direction includes a plurality of types of first cloud corresponding to each angular range obtained by equally dividing the angular range of the yaw angle of the first virtual camera,
By switching the plurality of types of first cloud contained in the first horizontal cloud for the first generation means according to the yaw angle of the first virtual camera, It is characterized by including information for functioning as the first cloud for the horizontal direction.
[0032]
According to the eleventh aspect, even when the line-of-sight direction of the first virtual camera changes with respect to one first cloud-like object, that is, when the yaw angle of the first virtual camera changes, It is possible to represent the first cloud object having no contradiction in its shape or the like.
[0033]
The game information according to the twelfth aspect of the present invention is to generate an image of an object space viewed from a virtual camera (for example, the
A cloud-like object (for example, the
[0034]
According to the twelfth aspect of the invention, for example, two cloud elements representing one side surface (for example, the front surface) and the other side surface (for example, the back surface) of the cloud object are prepared, It is possible to switch the cloud. That is, even when the line-of-sight direction of the virtual camera changes, it is possible to easily represent the front surface and the back surface of the cloud-like object without contradiction.
[0035]
The thirteenth invention
A second game in which a given game is executed by generating an image of the second object space viewed from a second virtual camera (for example, the
Second arrangement means (for example, a plurality of second cloud elements (for example, the cloud clouds Billboards 24-1 to 32 shown in FIG. 14) are arranged in the cloud model space (for example, the middle cloud coordinate system shown in FIG. 14). The cloud generation unit 612) shown in FIG.
By performing perspective transformation on the cloud model space, texture information (for example, implementation) to be reflected in the second cloud object of the plate-like body arranged in the second object space toward the second virtual camera. A second generation unit (for example, a medium
This is game information that can be calculated by the processor.
[0036]
According to the thirteenth aspect, the second cloud-like object arranged in the second object space is a plate-like body, but the second cloud-like object in various aspects can be expressed. This is because the texture information generated by the second generation means reflected on the second cloud-like object is a perspective transformation of the cloud model space in which a plurality of second cloud elements are arranged. This is because various kinds of texture information can be generated depending on the conversion method. Further, according to the present invention, it is possible to distinguish between the process related to the second object space and the process of generating texture information, and the processing load related to the second object space can be reduced. Here, the second device may be a computer device or a portable / home / business game device. The second cloud may be formed of a plate-like body.
[0037]
14th invention is game information of 13th invention,
In conjunction with the second generation means, the second virtual camera and a cloud model virtual camera (for example, a
[0038]
According to the fourteenth aspect of the present invention, since the cloud model virtual camera and the second virtual camera are linked, the second cloud-like object having a plate-like body arranged in the second object space is provided. Can also be expressed without contradiction in shape and the like.
[0039]
15th invention is the game information of 13th or 14th invention,
Information for causing the second arrangement means to function so that the arrangement of the plurality of second cloud particles is a distribution biased to a given range of the cloud model space (for example, implementation It is characterized by including formula (4)) in the form.
[0040]
According to the fifteenth aspect of the present invention, for example, when the color of the second cloud element is “light white”, due to the deviation of the arrangement position of the second cloud element, the “dark color” is given in the given range. It can be expressed as “white”. That is, by giving a bias to the arrangement position in the cloud model space, it is possible to change the shade of the color of the second cloud object.
[0041]
A sixteenth aspect of the present invention is the game information according to any one of the thirteenth to fifteenth aspects of the invention, wherein the size of each second cloud element arranged in the cloud model space with respect to the second arrangement means. The information (for example, Formula (5) in embodiment) in order to function is changed.
[0042]
According to the sixteenth aspect of the present invention, since the size of the second cloud element can be made different even when the arrangement position of the second cloud element is the same in the cloud model space, the generated texture information is different. In other words, the second cloud-like object in various forms can be easily expressed.
[0043]
The seventeenth invention is any one of the thirteenth to sixteenth game information,
A color for determining color information of texture information generated by the second generation unit based on the light source of the second object space and the second cloud-like object with respect to the second device. Information for operating information determining means (for example, the
[0044]
According to the seventeenth aspect, by applying shading processing relating to the light source in the second object space to the texture information, the color information of the second cloud object can be finally expressed without contradiction. . That is, in the second object space, the light source and the second cloud object exist, but texture information reflected on the second cloud object is generated separately. For this reason, by determining the color information of the texture information according to the light source in the second object space and the arrangement state of the second cloud-like object, etc., finally, a realistic and consistent color It is possible to represent the second cloud object.
[0045]
18th invention is game information of 17th invention,
For the color information determining means, the color information of at least two specific points (for example, specific points 22-1 to 9 shown in FIG. 16) in the second cloud object is used as the light source in the second object space. And information for making it function so as to determine the color information of the texture information based on the color information of the specific point.
[0046]
For example, when “cloud” is viewed from the side, normally, the upper side where the sunlight hits is bright and the lower side is dark. However, if there is only one “cloud”, if there are multiple “clouds”, a uniform expression method, such as simply brightening the upper side and darkening the lower side, represents a real cloud. I can't. Therefore, according to the eighteenth aspect of the invention, for example, color information at a plurality of specific points of the second cloud-like object is first obtained, and texture information (that is, ultimately, based on the color information of the specific points) If the color information of the second cloud-like object) is determined, a color corresponding to the arrangement state of the second cloud-like object in the second object space can be expressed.
[0047]
In this case, as in the nineteenth invention, the game information of the eighteenth invention,
A plurality of color information prepared in advance according to the angle of the light source in the light source direction is combined with the color information determination unit at a given ratio according to the angle of the light source in the light source direction at the specific point. By doing so, it is also possible to include information (for example,
[0048]
Conventionally, the luminance calculation related to the light source is generally performed by adding luminance values. In other words, although it was possible to express a bright color by adding a certain luminance value, the RGB values of “white” which is the maximum luminance are R = 255, G = 255, and B = 255. For this reason, they had to approach “white” gradually. Therefore, the luminance calculation for “cloud” which is “white” was difficult. According to the nineteenth aspect, a plurality of color information (for example, orange, white, and gray) is prepared in advance, and the color information at a specific point is determined according to the light beam direction of the light source. It is possible to easily express “clouds” dyed in color (for example, the upper side is orange).
[0049]
The twentieth invention is game information including game information of any one of the first to eleventh inventions and game information of any of the thirteenth to nineteenth inventions,
The first device and the second device are the same device,
For this device
Means for making the first virtual camera the second virtual camera;
Means for reflecting the texture information generated by the first generation means on the first cloud object;
Means for making the first cloud object the second cloud element;
It contains information for functioning.
[0050]
According to this twentieth invention, it is possible to realize game information having the effect of any one of the first to eleventh inventions and the effect of any one of the thirteenth to nineteenth inventions. . Specifically, for example, generating a first cloud-like object (second cloud) having a plate-like body that is consistent with the line-of-sight direction of the first virtual camera (second virtual camera). And the second cloud-like object in various modes can be expressed.
[0051]
The game information according to the twenty-first aspect of the invention is to generate an image of an object space viewed from a virtual camera (for example, the
A plurality of types of cloud elements (for example, the
[0052]
According to the twenty-first aspect, since a given animation is applied to the cloud, airflow can be expressed. However, in a part where a plurality of cloud particles are superimposed, the given animation is also superimposed. In, airflow is expressed. In other words, for example, when the cloud object is expressed with a bias near the center of the cloud-like object, the air current near the center cannot be visually recognized, but the air current at the periphery can be visually recognized, and more realistic clouds can be seen. Can be expressed.
[0053]
According to the game information of the twenty-second invention, an image of the third object space viewed from a third virtual camera (for example, the
Arrangement position determining means for determining the arrangement position of a plurality of third cloud elements (for example, a medium cloud billboard in the embodiment) arranged in the third object space by developing a given arrangement position repeating pattern. For example, the middle cloud arrangement unit 614) shown in FIG.
Third arrangement means for arranging the third cloud of the plate-like body at the arrangement position determined by the arrangement position determination means (for example, the middle
Opposing placement means (for example, a middle
This is game information that can be calculated by the processor.
[0054]
Here, the third device may be a computer device or a portable / home / business game device. The given arrangement position repeating pattern is a pattern of arrangement positions in a unit region where the arrangement position of the third cloud is determined. For example, this pattern is expressed as 2 × 2 ×
[0055]
In other words, the arrangement position of the third cloud in an arbitrary area of the third object space can be determined by the development of this pattern. That is, according to the twenty-second aspect, it is possible to easily determine the arrangement position of the third cloud in the third object space. For example, when the size of the arrangement position repeating pattern (the size of the unit area) is substantially the same as the field of view of the third virtual camera, and the third virtual camera is panned to the right, it can be seen from the left side of the field of view. The missing third cloud will appear from the right side of the field of view. That is, it is possible to determine the arrangement positions of the third cloud space in the entire third object space only by the arrangement position repetition pattern. In addition, since the third cloud is a plate-like cloud, the processing load related to image generation in the third object space can be reduced.
[0056]
The 23rd invention is game information of the 22nd invention,
Means for causing the third device to function as a cloud formation layer (for example, a middle
Information for causing the third placement means to function to place the third cloudy in the cloudy placement layer (for example, Formula (11) in the embodiment);
It is characterized by including.
[0057]
According to the twenty-third aspect, the cloudy arrangement layer in which the third cloud element is arranged can be set in the third object space, and the third cloudy element is arranged in addition to the cloudy arrangement layer. There is nothing to do. Accordingly, it is possible to control the altitude at which the third cloud is arranged in the third object space. In addition, you may comprise so that the thickness of a cloud arrangement | positioning layer can be set. In that case, for example, a sardine cloud can be expressed by making the layer thin, or a cumulonimbus cloud can be expressed by making the layer thick.
[0058]
24th invention is game information of 22nd or 23rd invention,
Based on the distance from the third virtual camera (for example, the distance d in the embodiment) to the third device, a third cloud arrangement region (for example, a cloud setting region R shown in FIG. 20). ) Information for causing the third cloud region setting means (for example, the cloud setting
Information for causing the third placement means to function so as to place the third cloudy within the third cloudy placement region;
It is characterized by including.
[0059]
According to the twenty-fourth aspect, for example, by setting the third cloudy arrangement region only within the visual field of the virtual camera, it is possible to reduce the processing for the third cloudy outside the visual field.
[0060]
A twenty-fifth aspect of the present invention is the game information according to any one of the twenty-second to twenty-fourth aspects of the present invention, wherein the third device corresponds to the third cloudy arrangement position in the third object space. Information for causing the third cloudy transparency setting means (for example, the
[0061]
According to the twenty-fifth aspect, for example, the density of a cloud can be changed according to the arrangement position of the cloud. As a method for further embodying the present invention, for example, there are a 26th invention and a 27th invention.
[0062]
For example, as in the 26th invention, the game information of the 25th invention,
Based on a cloud distribution map (for example,
[0063]
According to the twenty-sixth aspect, since the transparency of the third cloud element is set according to the cloud distribution map, the display / non-display of the cloud over the entire third object space can be managed. That is, the arrangement position of the third cloud is determined by the twenty-second invention, but whether or not it is actually expressed (more precisely, whether or not the color of the third cloud is drawn). ) Is determined according to the cloud distribution map.
[0064]
Further, as in the 27th invention, the game information of the 25th or 26th invention,
The third cloudy transparency setting means functions to set the transparency of each third cloudy based on the distance from the third virtual camera to each third cloudy. It is good also as including the information (For example, Formula (12) in embodiment) for making it do.
[0065]
According to the twenty-seventh aspect, for example, by setting so as to increase the transparency of the third cloud element arranged close to the third virtual camera, the visibility from the third virtual camera is improved, and the game The operability in can be improved.
[0066]
The 28th invention is game information of the 24th invention,
For the third device,
A fourth cloud element that sets a fourth cloud element arrangement area (for example, the distant view cloud setting area Rf in the embodiment) at a distance from the third virtual camera far from the third cloud element arrangement area. Area setting means (for example, a cloud setting
A fourth placement means (for example, a middle
It contains information for functioning.
[0067]
According to the twenty-fourth aspect of the invention, the third cloud arrangement region is set. However, when the peripheral edge of the third cloud particle arrangement region is included in the field of view of the third virtual camera, a contradiction may occur. In other words, in the field of view of the third virtual camera, the third cloud element is arranged in the third cloud element arrangement region, but no cloud element is arranged in the area beyond the range. The peripheral edge of the third cloud element arrangement region is known to the user, and the immersive feeling for the game can be impaired. Therefore, as in the twenty-eighth aspect of the invention, the above-described problem can be solved by setting the fourth cloudy arrangement area far from the third cloudy arrangement area. Here, in the third virtual camera, since the fourth cloud element arrangement region is farther than the third cloud element arrangement region, it is difficult for the user to recognize the simplified expression of the cloud element. Therefore, in the fourth cloud particle arrangement region, it is possible to simplify the processing only by arranging the plate-like fourth cloud particles in a substantially horizontal shape.
[0068]
Also, in this case, as in the 29th invention, the game information of the 28th invention,
Information for causing the third device to function the means for determining the arrangement position of the fourth cloud by developing the given arrangement position repetition pattern used by the arrangement position determination means. When,
Information for causing the fourth placement means to function so as to place the fourth cloud in a substantially horizontal position at the determined placement position of the fourth cloud;
It is good also as including.
[0069]
According to the twenty-ninth aspect, the arrangement position repeating pattern, which is used as a reference when arranging the third cloud, can be applied to the arrangement position of the fourth cloud. Therefore, the effect of the 22nd invention can be obtained for the fourth cloud.
[0070]
Furthermore, as in the thirtieth invention,
The game information of the 28th or 29th invention,
Information for causing the third device to function a fourth cloudy transparency setting unit that sets the transparency of each fourth cloudy according to the arrangement position of the fourth cloudy. It may be included.
[0071]
According to the thirtieth aspect, for example, the density of clouds can be changed according to the arrangement position. As a method for further embodying the present invention, for example, there are a thirty-first invention and a thirty-second invention.
[0072]
For example, as in the 31st invention, the game information of the 30th invention,
The fourth cloudy transparency setting means functions to set the transparency of each fourth cloudy based on a cloud distribution map indicating whether or not a cloud exists in the third object space. Information may be included.
[0073]
According to the thirty-first aspect, since the transparency of the fourth cloud element is set according to the cloud distribution map, the display / non-display of the cloud over the entire third object space can be managed. That is, the arrangement position of the fourth cloud is determined by the thirtieth invention, but whether or not it is actually expressed (more precisely, whether or not the color of the fourth cloud is drawn). ) Is determined according to the cloud distribution map. Of course, this cloud distribution map may be shared with the third cloud element.
[0074]
Further, as in the thirty-second invention, the game information of the thirtieth or thirty-first invention,
The fourth cloudy transparency setting means functions to set the transparency of each fourth cloudy based on the distance from the third virtual camera to each fourth cloudy. It is good also as including the information for making it do.
[0075]
According to the thirty-second aspect, for example, by setting the transparency of the fourth cloud located farther from the third virtual camera so as to gradually increase, the farther from the third virtual camera. Visibility can be improved, and the fourth cloud can be expressed as if it continues far.
[0076]
A thirty-third invention is game information including any one of the game information of the thirteenth to twentieth inventions and the game information of any of the twenty-second to thirty-second inventions,
The second device and the third device are the same device,
For this device
Means for making the second virtual camera the third virtual camera;
Means for making the second object space the third object space;
Means for reflecting the texture information generated by the second generation means on the second cloud object;
Means for defining the second cloud object as the third cloud element;
It contains information for functioning.
[0077]
According to the thirty-third aspect, game information including the effect of any one of the thirteenth to twentieth inventions and the effect of any one of the twenty-second to thirty-second inventions can be realized. . Specifically, for example, the second cloudy object can express a second cloudy object (third cloudy substance) that is a plate-like body but has various aspects, and the second cloudy substance Calculation of the arrangement position of the cloud-like object (third cloud element) in the third object space can be simplified.
[0078]
34th invention is the game information of 33rd invention,
Information for causing the second generation means to function to generate a plurality of types of texture information;
Means for generating a plurality of types of second cloud objects having different texture information by reflecting a plurality of types of texture information generated by the second generation unit on the device. Information and
Information for causing the third arrangement means to function to arrange the plurality of types of second cloud objects;
It is characterized by including.
[0079]
According to the thirty-fourth aspect, a plurality of types of second cloud-like objects can be generated, that is, a plurality of types of third cloud-like objects can be formed. Therefore, a cloud-like object expressed in the third object space Can be diversified.
[0080]
The game information according to the thirty-fifth aspect of the invention is to generate an image of an object space viewed from a virtual camera (for example, the
When the position or line-of-sight direction of the virtual camera changes, a cloud-like object (for example, a mid-cloud billboard in the embodiment) that exists in an area out of the field of view is newly represented in the field of view. By means of the above, a processor that makes it possible for the processor to perform a function to simulate that the space in which the cloud-like object exists continues (for example, the cloud
[0081]
According to the thirty-fifth aspect, by expressing a cloud-like object that is out of the field of view as a new field of view by changing the position of the virtual camera, the cloud-like objects are continuously arranged in the object space. It is possible to express the image as if it is being performed, and it is possible to reduce processing related to image generation of a cloud-like object.
[0082]
The game information of the thirty-sixth aspect of the invention is to generate an image of an object space viewed from a virtual camera (for example, the
In accordance with a change in the position of the virtual camera, the transparency with respect to a cloud-like object (for example, a middle cloud billboard in the embodiment) approaching the virtual camera is increased from near the center of the field of view of the virtual camera. This is game information that can be calculated by the processor for causing a means (for example, the
[0083]
According to the thirty-sixth aspect, the transparency of the cloud-like object in the vicinity of the approximate center of the field of view of the virtual camera is high, and the transparency located near and far from the virtual camera is low, so the visibility is high and the operability is good. An object space image (game image) can be used.
[0084]
Further, as in the thirty-seventh aspect, an information storage medium for storing game information according to any of the first to thirty-sixth aspects may be realized.
[0085]
A thirty-eighth aspect of the invention is a game device that generates an image of an object space viewed from a virtual camera (for example, the
A plurality of types of cloud particles (for example, cloud part A (122) shown in FIG. 3 and cloud parts) prepared in advance according to a given angle parameter value (for example, pitch angle X shown in FIG. 2) of the virtual camera. B (124)) is synthesized at a given ratio according to the current value of the given angle parameter, so that the cloud-like object of a plate-like body arranged in the object space toward the virtual camera (For example, a cloud
[0086]
According to the thirty-eighth aspect, for example, two cloud elements representing one side surface (for example, the front surface) and the other side surface (for example, the back surface) of the cloud-shaped object are prepared, It is possible to switch the cloud. That is, since the cloud-like object is arranged toward the virtual camera, for example, the front surface and the back surface of the cloud-like object can be easily expressed without contradiction.
[0087]
Furthermore, since the texture information reflected in the cloud object is generated according to the current value of the angle parameter of the virtual camera, when placing the cloud object in the object space, the vertical and horizontal directions of the cloud object There is no need to consider. That is, for example, when the roll angle of the virtual camera changes, it is necessary to rotate the cloud object according to the roll angle, but since the texture information is generated according to the roll angle, the cloud object The object only needs to be arranged in the object space (more precisely, the position where the cloud-like object is arranged is determined in the object space).
[0088]
A thirty-ninth aspect of the invention is a game device that generates an image of an object space viewed from a virtual camera (for example, the
Arrangement means (for example, the intermediate cloud shown in FIG. 31) for arranging a plurality of cloud elements (for example, the small cloud billboards 24-1 to 32 shown in FIG. 14) in the cloud model space (for example, the intermediate cloud coordinate system shown in FIG. 14). Generating unit 612),
By performing perspective transformation on the cloud model space, texture information (for example, a medium cloud billboard in the embodiment) reflected in a plate-like object (for example, a mid-cloud billboard in the embodiment) arranged toward the virtual camera in the object space (for example, Generating means (for example, a
It is a game device provided with.
[0089]
According to the thirty-ninth aspect, although the cloud-like object arranged in the object space is a plate-like object, various forms of cloud-like objects can be expressed. This is because the texture information generated by the generation means reflected in the cloud-like object is a perspective transformation of the cloud model space in which a plurality of cloud elements are arranged. This is because it is possible to generate In addition, according to the present invention, it is possible to distinguish between processing related to the object space and processing to generate texture information, and the processing load related to the object space can be reduced. Note that the second cloud may be formed of a plate-like body.
[0090]
A 40th invention is a game device for generating an image of an object space viewed from a virtual camera (for example, the
A plurality of types of cloud particles (for example, cloud part A (122) shown in FIG. 3 and cloud parts) prepared in advance according to a given angle parameter value (for example, pitch angle X shown in FIG. 2) of the virtual camera. B (124)) is synthesized at a given ratio according to the current value of the given angle parameter to generate texture information (for example, the
Means for reflecting the texture information generated by the first generating means on the first cloud-like object of the plate-like body (for example, the cloud cloud billboard in the embodiment) (for example, the middle cloud drawing unit 634); ,
Arrangement means (for example, a middle
A texture to be reflected on a second cloud-like object (for example, a mid-cloud billboard in the embodiment) of a plate-like body arranged in the object space toward the virtual camera by perspective-transforming the cloud model space. A second generation unit (for example, a medium
It is a game device provided with.
[0091]
According to the 40th aspect of the invention, for example, a first cloud-like object having a plate-like body can be generated that is consistent with the line-of-sight direction of the virtual camera, and the second cloud in various aspects can be generated. A shape object can be expressed.
[0092]
A forty-first invention is a game device that generates an image of an object space viewed from a virtual camera (for example, the
Arrangement position determining means (for example, as shown in FIG. 31) that determines the arrangement position of a plurality of cloud elements (for example, a medium cloud billboard in the embodiment) arranged in the object space by developing a given arrangement position repeating pattern. Medium cloud arrangement part 614),
Arrangement means (for example, a middle
Opposing placement means (for example, a middle
It is a game device provided with.
[0093]
Here, the given arrangement position repeating pattern is a pattern of arrangement positions in a unit region in which the arrangement position of cloud is determined. For example, this pattern is 2 × 2 × 2 in height. By arranging (developing), it is possible to determine the arrangement position of cloud particles in an area that is eight times as large as a unit area (= 2 × 2 × 2).
[0094]
In other words, the arrangement position of the cloud in an arbitrary area of the object space can be determined by developing this pattern. That is, according to the forty-first aspect, it is possible to easily determine the arrangement position of the cloud in the object space. For example, when the size of the arrangement position repeating pattern (the size of the unit area described above) is substantially the same as the field of view of the virtual camera and the virtual camera is panned rightward, It will appear from the right side of the field of view. That is, it is possible to determine the arrangement positions of all the object spaces of the cloud with only the arrangement position repeating pattern. In addition, since the cloud is a plate-like cloud, the processing load related to image generation in the object space can be reduced.
[0095]
A forty-second invention is a game device for generating an image of an object space viewed from a virtual camera (for example, the
Cloud-medium arrangement means (for example, an intermediate
Generation means (for example, a middle
Means for reflecting the texture information generated by the generating means on a cloud-like object of a plate-like body (for example, a cloud cloud board in the embodiment) (for example, a sea of
An arrangement position determining means (for example, a middle
Cloud-like object placement means for placing the cloud-like object at the placement position determined by the placement position determination means (for example, a middle
Opposing placement means (for example, a middle
It is a game device provided with.
[0096]
According to the forty-second aspect of the invention, for example, cloudy objects can be used to represent cloudy objects having various forms although they are plate-like bodies, and the arrangement position calculation of the cloudy objects in the object space is simplified. Can be
[0097]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below with reference to the drawings. Hereinafter, an airplane game will be described as an example, but application of the present invention is not limited to this.
[0098]
FIG. 1 is a diagram showing an example when the present invention is applied to a consumer game device. In FIG. 1, the player operates the
[0099]
In such an airplane game, the position and orientation of the airplane change variously according to the operation of the player, so the position, angle, etc. of the virtual camera when generating the game image change variously. As described above, the present invention expresses the clouds included in the game image consistently with changes in the position and angle of the virtual camera. Hereinafter, according to the present invention,
[0100]
1. principle
First, the principle of the present invention will be described. In the present invention, when generating a cloud (a sea of clouds) set in the object space, first, a small cloud that is a small cloud is generated, a medium cloud that is a set of the small clouds is generated, and the medium cloud is generated. A sea of clouds is generated and expressed as a set of. Hereinafter, the generation principle of the cloud, the middle cloud, and the sea of clouds will be described.
[0101]
1- (1) Principle of cloud formation
Hereinafter, with reference to FIG. 2 to FIG. 10, a principle relating to generation of a cloud (a texture expressing the cloud (hereinafter referred to as a cloud cloud texture 102)) will be described. The generated
[0102]
FIG. 2A is a diagram showing the
[0103]
The types of parameters related to the
[0104]
However, the range of values that the pitch angle X can take is −90 ° ≦ X ≦ 90 °, and the elevation angle is positive and the depression angle is negative.
[0105]
In addition to the above parameters, various parameters such as an angle of view representing the field of view range (zoom rate) are used as necessary.
[0106]
As shown in the conceptual diagram of FIG. 3, the
[0107]
The cloud part A (122) is an α texture assuming that the
[0108]
The
[0109]
FIG. 4 is a diagram showing an example of the
[0110]
Here, the
[0111]
The cloud
[0112]
First, the value of the cloud
α A [N, m] = M A [N, m]
α B [N, m] = M B [N, m] (1)
And Where M A [N, m] represents a bit value of each texel of the cloud
[0113]
From this equation (1), the cloud shape with the value “0” or “1” is set in the cloud part A (122) and the cloud part B (124).
[0114]
Next, according to the pitch angle X of the
α A [N, m] ← α [n, m] × cosX × α A [N, m]
α B [N, m] ← α [n, m] × sin | X | × α B [N, m] (2)
And Here, ← is an operator that means assignment, and means that the operation result on the right side is assigned to the variable on the left side.
[0115]
That is, for example, the α value of the
[0116]
Further, in Expression (2), the α value of the
[0117]
For example, when the viewing direction of the
α A [N, m] ← α [n, m] × α A [N, m]
α B [N, m] ← 0 × α B [N, m]
And α of cloud part A (122) A In [n, m], α [n, m] of the
[0118]
Similarly, when the pitch angle X = 45 °,
α A [N, m] ← α [n, m] × (1 / √2) × α A [N, m]
α B [N, m] ← α [n, m] × (1 / √2) × α B [N, m]
It becomes.
[0119]
When the visual line direction of the
α A [N, m] ← 0 × α A [N, m]
α B [N, m] ← α [n, m] × α B [N, m]
And α of cloud part B (124) B In [n, m], α [n, m] of the
[0120]
Here, the direction of the airflow of the
α A [N, m] ← α [n, m] × cosX × α A [N, m]
α B [N, m] ← α [(5-n), (5-m)] × sin | X | × α B [N, m]
By using such a formula, the
[0121]
Next, by adding the α value of each texel [n, m] of the cloud part A (122) and the α value of each texel [n, m] of the cloud part B (124), the
Cα [n, m] = α A [N, m] + α B [N, m] (3)
As determined. However, in Equation (3), the α value may exceed “1.0”. In this case, the α value of the texel is set to “1.0”.
[0122]
FIG. 8C is a diagram showing an example of the
[0123]
As described above, in the present principle, since the cloud part A (122) and the cloud part B (124) are synthesized according to the pitch angle X of the
[0124]
That is, conventionally, a single polygon (hereinafter referred to as “perapolygon”) to which a cloud texture is mapped is always fixed in the vertical and horizontal positions with respect to the
[0125]
This is because the range of angles that can be taken as the pitch angle (elevation angle or depression angle) of the
[0126]
This principle also solves this unintended reversal expression of the
[0127]
In addition, by gradually changing the composite ratio of the two cloud parts A (122) and the cloud part B (124) according to the change in the pitch angle X (that is, the two cloud parts A (122), This corresponds to determining the opacity α of the cloud part B (124)), and can be expressed by smoothly changing the shape of the cloud according to the change in the pitch angle of the
[0128]
Furthermore, since the
[0129]
Next, the case where a cloud is realized only by the cloud generation principle will be described.
In the above description, the method of generating the
[0130]
The first method is a method of expressing a cloud by determining an RGB value corresponding to the α value of each texel constituting the generated
[0131]
Specifically, for example, when the color of the
[0132]
As a result, it is possible to easily realize the expression of a cloud with shading as shown in FIG.
[0133]
The second method is a method in which RGB values are set in advance in each texel constituting the cloud part A (122) and the cloud part B (124).
[0134]
Specifically, RGB values are set in advance for the texels of the cloud part A (122) and the cloud part B (124), and the α value of each texel is determined by the
[0135]
Thus, for example, when the color set in advance for the cloud part A (122) is only “black” and the color set in advance for the cloud part B (124) is only “white”, the
[0136]
In addition, by arbitrarily changing the cloud color (RGB value) set in advance for each of the cloud parts A (122) and the cloud part B (124), various colors can be obtained depending on the pitch angle X of the line of sight of the
[0137]
For example, as the cloud part B (124), a cloud part B-1 used when the pitch angle X of the
[0138]
Similarly, a plurality of types of cloud parts A (122) corresponding to the yaw angle Y of the
[0139]
In addition, each cloud part A (122) and cloud part B (124) generated in the above-described cloud generation principle reflect the α value of the airflow texture, and these two types of cloud parts A (122) and clouds are reflected. Part B (124) is synthesized to generate the
[0140]
However, based on the meridian generation principle to be described later, a plurality of
[0141]
1- (2) Medium cloud generation principle
Next, the principle of generating a cloud is described.
Here, the middle cloud means an aggregate of small clouds (small clouds). The term “cloud” means the
[0142]
Specifically, one middle cloud is constituted by 32 perapolygons. However, the α texture of the
[0143]
Hereinafter, the individual pella polygons constituting the middle cloud will be referred to as a cloud cloud billboard. When generating the intermediate cloud texture, first, the α value of each of the small cloud billboards specified by the
[0144]
Note that when the
[0145]
FIG. 11 is a diagram illustrating an example of images of four types of
[0146]
Hereinafter, a method for generating the textures of the four
[0147]
(1) Initial setting
In the initial setting, the distribution of the cloud cloud billboard and the size of each cloud cloud billboard are set. Specifically, for each of the clouds, a cloud cloud coordinate system is defined, the coordinates of 32 cloud clouds billboards are set, the size of each cloud cloud billboard is determined, Memorize as Nakamozu data. The setting of the size and distribution of the cloud cloud billboard is performed using random numbers in order to generate a cloud that is closer to a natural body. That is, the coordinates and size of each cloud cloud billboard are determined by random numbers.
[0148]
When determining the coordinates of the Ogumo Billboard, random numbers are generated for each component in the coordinates. However, if an unlimited number of random numbers is generated, an unnecessarily large value may be obtained. For this reason, a lower limit and an upper limit are set for the generated random numbers, and settings are made so that values within a predetermined range are obtained. However, when random numbers are generated, the occurrence probability is equal for all values within the range from the lower limit to the upper limit. Therefore, when the obtained random number is directly adopted as the coordinate component of the cloud cloud billboard, the 32 cloud cloud billboards are evenly distributed in a given cube, like the cloud shown in FIG. It is impossible to express clouds that are gathered in a small part. Therefore, in order to give a bias to the distribution, when determining the coordinates of one small cloud billboard, a plurality of random numbers are generated for each component of each coordinate, and the average value is adopted.
[0149]
Specifically, the value of each component is determined by the following equation.
x n = (R 1 + R 2 + R Three + R Four ) / 4- (R max -R min ) / 2
y n = (R Five + R 6 + R 7 + R 8 ) / 4- (R max -R min ) / 2
z n = (R 9 + R Ten + R 11 + R 12 ) / 4- (R max -R min ) / 2 (4)
Where (x n , Y n , Z n ) Means the coordinates of the nth billboard constituting one medium cloud, and R 1 ~ R 12 Indicates a random number generated independently. R max Indicates the maximum value (upper limit) of the random number to be generated, R min Means the minimum value (lower limit). For example, R max = 100, R min If set to = 0, the random number generation range is a cube whose center is the origin in the middle cloud coordinate system and whose length of one side is “100”.
[0150]
FIG. 12 is a perspective view of the middle cloud coordinate system (x, y, z), and shows an example in which the representative points of the cloud cloud billboard are distributed based on the equation (4). A broken line in the figure indicates a random number generation range. In addition, the coordinates of the representative points of each Kounome billboard are indicated by dots. As described above, by using the equation (4) to determine the coordinates of the cloud cloud billboard using a plurality of random numbers, it is possible to configure a cloud cloud billboard aggregate having a distribution biased toward the origin.
[0151]
In addition, in Formula (4), although demonstrated as using four random numbers per component, it is not necessary to limit to this number. For example, if the number of random numbers to be employed is increased, there is a higher possibility that the cloud cloud billboard is placed near the origin, and a more uneven distribution can be realized. Conversely, if the number of random numbers to be adopted is set to be small, a distribution with a small bias can be applied. The same effect can be recognized by manipulating the random number generation range in equation (4). That is, if the random number generation range is set large, the distribution bias can be reduced, and if the generation range is set small, the distribution bias can be increased. Therefore, the number and range of random numbers to be employed may be changed according to the shape and size of the intermediate cloud to be generated, the stereoscopic effect, and the like.
[0152]
On the other hand, the size of the Kounome billboard is determined as follows. That is, each small cloud billboard is defined as a square, and the length ws of each side is determined by a random number.
ws = 1.0 + R w ... (5)
Where R w Means a random number, and its generation range is 0.0 ≦ R w ≦ 1.0. That is, each medium cloud can be constituted by an assembly of small cloud billboards of various sizes in which the length ws of one side satisfies 1.0 ≦ ws ≦ 2.0.
[0153]
FIG. 13 is a diagram illustrating an example of four
[0154]
▲ 2 ▼ Drawing of Kounome Billboard
Next, a process of drawing a cloud cloud billboard during game execution will be described.
[0155]
FIG. 14A schematically illustrates a middle cloud coordinate system (x, y, z), and a virtual camera (hereinafter referred to as a cloud viewpoint 220) for rendering the cloud clouds Billboards 24-1 to 32-32. Is a diagram for explaining the positional relationship between the origin of the middle cloud coordinate system and the
[0156]
FIG. 14B is a diagram showing a world coordinate system (Xw, Yw, Zw) that defines the object space, and a middle cloud coordinate system (x, y, z) shown in FIG. According to the figure, a
[0157]
In this way, the positions of the
[0158]
Alternatively, in the projection process of the cloud cloud billboard 24, the projection process may be short-circuited as follows by utilizing the fact that the cloud cloud billboard 24 and the
[0159]
FIG. 15 is a diagram schematically showing a
[0160]
In this way, by drawing the three-dimensionally arranged cloud clouds 24-1 to 32-32 according to the line-of-sight direction of the
[0161]
Further, the color information given to the
[0162]
The process of determining the positional relationship between each specific point on the
[0163]
FIG. 16 is a diagram for explaining nine specific points 22-1 to 9-9 provided on the
[0164]
FIG. 16C is a diagram showing the relationship of the direction indicated by each specific vector (that is, the normal vector). The
[0165]
Thus, when the direction of the specific vector at each point on the
[0166]
Note that the relationship between the value of the inner product ω and the color given to the middle cloud corresponds to the relationship of whether each specific point on the
[0167]
More specifically, when the inner product ω is negative, the color of the cloud is white. When the inner product ω is positive, the color is gray (extremely black). It is determined according to the value of ω. For example, the range of the output I for each color of RGB is defined as 0 ≦ I ≦ 255. Here, when I = 0, all RGB colors are not output, but are black, and conversely, when I = 255, they are white. Then, by multiplying the function f (ω) with the inner product ω as a variable, the output ratio of all colors is determined. The function f (ω) may be any function as long as it takes a range of 0 ≦ f (ω) ≦ 1 and increases as ω increases.
Is defined (where 0 ≦ f (ω)). FIG. 17 shows a graph of the function f (ω), in which the horizontal axis represents ω and the vertical axis represents the value of the function f (ω). According to Expression (6), the value of the function f (ω) has a value from “1” to “0” when the inner product ω is negative, and the value becomes “0” when the inner product ω is positive. Therefore, when the normal vector and the
[0168]
In this way, by calculating the normal vectors at a plurality of locations on the
[0169]
Therefore, the color when the light hits and the clouds shine brightly (light color I L = R L , G L , B L ) And the base color of the cloud (base color I B = R B , G B , B B ) And the color of the shadowed part that is not exposed to light (shadow color I S = R S , G S , B S ) 3 colors are preset. And the ratio which employ | adopts each color shall be determined according to the value of inner product (omega). For example, the function F for determining the light color ratio L (Ω) and a function F for determining the proportion of the base color B (Ω) and a function F for determining the shadow color ratio S (Ω) is set independently. That is, the output color I is
I = I L ・ F L (Ω) + I B ・ F B (Ω) + I S ・ F S (Ω) (7)
Determined by
[0170]
Each function F (ω) is set as follows.
FIGS. 18A to 18C are graphs showing functions. In each graph, the horizontal axis represents the value of ω, and the vertical axis represents the value of the function F (ω). As can be seen from equation (8), the sum of each function is always 1. Therefore, each color can be rationally combined without outputting an unnatural color. In addition, except for the case of ω = −1, 1, the base color is always synthesized. Therefore, for example, when white is applied as the base color, it is possible to express a cloud whose color changes smoothly with white as the base tone.
[0171]
As described above, the cloud cloud billboard 24 to which the α texture of the
[0172]
In addition, when generating the middle cloud texture, the
[0173]
In addition, since the color is determined after drawing the α value of the entire cloud without determining the color for each of the cloud parts that make up the cloud, the cloud is generated more quickly. can do. Furthermore, three types of colors are set in advance, and the ratio of adopting each color is determined according to the positional relationship between the light source and the screen for drawing the medium cloud (actually, the medium cloud billboard on the corresponding object). Because it was decided, it became possible to express a cloud that slightly changes its color depending on the light of the day.
[0174]
In the above description, the number of medium clouds to be generated is four and the number of cloud clouds billboards forming one medium cloud is 32. However, it is not necessary to limit to these numbers, and one small cloud Of course, various changes may be made according to the scale of the cloud billboard. Further, the formula for determining the color density and the preset color composition ratio need not be limited to the formula (6) or the formula (8), and may calculate a hue that does not cause a sense of incongruity as a cloud color. Any formula can be used. In the above description, three colors are combined. However, two colors, four colors,..., N colors may be used. In this case, for example, the value to be multiplied by (ω + 1) in the equation (8) can be changed according to the number of colors to be combined.
[0175]
Alternatively, a color determination table 290 as shown in FIG. 19 may be generated in advance, and the color may be determined based on this table. According to FIG. 19, the color determination table 290 stores color information (RGB values) in association with the range of the inner product ω of the normal vector and the
[0176]
Moreover, although it demonstrated as producing | generating the texture of four medium clouds, it is not necessary to limit to this, For example, based on the
[0177]
However, as the number of cloud clouds billboards to be drawn based on the positions of the
[0178]
For this reason, in the present embodiment, by arranging a cloud cloud billboard in the object space based on the principle of cloud sea generation described below, a cloud change accompanying a change in the position of the
[0179]
1- (3) Unkai generation principle
Next, the principle of generating a sea of clouds by setting a billboard (hereinafter referred to as a “medium cloud billboard”) mapping the texture of the medium cloud generated by the medium cloud generation principle to a plurality of object spaces will be described.
[0180]
When generating an image viewed from the virtual camera 100 (the viewing direction is the direction indicated by the arrow in the drawing and the viewing angle φ) as shown in FIG. 20, only in the cloud setting region R shown in FIG. Place Nakamune Billboard. Clouds outside the cloud setting region R are not placed because they do not enter the field of view of the
[0181]
Further, as described above, the Nakamune Billboard always faces the
[0182]
The cloud setting region R shown in FIG. 20 will be described more specifically. As shown in FIG. 21, the cloud setting area R has a center point F at a position of a distance d from the position of the
[0183]
When setting the arrangement position of the middle cloud (the arrangement position coordinates of the middle cloud billboard) in the cloud setting area R, the center point F of the cloud setting area R is set. PW Local coordinate system (x L , Y L , Z L ) (Hereinafter referred to as “cloud sea coordinate system”) position coordinates in the cloud setting region R are determined. That is, the center point F of the cloud setting region R PW The arrangement position of the Nakamune Billboard is determined as a position opposite to. Here, the cloud setting region R in the cloud sea coordinate system has a center point F PL (0, 0, 0) and a cube with a side length of 2L.
[0184]
The coordinates CL [i] (CL [i] .x, CL [i] .y, CL [i] .z) of the Nakamune Billboard placed in the Unkai coordinate system are
CL [i] .x = {Ct [i] .x + {2L− (F PW .x mod2L)}}
CL [i] .z = {Ct [i] .z + {2L− (F PW .z mod2L)}}
CL [i] .y = (Alt-F PW y) + Ct [i] .y × Altw (11)
Set by. Here, i = 1, 2,..., N, and n is the number of clouds (medium cloud billboard) to be set. “Mod” is an operator indicating a remainder. Alt is the center of the y coordinate of the cloud layer. For example, when the y coordinate of the ground is “0”, it indicates the height from the ground to the center of the cloud layer. Altw is the maximum width from the center of the cloud layer to the edge of the cloud layer.
[0185]
As an initial setting, an initial distribution Ct [i] (Ct [i] .x, Ct [i] .y, Ct [i] .z) (i = 1, 2,..., N) is set. The initial distribution is determined once at the beginning (for example, at the start of the game, etc.) in order to determine the distribution state of the arrangement position of the middle cloud billboard in the sea of clouds. The initial distribution is not changed. Ct [i] .x = rand (rand is a random number from 0 to (2L-1)), Ct [i] .y = rand (rand is a random number from -1 to 1), Ct [i] .z = It is initially determined as rand (rand is a random number from 0 to (2L-1)).
[0186]
According to equation (9), {Ct [i] .x + {2L− (F PW .x mod2L)}} The values that mod2L can take are in the range of “0” to “2L−1”. Therefore, the values that can be taken by the x coordinate CL [i] .x of the arrangement position of the middle cloud in the cloud sea coordinate system are , “−L” to “L−1”. Also, {2L- (F PW .x mod2L)} is, for example, F PW When the value of .x increases, it decreases in the range of “2L” to “1”, becomes “1”, and then further F PW When the value of .x increases, it returns to “2L”.
[0187]
Therefore, for example, the x coordinate F of the center point of the cloud setting region R PW When the value of .x increases, the value of the x coordinate CL [i] .x of the arrangement position of the middle cloud is F in the range from “L−1” to “−L”. PW After the value of .x is decreased by the increased amount and becomes “−L”, the value returns to “L−1” and the values of “L−1” to “−L” are repeated. That is, the x coordinate F of the center point of the cloud setting region R PW As x increases, the x coordinate CL [i] .x of the cloud cloud billboard placement position in the Unkai coordinate system decreases, and when it goes outside the cloud setting region R, it appears on the opposite side. The value is “−L” to “L−1” in the cloud setting region R. The same applies to the z-coordinate CL [i] .z of the arrangement position of the mid-cloud billboard in the Unkai coordinate system according to the equation (10).
[0188]
FIG. 23A is a diagram illustrating the cloud setting region R viewed from the Zw-axis direction in the world coordinate system. As shown in the figure, for example, the center position of the cloud setting region R in the world coordinate system is F PW1 (F PW1 .x, F PW1 .y, F PW1 z), the x-coordinate CL [i] .x of the arrangement position CL [i] of the middle cloud billboard in the Unkai coordinate system is expressed by the following equation (9):
CL [i] .x = {Ct [i] .x + {2L− (F PW1 .x mod2L)}}
Set by.
[0189]
Here, for example, as shown in FIG. 23A, Ct [1] .x = 110, F PW1 Assuming that x = 100 and L = 100, the value of the x coordinate in the cloud sea coordinate system of the arrangement position CL [1] of the middle cloud billboard is
CL [1] .x = {110+ {200− (100 mod 200)}}
(FIG. 23B). FIG. 23 (b) shows F PL1 (= F PW1 ) Z L It is a figure which shows an example of the cloud setting area | region R seen from the axial direction.
[0190]
Then, the position of the
CL [1] .x = {110+ {200− (190 mod 200)}}
(FIG. 23C). FIG. 23 (c) shows F PL2 (= F PW2 ) Z L It is a figure which shows an example of the cloud setting area | region R seen from the axial direction.
[0191]
That is, as shown in FIG. 23A, in the world coordinate system, as the cloud setting area R is moved by the change of the
[0192]
For example, if Ct [2] .x = 50, the center point F of the cloud setting region R PW Is F PW1 In this case, the x-coordinate CL [2] .x in the cloud sea coordinate system of the arrangement position CL [2] of the middle cloud billboard is
CL [2] .x = {50+ {200- (100 mod 200)}} mod 200-100 = + 50
It becomes. In this case, the x coordinate of CL [2] in the world coordinate system is the center point F PW1 X coordinate F PW1 The coordinates “150” from “x” (“100”) to “+50”.
[0193]
Center point F of cloud setting area R PW Is point F PW1 To point F PW2 , The x-coordinate CL [2] .x in the cloud sea coordinate system of the arrangement position CL [2] of the Nakamune Billboard is
CL [2] .x = {50+ {200− (190 mod 200)}}
It becomes. In this case, the x coordinate of the arrangement position CL [2] of the cloud cloud billboard in the world coordinate system is the center point F. PW2 X coordinate F PW2 The coordinate “150” of “−40” from .x (“190”).
[0194]
That is, before movement (center point is point F PW1 Cloud setting region R and after movement (center point is point F) PW2 The arrangement position of the middle cloud billboard in the area PR3 overlapping the cloud setting area R is set to the same position in the world coordinate system.
[0195]
Center point F of cloud setting area R PW Is moved in the Zw-axis direction, it is the same as the movement in the Xw-axis direction described above.
[0196]
FIG. 24 shows the center point F of the cloud setting region R. PW It is a figure explaining the case where moves to a Yw-axis direction. As shown in FIG. 24A, the center point F of the cloud setting region R PW Is point F PW1 (F PW1 y = 300), Alt = 240, Altw = 20, and assuming that Ct [1] .y = 0 in the initial distribution, the y coordinate in the cloud sea coordinate system of the arrangement position CL [1] of the midcloud billboard CL [1] .y is
CL [1] .y = (240−300) + 0 × 20 = “− 60”
Thus, the position is as shown in FIG. FIG. 24 (b) shows F PL1 (= F PW1 ) Z L It is a figure which shows an example of the cloud setting area | region R seen from the axial direction.
[0197]
In addition, the center point F of the cloud setting region R PW For example, as shown in FIG. PW1 (F PW1 .y = 300) to point F PW3 (F PW3 .y = 350), the y-coordinate CL [1] .y of the arrangement position CL [1] of the cloud cloud billboard is changed from CL [1] .y = -60 to CL [1] .y = (240−350) + 0 × 20 = −110 (FIG. 24C). FIG. 24C shows F PL2 (= F PW2 ) Z L It is a figure which shows an example of the cloud setting area | region R seen from the axial direction.
[0198]
Even if the position of the cloud setting region R changes with the change of the
[0199]
In this way, the arrangement position CL [i] of n medium cloud billboards is set according to the equations (9) to (11), and the center point F in the cloud setting region R is set. PL Is F in the world coordinate system PW By arranging the cloud setting area R in the world coordinate system so as to become, the arrangement position of the cloud (medium cloud billboard) in the cloud setting area R in the world coordinate system can be set. Then, the Nakamozu billboards are arranged at these arrangement positions CL [i] with a size W [i] = 1.0 + rand (rand is a random number in the range of 0.0 to 1.0). Here, the size W [i] may indicate, for example, the length of one side of the cloud cloud billboard, and, for example, the size of the cloud cloud texture generated based on the cloud cloud generation principle. When the size is set to “1”, the size for the middle cloud texture may be indicated.
[0200]
Here, based on the above formulas (9) to (11), only the “arrangement position” of the middle cloud billboard is set in the cloud setting region R. That is, the vertical and horizontal directions are not taken into consideration. This is because, as described above, the cloud building board constituting the middle cloud has already been generated in consideration of the vertical and horizontal directions, and the middle cloud texture is also generated in consideration of the vertical and horizontal directions (that is, A medium cloud texture corresponding to the roll angle Z of the
[0201]
Accordingly, it is only necessary to set a cloud in the cloud setting region R without arranging the cloud in the entire object space, and therefore it is possible to reduce the processing related to the cloud setting. In addition, since clouds are represented by a mid-cloud billboard, the thickness of the
[0202]
However, when viewed from the
[0203]
Therefore, when viewed from the
α = 1.0− | (Sz [i] −d) | / L (12)
Is set to α value (0 ≦ α ≦ 1) which is a parameter indicating opacity.
[0204]
Here, Sz [i] is a distance from the
[0205]
According to Expression (12), since the distance Sz [i] between the arrangement position CL [m] near the boundary of the cloud setting region R and the
[0206]
It should be noted that the distance Sz [i] from the
[0207]
Further, for example, as shown in FIG. 27B, an area in which the distance Sz [i] from the
[0208]
For example, in the case of the position, line-of-sight direction, and viewing angle of the
[0209]
When a cloud object is arranged in the distant cloud setting area Rf, the equation (9) is based on the initial distribution Ct [i] similar to the case where the arrangement position of the middle cloud billboard is determined in the cloud setting area R described above. ) To (11), “L” is set to “Lf”, and “F” PW "F" PW The arrangement position is determined as “. Similarly to the cloud setting region R, the center point Ff is determined. PW The α value is set so that the cloud becomes transparent as it moves away from. For this reason, the boundary between the cloud setting region R and the distant view cloud setting region Rf and the overlapping clouds have a low α value (high transparency (high visibility)). For this reason, the boundary between the cloud setting region R and the distant view cloud setting region Rf can be made difficult to understand, and a sea of clouds that are naturally connected can be expressed.
[0210]
FIG. 29 is a diagram illustrating an example of a display image when a distant view cloud setting area Rf and a cloud setting area R exist in the field of view. As described above, in the case of a cloud object in the distant view cloud setting area Rf, the cloud object is arranged at a position far from the
[0211]
Further, for example, according to a
[0212]
That is, the
[0213]
In the
[0214]
2. function
Next, each function in the present embodiment will be described.
[0215]
FIG. 31 is a block diagram illustrating an example of functional blocks in the present embodiment. As shown in the figure, the functional block of the present embodiment includes an
[0216]
The
[0217]
The
[0218]
Further, the
[0219]
The
[0220]
The functions of the
[0221]
The
[0222]
The
[0223]
The
[0224]
Next, the function of each functional unit shown in FIG. 31 will be described in detail for each process.
2- (1) Small cloud generation processing function
The
[0225]
The cloud part data 952 is data related to the cloud part including the cloud part A mask 112 (FIG. 5B) and the cloud part B mask 114 (FIG. 6B). The cloud part data 952 is set by the
[0226]
The
[0227]
2- (2) Medium cloud generation processing function
The middle
[0228]
When the
[0229]
Further, the middle
[0230]
The
[0231]
That is, when the
[0232]
2- (3) Unkai generation processing function
The cloud
[0233]
FIG. 33 is a diagram illustrating an example of a data configuration of the
[0234]
Ct [i] .x and Ct [i] .z are set to random numbers from “0” to “2L−1”, respectively, and Ct [i] .y is set from “−1” to “+1”. A random number is set. For example, in FIG. 33, Ct [i] .x (ie, Ct [1] .x) for “i” is “1” is “110”, and Ct [i] .y (ie, Ct [1] .y). Is “0” and Ct [i] .z (ie, Ct [1] .z) is “124”. In addition, the size W [i] (that is, W [1]) for “i” being “1” is set to “1.1”, and “b1” is set as the billboard type number. That is, the medium cloud billboard with the size “1.1” is arranged at the arrangement position CL [1] set by the medium cloud arrangement unit 614 (described later) for i = 1. It will be.
[0235]
FIG. 34 is a diagram showing an example of the data configuration of the
[0236]
The medium
[0237]
Further, the middle
[0238]
Further, the middle
[0239]
As described above, the medium
[0240]
Based on the distance Sz [i] between the arrangement position of the intermediate cloud billboard set by the intermediate
[0241]
Further, the
[0242]
FIG. 35 is a diagram illustrating an example of a data configuration of the drawing
[0243]
As shown in FIG. 35, an α value and a drawing flag are set for the arrangement position CL [i] determined by the middle
[0244]
The
[0245]
The drawing
[0246]
The sea of
[0247]
3. Action
Next, the operation of the cloud generation process in the present embodiment will be described. FIG. 36 is a flowchart illustrating an example of the operation of the cloud generation process.
[0248]
First, the
[0249]
The intermediate
[0250]
FIG. 37 is a flowchart showing an example of the operation of the initial setting process (FIG. 36; step S0).
[0251]
First, the
[0252]
FIG. 38 is a flowchart for explaining the operation of the cloud generation process (FIG. 36; step S1) in the present embodiment.
[0253]
In FIG. 38, first, the
[0254]
Next, when obtaining the current pitch angle X of the virtual camera (step S1-2), the
[0255]
And this calculated α A The value of [n, m] is added to the α value of the corresponding texel [n, m] of the cloud cloud texture 102 (step S4). If the α value of the
[0256]
Further, when the α value of the texel [n, m] of the cloud part A (122) is “0” (step S1-3: NO), the processing of step S1-4 and step S1-5 is skipped. Then, the process proceeds to step S1-6.
[0257]
As described above, the
[0258]
When it is confirmed that the processing of steps S1-3 to S1-6 is executed for cloud parts A (122) and B (124) (step S1-7: YES), the
[0259]
Through the above processing, the cloud parts A (122) and B (124) and the
[0260]
Since the
[0261]
FIG. 39 is a flowchart showing an example of the operation of the middle cloud generation process (FIG. 36; step S2).
[0262]
The intermediate
[0263]
The medium
[0264]
On the other hand, when it is determined in step S2-6 that the processing of the 32 cloud clouds billboards has been completed, the
[0265]
Next, the operation of the sea of clouds generation process (FIG. 36; step S3) will be described. FIG. 40 is a flowchart showing an example of the operation of the sea of cloud generation processing in the present embodiment.
[0266]
First, the cloud setting
[0267]
Then, the middle
[0268]
Further, the
[0269]
If it is not transparent, it is set as a drawing target, that is, the drawing flag for the arrangement position CL [i] set in step S3-5 is set to "1" (step S3-10), and step S3-11 is set. Transition.
[0270]
In step S3-11, the middle
[0271]
Then, when the processing is completed for all cloud layers set in the object space, the same processing as steps S3-2 to S3-14 is performed for the distant view cloud setting region Rf. That is, the cloud setting region R is set, the number of cloud objects to be arranged is set and arranged, the cloud objects are arranged, the arranged cloud objects are converted to the screen coordinate system, the opacity α is set, the transparent The process for rendering only the objects not to be drawn is repeated, and further, the process is performed for all cloud layers set in the object space (step S3-14).
[0272]
Then, the sea of
[0273]
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG. In the apparatus shown in the figure, a
[0274]
The
[0275]
The
[0276]
In accordance with a program stored in the
[0277]
Further, this apparatus is provided with a
[0278]
The
[0279]
Various processes described with reference to FIGS. 1 to 35 include an
[0280]
FIG. 42 shows an example in which the present embodiment is applied to a game device including a
[0281]
In this case, the game program 510, the
[0282]
As described above, according to the present invention, the cloud part A (122) and the cloud part B (124) are synthesized according to the pitch angle X of the
[0283]
Furthermore, a three-dimensional medium cloud whose shape changes corresponding to the position of the
[0284]
In addition, since the expression of the airflow applied to the
[0285]
Further, the sea of clouds can be expressed in a three-dimensional manner without a sense of incongruity by the sea of sea generation process. Further, since the mid-cloud billboard has only to be arranged within the field of view of the virtual camera 100 (in the cloud setting region R), it is possible to reduce the processing related to the generation of the sea of clouds.
[0286]
The present invention is not limited to the one described in the above embodiment, and various modifications can be made. For example, in the above-described embodiment, the initial setting at the time of the generation of the middle cloud has been described as the distribution of the small cloud billboards biased toward the origin in the middle cloud coordinate system, but other positions may be used. . That is, in the equation (5), from the average of each four random numbers (R max -R min ) / 2 has been described as subtracting, but by subtracting (or adding) an appropriate value for each component, the distribution position of the cloud cloud billboard aggregate in the meridian coordinate system can be changed. Good.
[0287]
Alternatively, as shown in FIG. 43, the distribution of the cloud cloud board may be distributed in several parts. In other words, the 32 small cloud billboards may be divided into several, and the coordinates of the center point of the distribution different for each aggregate (that is, the position of the distribution bias) may be given. In this way, by distributing the distribution of the small cloud billboard in one middle cloud into several, a horizontally long middle cloud as shown in FIG. 44 (a) or a complicated shape as shown in (b). Medium clouds and the like can be generated.
[0288]
Further, for example, in the above embodiment, in the distant view cloud setting process, the same number n of clouds as in the cloud setting region R are set, but the clouds arranged in the distant view cloud setting region Rf are the
[0289]
In addition, although the cloud object is a perapolygon in which the middle cloud texture is mapped, since it is a distant view, a simpler cloud texture may be mapped to generate a cloud object. In that case, a cloud texture for distant view may be stored in the
[0290]
In addition, for example, the
[0291]
Further, although the layer width ALtw is set as a fixed value for each cloud layer, for example, the layer width ALtw may be changed in position. That is, a thick part and a thin part of the cloud layer may be set. In addition, for example, in the case of a cloud that develops over time, such as a cumulonimbus cloud, since the thickness of a part of the cloud layer increases with time, the layer width ALtw is further changed with time. Also good.
[0292]
In the above embodiment, an airplane game has been described as an example. However, what a player operates (maneuveres) is not limited to an airplane, and may of course be a helicopter.
[0293]
In the above embodiment, the home game device has been described as an example. However, the application of the present invention is not limited to this, and may be, for example, a portable game device or an arcade game device. Further, for example, a computer device other than a game device such as a personal computer, a PDA, or a mobile phone may be used.
[0294]
【The invention's effect】
According to the present invention, it is possible to express a cloud with a three-dimensional effect without any contradiction with respect to changes in the position and line-of-sight direction of the virtual camera.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example when the present invention is applied to a home game device.
FIG. 2 is a diagram for explaining (a) a relationship between a virtual camera and a cloud cloud texture, and (b) a virtual camera angle.
FIG. 3 is a diagram showing a concept of composition of a cloud cloud texture.
FIG. 4 is a diagram illustrating an example of a cloud cloud texture.
FIG. 5 is a diagram illustrating an example of a cloud part A and a cloud part A mask;
FIG. 6 is a diagram illustrating an example of a cloud part B and a cloud part B mask;
FIG. 7 is a diagram illustrating an example of an airflow texture.
FIG. 8 is a diagram illustrating an example of an image of (a) cloud part A, (b) cloud part B, and (c) airflow texture.
FIG. 9 is a diagram illustrating an example of a cloud texture when the virtual camera has a pitch angle X of (a) X = 0 °, (b) X = 45 °, and (c) X = 90 °.
FIG. 10 is a diagram showing the principle of inversion of the cloud cloud texture.
FIG. 11 is a diagram illustrating an example of an image of a middle cloud.
FIG. 12 is a perspective view showing an example of a cloud cloud coordinate system.
FIG. 13 is a diagram illustrating an example of the cloud distribution data.
14A is a diagram showing a positional relationship between the virtual camera in the middle cloud coordinate system, the origin of the middle cloud coordinate system, and the projection screen; and FIG. 14B is a diagram showing a relationship between the world coordinate system and the middle cloud coordinate system.
FIG. 15 is a schematic diagram illustrating an example of a cloud cloud buffer.
FIG. 16 is a diagram illustrating specific points and specific vectors.
FIG. 17 is a diagram illustrating a graph of a function f (ω).
FIG. 18 (a) F L (Ω), (b) F B (Ω), (c) F S It is a figure which shows the graph of each function of ((omega)).
FIG. 19 is a diagram illustrating an example of a color determination table.
FIG. 20 is a diagram illustrating a relationship between a virtual camera and a cloud setting area.
FIG. 21 is a diagram illustrating an example of a cloud setting area in the world coordinate system.
FIG. 22 is a diagram illustrating an example of a cloud setting area in a cloud sea coordinate system.
FIG. 23 is a diagram for explaining a change in the arrangement position of the middle cloud billboard as the cloud setting area moves.
FIG. 24 is a diagram for explaining a change in the arrangement position of the middle cloud billboard as the cloud setting area moves.
FIG. 25 is a diagram illustrating an example of a display screen including clouds.
FIG. 26 is a diagram illustrating an example of a relationship between a visual field of a virtual camera and a cloud setting area.
FIG. 27 is a diagram showing an example of distribution of opacity in a cloud setting area.
FIG. 28 is a diagram illustrating an example of a distant cloud setting area.
FIG. 29 is a diagram illustrating an example of an image including a cloud set in a distant view cloud setting area.
FIG. 30 is a diagram illustrating an example of a cloud distribution map.
FIG. 31 is a block diagram illustrating an example of functional blocks in the present embodiment.
32 is a diagram showing an example of the data configuration of specific
FIG. 33 is a diagram illustrating an example of a data configuration of medium cloud distribution data.
FIG. 34 is a diagram illustrating an example of a data structure of cloud layer data.
FIG. 35 is a diagram illustrating an example of a data configuration of drawing target setting data.
FIG. 36 is a flowchart illustrating an example of operation of cloud generation processing in the present embodiment.
FIG. 37 is a flowchart showing an example of an operation of an initial setting process in the present embodiment.
FIG. 38 is a flowchart showing an example of operation of a cloud generation process in the present embodiment.
FIG. 39 is a flowchart showing an example of operation of a cloud creation process in the present embodiment.
FIG. 40 is a flowchart showing an example of the operation of the sea of cloud generation processing in the present embodiment.
FIG. 41 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIG. 42 is a diagram illustrating an example when the present embodiment is applied to a game terminal connected to a host device via a communication line.
FIG. 43 is a diagram illustrating an example of distribution of a cloud cloud billboard.
FIG. 44 is a diagram showing an example of distribution of a cloud cloud billboard.
[Explanation of symbols]
500 operation unit
600 processor
610 Game calculation part
612 Medium Cloud Generation Unit
616 Initial setting section
618 Unkai Generation Department
630 Image generation unit
632 Cloud drawing part
634 Nakamozu Drawing Department
640 Unkai Drawing Department
700 Display unit
800 Temporary storage
802 Cloud cloud buffer
804 Middle cloud buffer
806 Specific point color data
808 frame buffer
810 Drawing target setting data
900 storage unit
910 Game program
950 Initial data
924 Cloud distribution map
926 Cloud layer data
928 color data
930 function data
104 Airflow texture
Claims (10)
前記オブジェクト空間に、前記仮想カメラの視線方向所定距離の位置を基準位置とする雲設定領域を、前記仮想カメラの移動に伴って移動するように設定する雲設定領域設定手段、
前記仮想カメラの移動に伴って新たに前記雲設定領域内となった領域に新たな雲素を配置し、継続して前記雲設定領域内の雲素は同じ位置とする雲素配置手段、
前記雲素それぞれの透明度を、前記雲設定領域の境界に近づくにつれて高い透明度となるように設定する雲素透明度設定手段、
前記雲素それぞれに設定された透明度を用いて、前記仮想カメラから見た雲状オブジェクトの画像を生成する手段、
として機能させるための、前記プロセッサによる演算可能なプログラムを記憶した情報記憶媒体。The arithmetic and control by the processor, to generate an image of the object space viewed from the virtual camera to move the object space, the apparatus and executes the given game,
A cloud setting area setting means for setting a cloud setting area having a reference position at a predetermined distance in the line-of-sight direction of the virtual camera in the object space so as to move as the virtual camera moves ;
A new cloud element is arranged in an area that is newly in the cloud setting area with the movement of the virtual camera , and the cloud element in the cloud setting area is continuously located at the same position .
A cloud transparency setting means for setting the transparency of each of the cloud particles so that the transparency becomes higher as approaching the boundary of the cloud setting region ;
Means for generating an image of a cloud-like object viewed from the virtual camera using the transparency set for each of the cloud particles;
An information storage medium that stores a program that can be operated by the processor to function as a computer.
前記雲素透明度設定手段が、前記基準位置から所定距離以上離れた前記雲素は完全透明とするように前記雲素の透明度を設定する、ように機能させるためのプログラムである、情報記憶媒体。The information storage medium according to claim 1 , wherein the program is
An information storage medium for causing the cloudy transparency setting means to function so as to set the transparency of the cloudy so that the cloudy that is separated from the reference position by a predetermined distance or more is completely transparent.
前記雲設定領域設定手段が、前記雲設定領域を前記基準位置が中心となるように設定する、ように機能させるためのプログラムである、情報記憶媒体。An information storage medium according to claim 1 or 2, wherein the program,
An information storage medium which is a program for causing the cloud setting area setting means to function so as to set the cloud setting area so that the reference position is at the center.
前記雲素透明度設定手段が、前記仮想カメラからの距離が第1距離以上であり且つ第2距離以下である環状の範囲内に位置する前記雲素の透明度を不透明に設定し、当該範囲から離れ、前記雲設定領域の境界に近づくにつれて高い透明度となるように前記雲素の透明度を設定する、ように機能させるためのプログラムである、情報記憶媒体。The information storage medium according to claim 1, wherein the program is
The Kumomoto transparency setting means, Opaquely set distance the transparency of the Kumomoto located within the annular is the second distance or less and is the first distance or more from the virtual camera, away from the range An information storage medium, which is a program for functioning to set the transparency of the cloud so that the transparency becomes higher as the boundary of the cloud setting area is approached .
前記雲素透明度設定手段が、前記基準位置を含むように前記範囲を定める、
ように機能させるためのプログラムである、情報記憶媒体。5. The information storage medium according to claim 4 , wherein the program is
The Kumomoto transparency setting means defining said range said reference position as including,
An information storage medium that is a program for causing the function to function as described above.
前記装置を、
前記仮想カメラからの視線方向の距離が前記雲設定領域より遠方に、他の雲設定領域を設定する他領域設定手段、
前記他の雲配置領域に、複数の雲素を配置する他領域雲素配置手段、
前記他の雲配置領域内の雲素それぞれの透明度を、当該他の雲配置領域の中心から離れるに従って透明となるように設定する他領域雲素透明度設定手段、
として更に機能させるためのプログラムである、情報記憶媒体。The information storage medium according to any one of claims 1 to 5 , wherein the program is
Said device,
Other area setting means for setting another cloud setting area at a distance in the line- of- sight direction from the virtual camera farther than the cloud setting area,
Other area cloud element arrangement means for arranging a plurality of cloud elements in the other cloud arrangement area,
Other area cloud transparency setting means for setting the transparency of each cloud element in the other cloud arrangement area so as to become transparent as the distance from the center of the other cloud arrangement area increases.
An information storage medium, which is a program for further functioning as
前記雲素配置手段が、前記雲設定領域内であって、且つ、前記オブジェクト空間の所与の高度層内に前記雲素を配置する、
ように機能させるためのプログラムである、情報記憶媒体。The information storage medium according to any one of claims 1 to 6 , wherein the program is
The cloudy arrangement means arranges the cloudy substance in the cloud setting region and in a given altitude layer of the object space;
An information storage medium that is a program for causing the function to function as described above.
前記雲素配置手段が、前記雲素としてパーティクルの集合体を配置する、
ように機能させるためのプログラムである、情報記憶媒体。The information storage medium according to any one of claims 1 to 7 , wherein the program is
The cloud particle arrangement means arranges a collection of particles as the cloud particles;
An information storage medium that is a program for causing the function to function as described above.
前記装置を、前記雲設定領域内に前記雲素の初期分布を設定する初期分布設定手段として更に機能させ、
前記雲素配置手段が、前記初期分布に従って前記雲素を配置する、ように機能させる、
ためのプログラムである、情報記憶媒体。The information storage medium according to any one of claims 1 to 8 , wherein the program is
Making the apparatus further function as an initial distribution setting means for setting an initial distribution of the cloud particles in the cloud setting region;
The cloudy arrangement means functions to arrange the cloudy according to the initial distribution;
An information storage medium that is a program.
前記オブジェクト空間に、前記仮想カメラの視線方向所定距離の位置を基準位置とする雲設定領域を、前記仮想カメラの移動に伴って移動するように設定する雲設定領域設定手段と、
前記仮想カメラの移動に伴って新たに前記雲設定領域内となった領域に新たな雲素を配置し、継続して前記雲設定領域内の雲素は同じ位置とする雲素配置手段と、
前記雲素それぞれの透明度を、前記雲設定領域の境界に近づくにつれて高い透明度となるように設定する雲素透明度設定手段と、
前記雲素それぞれに設定された透明度を用いて、前記仮想カメラから見た雲状オブジェクトの画像を生成する手段と、
を備えたゲーム装置。A game apparatus for executing a game by generating an image of the object space viewed from the virtual camera to move the object space,
A cloud setting area setting means for setting, in the object space, a cloud setting area having a reference position at a predetermined distance in the line-of-sight direction of the virtual camera so as to move with the movement of the virtual camera ;
A new cloud element is arranged in an area that is newly in the cloud setting area in accordance with the movement of the virtual camera , and a cloud element arrangement unit that continuously places the cloud elements in the cloud setting area ;
A cloud transparency setting means for setting the transparency of each of the cloud particles so that the transparency becomes higher as approaching the boundary of the cloud setting region ;
Means for generating an image of a cloud-like object viewed from the virtual camera using the transparency set for each of the cloud particles;
A game device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003124237A JP4688407B2 (en) | 2003-04-28 | 2003-04-28 | Information storage medium and game device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003124237A JP4688407B2 (en) | 2003-04-28 | 2003-04-28 | Information storage medium and game device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000376702A Division JP3453119B2 (en) | 2000-12-11 | 2000-12-11 | Information storage medium and game device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010225169A Division JP4970583B2 (en) | 2010-10-04 | 2010-10-04 | Information storage medium and game device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004005623A JP2004005623A (en) | 2004-01-08 |
JP4688407B2 true JP4688407B2 (en) | 2011-05-25 |
Family
ID=30438024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003124237A Expired - Fee Related JP4688407B2 (en) | 2003-04-28 | 2003-04-28 | Information storage medium and game device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4688407B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107492137A (en) * | 2017-08-03 | 2017-12-19 | 中国电子科技集团公司第二十八研究所 | A kind of graphic animations design system and its design method based on three-dimensional digital earth |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5025950B2 (en) * | 2005-12-12 | 2012-09-12 | 任天堂株式会社 | Information processing program, information processing apparatus, information processing system, and information processing method |
JP5090544B2 (en) * | 2011-02-25 | 2012-12-05 | 任天堂株式会社 | GAME DEVICE AND GAME PROGRAM |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07254072A (en) * | 1994-01-26 | 1995-10-03 | Hitachi Ltd | Texture mapping method and device therefor |
JPH08190639A (en) * | 1995-01-05 | 1996-07-23 | Toshiba Corp | Cloud phenomenon visualizing device |
JPH10295934A (en) * | 1997-04-25 | 1998-11-10 | Sega Enterp Ltd | Video game device and changing method of texture of model |
JPH11175748A (en) * | 1997-12-05 | 1999-07-02 | Namco Ltd | Image generating device and information storage medium |
JP2000149062A (en) * | 1998-11-10 | 2000-05-30 | Hitachi Eng Co Ltd | Method and device for generating three-dimensional image |
JP2000197769A (en) * | 1998-12-29 | 2000-07-18 | Namco Ltd | Game device and information recording medium |
JP2000268189A (en) * | 1999-03-18 | 2000-09-29 | Airemu Software Engineering Kk | Image display method, image display, amusement machine with the same and storage medium in which program is stored |
-
2003
- 2003-04-28 JP JP2003124237A patent/JP4688407B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07254072A (en) * | 1994-01-26 | 1995-10-03 | Hitachi Ltd | Texture mapping method and device therefor |
JPH08190639A (en) * | 1995-01-05 | 1996-07-23 | Toshiba Corp | Cloud phenomenon visualizing device |
JPH10295934A (en) * | 1997-04-25 | 1998-11-10 | Sega Enterp Ltd | Video game device and changing method of texture of model |
JPH11175748A (en) * | 1997-12-05 | 1999-07-02 | Namco Ltd | Image generating device and information storage medium |
JP2000149062A (en) * | 1998-11-10 | 2000-05-30 | Hitachi Eng Co Ltd | Method and device for generating three-dimensional image |
JP2000197769A (en) * | 1998-12-29 | 2000-07-18 | Namco Ltd | Game device and information recording medium |
JP2000268189A (en) * | 1999-03-18 | 2000-09-29 | Airemu Software Engineering Kk | Image display method, image display, amusement machine with the same and storage medium in which program is stored |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107492137A (en) * | 2017-08-03 | 2017-12-19 | 中国电子科技集团公司第二十八研究所 | A kind of graphic animations design system and its design method based on three-dimensional digital earth |
CN107492137B (en) * | 2017-08-03 | 2021-01-26 | 中国电子科技集团公司第二十八研究所 | Graphic animation design system based on three-dimensional digital earth and design method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2004005623A (en) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6707458B1 (en) | Method and apparatus for texture tiling in a graphics system | |
JP2009237680A (en) | Program, information storage medium, and image generation system | |
JP3453119B2 (en) | Information storage medium and game device | |
US6828962B1 (en) | Method and system for altering object views in three dimensions | |
JP4610748B2 (en) | Image generation system, program, and information storage medium | |
JP3748451B1 (en) | Program, information storage medium, and image generation system | |
JP4970583B2 (en) | Information storage medium and game device | |
JP2005032140A (en) | Image generation system, program, and information storage medium | |
JP4688407B2 (en) | Information storage medium and game device | |
JP4868586B2 (en) | Image generation system, program, and information storage medium | |
JP2005275797A (en) | Program, information storage medium, image generation system | |
JP2011065396A (en) | Program, information storage medium, and object generation system | |
JP4528008B2 (en) | Program, information storage medium, and image generation system | |
JP3470966B2 (en) | Program, information storage medium, and game system | |
JP5146054B2 (en) | Generation control program of sound generated from sound source in virtual space | |
JP3501479B2 (en) | Image processing device | |
WO2004052481A1 (en) | Game machine, game control method, and program | |
JP2005141647A (en) | Program, information storage medium and image generating system | |
JP4592087B2 (en) | Image generation system, program, and information storage medium | |
JP2007164651A (en) | Program, information storage medium and image generation system | |
JP4688405B2 (en) | PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE | |
JP2002251625A (en) | Device and method for processing image, recording medium for recording program for processing image operating on computer | |
JP2001314646A (en) | Game apparatus and information storage medium | |
JP3453410B2 (en) | Image processing apparatus and method | |
JP2007164736A (en) | Image generation system, program and information storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071203 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080109 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4688407 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |