JP4717624B2 - Image generation system, program, and information storage medium - Google Patents

Image generation system, program, and information storage medium Download PDF

Info

Publication number
JP4717624B2
JP4717624B2 JP2005363975A JP2005363975A JP4717624B2 JP 4717624 B2 JP4717624 B2 JP 4717624B2 JP 2005363975 A JP2005363975 A JP 2005363975A JP 2005363975 A JP2005363975 A JP 2005363975A JP 4717624 B2 JP4717624 B2 JP 4717624B2
Authority
JP
Japan
Prior art keywords
height
image
program
processing unit
point
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
JP2005363975A
Other languages
Japanese (ja)
Other versions
JP2007164728A (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.)
Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
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 Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.), Namco Ltd, Namco Bandai Games Inc filed Critical Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Priority to JP2005363975A priority Critical patent/JP4717624B2/en
Publication of JP2007164728A publication Critical patent/JP2007164728A/en
Application granted granted Critical
Publication of JP4717624B2 publication Critical patent/JP4717624B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

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

従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な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 popular as a place to experience so-called virtual reality.

さてこのようなゲームシステムでは、プレーヤの仮想現実向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。   Now, in such a game system, it is an important technical problem to generate a more realistic image in order to improve the player's virtual reality.

例えば水面(海面等)の画像を表示するゲームシステムでは、水面(海面等)を書いた1つのテクスチャで形成されるのが一般的であったが、単調な画像となっていたため、よりリアルな水面(海面等)の画像が表示できるゲームシステムが望まれていた。
特許第2812674号公報
For example, in a game system that displays an image of the water surface (the sea surface, etc.), it was generally formed with a single texture on which the water surface (the sea surface, etc.) was written, but since it was a monotonous image, it was more realistic. There has been a demand for a game system that can display an image of the water surface (the sea surface or the like).
Japanese Patent No. 2812673

例えば上記文献では2つのポリゴンデータを上下に間隔を開けて配置し、それそれテクスチャをマッピングすることにより、透明感及び深さ感のあるリアルな画像や霧のかかった水面の画像を表現しようとするものである。   For example, in the above-mentioned document, two polygon data are arranged at intervals in the vertical direction, and the texture is mapped accordingly to express a realistic image with a sense of transparency and depth, or an image of a foggy water surface. To do.

ところが波によって生じる海水面の複雑な動きを表現するものではなかった。   However, it did not express the complex movement of the sea surface caused by waves.

一般に海では沖では水面の高さの変化として進行してきた波が波打ち際付近では寄せたり引いたりする白波となっており、波によって沖と波打ち際では異なる態様をとりながらも一体として動作する。   In general, in the sea, a wave that has traveled offshore as a change in the height of the water surface is a white wave that approaches and pulls in the vicinity of the beach, and the waves operate as a single unit while taking different forms on the beach and at the beach.

しかし従来のゲームシステムでは、このような波による影響を反映したリアルな画像表現が行われていなかった。   However, in the conventional game system, realistic image expression reflecting the influence of such waves has not been performed.

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷で、波の影響を受けて変化する沖合から波打ち際までの水面のリアルな画像を生成することが可能な画像生成システム、プログラム及び情報記憶媒体を提供することにある。   The present invention has been made in view of the problems as described above, and the object of the present invention is to generate a realistic image of the water surface from the offshore to the shoreline that changes under the influence of waves with a small processing load. Another object of the present invention is to provide an image generation system, a program, and an information storage medium that can be used.

(1)本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
形状が変化する物体の第1の領域に対応した第1のオブジェクトについて、当該第1のオブジェクトの構成点の高さを周期的に変化させるための処理を行う第1のオブジェクト設定処理部と、
前記第1のオブジェクトの高さ変化の周期に同期させて、形状が変化する物体の第2の領域に対応した第2のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う第2のオブジェクト設定処理部と、
第1のオブジェクトと第2のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成する描画部と、とを含む画像生成システムに関係する。
(1) The present invention
An image generation system for generating an image visible from a virtual camera in an object space,
A first object setting processing unit that performs processing for periodically changing the height of the constituent points of the first object for the first object corresponding to the first region of the object whose shape changes;
Processing for periodically changing the position of the second object corresponding to the second region of the object whose shape changes in synchronization with the height change cycle of the first object relative to the first object A second object setting processing unit for performing
The present invention relates to an image generation system including a drawing unit that generates an image of an object space in which a first object and a second object are set as viewed from a virtual camera.

また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   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 a computer-readable information storage medium that stores (records) a program that causes a computer to function as each unit.

例えば形状が変化する物体の第1の領域に対応した第1のオブジェクトについて、当該第1のオブジェクトの構成点の平面座標と時間を引数とする周期関数に基づいて、当該第1のオブジェクトの構成点の高さを周期的に変化させるようにしてもよい。そして各フレームにおける各構成点の高さを演算して各フレームにおける第1のオブジェクトの形状を特定することができる。   For example, for the first object corresponding to the first region of the object whose shape changes, the configuration of the first object is based on the planar function of the configuration point of the first object and the periodic function with time as arguments. You may make it change the height of a point periodically. And the shape of the 1st object in each frame can be specified by calculating the height of each constituent point in each frame.

そして第1のオブジェクトの高さ変化の周期に同期させて、第2のオブジェクトの位置を周期的に変化させる。   Then, the position of the second object is periodically changed in synchronization with the height change period of the first object.

形状が変化する物体とは例えば液体や気体、固体でも形状が変化するもの)であり、具体的には波の立つ海等である。   An object whose shape changes is, for example, a liquid, a gas, or a solid whose shape changes), specifically, a waved sea or the like.

