JP2007164582A - Program, information storage medium and image generation system - Google Patents

Program, information storage medium and image generation system Download PDF

Info

Publication number
JP2007164582A
JP2007164582A JP2005361783A JP2005361783A JP2007164582A JP 2007164582 A JP2007164582 A JP 2007164582A JP 2005361783 A JP2005361783 A JP 2005361783A JP 2005361783 A JP2005361783 A JP 2005361783A JP 2007164582 A JP2007164582 A JP 2007164582A
Authority
JP
Japan
Prior art keywords
cloud
pattern
program
space
generation space
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.)
Granted
Application number
JP2005361783A
Other languages
Japanese (ja)
Other versions
JP4651527B2 (en
Inventor
Kenichiro Hidaka
健一郎 日高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2005361783A priority Critical patent/JP4651527B2/en
Publication of JP2007164582A publication Critical patent/JP2007164582A/en
Application granted granted Critical
Publication of JP4651527B2 publication Critical patent/JP4651527B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To generate a high quality image expressing a state of change of cloud in real time. <P>SOLUTION: A pattern showing the density of cloud is searched based on a time pattern and the pattern of a perlin noise. A scaling parameter is prepared as a parameter for determining a pattern generation space to be cut, and a plurality of cross-sections whose width is different on a pattern generation space are acquired by using the scaling parameter, and the density patterns of cloud to be acquired from the respective cross-sections are combined, so that one composite pattern can be searched. The respective patterns are multiplied by different power parameters and combined as the intensity of composition in combining the plurality of density patterns of cloud. A threshold parameter is prepared, and the final shape of cloud is determined by carrying out filtering by clamping thin sections from among the density patterns of cloud based on the threshold parameter. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。   The present invention relates to a program, an information storage medium, and an image generation system.

従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。プレーヤがキャラクタを操作してオブジェクト空間を移動させたり、キャラクタに何らかの行動を行わせたりするアクションゲームのゲーム画像を生成する画像生成システムを例にとれば、プレーヤの仮想現実感の向上のためには、雲などの自然環境についてもリアルに表現できることが好ましい。   Conventionally, an image generation system (game system) that generates an image that can be viewed from a virtual camera (a given viewpoint) in an object space (virtual three-dimensional space) in which an object such as a character is set is known. It is very popular for experiencing so-called virtual reality. For example, an image generation system that generates a game image of an action game in which the player moves the object space by operating the character or causes the character to take some action. It is preferable that a natural environment such as a cloud can be expressed realistically.

特に雲など上空に存在するものは、仮想カメラの視界画像の中でも比較的大きな面積を占有するため、その存在が画像の中で目立ちやすい。このため、雲など上空の様子をリアルタイムに変化させる表現ができる技術が望まれていた。例えば、従来では雲をリアルタイムに変化させるようにする場合には、予め用意された複数枚のテクスチャを用いてアニメーションさせることによって対処していた。しかしながら、このような手法では大量のテクスチャのデータを格納するメモリ領域を確保する必要があり、メモリの使用制限があるシステムでは十分にその特徴を生かすことができないという課題があった。
特開2002−298158号公報
In particular, what exists in the sky such as a cloud occupies a relatively large area in the field-of-view image of the virtual camera, and therefore its presence is easily noticeable in the image. For this reason, a technique capable of expressing in real time the state of the sky such as clouds has been desired. For example, conventionally, when a cloud is changed in real time, it has been dealt with by animating using a plurality of textures prepared in advance. However, in such a method, it is necessary to secure a memory area for storing a large amount of texture data, and there is a problem that a system with limited use of the memory cannot sufficiently utilize the characteristics.
JP 2002-298158 A

本発明は上記事情に鑑みてなされたものであり、その目的は、リアルタイムに雲が変化する様子を表現した高品質な画像を生成することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a program, an information storage medium, and an image generation system that can generate a high-quality image that expresses how clouds change in real time. There is.

(1)本発明は、オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、前記オブジェクト空間に対して雲オブジェクトを設定するオブジェクト空間設定部と、パターン生成空間に所与のランダムパターンを発生させ、発生させたランダムパターンに基づいて雲情報を演算する雲情報演算部と、求められた雲情報を反映させた雲オブジェクトを描画する描画部と、を含み、前記雲情報演算部が、前記パターン生成空間を切断する切断面の位置を、時間経過に応じて第1の座標軸に沿って変化させることにより、前記パターン生成空間の切断面に現れるパターンを変化させるともに、前記パターン生成空間の切断面に現れるパターンに基づいて前記雲情報を求める画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶する情報記憶媒体に関係する。   (1) The present invention is an image generation system for generating an image viewed from a given viewpoint in an object space, an object space setting unit for setting a cloud object in the object space, and a pattern generation space A cloud information calculation unit that generates a given random pattern and calculates cloud information based on the generated random pattern, and a drawing unit that draws a cloud object reflecting the obtained cloud information, The cloud information calculation unit changes the pattern appearing on the cut surface of the pattern generation space by changing the position of the cut surface that cuts the pattern generation space along the first coordinate axis as time elapses. Both are related to an image generation system for obtaining the cloud information based on a pattern appearing on a cut surface of the pattern generation space. The present invention also relates to a program that causes a computer to function as each of the above-described units and an information storage medium that stores such a program.

本発明において雲オブジェクトには、板状の多角形ポリゴンなどに加えてパーティクルの集合体なども含まれる。また雲情報は、板状の多角形ポリゴンにマッピングされるテクスチャの情報やパーティクルの生成情報(発生、消滅、移動に関与する情報)などが含まれる。   In the present invention, a cloud object includes an aggregate of particles in addition to a plate-like polygon polygon. The cloud information includes texture information mapped to plate-like polygons, particle generation information (information related to generation, disappearance, and movement).

本発明によれば、所与のランダムパターンを発生させたパターン生成空間の切断面に現れるパターンを雲オブジェクトに反映される雲情報の演算に用いる。このとき切断面は、パターン生成空間のY座標成分を時間経過に応じて変化させることでパターン生成空間上での位置が変化する。このようにして切断面の位置を時間経過に応じて変化させることにより、リアルタイムに変化する雲を表現することができる。   According to the present invention, the pattern appearing on the cut surface of the pattern generation space in which a given random pattern is generated is used for calculating cloud information reflected in the cloud object. At this time, the position of the cut surface in the pattern generation space is changed by changing the Y coordinate component of the pattern generation space with the passage of time. Thus, by changing the position of the cut surface according to the passage of time, it is possible to express a cloud that changes in real time.

(2)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記雲情報演算部が、所与のスケーリングパラメータに基づいて前記パターン生成空間上での広さが異なる複数の切断面に現れるパターンを取得するともに、前記複数の切断面に現れるパターンを合成した合成パターンに基づいて前記雲情報を求めるようにしてもよい。このようにすれば、複数の切断面に現れるパターンを合成することによって、雲情報を求める基礎となるパターンのランダム性を向上させることができるため、より実際の自然環境に近い雲を表現することができる。   (2) In the image generation system, the program, and the information storage medium of the present invention, the cloud information calculation unit appears on a plurality of cut surfaces having different sizes on the pattern generation space based on a given scaling parameter. While acquiring a pattern, you may make it obtain | require the said cloud information based on the synthetic | combination pattern which synthesize | combined the pattern which appears in the said some cut surface. In this way, it is possible to improve the randomness of the pattern that is the basis for obtaining cloud information by synthesizing patterns that appear on multiple cut planes, so that it can represent clouds that are closer to the actual natural environment. Can do.

(3)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記雲情報演算部が、前記複数の切断面に現れるパターンを合成する際に、各パターンに対して異なる合成率パラメータを乗算してから合成するようにしてもよい。このようにすれば、複数の切断面に現れるパターンの合成比率を変えるだけで、パターンのランダム性を向上させて同じような雲ができないようにすることができる。   (3) In the image generation system, the program, and the information storage medium of the present invention, when the cloud information calculation unit synthesizes the patterns appearing on the plurality of cut surfaces, the patterns are multiplied by different synthesis rate parameters. You may make it synthesize | combine after that. In this way, it is possible to improve the randomness of the pattern and prevent a similar cloud by simply changing the composition ratio of the patterns appearing on the plurality of cut surfaces.

(4)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記雲情報演算部が、所与のしきい値パラメータに基づいて前記パターン生成空間の切断面に現れるパターンあるいは前記合成パターンに対してフィルタリングを行うことにより雲の形状を決定するようにしてもよい。例えば、しきい値パラメータをオブジェクト空間内での気象条件、経過時間、あるいは発生イベント等に応じて変化させるようにすれば、オブジェクト空間内での状況に適した雲を表現することができるようになる。   (4) In the image generation system, the program, and the information storage medium of the present invention, the cloud information calculation unit applies the pattern appearing on the cut surface of the pattern generation space or the composite pattern based on a given threshold parameter. Alternatively, the cloud shape may be determined by performing filtering on the cloud. For example, if the threshold parameter is changed according to the weather condition, elapsed time, or occurrence event in the object space, a cloud suitable for the situation in the object space can be expressed. Become.

(5)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記雲情報演算部が、前記パターン生成空間の切断面の位置を前記第1の座標軸とは異なる第2の座標軸及び第3の座標軸の少なくとも一方に沿って変動させることにより、前記パターン生成空間の切断面に現れるパターンを変化させるようにしてもよい。このようにすれば、例えば、オブジェクト空間内での気象条件、経過時間、あるいは発生イベント等に応じて、雲が移動する様子を表現することができる。この場合、雲の動き方で間接的に風向きなどを画像を見る者に感じさせることができるようになる。   (5) In the image generation system, the program, and the information storage medium of the present invention, the cloud information calculation unit sets the position of the cut surface of the pattern generation space to a second coordinate axis different from the first coordinate axis and the third coordinate axis. The pattern appearing on the cut surface of the pattern generation space may be changed by changing along at least one of the coordinate axes. In this way, for example, it is possible to express how the clouds move according to the weather conditions, the elapsed time, or the occurrence event in the object space. In this case, it becomes possible for the viewer to feel the wind direction and the like indirectly by the way the clouds move.

(6)また本発明の画像生成システム、プログラム及び情報記憶媒体では、雲の色及び透明度の少なくとも一方とインデックス番号との対応関係を設定したカラールックアップテーブルが用意されており、前記描画部が、所与の色範囲指定パラメータと前記雲情報とに基づいて得られるインデックス番号をテクセルに設定したインデックステクスチャを作成し、前記雲オブジェクトに対して前記カラールックアップテーブルを参照しながら前記インデックステクスチャをマッピングするようにしてもよい。例えば、オブジェクト空間内での気象条件、経過時間、あるいは発生イベント等に応じて、色範囲指定パラメータを変動させるようにすれば、状況に応じたリアルな雲を表現することができるようになり利便性が高い。   (6) Further, in the image generation system, the program, and the information storage medium of the present invention, a color look-up table in which a correspondence relationship between at least one of cloud color and transparency and an index number is prepared is provided. Creating an index texture in which the index number obtained based on a given color range specifying parameter and the cloud information is set in a texel, and referring to the color lookup table for the cloud object You may make it map. For example, if the color range specification parameter is changed according to the weather conditions in the object space, the elapsed time, or the occurrence event, it becomes possible to express realistic clouds according to the situation. High nature.

(7)また本発明の画像生成システムでは、前記オブジェクト空間内に設定される光源の光源情報を設定する光源情報設定部を含み、前記光源情報設定部が、前記オブジェクト空間内での気象条件、経過時間、及び発生イベントの少なくともいずれか一つに応じて、前記光源情報のうち前記雲オブジェクトを照明する光源の色及び明るさの少なくとも一方を変化させるようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記光源情報設定部としてコンピュータを機能させるようにしてもよい。このようにすれば、状況に応じたリアルな雲を表現することができる。例えば、朝焼けや夕焼けで赤く照らされた雲などを表現することができる。   (7) The image generation system of the present invention further includes a light source information setting unit that sets light source information of a light source set in the object space, and the light source information setting unit includes weather conditions in the object space, Depending on at least one of the elapsed time and the occurrence event, at least one of the color and brightness of the light source that illuminates the cloud object may be changed in the light source information. In the program and information storage medium of the present invention, a computer may function as the light source information setting unit. In this way, a realistic cloud according to the situation can be expressed. For example, it is possible to express a cloud that is illuminated in red by sunrise or sunset.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。   FIG. 1 shows an example of a functional block diagram of an image generation system (game system) of the present embodiment. Note that the image generation system of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

操作部160は、プレーヤがプレーヤオブジェクト(移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタ)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。   The operation unit 160 is for a player to input operation data of a player object (an example of a moving object, a player character operated by the player), and functions thereof are a lever, a button, a steering, a microphone, and a touch panel display. Alternatively, it can be realized by a housing or the like. The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM). The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute processing of each unit).

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and its function can be realized by a CRT, LCD, touch panel display, HMD (head mounted display), or the like. The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The portable information storage device 194 stores player personal data, game save data, and the like. Examples of the portable information storage device 194 include a memory card and a portable game device. The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions thereof are hardware such as various processors or communication ASICs, programs, and the like. It can be realized by.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and communication unit 196. May be. Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs processing such as game processing, image generation processing, or sound generation processing based on operation data and programs from the operation unit 160. Here, as the game process, a process for starting a game when a game start condition is satisfied, a process for advancing the game, a process for placing an object such as a character or a map, a process for displaying an object, and a game result are calculated. There is a process or a process of ending a game when a game end condition is satisfied. The processing unit 100 performs various processes using the main storage unit 172 in the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、雲情報演算部116、気象条件設定部118、光源情報設定部119、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes an object space setting unit 110, a movement / motion processing unit 112, a virtual camera control unit 114, a cloud information calculation unit 116, a weather condition setting unit 118, a light source information setting unit 119, a drawing unit 120, and a sound generation unit 130. including. Note that some of these may be omitted.

オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。特に本実施形態では、オブジェクト空間設定部110が、オブジェクト空間に対して雲オブジェクトを設定する。雲オブジェクトは、板状の多角形ポリゴン(例えば、矩形ポリゴン)であったり、パーティクル(粒子状のオブジェクト)の集合体であったりする。   The object space setting unit 110 is an object composed of various objects (polygons, free-form surfaces, subdivision surfaces, etc.) representing display objects such as characters, buildings, stadiums, cars, trees, pillars, walls, and maps (terrain). ) Is set in the object space. In other words, the position and rotation angle of the object in the world coordinate system (synonymous with direction and direction) are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects. In particular, in the present embodiment, the object space setting unit 110 sets a cloud object in the object space. The cloud object may be a plate-like polygon polygon (for example, a rectangular polygon) or an aggregate of particles (particle-like objects).

移動・動作処理部112は、オブジェクト(キャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The movement / motion processing unit 112 performs a movement / motion calculation (movement / motion simulation) of an object (character, car, train, airplane, etc.). That is, based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), or the like, the object is moved in the object space, or the object is moved (motion, animation). ) Process. Specifically, object movement information (position, rotation angle, speed, or acceleration) and motion information (position or rotation angle of each part that constitutes the object) are sequentially transmitted every frame (1/60 seconds). Perform the required simulation process. A frame is a unit of time for performing object movement / motion processing (simulation processing) and image generation processing.

仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。   The virtual camera control unit 114 performs a virtual camera (viewpoint) control process for generating an image viewed from a given (arbitrary) viewpoint in the object space. Specifically, processing for controlling the position (X, Y, Z) or rotation angle (rotation angle about the X, Y, Z axis) of the virtual camera (processing for controlling the viewpoint position, the line-of-sight direction or the angle of view) I do.

例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。   For example, when an object (eg, character, ball, car) is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (the direction of the virtual camera is set so that the virtual camera follows changes in the position or rotation of the object. ) To control. In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the object obtained by the movement / motion processing unit 112. Alternatively, the virtual camera may be controlled to rotate at a predetermined rotation angle or to move along a predetermined movement path. In this case, the virtual camera is controlled based on the virtual camera data for specifying the position (movement path) or rotation angle of the virtual camera. When there are a plurality of virtual cameras (viewpoints), the above control process is performed for each virtual camera.

雲情報演算部116は、パターン生成空間に所与のランダムパターン(ノイズパターン)を発生させ、発生させたランダムパターンに基づいて雲情報を演算する処理を行う。本実施形態では、ランダムパターンとして、パーリンノイズを発生させている。なおランダムパターンは、パーリンノイズに限らずに任意のランダム関数(ノイズ関数)により求めることができる。   The cloud information calculation unit 116 generates a given random pattern (noise pattern) in the pattern generation space and performs a process of calculating cloud information based on the generated random pattern. In this embodiment, Perlin noise is generated as a random pattern. The random pattern can be obtained by an arbitrary random function (noise function) without being limited to Perlin noise.

雲情報演算部116は、ランダムパターン(例えば、パーリンノイズ)を発生させた3次元のパターン生成空間の切断面に現れるパターンに基づいて雲情報を演算する。ここでいう雲情報には、雲オブジェクトに貼り付けられるテクスチャの情報(テクセルパターン)や、雲オブジェクトがパーティクルの集合体である場合には、パーティクルの生成情報(発生、消滅、移動に関する情報)などが相当する。そして雲情報演算部116は、パターン生成空間を切断する切断面の第1の座標軸成分(Y軸成分)を時間経過に応じて変化させることにより、パターン生成空間の切断面を第1の座標軸(Y軸)に沿って移動させる。   The cloud information calculation unit 116 calculates cloud information based on a pattern that appears on a cut surface of a three-dimensional pattern generation space in which a random pattern (for example, Perlin noise) is generated. The cloud information here includes texture information (texel pattern) that is pasted on the cloud object, and, if the cloud object is an aggregate of particles, particle generation information (information about generation, disappearance, and movement), etc. Corresponds. Then, the cloud information calculation unit 116 changes the first coordinate axis component (Y-axis component) of the cut surface that cuts the pattern generation space over time, thereby changing the cut surface of the pattern generation space to the first coordinate axis ( Move along the Y axis).

また雲情報演算部116は、所与のスケーリングパラメータに基づいてパターン生成空間上での広さが異なる複数の切断面に現れるパターンを取得するともに、複数の切断面に現れるパターンを合成する処理を行う。この場合には、合成パターンに基づいて雲情報を求める。また複数の切断面に現れるパターンを合成する際には、各パターンに対して異なる合成率パラメータを乗算してから合成処理を行うようにしてもよい。   In addition, the cloud information calculation unit 116 acquires a pattern appearing on a plurality of cut surfaces having different sizes on the pattern generation space based on a given scaling parameter, and combines the patterns appearing on the plurality of cut surfaces. Do. In this case, cloud information is obtained based on the composite pattern. Further, when synthesizing patterns appearing on a plurality of cut surfaces, the synthesizing process may be performed after multiplying each pattern by a different synthesis rate parameter.

また雲情報演算部116は、所与のしきい値パラメータに基づいてパターン生成空間の切断面に現れるパターンに対してフィルタリングを行うことにより雲の形状を決定する。例えば、雲の発生状況に応じてしきい値パラメータを変動させることによって、まだらに雲ができている様子や雲が密集している様子などが表現できる。   In addition, the cloud information calculation unit 116 determines the shape of the cloud by filtering the pattern appearing on the cut surface of the pattern generation space based on a given threshold parameter. For example, by changing the threshold parameter according to the generation state of clouds, it is possible to express a state where clouds are formed or a state where clouds are dense.

また雲情報演算部116は、パターン生成空間の切断面を第1の座標軸(Y軸)とは異なる第2の座標軸(X軸)及び第3の座標軸(Z軸)の少なくとも一方の軸方向に移動させることにより、パターン生成空間の切断面の位置を変更する処理を行う。例えば、気象条件等に応じて切断面の位置を変更するようにすれば、オブジェクト空間の上空での風向きを間接的に認識させることができるようになる。   Further, the cloud information calculation unit 116 sets the cut surface of the pattern generation space in at least one of the second coordinate axis (X axis) and the third coordinate axis (Z axis) different from the first coordinate axis (Y axis). By moving, the process of changing the position of the cut surface of the pattern generation space is performed. For example, if the position of the cut surface is changed in accordance with weather conditions or the like, the wind direction over the object space can be indirectly recognized.

光源情報設定部119は、オブジェクト空間内に設定される光源の光源情報(光源の位置、向き、色、明るさ等)を設定する処理を行う。特に本実施形態では、オブジェクト空間内での気象条件、経過時間、及び発生イベントの少なくとも一つに応じて、光源情報のうち雲オブジェクトを照明する光源(例えば、環境光:アンビエント)の色及び明るさの少なくとも一方を変化させる処理を行っている。このようにすれば、リアルな朝焼けや夕焼けなどの各種表現を行うことができるようになる。   The light source information setting unit 119 performs processing for setting light source information (light source position, orientation, color, brightness, etc.) of the light source set in the object space. In particular, in the present embodiment, the color and brightness of a light source (for example, ambient light: ambient) that illuminates a cloud object in the light source information according to at least one of weather conditions, elapsed time, and occurrence event in the object space. A process for changing at least one of the above is performed. In this way, various expressions such as realistic sunrise and sunset can be performed.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。   The drawing unit 120 performs drawing processing based on the results of various processing (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. When generating a so-called three-dimensional game image, first, object data (model data) including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the object (model) ) Is input, and vertex processing is performed based on the vertex data included in the input object data. When performing the vertex processing, vertex generation processing (tessellation, curved surface division, polygon division) for re-dividing the polygon may be performed as necessary. In vertex processing, geometry processing such as vertex movement processing, coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, perspective transformation, or light source processing is performed, and an object is configured based on the processing result. Change (update, adjust) the vertex data given for the vertex group. Then, rasterization (scan conversion) is performed based on the vertex data after the vertex processing, and the surface of the polygon (primitive) is associated with the pixel. Subsequent to rasterization, pixel processing (fragment processing) for drawing pixels constituting an image (fragments constituting a display screen) is performed. In pixel processing, various processes such as texture reading (texture mapping), color data setting / changing, translucent composition, anti-aliasing, etc. are performed to determine the final drawing color of the pixels that make up the image, and perspective transformation is performed. The drawing color of the object is output (drawn) to the drawing buffer 174 (buffer that can store image information in units of pixels; VRAM, rendering target). That is, in pixel processing, per-pixel processing for setting or changing image information (color, normal, luminance, α value, etc.) in units of pixels is performed. Thereby, an image that can be seen from the virtual camera (given viewpoint) set in the object space is generated. Note that when there are a plurality of virtual cameras (viewpoints), an image can be generated so that an image seen from each virtual camera can be displayed as a divided image on one screen.

なお描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。   The vertex processing and pixel processing performed by the drawing unit 120 are realized by hardware that enables polygon (primitive) drawing processing to be programmed by a shader program written in a shading language, so-called programmable shaders (vertex shaders and pixel shaders). May be. Programmable shaders can be programmed with vertex-level processing and pixel-level processing, so that the degree of freedom of rendering processing is high, and the expressive power can be greatly improved compared to fixed rendering processing by hardware. .

そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。   The drawing unit 120 performs geometry processing, texture mapping, hidden surface removal processing, α blending, and the like when drawing an object.

ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。   In the geometry processing, processing such as coordinate conversion, clipping processing, perspective projection conversion, or light source calculation is performed on the object. Then, object data (positional coordinates of object vertices, texture coordinates, color data (luminance data), normal vector, α value, etc.) after geometry processing (after perspective projection conversion) is stored in the main storage unit 172. The

テクスチャマッピングは、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部178からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。   Texture mapping is a process for mapping a texture (texel value) stored in the texture storage unit 178 of the storage unit 170 to an object. Specifically, the texture (surface properties such as color (RGB) and α value) is read from the texture storage unit 178 of the storage unit 170 using the texture coordinates set (given) at the vertex of the object. Then, a texture that is a two-dimensional image is mapped to an object. In this case, processing for associating pixels with texels, bilinear interpolation or the like is performed as texel interpolation.

特に本実施形態の画像生成システムでは、カラーパレット記憶部179に記憶されるインデックスカラー・テクスチャマッピング用のカラールックアップテーブル(CLUT)を用いたテクスマッピングをサポートしている。インデックスカラー・テクスチャマッピングは、テクセルに対してインデックス番号(インデックス色)を設定したインデックステクスチャを、インデックス番号と画像情報(R成分、G成分、B成分、A成分(α成分))とを対応づけるカラールックアップテーブル(CLUT)を参照しながら、仮想オブジェクト(例えば、矩形ポリゴン等の多角形ポリゴン)に対してテクスチャマッピングする手法である。   In particular, the image generation system of this embodiment supports text mapping using a color look-up table (CLUT) for index color / texture mapping stored in the color palette storage unit 179. In index color / texture mapping, an index texture in which an index number (index color) is set for a texel is associated with an index number and image information (R component, G component, B component, A component (α component)). This is a technique of texture mapping for a virtual object (for example, a polygon polygon such as a rectangular polygon) while referring to a color look-up table (CLUT).

そして本実施形態では、描画部120が、上述のインデックスカラー・テクスチャマッピングの機能を利用して、雲の基本色(光源の影響を考慮する前の色)を決定する。具体的には、カラーパレット記憶部179に、雲の色及び透明度の少なくとも一方とインデックス番号との対応関係を設定したカラールックアップテーブル(CLUT)が予め用意されている。そして、所与の色範囲指定パラメータと、雲情報演算部116で求めた雲情報とに基づいて求められたインデックス情報をテクセルに設定したインデックステクスチャを作成して、テクスチャ記憶部178に格納する。最終的には、雲オブジェクト(例えば、矩形のポリゴン)に対してカラーパレット記憶部179に格納されているカラールックアップテーブル(CLUT)を参照しながらテクスチャ記憶部178に格納したインデックステクスチャをマッピングする処理を行う。   In the present embodiment, the drawing unit 120 uses the index color / texture mapping function described above to determine the basic color of the cloud (the color before considering the influence of the light source). Specifically, a color lookup table (CLUT) in which a correspondence relationship between at least one of cloud color and transparency and an index number is prepared in advance in the color palette storage unit 179. Then, an index texture in which the index information obtained based on the given color range designation parameter and the cloud information obtained by the cloud information calculation unit 116 is set in the texel is created and stored in the texture storage unit 178. Finally, the index texture stored in the texture storage unit 178 is mapped to the cloud object (for example, rectangular polygon) while referring to the color lookup table (CLUT) stored in the color palette storage unit 179. Process.

隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブ(面の最小単位)に対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。   As the hidden surface removal processing, hidden surface removal processing can be performed by a Z buffer method (depth comparison method, Z test) using a Z buffer (depth buffer) in which Z values (depth information) of drawing pixels are stored. . That is, when a drawing pixel corresponding to the primitive (the minimum unit of the surface) of the object is drawn, the Z value stored in the Z buffer is referred to. Then, the Z value of the referenced Z buffer is compared with the Z value at the drawing pixel of the primitive, and the Z value at the drawing pixel is a Z value (for example, a small Z value) on the near side when viewed from the virtual camera. In some cases, the drawing process of the drawing pixel is performed and the Z value of the Z buffer is updated to a new Z value.

αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。   α blending (α synthesis) is a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on an α value (A value). For example, in normal α blending, a process for obtaining a color obtained by combining two colors by performing linear interpolation with the α value as the strength of synthesis is performed.

なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。   The α value is information that can be stored in association with each pixel (texel, dot), and is, for example, plus alpha information other than color information indicating the luminance of each RGB color component. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.

音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.

なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。   Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or may be a system having a multiplayer mode in which a plurality of players can play. Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated by distributed processing using a plurality of terminals (game machine, mobile phone).

2.本実施形態の手法
本実施の形態では、図2に示すような空に漂う雲が、リアルタイムに変化する様子を表現するために以下のような手法を採用している。
2. 2. Method according to this embodiment In this embodiment, the following method is adopted to express how the clouds drifting in the sky as shown in FIG. 2 change in real time.

まず本実施の形態では、図3(A)に示すように、オブジェクト空間内に仮想カメラに追従して移動する天球オブジェクトを設定しており、その天球オブジェクト内の空に相当する位置(所与の位置)に矩形ポリゴンからなる雲オブジェクトCOBを配置して仮想カメラから見えるシーンを描画することにより図2に示すような画像を生成している。   First, in the present embodiment, as shown in FIG. 3A, a celestial sphere object that moves following the virtual camera is set in the object space, and a position corresponding to the sky (given in the celestial sphere object) 2 is generated by arranging a cloud object COB made of a rectangular polygon at the position (2) and drawing a scene that can be seen from a virtual camera.

なお、雲オブジェクトは天球オブジェクト内に複数設定してもよく、例えば、図3(B)に示すように、高層の雲を表現する雲オブジェクトCOB0と低層の雲を表現する雲オブジェクトCOB1とを地表からの高さを変えて設定するようにしてもよい。このようにすれば、雲の高さに応じた空模様の変化を表現することができるようになる。   A plurality of cloud objects may be set in the celestial sphere object. For example, as shown in FIG. 3B, a cloud object COB0 expressing a high-rise cloud and a cloud object COB1 expressing a low-rise cloud are displayed on the ground surface. You may make it set changing the height from. In this way, it becomes possible to express a change in the sky according to the height of the clouds.

また本実施形態では、図4に示すように、パーリンノイズを所与のパターン生成空間に発生させて、そのパターン生成空間にできたノイズの濃さの分布状態に基づいて雲の厚みや形状に相当する雲パターン(雲情報の一例)を求めている。   Further, in the present embodiment, as shown in FIG. 4, Perlin noise is generated in a given pattern generation space, and the cloud thickness and shape are adjusted based on the noise density distribution state created in the pattern generation space. A corresponding cloud pattern (an example of cloud information) is obtained.

パーリンノイズとは、Ken Perlin氏によって開発された自然界の不規則なノイズを発生させる手法であって、パーリンノイズを発生させる場合、下式のような関数の和によりノイズの濃さNを求めることができる。   Perlin noise is a method of generating irregular noise in the natural world developed by Ken Perlin. When generating Perlin noise, the noise density N is obtained by the sum of functions as shown below. Can do.

N=Σf(x)≒Σ(amplitude*interpolate(random(x*frequency))
上式において「x」は任意のパラメータ、「amplitude」は振幅(乱数値の最大値と最小値との差)、「frequency」は周波数(乱数値のサンプリング周期)、「interpolate」は乱数値間の補間を行うことを表す。すなわちパーリンノイズは、異なる振幅と周波数(波長)をもつノイズ関数(フラクタル関数)の和である。本実施形態では、このようなパーリンノイズの生成アルゴリズムを3次元のパターン生成空間(X,Y,Z)に拡張している。例えば、整数座標値を持つ8つの点(3次元格子を作る8つの点)に対して求めたノイズの濃さNを、線形補間、3角関数による補間、エルミート補間等により平滑化計算を行うことで3次元パターン生成空間における任意の座標点(X,Y,Z)のノイズの濃さNを求めることができる。
N = Σf (x) ≈Σ (amplitude * interpolate (random (x * frequency))
In the above equation, “x” is an arbitrary parameter, “amplitude” is the amplitude (difference between the maximum and minimum random numbers), “frequency” is the frequency (random number sampling period), and “interpolate” is between the random values Indicates that interpolation is performed. That is, Perlin noise is the sum of noise functions (fractal functions) having different amplitudes and frequencies (wavelengths). In this embodiment, such a Perlin noise generation algorithm is extended to a three-dimensional pattern generation space (X, Y, Z). For example, smoothing calculation is performed on the noise density N obtained for eight points having integer coordinate values (eight points forming a three-dimensional lattice) by linear interpolation, interpolation by a trigonometric function, Hermite interpolation, or the like. Thus, the noise density N at an arbitrary coordinate point (X, Y, Z) in the three-dimensional pattern generation space can be obtained.

次に図5〜図8を参照しながら、時間経過に応じて変化する雲のパターン(雲情報)を求めるための手法を説明する。   Next, a method for obtaining a cloud pattern (cloud information) that changes with time will be described with reference to FIGS.

本実施形態では、時間経過に応じてプロシージャルに雲パターンを表現したテクスチャを作成するために、図5に示すように、パターン生成空間のXZ座標平面(第2の座標軸成分と第3の座標軸成分とで規定される平面)に沿って形成される切断面FのY座標値(第1の座標軸成分の値)を時間経過に応じて変化させることにより切断面FをY軸(第1の座標軸)に沿って移動させている。これにより切断面Fに現れるパーリンノイズのパターンP(ノイズパターン)が時間経過に応じて変化する。この切断面Fに現れるパターンPにおけるノイズの濃さNの分布を雲の濃さに置き換えることでリアルタイムに変化する雲パターンを取得することができるようになる。   In this embodiment, in order to create a texture that procedurally expresses a cloud pattern as time elapses, an XZ coordinate plane (second coordinate axis component and third coordinate axis of the pattern generation space as shown in FIG. 5 is used. By changing the Y coordinate value (the value of the first coordinate axis component) of the cutting plane F formed along the plane defined by the component with time, the cutting plane F is changed to the Y axis (first axis). (Coordinate axis). As a result, the Perlin noise pattern P (noise pattern) appearing on the cut surface F changes with time. By replacing the distribution of the noise density N in the pattern P appearing on the cut surface F with the cloud density, a cloud pattern that changes in real time can be acquired.

ただし、単純に切断面Fに現れるパターンPを取得して、そのまま雲パターンとしたのではリアリティに欠けてしまったり、パターン性が見えてしまったりするため、本実施形態の手法では様々な工夫を施している。   However, simply acquiring the pattern P that appears on the cut surface F and making it a cloud pattern as it is may result in lack of reality or pattern characteristics. Has been given.

まず本実施形態の手法では、風向きなどの気象条件に応じて雲の様子が変化することを表現するために、図6(A)に示すように、パターン生成空間の切断面Fの位置をずらした切断面F´に現れるパターンを取得することができるようになっている。この場合、時間経過に応じてX軸方向(図6(B)のベクトルVxの向き:第2の座標軸方向)及びZ軸方向(図6(B)のベクトルVzの向き:第3の座標軸方向)の少なくとも一方に沿って切断面Fの位置を移動させることができる。このようにすれば、オブジェクト空間内であたかも実際の風が吹いているかのような錯覚を画像の観察者に与えることができるようになる。また切断面FをX軸方向あるいはZ軸方向などに移動させる場合には、気象条件などに応じて各軸方向への移動量(ベクトルVx、Vzの大きさ)を変化させるようにしてもよい。例えば、天候がよい場合には、移動量を少なくし、天候が悪い場合には、移動量を多くすることで気象条件に応じた適切な表現を行うことができるようになる。   First, in the method of this embodiment, in order to express that the state of clouds changes according to weather conditions such as wind direction, the position of the cutting plane F in the pattern generation space is shifted as shown in FIG. The pattern appearing on the cut surface F ′ can be acquired. In this case, the X-axis direction (the direction of the vector Vx in FIG. 6B: the second coordinate axis direction) and the Z-axis direction (the direction of the vector Vz in FIG. 6B: the third coordinate axis direction) according to the passage of time. The position of the cutting plane F can be moved along at least one of the above. In this way, an illusion that an actual wind is blowing in the object space can be given to the observer of the image. When the cut surface F is moved in the X-axis direction or the Z-axis direction, the amount of movement (the magnitudes of the vectors Vx and Vz) in each axis direction may be changed according to weather conditions and the like. . For example, when the weather is good, the amount of movement can be reduced, and when the weather is bad, the amount of movement can be increased to perform appropriate expression according to the weather conditions.

また本実施形態の手法では、パターンのランダム性を向上させるため、図7に示すように、複数の切断面F1、F2に現れるパーリンノイズのパターンP1、P2を合成する手法を採用している。   Further, in the method of this embodiment, in order to improve the randomness of the pattern, as shown in FIG. 7, a method of synthesizing the Perlin noise patterns P1 and P2 appearing on the plurality of cut surfaces F1 and F2 is adopted.

具体的には、パターン生成空間上での切断面の広さ(面積)をスケーリングパラメータを用いてスケーリングすることにより、複数の広さが異なる切断面F1、F2に現れるノイズパターンを同一サイズのフィールドに落とし込むことによってノイズパターンP1、P2を得る。次に、ノイズパターンP1、P2を、例えば加算合成するなどして合成ノイズパターンSPを得る。このときノイズパターンP1、P2のそれぞれに合成の強さとして、互いに異なる合成率パラメータを乗算することで、表現したい雲の形態に合わせて各ノイズパターンの影響度を調整している。例えば、比較的はっきりとした形状の雲を表現したい場合には、図7に示す例では、ノイズパターンP1の合成率パラメータを高めに設定すればよく、また例えば、まだらに広がって形状のあいまいな雲を表現したい場合には、図7に示す例では、ノイズパターンP2の合成率パラメータを高めに設定すればよい。   Specifically, by scaling the width (area) of the cut surface in the pattern generation space using the scaling parameter, the noise patterns appearing on the cut surfaces F1 and F2 having a plurality of different widths are the same size field. Noise patterns P1 and P2 are obtained. Next, the noise pattern P1, P2 is added and synthesized, for example, to obtain a synthesized noise pattern SP. At this time, each noise pattern P1 and P2 is multiplied by a different synthesis rate parameter as the synthesis strength, thereby adjusting the degree of influence of each noise pattern in accordance with the cloud form to be expressed. For example, when it is desired to express a cloud with a relatively clear shape, in the example shown in FIG. 7, the synthesis rate parameter of the noise pattern P1 may be set to a high value. When it is desired to express a cloud, in the example shown in FIG. 7, the synthesis rate parameter of the noise pattern P2 may be set higher.

また本実施形態では、雲の形状を最終的に決定するパラメータとしてしきい値パラメータを用意しており、このしきい値パラメータを利用して合成ノイズパターンSPに対してフィルタリングを行う手法を採用している。具体的には、図8に示すように、合成ノイズパターンSPのノイズの濃さNの中からしきい値パラメータNth以下の領域を所与の値(例えば、0)にクランプすることで雲パターンCPを求めて雲の形状を決定する。各パターンにおけるノイズの濃さNの分布はノイズ関数(ランダム関数)によりランダムに変化するものであるので、しきい値パラメータを変化させることで、気象条件など状況に応じた雲の形状を持った雲パターンCPを得ることができるようになる。例えば、しきい値パラメータNthを低くすれば、広範囲にわたって空が雲に覆われている様子を表現する雲パターンCPを得ることができ、しきい値パラメータNthを高くすれば、雲がまだらに散在する様子を表現する雲パターンCPを得ることができる。また、しきい値パラメータNthも時間経過などに応じて変化させれば、より自然環境に近い上空の雲の様子をシミュレートすることができる。なおしきい値パラメータNthを用いたフィルタリングは合成ノイズパターンSPに対して行うばかりでなく、パターン生成空間の切断面に現れるノイズパターンPに対して個別に行うようにしてもよい。   In this embodiment, a threshold parameter is prepared as a parameter for finally determining the cloud shape, and a method of filtering the synthesized noise pattern SP using the threshold parameter is adopted. ing. Specifically, as shown in FIG. 8, a cloud pattern is obtained by clamping an area equal to or less than the threshold parameter Nth from the noise density N of the synthesized noise pattern SP to a given value (for example, 0). CP is determined to determine the cloud shape. Since the distribution of the noise density N in each pattern changes randomly according to the noise function (random function), it has a cloud shape according to the situation such as weather conditions by changing the threshold parameter. A cloud pattern CP can be obtained. For example, if the threshold parameter Nth is lowered, a cloud pattern CP that expresses how the sky is covered over a wide range can be obtained, and if the threshold parameter Nth is increased, the clouds are scattered. It is possible to obtain a cloud pattern CP that expresses how to do. Further, if the threshold parameter Nth is also changed according to the passage of time or the like, it is possible to simulate the state of clouds above the natural environment. The filtering using the threshold parameter Nth may be performed not only on the synthesized noise pattern SP but also individually on the noise pattern P appearing on the cut surface of the pattern generation space.

次に図9〜図11を参照しながら、本実施形態の手法で行っている雲の色の決定手法について説明する。   Next, a cloud color determination method performed by the method of the present embodiment will be described with reference to FIGS.

まず本実施の形態では、図9(A)に示すように、雲の色(R、G、B)と雲の透明度(A:α値)との対応関係が設定されたカラールックアップテーブル(CLUT)を用意している。カラールックアップテーブルでは、256階調分の色のデータ((R、G、B)〜(R255、G255、B255))と透明度のデータ(A〜A255)とが256段階のインデックス番号(0〜255)に対応づけられている。 First, in the present embodiment, as shown in FIG. 9A, a color lookup table in which a correspondence relationship between cloud color (R, G, B) and cloud transparency (A: α value) is set ( CLUT) is prepared. In the color look-up table, 256-tone color data ((R 0 , G 0 , B 0 ) to (R 255 , G 255 , B 255 )) and transparency data (A 0 to A 255 ) are stored. Corresponding to 256-level index numbers (0 to 255).

そして本実施形態では、状況に応じて雲の色及び透明度の範囲を決めることができるようにするために、テクスチャで使用するインデックス番号の範囲を変化させる処理を行っている。   In this embodiment, in order to be able to determine the range of cloud color and transparency according to the situation, processing for changing the range of index numbers used in the texture is performed.

具体的には、ダイナミックレンジパラメータ(第1の色範囲指定パラメータ)とオフセットパラメータ(第2の色範囲指定パラメータ)とを用いて図5〜図8までの処理により得られた雲パターンCPにおけるノイズの濃さNをインデックス番号に変換する処理を行っている。ダイナミックレンジパラメータ及びオフセットパラメータは、オブジェクト空間内での経過時間、気象条件、発生イベント等、様々な要因に基づいて変動させることができる。このようにすれば、状況に応じて雲の色や透明度を柔軟に変化させることができるため、リアルな雲を表現することができるようになり利便性が高い。   Specifically, the noise in the cloud pattern CP obtained by the processes of FIGS. 5 to 8 using the dynamic range parameter (first color range specifying parameter) and the offset parameter (second color range specifying parameter). The process of converting the density N of the image into an index number is performed. The dynamic range parameter and the offset parameter can be changed based on various factors such as an elapsed time in the object space, a weather condition, and an occurrence event. In this way, since the color and transparency of the cloud can be flexibly changed according to the situation, a realistic cloud can be expressed, which is highly convenient.

具体的には、図9(B)に示すように、雲パターンCPにおけるノイズの濃さNを所与の値域(例えば、0〜1の範囲)に正規化してからダイナミックレンジパラメータを乗算することで、雲の色や透明度を如何なる変化幅で変化させるかを決める色の帯域(ダイナミックレンジ)を決定する。例えば、正規化された0〜1の範囲に対してダイナミックレンジパラメータとして128を乗算すると、0〜128という129段階のインデックス番号をノイズの濃さNに対応づけることができる。これにより仮のインデックス番号を決めることができる。   Specifically, as shown in FIG. 9B, the noise density N in the cloud pattern CP is normalized to a given range (for example, a range of 0 to 1) and then multiplied by the dynamic range parameter. Then, a color band (dynamic range) that determines how much the color and transparency of the cloud are changed is determined. For example, when the normalized range of 0 to 1 is multiplied by 128 as the dynamic range parameter, an index number of 129 levels of 0 to 128 can be associated with the noise density N. Thereby, a temporary index number can be determined.

次にオフセットパラメータでインデックス番号の初期値をオフセットする。例えば、オフセットパラメータが20である場合には、0〜128の仮のインデックス番号は、20〜148にオフセットされる。こうして得られたオフセット後のインデックス番号をテクセルの値として設定することによりインデックステクスチャTEX(雲パターンテクスチャ)を得ることができる。なおインデックス番号を求める際には、オフセットによってカラールックアップテーブル(CLUT)に対応づけられている256段階のインデックス番号の範囲を越えることがないように、オフセット後のインデックス番号は、最小値が0を下回る場合には、0でクランプされ、最大値が255を上回る場合には、255でクランプされるようにする。   Next, the initial value of the index number is offset with the offset parameter. For example, when the offset parameter is 20, the temporary index numbers 0 to 128 are offset to 20 to 148. An index texture TEX (cloud pattern texture) can be obtained by setting the offset index number obtained in this way as a texel value. When obtaining an index number, the index number after the offset has a minimum value of 0 so as not to exceed the range of the 256-level index number associated with the color look-up table (CLUT) by the offset. Is clamped at 0, and if the maximum is above 255, it is clamped at 255.

そして図10に示すように、雲パターンCPから得たインデックステクスチャTEXをカラールックアップテーブル(CLUT)を参照しながら、雲オブジェクトCOB(頂点V1〜V4からなる矩形ポリゴン)にテクスチャマッピングを施すことでリアルタイムに変化する雲の様子を表現することができる。   Then, as shown in FIG. 10, the index texture TEX obtained from the cloud pattern CP is subjected to texture mapping on the cloud object COB (rectangular polygon composed of vertices V1 to V4) while referring to the color look-up table (CLUT). It is possible to express the state of clouds changing in real time.

また本実施形態では、雲オブジェクトCOBを照明する光源LSの色あるいは明るさを状況に応じて変化させている。例えば、オブジェクト空間内での時間の経過状態(朝、昼、夜など)、気象条件(晴れ、曇り、雨など)、あるいは光源LSの高さ(太陽の高さ)などに応じて光源LSの色や明るさを変えて雲オブジェクトCOBのシェーディングを行うことで、朝焼けや夕焼けによって赤く染まった雲などを表現することができるようになる。また上述した場合に限られず、オブジェクト空間内で発生するイベント(例えば、特殊なキャラクタの登場シーン)などに応じてその演出効果を高めるために、光源LSの色を変えるようにしてもよい。さらに雲の量や雲の厚みなどをパラメータとして用意しておき、これに応じてパターン生成空間に発生させるノイズのパターンを変化させるような場合に、その雲の量や雲の厚みに相当するパラメータに応じて光源LSの色あるいは明るさを変化させるようにしてもよい。天気が晴れで雲の量が少ないときには環境光を明るく設定し、天気が曇りや雨で雲の量が多いときには環境光を暗く設定することにより、気象条件に合わせたオブジェクト空間内の明るさを表現することができる。   In the present embodiment, the color or brightness of the light source LS that illuminates the cloud object COB is changed according to the situation. For example, the time of the light source LS in the object space (morning, noon, night, etc.), weather conditions (sunny, cloudy, rain, etc.), the height of the light source LS (sun height), etc. By shading the cloud object COB by changing the color and brightness, it becomes possible to express a cloud dyed red due to sunrise or sunset. In addition, the color of the light source LS may be changed in order to enhance the effect according to an event (for example, an appearance scene of a special character) that occurs in the object space. Furthermore, when the amount of clouds and cloud thickness are prepared as parameters and the noise pattern generated in the pattern generation space is changed accordingly, parameters corresponding to the cloud amount and cloud thickness are set. The color or brightness of the light source LS may be changed according to the above. When the weather is fine and the amount of clouds is low, the ambient light is set brighter, and when the weather is cloudy or rainy and the amount of clouds is high, the ambient light is set darker to adjust the brightness in the object space according to the weather conditions. Can be expressed.

以上に説明した本実施形態の雲の表現手法では、以下のような特徴を有することにより、リアルタイムに変化する雲を表現することができる。   The cloud expression method of the present embodiment described above can express a cloud that changes in real time by having the following characteristics.

まず時間パラメータと所与のパターン生成空間に発生させたパーリンノイズのパターンとに基づいて雲の濃さを示すパターンを求めている。具体的には、パターン生成空間のXZ平面に沿った断面に現れるパターンを求めている。断面のY座標を時間パラメータにより変化させることで、時間経過に応じて断面に現れるパターンが変化する。   First, a pattern indicating cloud density is obtained based on a time parameter and a pattern of Perlin noise generated in a given pattern generation space. Specifically, a pattern appearing in a cross section along the XZ plane of the pattern generation space is obtained. By changing the Y coordinate of the cross section according to the time parameter, the pattern appearing on the cross section changes with time.

次に、パターン生成空間のどこを切り取るかを決めるパラメータとしてスケーリングパラメータが用意されており、スケーリングパラメータを利用してパターン生成空間上での広さが異なる複数の断面を取得して、各断面から得られる雲の濃さパターンを合成して1の合成パターンを求めている。   Next, a scaling parameter is prepared as a parameter for deciding where to cut out the pattern generation space. By using the scaling parameter, multiple cross sections with different sizes on the pattern generation space are obtained, and The resultant cloud density pattern is synthesized to obtain one synthesized pattern.

次に、複数の雲の濃さパターンを合成する際の合成の強さ(合成比率)として、各パターンに異なるパワーパラメータを乗算してから合成している。   Next, as a combination strength (combination ratio) when combining a plurality of cloud density patterns, the patterns are combined after being multiplied by different power parameters.

次に、しきい値パラメータが用意されていて、しきい値パラメータに基づいて雲の濃さパターンの中から薄い部分をクランプすることでフィルタリングを行って雲の最終形状を決定している。   Next, threshold parameters are prepared, and the final shape of the cloud is determined by performing filtering by clamping a thin portion from the cloud density pattern based on the threshold parameter.

次に、雲の色及び透明度の変化範囲を決めるダイナミックレンジパラメータ及びオフセットパラメータが用意されていて、ダイナミックレンジパラメータ及びオフセットパラメータに基づいて、雲の濃さパターン(合成パターンでもよい)をインデックステクスチャ(雲パターンテクスチャ)に変換している。これにより雲の基本色の変化範囲が状況に応じて可変できる。そして、矩形の雲ポリゴンに、予め用意したカラールックアップテーブル(CLUT)を参照しながら、インデックスカラーテクスチャマッピングを行うことにより、様々な状況に応じた雲の色を表現している。   Next, dynamic range parameters and offset parameters that determine the change range of cloud color and transparency are prepared, and based on the dynamic range parameters and offset parameters, the cloud density pattern (which may be a composite pattern) is converted into an index texture ( Cloud pattern texture). Thereby, the change range of the basic color of the cloud can be changed according to the situation. Then, an index color texture mapping is performed on the rectangular cloud polygon while referring to a color look-up table (CLUT) prepared in advance, thereby expressing cloud colors according to various situations.

雲ポリゴンのシェーディングを行うに際して、環境光(アンビエント)の色や明るさをイベントや時間等に応じて変化させている。こうすることで、例えば夕焼けや朝日などによって赤色やオレンジ色に染められた雲を表現することができる。   When shading a cloud polygon, the color and brightness of ambient light (ambient) are changed according to an event, time, and the like. By doing so, it is possible to express a cloud dyed in red or orange by, for example, sunset or sunrise.

3.本実施形態の処理
次に、本実施形態の詳細な処理例について図12のフローチャートを用いて説明する。
3. Processing of this embodiment Next, a detailed processing example of this embodiment will be described with reference to the flowchart of FIG.

まずパーリンノイズを発生させたパターン生成空間(X,Y,Z)を設定し、時間Tに応じてY座標を決定することにより、決定されたY座標における切断面(XZ平面)に基づいて2種類のノイズパターンP1、P2を求める(ステップS10)。ノイズパターンP1,P2は、図7に示すように、パターン生成空間上での広さが異なる切断面に現れるパターンを同一フィールドにスケーリング(拡大あるいは縮小)したものである。   First, the pattern generation space (X, Y, Z) in which Perlin noise is generated is set, and the Y coordinate is determined according to the time T, so that 2 based on the cut surface (XZ plane) at the determined Y coordinate. Kinds of noise patterns P1 and P2 are obtained (step S10). As shown in FIG. 7, the noise patterns P1 and P2 are obtained by scaling (enlarging or reducing) a pattern appearing on a cut surface having a different area on the pattern generation space to the same field.

次に、ノイズパターンP1に合成率A1を乗算し、ノイズパターンP2に合成率A2を乗算した上で、図7に示すようにノイズパターンP1、P2を合成する(ステップS11)。   Next, the noise pattern P1 is multiplied by the synthesis rate A1, the noise pattern P2 is multiplied by the synthesis rate A2, and then the noise patterns P1 and P2 are synthesized as shown in FIG. 7 (step S11).

次に、ノイズパターンP1、P2を合成して得られる合成パターンSPを、図8に示したように、しきい値Nthでフィルタリングして雲パターンCPを求めて、雲の形状を決定する(ステップS12)。   Next, as shown in FIG. 8, the synthesized pattern SP obtained by synthesizing the noise patterns P1 and P2 is filtered with the threshold value Nth to obtain the cloud pattern CP, and the cloud shape is determined (step). S12).

次に、図9(B)に示すように、ダイナミックレンジパラメータとオフセットパラメータとに基づいて、雲パターンCPにおける最終的なノイズの濃さNをインデックス番号に変換したインデックステクスチャTEXを生成する(ステップS13)。   Next, as shown in FIG. 9B, based on the dynamic range parameter and the offset parameter, an index texture TEX is generated by converting the final noise density N in the cloud pattern CP into an index number (step). S13).

次に、仮想カメラと共にオブジェクト空間内を移動する天球オブジェクト内の所定位置に矩形の雲ポリゴン(雲オブジェクトCOB)を設定して、雲ポリゴンに対する環境光(アンビエント)の影響を計算する(ステップS14)。   Next, a rectangular cloud polygon (cloud object COB) is set at a predetermined position in the celestial sphere object moving in the object space together with the virtual camera, and the influence of ambient light (ambient) on the cloud polygon is calculated (step S14). .

最後に、雲ポリゴンに対して、雲の色(R、G、B)及び透明度(A)を設定したカラールックアップテーブル(CLUT)を参照しながら、インデックステクスチャTEX(雲パターンテクスチャ)をテクスチャマッピングして、雲ポリゴンを描画することにより(ステップS15)、雲の画像を得ることができる。   Finally, with reference to a color look-up table (CLUT) in which cloud colors (R, G, B) and transparency (A) are set for cloud polygons, index texture TEX (cloud pattern texture) is texture-mapped. Then, by drawing a cloud polygon (step S15), a cloud image can be obtained.

4.ハードウェア構成
図13に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動あるいは動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
4). Hardware Configuration FIG. 13 shows an example of a hardware configuration that can realize this embodiment. The main processor 900 operates based on a program stored in a DVD 982 (information storage medium, which may be a CD), a program downloaded via the communication interface 990, a program stored in the ROM 950, or the like. Perform processing, sound processing, etc. The coprocessor 902 assists the processing of the main processor 900, and executes matrix operation (vector operation) at high speed. For example, when a matrix calculation process is required for a physical simulation for moving or moving an object, a program operating on the main processor 900 instructs (requests) the process to the coprocessor 902.

ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセラレートしたりする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。   The geometry processor 904 performs geometry processing such as coordinate conversion, perspective conversion, light source calculation, and curved surface generation based on an instruction from a program operating on the main processor 900, and executes matrix calculation at high speed. The data decompression processor 906 performs decoding processing of the compressed image data and sound data, and accelerates the decoding processing of the main processor 900. Thereby, a moving image compressed by the MPEG method or the like can be displayed on the opening screen or the game screen.

描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。   The drawing processor 910 executes drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces. When drawing an object, the main processor 900 uses the DMA controller 970 to pass the drawing data to the drawing processor 910 and, if necessary, transfers the texture to the texture storage unit 924. Then, the drawing processor 910 draws the object in the frame buffer 922 while performing hidden surface removal using a Z buffer or the like based on the drawing data and texture. The drawing processor 910 also performs α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When a programmable shader such as a vertex shader or a pixel shader is installed, the vertex data is created / changed (updated) and the drawing color of a pixel (or fragment) is determined according to the shader program. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.

サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。   The sound processor 930 includes a multi-channel ADPCM sound source and the like, generates game sounds such as BGM, sound effects, and sounds, and outputs them through the speaker 932. Data from the game controller 942 and the memory card 944 is input via the serial interface 940.

ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。   The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950. The RAM 960 is a work area for various processors. The DMA controller 970 controls DMA transfer between the processor and the memory. The DVD drive 980 (may be a CD drive) accesses a DVD 982 (may be a CD) in which programs, image data, sound data, and the like are stored. The communication interface 990 performs data transfer with the outside via a network (communication line, high-speed serial bus).

なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。   The processing of each unit (each unit) in this embodiment may be realized entirely by hardware, or may be realized by a program stored in an information storage medium or a program distributed via a communication interface. Also good. Alternatively, it may be realized by both hardware and a program.

そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。   When the processing of each part of this embodiment is realized by both hardware and a program, a program for causing the hardware (computer) to function as each part of this embodiment is stored in the information storage medium. More specifically, the program instructs the processors 902, 904, 906, 910, and 930, which are hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930 realizes the processing of each unit of the present invention based on the instruction and the passed data.

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。   The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced with broad or synonymous terms in other descriptions in the specification or drawings.

また雲情報の演算手法や雲情報をオブジェクトに反映させる手法は、上記実施形態で説明したものに限らず、上記手法と均等な手法を用いてもよい。   The cloud information calculation method and the method for reflecting the cloud information to the object are not limited to those described in the above embodiment, and a method equivalent to the above method may be used.

また上記実施形態では、パターン生成空間の切断面に現れるパターンを利用して雲オブジェクトに貼り付けられる雲パターンテクスチャを生成する場合について説明したが、パターン生成空間の切断面に現れるパターンを利用して雲パーティクルを生成して、雲パーティクルの集合体によって雲オブジェクトを構成するような場合にも適用することが可能である。   In the above embodiment, the case where the cloud pattern texture to be pasted on the cloud object is generated using the pattern appearing on the cut surface of the pattern generation space, but the pattern appearing on the cut surface of the pattern generation space is used. The present invention can also be applied to a case where cloud particles are generated and a cloud object is configured by an aggregate of cloud particles.

また上記実施形態では、雲オブジェクトに対して雲パターンに基づいて生成されたテクスチャをマッピングする場合を例に取り説明したが、そのテクスチャを天球オブジェクトに対してマッピングするようにしてもよい。   Moreover, although the case where the texture produced | generated based on the cloud pattern was mapped with respect to the cloud object was demonstrated to the example in the said embodiment, you may make it map the texture with respect to a celestial sphere object.

また上記実施形態では、雲を表現する手法について説明したが、本実施の形態で示した手法は、フォグ処理に適用してもよい。例えば、パターン生成空間の切断面に現れるパターンをフォグのむら(不均一性)を表現するための情報として利用することができる。   In the above-described embodiment, a method for expressing a cloud has been described. However, the method described in this embodiment may be applied to fog processing. For example, a pattern appearing on the cut surface of the pattern generation space can be used as information for expressing fog unevenness (non-uniformity).

また本発明は種々のゲーム(アクションゲーム、レーシングゲーム、格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、シミュレーションゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   The present invention can be applied to various games (action game, racing game, fighting game, shooting game, robot battle game, sports game, competition game, role playing game, simulation game, music playing game, dance game, etc.). The present invention is also applicable to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, a system board for generating game images, and a mobile phone. it can.

本実施形態の画像生成システムの機能ブロック図。The functional block diagram of the image generation system of this embodiment. 本実施形態の手法を適用して生成した画像の例。The example of the image produced | generated by applying the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の手法を説明するための図。The figure for demonstrating the method of this embodiment. 本実施形態の具体的な処理の例を示すフローチャート。The flowchart which shows the example of the specific process of this embodiment. ハードウェア構成の例。An example of a hardware configuration.

符号の説明Explanation of symbols

COB 雲オブジェクト、
CLUT カラールックアップテーブル、
TEX テクスチャ(インデックステクスチャ)、
100 処理部、
110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、116 雲情報演算部、118 光源情報設定部、
120 描画部、130 音生成部、
160 操作部、170 記憶部、
172 主記憶部、174 描画バッファ、176 オブジェクトデータ記憶部、
178 テクスチャ記憶部、179 カラーパレット記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部
COB cloud object,
CLUT color lookup table,
TEX texture (index texture),
100 processing unit,
110 Object space setting unit, 112 Movement / motion processing unit,
114 virtual camera control unit, 116 cloud information calculation unit, 118 light source information setting unit,
120 drawing units, 130 sound generation units,
160 operation unit, 170 storage unit,
172 Main storage unit, 174 drawing buffer, 176 object data storage unit,
178 texture storage unit, 179 color palette storage unit,
180 information storage medium, 190 display unit, 192 sound output unit,
194 Portable information storage device, 196 communication unit

Claims (10)

オブジェクト空間における所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間に対して雲オブジェクトを設定するオブジェクト空間設定部と、
パターン生成空間に所与のランダムパターンを発生させ、発生させたランダムパターンに基づいて雲情報を演算する雲情報演算部と、
求められた雲情報を反映させた雲オブジェクトを描画する描画部として、
コンピュータを機能させ、
前記雲情報演算部が、
前記パターン生成空間を切断する切断面の位置を、時間経過に応じて第1の座標軸に沿って変化させることにより、前記パターン生成空間の切断面に現れるパターンを変化させるともに、
前記パターン生成空間の切断面に現れるパターンに基づいて前記雲情報を求めることを特徴とするプログラム。
A program for generating an image viewed from a given viewpoint in an object space,
An object space setting unit for setting a cloud object with respect to the object space;
A cloud information calculation unit that generates a given random pattern in the pattern generation space and calculates cloud information based on the generated random pattern;
As a drawing unit that draws cloud objects reflecting the obtained cloud information,
Make the computer work,
The cloud information calculation unit,
While changing the position of the cut surface that cuts the pattern generation space along the first coordinate axis over time, the pattern appearing on the cut surface of the pattern generation space is changed,
A program for obtaining the cloud information based on a pattern appearing on a cut surface of the pattern generation space.
請求項1において、
前記雲情報演算部が、
所与のスケーリングパラメータに基づいて前記パターン生成空間上での広さが異なる複数の切断面に現れるパターンを取得するともに、
前記複数の切断面に現れるパターンを合成した合成パターンに基づいて前記雲情報を求めることを特徴とするプログラム。
In claim 1,
The cloud information calculation unit,
While obtaining a pattern appearing in a plurality of cut surfaces having different widths on the pattern generation space based on a given scaling parameter,
A program for obtaining the cloud information based on a composite pattern obtained by combining patterns appearing on the plurality of cut surfaces.
請求項2において、
前記雲情報演算部が、
前記複数の切断面に現れるパターンを合成する際に、各パターンに対して異なる合成率パラメータを乗算してから合成することを特徴とするプログラム。
In claim 2,
The cloud information calculation unit,
When synthesizing patterns appearing on the plurality of cut surfaces, the program is synthesized after multiplying each pattern by a different synthesis rate parameter.
請求項1において、
前記雲情報演算部が、
所与のしきい値パラメータに基づいて前記パターン生成空間の切断面に現れるパターンに対してフィルタリングを行うことにより雲の形状を決定することを特徴とするプログラム。
In claim 1,
The cloud information calculation unit,
A program for determining a cloud shape by filtering a pattern appearing on a cut surface of the pattern generation space based on a given threshold parameter.
請求項2又は3において、
前記雲情報演算部が、
所与のしきい値パラメータに基づいて前記合成パターンに対してフィルタリングを行うことにより雲の形状を決定すること特徴とするプログラム。
In claim 2 or 3,
The cloud information calculation unit,
A program for determining a cloud shape by performing filtering on the synthesized pattern based on a given threshold parameter.
請求項1〜5のいずれかにおいて、
前記雲情報演算部が、
前記パターン生成空間の切断面の位置を前記第1の座標軸とは異なる第2の座標軸及び第3の座標軸の少なくとも一方に沿って変動させることにより、前記パターン生成空間の切断面に現れるパターンを変化させることを特徴とするプログラム。
In any one of Claims 1-5,
The cloud information calculation unit,
By changing the position of the cut surface of the pattern generation space along at least one of the second coordinate axis and the third coordinate axis different from the first coordinate axis, the pattern appearing on the cut surface of the pattern generation space is changed. A program characterized by letting
請求項1〜6のいずれかにおいて、
雲の色及び透明度の少なくとも一方とインデックス番号との対応関係を設定したカラールックアップテーブルが用意されており、
前記描画部が、
所与の色範囲指定パラメータと前記雲情報とに基づいて得られるインデックス番号をテクセルに設定したインデックステクスチャを作成し、
前記雲オブジェクトに対して前記カラールックアップテーブルを参照しながら前記インデックステクスチャをマッピングすることを特徴とするプログラム。
In any one of Claims 1-6,
There is a color lookup table that sets the correspondence between at least one of cloud color and transparency and index number.
The drawing unit
Create an index texture with the texel set as the index number obtained based on the given color range specification parameter and the cloud information,
The index texture is mapped to the cloud object while referring to the color lookup table.
請求項1〜7のいずれかにおいて、
前記オブジェクト空間内に設定される光源の光源情報を設定する光源情報設定部としてコンピュータを機能させ、
前記光源情報設定部が、
前記オブジェクト空間内での気象条件、経過時間、及び発生イベントの少なくともいずれか一つに応じて、前記光源情報のうち前記雲オブジェクトを照明する光源の色及び明るさの少なくとも一方を変化させることを特徴とするプログラム。
In any one of Claims 1-7,
Causing a computer to function as a light source information setting unit for setting light source information of a light source set in the object space;
The light source information setting unit is
Changing at least one of the color and brightness of the light source that illuminates the cloud object in the light source information according to at least one of weather conditions, elapsed time, and occurrence event in the object space. A featured program.
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1〜8のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。   An information storage medium readable by a computer, wherein the program according to any one of claims 1 to 8 is stored. オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間に対して雲オブジェクトを設定するオブジェクト空間設定部と、
パターン生成空間に所与のランダムパターンを発生させ、発生させたランダムパターンに基づいて雲情報を演算する雲情報演算部と、
求められた雲情報を反映させた雲オブジェクトを描画する描画部と、
を含み、
前記雲情報演算部が、
前記パターン生成空間を切断する切断面の位置を、時間経過に応じて第1の座標軸に沿って変化させることにより、前記パターン生成空間の切断面に現れるパターンを変化させるともに、
前記パターン生成空間の切断面に現れるパターンに基づいて前記雲情報を求めることを特徴とする画像生成システム。
An image generation system for generating an image viewed from a given viewpoint in an object space,
An object space setting unit for setting a cloud object with respect to the object space;
A cloud information calculation unit that generates a given random pattern in the pattern generation space and calculates cloud information based on the generated random pattern;
A drawing section for drawing a cloud object reflecting the obtained cloud information;
Including
The cloud information calculation unit,
While changing the position of the cut surface that cuts the pattern generation space along the first coordinate axis over time, the pattern appearing on the cut surface of the pattern generation space is changed,
An image generation system, wherein the cloud information is obtained based on a pattern appearing on a cut surface of the pattern generation space.
JP2005361783A 2005-12-15 2005-12-15 Program, information storage medium, and image generation system Expired - Fee Related JP4651527B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005361783A JP4651527B2 (en) 2005-12-15 2005-12-15 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005361783A JP4651527B2 (en) 2005-12-15 2005-12-15 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2007164582A true JP2007164582A (en) 2007-06-28
JP4651527B2 JP4651527B2 (en) 2011-03-16

Family

ID=38247387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005361783A Expired - Fee Related JP4651527B2 (en) 2005-12-15 2005-12-15 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP4651527B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033285A (en) * 2008-07-28 2010-02-12 Namco Bandai Games Inc Program, information storage medium, and image generation system
JP2017148208A (en) * 2016-02-24 2017-08-31 株式会社カプコン Game program and game system
JP2018067060A (en) * 2016-10-17 2018-04-26 俊八 生田 Stereoscopic composite-reality sense providing program for virtual three-dimensional (3d) model
WO2022085479A1 (en) * 2020-10-23 2022-04-28 ソニーセミコンダクタソリューションズ株式会社 Information processing device, information processing method, and program
JP7398933B2 (en) 2019-11-20 2023-12-15 株式会社Cygames Processing equipment, processing method and program
CN117523026A (en) * 2024-01-08 2024-02-06 北京理工大学 Cloud and fog image simulation method, system, medium and terminal for infrared remote sensing imaging

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190639A (en) * 1995-01-05 1996-07-23 Toshiba Corp Cloud phenomenon visualizing device
JP2001314646A (en) * 2000-05-09 2001-11-13 Namco Ltd Game apparatus and information storage medium
JP2002183756A (en) * 2000-12-11 2002-06-28 Namco Ltd Game information, information storage medium and game device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190639A (en) * 1995-01-05 1996-07-23 Toshiba Corp Cloud phenomenon visualizing device
JP2001314646A (en) * 2000-05-09 2001-11-13 Namco Ltd Game apparatus and information storage medium
JP2002183756A (en) * 2000-12-11 2002-06-28 Namco Ltd Game information, information storage medium and game device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033285A (en) * 2008-07-28 2010-02-12 Namco Bandai Games Inc Program, information storage medium, and image generation system
JP2017148208A (en) * 2016-02-24 2017-08-31 株式会社カプコン Game program and game system
JP2018067060A (en) * 2016-10-17 2018-04-26 俊八 生田 Stereoscopic composite-reality sense providing program for virtual three-dimensional (3d) model
JP7398933B2 (en) 2019-11-20 2023-12-15 株式会社Cygames Processing equipment, processing method and program
WO2022085479A1 (en) * 2020-10-23 2022-04-28 ソニーセミコンダクタソリューションズ株式会社 Information processing device, information processing method, and program
CN117523026A (en) * 2024-01-08 2024-02-06 北京理工大学 Cloud and fog image simulation method, system, medium and terminal for infrared remote sensing imaging
CN117523026B (en) * 2024-01-08 2024-03-29 北京理工大学 Cloud and fog image simulation method, system, medium and terminal for infrared remote sensing imaging

Also Published As

Publication number Publication date
JP4651527B2 (en) 2011-03-16

Similar Documents

Publication Publication Date Title
JP4651527B2 (en) Program, information storage medium, and image generation system
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP2007140842A (en) Program, information storage medium, and image generation system
JP2006252426A (en) Program, information storage medium, and image generation system
JP4827250B2 (en) Program, information storage medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4073031B2 (en) Program, information storage medium, and image generation system
JP4913399B2 (en) Program, information storage medium, and image generation system
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4861862B2 (en) Program, information storage medium, and image generation system
JP4488346B2 (en) Program, information storage medium, and image generation system
JP2007272388A (en) Program, information storage medium and image generation system
JP4574058B2 (en) Image generation system, program, and information storage medium
US7724255B2 (en) Program, information storage medium, and image generation system
JP4592087B2 (en) Image generation system, program, and information storage medium
JP2004334801A (en) Image-generating system, program, and information storage medium
JP2007164736A (en) Image generation system, program and information storage medium
JP4476040B2 (en) Program, information storage medium, and image generation system
JP2010033295A (en) Image generation system, program and information storage medium
JP2008077406A (en) Image generation system, program, and information storage medium
JP2006277488A (en) Program, information storage medium and image generation system
JP2006252423A (en) Program, information storage medium and image generation system
JP2006318386A (en) Program, information storage medium, and image forming system
JP2007272389A (en) Program, information storage medium and image generation system
JP2006252425A (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

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: 20101208

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: 20101214

R150 Certificate of patent or registration of utility model

Ref document number: 4651527

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: 20131224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

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

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

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