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

Program, information storage medium, and image generation system Download PDF

Info

Publication number
JP4651436B2
JP4651436B2 JP2005102903A JP2005102903A JP4651436B2 JP 4651436 B2 JP4651436 B2 JP 4651436B2 JP 2005102903 A JP2005102903 A JP 2005102903A JP 2005102903 A JP2005102903 A JP 2005102903A JP 4651436 B2 JP4651436 B2 JP 4651436B2
Authority
JP
Japan
Prior art keywords
vertex
deposit
model
event
information
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
Application number
JP2005102903A
Other languages
Japanese (ja)
Other versions
JP2006285510A (en
Inventor
高橋  毅
将人 相川
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.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
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 Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2005102903A priority Critical patent/JP4651436B2/en
Publication of JP2006285510A publication Critical patent/JP2006285510A/en
Application granted granted Critical
Publication of JP4651436B2 publication Critical patent/JP4651436B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

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.

このような画像生成システムでは、プレーヤの仮想現実感を高めるために、例えば雪や灰などが降り積もる様子についてもリアルに表現できることが望ましい。しかしながら、従来の技術では、時事刻々と堆積量が変化するようなモデルをリアルに表現するためには、変化の態様ごとに堆積物表現用のモデルデータを用意しておくことが必要であったため、堆積量の変化のリアルタイム性を追求すると、予め用意するモデルデータの量が莫大なものとなってしまい、現実的ではない。   In such an image generation system, in order to enhance the virtual reality of the player, it is desirable to be able to realistically express how snow, ash, and the like accumulate, for example. However, in the prior art, in order to realistically represent a model in which the deposition amount changes from moment to moment, it was necessary to prepare model data for deposit representation for each mode of change. If the real-time property of the change in the deposition amount is pursued, the amount of model data prepared in advance becomes enormous, which is not realistic.

本発明は、上記事情に鑑みてなされたものであり、その目的は、少ないデータ量で堆積物の量的変化をリアルに表現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a program, an information storage medium, and an image generation system capable of realistically expressing a quantitative change in deposits with a small amount of data. It is in.

(1)本発明は、画像を生成するための画像生成システムであって、オブジェクト空間において堆積物の堆積量が増加する堆積イベントが発生したか否かを判定するイベント判定部と、前記堆積イベントが発生したと判定された場合に、前記堆積物モデルの元オブジェクトの頂点データを変更する頂点シェーディングを行い、頂点シェーディング後の頂点データに基づいて、前記オブジェクト空間を所与の視点から見た画像を生成する画像生成部と、を含み、前記画像生成部が、時間経過に伴って変動する頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を堆積方向に移動させる頂点シェーディングを行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータにより読取可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   (1) The present invention is an image generation system for generating an image, wherein an event determination unit that determines whether or not a deposition event in which a deposition amount of a deposit increases in an object space has occurred, and the deposition event When it is determined that the object has occurred, vertex shading is performed to change the vertex data of the original object of the deposit model, and the object space is viewed from a given viewpoint based on the vertex data after the vertex shading. An image generation unit that generates a vertex shading that moves the vertices of the original object of the deposit model in the deposition direction based on the vertex movement information that fluctuates over time. Related to image generation system. The present invention also relates to a program that causes a computer to function as each of the above-described units. The present invention also relates to an information storage medium that can be read by a computer, and stores (records) a program that causes the computer to function as each of the above-described units.

頂点移動情報とは、オブジェクトを構成する頂点の移動量や頂点の移動方向を決めるパラメータであって、例えば時間を引数とする関数として定義することができる。   The vertex movement information is a parameter that determines the amount of movement of the vertices constituting the object and the movement direction of the vertices, and can be defined as a function having time as an argument, for example.

また堆積方向とは、堆積物の堆積量が増加する方向、言い換えればオブジェクトの体積が増加する方向であることを意味する。また堆積方向の逆方向という場合には、堆積方向の真逆の方向であることは必要ではなく、堆積物の堆積量が減少する方向、言い換えればオブジェクトの体積が減少する方向であればよいことを意味する。   Further, the deposition direction means a direction in which the amount of deposit increases, in other words, a direction in which the volume of the object increases. In addition, when referring to the reverse direction of the deposition direction, it is not necessary to be in the opposite direction of the deposition direction, as long as it is a direction in which the amount of deposited material decreases, in other words, a direction in which the volume of the object decreases. Means.

本発明によれば、堆積物モデルの元オブジェクトを時間の経過に応じて変形させて、堆積量が増加する様子を表した画像を生成する。このため視点位置や視線方向が変わった場合であっても、堆積物の立体形状が徐々に変化していく様子が把握できるリアルな表現を行うことができる。そして共通の元オブジェクトを用いて時間経過に応じて堆積物の堆積量が変化する画像を生成することができるため、予め大量のモデルデータを用意する必要がなく、メモリの使用量を節約することができる。   According to the present invention, the original object of the deposit model is deformed with the passage of time, and an image showing how the accumulation amount increases is generated. For this reason, even when the viewpoint position and the line-of-sight direction are changed, it is possible to perform realistic expression that can grasp how the solid shape of the deposit is gradually changed. And since it is possible to generate an image in which the amount of deposits changes with the passage of time using a common source object, it is not necessary to prepare a large amount of model data in advance, thus saving memory usage Can do.

(2)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記堆積物モデルの元オブジェクトに対して、格子状に高さ情報が設定されたハイトマップデータが対応づけられており、前記画像生成部が、前記堆積物モデルの元オブジェクトに対応づけられたハイトマップデータを参照して格子点に設定された高さ情報を取得し、取得された高さ情報を含む前記頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を堆積方向に移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、時間経過による堆積物の堆積量の増加に伴って、堆積物モデルのオブジェクトを構成する頂点の位置を動的に制御して元オブジェクトを変形させることができる。   (2) In the image generation system, the program, and the information storage medium of the present invention, height map data in which height information is set in a grid pattern is associated with the original object of the deposit model, The image generation unit obtains height information set in the grid points with reference to height map data associated with the original object of the deposit model, and the vertex movement information including the obtained height information Based on this, vertex shading may be performed in which the vertex of the original object of the deposit model is moved in the accumulation direction. In this way, the original object can be deformed by dynamically controlling the positions of the vertices constituting the object of the deposit model as the deposit amount increases with time.

(3)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記堆積物モデルの元オブジェクトに対して、格子状に法線ベクトル情報が設定された法線マップデータが対応づけられており、前記画像生成部が、前記堆積物モデルの元オブジェクトに対応づけられた法線マップデータを参照して格子点に設定された法線ベクトル情報を取得し、取得された法線ベクトル情報を含む前記頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を法線ベクトルの向きに沿って移動させる頂点シェーディングを行うようにしてもよい。このようにしても、時間経過による堆積物の堆積量の増加に伴って、堆積物モデルのオブジェクトを構成する頂点の位置を動的に制御して元オブジェクトを変形させることができる。   (3) In the image generation system, the program, and the information storage medium of the present invention, normal map data in which normal vector information is set in a grid pattern is associated with the original object of the deposit model. The image generation unit obtains normal vector information set at the grid points with reference to normal map data associated with the original object of the deposit model, and includes the obtained normal vector information Based on the vertex movement information, vertex shading that moves the vertex of the original object of the deposit model along the direction of the normal vector may be performed. Even in this case, the original object can be deformed by dynamically controlling the positions of the vertices constituting the object of the deposit model as the deposit amount increases with time.

(4)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記イベント判定部が、頂点を堆積方向に移動させた堆積物モデルのオブジェクトに対し、他のオブジェクトが接触する接触イベントが発生したか否かを判定し、前記他のオブジェクトに対して、格子状に高さ情報が設定されたハイトマップデータが対応づけられており、前記画像生成部が、前記他のオブジェクトに対応づけられたハイトマップデータを参照して格子点に設定された高さ情報を取得し、取得された高さ情報に基づいて、前記堆積物モデルのオブジェクトの頂点を堆積方向とは逆の方向に移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、いったん変形させた堆積物モデルのオブジェクトを、これと接触する他のオブジェクトの形状に応じて陥没する様子をリアルに表現することができる。なお、堆積方向と逆の方向に頂点を移動させるという場合、堆積方向に対して真逆の方向に頂点を移動させる必要はなく、堆積物の堆積量が減少するように、言い換えれば堆積物モデルのオブジェクトの体積が減少するように頂点を移動させればよい。   (4) In the image generation system, program, and information storage medium of the present invention, the event determination unit generates a contact event in which another object contacts the object of the deposit model whose vertex is moved in the deposition direction. Height map data in which height information is set in a grid pattern is associated with the other object, and the image generation unit is associated with the other object. The height information set for the grid point is acquired with reference to the height map data, and the vertex of the object of the deposit model is moved in the direction opposite to the deposition direction based on the acquired height information. Vertex shading may be performed. In this way, it is possible to realistically represent a state in which the object of the deposit model once deformed is depressed according to the shape of another object in contact therewith. In addition, when moving the vertex in the direction opposite to the deposition direction, it is not necessary to move the vertex in the direction opposite to the deposition direction, so that the deposit amount is reduced, in other words, the deposit model. The vertices may be moved so that the volume of the object decreases.

(5)また本発明の画像生成システムでは、前記イベント判定部が、前記堆積物モデルのオブジェクトについて設定された第1のヒットチェック領域と前記他のオブジェクトについて設定された第2のヒットチェック領域とがオーバーラップするときに前記接触イベントが発生したと判定し、前記堆積物モデルの元オブジェクトの頂点が堆積方向に移動された場合、あるいは頂点が堆積方向に移動された前記堆積部モデルのオブジェクトの頂点が該堆積方向とは逆の方向に移動された場合に、移動後の頂点の位置に基づいて前記第1のヒットチェック領域を再設定するヒットチェック領域設定部を含んでいてもよい。また本発明のプログラム及び情報記憶媒体では、上記イベント判定部及びヒットチェック領域設定部としてコンピュータを機能させてもよい。このようにすれば、堆積物の堆積量の増加あるいは減少に伴う堆積面の位置変化の影響をヒットチェックに反映させることができる。   (5) In the image generation system of the present invention, the event determination unit includes a first hit check area set for the object of the deposit model and a second hit check area set for the other object. It is determined that the contact event has occurred when the objects overlap, and when the vertex of the original object of the deposit model is moved in the deposition direction, or the object of the deposit part model whose vertex is moved in the deposition direction A hit check area setting unit may be included that resets the first hit check area based on the position of the apex after the movement when the apex is moved in a direction opposite to the accumulation direction. In the program and information storage medium of the present invention, the computer may function as the event determination unit and the hit check area setting unit. In this way, the influence of the change in the position of the deposition surface accompanying the increase or decrease in the amount of deposit can be reflected in the hit check.

(6)また本発明の画像生成システムでは、前記堆積物モデルの元オブジェクトに堆積制限エリアを設定する堆積制限エリア設定部を含み、前記画像生成部が、前記堆積物モデルの元オブジェクトに対して前記堆積制限エリアが設定された場合に、その堆積制限エリアでの頂点の移動を制限する頂点シェーディングを行うようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記堆積制限エリア設定部及び画像生成部としてコンピュータを機能させてもよい。このようにすれば、例えば、堆積物として雪を表現する場合に、熱源に近いエリアを体積制限エリアとして設定することによって、温度の高い部分には雪が積もらないようにして、雪が降り積もるイベントをリアルに表現することができるようになる。   (6) The image generation system according to the present invention further includes a deposition restriction area setting unit that sets a deposition restriction area in the original object of the deposit model, and the image generation unit is configured for the original object of the deposit model. When the accumulation restriction area is set, vertex shading for restricting the movement of the vertex in the accumulation restriction area may be performed. In the program and the information storage medium of the present invention, a computer may function as the accumulation limited area setting unit and the image generation unit. In this way, for example, when expressing snow as sediment, an area close to the heat source is set as a volume restriction area so that snow does not accumulate in the high temperature area, and the event where snow accumulates is realistic. Can be expressed.

(7)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、前記堆積物モデルの元オブジェクトの頂点を移動させる頂点シェーディングが行われた場合に、該頂点シェーディング後の堆積物モデルのオブジェクトについてピクセル単位で画像情報を変更するピクセルシェーディングを行うようにしてもよい。このようにすれば、例えば、堆積物として雪を表現する場合に、雪の積もり具合に応じて光の反射の具合を変えるようにピクセルの色、反射率、屈折率などの画像情報を変更して、雪が降り積もるイベントをリアルに表現することができる。   (7) In the image generation system, the program, and the information storage medium of the present invention, when vertex shading is performed in which the image generation unit moves the vertex of the original object of the deposit model, You may make it perform the pixel shading which changes image information per pixel about the object of a deposit model. In this way, for example, when expressing snow as a deposit, image information such as pixel color, reflectance, and refractive index is changed to change the degree of light reflection according to the amount of snow piled up. It is possible to realistically represent an event where snow falls.

(8)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、前記堆積イベントが終了した場合に、堆積物モデルのオブジェクトの頂点を前記堆積方向とは逆の方向に移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、例えば、堆積物として雪を表現する場合に、雪が降り止んで、積もった雪に日光があたって雪が解けていく様子などをリアルに表現することができる。   (8) In the image generation system, the program, and the information storage medium of the present invention, when the deposition event ends, the image generation unit sets the vertex of the object of the deposit model in a direction opposite to the deposition direction. You may make it perform the vertex shading to move. In this way, for example, when snow is represented as a deposit, it is possible to realistically represent a state in which the snow has stopped falling and the snow has melted due to sunlight falling on the accumulated snow.

(9)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、前記堆積イベントの発生中は、第1の頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を堆積方向に移動し、前記堆積イベントの終了後は、第1の頂点移動情報と異なる第2の頂点移動情報に基づいて、頂点を堆積方向に移動させた堆積物モデルのオブジェクトの頂点を堆積方向とは逆の方向に移動する頂点シェーディングを行うようにしてもよい。このようにすれば、例えば、堆積物として雪を表現する場合に、雪が急激に降り積もる様子と、降り積もった雪が徐々に解けていく様子とでオブジェクトの変形度合いを変えてリアルに表現することができる。   (9) In the image generation system, the program, and the information storage medium of the present invention, the image generation unit is configured to store the original object of the deposit model based on the first vertex movement information during the occurrence of the accumulation event. The vertex is moved in the deposition direction, and after the deposition event is finished, the vertex of the object of the deposit model in which the vertex is moved in the deposition direction based on the second vertex movement information different from the first vertex movement information. Vertex shading that moves in the direction opposite to the deposition direction may be performed. In this way, for example, when expressing snow as a deposit, it is possible to represent the object realistically by changing the degree of deformation of the object depending on how the snow suddenly accumulates and how the accumulated snow gradually melts. .

(10)また本発明の画像生成システム、プログラム及び情報記憶媒体では前記堆積イベントの終了後に、頂点を前記堆積方向とは逆の方向に移動させた堆積物モデルのオブジェクトについてピクセル単位で画像情報を変更するピクセルシェーディングを行うようにしてもよい。このようにすれば、例えば、堆積物として雪を表現する場合に、雪解け水によって雪面が光る様子をリアルに表現することができる。   (10) In the image generation system, the program, and the information storage medium of the present invention, after the deposition event ends, image information is obtained in pixel units for the deposit model object whose vertex is moved in the direction opposite to the deposition direction. Pixel shading to be changed may be performed. In this way, for example, when snow is represented as a deposit, it is possible to realistically represent how the snow surface shines with snow melting water.

(11)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記イベント判定部が、前記オブジェクト空間において堆積物が第1のエリアから第2のエリアに移動する堆積物移動イベントが発生したか否かを判定し、前記画像生成部が、前記堆積物移動イベントが発生したと判定された場合に、前記第1のエリアでは、堆積物モデルのオブジェクトの頂点を、前記堆積方向とは逆の方向に移動させるとともに、前記第2のエリアでは、堆積物モデルのオブジェクトの頂点を堆積方向に移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、堆積物が重力に従って落下したり、滑り落ちたりする様子をリアルに表現することができる。   (11) In the image generation system, the program, and the information storage medium of the present invention, the event determination unit generates a deposit movement event in which the deposit moves from the first area to the second area in the object space. In the first area, when the image generation unit determines that the deposit movement event has occurred, the vertex of the object of the deposit model is opposite to the deposition direction. In the second area, vertex shading for moving the vertex of the object of the deposit model in the deposition direction may be performed. In this way, it is possible to realistically represent how the deposit falls or slides down according to gravity.

(12)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記堆積物モデルの元オブジェクトを分割する複数のエリアにおいて互いに異なる頂点移動情報が設定されており、前記画像生成部が、前記堆積物モデルの元オブジェクトの頂点を、前記エリアごとに設定された頂点移動情報に基づいて堆積方向に移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、堆積物の吹き溜まりなどをリアルに表現することができるようになる。   (12) In the image generation system, the program, and the information storage medium of the present invention, different vertex movement information is set in a plurality of areas that divide the original object of the deposit model, and the image generation unit You may make it perform the vertex shading which moves the vertex of the original object of a deposit model to a deposition direction based on the vertex movement information set for every said area. In this way, it becomes possible to realistically express the accumulation of deposits and the like.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   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に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
1. Configuration 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 (player character operated by the player), and the function is realized by a lever, a button, a steering, a microphone, a touch panel display, or a casing. it can. 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)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   A program (data) for causing a computer to function as each unit of the present embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (or 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内の主記憶部171をワーク領域として各種処理を行う。処理部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 171 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は、オブジェクト空間設定部111、移動・動作処理部112、仮想カメラ制御部113、イベント判定部114、ヒットチェック領域設定部115、堆積制限エリア設定部116、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes an object space setting unit 111, a movement / motion processing unit 112, a virtual camera control unit 113, an event determination unit 114, a hit check area setting unit 115, a deposition limit area setting unit 116, an image generation unit 120, and sound generation. Part 130. Note that some of these may be omitted.

オブジェクト空間設定部111は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit 111 includes various objects (primitive surfaces such as polygons, free-form surfaces, and subdivision surfaces) representing display objects such as characters, buildings, stadiums, cars, trees, columns, walls, and maps (terrain). (Object) 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.

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

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

例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部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-described control process is performed for each virtual camera.

イベント判定部114は、オブジェクト空間において堆積物の堆積量が増加する堆積イベントが発生したか否かを判定する処理を行い、その判定結果に基づいて、堆積イベント発生フラグをセットし、所与の記憶バッファにフラグを記憶させる。   The event determination unit 114 performs processing for determining whether or not a deposition event in which the amount of deposits increases in the object space has occurred, sets a deposition event occurrence flag based on the determination result, and gives a given The flag is stored in the storage buffer.

またイベント判定部114は、堆積物モデルのオブジェクトと他のオブジェクトとが接触(衝突)する接触イベント(衝突イベント)が発生したか否かを判定する処理を行い、その判定結果に基づいて、接触イベント発生フラグをセットし、所与の記憶バッファにフラグを記憶させる。具体的には、ヒットチェック領域(バウンディングボリューム、バウンディングボックスを用いたヒットチェック(ヒット判定処理)によりオブジェクト同士の接触が起きたか否かを判断する。堆積物モデルのオブジェクトについて設定された第1のヒットチェック領域と他のモデルオブジェクトについて設定された第2のヒットチェック領域との位置関係に基づいて、ヒットチェックを行い、第1のヒットチェック領域と第2のヒットチェック領域とがオーバーラップするときに接触イベントが発生したと判定する。   In addition, the event determination unit 114 performs processing for determining whether or not a contact event (collision event) in which the object of the deposit model and another object contact (collision) has occurred, and based on the determination result, the contact Sets the event occurrence flag and stores the flag in a given storage buffer. Specifically, it is determined whether or not contact between objects occurs by hit check area (hit check (hit determination process) using a bounding volume and a bounding box). The first set for the object of the deposit model When hit check is performed based on the positional relationship between the hit check area and the second hit check area set for another model object, and the first hit check area and the second hit check area overlap. It is determined that a touch event has occurred.

またイベント判定部114は、オブジェクト空間において堆積物が第1のエリアから第2のエリアに移動する堆積物移動イベント(雪崩イベント、落下イベント)が発生したか否かを判定する処理を行い、その判定結果に基づいて、堆積物移動イベント発生フラグをセットし、所与の記憶バッファにフラグを記憶させる。   In addition, the event determination unit 114 performs a process of determining whether or not a deposit movement event (avalanche event or fall event) in which the deposit moves from the first area to the second area in the object space has occurred. Based on the determination result, a sediment movement event occurrence flag is set, and the flag is stored in a given storage buffer.

なお堆積イベント、接触イベントあるいは堆積物移動イベントは、所与の条件が満たされたことによりプログラムに従って発生するものであってもよいし、プレーヤのキャラクタ操作などによりキャラクタオブジェクトを移動させるなどしてプレーヤの意思に基づき発生させることができるものであってもよい。   The accumulation event, the contact event, or the deposit movement event may be generated in accordance with a program when a given condition is satisfied, or the player moves the character object by operating the character of the player. It may be generated on the basis of the intention.

ヒットチェック領域設定部115は、後述する頂点シェーダ部122により堆積物モデルの元オブジェクトを構成する頂点群を堆積方向に移動させる頂点シェーディングが行われた場合あるいは頂点群を堆積方向に移動させた堆積物モデルのオブジェクトを構成する頂点群を堆積方向とは逆の方向に移動させる頂点シェーディングが行われた場合に、移動後の頂点群の位置に基づいて、堆積物モデル(元モデルオブジェクトあるいは頂点シェーディング後のオブジェクト)に対して設定されていた第1のヒットチェック領域を再設定(更新)する。このようにすれば、堆積物の堆積量の増加あるいは減少に伴う堆積面の位置変化の影響をヒットチェックに反映させることができる。   The hit check area setting unit 115 performs the deposition when the vertex shader 122, which will be described later, performs vertex shading that moves the vertices constituting the original object of the deposit model in the deposition direction or the vertex group is moved in the deposition direction. When vertex shading is performed to move the vertices that make up the object of the object model in the direction opposite to the deposition direction, the deposit model (original model object or vertex shading) is based on the position of the moved vertex group. The first hit check area set for the (subsequent object) is reset (updated). In this way, the influence of the change in the position of the deposition surface accompanying the increase or decrease in the amount of deposit can be reflected in the hit check.

具体的に、ヒットチェック領域設定部115は、頂点を移動させた堆積物モデルのオブジェクトに関して、頂点の位置座標の各成分(X軸成分、Y軸成分、Z軸成分)について最大値と最小値とを検索し、その最大値及び最小値からオブジェクトを包含する立方体あるいは球などの簡略化された形状のオブジェクト(ボリューム)を構成する頂点の位置座標を算出し、その簡略化されたオブジェクト(ボリューム)がオブジェクト空間において占める領域を新たなヒットチェック領域として設定する。   Specifically, the hit check area setting unit 115 has a maximum value and a minimum value for each component (X-axis component, Y-axis component, Z-axis component) of the vertex position coordinates with respect to the deposit model object whose vertex has been moved. And the position coordinates of the vertices constituting the object (volume) of a simplified shape such as a cube or a sphere containing the object are calculated from the maximum value and the minimum value, and the simplified object (volume) ) Is set as a new hit check area.

堆積制限エリア設定部116は、堆積物モデルの元オブジェクトに堆積制限エリアを設定する処理を行う。例えば、堆積物モデルの元オブジェクトについてテクセルの色情報(階調値)によって堆積制限エリアと非堆積制限エリアとを設定した堆積制限エリア設定用テクスチャを記憶部170のテクスチャ記憶部175に用意しておく。堆積制限エリア設定用テクスチャにおいて、堆積制限エリアでは、テクセルの色情報として低い輝度値(0を含む)を設定し、非堆積制限エリアではテクセルの色情報として堆積制限エリアよりも高い輝度値を設定しておく。このようにすれば、後述する頂点シェーディングの際に、堆積制限エリア設定用テクスチャを参照して堆積物の元モデルオブジェクトの各頂点とテクセルを対応付けすることによって、堆積制限エリアに属する頂点については元モデルオブジェクトの変形を制限(あるいは禁止)することができる。なお堆積制限エリアを設定する手法としては、頂点ごとに所与の頂点移動量決定パラメータを設定しておき、特に堆積制限エリアについては低い値(0を含む)を頂点移動量決定パラメータを設定することによっても実現できる。   The accumulation restriction area setting unit 116 performs processing for setting the accumulation restriction area in the original object of the deposit model. For example, the texture storage unit 175 of the storage unit 170 prepares a deposition limit area setting texture in which a deposition limit area and a non-deposition limit area are set according to texel color information (tone values) for the original object of the deposit model. deep. In the texture for setting the accumulation limit area, a low luminance value (including 0) is set as the texel color information in the accumulation limit area, and a higher luminance value is set as the texel color information in the non-deposition limit area. Keep it. In this way, at the time of vertex shading described later, by referring to the accumulation limit area setting texture and associating each vertex of the original model object of the deposit with the texel, for the vertices belonging to the accumulation restriction area, The deformation of the original model object can be restricted (or prohibited). As a method for setting the accumulation limit area, a given vertex movement amount determination parameter is set for each vertex, and in particular, a low value (including 0) is set for the vertex movement amount determination parameter for the accumulation limitation area. Can also be realized.

画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクトの各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含む頂点リストが入力され、入力された頂点リストに含まれる頂点データに基づいて、頂点シェーディング(広義には、頂点処理)が行われる。なお頂点シェーディングを行う際に、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うこともできる。頂点シェーディングでは、頂点シェーダプログラム(広義には、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点シェーディング後の頂点データに基づいてラスタライズ(走査変換)が行われ、表示画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセルシェーディング(広義には、ピクセル処理、フラグメント処理)が行われる。ピクセルシェーディングでは、ピクセルシェーダプログラム(第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、最終的な表示画像のピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ173(ピクセル単位で画像情報を記憶できるバッファ。VRAM)に出力(描画)する。すなわち、ピクセルシェーディングでは、表示画像のピクセル単位で画像情報(色、法線、輝度、α値等)を設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像(フレーム画像)が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるようにフレーム画像を生成することができる。   The image generation unit 120 performs drawing processing based on the results of various processes (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, a vertex list including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the object is input and input. Based on the vertex data included in the vertex list, vertex shading (vertex processing in a broad sense) is performed. When performing vertex shading, vertex generation processing (tessellation, curved surface division, polygon division) for subdividing a polygon can be performed as necessary. In vertex shading, according to the vertex shader program (first shader program in a broad sense), vertex movement processing, coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, or geometric processing such as perspective transformation is performed. On the basis of the processing result, the vertex data given to the vertex group constituting the object is changed (updated or adjusted). Then, rasterization (scan conversion) is performed based on the vertex data after vertex shading, and pixel shading (pixel processing and fragment processing in a broad sense) that draws pixels (fragments that configure the display screen) that constitute the display image Is done. In pixel shading, according to the pixel shader program (second shader program), various processes such as texture reading (texture mapping), color data setting / change, translucent composition, anti-aliasing, etc. are performed, and the final display image is displayed. The drawing color of the pixel is determined, and the drawing color of the perspective-transformed object is output (drawn) to the frame buffer 173 (buffer that can store image information in units of pixels, VRAM). That is, in pixel shading, per-pixel processing for setting or changing image information (color, normal, luminance, α value, etc.) for each pixel of a display image is performed. As a result, an image (frame image) that can be seen from the virtual camera (given viewpoint) in the object space is generated. In addition, when there are a plurality of virtual cameras (viewpoints), a frame image can be generated so that an image seen from each virtual camera can be displayed on one screen as a divided image.

画像生成部120は、頂点シェーダ部122、ピクセルシェーダ部124を含む。なお、これらの一部を省略する構成としてもよい。   The image generation unit 120 includes a vertex shader unit 122 and a pixel shader unit 124. Note that some of these may be omitted.

頂点シェーダ部122は、頂点単位で行われる処理である頂点シェーディングを実行するプログラマブルシェーダの一種である。特に、頂点シェーダ部122は、イベント判定部114において堆積イベントが発生したと判定された場合に、すなわち堆積イベント発生フラグがオンにセットされている場合に、堆積物モデルの元オブジェクトの頂点データを変更する頂点シェーディングを行う。具体的には、時間経過に伴って変動する頂点移動情報に基づいて、堆積物モデルの元オブジェクトの頂点を堆積方向に移動させる頂点シェーディングを行う。すなわち、頂点移動情報に基づいて移動後の頂点の位置座標を演算し、求められた位置座標へ頂点を移動させる。なお、堆積イベントが終了した場合には、堆積物モデルのオブジェクトの頂点を堆積方向とは逆の方向に移動させる頂点シェーディングを行うようにしてもよい。また堆積イベントの発生中と堆積イベントの終了後とにおいて頂点シェーディングによる頂点の移動量や移動方向を変えてもよい。   The vertex shader unit 122 is a type of programmable shader that performs vertex shading, which is processing performed in units of vertices. In particular, the vertex shader unit 122 receives the vertex data of the original object of the deposit model when the event determination unit 114 determines that a deposition event has occurred, that is, when the deposition event generation flag is set to ON. Perform vertex shading to change. Specifically, vertex shading is performed to move the vertices of the original object of the deposit model in the accumulation direction based on the vertex movement information that varies with time. That is, the position coordinates of the moved vertex are calculated based on the vertex movement information, and the vertex is moved to the obtained position coordinates. When the accumulation event ends, vertex shading that moves the vertex of the object of the deposit model in the direction opposite to the accumulation direction may be performed. Further, the amount and direction of movement of the vertex due to vertex shading may be changed during the occurrence of the accumulation event and after the end of the accumulation event.

頂点移動情報には、頂点の移動量や頂点の移動方向(移動角度)を決めるための情報が含まれる。例えば、頂点の移動量や頂点の移動方向は、テクスチャを構成するテクセルの画像情報(色成分、輝度、法線等)により設定することができる。このようなテクスチャは、全ての色成分(R成分、G成分及びB成分)を含むカラー画像であってもよいし、グレースケール画像であってもよいし、単一の色成分のみで構成した画像(R成分画像、G成分画像、B成分画像)であってもよい。なお、堆積物モデルの元オブジェクトの所与のエリアにおいて他のエリアとは異なる頂点移動情報を設定してもよい。この場合、頂点シェーダ部122は、堆積物モデルの元オブジェクトの頂点を、エリアごとに設定された頂点移動情報に基づいて堆積方向に移動させる頂点シェーディングを行う。このようにすれば、局所的に堆積の様子を変えることができ、例えば吹き溜まりなどを表現することができる。   The vertex movement information includes information for determining the vertex movement amount and the vertex movement direction (movement angle). For example, the moving amount of the vertex and the moving direction of the vertex can be set by the image information (color component, luminance, normal line, etc.) of the texel constituting the texture. Such a texture may be a color image including all color components (R component, G component and B component), a gray scale image, or a single color component. It may be an image (R component image, G component image, B component image). Note that apex movement information different from other areas may be set in a given area of the original object of the deposit model. In this case, the vertex shader unit 122 performs vertex shading that moves the vertices of the original object of the deposit model in the accumulation direction based on the vertex movement information set for each area. In this way, it is possible to locally change the state of deposition, for example, to express a puddle.

そして、頂点シェーダ部122は、テクスチャを参照してテクセルと頂点との対応付けを行い、各頂点に対応するテクセルに設定された画像情報を取得する。この画像情報は、時間経過に応じて変更(更新)される。そして、取得したテクセルの画像情報に基づいて、頂点の移動量や移動方向を決定して移動後の頂点の位置座標をベクトル演算(マトリクス演算)により算出する処理を、所与の頂点シェーダプログラム(広義には、第1のシェーダプログラム)に従って実行する。なお、テクセルの画像情報は、必ずしも時間経過に応じて変更(更新)されなくてもよい。例えば、個別に、時間パラメータを頂点シェーダ部122に与えることによって、取得した画像情報と時間パラメータとに基づいて、頂点の移動量や移動方向を決定することができる。また画像情報によって得られる頂点移動情報は、頂点の移動量あるいは頂点の移動方向の少なくとも一方であればよい。   Then, the vertex shader unit 122 associates the texel and the vertex with reference to the texture, and acquires image information set in the texel corresponding to each vertex. This image information is changed (updated) over time. Then, based on the acquired texel image information, processing for determining the amount and direction of movement of the vertices and calculating the position coordinates of the vertices after movement by vector operation (matrix operation) is performed for a given vertex shader program ( In a broad sense, it is executed according to the first shader program. Note that the texel image information does not necessarily have to be changed (updated) over time. For example, by individually providing the time parameter to the vertex shader unit 122, the amount of movement and the direction of movement of the vertex can be determined based on the acquired image information and the time parameter. The vertex movement information obtained from the image information may be at least one of the vertex movement amount or the vertex movement direction.

より具体的には、テクセルの画像情報を高さ情報(所与の基準面からの変位)に応じて変化させたハイトマップテクスチャや、テクセルの画像情報を法線ベクトル情報(法線ベクトルの向き)に応じて変化させた法線マップテクスチャなどを用いることができる。これらのテクスチャは、記憶部170のテクスチャ記憶部175(ハイトマップデータ記憶部、法線マップデータ記憶部)に記憶される。   More specifically, a height map texture in which texel image information is changed according to height information (displacement from a given reference plane), and texel image information in normal vector information (normal vector direction) The normal map texture that is changed according to These textures are stored in the texture storage unit 175 (height map data storage unit, normal map data storage unit) of the storage unit 170.

また頂点シェーダ部122は、イベント判定部114において堆積物モデルのオブジェクトに対し、他のオブジェクト(キャラクタ、車など)が接触する接触イベントが発生したと判定された場合、言い換えれば接触イベント発生フラグがオンにセットされている場合には、所与の頂点シェーダプログラムを実行して堆積物モデルのオブジェクトを構成する頂点を堆積方向とは逆の方向に移動させる頂点シェーディングを行う。すなわち、堆積物モデルのオブジェクトが占める体積が減少するように、堆積物モデルのオブジェクトと接触した他のオブジェクトの形状に沿って陥没させる頂点シェーディングを行う。   In addition, the vertex shader unit 122 determines that the contact event occurrence flag is set when the event determination unit 114 determines that a contact event occurs in which another object (character, car, or the like) contacts the deposit model object. If it is set to on, vertex shading is performed in which a given vertex shader program is executed to move the vertices constituting the deposit model object in the direction opposite to the deposition direction. In other words, vertex shading is performed so that the volume occupied by the object of the sediment model decreases along the shape of another object that contacts the object of the sediment model.

また頂点シェーダ部122は、堆積制限エリア設定部116により堆積物モデルの元オブジェクトに対して堆積制限エリアが設定されている場合には、その堆積制限エリアでの頂点の移動を制限(禁止)する頂点シェーディングを行う。   Further, the vertex shader unit 122 restricts (prohibits) the movement of the vertex in the accumulation limitation area when the accumulation limitation area is set for the original object of the deposit model by the accumulation limitation area setting unit 116. Perform vertex shading.

また頂点シェーダ部122は、雪が高いところから落ちるイベントや雪崩イベントなどのような堆積物が移動する堆積物移動イベントが発生したと判定された場合に、すなわち堆積物移動イベント発生フラグがオンになっている場合に、第1のエリアに配置設定された堆積物のモデルオブジェクトの頂点を、堆積方向とは逆の方向に移動させるとともに、第2のエリアに配置設定される堆積物のモデルオブジェクトの頂点を堆積方向に移動させる頂点シェーディングを行う。このようにすれば、堆積物が移動する様子を簡便に表現することができる。なお、第1のエリアと第2のエリアとで行われる頂点シェーディングの間にアニメーション処理で堆積物が第1のエリアから第2のエリアに移動する様子を表現してもよい。   The vertex shader unit 122 also turns on the sediment movement event occurrence flag when it is determined that a sediment movement event in which the sediment moves such as an event where snow falls from a high place or an avalanche event has occurred. The sediment model object placed in the first area is moved in the direction opposite to the deposition direction, and the deposit model object placed in the second area is moved. Vertex shading is performed to move the vertices in the stacking direction. In this way, it is possible to simply express how the deposit moves. Note that a state in which the deposit moves from the first area to the second area by animation processing during the vertex shading performed in the first area and the second area may be expressed.

ピクセルシェーダ部124は、堆積物の元モデルオブジェクトの頂点を移動させる頂点シェーディングが行われた場合に、その頂点シェーディング後の堆積物のモデルオブジェクトについてピクセル単位で画像情報(色、輝度、α値等)を変更するピクセルシェーディングを行う。例えば、堆積イベントの終了後に、頂点を堆積方向とは逆の方向に移動させた堆積物のモデルオブジェクトについてピクセル単位で画像情報を変更するピクセルシェーディングを行うことができる。具体的には、モデルオブジェクトにおいて雪が解けている部分のピクセルにランダムに向きが変化したベクトルデータを与えて、そのベクトルと仮想カメラの視線ベクトルとの内積を求めて、ベクトルの向きの一致具合に応じて反射率を制御することにより、降り積もった雪が解けて光る様子を表現することができる。   When the vertex shading for moving the vertex of the original model object of the deposit is performed, the pixel shader unit 124 stores image information (color, luminance, α value, etc.) on the model object of the deposit after the vertex shading. ) Change pixel shading. For example, after the deposition event ends, pixel shading can be performed in which image information is changed in pixel units for a model object of a deposit whose vertex is moved in a direction opposite to the deposition direction. Specifically, vector data whose direction is randomly changed is given to the pixel of the part where the snow is melted in the model object, and the inner product of the vector and the line-of-sight vector of the virtual camera is obtained. By controlling the reflectivity accordingly, it is possible to express how the accumulated snow melts and shines.

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

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

音生成部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.1 堆積イベントの表現手法
本実施形態では、地表に雪が降り積もる様子を、地形オブジェクトの上に配置設定される雪面モデルの元オブジェクトの頂点を移動させる頂点シェーディングを行うことにより表現する。もちろん本発明は地表に雪が降り積もるイベントを表現する場合に限らず、オブジェクト空間に配置設定される各種のオブジェクトの上に雪、灰、枯れ葉あるいは砂などの堆積物が堆積していく様子を表現する際に適用することができる。
2. 2.1 Method of Present Embodiment 2.1 Deposition Event Representation Method In this embodiment, the vertex shading is performed to move the vertex of the original object of the snow surface model placed and set on the terrain object, in the state of snow falling on the ground surface. It expresses by. Of course, the present invention is not limited to expressing an event in which snow falls on the ground surface, but expresses a state in which deposits such as snow, ash, dead leaves or sand accumulate on various objects arranged and set in the object space. Can be applied when.

例えば、ハイトマップテクスチャを用いる場合には、以下のようにして、堆積イベントを表現するための頂点シェーディングを行うことができる。   For example, when a height map texture is used, vertex shading for expressing a deposition event can be performed as follows.

まず、格子状に配置されたテクセル(格子点)に高さ情報を設定したハイトマップテクスチャ(広義には、ハイトマップデータ)を堆積物モデルの元オブジェクトに対応づけておく。   First, a height map texture (height map data in a broad sense) in which height information is set for texels (grid points) arranged in a grid pattern is associated with the original object of the deposit model.

次に、堆積物モデルの元オブジェクトに対応づけられたハイトマップテクスチャを参照してテクセル(格子点)に設定された高さ情報を取得する。ハイトマップテクスチャの各テクセルに設定される高さ情報は、時間をパラメータとする関数として設定され、堆積イベントが発生してからの経過時間に応じて値が変化する。その他に頂点の移動方向を定めるための情報も取得する。移動方向を定めるための情報はワールド座標系のX軸方向、Y軸方向及びZ軸方向の各軸方向への移動許可を与えるパラメータである。   Next, the height information set in the texel (grid point) is acquired with reference to the height map texture associated with the original object of the deposit model. The height information set in each texel of the height map texture is set as a function having time as a parameter, and the value changes according to the elapsed time from the occurrence of the deposition event. In addition, information for determining the moving direction of the vertex is also acquired. The information for determining the movement direction is a parameter that gives permission to move in the X axis direction, the Y axis direction, and the Z axis direction of the world coordinate system.

次に、取得された高さ情報と移動方向を定めるための情報とを含む頂点移動情報に基づいて、頂点の移動後の位置座標を算出する。最終的には、堆積物の元モデルオブジェクトの頂点を求められた位置座標へ移動して、時間経過に伴って頂点が堆積方向に移動する頂点シェーディングが行われる。なお頂点の移動方向を定めるための情報は、後述する法線マップテクスチャのテクセルに設定される法線ベクトル情報で与えるようにしてもよい。   Next, based on the vertex movement information including the acquired height information and information for determining the movement direction, the position coordinates after the movement of the vertex are calculated. Finally, the vertex of the original model object of the deposit is moved to the obtained position coordinates, and vertex shading is performed in which the vertex moves in the deposition direction with time. Information for determining the moving direction of the vertex may be given as normal vector information set in a texel of a normal map texture described later.

より具体的に、図2(A)〜図2(E)を用いて説明する。図2(A)は、ハイトマップテクスチャである。ハイトマップテクスチャは、テクセルTXLに時間tに応じて変化する高さ情報h(t)が設定されている。高さ情報h(t)は、堆積イベントが発生してからの経過時間tをパラメータとする関数値であり、堆積率パラメータに時間パラメータを乗算あるいは加算することで経過時間tにおける高さ情報h(t)を得ることができる。なおテクセルごとに異なる堆積率パラメータが設定されていてもよい。本実施形態の手法では、この高さ情報h(t)により雪面モデルの元オブジェクトの頂点の移動量を決定する。なお、本例では、ワールド座標系のY軸の正方向(上方向;広義には、堆積方向)へ頂点を変位させる頂点移動マトリクス(頂点移動ベクトル)によるマトリクス演算(ベクトル演算)により時間tにおける頂点の位置座標を求める。   This will be described more specifically with reference to FIGS. 2 (A) to 2 (E). FIG. 2A shows a height map texture. In the height map texture, height information h (t) that changes according to time t is set in the texel TXL. The height information h (t) is a function value having the elapsed time t after the occurrence of the deposition event as a parameter, and the height information h at the elapsed time t is obtained by multiplying or adding the time parameter to the deposition rate parameter. (T) can be obtained. Different deposition rate parameters may be set for each texel. In the method of this embodiment, the amount of movement of the vertex of the original object of the snow surface model is determined based on the height information h (t). In this example, at a time t by matrix calculation (vector calculation) by a vertex movement matrix (vertex movement vector) that displaces the vertex in the positive direction (upward direction; in a broad sense, the accumulation direction) of the Y axis of the world coordinate system. Find the vertex coordinates.

図2(B)では、雪が降り積もる堆積イベントが発生し、地面を表現する地形オブジェクトGOBの上に雪面モデルの元オブジェクトMOBが配置設定されている。時間tの経過とともにハイトマップテクスチャのテクセルに設定されている高さ情報h(t)が変化し、雪面モデルの元オブジェクトMOBの各頂点とハイトマップテクスチャのテクセルとの対応付けが行われる。ハイトマップテクスチャの解像度(テクセル分解能)が雪面モデルの元オブジェクトMOBの解像度(頂点分解能)より低い場合には、線形補間により頂点に対応する高さ情報を求めることができる。頂点とテクセルとの対応付けが完了し、堆積イベントが開始してから時間t1が経過したとすると、Y軸の正方向に移動量h(t1)で頂点の位置座標を変位させる頂点移動マトリクス(頂点移動ベクトル)を用いて、元オブジェクトの頂点P(位置座標(X,Y,Z))の移動後の位置座標(X,Y+h(t1),Z)を求める。すなわち、図2(C)に示すように、雪面モデルの元オブジェクトの各頂点をY軸の正方向(上方向)にh(t1)だけ移動させる。このような頂点シェーディングを行うことにより、モデルデータを大量に用意する必要がなくなるため、メモリの使用量を節約できるばかりではなく、時間に応じて雪面の高さが変化する様子を少ないデータ量でリアルに表現することができる。   In FIG. 2B, a snow accumulation event occurs, and the snow surface model original object MOB is placed on the terrain object GOB representing the ground. The height information h (t) set in the texel of the height map texture changes with the passage of time t, and each vertex of the original object MOB of the snow surface model is associated with the texel of the height map texture. When the resolution of the height map texture (texel resolution) is lower than the resolution (vertex resolution) of the original object MOB of the snow surface model, height information corresponding to the vertex can be obtained by linear interpolation. Assuming that the time t1 has elapsed since the correspondence between the vertex and the texel has been completed and the deposition event has started, the vertex movement matrix (in which the position coordinate of the vertex is displaced by the movement amount h (t1) in the positive direction of the Y axis ( Using the vertex movement vector, position coordinates (X, Y + h (t1), Z) after movement of the vertex P (position coordinates (X, Y, Z)) of the original object are obtained. That is, as shown in FIG. 2C, each vertex of the original object of the snow surface model is moved by h (t1) in the positive direction (upward direction) of the Y axis. This kind of vertex shading eliminates the need to prepare a large amount of model data, which not only saves memory usage but also reduces the amount of data that changes the height of the snow surface over time. Can be expressed realistically.

なお堆積イベントが終了した場合には、堆積方向、言い換えれば体積が増加する方向に頂点を移動した雪面モデルのオブジェクトMOB’について、頂点を堆積方向とは逆の方向、言い換えれば体積が減少する方向に頂点を移動させる頂点シェーディングを行ってもよい。すなわち、堆積イベント発生フラグがリセットされた場合、すなわちフラグがオン状態からオフ状態にセットされた場合に、堆積イベントが終了したと判断して、時間経過とともに堆積物モデルの体積が増加する方向に移動させていた堆積物モデルのオブジェクトを構成する頂点を、堆積物モデルの体積が減少する方向に移動させる頂点移動処理を行う。このようにすれば、例えば雪が降り積もる堆積イベントが終了した後は、降り積もった雪が徐々に解けていく様子を表現できる。   When the accumulation event ends, the snow surface model object MOB ′ whose vertex has moved in the accumulation direction, in other words, the direction in which the volume increases, has its vertex in the direction opposite to the accumulation direction, in other words, the volume decreases. You may perform vertex shading which moves a vertex to a direction. That is, when the deposition event occurrence flag is reset, that is, when the flag is set from the on state to the off state, it is determined that the deposition event has ended, and the volume of the deposit model increases with time. Vertex movement processing is performed in which the vertexes constituting the object of the deposit model that has been moved are moved in a direction in which the volume of the deposit model decreases. In this way, for example, after the accumulation event in which snow is accumulated, it is possible to express how the accumulated snow gradually melts.

具体的には、ハイトマップテクスチャにおいてY軸の負方向(下方向;広義には、堆積方向と逆の方向)への頂点の移動量を決める高さ情報h’(t)をテクセルに設定しておく。すなわち、この高さ情報h’(t)が時間tをパラメータとして変化する関数値で与えられる。そして高さ情報h’(t)がテクセルに設定されたハイトマップテクスチャを参照して、テクセルと雪面モデルのオブジェクトMOB’の頂点との対応付けを行う。頂点とテクセルとの対応付けが完了したら、図2(D)に示すように、Y軸の負方向に頂点を移動させる。位置座標の変位は、同様に頂点移動マトリクス(頂点移動ベクトル)を用いて行い、堆積イベントが終了してから時間t2が経過したとすると、図2(E)に示すように、P(X,Y+h(t1),Z)からP2(X,Y+h(t1)−h’(t2),Z)へ頂点を移動させるように位置座標が変換される。このようにすれば、降り積もった雪が解ける様子をリアルに表現することができる。   Specifically, in the height map texture, height information h ′ (t) that determines the amount of movement of the apex in the negative direction of the Y axis (downward; in a broad sense, the direction opposite to the deposition direction) is set in the texel. Keep it. That is, the height information h ′ (t) is given as a function value that changes with the time t as a parameter. Then, the height information h ′ (t) is referred to the height map texture set in the texel, and the texel is associated with the vertex of the object MOB ′ of the snow surface model. When the association between the vertex and the texel is completed, the vertex is moved in the negative direction of the Y axis as shown in FIG. Similarly, the displacement of the position coordinates is performed using the vertex movement matrix (vertex movement vector). If the time t2 has elapsed since the deposition event ended, as shown in FIG. 2 (E), P (X, The position coordinates are converted so that the vertex is moved from Y + h (t1), Z) to P2 (X, Y + h (t1) −h ′ (t2), Z). In this way, it is possible to realistically express how snow that has accumulated has melted.

なお、図2(B)及び図2(C)に示すような堆積イベントの発生中は、時間経過に応じて堆積方向への移動量が大きくなる頂点移動情報(広義には、第1の頂点移動情報)に基づいて、堆積物モデルの元オブジェクトMOBの頂点をY軸の正方向(上方向;広義には、堆積方向)に移動させ、図2(D)及び図2(E)に示すような堆積イベントの終了後は、時間経過に応じてY軸の負方向(下方向;広義には、堆積方向とは逆の方向)への移動量が大きくなる頂点移動情報(広義には、第2の頂点移動情報)に基づいて、頂点を堆積方向に移動させた堆積物モデルのオブジェクトの頂点をY軸の負方向(下方向;広義には、堆積方向とは逆の方向)に移動させるようにしてもよい。このようにすれば、堆積イベント発生中は、雪が降り積もって高さが増していく様子を表現することができ、堆積イベント終了後は、雪が徐々に解けていく様子を表現することができる。   It should be noted that during the occurrence of a deposition event as shown in FIGS. 2B and 2C, vertex movement information (first vertex in a broad sense) in which the amount of movement in the deposition direction increases with time. 2D and FIG. 2E, the vertex of the original object MOB of the deposit model is moved in the positive direction of the Y axis (upward direction; in a broad sense, the accumulation direction) based on the movement information). After completion of such a deposition event, apex movement information (in a broad sense, the amount of movement in the negative direction of the Y axis (downward; in the broad sense, the direction opposite to the deposition direction) increases with time. Based on the second vertex movement information), the vertex of the deposit model object whose vertex is moved in the deposition direction is moved in the negative direction of the Y axis (downward; in the broad sense, the direction opposite to the deposition direction). You may make it make it. In this way, it is possible to express how the snow is falling and increasing in height while the accumulation event occurs, and how the snow is gradually melting after the accumulation event is completed.

また本実施形態の堆積イベントの表現は、法線マップテクスチャを用いても実現することができる。法線マップテクスチャを用いる場合には、以下のようにして、堆積イベントを表現するための頂点シェーディングを行うことができる。   In addition, the expression of the deposition event according to the present embodiment can be realized using a normal map texture. When using a normal map texture, vertex shading for expressing a deposition event can be performed as follows.

この場合においても、まず堆積物モデルの元オブジェクトに対して、テクセル(格子点)に法線ベクトル情報(法線ベクトルの向き)が設定された法線マップテクスチャ(広義には、法線マップデータ)が対応づけられる。次に、堆積物モデルの元オブジェクトに対応づけられた法線マップテクスチャを参照してテクセル(格子点)に設定された法線ベクトル情報を取得する。その他に堆積イベントが発生してからの経過時間に応じて変化する頂点の移動量を定めるための情報も取得する。そして、取得された法線ベクトルの向きと頂点の移動量とを含む頂点移動情報に基づいて、堆積物モデルの元オブジェクトの頂点を法線ベクトルの向きに沿って移動させた頂点の位置座標を算出する。すなわち、本手法では、法線ベクトルの向きにより頂点の移動方向を与えることになる。   Even in this case, first, a normal map texture (normal map data in a broad sense) in which normal vector information (direction of the normal vector) is set to the texel (grid point) for the original object of the sediment model. ). Next, the normal vector information set in the texel (grid point) is acquired with reference to the normal map texture associated with the original object of the deposit model. In addition, information for determining the amount of movement of the vertex that changes according to the elapsed time after the occurrence of the deposition event is also acquired. Then, based on the vertex movement information including the direction of the obtained normal vector and the amount of movement of the vertex, the position coordinates of the vertex obtained by moving the vertex of the original object of the sediment model along the direction of the normal vector are obtained. calculate. That is, in this method, the moving direction of the vertex is given by the direction of the normal vector.

なお頂点の移動量を定めるための情報は、先に述べたハイトマップテクスチャのテクセルに設定される高さ情報で与えるようにしてもよい。また頂点の移動量を決めるための情報としては、法線マップテクスチャのテクセルに設定された法線ベクトルの正弦成分や余弦成分などを用いてもよい。   Note that the information for determining the amount of movement of the vertex may be given by the height information set in the texel of the height map texture described above. As information for determining the amount of movement of the vertex, a sine component or cosine component of a normal vector set in a texel of the normal map texture may be used.

図3(A)〜図3(C)を用いて、法線マップテクスチャを用いて雪面モデルの元オブジェクトの頂点を移動させる手法を説明する。法線マップテクスチャは、図3(A)に示すように、オブジェクトを構成するプリミティブ(ポリゴン)の面の向きである法線ベクトル情報をテクセルに設定したテクスチャである。本手法では、法線マップテクスチャのテクセルに設定された法線ベクトルで与えられるベクトルの向き(X軸周りの角度、Y軸周りの角度、Z軸周りの角度)を頂点の移動方向とする。頂点の移動量は、正規化ベクトルである法線ベクトルに時間経過に伴い値が変化する堆積率パラメータd(t)を乗算あるいは加算して求めることができる。この堆積率パラメータd(t)は、時間tをパラメータとする関数値であって、頂点に付随するパラメータとして頂点ごとに個別に設定することができる。例えば、日向の部分には雪が積もりにくいため、頂点の移動量が小さくなるように堆積率パラメータd(t)を設定し、一方、日陰の部分には雪が積もりやすいため、頂点の移動量が大きくなるように堆積率パラメータd(t)を設定することができる。なお堆積率パラメータd(t)は、各頂点に共通のパラメータとして設定することもできる。   A method of moving the vertices of the original object of the snow surface model using the normal map texture will be described with reference to FIGS. 3 (A) to 3 (C). As shown in FIG. 3A, the normal map texture is a texture in which normal vector information, which is the orientation of the surface of a primitive (polygon) that constitutes an object, is set in a texel. In this method, the direction of the vector (angle around the X axis, angle around the Y axis, angle around the Z axis) given by the normal vector set in the texel of the normal map texture is the vertex movement direction. The amount of movement of the vertex can be obtained by multiplying or adding a normal vector, which is a normalization vector, with a deposition rate parameter d (t) whose value changes with time. The deposition rate parameter d (t) is a function value having the time t as a parameter, and can be individually set for each vertex as a parameter associated with the vertex. For example, since it is difficult for snow to accumulate in the sunny part, the deposition rate parameter d (t) is set so that the amount of movement of the vertex is small. On the other hand, since snow is likely to accumulate in the shaded part, the amount of movement of the vertex is large. The deposition rate parameter d (t) can be set so that The deposition rate parameter d (t) can also be set as a parameter common to each vertex.

そしてオブジェクト空間において図3(B)に示すように積雪イベントが発生したら、まず法線マップテクスチャを参照してテクセルと頂点との対応付けを行う。次に各頂点に対応づけられたテクセルに設定される法線ベクトルの向きを頂点の移動方向として、その法線ベクトルNVと、頂点ごとに設定される堆積率パラメータd(t1)とに基づく頂点移動ベクトルVd(頂点移動マトリクス)を用いて頂点Pの移動後の位置座標を求めて、図3(C)に示すように頂点を座標(X,Y,Z)から座標(X*Vdx、Y*Vdy、Z*Vdz)へ移動させる。なおVdx、Vdy、及びVdzは、頂点移動ベクトルVdのX軸成分、Y軸成分、及びZ軸成分に対応する。このようにしても、ハイトマップテクスチャを用いた場合と同様に、雪が降り積もる様子をリアルに表現することができる。また雪が解ける様子を表現する場合にも法線マップテクスチャを用いて行うことができる。例えば、堆積率パラメータd’(t)を負の値を得る関数値で設定(定義)しておくか、雪面のモデルオブジェクトの法線ベクトルを反転して、その反転されたベクトルの向きを頂点の移動方向とするように頂点移動ベクトル(頂点移動マトリクス)を求めてもよい。また堆積率パラメータd’(t)は、例えば、日向の部分では雪が解けやすいため、頂点の移動量が大きくなるように堆積率パラメータd’(t)を設定し、一方、日陰の部分では雪が解けにくいため、頂点の移動量が小さくなるように堆積率パラメータd’(t)を設定することができる。   When a snow event occurs in the object space as shown in FIG. 3B, first, the normal map texture is referred to associate the texel with the vertex. Next, with the direction of the normal vector set in the texel associated with each vertex as the vertex moving direction, the vertex based on the normal vector NV and the deposition rate parameter d (t1) set for each vertex Using the movement vector Vd (vertex movement matrix), the position coordinates after the movement of the vertex P are obtained, and the vertex is converted from the coordinates (X, Y, Z) to the coordinates (X * Vdx, Y) as shown in FIG. * Vdy, Z * Vdz). Vdx, Vdy, and Vdz correspond to the X-axis component, the Y-axis component, and the Z-axis component of the vertex movement vector Vd. Even in this case, as in the case of using the height map texture, it is possible to realistically represent the state of snow falling. In addition, it is possible to use a normal map texture to express how snow melts. For example, the deposition rate parameter d ′ (t) is set (defined) with a function value that obtains a negative value, or the normal vector of the model object on the snow surface is inverted, and the direction of the inverted vector is determined. You may obtain | require a vertex movement vector (vertex movement matrix) so that it may become the moving direction of a vertex. For example, the deposition rate parameter d ′ (t) is set so that the amount of movement of the apex is large because the snow is easily melted in the sunny portion, while the snow is covered in the shaded portion. Since it is difficult to solve, the deposition rate parameter d ′ (t) can be set so that the amount of movement of the apex is small.

また、本実施の形態では、図4(A)に示すように、雪面モデルの元オブジェクトMOBにヒットチェック領域HC(バウンディングボリューム、バウンディングボックス)が設定されており、他のオブジェクトとの接触を検出するヒットチェック処理が行われる。堆積イベントの発生により、雪面モデルの元オブジェクトMOBを構成する頂点群を移動させた場合や、堆積イベントが終了して、雪面モデルのオブジェクトMOB’の頂点群を堆積方向と逆の方向に移動させた場合には、図4(B)に示すように、移動後のオブジェクトを構成する頂点の位置座標に基づいてヒットチェック領域HC’を再設定(更新)する。これにより、雪面の上昇や下降の影響を反映したヒットチェック処理を行うことができるようになる。   In the present embodiment, as shown in FIG. 4A, a hit check area HC (bounding volume, bounding box) is set in the original object MOB of the snow surface model, and contact with other objects is performed. The hit check process to detect is performed. When the accumulation event occurs, the vertex group constituting the original object MOB of the snow surface model is moved, or when the accumulation event ends, the vertex group of the object MOB ′ of the snow surface model is moved in the direction opposite to the accumulation direction. When moved, as shown in FIG. 4B, the hit check area HC ′ is reset (updated) based on the position coordinates of the vertices constituting the moved object. As a result, it is possible to perform hit check processing that reflects the effects of rising and falling of the snow surface.

ここでヒットチェック領域は、設定対象となるオブジェクトの頂点を内包するように形成される立方体や球などの単純形状からなる簡易オブジェクトの占有領域に基づいて設定される。具体的には、オブジェクトの頂点のすべての座標成分(X座標成分、Y座標成分及びZ座標成分)についての最大値及び最小値を検出し、最大値及び最小値を取る頂点を通る面を有する簡易オブジェクトを配置設定することにより、その簡易オブジェクトがオブジェクト空間に占める領域をヒットチェック領域を設定することができる。   Here, the hit check area is set based on an area occupied by a simple object having a simple shape such as a cube or a sphere formed so as to include the vertex of the object to be set. Specifically, the maximum value and the minimum value for all coordinate components (X coordinate component, Y coordinate component, and Z coordinate component) of the vertex of the object are detected, and a plane passing through the vertex that takes the maximum value and the minimum value is included. By setting the arrangement of the simple object, the hit check area can be set as the area occupied by the simple object in the object space.

ここで、ヒットチェック領域HCは、図4(A)及び図4(B)に示すように、雪面モデルの全体に対して1のヒットチェック領域を設定してもよいが、頂点の移動量が不均一であって、雪面の上昇率や下降率が異なるエリアが存在すると、適切なヒットチェック処理が行えない場合がある。   Here, as shown in FIGS. 4A and 4B, the hit check area HC may be set to one hit check area for the entire snow surface model. If there is an area where the rising and falling rates of the snow surface are different, there is a case where appropriate hit check processing cannot be performed.

そこで、図5(A)に示すように雪面モデルの元オブジェクトMOBに対して、複数のヒットチェック領域HC1〜HC2を設定しておき、各ヒットチェック領域ごとにヒットチェック領域HC1’〜HC3’を再設定(更新)するようにしてもよい。このようにすれば、頂点の移動量が大きいエリアと頂点の移動量が少ないエリアとが存在するような場合であっても、適切なヒットチェック領域を設定することができるようになる。   Therefore, as shown in FIG. 5A, a plurality of hit check areas HC1 to HC2 are set for the original object MOB of the snow surface model, and the hit check areas HC1 ′ to HC3 ′ are set for each hit check area. May be reset (updated). In this way, it is possible to set an appropriate hit check area even when there are areas where the vertex movement amount is large and areas where the vertex movement amount is small.

本実施の形態では、雪面モデルの元オブジェクトの所与のエリアで局所的に頂点の移動量を大きくすることによって、積もった雪の吹き溜まりができる様子を表現することができる。具体的には、ハイトマップテクスチャを用いる場合には、高さ情報h(t)を所与のエリアに属するテクセルにおいて局所的に大きくなるように設定する。また、法線マップテクスチャを用いる場合には、堆積率パラメータd(t)を所与のエリアに属する頂点について大きくなるように設定する。   In the present embodiment, it is possible to express a state where accumulated snow can be accumulated by locally increasing the amount of movement of the vertex in a given area of the original object of the snow surface model. Specifically, when the height map texture is used, the height information h (t) is set to be locally increased in texels belonging to a given area. Also, when using a normal map texture, the deposition rate parameter d (t) is set to be large for vertices belonging to a given area.

ところで、雪面上に熱源となるオブジェクトが配置設定されている場合、例えば、車の排気口付近やバイクのエンジン付近、あるいはたき火などの周囲などでは、それらが熱源となって雪が積もりにくい、あるいは雪が積もらない現象が起きる。このような現象を表現するために、本実施形態では、堆積制限エリア設定用のテクスチャを用意することで、雪面モデルの元オブジェクトに対して堆積制限エリアを設定するようにしてもよい。   By the way, when an object that becomes a heat source is placed on the snow surface, for example, near the exhaust port of a car, near the engine of a motorcycle, or around a bonfire, etc., it is difficult for snow to accumulate, or The phenomenon that snow does not pile up occurs. In order to express such a phenomenon, in the present embodiment, the accumulation restriction area may be set for the original object of the snow surface model by preparing a texture for setting the accumulation restriction area.

具体的には、堆積制限用テクスチャを参照してテクセルに設定された堆積制限パラメータを取得し、その堆積制限パラメータに基づいて頂点の移動量を調整することができる。堆積制限用テクスチャのテクセルに設定される堆積制限パラメータは、頂点の移動量を決定するパラメータに乗算処理されるパラメータであって、例えば、0〜1の間の値を採ることができる。この場合、図6に示すように、非堆積制限エリアでは、堆積制限パラメータを1に設定しておき、堆積制限エリアでは1より小さい値(例えば、0.5など)に設定しておくことにより頂点の移動量を制限することができる。なお堆積制限パラメータを0に設定した場合には、頂点の移動量を0にすることができる。すなわち頂点の移動を局所的に制限(禁止)することができる。   Specifically, it is possible to acquire a deposition restriction parameter set in the texel with reference to the deposition restriction texture, and adjust the vertex movement amount based on the deposition restriction parameter. The deposition limitation parameter set in the texel of the deposition limitation texture is a parameter that is multiplied by a parameter that determines the amount of movement of the vertex, and can take a value between 0 and 1, for example. In this case, as shown in FIG. 6, by setting the deposition limit parameter to 1 in the non-deposition limited area and to a value smaller than 1 (for example, 0.5) in the deposition limited area. The amount of vertex movement can be limited. When the deposition limit parameter is set to 0, the vertex movement amount can be set to 0. That is, the movement of the vertex can be locally restricted (prohibited).

また本実施形態の表現手法では、時間経過に応じて頂点を移動させる頂点シェーディングに加えて、時間あるいは堆積量の変化に応じて、堆積物モデルの描画色を決定する画像情報を変更するピクセルシェーディングを行うようにしてもよい。すなわち、時間あるいは堆積量の変化に応じて堆積物の質感が変わったというフラグをセットする。ピクセルシェーダでは、そのフラグを判別して、テクスチャマッピングする画像を切り替えることで堆積モデルを表示するピクセルの画像情報(色、輝度、屈折率、反射率、α値等)を変更(調整)する。例えば、降り積もった雪が解けている場合に、雪面モデルの雪解け部分に相当するピクセルをきらきら光る質感の色で描画させることができる。この場合には、雪面モデルの頂点移動率(堆積率)の極性に応じて雪が積もっているのか、解けているのかを判断させることができる。例えば、図2(B)及び図2(C)に示すように、Y軸の正方向(上方向;広義には堆積方向)に頂点が移動している場合には、雪が積もっていると判断し、Y軸の負方向(下方向;広義には、堆積方向とは逆の方向)に頂点が移動している場合には、雪が解けていると判断することができる。そして、雪が解けていると判断された場合には、光沢が強くなるように画像情報(反射率)を変更(調整)する。より具体的には、ランダムノイズを加えて法線ベクトルの向きを散乱させた法線マップテクスチャを用意しておき、光源ベクトルあるいは視線ベクトルと向きの合う法線ベクトルが設定されたピクセルについて反射率を高くする処理(ピクセルシェーディング)を行うことができる。すなわち、反射率を高くしたピクセルについては、高い輝度の色で描画されることにより、光沢を強くすることができる。   In the expression method of this embodiment, in addition to vertex shading that moves vertices according to the passage of time, pixel shading that changes image information that determines the drawing color of the deposit model according to changes in time or the amount of deposition. May be performed. That is, a flag is set that the texture of the deposit has changed according to the change in time or the amount of deposit. In the pixel shader, the flag is discriminated and the image information (color, luminance, refractive index, reflectance, α value, etc.) of the pixel displaying the deposition model is changed (adjusted) by switching the image to be texture mapped. For example, when the accumulated snow is thawed, pixels corresponding to the thawed portion of the snow surface model can be drawn with a sparkling color. In this case, it is possible to determine whether snow has accumulated or has been solved according to the polarity of the vertex movement rate (deposition rate) of the snow surface model. For example, as shown in FIGS. 2B and 2C, when the apex moves in the positive direction (upward direction; accumulation direction in a broad sense) of the Y axis, it is determined that snow is piled up. If the apex moves in the negative direction of the Y axis (downward; in the broad sense, the direction opposite to the accumulation direction), it can be determined that the snow has melted. If it is determined that the snow has melted, the image information (reflectance) is changed (adjusted) so that the gloss becomes stronger. More specifically, a normal map texture in which the direction of the normal vector is scattered by adding random noise is prepared, and the reflectance of pixels with a normal vector that matches the direction of the light source vector or the line-of-sight vector is set. Can be performed (pixel shading). In other words, the pixel having a high reflectance can be made more glossy by being drawn with a color having a high luminance.

2.2 接触イベントの表現手法
本実施の形態では、堆積イベントの発生により堆積方向に頂点を移動させたオブジェクトに他のオブジェクトが接触あるいは衝突した場合に、堆積方向とは逆の方向に頂点を移動させる頂点シェーディング手法を採用する。
2.2 Method for expressing a contact event In this embodiment, when another object contacts or collides with an object whose vertex has been moved in the deposition direction due to the occurrence of a deposition event, the vertex is displayed in a direction opposite to the deposition direction. Adopt a moving vertex shading technique.

具体的には、他のオブジェクトにも堆積物モデルと同じようにハイトマップテクスチャ(広義には、ハイトマップデータ)が対応づけられる。他のオブジェクトに対応づけられたハイトマップテクスチャのテクセル(格子点)に設定される高さ情報は、他のオブジェクトを構成する頂点で形成される面の形状そのものを表すものでなくてもよく、仮想的に他のオブジェクトの表面形状として設定(定義)されるものであってもよい。例えば、車のタイヤについては、タイヤ溝を有しない円盤形のオブジェクトにタイヤ溝を表す画像をテクスチャマッピングしてタイヤを表現しておき、実際の溝の凹凸を表す高さ情報は、別途タイヤのオブジェクトに対応づけられたハイトマップテクスチャで定義(設定)することができる。   Specifically, a height map texture (height map data in a broad sense) is associated with other objects as in the deposit model. The height information set in the texels (grid points) of the height map texture associated with other objects does not have to represent the shape of the surface formed by the vertices that make up the other object, It may be set (defined) virtually as a surface shape of another object. For example, for a car tire, a tire-like image is represented by texture mapping an image representing the tire groove on a disk-shaped object that does not have a tire groove, and height information representing the actual groove irregularities is separately provided for the tire. It can be defined (set) with a height map texture associated with the object.

そして図7(A)に示すように、雪面モデルのオブジェクトMOBに対し、ボールオブジェクト(他のオブジェクト)BOBが接触(衝突)する接触イベント(衝突イベント)が発生した場合に、ボールオブジェクトに対応づけられたハイトマップテクスチャを参照してボールオブジェクトBOBの接触エリアを構成する頂点に対応するテクセル(格子点)に設定された高さ情報を取得する。接触イベントの発生は、ヒットチェックにより行い、図7(A)に示すように、雪面モデルのオブジェクトMOBに対して設定されたヒットチェック領域HC1(第1のヒットチェック領域)とボールオブジェクトBOBに対して設定されたヒットチェック領域HC2(第2のヒットチェック領域)とがオーバーラップする場合に、接触イベントが発生したと判断され、接触イベント発生フラグがオンにセットされる。   As shown in FIG. 7A, when a contact event (collision event) occurs in which the ball object (other object) BOB contacts (collises) with the object MOB of the snow surface model, it corresponds to the ball object. With reference to the attached height map texture, the height information set in the texel (grid point) corresponding to the vertex constituting the contact area of the ball object BOB is acquired. The generation of the contact event is performed by hit check. As shown in FIG. 7A, the hit event is generated in the hit check area HC1 (first hit check area) and the ball object BOB set for the object MOB of the snow surface model. On the other hand, when the hit check area HC2 (second hit check area) set for the area overlaps, it is determined that a contact event has occurred, and the contact event occurrence flag is set to ON.

また雪面モデルを変形させるに際し、図7(B)に示すように、雪面モデルの接触エリアに新たな頂点を生成してポリゴンを細分割しておく。すなわち接触イベントが発生して、堆積物モデルのオブジェクトの接触エリアに対応する頂点群を堆積方向と逆の方向に移動させる際には、頂点生成処理を行って、堆積物モデルのオブジェクトに対して新たな頂点を生成するようにしてもよい。言い換えれば、接触イベントが発生した場合には、堆積物モデルのオブジェクトを構成するポリゴンを細分割してもよい。これにより堆積物モデルの元オブジェクトの解像度を低くしておいても、接触痕跡(衝突痕跡)を詳細に表現することができる。   When the snow surface model is deformed, a new vertex is generated in the contact area of the snow surface model and the polygon is subdivided as shown in FIG. 7B. That is, when a contact event occurs and the vertex group corresponding to the contact area of the deposit model object is moved in the direction opposite to the deposition direction, the vertex generation process is performed to the deposit model object. A new vertex may be generated. In other words, when a contact event occurs, the polygons constituting the deposit model object may be subdivided. Thereby, even if the resolution of the original object of the deposit model is lowered, the contact trace (collision trace) can be expressed in detail.

最終的には、図7(C)に示すように、取得されたテクセル値(格子点の高さ情報)に基づいて、雪面モデルのオブジェクトMOBの接触エリアに対応する頂点群をY軸の負方向(下方向;広義には、堆積方向とは逆の方向)に移動させる処理を行う。すなわち、雪面モデルのオブジェクトMOBが占める体積を減少させる方向に頂点群を移動させる処理を行う。このとき頂点群の移動処理では、上記ハイトマップテクスチャから得られる高さ情報が頂点の移動量を決定するパラメータとなる。また移動方向は本例のように所与の軸方向(X軸方向、Y軸方向、及びZ軸方向)への移動を指示するパラメータで与えてもよいし、他のオブジェクトBOBのプリミティブの面の向きを表す法線ベクトルの向きを頂点の移動方向として用いてもよい。また接触イベントの発生により、雪面モデルのオブジェクトMOBの頂点を移動させた場合には、移動後の頂点の位置に基づいて、ヒットチェック領域HC1を再設定しておくことが望ましい。   Finally, as shown in FIG. 7C, based on the acquired texel value (grid point height information), the vertex group corresponding to the contact area of the object MOB of the snow surface model is represented on the Y axis. A process of moving in the negative direction (downward; in a broad sense, the direction opposite to the deposition direction) is performed. That is, the vertex group is moved in a direction to reduce the volume occupied by the object MOB of the snow surface model. At this time, in the vertex group movement process, the height information obtained from the height map texture is a parameter for determining the vertex movement amount. Further, the movement direction may be given by a parameter instructing movement in a given axial direction (X-axis direction, Y-axis direction, and Z-axis direction) as in this example, or a primitive surface of another object BOB. The direction of the normal vector representing the direction of the vertex may be used as the moving direction of the vertex. When the vertex of the snow surface model object MOB is moved due to the occurrence of the contact event, it is desirable to reset the hit check area HC1 based on the position of the vertex after the movement.

また接触イベントが発生した場合、堆積物モデルのオブジェクトと他のオブジェクトとの接触位置と仮想カメラとの距離に応じて堆積物モデルのオブジェクトの詳細度(解像度、分解能)を変更してもよい。また接触位置と仮想カメラとの距離に応じて頂点シェーディングの内容を変更してもよい。   When a contact event occurs, the level of detail (resolution, resolution) of the deposit model object may be changed according to the distance between the contact position between the deposit model object and another object and the virtual camera. Further, the content of vertex shading may be changed according to the distance between the contact position and the virtual camera.

例えば、図8に示すように、接触位置が仮想カメラVCから第1の距離範囲R1内にある場合には、堆積物モデルのオブジェクトの接触位置に対応する頂点群を移動させる頂点シェーディングを行い、接触位置が仮想カメラVCから第1の距離範囲R1よりも遠い第2の距離範囲R2内にある場合には、堆積物モデルのオブジェクトの接触位置に対して法線マッピングあるいはバンプマッピングを行って他のオブジェクトの痕跡を表すことができる。また第2の距離範囲R2よりもさらに仮想カメラVCから遠い第3の距離範囲R3内で接触イベントが発生した場合には、痕跡表現用テクスチャを堆積物モデルのオブジェクトの接触エリアにテクスチャマッピングすることにより簡易的に他のオブジェクトの接触痕跡を表現することができる。   For example, as shown in FIG. 8, when the contact position is within the first distance range R1 from the virtual camera VC, vertex shading is performed to move the vertex group corresponding to the contact position of the object of the deposit model, When the contact position is within the second distance range R2 farther than the first distance range R1 from the virtual camera VC, normal mapping or bump mapping is performed on the contact position of the object of the deposit model. The trace of the object can be represented. In addition, when a contact event occurs in the third distance range R3 that is further from the virtual camera VC than the second distance range R2, texture mapping is performed on the contact area of the deposit model object. Thus, it is possible to easily express the contact trace of another object.

また接触イベントが発生した場合には、他のオブジェクトの移動情報、堆積物の種類(マテリアル情報)、あるいは堆積物モデルのオブジェクトに対して加えられた荷重に応じて、テクセルに設定された高さ情報及び接触エリアの範囲の少なくとも一方が異なる複数のハイトマップテクスチャを切り替えて、堆積物モデルのオブジェクトの接触エリアを構成する頂点群を移動させる処理を行ってもよい。   Also, when a contact event occurs, the height set in the texel according to the movement information of other objects, the type of deposit (material information), or the load applied to the deposit model object. A process may be performed in which a plurality of height map textures that differ in at least one of the information and the range of the contact area are switched to move a vertex group constituting the contact area of the object of the deposit model.

2.3 堆積物移動イベントの表現手法
次に、堆積物が移動するイベントの表現手法を説明する。本手法は、例えば、堆積物の落下イベントや雪崩イベントを表現する場合に適用することができる。
2.3 Method for Representing Sediment Movement Event Next, a method for representing the event that the sediment moves will be described. This technique can be applied, for example, to express a sediment fall event or an avalanche event.

本実施形態では、オブジェクト空間内で雪や灰などの堆積物が移動するイベントが発生した場合に、移動元(第1のエリア)では、堆積物モデルのオブジェクトの頂点をY軸の負方向(下方向;広義には、堆積方向とは逆の方向)に移動させ、移動先(第2のエリア)では、堆積物モデルのオブジェクトの頂点をY軸の正方向(上方向;広義には、堆積方向)に移動させる手法を採用する。これによって、あたかも移動元から移動先へ堆積物が移動したかのように見せる画像を生成することができる。   In the present embodiment, when an event in which a deposit such as snow or ash moves in the object space occurs, the vertex of the deposit model object is set in the negative direction of the Y axis (first area). Move downward (in the broad sense, the direction opposite to the deposition direction), and at the destination (second area), move the vertex of the deposit model object in the positive direction of the Y axis (upward; broadly, A method of moving in the deposition direction) is adopted. This makes it possible to generate an image that makes it appear as if the deposit has moved from the source to the destination.

移動元における頂点群と移動先における頂点群とは、1つのモデルオブジェクトを構成するものであってもよいし、別個のモデルオブジェクトを構成するものであってもよい。また、移動元のエリアから移動先のエリアへ移動する様子をテクスチャを用いたアニメーション処理で補間してもよい。このようにすれば、頂点の移動処理を移動元のエリアと移動先のエリアとに限って行えばよいため、映像の品質を落とさずに演算負荷を軽減することができる。   The vertex group at the movement source and the vertex group at the movement destination may constitute one model object, or may constitute separate model objects. Further, the state of moving from the movement source area to the movement destination area may be interpolated by animation processing using a texture. In this way, the vertex movement process need only be performed in the area of the movement source and the area of the movement destination, so that the calculation load can be reduced without degrading the quality of the video.

なお本手法は、堆積イベントの発生中に堆積物移動イベントが発生した場合にも適用することができる。例えば、堆積イベント中に所与の高さまで堆積物が堆積したら、言い換えれば堆積物モデルのオブジェクトの頂点が所与の設定座標まで移動したら、落下イベントや雪崩イベントを発生させることができる。すなわち、堆積イベント中に所与の条件を満たした場合には、堆積物移動イベント発生フラグがオンにセットされる。   This technique can also be applied to the case where a sediment movement event occurs during the occurrence of a deposition event. For example, if a deposit is deposited to a given height during a deposition event, in other words, if the vertex of the deposit model object has moved to a given set coordinate, a fall event or avalanche event can be generated. That is, when a given condition is satisfied during the deposition event, the sediment movement event occurrence flag is set to ON.

例えば木の枝の上にある雪が落下するようなイベントが発生した場合には、枝の上に積もった雪の量が所定量に達したら、枝の上に配置設定される雪面モデルのオブジェクト自体を非表示にして地形モデルの上に配置設定される雪面モデルのオブジェクトの落下エリアに対応する頂点群を堆積方向に移動させるようにしてもよい。この場合、落下エリアに対応する雪面モデルのオブジェクトの頂点群の移動量は、枝の上から落下する雪の量に応じて移動させる処理を行うことができる。   For example, when an event that snow falls on a tree branch occurs, when the amount of snow that has accumulated on the branch reaches a predetermined amount, the object of the snow surface model that is placed and set on the branch The vertex group corresponding to the fall area of the object of the snow surface model set to be placed on the terrain model without being displayed may be moved in the accumulation direction. In this case, the movement amount of the vertex group of the object of the snow surface model corresponding to the fall area can be moved according to the amount of snow falling from the top of the branch.

また例えば、雪崩イベントが発生した場合には、図9に示すように、雪崩により雪が滑り落ちる斜面の上部(移動元;第1のエリア)と下部(移動先;第2のエリア)とにおいて頂点群の移動を連動させることで表現することができる。すなわち斜面の上部では、急激に頂点を堆積方向とは逆の方向(下方向、Y軸の負方向)に移動させるとともに、斜面の下部では、急激に堆積方向(上方向、Y軸の正方向)に頂点を移動させる。斜面の上部における頂点の移動と斜面の下部における頂点の移動との間のフレームでは、雪崩を表現するテクスチャで繋ぎアニメーション処理を行って、雪崩の最中の画像を生成してもよい。例えば、雪が移動する間、雪崩や落下の様子は板状のポリゴン(スプライト)に雪崩表現用テクスチャや落下表現用テクスチャをテクスチャマッピングすることで繋ぎアニメーション処理を行うことができる。また堆積物移動イベントが発生して堆積物モデルの頂点群を移動させた場合においても、移動後の頂点の位置座標に基づいて、ヒットチェック領域を再設定することが望ましい。   Further, for example, when an avalanche event occurs, as shown in FIG. 9, vertex groups are formed at the upper part (movement source: first area) and lower part (movement destination: second area) of the slope where the snow slides due to the avalanche. It can be expressed by linking movements of That is, at the upper part of the slope, the apex is suddenly moved in the direction opposite to the deposition direction (downward, negative Y-axis direction), and at the lower part of the slope, the deposition direction (upward, positive Y-axis direction) is suddenly moved. ) To move the vertex. In a frame between the movement of the apex at the upper part of the slope and the movement of the apex at the lower part of the slope, an animation during the avalanche may be generated by performing an animation process with a texture expressing the avalanche. For example, while snow is moving, the avalanche and the state of falling can be connected to a plate-shaped polygon (sprite) by texture mapping the avalanche expression texture and the fall expression texture to perform animation processing. Even when the deposit movement event occurs and the vertex group of the deposit model is moved, it is desirable to reset the hit check area based on the position coordinates of the vertex after the movement.

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

図10に示すように、まずフレーム更新(1/60秒)のタイミングか否かを判断する(ステップS10)。そしてフレーム更新のタイミングである場合には(ステップS10でYES)、堆積イベントが発生したか否かを判断する(ステップS11)。堆積イベントが発生したと判断された場合には(ステップS11でYES)、堆積イベント発生フラグをオンにセットする(ステップS12)。なお、堆積イベントが発生していないと判断された場合には、ステップS12を介さずにステップS13以下の処理へ移行する。   As shown in FIG. 10, it is first determined whether or not it is a frame update (1/60 second) timing (step S10). If it is the frame update timing (YES in step S10), it is determined whether or not a deposition event has occurred (step S11). If it is determined that a deposition event has occurred (YES in step S11), a deposition event occurrence flag is set to on (step S12). If it is determined that no deposition event has occurred, the process proceeds to step S13 and subsequent steps without going through step S12.

次に、頂点シェーダ用及びピクセルシェーダ用のシェーダプログラムの転送とシェーダプログラムを実行して描画処理を行うために必要な各種パラメータの設定及び転送を行う(ステップS13、S14、S15)。そして、堆積物モデルの頂点リストを頂点シェーダへ転送し(ステップS16)、ステップS13、S14で転送した頂点シェーダプログラム及びピクセルシェーダプログラムを順次を実行する(ステップS17、S18)。   Next, the shader program for the vertex shader and the pixel shader is transferred, and various parameters necessary for performing the rendering process by executing the shader program are set (steps S13, S14, S15). Then, the vertex list of the deposit model is transferred to the vertex shader (step S16), and the vertex shader program and the pixel shader program transferred in steps S13 and S14 are sequentially executed (steps S17 and S18).

頂点シェーダでは、図11に示すフローチャートに沿って頂点シェーディングを行う。まず堆積イベント発生フラグを確認し(ステップS20)、堆積イベント発生フラグがオンである場合には(ステップS20でYES)、図2(A)〜図2(C)あるいは図3(A)〜図3(C)で説明したように、各頂点のX軸、Y軸、及びZ軸の各軸方向への移動量を決定する(ステップS21)。例えば、ハイトマップテクスチャを用いる場合には、テクセルに設定された高さ情報によりY軸方向への頂点の移動量を決定する。次に各頂点について頂点の移動が禁止される堆積禁止エリアに属しているかどうかを確認する(ステップS22)。堆積禁止エリアに属する頂点については(ステップS22でYES)、頂点の移動量を0に設定する(ステップS23)。なお、ステップS21で求められた移動量に堆積制限パラメータを乗算して堆積禁止エリアに属する頂点の移動量を0にしてもよい。堆積禁止エリアに属さない頂点については、図2(C)あるいは図3(C)で説明したように、ステップS21で求められた各軸方向への移動量に従って頂点を移動させる(ステップS24)。すなわち、マトリクス演算(ベクトル演算)によって、頂点の位置座標を変換する処理を行う。次に、透視変換等のジオメトリ処理によって座標系の変換処理を行い、堆積物モデルの頂点のスクリーン座標を計算する(ステップS25)。このときテクスチャ座標の設定なども行われる。最終的には、作成された頂点データをピクセルシェーダに転送して頂点シェーダプログラムを終了する。   The vertex shader performs vertex shading according to the flowchart shown in FIG. First, the accumulation event occurrence flag is confirmed (step S20). If the accumulation event occurrence flag is ON (YES in step S20), FIG. 2 (A) to FIG. 2 (C) or FIG. 3 (A) to FIG. As described in 3 (C), the amount of movement of each vertex in the direction of each axis of the X axis, Y axis, and Z axis is determined (step S21). For example, when using a height map texture, the amount of movement of the vertex in the Y-axis direction is determined based on the height information set in the texel. Next, it is confirmed whether or not each vertex belongs to the accumulation prohibited area where the movement of the vertex is prohibited (step S22). For vertices belonging to the accumulation prohibited area (YES in step S22), the vertex movement amount is set to 0 (step S23). Note that the amount of movement of the vertex belonging to the accumulation prohibited area may be set to 0 by multiplying the amount of movement obtained in step S21 by the accumulation limit parameter. As for the vertices that do not belong to the accumulation prohibited area, as described in FIG. 2C or FIG. 3C, the vertices are moved according to the movement amounts in the respective axial directions obtained in step S21 (step S24). In other words, processing for converting the position coordinates of the vertex is performed by matrix calculation (vector calculation). Next, coordinate system conversion processing is performed by geometry processing such as perspective conversion, and the screen coordinates of the vertices of the deposit model are calculated (step S25). At this time, texture coordinates are set. Finally, the created vertex data is transferred to the pixel shader and the vertex shader program is terminated.

次にピクセルシェーダでは、図12のフローチャートに従って、ピクセルシェーダプログラムを実行する。まず頂点シェーディングが完了すると、頂点シェーダから転送される頂点データに基づいて、各頂点の移動方向および移動量を計算する(ステップS30)。すなわち、元オブジェクトの頂点の位置座標と頂点シェーディング後の位置座標との変位データを求める。次に、求められた頂点の移動方向および移動量に基づいて、各ピクセルの色を設定する(ステップS31)具体的には、テクスチャマッピングやαブレンディングなどを行って堆積物モデルのピクセルの色を決定する。例えば、下方向に頂点が移動していると判断されたら、その移動量に応じて光沢が強くなるようにピクセルの色を決定する。そして、決定された色データをフレームバッファに出力して堆積物モデルのピクセルを描画する(ステップS32)。   Next, the pixel shader executes the pixel shader program according to the flowchart of FIG. First, when the vertex shading is completed, the moving direction and moving amount of each vertex are calculated based on the vertex data transferred from the vertex shader (step S30). That is, displacement data between the position coordinates of the vertex of the original object and the position coordinates after the vertex shading is obtained. Next, the color of each pixel is set based on the obtained moving direction and moving amount of the vertex (step S31). Specifically, texture mapping, α blending, etc. are performed to set the pixel color of the deposit model. decide. For example, if it is determined that the vertex is moving downward, the color of the pixel is determined so as to increase the gloss according to the amount of movement. Then, the determined color data is output to the frame buffer, and the pixel of the deposit model is drawn (step S32).

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は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダも描画プロセッサ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 (vertex data and other parameters) to the drawing processor 910 and, if necessary, the texture to the texture storage unit 924. Forward. 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. Programmable shaders such as a vertex shader and a pixel shader are also mounted on the drawing processor 910. According to the shader program that realizes the method of this embodiment, the creation / change (update) of vertex data and the drawing color of pixels (or fragments) are changed. Make a decision. 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.

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(Y軸の正方向(上方向)、Y軸の負方向(下方向)、仮想カメラ、ピクセル、ハイトマップテクスチャ、法線マップテクスチャなど)として引用された用語(堆積方向、堆積方向とは逆の方向、視点、フラグメント、ハイトマップデータ、法線マップデータなど)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また堆積イベントの表現手法、接触イベントの表現手法、あるいは堆積物移動イベントの表現手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。   The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, in the description or drawings, terms that are broad or synonymous (Y-axis positive direction (upward), Y-axis negative direction (downward), virtual camera, pixel, height map texture, normal map texture, etc. ) (Deposition direction, direction opposite to the deposition direction, viewpoint, fragment, height map data, normal map data, etc.) are terms that are broadly or synonymous in the description or other descriptions in the drawings. Can be replaced. Further, the method for expressing the deposition event, the method for expressing the contact event, or the method for expressing the deposit movement event are not limited to those described in the present embodiment, and methods equivalent to these methods are also included in the scope of the present invention.

また本実施の形態では、地形オブジェクトの上に堆積物モデル(例えば雪面モデル)の元オブジェクトが配置設定される場合を例に採り説明したが、本発明はこれに限定されず、地形オブジェクト自体を堆積物モデルの元オブジェクトとして用いることもできる。   In the present embodiment, the case where the original object of the sediment model (for example, the snow surface model) is arranged on the terrain object has been described as an example. However, the present invention is not limited to this, and the terrain object itself Can also be used as the original object of the sediment model.

また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   The present invention can also be applied to various games (such as fighting games, shooting games, robot fighting games, sports games, competitive games, role playing games, music playing games, dance games, etc.). Further, the present invention is applied 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 a game image, and a mobile phone. it can.

本実施形態の機能ブロック図である。It is a functional block diagram of this embodiment. 図2(A)〜図2(E)は、本実施形態の堆積イベントにおける頂点シェーディング手法の説明図である。2A to 2E are explanatory diagrams of the vertex shading technique in the deposition event of the present embodiment. 図3(A)〜図3(C)は、本実施形態の堆積イベントにおける頂点シェーディング手法の説明図である。FIG. 3A to FIG. 3C are explanatory diagrams of the vertex shading method in the deposition event of the present embodiment. 図4(A)及び図4(B)は、本実施形態のヒットチェック領域の設定手法の説明図である。4A and 4B are explanatory diagrams of a hit check area setting method according to the present embodiment. 図5(A)及び図5(B)は、本実施形態のヒットチェック領域の設定手法の説明図である。FIG. 5A and FIG. 5B are explanatory diagrams of a hit check area setting method according to this embodiment. 本実施形態の堆積制限エリアの設定手法の説明図である。It is explanatory drawing of the setting method of the accumulation | storage limitation area of this embodiment. 図7(A)〜図7(C)は、本実施形態の接触イベントにおける頂点シェーディング手法の説明図である。FIG. 7A to FIG. 7C are explanatory diagrams of the vertex shading technique in the contact event of this embodiment. 本実施形態の仮想カメラからの距離に応じた詳細度の切り替え手法の説明図である。It is explanatory drawing of the switching method of the detail level according to the distance from the virtual camera of this embodiment. 本実施形態の堆積物移動イベントにおける頂点シェーディング手法の説明図である。It is explanatory drawing of the vertex shading method in the sediment movement event of this embodiment. 本実施形態の具体的な処理例を示すフローチャートである。It is a flowchart which shows the specific process example of this embodiment. 本実施形態の具体的な処理例を示すフローチャートである。It is a flowchart which shows the specific process example of this embodiment. 本実施形態の具体的な処理例を示すフローチャートである。It is a flowchart which shows the specific process example of this embodiment. ハードウェア構成の例である。It is an example of a hardware configuration.

符号の説明Explanation of symbols

GOB 地形オブジェクト、
MOB 堆積物モデルの元オブジェクト、
MOB’,MOB煤@頂点シェーディング後の堆積物モデルのオブジェクト、
HC,HC1〜HC3 ヒットチェック領域
100 処理部、
111 オブジェクト空間設定部、112 移動・動作処理部、
113 仮想カメラ制御部、114 イベント判定部、
115 ヒットチェック領域設定部、116 堆積制限エリア設定部、
120 画像生成部、122 頂点シェーダ部、124 ピクセルシェーダ部、
130 音生成部、160 操作部、
170 記憶部、
171 主記憶部、173 フレームバッファ、175 テクスチャ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部
GOB terrain object,
Original object of MOB sediment model,
MOB ', MOB 煤 @Sediment model object after vertex shading,
HC, HC1-HC3 hit check area
100 processing unit,
111 object space setting unit, 112 movement / motion processing unit,
113 virtual camera control unit, 114 event determination unit,
115 hit check area setting section, 116 accumulation limit area setting section,
120 image generation units, 122 vertex shader units, 124 pixel shader units,
130 sound generation unit, 160 operation unit,
170 storage unit,
171 main storage unit, 173 frame buffer, 175 texture storage unit,
180 information storage medium, 190 display unit, 192 sound output unit,
194 Portable information storage device, 196 communication unit

Claims (13)

画像を生成するためのプログラムであって、
オブジェクト空間において堆積物の堆積量が増加する堆積イベントが発生したか否かを判定するイベント判定部と、
前記堆積イベントが発生したと判定された場合に、堆積物モデルの元オブジェクトの頂点データを変更する頂点シェーディングを行い、頂点シェーディング後の頂点データに基づいて、前記オブジェクト空間を所与の視点から見た画像を生成する画像生成部として、
コンピュータを機能させ、
前記堆積物モデルの元オブジェクトに対して、格子状に法線ベクトル情報が設定された法線マップデータが対応づけられており、
前記画像生成部が、
前記堆積物モデルの元オブジェクトに対応づけられた法線マップデータを参照して格子点に設定された法線ベクトル情報を取得し、取得された法線ベクトル情報を含み時間経過に伴って変動する頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を法線ベクトルの向きに沿って移動させる頂点シェーディングを行うことを特徴とするプログラム。
A program for generating an image,
An event determination unit that determines whether or not a deposition event in which the amount of deposit increases in the object space has occurred;
When it is determined that the accumulation event has occurred, vertex shading is performed to change the vertex data of the original object of the sediment model, and the object space is viewed from a given viewpoint based on the vertex data after the vertex shading. As an image generator that generates
Make the computer work,
Normal map data in which normal vector information is set in a grid pattern is associated with the original object of the deposit model,
The image generator
The normal vector information set to the grid points is acquired with reference to the normal map data associated with the original object of the deposit model, and includes the acquired normal vector information and varies with time. A program for performing vertex shading for moving a vertex of an original object of the deposit model along a direction of a normal vector based on vertex movement information.
請求項1において、
前記堆積物モデルの元オブジェクトに対して、格子状に高さ情報が設定されたハイトマップデータが対応づけられており、
前記画像生成部が、
前記堆積物モデルの元オブジェクトに対応づけられたハイトマップデータを参照して格子点に設定された高さ情報を取得し、取得された高さ情報を含む前記頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を法線ベクトルの向きに沿って移動させる頂点シェーディングを行うことを特徴とするプログラム。
In claim 1,
Height map data in which height information is set in a grid pattern is associated with the original object of the deposit model,
The image generator
Reference is made to height map data associated with the original object of the deposit model to obtain height information set at grid points, and based on the vertex movement information including the obtained height information, the deposit A program that performs vertex shading that moves the vertices of an original object of an object model along the direction of a normal vector .
請求項1又は2において、
前記イベント判定部が、
頂点を法線ベクトルの向きに沿って移動させた前記堆積物モデルのオブジェクトに対し、他のオブジェクトが接触する接触イベントが発生したか否かを判定し、
前記他のオブジェクトに対して、格子状に高さ情報が設定されたハイトマップデータが対応づけられており、
前記画像生成部が、
前記他のオブジェクトに対応づけられたハイトマップデータを参照して格子点に設定された高さ情報を取得し、取得された高さ情報に基づいて、前記堆積物モデルのオブジェクトの頂点を法線ベクトルの向きとは逆の方向に移動させる頂点シェーディングを行うことを特徴とするプログラム。
In claim 1 or 2 ,
The event determination unit
A determination is made as to whether or not a contact event has occurred in which another object contacts the object of the deposit model whose vertex has been moved along the direction of the normal vector ;
Height map data in which height information is set in a grid pattern is associated with the other object,
The image generator
Above with reference to height map data associated with the other objects acquired height information set in the lattice points, based on the obtained height information which, normals to the vertices of the object of the deposit model A program that performs vertex shading that moves in the direction opposite to the vector direction .
請求項において、
前記イベント判定部が、
前記堆積物モデルのオブジェクトに対して設定された第1のヒットチェック領域と前記他のオブジェクトについて設定された第2のヒットチェック領域とがオーバーラップするときに前記接触イベントが発生したと判定し、
前記堆積物モデルの元オブジェクトの頂点が法線ベクトルの向きに沿って移動された場合、あるいは頂点が法線ベクトルの向きに沿って移動された前記堆積モデルのオブジェクトの頂点が該法線ベクトルの向きとは逆の方向に移動された場合に、移動後の頂点の位置に基づいて、前記堆積物モデルのオブジェクトに対して設定される第1のヒットチェック領域を再設定するヒットチェック領域設定部としてコンピュータを機能させることを特徴とするプログラム。
In claim 3 ,
The event determination unit
Determining that the contact event has occurred when a first hit check area set for an object of the deposit model and a second hit check area set for the other object overlap;
Vertices said normal vector of the object in the original case the object vertices of is moved along the direction of the normal vector the deposit model or the vertex is moved along the direction of the normal vector, of the deposit model If the orientation has been moved in the opposite direction, based on the positions of the vertices after movement, the hit check area set to reconfigure the first hit check area set for the object of the deposit model A program that causes a computer to function as a section.
請求項1〜のいずれかにおいて、
前記堆積物モデルの元オブジェクトに堆積制限エリアを設定する堆積制限エリア設定部としてコンピュータを機能させ、
前記画像生成部が、
前記堆積物モデルの元オブジェクトに対して前記堆積制限エリアが設定された場合に、その堆積制限エリアでの頂点の移動を制限する頂点シェーディングを行うことを特徴とするプログラム。
In any one of Claims 1-4 ,
Causing the computer to function as a deposition limit area setting unit that sets a deposition limit area on the original object of the deposit model;
The image generator
A program for performing vertex shading for restricting movement of vertices in the accumulation restriction area when the accumulation restriction area is set for an original object of the deposit model.
請求項1〜のいずれかにおいて、
前記画像生成部が、
前記堆積物モデルの元オブジェクトの頂点を移動させる頂点シェーディングが行われた場合に、該頂点シェーディング後の堆積物モデルのオブジェクトについてピクセル単位で画像情報を変更するピクセルシェーディングを行うことを特徴とするプログラム。
In any one of Claims 1-5 ,
The image generator
When vertex shading for moving the vertex of the original object of the deposit model is performed, pixel shading for changing image information in units of pixels is performed on the object of the deposit model after the vertex shading. .
請求項1〜のいずれかにおいて、
前記画像生成部が、
前記堆積イベントが終了した場合に、堆積物モデルのオブジェクトの頂点を前記法線ベクトルの向きとは逆の方向に移動させる頂点シェーディングを行うことを特徴とするプログラム。
In any one of Claims 1-6 ,
The image generator
A program for performing vertex shading for moving a vertex of an object of a sediment model in a direction opposite to a direction of the normal vector when the deposition event is completed.
請求項において、
前記画像生成部が、
前記堆積イベントの発生中は、第1の頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を法線ベクトルの向きに沿って移動し、
前記堆積イベントの終了後は、第1の頂点移動情報と異なる第2の頂点移動情報に基づいて、頂点を法線ベクトルの向きに沿って移動させた堆積物モデルのオブジェクトの頂点を法線ベクトルの向きとは逆の方向に移動する頂点シェーディングを行うことを特徴とするプログラム。
In claim 7 ,
The image generator
During the occurrence of the deposition event, based on the first vertex movement information, move the vertex of the original object of the deposit model along the direction of the normal vector ,
After the deposition event ends, the vertex of the object of the deposit model in which the vertex is moved along the direction of the normal vector based on the second vertex movement information different from the first vertex movement information is the normal vector. A program characterized by performing vertex shading that moves in the direction opposite to the direction of.
請求項またはにおいて、
前記画像生成部が、
前記堆積イベントの終了後に、頂点を前記法線ベクトルの向きとは逆の方向に移動させた堆積物モデルの元オブジェクトについてピクセル単位で画像情報を変更するピクセルシェーディングを行うことを特徴とするプログラム。
In claim 7 or 8 ,
The image generator
A program characterized by performing pixel shading for changing image information in units of pixels for an original object of a deposit model whose vertex has been moved in a direction opposite to the direction of the normal vector after the deposition event ends.
請求項1〜のいずれかにおいて、
前記イベント判定部が、
前記オブジェクト空間において堆積物が第1のエリアから第2のエリアに移動する堆積物移動イベントが発生したか否かを判定し、
前記画像生成部が、
前記堆積物移動イベントが発生したと判定された場合に、前記第1のエリアでは、堆積物モデルのオブジェクトの頂点を、前記法線ベクトルの向きとは逆の方向に移動させるとともに、前記第2のエリアでは、堆積物モデルのオブジェクトの頂点を法線ベクトルの向きに沿って移動させる頂点シェーディングを行うことを特徴とするプログラム。
In any of the claims 1-9,
The event determination unit
Determining whether a deposit movement event has occurred in which the deposit moves from the first area to the second area in the object space;
The image generator
When it is determined that the sediment movement event has occurred, the vertex of the object of the sediment model is moved in the direction opposite to the direction of the normal vector in the first area, and the second area In this area, the program performs vertex shading that moves the vertex of the object of the sediment model along the direction of the normal vector .
請求項1〜10のいずれかにおいて、
前記堆積物モデルの元オブジェクトの所与のエリアにおいて他のエリアとは異なる頂点
移動情報が設定されており、
前記画像生成部が、
前記堆積物モデルの元オブジェクトの頂点を、前記エリアごとに設定された頂点移動情報に基づいて法線ベクトルの向きに沿って移動させる頂点シェーディングを行うことを特徴とするプログラム。
In any one of Claims 1-10 ,
Vertex movement information different from other areas is set in a given area of the original object of the deposit model,
The image generator
A program for performing vertex shading for moving a vertex of an original object of the deposit model along a direction of a normal vector based on vertex movement information set for each area.
コンピュータにより読取可能な情報記憶媒体であって、請求項1〜11のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。 An information storage medium readable by a computer, wherein the program according to any one of claims 1 to 11 is stored. 画像を生成するための画像生成システムであって、
オブジェクト空間において堆積物の堆積量が増加する堆積イベントが発生したか否かを判定するイベント判定部と、
前記堆積イベントが発生したと判定された場合に、前記堆積物モデルの元オブジェクトの頂点データを変更する頂点シェーディングを行い、頂点シェーディング後の頂点データに基づいて、前記オブジェクト空間を所与の視点から見た画像を生成する画像生成部と、
を含み、
前記堆積物モデルの元オブジェクトに対して、格子状に法線ベクトル情報が設定された法線マップデータが対応づけられており、
前記画像生成部が、
前記堆積物モデルの元オブジェクトに対応づけられた法線マップデータを参照して格子点に設定された法線ベクトル情報を取得し、取得された法線ベクトル情報を含み時間経過に伴って変動する頂点移動情報に基づいて、前記堆積物モデルの元オブジェクトの頂点を法線ベクトルの向きに沿って移動させる頂点シェーディングを行うことを特徴とする画像生成システム。
An image generation system for generating an image,
An event determination unit that determines whether or not a deposition event in which the amount of deposit increases in the object space has occurred;
When it is determined that the accumulation event has occurred, vertex shading is performed to change the vertex data of the original object of the deposit model, and the object space is determined from a given viewpoint based on the vertex data after the vertex shading. An image generator for generating the viewed image;
Including
Normal map data in which normal vector information is set in a grid pattern is associated with the original object of the deposit model,
The image generator
The normal vector information set to the grid points is acquired with reference to the normal map data associated with the original object of the deposit model, and includes the acquired normal vector information and varies with time. An image generation system characterized by performing vertex shading that moves a vertex of an original object of the deposit model along a direction of a normal vector based on vertex movement information.
JP2005102903A 2005-03-31 2005-03-31 Program, information storage medium, and image generation system Expired - Fee Related JP4651436B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005102903A JP4651436B2 (en) 2005-03-31 2005-03-31 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005102903A JP4651436B2 (en) 2005-03-31 2005-03-31 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2006285510A JP2006285510A (en) 2006-10-19
JP4651436B2 true JP4651436B2 (en) 2011-03-16

Family

ID=37407391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005102903A Expired - Fee Related JP4651436B2 (en) 2005-03-31 2005-03-31 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP4651436B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256177A (en) * 2017-12-28 2018-07-06 中国水利水电科学研究院 A kind of parameter optimization method and system of river Water-sand model

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4885080B2 (en) 2007-07-09 2012-02-29 任天堂株式会社 Image processing program and image processing apparatus
US8947448B2 (en) 2009-12-24 2015-02-03 Sony Corporation Image processing device, image data generation device, image processing method, image data generation method, and data structure of image file
JP5242838B1 (en) * 2012-09-13 2013-07-24 株式会社プレミアムエージェンシー Video processing program and video processing apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325683A (en) * 1996-06-06 1997-12-16 Namco Ltd Three dimensional simulator device and information storage medium
JPH11328157A (en) * 1998-05-13 1999-11-30 Mitsubishi Electric Corp Device and method for data mapping
JP2002216165A (en) * 2001-01-12 2002-08-02 Namco Ltd Image generation system, program and information storage medium
JP2002251625A (en) * 2001-02-22 2002-09-06 Sega Corp Device and method for processing image, recording medium for recording program for processing image operating on computer
JP2003256877A (en) * 2002-03-05 2003-09-12 Hokkaido Chizu Kk Snow landscape image and method for preparing snow landscape map, snow landscape displayed by the same method, and snow landscape map

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325683A (en) * 1996-06-06 1997-12-16 Namco Ltd Three dimensional simulator device and information storage medium
JPH11328157A (en) * 1998-05-13 1999-11-30 Mitsubishi Electric Corp Device and method for data mapping
JP2002216165A (en) * 2001-01-12 2002-08-02 Namco Ltd Image generation system, program and information storage medium
JP2002251625A (en) * 2001-02-22 2002-09-06 Sega Corp Device and method for processing image, recording medium for recording program for processing image operating on computer
JP2003256877A (en) * 2002-03-05 2003-09-12 Hokkaido Chizu Kk Snow landscape image and method for preparing snow landscape map, snow landscape displayed by the same method, and snow landscape map

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256177A (en) * 2017-12-28 2018-07-06 中国水利水电科学研究院 A kind of parameter optimization method and system of river Water-sand model
CN108256177B (en) * 2017-12-28 2021-02-05 中国水利水电科学研究院 Parameter optimization method and system for river water sand model

Also Published As

Publication number Publication date
JP2006285510A (en) 2006-10-19

Similar Documents

Publication Publication Date Title
JP4651435B2 (en) Program, information storage medium, and image generation system
JP4804120B2 (en) Program, information storage medium, and image generation system
JP2012234441A (en) Program, information storage medium, image generation system and server system
JP4651436B2 (en) Program, information storage medium, and image generation system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP2001070633A (en) Image forming system and information recording medium
JP4651527B2 (en) Program, information storage medium, and image generation system
JP2007141082A (en) Program, texture data structure, information storage medium, and image generation system
JP2009129167A (en) Program, information storage medium, and image generation system
JP4754384B2 (en) Program, information recording medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4656615B2 (en) Image generation system, program, and information storage medium
JP3576126B2 (en) Image generation system, program, and information storage medium
JP4861862B2 (en) Program, information storage medium, and image generation system
JP4717624B2 (en) Image generation system, program, and information storage medium
JP2007301014A (en) Program, information storage medium, and image generating system
JP2010055638A (en) Image generating system and information storage medium
JP4754385B2 (en) Program, information recording medium, and image generation system
JP4592087B2 (en) Image generation system, program, and information storage medium
JP2007164323A (en) Program, information storage medium and image generation system
JP2007164651A (en) Program, information storage medium and image generation system
JP2006318387A (en) Program, information storage medium, and image forming system
JP4865471B2 (en) Program, information storage medium, and image generation system
JP2010231364A (en) Image generation system, program and information recording medium
JP4624527B2 (en) GAME SYSTEM 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: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

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

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

LAPS Cancellation because of no payment of annual fees