第1のオブジェクトは、例えば海水(形状が変化する物体)の沖を含む領域(第1の領域)の水面の画像を生成するためのオブジェクトであり、複数の構成点(構成点のXZ座標は例えばメッシュ状又は格子状になるように配置されている)の高さ(Y座標)を周期的に変化させることにより波のある水面を表現することができる。   The first object is, for example, an object for generating an image of the water surface of a region (first region) that includes an offshore of seawater (an object whose shape changes), and a plurality of constituent points (XZ coordinates of the constituent points are For example, a water surface with waves can be expressed by periodically changing the height (Y coordinate) of the mesh or the grid.

また第2のオブジェクトは、例えば海水(形状が変化する物体)の波打ち際を含む領域(第2の領域)の水面の画像を生成するためのオブジェクトであり、大きさは第1のオブジェクトの一端の幅と同じ程度の幅を有し寄せたり引いたりする波の変動する長さの最大長をカバーできる長さを有するオブジェクトであり形状は板状でもよいし、例えば第1のオブジェクトのように高さが変化するオブジェクトでもよい。   In addition, the second object is an object for generating an image of the water surface of the region (second region) including the shore of seawater (an object whose shape changes), for example, and the size is the size of one end of the first object. It is an object having the same width as the width and having a length that can cover the maximum length of the fluctuating wave that is gathered or pulled, and the shape may be a plate shape, for example, as high as the first object It may be an object whose height changes.

第2のオブジェクトの位置を第1のオブジェクトの高さ変化の周期に同期して、周期的に変化させるとは、両者の変化の周期が同じ場合でもよいし、一方の周期が他方の周期の整数倍になっている場合でもよい。また周期の長さが同じ又は整数倍であるが、ずれいる場合でもよい。   The position of the second object may be changed periodically in synchronization with the height change period of the first object, when both of the change periods may be the same, or one period may be the other period. It may be an integer multiple. Moreover, although the length of a period is the same or an integral multiple, it may be shifted.

また第1のオブジェクトについては、波打ち際から離れた液体面の画像を生成するためのピクセル処理をおこない、第2のオブジェクトについては、波打ち際の液体面の画像を生成するためのピクセル処理を行う。   The first object is subjected to pixel processing for generating an image of the liquid surface away from the undulation, and the second object is subjected to pixel processing for generating an image of the liquid surface during undulation.

例えば第1のオブジェクトについては、波打ち際から離れた液体面の模様のテクスチャをマッピングするようにしてもよいし、第2のオブジェクトについては、波打ち際の液体面の模様のテクスチャをマッピングするようにしてもよい。   For example, for the first object, the texture of the liquid surface pattern away from the rippling may be mapped, and for the second object, the texture of the liquid surface pattern at the rippling may be mapped. Good.

本発明によれば、第2のオブジェクトの位置が第1のオブジェクトの各構成点の高さの変化の周期に同期して周期的に変化するので、波の高さの変化と波打ち際で波が寄せては返す様子ちぐはぐとならず一体感のあるリアルな画像を生成することができる。   According to the present invention, since the position of the second object changes periodically in synchronization with the change period of the height of each constituent point of the first object, the wave is changed between the change of the wave height and the edge of the wave. It is possible to generate a realistic image with a sense of unity.

(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記第2のオブジェクト設定処理部は、
第1のオブジェクトの所定のエリアの形状に基づいて、第2のオブジェクトの形状を決定することを特徴とする。
(2) In the image generation system, program, and information storage medium according to the present invention,
The second object setting processing unit
The shape of the second object is determined based on the shape of a predetermined area of the first object.

例えば所与のフレームにおいて得られた第1のオブジェクトの所定のエリアの形状に基づいて、当該フレームの第2のオブジェクトの形状を決定するようにしてもよい。   For example, the shape of the second object of the frame may be determined based on the shape of a predetermined area of the first object obtained in a given frame.

また異なるフレームにおいて得られた第1のオブジェクトの所定のエリアの形状に基づいて、第2のオブジェクトの形状を決定するようにしてもよい。   Further, the shape of the second object may be determined based on the shape of a predetermined area of the first object obtained in a different frame.

このようにすると第2のオブジェクトの形状設定のための演算を負荷を軽減できるとともに、第1のオブジェクトと一体感の画像を生成することができる。   In this way, the calculation for setting the shape of the second object can be reduced, and an image of a sense of unity with the first object can be generated.

(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記第2のオブジェクト設定処理部は、
第1のオブジェクトの構成点の高さ変化の周期に同期させて、第2のオブジェクトの透明度を周期的に変化させるための処理を行うことを特徴とする。
(3) In the image generation system, the program, and the information storage medium according to the present invention,
The second object setting processing unit
A process for periodically changing the transparency of the second object is performed in synchronization with the height change cycle of the constituent points of the first object.

例えば第1のオブジェクトの高さ変化の周期に同期させて、第2のオブジェクトにマッピングする第2のテクスチャの透明度(α値)を周期的に変化させるようにしてもよい。またテクスチャのマッピングを行わずにピクセル処理で各ピクセルの色を生成する場合には、ピクセル処理におけるα値を周期的に変化させるようにしてもよい。   For example, the transparency (α value) of the second texture mapped to the second object may be periodically changed in synchronization with the height change cycle of the first object. In addition, when the color of each pixel is generated by pixel processing without performing texture mapping, the α value in the pixel processing may be periodically changed.

例えば第2のオブジェクトを加算半透明で描画する場合には、透明度が低い(α値が1に近い)と波打ち際の白波が濃い画像を生成することができ、透明度が高い(α値が0に近い)と波打ち際の白波が薄い画像を生成することができる。   For example, when the second object is drawn with additive semi-transparency, if the transparency is low (α value is close to 1), an image with white waves at the time of undulation can be generated, and the transparency is high (α value is 0). It is possible to generate an image in which white waves at the time of undulation are light.

例えば第2のオブジェクトの位置が第1のオブジェクトから遠ざかっているとき(波打ち際に白波が寄せてきているとき。白波が長く伸びているとき)は透明度を低くして(濃い白波の画像を生成)、第2のオブジェクトの位置が第1のオブジェクトに近づいているとき(波打ち際から白波が引いているとき。白波が短くなっているとき)は透明度を高くする(薄い白波の画像を生成)ようにしてもよい。   For example, when the position of the second object is moving away from the first object (when white waves are approaching at the time of waving. When white waves are long and long), the transparency is lowered (generates an image of dark white waves) When the position of the second object is approaching the first object (when white waves are drawn from the edge of the wave, when white waves are short), the transparency should be increased (generate a thin white wave image). May be.

(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う第3のオブジェクト設定処理部を含み、
前記描画部は、
第1のオブジェクトと第2のオブジェクトとともに第3のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成することを特徴とする。
(4) In the image generation system, the program, and the information storage medium according to the present invention,
The first object of the third object is synchronized with the period of the height change of the constituent point of the first object or the movement period of the second object, or is synchronized with either of them by delaying a predetermined time. A third object setting processing unit for performing processing for periodically changing the position with respect to the object;
The drawing unit
An image obtained by viewing an object space in which a third object is set together with the first object and the second object from a virtual camera is generated.

第3のオブジェクトは例えば形状が変化する物体の第2の領域に対応した第2のオブジェクト(波打ち際の寄せてはかえす白波)の下にあり、第2のオブジェクトの移動による影響を受けた画像(例えば濡れた地面の画像)を生成するためのオブジェクトである。   The third object is, for example, below the second object corresponding to the second region of the object whose shape changes (the white wave that returns at the time of rippling), and is influenced by the movement of the second object ( For example, an object for generating a wet ground image).

本実施の形態では、第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させることができるので、波打ち際の白波の移動に伴って濡れた地面が見えて白波の移動に遅れて濡れた地面が移動する画像を生成することができる。   In the present embodiment, the third object is synchronized with the period of the height change of the constituent point of the first object or the movement period of the second object, or is synchronized with a delay of a predetermined time. Since the position of the object relative to the first object can be periodically changed, an image in which the wet ground can be seen as the white wave moves at the time of undulation and the wet ground moves behind the movement of the white wave is generated. be able to.

(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記第3のオブジェクト設定処理部は、
第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの透明度を周期的に変化させるための処理を行うことを特徴とする。
(5) In the image generation system, the program, and the information storage medium according to the present invention,
The third object setting processing unit
The transparency of the third object is periodically synchronized with the period of the height change of the constituent points of the first object or the period of movement of the second object, or with a delay of a predetermined time. It is characterized in that a process for changing to is performed.

例えば第1のオブジェクトの高さ変化の周期または第2のオブジェクトの移動周期に同期させて、第3のオブジェクトにマッピングする第3のテクスチャの透明度(α値)を周期的に変化させるようにしてもよい。またテクスチャのマッピングを行わずにピクセル処理で各ピクセルの色を生成する場合には、ピクセル処理におけるα値を周期的に変化させるようにしてもよい。   For example, the transparency (α value) of the third texture mapped to the third object is periodically changed in synchronization with the height change cycle of the first object or the movement cycle of the second object. Also good. In addition, when the color of each pixel is generated by pixel processing without performing texture mapping, the α value in the pixel processing may be periodically changed.

例えば第3のオブジェクトを加算半透明で描画する場合には、透明度が低い(α値が1に近い)と地形が濡れた画像を生成することができ、透明度が高い(α値が0に近い)と地形が乾いた画像を生成することができる。   For example, when drawing the third object with additive semi-transparency, if the transparency is low (α value is close to 1), an image with wet terrain can be generated, and the transparency is high (α value is close to 0). ) And terrain dry images can be generated.

例えば第2のオブジェクトの位置が第1のオブジェクトから最も離れたところに位置する場合に(波打ち際に白波が寄せてきているとき。白波が長く伸びているとき)、第3のオブジェクトの透明度を低くして(濡れた地形の画像を生成)、第2のオブジェクトの位置が第1のオブジェクトに近づいているとき(波打ち際から白波が引いているとき。白波が短くなっているとき)は透明度を高くする(乾いた地形の画像を生成)ようにしてもよい。   For example, when the position of the second object is located farthest from the first object (when white waves are approaching at the time of waving, when the white waves are elongated for a long time), the transparency of the third object is reduced. (Generate wet terrain image) and increase the transparency when the position of the second object is approaching the first object (when white waves are drawn from the shore, when white waves are short) It is also possible to generate (generate an image of dry terrain).

上記の場合は時間の変化とともにすべての場所の透明度を一律に変化させるようにしてもよい。   In the above case, the transparency of all locations may be changed uniformly with time.

また例えば第3のオブジェクトの場所に応じて透明度の変化をことならせるようにしてもよい。例えば第1のオブジェクトから近い場所から順に透明度がたかくなるように変化させてもよい。   Further, for example, the transparency may be changed according to the location of the third object. For example, the transparency may be increased in order from a location closer to the first object.

本発明によれば、波打ち際で白波が引いていった後に濡れた砂が徐徐に乾いていく画像を生成することができる。   According to the present invention, it is possible to generate an image in which wet sand gradually dries after white waves are drawn at the beach.

(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記第1のオブジェクト設定処理部は、
前記各構成点に対して与えられた高さ調整パラメータまたは深度情報に基づき各構成点の高さの調整を行うことを特徴とする。
(6) In the image generation system, the program, and the information storage medium according to the present invention,
The first object setting processing unit
The height of each component point is adjusted based on the height adjustment parameter or depth information given to each component point.

例えば第1のオブジェクトの構成点に高さ調整パラメータまたは深度情報が関連づけて設定しておくようにしても良い。例えば構成点毎に高さ調整パラメータまたは深度情報が設定されている場合でもよいし、第1のオブジェクトを複数の領域に分割し、領域単位に高さ調整パラメータまたは深度情報を設定するようにしてもよい。そして各構成点がどの領域に属するかによって高さ調整パラメータまたは深度情報を決定してもよい。   For example, the height adjustment parameter or depth information may be set in association with the constituent points of the first object. For example, the height adjustment parameter or depth information may be set for each constituent point, or the first object may be divided into a plurality of regions, and the height adjustment parameter or depth information may be set for each region. Also good. Then, the height adjustment parameter or the depth information may be determined depending on which region each constituent point belongs to.

高さ調整パラメータまたは深度情報に基づき各構成点の高さの調整を行うとは、高さ調整パラメータまたは深度情報に基づき、各構成点の高さを演算する際に使用する周期関数の振幅パラメータを変更する場合でもよいし、周期関数は同じものを利用して周期関数で得られた高さの値に対して高さ調整パラメータまたは深度情報に基づき補正をかける場合でもよい。   Adjusting the height of each component point based on the height adjustment parameter or depth information means that the amplitude parameter of the periodic function used when calculating the height of each component point based on the height adjustment parameter or depth information May be changed, or the same periodic function may be used to correct the height value obtained by the periodic function based on the height adjustment parameter or depth information.

高さ調整パラメータまたは深度情報に基づき各構成点の高さの調整を行う際には、海底からの距離が遠い場合(深度が大きい)は海底からの距離が近い場合(深度が小さい)に比べて高さの変化が小さくなるように各フレームにおける各構成点の高さを演算するようにしてもよい。   When adjusting the height of each component point based on height adjustment parameters or depth information, when the distance from the seabed is large (depth is large), compared to when the distance from the seabed is short (depth is small) Thus, the height of each component point in each frame may be calculated so that the change in height becomes small.

(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記第1のオブジェクト設定処理部は、
仮想カメラと所定の位置関係を有するエリアを演算領域として設定し、第1のオブジェクトの各構成点が演算領域に属するか否か判断し、属さないと判断した場合には、各構成点の高さを求める処理を省略することを特徴とする。
(7) In the image generation system, the program, and the information storage medium according to the present invention,
The first object setting processing unit
An area having a predetermined positional relationship with the virtual camera is set as a calculation area, and it is determined whether each constituent point of the first object belongs to the calculation area. It is characterized in that the processing for obtaining the thickness is omitted.

海は広いため、通常の高さの波の遠方の点のy座標の違いは、透視変換した時に2D画面座標としてはほとんど変わらず誤差として許容できる範囲である。   Since the sea is wide, the difference in the y-coordinates of the distant points of the normal height wave is almost the same as the 2D screen coordinates and is acceptable as an error when perspective transformation is performed.

従って仮想カメラと所定の位置関係を有するエリアを演算領域として設定し、第1のオブジェクトの各構成点が演算領域に属するか否か判断し、属さないと判断した場合には、各構成点の高さを求める処理を省略するようにしてもよい。   Therefore, an area having a predetermined positional relationship with the virtual camera is set as a calculation area, and it is determined whether or not each constituent point of the first object belongs to the calculation area. You may make it abbreviate | omit the process which calculates | requires height.

ここでは演算領域を仮想カメラからの距離に応じて設定してもよいし、仮想カメラのビューボリューム又はビューボリュームのXZ平面への投影領域に基づき設定してもよい。   Here, the calculation area may be set according to the distance from the virtual camera, or may be set based on the view volume of the virtual camera or the projection area of the view volume on the XZ plane.

本発明によれば、遠方の部分は高さの演算を省略することができるので、演算負荷を軽減することができる。   According to the present invention, the calculation of the height of the distant part can be omitted, so that the calculation load can be reduced.

(8)また本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
波のある水面を画像を生成するための水面オブジェクトの構成点の高さを周期的に変化させるための処理を行う水面オブジェクト設定処理部と、
水面オブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成する描画部と、してコンピュータを機能させ、
前記水面オブジェクト設定処理部は、
仮想カメラと所定の位置関係を有するエリアを演算領域として設定し、第1のオブジェクトの各構成点が演算領域に属するか否か判断し、属さないと判断した場合には、各構成点の高さを求める処理を省略することを特徴とする画像生成システムに関係する。
(8) The present invention also provides:
An image generation system for generating an image visible from a virtual camera in an object space,
A water surface object setting processing unit for performing processing for periodically changing the height of the constituent points of the water surface object for generating an image of the water surface with waves;
Let the computer function as a drawing unit that generates an image of an object space where a water surface object is set as seen from a virtual camera,
The water surface object setting processing unit
An area having a predetermined positional relationship with the virtual camera is set as a calculation area, and it is determined whether each constituent point of the first object belongs to the calculation area. The present invention relates to an image generation system characterized by omitting the process for obtaining the height.

また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   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 a computer-readable information storage medium that stores (records) a program that causes a computer to function as each unit.

以下、本実施形態について説明する。   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 this embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。   The operation unit 160 is for a player to input operation data, and the function can be realized by a lever, a button, a steering, a microphone, a touch panel display, a housing, or the like.

記憶部170は、描画バッファ172やZバッファ174やテクスチャ記憶部176を含み、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどにより実現できる。   The storage unit 170 includes a drawing buffer 172, a Z buffer 174, and a texture storage unit 176, and serves as a work area for the processing unit 100, the communication unit 196, and the like, and its functions can be realized by a RAM or the like.

テクスチャ記憶部176は、沖合の海の水面を表すテクスチャや、波打ち際の白波を表すテクスチャを記憶するようにしてもよい。   The texture storage unit 176 may store a texture that represents the water surface of the offshore sea and a texture that represents a white wave at the time of rippling.

情報記憶媒体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 (records and stores) a program for causing the computer to function as each unit of the present embodiment (a program for causing the 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としては、メモリカードや携帯型ゲーム装置などがある。   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.

通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   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 a communication ASIC, It can be realized by a program.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and the communication unit 196. You may do it. 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をワーク領域として各種処理を行う。処理部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 storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、第1のオブジェクト設定処理部116、第2のオブジェクト設定処理部117、第3のオブジェクト設定処理部118、描画部120、音生成部130を含む。なおこれらの一部を省略してもよい。   The processing unit 100 includes an object space setting unit 110, a movement / motion processing unit 112, a virtual camera control unit 114, a first object setting processing unit 116, a second object setting processing unit 117, and a third object setting processing unit 118. A drawing unit 120 and a sound generation unit 130. Some of these may be omitted.

オブジェクト空間設定部110は、キャラクタ、樹木、車、柱、壁、建物、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit 110 is a variety of objects (objects composed of primitive surfaces such as polygons, free-form surfaces or subdivision surfaces) representing display objects such as characters, trees, cars, columns, walls, buildings, and maps (terrain). The process of setting the placement in the object space is performed. 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 car, an airplane, or a character). In other words, an object (moving object) is moved in the object space or an object is moved based on operation data, a program (movement / motion algorithm), or various data (motion data) input by the player through the operation unit 160. Perform processing (motion, animation). Specifically, a simulation process for sequentially obtaining object movement information (position, rotation angle, speed, or acceleration) and motion information (position or rotation angle of each part object) every frame (1/60 second). I do. Here, the frame is a unit of time for performing object movement / motion processing (simulation processing) and image generation processing.

仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。   The virtual camera control unit 114 performs a process of controlling the virtual camera for generating an image at a given (arbitrary) viewpoint in the object space. That is, 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 is photographed from behind using a virtual camera, the position or rotation angle (direction of the virtual camera) of the virtual camera is controlled so that the virtual camera follows changes in the position or rotation of the object. 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 rotated at a predetermined rotation angle while being moved along a predetermined movement route. In this case, the virtual camera is controlled based on virtual camera data for specifying the position (movement path) and rotation angle of the virtual camera.

第1のオブジェクト設定処理部116は、形状が変化する物体の第1の領域に対応した第1のオブジェクトについて、当該第1のオブジェクトの構成点の高さを周期的に変化させるための処理を行う。   The first object setting processing unit 116 performs processing for periodically changing the heights of the constituent points of the first object for the first object corresponding to the first region of the object whose shape changes. Do.

第1のオブジェクト設定処理部116は、前記各構成点に対して与えられた高さ調整パラメータまたは深度情報に基づき各構成点の高さの調整を行うようにしてもよい。   The first object setting processing unit 116 may adjust the height of each constituent point based on the height adjustment parameter or depth information given to each constituent point.

前記第1のオブジェクト設定処理部116は、仮想カメラと所定の位置関係を有するエリアを演算領域として設定し、第1のオブジェクトの各構成点が演算領域に属するか否か判断し、属さないと判断した場合には、各構成点の高さを求める処理を省略するようにしてもよい。   The first object setting processing unit 116 sets an area having a predetermined positional relationship with the virtual camera as a calculation area, determines whether or not each constituent point of the first object belongs to the calculation area, and if it does not belong If it is determined, the process for obtaining the height of each constituent point may be omitted.

第2のオブジェクト設定処理部117は、前記第1のオブジェクトの高さ変化の周期に同期させて、形状が変化する物体の第2の領域に対応した第2のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う。   The second object setting processing unit 117 synchronizes with the height change period of the first object, and the second object corresponding to the second region of the object whose shape changes is applied to the first object. A process for periodically changing the position is performed.

第2のオブジェクト設定処理部117は、第1のオブジェクトの所定のエリアの形状に基づいて、第2のオブジェクトの形状を決定するようにしてもよい。   The second object setting processing unit 117 may determine the shape of the second object based on the shape of a predetermined area of the first object.

前記第2のオブジェクト設定処理部117は、
第1のオブジェクトの構成点の高さ変化の周期に同期させて、第2のオブジェクトの透明度を周期的に変化させるための処理を行うようにしてもよい。
The second object setting processing unit 117
A process for periodically changing the transparency of the second object may be performed in synchronization with the height change period of the constituent points of the first object.

第3のオブジェクト設定処理部118は、第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う。   The third object setting processing unit 118 synchronizes with the period of height change of the constituent points of the first object or the movement period of the second object, or with a delay for a predetermined time. Then, a process for periodically changing the position of the third object with respect to the first object is performed.

第3のオブジェクト設定処理部118は、第1のオブジェクトの高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの透明度を周期的に変化させるための処理を行う。   The third object setting processing unit 118 synchronizes with the period of height change of the first object or the movement period of the second object, or with a predetermined time delay to synchronize with the third object. A process for periodically changing the transparency of the object is performed.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。   The drawing unit 120 performs drawing processing based on the results of various processing (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190.

描画部120は、第1のオブジェクト、第2のオブジェクト、第3のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を描画する描画部として機能する。   The drawing unit 120 functions as a drawing unit that draws an image of an object space in which the first object, the second object, and the third object are set as viewed from a virtual camera.

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

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

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

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

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

特に本実施形態では、第2のオブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、第2のオブジェクトに対してマッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。この場合において、色分布が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。   In particular, in the present embodiment, a process of mapping a given texture may be performed when drawing the second object. In this case, the color distribution (texel pattern) of the texture mapped to the second object can be dynamically changed. In this case, textures having different color distributions may be dynamically generated, or a plurality of textures having different color distributions may be prepared in advance and the texture to be used may be dynamically switched. The texture color distribution may be changed in units of objects, or the texture color distribution may be changed in units of objects.

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

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

RQ=(1−α)×R1+α×R2 (1)
GQ=(1−α)×G1+α×G2 (2)
BQ=(1−α)×B1+α×B2 (3)
また合成処理が加算αブレンディングである場合を例にとれば、色合成部126は下式に従ったα合成処理を行う。
RQ = (1−α) × R1 + α × R2 (1)
GQ = (1−α) × G1 + α × G2 (2)
BQ = (1−α) × B1 + α × B2 (3)
Taking the case where the synthesis process is addition α blending as an example, the color synthesis unit 126 performs the α synthesis process according to the following equation.

RQ=R1+α×R2 (4)
GQ=G1+α×G2 (5)
BQ=B1+α×B2 (6)
また合成処理がα乗算である場合を例にとれば、色合成部126は下式に従ったα合成処理を行う。
RQ = R1 + α × R2 (4)
GQ = G1 + α × G2 (5)
BQ = B1 + α × B2 (6)
Taking the case where the composition processing is α multiplication as an example, the color composition unit 126 performs the α composition processing according to the following equation.

RQ=α×R1 (7)
GQ=α×G1 (8)
BQ=α×B1 (9)
また合成処理がα乗加算である場合を例にとれば、色合成部126は下式に従ったα合成処理を行う。
RQ = α × R1 (7)
GQ = α × G1 (8)
BQ = α × B1 (9)
Taking the case where the synthesis process is addition of α power as an example, the color synthesis unit 126 performs the α synthesis process according to the following equation.

RQ=α×R1+R2 (7)
GQ=α×G1+G2 (8)
BQ=α×B1+B2 (9)
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファ172に描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
RQ = α × R1 + R2 (7)
GQ = α × G1 + G2 (8)
BQ = α × B1 + B2 (9)
Here, R1, G1, and B1 are R, G, and B components of the color (luminance) of an image (background image) that has already been drawn in the drawing buffer 172, and R2, G2, and B2 are in the drawing buffer 172. The R, G, and B components of the color of the object (primitive) to be drawn. RQ, GQ, and BQ are R, G, and B components of the color of an image obtained by α blending. The α value is information that can be stored in association with each pixel (texel, dot), for example, plus alpha information other than color information. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.

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

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

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

2.波の画像生成
図2は本実施の形態の海面の画像の一例である。10は沖合の海面(第1の領域)であり、20は波打ち際の海面(第2の領域)である。沖合の海面(第1の領域)10では波により水面が上下し、波打ち際の海面(第2の領域)20では、砂浜30に対して白い泡のたった白波が寄せたり引いたりしている。
2. Wave Image Generation FIG. 2 is an example of an image of the sea surface of the present embodiment. 10 is the offshore sea surface (first region), and 20 is the sea surface (second region) at the beach. On the offshore sea surface (first region) 10, the water surface rises and falls due to waves, and on the sea surface (second region) 20 on the seashore, white waves with white bubbles move toward and away from the beach 30.

本実施の形態では、沖合の海面(第1の領域)10に対応して第1のオブジェクトを設定し、波打ち際の海面(第2の領域)20に対応して第2のオブジェクトを設定する。   In the present embodiment, a first object is set corresponding to the offshore sea surface (first region) 10 and a second object is set corresponding to the sea surface (second region) 20 at the time of undulation.

図3(A)は、波打ち際に波が寄せてきた時の画像の一例である。同図に示すように波が寄せてきた時には、白波20が砂浜のほうに長く伸びてくる画像が生成される。   FIG. 3 (A) is an example of an image when a wave comes along at the time of waving. As shown in the figure, when a wave approaches, an image in which the white wave 20 extends longer toward the sandy beach is generated.

図3(B)は、波打ち際から波が引いていく時の画像の一例である。同図に示すように波が引いていく時には、白波20の長さが短くなって沖のほうに遠ざかっていく画像が生成される。   FIG. 3B is an example of an image when a wave is drawn from the beach. As shown in the figure, when the wave is drawn, an image is generated in which the length of the white wave 20 is shortened and moves away to the offing.

図4は本実施の形態の第1のオブジェクトについて説明するための図である。   FIG. 4 is a diagram for explaining the first object of the present embodiment.

本実施の形態では、第1のオブジェクトの構成点の平面座標と時間を引数とする周期関数に基づいて、周期的に変化する各構成点の高さを演算して各フレームにおける第1のオブジェクトの形状を決定する。以下本実施の形態において第1のオブジェクトの波の形状を決定する具体例について説明する。   In the present embodiment, the first object in each frame is calculated by calculating the height of each component point that changes periodically based on the planar function of the component point of the first object and the periodic function having time as arguments. Determine the shape. Hereinafter, a specific example of determining the wave shape of the first object in the present embodiment will be described.

平面波を生成するための波メッシュ(例えば格子点でもよい)の構成点(i,j)の時刻tにおける高さをyとすると、以下の式で表すことができる。   When the height at the time t of the constituent point (i, j) of the wave mesh (which may be a lattice point, for example) for generating a plane wave is y, it can be expressed by the following equation.

周期関数はk=1〜Kmaxで特定される複数の周期関数(たとえば三角関数)の合成関数として特定される。振幅パラメータAkは波成分の波高を表し、波長パラメータnkはi方向の波数(整数)及びi方向成分に対する進行方向を表し、波長パラメータmkはj方向の波数(整数)及びj方向成分に対する進行方向を表す。   The periodic function is specified as a composite function of a plurality of periodic functions (for example, trigonometric functions) specified by k = 1 to Kmax. The amplitude parameter Ak represents the wave height of the wave component, the wavelength parameter nk represents the wave number (integer) in the i direction and the traveling direction with respect to the i direction component, and the wavelength parameter mk represents the wave number (integer) in the j direction and the traveling direction with respect to the j direction component. Represents.

周期関数によって生成されるデカルト座標系(直交座標系)における波の形状について説明する。   A wave shape in a Cartesian coordinate system (orthogonal coordinate system) generated by a periodic function will be described.

例えば周期関数がk=0の周期関数W0(210)、k=1の周期関数W1(220)、k=2の周期関数W2(230)の3つの周期関数の合成関数として構成されているとする。   For example, if the periodic function is configured as a combined function of three periodic functions, a periodic function W0 (210) with k = 0, a periodic function W1 (220) with k = 1, and a periodic function W2 (230) with k = 2. To do.

k=0の周期関数W0(210)は、波長パラメータnk=0、波長パラメータmk=1の周期関数であり、212に示すようなj方向成分のみをもつ波を表す。   A periodic function W0 (210) of k = 0 is a periodic function of a wavelength parameter nk = 0 and a wavelength parameter mk = 1, and represents a wave having only a j-direction component as indicated by 212.

k=1の周期関数W1(220)は、波長パラメータnk=2、波長パラメータmk=0の周期関数であり、222に示すようなi方向成分のみをもつ波を表す。   A periodic function W1 (220) with k = 1 is a periodic function with a wavelength parameter nk = 2 and a wavelength parameter mk = 0, and represents a wave having only an i-direction component as indicated by 222.

k=2の周期関数W2(230)は、波長パラメータnk=1、波長パラメータmk=2の周期関数であり、232に示すようなi方向成分とi方向成分をもつ波を表す。   A periodic function W2 (230) of k = 2 is a periodic function of a wavelength parameter nk = 1 and a wavelength parameter mk = 2, and represents a wave having an i-direction component and an i-direction component as indicated by 232.

240は周期関数がk=0の周期関数W0(210)、k=1の周期関数W1(220)、k=2の周期関数W2(230)の3つの周期関数の合成関数によって特定される波の形状を示している。   A wave 240 is identified by a combined function of three periodic functions: a periodic function W0 (210) having a periodic function k = 0, a periodic function W1 (220) having k = 1, and a periodic function W2 (230) having k = 2. The shape is shown.

250はデカルト座標系(直交座標系)における構成点(i、j)を表している。各構成点(i、j)のy座標は上記数式(1)によって求められ、240に示すような波オブジェクトの形状が特定される。   Reference numeral 250 represents a constituent point (i, j) in a Cartesian coordinate system (orthogonal coordinate system). The y coordinate of each constituent point (i, j) is obtained by the above mathematical formula (1), and the shape of the wave object as indicated by 240 is specified.

図5は構成点と周期関数によって生成される第1のオブジェクトの様子を示した図である。   FIG. 5 is a diagram showing a state of the first object generated by the component points and the periodic function.

図6は第1のオブジェクトと第2のオブジェクトの関係を模式的に示した図である。   FIG. 6 is a diagram schematically showing the relationship between the first object and the second object.

本実施の形態では、第2の領域に対応した第2のオブジェクト20の第1のオブジェクト10に対する位置を第1のオブジェクト10の構成点(例えば頂点)の高さ変化の周期に同期させて周期的に変化させる。   In the present embodiment, the position of the second object 20 corresponding to the second region with respect to the first object 10 is synchronized with the height change period of the constituent points (for example, vertices) of the first object 10. Change.

図7は第1のオブジェクトの構成点の高さの変化の周期と、第2のオブジェクトの移動の周期について説明するための図である。   FIG. 7 is a diagram for explaining the period of change in height of the constituent points of the first object and the period of movement of the second object.

10−1〜10−4は、所与の構成点(ここでは第1のオブジェクトの端の点(xi、yj))の高さyの時間的な変化を示す周期関数(ここでは花地を簡単にするためにZ方向のみの変化を表している)である。12−1〜12−4は、所与の構成点(ここでは第1のオブジェクトの端の点(xi、yj))の高さyの時間的な変化を示している。   10-1 to 10-4 are periodic functions (here, flower land) indicating a temporal change in the height y of a given constituent point (here, the end point (xi, yj) of the first object). For the sake of simplicity, only the change in the Z direction is shown). Reference numerals 12-1 to 12-4 indicate temporal changes in the height y of a given constituent point (here, the end point (xi, yj) of the first object).

20−2〜20−4は、第2のオブジェクトの配置の時間的な変化を示しており、22−1〜22−4は、第2のオブジェクトの代表点の位置の時間的な変化を示している。   20-2 to 20-4 indicate temporal changes in the arrangement of the second object, and 22-1 to 22-4 indicate temporal changes in the position of the representative point of the second object. ing.

第1のオブジェクトの端の点(xi、yj)(波打ち際に近いほうのはし、又は第2のオブジェクトに近いほうの端)の高さは周期関数10に従って変化する。周期関数10によって所定の振幅及び周期を有し左方向に進行する波(40参照)が生成される。   The height of the end point (xi, yj) of the first object (the edge closer to the wave or the edge closer to the second object) changes according to the periodic function 10. The periodic function 10 generates a wave (see 40) having a predetermined amplitude and period and traveling in the left direction.

12−1は第1のオブジェクトの端点(xi、yj)の高さが平均点にある場合であり、その後端点(xi、yj)の高さは周期関数10の波形に従って徐徐に高くなり12−2で最高点に達し、その後端点(xi、yj)の高さは周期関数10の波形に従って徐徐に低くなり12−3で平均点にもどり、12−4で最低点に達する。   12-1 is the case where the height of the end point (xi, yj) of the first object is at the average point, and the height of the rear end point (xi, yj) gradually increases according to the waveform of the periodic function 10. The highest point is reached at 2, and the height of the end point (xi, yj) gradually decreases according to the waveform of the periodic function 10, returns to the average point at 12-3, and reaches the lowest point at 12-4.

すなわち12−1〜12−4が、所与の1周期における端点(xi、yj)の高さの変化を表している。   That is, 12-1 to 12-4 represent a change in the height of the end point (xi, yj) in a given period.

12−1は第1のオブジェクトの端点(xi、yj)が12−1の場合の第2のオブジェクトの様子を表しており、22−1はこのときの第2のオブジェクトの代表点の位置である。   12-1 represents the state of the second object when the end point (xi, yj) of the first object is 12-1, and 22-1 represents the position of the representative point of the second object at this time. is there.

12−2は第1のオブジェクトの端点(xi、yj)が12−2の場合の第2のオブジェクトの様子を表しており、22−2はこのときの第2のオブジェクトの代表点の位置である。   12-2 represents the state of the second object when the end point (xi, yj) of the first object is 12-2, and 22-2 represents the position of the representative point of the second object at this time. is there.

12−3は第1のオブジェクトの端点(xi、yj)が12−3の場合の第2のオブジェクトの様子を表しており、22−3はこのときの第2のオブジェクトの代表点の位置である。   12-3 represents the state of the second object when the end point (xi, yj) of the first object is 12-3, and 22-3 represents the position of the representative point of the second object at this time. is there.

12−4は第1のオブジェクトの端点(xi、yj)が12−4の場合の第2のオブジェクトの様子を表しており、22−4はこのときの第2のオブジェクトの代表点の位置である。   12-4 represents the state of the second object when the end point (xi, yj) of the first object is 12-4, and 22-4 represents the position of the representative point of the second object at this time. is there.

第2のオブジェクトは、例えば第1のオブジェクトの端点(xi、yj)の高さが平均点にある場合(12−1)に基準位置に配置され(20−1参照)、その後第1のオブジェクトの端点(xi、yj)の高さが徐徐に高くなるにしたがって、第1のオブジェクトから離れる方向(50参照)に移動し、第1のオブジェクトの端点(xi、yj)の高さが最高点に達した場合(12−2)に第1のオブジェクトから最も離れた所に配置され(20−2参照)、その後第1のオブジェクトの端点(xi、yj)の高さが徐徐に低くなるに従って第1のオブジェクトに近づく方向(52、54参照)に移動し、第1のオブジェクトの端点(xi、yj)の高さが最低点に達した場合(12−4)に第1のオブジェクトに最も近い所に配置されるようにしてもよい(20−4参照)。   For example, when the height of the end point (xi, yj) of the first object is at the average point (12-1), the second object is arranged at the reference position (see 20-1), and then the first object As the height of the end point (xi, yj) of the first object gradually increases, it moves in the direction away from the first object (see 50), and the height of the end point (xi, yj) of the first object is the highest point. (12-2), it is arranged at the position farthest from the first object (see 20-2), and then the height of the end point (xi, yj) of the first object gradually decreases. When the height of the end point (xi, yj) of the first object reaches the lowest point (12-4), it moves in the direction approaching the first object (see 52, 54). You can make it close (See 20-4).

すなわち第2のオブジェクトの位置は、第1のオブジェクトの構成点の高さの周期に同期して、22−1〜22−4の間を行ったり来たり移動する。   That is, the position of the second object moves back and forth between 22-1 to 22-4 in synchronization with the height cycle of the constituent points of the first object.

なお第1のオブジェクトの端点の高さと第2のオブジェクトの位置関係は、端点の高さが高いときが第2のオブジェクトが離れている場合に限られない。   The positional relationship between the end point height of the first object and the second object is not limited to the case where the second object is separated when the end point height is high.

第1のオブジェクトの幅が波の波長の整数倍の場合と、それ足す0.5(例えば1.5倍)の場合等、第1のオブジェクトの幅と波の波長に応じて適宜設定することができる。例えば端点の高さが低いときが第2のオブジェクトが離れている場合でもよい。   When the width of the first object is an integral multiple of the wavelength of the wave and when it is 0.5 (for example, 1.5 times), the width can be set as appropriate according to the width of the first object and the wavelength of the wave. For example, the second object may be separated when the height of the end point is low.

図2に示すように、海面を第1の領域と第2の領域にわけて、第1の領域を第1のオブジェクトとして構成し、第2の領域を第2のオブジェクトとして構成し、第1のオブオブジェクトの構成点の高さの変化の周期と第2オブジェクトの移動周期を動機させることにより、沖合から進行してきた波が波打ち際で寄せたり引いたりする動作を少ない演算負荷でリアルに表現することができる。   As shown in FIG. 2, the sea surface is divided into a first area and a second area, the first area is configured as a first object, the second area is configured as a second object, Motivates the period of change in the height of the object's object point and the movement period of the second object, and realistically represents the movement of waves traveling offshore off and on the beach with less computational load be able to.

図8は第1のオブジェクトの端点の高さの調整について説明するための図である。第1のオブジェクトの構成点の高さは所定の周期関数に従って最高点と最低点の間で周期的に変化する。ここで第1のオブジェクトの第2のオブジェクト側の端のラインに位置する構成点(端点)の高さについてもかかる周期関数で求めることもできる。しかし端点付近は第1のオブジェクトと第2のオブジェクトの境目にあたる部分なので高さを所定の値(例えば平均点)に固定しておくようにしてもよい。このようにすることによりつなぎ目の高さが上下することによる不具合を防止することができる。   FIG. 8 is a diagram for explaining the adjustment of the height of the end point of the first object. The height of the constituent points of the first object changes periodically between the highest point and the lowest point according to a predetermined periodic function. Here, the height of the constituent point (end point) positioned on the end line on the second object side of the first object can also be obtained by such a periodic function. However, since the vicinity of the end point is a portion corresponding to the boundary between the first object and the second object, the height may be fixed to a predetermined value (for example, an average point). By doing in this way, the malfunction by the height of a joint going up and down can be prevented.

具体的には端点が12−2の時に0の位置(12’−1)に来るように補正し、高さの変化がスムーズに移行するように所定区間14の波形を補正する。   Specifically, when the end point is 12-2, correction is made so that the position is 0 (12'-1), and the waveform of the predetermined section 14 is corrected so that the change in height smoothly shifts.

また端点が12−4の時に0の位置(12’−4)に来るように補正し、高さの変化がスムーズに移行するように所定区間15の波形を補正する。   Further, when the end point is 12-4, correction is made so as to come to the position of 0 (12'-4), and the waveform of the predetermined section 15 is corrected so that the change in height smoothly shifts.

またこれ以外でも端点の高さが0以外の場合には0の位置に来るように補正し、高さの変化がスムーズに移行するように対応する所定区間の波形を補正する。   In addition to this, when the height of the end point is other than 0, correction is made so as to come to the position of 0, and the waveform of the corresponding predetermined section is corrected so that the change in height smoothly shifts.

次に第2のオブジェクトの形状の決定手法について説明する。   Next, a method for determining the shape of the second object will be described.

第2のオブジェクトの形状は例えば板状のオブジェクトでもよいし、所与の時刻の第1のオブジェクトの所定のエリアの形状に基づいて、所与の時刻の第2のオブジェクトの形状を決定するようにしてもよい。   The shape of the second object may be, for example, a plate-like object, or the shape of the second object at a given time is determined based on the shape of a predetermined area of the first object at a given time. It may be.

例えば図6において、第1のオブジェクト10の第2のオブジェクトと重なるほうの端のライン62を含む所定のエリア60の形状に基づき第2のオブジェクトの形状を決定してもよい。例えば第2のオブジェクトとして所定のエリア60の形状を採用してもよい。   For example, in FIG. 6, the shape of the second object may be determined based on the shape of a predetermined area 60 including the end line 62 that overlaps the second object of the first object 10. For example, the shape of the predetermined area 60 may be adopted as the second object.

図9は、本実施の形態の第2のオブジェクトの形状の決定手法について説明するための図である。   FIG. 9 is a diagram for explaining a method for determining the shape of the second object according to the present embodiment.

本実施の形態では第1のオブジェクトの形状は周期関数に基づいて時間的に変化する。例えば310−1はゲーム時刻t1における所与のYZ断面(x=aの地点)の形状(高さの変化)を表している。このとき第2のオブジェクトの所与のYZ断面(x=aの地点)の形状(高さの変化)320−1は、所与の区間300の第1のオブジェクトの形状310−1と同じとなる。   In the present embodiment, the shape of the first object changes with time based on a periodic function. For example, 310-1 represents the shape (change in height) of a given YZ cross section (point of x = a) at the game time t1. At this time, the shape (change in height) 320-1 of the given YZ section (point of x = a) of the second object is the same as the shape 310-1 of the first object of the given section 300. Become.

また例えば310−2はゲーム時刻t2における所与のYZ断面(x=aの地点)の形状(高さの変化)を表している。ここで310−2は端点の値を0に補正した時の波形である。このとき第2のオブジェクトの所与のYZ断面(x=aの地点)の形状(高さの変化)320−2は、所与の区間300の第1のオブジェクトの形状310−2と同じとなる。   Further, for example, 310-2 represents the shape (change in height) of a given YZ cross section (x = a point) at the game time t2. Here, 310-2 is a waveform when the value of the end point is corrected to zero. At this time, the shape (change in height) 320-2 of the given YZ section (point of x = a) of the second object is the same as the shape 310-2 of the first object of the given section 300. Become.

また例えば310−3はゲーム時刻t3における所与のYZ断面(x=aの地点)の形状(高さの変化)を表している。このとき第2のオブジェクトの所与のYZ断面(x=aの地点)の形状(高さの変化)320−3は、所与の区間300の第1のオブジェクトの形状310−3と同じとなる。   Further, for example, 310-3 represents the shape (change in height) of a given YZ cross section (x = a point) at the game time t3. At this time, the shape (change in height) 320-3 of the given YZ section (point of x = a) of the second object is the same as the shape 310-3 of the first object of the given section 300. Become.

また例えば310−4はゲーム時刻t4における所与のYZ断面(x=aの地点)の形状(高さの変化)を表している。ここで310−4は端点の値を0に補正した時の波形である。このとき第2のオブジェクトの所与のYZ断面(x=aの地点)の形状(高さの変化)320−4は、所与の区間300の第1のオブジェクトの形状310−4と同じとなる。   Further, for example, 310-4 represents the shape (change in height) of a given YZ cross section (x = a point) at the game time t4. Here, 310-4 is a waveform when the value of the end point is corrected to zero. At this time, the shape (change in height) 320-4 of the given YZ cross section (point of x = a) of the second object is the same as the shape 310-4 of the first object of the given section 300. Become.

図10(A)(B)は、本実施の形態の第1のテクスチャ及び第2のテクスチャの一例である。   10A and 10B are examples of the first texture and the second texture of the present embodiment.

図10(A)は、第1のオブジェクトにマッピングされる第1のテクスチャであり、沖を含む波打ち際以外の海水面(波打ち際から離れた液体面)の模様である。   FIG. 10A shows a first texture mapped to the first object, which is a pattern of the seawater surface (liquid surface away from the beach) other than the beach including the offing.

図10(B)は、第2のオブジェクトにマッピングされる第2のテクスチャであり、波打ち際の海水面(波打ち際の泡だった白波)の模様である。   FIG. 10B is a second texture that is mapped to the second object, and is a pattern of the seawater surface (white wave that was a bubble at the time of rippling).

なお予めテクスチャ画像を用意しておかなくても各ピクセル毎にリアルタイムに色情報を生成した図10(A)(B)に示すような画像を生成するようにしてもよい。   Note that an image as shown in FIGS. 10A and 10B in which color information is generated in real time for each pixel may be generated without preparing a texture image in advance.

図11は第1のオブジェクトの構成点の高さの変化の周期または第2のオブジェクトの移動の周期と第3のオブジェクトの移動の周期との関係について説明するための図である。   FIG. 11 is a diagram for explaining the relationship between the period of change in height of the constituent points of the first object or the period of movement of the second object and the period of movement of the third object.

第1のオブジェクトの構成点の高さの変化(10−1〜10−4)および第2のオブジェクトの移動(20−1〜20−4)につては、図7で説明した通りである。   The change in the height of the constituent points of the first object (10-1 to 10-4) and the movement of the second object (20-1 to 20-4) are as described in FIG.

30−1〜30−4は、第3のオブジェクトの配置の時間的な変化を示しており、32−1〜32−4は、第2のオブジェクトの代表点の位置の時間的な変化を示している。   Reference numerals 30-1 to 30-4 indicate temporal changes in the arrangement of the third object, and 32-1 to 32-4 indicate temporal changes in the positions of the representative points of the second object. ing.

12−1は第1のオブジェクトの端点(xi、yj)が12−1の場合の第2のオブジェクトの様子を表しており、22−1はこのときの第2のオブジェクトの代表点の位置であり、32−1はこのときの第3のオブジェクトの代表点の位置である。   12-1 represents the state of the second object when the end point (xi, yj) of the first object is 12-1, and 22-1 represents the position of the representative point of the second object at this time. Yes, 32-1 is the position of the representative point of the third object at this time.

12−2は第1のオブジェクトの端点(xi、yj)が12−2の場合の第2のオブジェクトの様子を表しており、22−2はこのときの第2のオブジェクトの代表点の位置であり、32−2はこのときの第3のオブジェクトの代表点の位置である。   12-2 represents the state of the second object when the end point (xi, yj) of the first object is 12-2, and 22-2 represents the position of the representative point of the second object at this time. Yes, 32-2 is the position of the representative point of the third object at this time.

12−3は第1のオブジェクトの端点(xi、yj)が12−3の場合の第2のオブジェクトの様子を表しており、22−3はこのときの第2のオブジェクトの代表点の位置であり、32−3はこのときの第3のオブジェクトの代表点の位置である。   12-3 represents the state of the second object when the end point (xi, yj) of the first object is 12-3, and 22-3 represents the position of the representative point of the second object at this time. Yes, 32-3 is the position of the representative point of the third object at this time.

12−4は第1のオブジェクトの端点(xi、yj)が12−4の場合の第2のオブジェクトの様子を表しており、22−4はこのときの第2のオブジェクトの代表点の位置である、32−4はこのときの第3のオブジェクトの代表点の位置である。   12-4 represents the state of the second object when the end point (xi, yj) of the first object is 12-4, and 22-4 represents the position of the representative point of the second object at this time. 32-4 is the position of the representative point of the third object at this time.

第3のオブジェクトは、例えば第1のオブジェクトの端点(xi、yj)の高さが平均点にある場合(12−1)基準位置に配置され(32−1参照)、その後第1のオブジェクトの端点(xi、yj)の高さが徐徐に高くなるにしたがって、第1のオブジェクトから離れる方向(50参照)に移動し、第1のオブジェクトの端点(xi、yj)の高さが最高点に達した場合(12−2)に第1のオブジェクトから最も離れた所に配置され(30−2参照)、その後第1のオブジェクトの端点(xi、yj)の高さが徐徐に低くなるに従って第1のオブジェクトに近づく方向(52、54参照)に移動し、第1のオブジェクトの端点(xi、yj)の高さが最低点に達した場合(12−4)に第1のオブジェクトに最も近い所に配置されるようにしてもよい(30−4参照)。   For example, when the height of the end point (xi, yj) of the first object is at the average point (12-1), the third object is arranged at the reference position (see 32-1), and then the first object As the height of the end point (xi, yj) gradually increases, it moves in a direction away from the first object (see 50), and the height of the end point (xi, yj) of the first object becomes the highest point. When it reaches (12-2), it is arranged at the position farthest from the first object (see 30-2), and after that, the height of the end point (xi, yj) of the first object gradually decreases. Moves in a direction approaching one object (see 52 and 54), and is closest to the first object when the height of the end point (xi, yj) of the first object reaches the lowest point (12-4) It may be arranged in the place (See 30-4).

第3のオブジェクトの位置は、第1のオブジェクトの構成点の高さの周期に同期して、32−1〜32−4の間を行ったり来たり移動する。   The position of the third object moves back and forth between 32-1 to 32-4 in synchronization with the height cycle of the constituent points of the first object.

また第3のオブジェクトの位置は、第1のオブジェクトの構成点の高さの周期に所定時間遅延して同期させて、32−1〜32−4の間を行ったり来たり移動させるようにしてもよい。   Further, the position of the third object is synchronized with a predetermined time delay with respect to the height of the constituent points of the first object, and is moved back and forth between 32-1 and 32-4. Also good.

また第3のオブジェクトの位置は、第2のオブジェクトの位置の移動周期に同期して、32−1〜32−4の間を行ったり来たり移動させるようにしてもよい。   Further, the position of the third object may be moved back and forth between 32-1 to 32-4 in synchronization with the movement cycle of the position of the second object.

また第3のオブジェクトの位置は、第2のオブジェクトの位置の移動周期に所定時間遅延して同期させて、32−1〜32−4の間を行ったり来たり移動させるようにしてもよい。   The position of the third object may be moved back and forth between 32-1 and 32-4 in synchronization with the movement cycle of the position of the second object with a predetermined delay.

なお第1のオブジェクトの端点の高さと第3のオブジェクトの位置関係は、端点の高さが高いときが第3のオブジェクトが離れている場合に限られない。   The positional relationship between the height of the end point of the first object and the third object is not limited to the case where the third object is separated when the height of the end point is high.

第1のオブジェクトの幅が波の波長の整数倍の場合と、それ足す0.5(例えば1.5倍)の場合等、第1のオブジェクトの幅と波の波長に応じて適宜設定することができる。例えば端点の高さが低いときが第3のオブジェクトが離れている場合でもよい。   When the width of the first object is an integral multiple of the wavelength of the wave and when it is 0.5 (for example, 1.5 times), the width can be set as appropriate according to the width of the first object and the wavelength of the wave. For example, the third object may be separated when the height of the end point is low.

このように本実施の形態では、第1のオブジェクトの高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延して同期させて、各フレームにおける波のある液体面の第2の領域の地形に対応した第3のオブジェクトの位置を決定するようにしてもよい。   As described above, in the present embodiment, each frame is synchronized with the period of the height change of the first object or the movement period of the second object, or is synchronized with any one of them with a predetermined time delay. You may make it determine the position of the 3rd object corresponding to the topography of the 2nd area | region of the liquid surface with a wave.

第3のオブジェクトとして砂浜のぬれた様子を表すテクスチャを張ったオブジェクト(例えば板状のオブジェクトでもよい)を用意することで、第2のオブジェクトと同期して、又は少し遅延して同期して、白波がひくのにあわせて、又は少し遅れてぬれた砂がうごく様子の画像を生成することができる。   By preparing an object (such as a plate-like object) with a texture representing the wet state of the sandy beach as the third object, it is synchronized with the second object or with a slight delay, It is possible to generate an image in which the wet sand is moving in time with white waves.

図12(A)〜(C)は、第3のオブジェクトを使用した画像の一例を表した図である。   12A to 12C are diagrams illustrating an example of an image using the third object.

図12(A)は、波打ち際に波が寄せてきた時の画像の一例である。同図に示すように波が寄せてきた時には、白波が砂浜のほうに長く伸びてくる画像が生成される。   FIG. 12 (A) is an example of an image when a wave comes upon the wave. As shown in the figure, when a wave comes in, an image in which white waves extend longer toward the sandy beach is generated.

図12(B)は、波打ち際から波が引いていく時の画像の一例である。同図に示すように波が引いていく時には、白波520の長さが短くなって沖のほうに遠ざかっていくとともに、白波520の引いたあとに、白波520によってぬれた砂530の画像が生成される。これは例えば第3のオブジェクトとして、砂浜のぬれた様子を表すテクスチャをマッピングしたオブジェクト(例えば板状のオブジェクトでもよい)を用意することで実現することができる。   FIG. 12B is an example of an image when a wave is drawn from the beach. As shown in the figure, when the wave is drawn, the length of the white wave 520 is shortened and moves away from the sea, and after the white wave 520 is drawn, an image of the sand 530 wetted by the white wave 520 is generated. The This can be realized, for example, by preparing an object (for example, a plate-like object) that maps a texture representing a wet state of a sandy beach as the third object.

図12(C)は、白波520の引いたあとに、白波520によってぬれた砂530が乾いていくの画像が生成される(540参照)。   In FIG. 12C, after the white wave 520 is drawn, an image is generated in which the sand 530 wet by the white wave 520 is dried (see 540).

ここで例えば砂浜のぬれた様子を表すテクスチャをマッピングした第3のオブジェクトの透明度(α値)を、第1のオブジェクトの高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延して同期させて第3のテクスチャの透明度を周期的に変化させることで実現することができる。   Here, for example, the transparency (α value) of the third object mapping the texture representing the wet state of the sand beach is synchronized with the period of the height change of the first object or the movement period of the second object, or This can be realized by periodically changing the transparency of the third texture by delaying to any one of them for a predetermined time.

例えばα値に基づき加算半透明で描画する場合には、α値を1に近づけることで透明度が低くなり、色が濃くなるので砂がぬれている様子を表すことができる。逆にα値を0に近づけることで透明度が高くなり、色が薄くなるので砂が乾いている様子を表すことができる。   For example, when drawing with semi-transparent addition based on the α value, the transparency becomes lower and the color becomes darker by bringing the α value closer to 1, so that the sand is wet. Conversely, by bringing the α value closer to 0, the transparency becomes higher and the color becomes lighter, so that it is possible to express how the sand is dry.

従って第3のテクスチャの透明度を第1のオブジェクトの高さ変化の周期または第2のオブジェクトの移動周期に同期させて周期的に変化させることで、白波の寄せたり引いたりするのに合わせて、又はそれにすこし遅れて白波の引いた後の砂がぬれて時間がたつにつれて乾いていくの様子が繰り替えされるのを表現することができる。   Therefore, by changing the transparency of the third texture periodically in synchronization with the period of the height change of the first object or the movement period of the second object, the white wave is shifted or subtracted. Or, it is possible to express that the sand after the white wave has been wet a little later and the state of drying over time is repeated.

図13は、オブジェクトの構成点の高さの調整について説明するための図である。   FIG. 13 is a diagram for explaining the adjustment of the height of the constituent points of the object.

本実施の形態では第1のオブジェクトの構成点に高さ調整パラメータまたは深度情報が関連づけて設定されている。例えば各構成点毎に高さ調整パラメータまたは深度情報が設定されている場合でもよいし、第1のオブジェクトを複数の領域に分割し、領域単位に高さ調整パラメータまたは深度情報を設定してもよい。そして各構成点がどの領域に属するかによって高さ調整パラメータまたは深度情報を決定してもよい。   In the present embodiment, height adjustment parameters or depth information are set in association with the constituent points of the first object. For example, the height adjustment parameter or depth information may be set for each component point, or the first object may be divided into a plurality of regions and the height adjustment parameter or depth information may be set for each region. Good. Then, the height adjustment parameter or the depth information may be determined depending on which region each constituent point belongs to.

高さ調整パラメータまたは深度情報に基づき、各構成点の高さを演算する際に使用する周期関数の振幅パラメータを変更するようにしてもよいし、周期関数は同じものを利用して周期関数で得られた高さの値に対して高さ調整パラメータまたは深度情報に基づき補正をかけるようにしてもよい。   Based on the height adjustment parameter or depth information, the amplitude parameter of the periodic function used when calculating the height of each component point may be changed, and the periodic function is a periodic function using the same function. You may make it correct | amend based on a height adjustment parameter or depth information with respect to the obtained height value.

高さ調整パラメータまたは深度情報に基づき各構成点の高さの調整を行う際には、海底からの距離が遠い場合(深度が大きい)は海底からの距離が近い場合(深度が小さい)に比べて高さの変化が小さくなるように各フレームにおける各構成点の高さを演算するようにしてもよい。   When adjusting the height of each component point based on height adjustment parameters or depth information, when the distance from the seabed is large (depth is large), compared to when the distance from the seabed is short (depth is small) Thus, the height of each component point in each frame may be calculated so that the change in height becomes small.

例えばP1は沖合に位置する構成点であり、高さ調整パラメータまたは深度情報として当該地点の海底までの距離L1が設定されているとする。またP2は波打ち際に近い所に位置する構成点であり、高さ調整パラメータまたは深度情報として当該地点の海底までの距離L2が設定されているとする。この場合波打ち際は沖に比べて海底までの距離が短いので(L1>L2なので)、P1のほうがP2に比べて高さの変化が小さくなる。   For example, P1 is a constituent point located offshore, and it is assumed that a distance L1 to the seabed at the point is set as a height adjustment parameter or depth information. Further, P2 is a component point located near the beach, and it is assumed that a distance L2 to the seabed at the point is set as a height adjustment parameter or depth information. In this case, since the distance to the sea floor is shorter than that at the offshore (since L1> L2), the change in height of P1 is smaller than that of P2.

図14は、オブジェクトの構成点の高さの演算の省略について説明するための図である。   FIG. 14 is a diagram for explaining omission of the calculation of the height of the constituent points of the object.

海は広いため仮想カメラ610から所定の距離r以上離れた所では、通常の高さの波の遠方の点のy座標の違いは、透視変換した時に2D画面座標としてはほとんど変わらず誤差として許容できる範囲である。   Because the sea is wide, the difference in the y-coordinate of the distant point of the normal height wave is almost the same as the 2D screen coordinate and is allowed as an error when it is perspective-transformed at a distance of a predetermined distance r or more from the virtual camera 610 It is a possible range.

従って仮想カメラと所定の位置関係(ここでは仮想カメラから半径rの範囲内)を有するエリアを演算領域620として設定し、第1のオブジェクトの各構成点が演算領域に属するか否か判断し、属さないと判断した場合には、各構成点の高さを求める処理を省略するようにしてもよい。   Therefore, an area having a predetermined positional relationship with the virtual camera (here, within the radius r from the virtual camera) is set as the calculation area 620, and it is determined whether each constituent point of the first object belongs to the calculation area. If it is determined that they do not belong, the process for obtaining the height of each component point may be omitted.

従って演算領域620に属する海面の部分630の構成点については高さが演算されるが、演算領域620に属しない海面の部分640の構成点については高さの演算が省略される。   Accordingly, the height is calculated for the constituent points of the sea surface portion 630 belonging to the calculation area 620, but the height calculation is omitted for the constituent points of the sea surface portion 640 not belonging to the calculation area 620.

ここでは演算領域を仮想カメラからの距離に応じて設定したが、例えばビューボリューム又はビューボリュームのXZ平面への投影領域に基づき演算領域を設定するようにしてもよい。このようにすると仮想カメラからの距離が近くても描画範囲内にない部分の構成点については高さの演算を省略することができる。   Here, the calculation area is set according to the distance from the virtual camera. However, the calculation area may be set based on, for example, a view volume or a projection area of the view volume onto the XZ plane. In this way, the calculation of the height can be omitted for the component points that are not within the drawing range even if the distance from the virtual camera is short.

また第1のオブジェクトと第2のオブジェクトを用いて海の画像を生成する場合に限られず、例えば第1のオブジェクトのみで海の画像を生成する場合でもよい。   Further, the present invention is not limited to the case where the sea image is generated using the first object and the second object. For example, the sea image may be generated using only the first object.

本実施の形態によれば、遠方の部分については高さの演算を省略するので演算負荷を軽減することができる。   According to the present embodiment, the calculation of the height is omitted for the distant part, so that the calculation load can be reduced.

3.本実施の形態の処理
本実施の形態では、各フレーム毎に以下の処理を行っている。
3. Processing in the present embodiment In the present embodiment, the following processing is performed for each frame.

図15は、本実施の形態の海面の画像生成処理の流れについて説明するためのフローチャート図である。   FIG. 15 is a flowchart for explaining the flow of the sea surface image generation processing according to the present embodiment.

次に形状が変化する物体の第1の領域に対応した第1のオブジェクトについて、当該第1のオブジェクトの構成点の高さを周期的に変化させるための処理を行う(ステップS10)。   Next, for the first object corresponding to the first region of the object whose shape changes, a process for periodically changing the height of the constituent point of the first object is performed (step S10).

第1のオブジェクトの端の構成点については、図8で説明したように高さを基準点に補正するようにしてもよい。   For the constituent points at the end of the first object, the height may be corrected to the reference point as described in FIG.

次に当該フレームの第1のオブジェクトの所定のエリアの形状に基づいて、当該フレームの第2のオブジェクトの形状を決定する(ステップS20)。   Next, based on the shape of the predetermined area of the first object of the frame, the shape of the second object of the frame is determined (step S20).

次に第1のオブジェクトの高さ変化の周期に同期させて、形状が変化する物体の第2の領域に対応した第2のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う(ステップS30)
次に第1のオブジェクトの構成点の高さ変化の周期に同期させて、第2のオブジェクトの透明度を周期的に変化させるための処理を行う(ステップS40)。
Next, in synchronization with the height change cycle of the first object, the position of the second object corresponding to the second region of the object whose shape changes is changed periodically with respect to the first object. Processing is performed (step S30).
Next, a process for periodically changing the transparency of the second object is performed in synchronization with the height change period of the constituent points of the first object (step S40).

次に第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う(ステップS50)。   Next, in synchronization with the period of the height change of the constituent points of the first object or the movement period of the second object, or after being delayed by a predetermined time, the first of the third object is synchronized with the first object. Processing for periodically changing the position of one object is performed (step S50).

次に第1のオブジェクトの高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの透明度を周期的に変化させるための処理を行う(ステップS60)。   Next, the transparency of the third object is periodically synchronized with the period of the height change of the first object or the movement period of the second object, or with a delay of a predetermined time. Processing for changing is performed (step S60).

そして第1のオブジェクト、第2のオブジェクト、第3のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成する(ステップS70)。   And the image which looked at the object space where the 1st object, the 2nd object, and the 3rd object were set from the virtual camera is generated (Step S70).

4.ハードウェア構成
図16に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
4). Hardware Configuration FIG. 16 shows an example of a hardware configuration that can realize this embodiment. The main processor 900 operates based on a program stored in a CD 982 (information storage medium), a program downloaded via the communication interface 990, a program stored in the ROM 950, or the like, and includes game processing, image processing, sound processing, and the like. Execute. 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 compressed image data and sound data, and accelerates the decoding processing of the main processor 900. Thereby, a moving image compressed by the MPEG method or the like can be displayed on the opening screen or the game screen.

描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。   The drawing processor 910 executes drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces. When drawing an object, the main processor 900 uses the DMA controller 970 to pass the drawing data to the drawing processor 910 and, if necessary, transfers the texture to the texture storage unit 924. Then, the drawing processor 910 draws the object in the frame buffer 922 while performing hidden surface removal using a Z buffer or the like based on the drawing data and texture. The drawing processor 910 also performs α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When 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転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする。通信インターフェース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 CD drive 980 accesses a CD 982 in which programs, image data, sound data, and the like are stored. The communication interface 990 performs data transfer with the outside via a network (communication line, high-speed serial bus).

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

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

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。   The present invention is not limited to that described in the above embodiment, and various modifications can be made.

例えば、明細書又は図面中の記載において広義や同義な用語(テクセル値、テクセル値パターン、プリミティブ面等)として引用された用語(α値・輝度、グラディエーションパターン、ポリゴン等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。   For example, terms (α values / luminance, gradient patterns, polygons, etc.) cited as broad or synonymous terms (texel values, texel value patterns, primitive surfaces, etc.) in the description or drawings are described in the specification or In other descriptions in the drawings, terms can be replaced with terms having a broad meaning or the same meaning.

また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。   In the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.

またテクスチャのマッピング処理も、本実施形態で説明したものに限定されず、これらと均等な変換処理も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯端末等の種々の画像生成システムに適用できる。   Also, the texture mapping process is not limited to that described in the present embodiment, and a conversion process equivalent to these is also included in the scope of the present invention. The present invention can be applied to various games. 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 portable terminal. it can.

本実施形態の画像生成システムの機能ブロック図。The functional block diagram of the image generation system of this embodiment. 本実施の形態の海面の画像の一例である。10は沖合の海面(第1の領It is an example of the image of the sea surface of this Embodiment. 10 is offshore sea level (first territory 図3(A)は、波打ち際に波が寄せてきた時の画像の一例であり、図3(B)は、波打ち際から波が引いていく時の画像の一例である。FIG. 3A is an example of an image when a wave comes along at the time of undulation, and FIG. 3B is an example of an image when a wave is drawn from the shore of the wave. 本実施の形態の第1のオブジェクトについて説明するための図である。It is a figure for demonstrating the 1st object of this Embodiment. 構成点と周期関数によって生成される第1のオブジェクトの様子を示した図である。It is the figure which showed the mode of the 1st object produced | generated by a composing point and a periodic function. は第1のオブジェクトと第2のオブジェクトの関係を模式的に示した図である。FIG. 4 is a diagram schematically showing a relationship between a first object and a second object. 図7は第1のオブジェクトの構成点の高さの変化の周期と、第2のオブジェクトの移動の周期について説明するための図である。FIG. 7 is a diagram for explaining the period of change in height of the constituent points of the first object and the period of movement of the second object. 第1のオブジェクトの端点の高さの調整について説明するための図である。It is a figure for demonstrating adjustment of the height of the end point of a 1st object. 本実施の形態の第2のオブジェクトの形状の決定手法について説明するための図である。It is a figure for demonstrating the determination method of the shape of the 2nd object of this Embodiment. 図10(A)(B)は、本実施の形態の第1のテクスチャ及び第2のテクスチャの一例である。10A and 10B are examples of the first texture and the second texture of the present embodiment. 第1のオブジェクトの構成点の高さの変化の周期または第2のオブジェクトの移動の周期と第3のオブジェクトの移動の周期との関係について説明するための図である。It is a figure for demonstrating the relationship between the period of the change of the height of the structural point of a 1st object, or the period of a movement of a 2nd object, and the period of a movement of a 3rd object. 図12(A)〜(C)は、第3のオブジェクトを使用した画像の一例を表した図である。12A to 12C are diagrams illustrating an example of an image using the third object. オブジェクトの構成点の高さの調整について説明するための図である。It is a figure for demonstrating adjustment of the height of the structural point of an object. オブジェクトの構成点の高さの演算の省略について説明するための図である。It is a figure for demonstrating omission of the calculation of the height of the structural point of an object. 本実施の形態の海面の画像生成処理の流れについて説明するためのフローチャート図である。It is a flowchart figure for demonstrating the flow of the image generation process of the sea surface of this Embodiment. ハードウェア構成例である。It is a hardware structural example.

符号の説明Explanation of symbols

100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、114 仮想カメラ制御部、116 第1のオブジェクト設定処理部、117 第2のオブジェクト設定処理部、118 第3のオブジェクト設定処理部、120 描画部、122 隠面消去部、124 テクスチャマッピング部、126 α合成部、130 音生成部、160 操作部、170 記憶部、172 描画バッファ、174 Zバッファ、176 テクスチャ記憶部、180 情報記憶媒体、190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部 100 processing unit, 110 object space setting unit, 112 movement / motion processing unit, 114 virtual camera control unit, 116 first object setting processing unit, 117 second object setting processing unit, 118 third object setting processing unit, 120 drawing unit, 122 hidden surface removal unit, 124 texture mapping unit, 126 α synthesis unit, 130 sound generation unit, 160 operation unit, 170 storage unit, 172 drawing buffer, 174 Z buffer, 176 texture storage unit, 180 information storage medium 190 Display unit 192 Sound output unit 194 Portable information storage device 196 Communication unit

Claims (9)

オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
形状が変化する物体の第1の領域に対応した第1のオブジェクトについて、当該第1のオブジェクトの構成点の高さを周期的に変化させるための処理を行う第1のオブジェクト設定処理部と、
前記第1のオブジェクトの高さ変化の周期に同期させて、形状が変化する物体の第2の領域に対応した第2のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う第2のオブジェクト設定処理部と、
第1のオブジェクトと第2のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成する描画部と、
してコンピュータを機能させることを特徴とするプログラム。
A program for generating an image visible from a virtual camera in an object space,
A first object setting processing unit that performs processing for periodically changing the height of the constituent points of the first object for the first object corresponding to the first region of the object whose shape changes;
Processing for periodically changing the position of the second object corresponding to the second region of the object whose shape changes in synchronization with the height change cycle of the first object relative to the first object A second object setting processing unit for performing
A drawing unit that generates an image of an object space in which the first object and the second object are set as seen from a virtual camera;
A program that causes a computer to function.
請求項1において、
前記第2のオブジェクト設定処理部は、
第1のオブジェクトの所定のエリアの形状に基づいて、第2のオブジェクトの形状を決定することを特徴とするプログラム。
In claim 1,
The second object setting processing unit
A program for determining a shape of a second object based on a shape of a predetermined area of the first object.
請求項1乃至2のいずれかにおいて、
前記第2のオブジェクト設定処理部は、
第1のオブジェクトの構成点の高さ変化の周期に同期させて、第2のオブジェクトの透明度を周期的に変化させるための処理を行うことを特徴とするプログラム。
In any one of Claims 1 thru | or 2.
The second object setting processing unit
A program for performing processing for periodically changing the transparency of a second object in synchronization with a cycle of height change of constituent points of the first object.
請求項1乃至3のいずれかにおいて、
第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、前記形状が変化する物体とは異なる物体に対応した第3のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う第3のオブジェクト設定処理部を含み、
前記描画部は、
第1のオブジェクトと第2のオブジェクトとともに第3のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成することを特徴とするプログラム。
In any one of Claims 1 thru | or 3,
Different from the object whose shape changes by synchronizing with the period of height change of the constituent points of the first object or the movement period of the second object, or by synchronizing with either of them for a predetermined time delay A third object setting processing unit for performing processing for periodically changing the position of the third object corresponding to the object with respect to the first object;
The drawing unit
A program for generating an image in which an object space in which a third object is set together with a first object and a second object is viewed from a virtual camera.
請求項4において、
前記第3のオブジェクト設定処理部は、
第1のオブジェクトの構成点の高さ変化の周期または第2のオブジェクトの移動周期に同期させて、またはこれらのいずれかに所定時間遅延させて同期させて、第3のオブジェクトの透明度を周期的に変化させるための処理を行うことを特徴とするプログラム。
In claim 4,
The third object setting processing unit
The transparency of the third object is periodically synchronized with the period of the height change of the constituent points of the first object or the period of movement of the second object, or with a delay of a predetermined time. A program characterized in that it performs processing for changing to
請求項1乃至のいずれかにおいて、
前記第1のオブジェクト設定処理部は、
前記各構成点に対して与えられた高さ調整パラメータまたは深度情報に基づき各構成点の高さの調整を行うことを特徴とするプログラム。
In any one of Claims 1 thru | or 5 ,
The first object setting processing unit
A program for adjusting the height of each component point based on a height adjustment parameter or depth information given to each component point.
請求項1乃至のいずれかにおいて、
前記第1のオブジェクト設定処理部は、
仮想カメラと所定の位置関係を有するエリアを演算領域として設定し、第1のオブジェクトの各構成点が演算領域に属するか否か判断し、属さないと判断した場合には、各構成点の高さを求める処理を省略することを特徴とするプログラム。
In any one of Claims 1 thru | or 6 .
The first object setting processing unit
An area having a predetermined positional relationship with the virtual camera is set as a calculation area, and it is determined whether each constituent point of the first object belongs to the calculation area. A program characterized by omitting the process of obtaining the size.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至のいずれかのプログラムが記憶されていることを特徴とする情報記憶媒体。 A computer-readable information storage medium, wherein the program according to any one of claims 1 to 7 is stored. オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
形状が変化する物体の第1の領域に対応した第1のオブジェクトについて、当該第1のオブジェクトの構成点の高さを周期的に変化させるための処理を行う第1のオブジェクト設定処理部と、
前記第1のオブジェクトの高さ変化の周期に同期させて、形状が変化する物体の第2の領域に対応した第2のオブジェクトの前記第1のオブジェクトに対する位置を周期的に変化させるための処理を行う第2のオブジェクト設定処理部と、
第1のオブジェクトと第2のオブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を生成する描画部と、
含むことを特徴とする画像生成システム。
An image generation system for generating an image visible from a virtual camera in an object space,
A first object setting processing unit that performs processing for periodically changing the height of the constituent points of the first object for the first object corresponding to the first region of the object whose shape changes;
Processing for periodically changing the position of the second object corresponding to the second region of the object whose shape changes in synchronization with the height change cycle of the first object relative to the first object A second object setting processing unit for performing
A drawing unit that generates an image of an object space in which the first object and the second object are set as seen from a virtual camera;
An image generation system comprising:
JP2005363975A 2005-12-16 2005-12-16 Image generation system, program, and information storage medium Expired - Fee Related JP4717624B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005363975A JP4717624B2 (en) 2005-12-16 2005-12-16 Image generation system, program, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005363975A JP4717624B2 (en) 2005-12-16 2005-12-16 Image generation system, program, and information storage medium

Publications (2)

Publication Number Publication Date
JP2007164728A JP2007164728A (en) 2007-06-28
JP4717624B2 true JP4717624B2 (en) 2011-07-06

Family

ID=38247518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005363975A Expired - Fee Related JP4717624B2 (en) 2005-12-16 2005-12-16 Image generation system, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP4717624B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5186849B2 (en) * 2007-09-11 2013-04-24 大日本印刷株式会社 Relief recording medium manufacturing method and concavo-convex structure data generation apparatus used therefor
JP7262295B2 (en) * 2019-05-08 2023-04-21 株式会社コーエーテクモゲームス Information processing device, information processing method and program
CN113450443B (en) * 2021-07-08 2023-03-24 网易(杭州)网络有限公司 Rendering method and device of sea surface model

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6155781A (en) * 1984-08-28 1986-03-20 Mitsubishi Precision Co Ltd Method and apparatus for generating texture for simulated visibility device
JPH03156574A (en) * 1989-11-15 1991-07-04 Mitsubishi Precision Co Ltd Wave picture generating system
JPH0944698A (en) * 1995-07-25 1997-02-14 Hitachi Ltd Method and device for generating simulated marine wave image
JPH1097611A (en) * 1996-09-24 1998-04-14 Mitsubishi Heavy Ind Ltd Method and device for generating video
JPH10198819A (en) * 1997-01-10 1998-07-31 Konami Co Ltd Water surface image display device, its image displaying method, and machine-readable recording medium recording computer program
JP2000167237A (en) * 1998-12-04 2000-06-20 Namco Ltd Game device and information storage medium
JP2004164308A (en) * 2002-11-13 2004-06-10 Toshiba Denpa Products Kk Sea surface status expression method by computer graphics

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6155781A (en) * 1984-08-28 1986-03-20 Mitsubishi Precision Co Ltd Method and apparatus for generating texture for simulated visibility device
JPH03156574A (en) * 1989-11-15 1991-07-04 Mitsubishi Precision Co Ltd Wave picture generating system
JPH0944698A (en) * 1995-07-25 1997-02-14 Hitachi Ltd Method and device for generating simulated marine wave image
JPH1097611A (en) * 1996-09-24 1998-04-14 Mitsubishi Heavy Ind Ltd Method and device for generating video
JPH10198819A (en) * 1997-01-10 1998-07-31 Konami Co Ltd Water surface image display device, its image displaying method, and machine-readable recording medium recording computer program
JP2000167237A (en) * 1998-12-04 2000-06-20 Namco Ltd Game device and information storage medium
JP2004164308A (en) * 2002-11-13 2004-06-10 Toshiba Denpa Products Kk Sea surface status expression method by computer graphics

Also Published As

Publication number Publication date
JP2007164728A (en) 2007-06-28

Similar Documents

Publication Publication Date Title
JP2006285509A (en) Program, information storage medium, and image generation system
JP3249955B2 (en) Image generation system and information storage medium
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP3989396B2 (en) Image generation system, program, and information storage medium
JP3748451B1 (en) Program, information storage medium, and image generation system
JP2002216158A (en) Image generation system, program and information storage medium
JP4717624B2 (en) Image generation system, program, and information storage medium
JP4754384B2 (en) Program, information recording medium, and image generation system
JP2006323512A (en) Image generation system, program, and information storage medium
JP2006252426A (en) Program, information storage medium, and image generation system
JP4721476B2 (en) Image generation system and information storage medium
JP2005209217A (en) Game system and information storage medium
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2004341570A (en) Image generation system, program and information storage medium
JP4861862B2 (en) Program, information storage medium, and image generation system
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2006268103A (en) Program, information storage medium, model data structure, and image generation system
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4592087B2 (en) Image generation system, program, and information storage medium
JP3269813B2 (en) Image generation system and information storage medium
JP2007164736A (en) Image generation system, program and information storage medium
JP4162125B2 (en) Image generation system, program, and information storage medium
JP2006252423A (en) Program, information storage medium and image generation system
JP4450535B2 (en) Image generation system and information storage medium
JP2007087030A (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110221

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4717624

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees