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

Program, information storage medium and image generation system Download PDF

Info

Publication number
JP2006252424A
JP2006252424A JP2005071059A JP2005071059A JP2006252424A JP 2006252424 A JP2006252424 A JP 2006252424A JP 2005071059 A JP2005071059 A JP 2005071059A JP 2005071059 A JP2005071059 A JP 2005071059A JP 2006252424 A JP2006252424 A JP 2006252424A
Authority
JP
Japan
Prior art keywords
texture
vertex
coordinates
screen
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005071059A
Other languages
Japanese (ja)
Other versions
JP4641831B2 (en
Inventor
Shigeru Kikko
繁 橘高
Akinari Kaneko
晃也 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2005071059A priority Critical patent/JP4641831B2/en
Publication of JP2006252424A publication Critical patent/JP2006252424A/en
Application granted granted Critical
Publication of JP4641831B2 publication Critical patent/JP4641831B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program, an information storage medium and an image generation system for generating a high quality image, and for attaining high quality shading expressions in a handwritten image. <P>SOLUTION: This image generation system for generating an image viewed from a given point of view in an object space is provided with a geometry processing part 122 for performing geometry processing by perspectively projecting an object on a screen coordinate system, a screen coordinate acquiring part 116 for acquiring the vertex screen coordinates at the respective vertices of the object after the geometry processing, a texture coordinate arithmetic part 118 for performing the addition or subtraction processing of normal vector information at the respective vertices of the object to the acquired vertex screen coordinates, and for calculating texture coordinates at the respective vertices of the object and a texture mapping part 124 for mapping the given texture on the object based on the calculated texture coordinates. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

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

従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム(RPG)を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるキャラクタ(オブジェクト)を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を町を訪れたりすることでゲームを楽しむ。   Conventionally, an image generation system (game system) that generates an image that can be seen from a virtual camera (a given viewpoint) in an object space that is a virtual three-dimensional space is known. Popular. Taking an image generation system capable of enjoying a role-playing game (RPG) as an example, a player operates a character (object), which is his or her own character, and moves it on a map in the object space to play against an enemy character. Play games by interacting with other characters or visiting various towns.

さて、このような画像生成システムでは、スクリーントーンと呼ばれる漫画やアニメーション等で用いられているパターン(例えば、メッシュ、グリッド、ハッチングなど。)を表すパターン画像(トーン画像、あるいはトーンテクスチャ)をオブジェクトにマッピングして陰影や濃淡などを表現することがある。このようなパターン画像を用いたテクスチャマッピングでは、例えば、手書き調の画像表現を行うことができる。   In such an image generation system, a pattern image (tone image or tone texture) representing a pattern (for example, mesh, grid, hatching, etc.) used in comics or animation called a screen tone is used as an object. Mapping may be used to express shading or shading. In texture mapping using such a pattern image, for example, handwritten image expression can be performed.

ところで、例えば、球体などの曲面を有するオブジェクトに陰影(シェード)を、上記のようなパターン画像のテクスチャマッピングを行って表現する場合、陰影線は本来オブジェクトの表面形状に沿って描かれるべきである。しかしながら、単純にパターン画像をオブジェクトにマッピングしただけでは、画一的な陰影線となってしまい、手書き調の質感を十分に表現することができない。
特開2001−319244号公報
By the way, for example, when a shadow (shade) is expressed on an object having a curved surface such as a sphere by performing texture mapping of the pattern image as described above, the shadow line should be originally drawn along the surface shape of the object. . However, simply mapping the pattern image to the object results in a uniform shadow line, and the handwritten tone cannot be expressed sufficiently.
JP 2001-319244 A

本発明は上記事情に鑑みてなされたものであり、その目的は、高品質な画像を生成することができ、例えば、手書き調の画像における高品質な陰影表現を実現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to generate a high-quality image, for example, a program and information capable of realizing a high-quality shadow expression in a handwritten image To provide a storage medium and an image generation system.

本発明は、オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、オブジェクトをスクリーン座標系に透視投影してジオメトリ処理を行うジオメトリ処理部と、ジオメトリ処理後におけるオブジェクトの各頂点の頂点スクリーン座標を取得するスクリーン座標取得部と、取得された前記頂点スクリーン座標に対して、前記オブジェクトの各頂点についての法線ベクトル情報の加算または減算処理をして、該オブジェクトの各頂点についてテクスチャ座標を求めるテクスチャ座標演算部と、求められた前記テクスチャ座標に基づいて、所与のテクスチャを前記オブジェクトにマッピングするテクスチャマッピング部と、を含む画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   The present invention is an image generation system for generating an image viewed from a given viewpoint in an object space, a geometry processing unit that performs perspective processing by projecting an object onto a screen coordinate system, and a post-geometry processing A screen coordinate acquisition unit that acquires the vertex screen coordinates of each vertex of the object, and the normal vector information for each vertex of the object is added to or subtracted from the acquired vertex screen coordinates to obtain the object A texture coordinate calculation unit that obtains texture coordinates for each of the vertices, and a texture mapping unit that maps a given texture to the object based on the obtained texture coordinates. The present invention also relates to a program that causes a computer to function as each of the above-described units. The present invention also relates to an information storage medium that can be read by a computer and stores (records) a program that causes the computer to function as each of the above-described units.

本発明によれば、テクスチャ座標を求める際に、スクリーンに透視投影されたオブジェクトの各頂点の頂点スクリーン座標に対して、各頂点における法線ベクトル情報を加算又は減算処理することによって、マッピングされるトーン(テクスチャ)を物体の形状に沿うように変形させることができるようになる。すなわち、本発明によれば、曲面を有するオブジェクト面にトーンをマッピングした場合において、マッピングされる物体(オブジェクト)の形状に沿って手書きしたような質感を表現することができる。   According to the present invention, when obtaining the texture coordinates, mapping is performed by adding or subtracting normal vector information at each vertex to the vertex screen coordinates of each vertex of the object projected on the screen. The tone (texture) can be deformed along the shape of the object. That is, according to the present invention, when a tone is mapped onto an object surface having a curved surface, it is possible to express a texture as if it was handwritten along the shape of the object (object) to be mapped.

また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記法線ベクトル情報は、視点座標系又はスクリーン座標系での前記オブジェクトの各頂点の法線ベクトルの座標成分を絶対値化したものであってもよい。このようにすれば、法線ベクトル情報の加算又は減算処理によるテクスチャ座標の変化量が大きすぎることなく、手書き調の質感を十分に表現することができるようになる。   In the image generation system, the program, and the information storage medium according to the present invention, the normal vector information is an absolute value of a coordinate component of a normal vector of each vertex of the object in the viewpoint coordinate system or the screen coordinate system. It may be. In this way, the texture of the handwritten tone can be sufficiently expressed without the change amount of the texture coordinates by the addition or subtraction process of the normal vector information being too large.

また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記法線ベクトル情報は、前記法線ベクトルの座標成分の絶対値に対して所与の補正係数を乗算処理したものであってもよい。このようにすれば、手書き調独特の質感が出るようにテクスチャの変化の度合いを調整することができるようになる。   In the image generation system, program, and information storage medium according to the present invention, the normal vector information may be obtained by multiplying the absolute value of the coordinate component of the normal vector by a given correction coefficient. Good. In this way, the degree of texture change can be adjusted so that a handwritten tone-specific texture is produced.

また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記スクリーン座標取得部が、前記頂点スクリーン座標に加えて、前記オブジェクトに対して設定された基準点についての基準点スクリーン座標を取得し、前記テクスチャ座標演算部が、前記頂点スクリーン座標と前記基準点スクリーン座標との差分に対して、前記オブジェクトの各頂点についての法線ベクトル情報の加算処理または減算処理をして、該オブジェクトの各頂点についてのテクスチャ座標を求めるようにしてもよい。このようにすれば、オブジェクトごとに基準点が設定されるため、視点やオブジェクトが移動した場合であっても、これらの移動に追従するようにテクスチャ座標が求められる。従って、カメラやオブジェクトの移動による不自然さが生じにくい高品質な画像を生成することができ、例えば、手書き調の画像において高品質な陰影表現を実現することができるようになる。   In the image generation system, the program, and the information storage medium according to the present invention, the screen coordinate acquisition unit acquires a reference point screen coordinate for a reference point set for the object in addition to the vertex screen coordinate. The texture coordinate calculation unit adds or subtracts normal vector information for each vertex of the object with respect to the difference between the vertex screen coordinates and the reference point screen coordinates, You may make it obtain | require the texture coordinate about a vertex. In this way, since the reference point is set for each object, the texture coordinates are obtained so as to follow these movements even when the viewpoint or the object moves. Accordingly, it is possible to generate a high-quality image in which unnaturalness due to the movement of the camera or the object does not easily occur. For example, it is possible to realize a high-quality shadow expression in a handwritten image.

また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記テクスチャ座標演算部が、前記オブジェクトの各頂点と前記基準点との視点座標系における奥行き方向の距離差に応じて前記テクスチャ座標を補正するようにしてもよい。オブジェクトの各頂点は、ジオメトリ処理後においても奥行き座標値を持っているため、視点が移動すると視点に近いオブジェクトはスクリーン上を速く動き、視点から遠いオブジェクトはスクリーン上をゆっくりと動く。このため、基準点から奥行き方向において互いに奥行き方向において距離差のあるオブジェクトにまたがってテクスチャがマッピングされると、視点やオブジェクト自身が移動した場合にテクスチャの表示変化の度合いに不自然さが生じやすくなる。そこで、オブジェクトの各頂点と基準点との視点座標系またはスクリーン座標系における奥行き方向の距離差に応じてテクスチャ座標を変化させることで、テクスチャの表示変化が視点の移動に追従し、画像が不自然になることを防ぐことで高質な画像表現を実現することができる。   In the image generation system, the program, and the information storage medium according to the present invention, the texture coordinate calculation unit calculates the texture coordinates according to a distance difference in the depth direction in the viewpoint coordinate system between each vertex of the object and the reference point. You may make it correct | amend. Since each vertex of the object has a depth coordinate value even after geometry processing, when the viewpoint moves, an object close to the viewpoint moves fast on the screen, and an object far from the viewpoint moves slowly on the screen. For this reason, if a texture is mapped across objects that have a distance difference from each other in the depth direction from the reference point, unnaturalness tends to occur in the degree of change in the texture display when the viewpoint or the object itself moves. Become. Therefore, by changing the texture coordinates according to the distance difference in the depth direction in the viewpoint coordinate system or screen coordinate system between each vertex of the object and the reference point, the display change of the texture follows the movement of the viewpoint, and the image is not correct. By preventing it from becoming natural, it is possible to realize high-quality image expression.

この場合において、前記基準点から前記奥行き方向の距離が近い頂点ほど補正量が小さくなり、前記基準点から前記奥行き方向の距離が遠い頂点ほど補正量が大きくなるように、前記テクスチャ座標を補正することができる。例えば、前記オブジェクトの各頂点のパースペクティブ除算値と前記基準点のパースペクティブ除算値との比に基づいて前記テクスチャ座標を補正するようにしてもよい。   In this case, the texture coordinates are corrected so that the vertex is closer to the depth in the depth direction from the reference point, and the correction amount is smaller, and the vertex is farther from the reference point in the depth direction. be able to. For example, the texture coordinates may be corrected based on the ratio of the perspective division value of each vertex of the object and the perspective division value of the reference point.

また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記テクスチャ座標演算部が、ランダムまたは周期的に変化する変数を前記テクスチャ座標に対して加算処理して該テクスチャ座標を変化させるようにしてもよい。このようにすれば、手書きアニメーションの各フレーム画像にあるような手書き独特の絵のズレ具合を表現することができる。この場合において、前記変数は、時間、視点の移動情報及びゲームイベントの少なくとも一つに応じて変化するものであってもよい。例えば、視点が移動したときにはフレーム画像が大きく変わるため、視点の移動情報に応じて値が変化する変数を加算してテクスチャ座標を変化させることで、手書き調の質感を十分に表現することができる。   In the image generation system, program, and information storage medium according to the present invention, the texture coordinate calculation unit adds a variable that changes randomly or periodically to the texture coordinates to change the texture coordinates. May be. In this way, it is possible to express a picture shift unique to handwriting as in each frame image of handwritten animation. In this case, the variable may change according to at least one of time, viewpoint movement information, and a game event. For example, when the viewpoint moves, the frame image changes greatly, so by adding a variable whose value changes according to the movement information of the viewpoint and changing the texture coordinates, it is possible to sufficiently express the handwritten texture. .

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

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

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

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

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

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

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

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

処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、スクリーン座標取得部116、テクスチャ座標演算部118、画像生成部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 screen coordinate acquisition unit 116, a texture coordinate calculation unit 118, an image generation unit 120, and a sound generation unit 130. Note that some of these may be omitted.

オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるパーツオブジェクト、あるいは複数のパーツオブジェクトで構成されるモデルオブジェクトなど)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit 110 includes various objects (primitive surfaces such as polygons, free-form surfaces, and subdivision surfaces) representing display objects such as characters, buildings, stadiums, cars, trees, columns, walls, and maps (terrain). A part object or a model object composed of a plurality of part objects) is set in the object space. In other words, the position and rotation angle of the object in the world coordinate system (synonymous with direction and direction) are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects.

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

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

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

スクリーン座標取得部116は、オブジェクトにトーンテクスチャ(パターン画像)をマッピングするためのテクスチャ座標(U,V座標)に変換されるスクリーン座標(X,Y座標)を取得する処理を行う。具体的には、ジオメトリ処理された(スクリーン座標系への透視投影により座標変換された)オブジェクトの各頂点のスクリーン座標を、頂点スクリーン座標として取得する。   The screen coordinate acquisition unit 116 performs processing for acquiring screen coordinates (X, Y coordinates) converted into texture coordinates (U, V coordinates) for mapping a tone texture (pattern image) to an object. Specifically, the screen coordinates of each vertex of the object subjected to geometry processing (coordinate-transformed by perspective projection onto the screen coordinate system) are acquired as vertex screen coordinates.

テクスチャ座標演算部118は、オブジェクトにマッピングされるテクスチャのテクスチャ座標を求める処理を行う。具体的には、スクリーン座標取得部116において取得された頂点スクリーン座標に対して、オブジェクトの各頂点についての法線ベクトル情報(ノーマルベクトル情報)の加算または減算処理をしてテクスチャ座標Aを求める。このとき、カメラ座標系又はスクリーン座標系でのオブジェクトの各頂点の法線ベクトル(面の向きを表す法線ベクトル。オブジェクトの頂点に設定された法線ベクトル)の座標成分(X,Y座標成分)を絶対値化(例えば、値域(−1.0〜1.0)が値域(0.0〜1.0)になる)して、その絶対値に対して所与の補正係数を乗算処理したものを法線ベクトル情報とすることができる。なお、スクリーン座標系での法線ベクトルの座標成分を用いる場合には、透視変換後の法線ベクトルの長さを単位ベクトル化することが望ましい。このように法線ベクトルの座標成分を絶対値化しておけば、補正係数の符号の正負によって加算あるいは減算処理を行わせることができ、形状補正の度合いを簡便に制御することができるようになる。   The texture coordinate calculation unit 118 performs processing for obtaining the texture coordinates of the texture mapped to the object. Specifically, the texture coordinate A is obtained by adding or subtracting normal vector information (normal vector information) for each vertex of the object to the vertex screen coordinates acquired by the screen coordinate acquisition unit 116. At this time, the coordinate component (X, Y coordinate component) of the normal vector of each vertex of the object in the camera coordinate system or the screen coordinate system (normal vector representing the orientation of the surface; the normal vector set at the vertex of the object) ) Is converted into an absolute value (for example, a value range (−1.0 to 1.0) becomes a value range (0.0 to 1.0)), and a given correction coefficient is multiplied by the absolute value. This can be used as normal vector information. When using the coordinate component of the normal vector in the screen coordinate system, it is desirable to convert the length of the normal vector after perspective transformation into a unit vector. If the coordinate component of the normal vector is converted into an absolute value in this way, addition or subtraction processing can be performed depending on the sign of the correction coefficient, and the degree of shape correction can be easily controlled. .

例えば、頂点スクリーン座標をP(x,y)、トーンテクスチャのテクスチャサイズ(ピクセル情報)を(tx×ty)、頂点の法線ベクトルの座標成分をN(Nx,Ny,Nz)とし、補正係数をM(Mx,My)とした場合、頂点スクリーン座標Pについて求められるテクスチャ座標A(ax,ay)は、下式のように求められる。   For example, the vertex screen coordinate is P (x, y), the texture size (pixel information) of the tone texture is (tx × ty), the vertex normal vector coordinate component is N (Nx, Ny, Nz), and the correction coefficient Is M (Mx, My), the texture coordinates A (ax, ay) obtained for the vertex screen coordinates P are obtained by the following equation.

A(ax,ay)=(x/tx+(|Nx|*Mx),y/ty+(|Ny|*My)) (1A)
なお、加算処理を行う場合には、補正係数M(Mx,My)を正の値とすることにより実現でき、減算処理を行う場合、補正係数M(Mx,My)を負の値とすることにより示現することができる。
A (ax, ay) = (x / tx + (| Nx | * Mx), y / ty + (| Ny | * My)) (1A)
In addition, when performing an addition process, it is realizable by making correction coefficient M (Mx, My) into a positive value, and when performing a subtraction process, making correction coefficient M (Mx, My) into a negative value. Can be represented by

またテクスチャ座標演算部118では、スクリーン座標取得部116において取得された頂点スクリーン座標とオブジェクトに対して設定される基準点のスクリーン座標(基準点スクリーン座標)とについて差分処理を行って、トーンテクスチャのマッピング対象となるオブジェクトの各頂点についてテクスチャ座標を求めてもよい。なお、この場合には、スクリーン座標取得部116が、オブジェクトに対して設定される基準点をジオメトリ処理して求められるスクリーン座標を、基準点スクリーン座標として取得する。   In addition, the texture coordinate calculation unit 118 performs a difference process on the vertex screen coordinates acquired by the screen coordinate acquisition unit 116 and the screen coordinates of the reference point set for the object (reference point screen coordinates) to obtain the tone texture. You may obtain | require a texture coordinate about each vertex of the object used as mapping object. In this case, the screen coordinate acquisition unit 116 acquires screen coordinates obtained by geometry processing of the reference points set for the object as reference point screen coordinates.

例えば、基準点スクリーン座標をB(bx,by)とすると、テクスチャ座標A1(ax1,ay1)は、下式のように求められる。   For example, if the reference point screen coordinates are B (bx, by), the texture coordinates A1 (ax1, ay1) are obtained as in the following equation.

A1(ax1,ay1)=((x-bx)/tx,(y-by)/ty) (2A)
そして、上記(2A)式の演算手法を上記(1A)式に適用すると、テクスチャ座標A2(ax2,ay2)は、下式のようになる。
A1 (ax1, ay1) = ((x-bx) / tx, (y-by) / ty) (2A)
Then, when the calculation method of the above equation (2A) is applied to the above equation (1A), the texture coordinates A2 (ax2, ay2) are expressed by the following equation.

A2(ax2,ay2)=((x-bx)/tx+(|Nx|*Mx),(y-by)/ty+(|Ny|*My)) (3A)
またテクスチャ座標演算部118は、オブジェクトの各頂点と基準点とのカメラ座標系(視点座標系)またはスクリーン座標系における奥行き方向の距離差に応じてテクスチャ座標を補正する処理を行う。具体的には、基準点から奥行き方向の距離が近い頂点ほど補正量(補正度合い)が小さくなり、基準点から奥行き方向の距離が遠い頂点ほど補正量が大きくなるように、上記(3A)式で求めたテクスチャ座標について補正演算を行う。この場合、頂点と基準点との間の奥行き方向の距離差を考慮するためにパースペクティブ除算値を用いることができ、例えばオブジェクトの各頂点のパースペクティブ除算値と基準点のパースペクティブ除算値との比に基づいてテクスチャ座標を補正することができる。例えば、オブジェクトの頂点および基準点のパースペクティブ除算値をそれぞれ1/w、1/bwとすると、テクスチャ座標Aの距離補正値dならびに補正後のテクスチャ座標A3(ax3,ay3)は下式のように求められる。
A2 (ax2, ay2) = ((x-bx) / tx + (| Nx | * Mx), (y-by) / ty + (| Ny | * My)) (3A)
In addition, the texture coordinate calculation unit 118 performs a process of correcting the texture coordinates in accordance with the distance difference in the depth direction in the camera coordinate system (viewpoint coordinate system) or the screen coordinate system between each vertex of the object and the reference point. Specifically, the correction amount (correction degree) is smaller as the vertex is closer to the depth direction from the reference point, and the correction amount is larger so that the vertex is farther from the reference point in the depth direction. The correction calculation is performed on the texture coordinates obtained in (1). In this case, the perspective division value can be used to take into account the distance in the depth direction between the vertex and the reference point.For example, the ratio between the perspective division value of each vertex of the object and the perspective division value of the reference point Based on this, texture coordinates can be corrected. For example, if the perspective division values of the vertex and the reference point of the object are 1 / w and 1 / bw, respectively, the distance correction value d of the texture coordinate A and the corrected texture coordinate A3 (ax3, ay3) are as shown in the following equation: Desired.

d=(1/bw)/(1/w)=w/bw (4A)
A3(ax3,ay3)=((x-bx*d)/tx+(|Nx|*Mx),(y-by*d)/ty+(|Ny|*My)) (5A)
またテクスチャ座標演算部118は、ランダムまたは周期的に変化する動き補正値(変数)を、上記(5A)式で求められたテクスチャ座標に対して加算処理してトーンテクスチャをマッピングするためのテクスチャ座標を変化させる処理を行う。例えば、動き補正値をm(mx,my)とすると、動き補正処理がされたテクスチャ座標A4(ax4,ay4)は下式のように求められる。
d = (1 / bw) / (1 / w) = w / bw (4A)
A3 (ax3, ay3) = ((x-bx * d) / tx + (| Nx | * Mx), (y-by * d) / ty + (| Ny | * My)) (5A)
The texture coordinate calculation unit 118 adds a motion correction value (variable) that changes randomly or periodically to the texture coordinate obtained by the above equation (5A) and maps the tone texture to the texture coordinate. The process which changes is performed. For example, if the motion correction value is m (mx, my), the texture coordinates A4 (ax4, ay4) subjected to the motion correction processing are obtained as in the following equation.

A4(ax4,ay4)=(mx+(x-bx*d)/tx+(|Nx|*Mx),my+(y-by*d)/ty+(|Ny|*My)) (6A)
なお、動き補正処理は、上記(1A)式あるいは(3A)式で求めたテクスチャ座標Aあるいはテクスチャ座標A2に対して行ってもよい。
A4 (ax4, ay4) = (mx + (x-bx * d) / tx + (| Nx | * Mx), my + (y-by * d) / ty + (| Ny | * My)) (6A)
The motion correction process may be performed on the texture coordinates A or the texture coordinates A2 obtained by the above expression (1A) or (3A).

画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(オブジェクトデータ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ174(フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように生成する。   The image generation unit 120 performs drawing processing based on the results of various processes (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. In the case of generating a so-called three-dimensional game image, first, geometric processing such as coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, or perspective transformation is performed, and drawing data ( The position coordinates, texture coordinates, color data, normal vector, α value, etc.) of the vertexes of the primitive surface are created. Then, based on the drawing data (object data), the image information can be stored in units of pixels such as the drawing buffer 174 (frame buffer, intermediate buffer, etc.) of the object (one or a plurality of primitive surfaces) after perspective transformation (after geometry processing). Draw in the buffer (VRAM). Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. When there are a plurality of virtual cameras (viewpoints), an image that can be seen from each virtual camera is generated as a divided image so that it can be displayed on one screen.

画像生成部120は、ジオメトリ処理部122、テクスチャマッピング部124、半透明処理部126を含む。   The image generation unit 120 includes a geometry processing unit 122, a texture mapping unit 124, and a translucent processing unit 126.

ジオメトリ処理部122は、オブジェクトに対してジオメトリ処理を行う。より具体的には、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理を行う。そして、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いは癇l等)は、記憶部170の主記憶部172に保存される。   The geometry processing unit 122 performs geometry processing on the object. More specifically, geometric processing such as coordinate transformation, clipping processing, perspective transformation, or light source calculation is performed. Then, the object data after the geometry processing (after perspective transformation) (position coordinates of the vertex of the object, texture coordinates, color data, normal vector, or 癇 l, etc.) is stored in the main storage unit 172 of the storage unit 170. .

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

半透明処理部126はα値(A値)に基づく半透明合成処理(通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等)を行う。例えば通常αブレンディングの場合には下式の処理を行う。   The translucent processing unit 126 performs a translucent compositing process (usually α blending, α addition blending, α subtraction blending, or the like) based on the α value (A value). For example, in the case of normal α blending, the following processing is performed.

=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
一方、加算αブレンディングの場合には下式の処理を行う。
R Q = (1−α) × R 1 + α × R 2 (1)
G Q = (1−α) × G 1 + α × G 2 (2)
B Q = (1−α) × B 1 + α × B 2 (3)
On the other hand, in the case of addition α blending, the following processing is performed.

=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
ここで、R、G、Bは、描画バッファ174に既に描画されている画像(元画像)のRGB成分であり、R、G、Bは、描画バッファ174に描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
R Q = R 1 + α × R 2 (4)
G Q = G 1 + α × G 2 (5)
B Q = B 1 + α × B 2 (6)
Here, R 1 , G 1 , B 1 are RGB components of an image (original image) already drawn in the drawing buffer 174, and R 2 , G 2 , B 2 should be drawn in the drawing buffer 174. This is the RGB component of the image. R Q , G Q , and B Q are RGB components 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.

また半透明処理部126は、通常のテクスチャがマッピングされた画像(元画像)とトーンテクスチャがマッピングされた画像(トーンマップ画像)とを半透明合成する処理を行う。具体的には、まずトーンマップ画像の輝度値から所定色の色画像の輝度値を減算する減算半透明処理をした第1減算トーンマップ画像と、色画像の輝度値からトーンマップ画像の輝度値を減算する減算半透明処理をした第2減算トーンマップ画像とを作成する。そして、元画像と第1減算トーンマップ画像とを加算半透明処理し、加算半透明処理後の画像から第2減算トーンマップ画像を減算半透明処理することにより、元画像とトーンマップ画像とを半透明合成する。すなわち、トーンマップ画像において、色画像の各色成分より明るい色については加算半透明処理が施され、色画像の各色成分より暗い色については減算半透明処理が施されることになる。これにより、トーンテクスチャのパターンの影響が元画像の各色成分に強く出過ぎず、手書き調の絵の質感を表現することができる。   The translucent processing unit 126 performs a process of translucently combining an image (original image) mapped with a normal texture and an image (tone map image) mapped with a tone texture. Specifically, first, a first subtractive tone map image that has been subjected to subtraction translucency processing for subtracting the luminance value of a color image of a predetermined color from the luminance value of the tone map image, and the luminance value of the tone map image from the luminance value of the color image. And a second subtraction tone map image subjected to the subtraction translucent process for subtracting. Then, the original image and the first subtraction tone map image are subjected to addition semi-transparency processing, and the second subtraction tone map image is subjected to subtraction translucency processing from the image after the addition semi-transparency processing, thereby obtaining the original image and the tone map image. Translucent composition. That is, in the tone map image, an addition translucent process is performed for colors brighter than the respective color components of the color image, and a subtractive translucent process is performed for colors darker than the respective color components of the color image. As a result, the influence of the tone texture pattern is not excessively exerted on each color component of the original image, and the texture of the hand-drawn picture can be expressed.

この場合においては、所定色の色画像として中間色(例えばグレー。(R,G,B)=(0.5,0.5,0.5))を用いることができる。   In this case, an intermediate color (for example, gray (R, G, B) = (0.5, 0.5, 0.5)) can be used as the color image of the predetermined color.

またこの場合においては、元画像とトーンマップ画像との半透明合成処理におけるブレンド率(α値)を以下のように求めることができる。まず元画像をクラット(CLUT;Color Look Up Table)変換によりグレースケール化し、そのグレースケール画像の色成分の輝度値からブレンド率を求めることができる。なお、このとき求められたブレンド率(α値)に対してべき乗補正を行ってもよい。このようにすれば、トーンテクスチャを用いて陰影表現を行う場合などに、元画像の暗い部分ほどトーンが強調されて、手書きの絵に特有の自然な色のにじみを表現することができる。   In this case, the blend ratio (α value) in the translucent synthesis process of the original image and the tone map image can be obtained as follows. First, the original image is converted to gray scale by CLUT (Color Look Up Table) conversion, and the blend ratio can be obtained from the luminance value of the color component of the gray scale image. Note that power correction may be performed on the blend ratio (α value) obtained at this time. In this way, when performing shade expression using a tone texture, the darker portion of the original image is emphasized and the natural color blur specific to the handwritten picture can be expressed.

音生成部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. Next, the method of this embodiment will be described with reference to the drawings. In the following, the case where the method of the present embodiment is employed when expressing the shadow of an object in a game image will be mainly described. However, the method of the present embodiment is not limited to the expression of a shadow in such a game image. It can be applied to various image expressions.

2.1 テクスチャ座標の演算手法
手書きによって画像を作成する場合、例えば、球体の陰影(シェード)を手書きアニメーションにおいて表現する場合には、陰影を表すための線画を球体に沿うように表現するはずである。しかしながら、単純にトーンテクスチャをオブジェクトにマッピングしただけでは、例えば、図2に示すように直線的なパターンのトーンテクスチャを陰影表現のためにオブジェクトにマッピングすると、手書きの質感や球体オブジェクトの立体感を十分に表現することができない。
2.1 Texture Coordinate Calculation Method When creating an image by handwriting, for example, when expressing the shadow of a sphere in handwritten animation, the line drawing for expressing the shadow should be expressed along the sphere. is there. However, if the tone texture is simply mapped to the object, for example, if the tone texture of a linear pattern is mapped to the object for shading expression as shown in FIG. I cannot express enough.

そこで、本実施の形態では、オブジェクトの形状に沿うようにトーンテクスチャのパターンを変形させてマッピングする手法を採用する。特に本実施の形態では、オブジェクトの頂点の法線ベクトル(ノーマルベクトル)に着目した。オブジェクトの各頂点の法線ベクトルは、頂点間の傾きを表しており、この情報をテクスチャ座標の演算に用いることにより、図3に示すように、オブジェクトの面の形状に関連づけてトーンテクスチャのパターンを法線ベクトルの方向成分と長さ成分に従って変形させることができるようになる。より具体的には、上記(1A)式に従って、法線ベクトルの座標成分の絶対値(長さ成分の値域を−1.0〜1.0から0.0〜1.0に変換した値)に任意の調整値を乗算した値をオブジェクトの各頂点のスクリーン座標(頂点スクリーン座標)に対して加算処理あるいは減算処理をしてテクスチャ座標を求める。なお、加算処理をする場合には、調整値を正の値とし、減算処理をする場合には、調整値を負の値とすればよい。ここで、法線ベクトルの座標成分を絶対値化するのは、−1.0〜1.0という値域を取りうる法線ベクトルの長さ成分をそのままトーンテクスチャのパターンの変形に適用すると、陰影表現の場合にはパターンの変形度合いが大きすぎるからである。このようにすると、図4に示すように、トーンテクスチャのパターンが法線ベクトルの方向に対して大きく変形され、オブジェクトにより表現される物体の形状に沿ったパターンでトーンテクスチャがマッピングされ、オブジェクトの立体感を十分に表現することができる。   Therefore, in the present embodiment, a technique is adopted in which the tone texture pattern is deformed and mapped so as to follow the shape of the object. In particular, the present embodiment focuses on the normal vector (normal vector) of the vertex of the object. The normal vector of each vertex of the object represents the inclination between the vertices. By using this information for the calculation of texture coordinates, as shown in FIG. 3, the pattern of the tone texture is related to the shape of the surface of the object. Can be transformed according to the direction component and the length component of the normal vector. More specifically, in accordance with the above equation (1A), the absolute value of the coordinate component of the normal vector (the value obtained by converting the value range of the length component from −1.0 to 1.0 to 0.0 to 1.0) A texture coordinate is obtained by adding or subtracting a value obtained by multiplying the arbitrary adjustment value to the screen coordinates (vertex screen coordinates) of each vertex of the object. In addition, what is necessary is just to make an adjustment value into a positive value when performing an addition process, and making an adjustment value into a negative value when performing a subtraction process. Here, the normal vector coordinate component is converted into an absolute value by applying a normal vector length component that can take a range of −1.0 to 1.0 to the deformation of the tone texture pattern as it is. This is because the degree of deformation of the pattern is too large in the case of expression. In this way, as shown in FIG. 4, the tone texture pattern is greatly deformed with respect to the direction of the normal vector, and the tone texture is mapped with a pattern along the shape of the object represented by the object. The three-dimensional effect can be expressed sufficiently.

また本実施の形態では、オブジェクトにマッピングされるテクスチャのテクスチャ座標を、オブジェクトの各頂点のスクリーン座標(頂点スクリーン座標)と、オブジェクトに対して設定される基準点のスクリーン座標(基準点スクリーン座標)とを用いて求めている。「オブジェクトに対して設定される基準点」とは、プリミティブ単位、複数のプリミティブから構成されるパーツオブジェクト単位(図5(A)の点B1〜B6)、あるいは複数のパーツオブジェクトから構成されるモデルオブジェクト単位(図5(B)の点B)で設定される任意の点であり、プリミティブ、パーツオブジェクト、あるいはモデルオブジェクトの1頂点を基準点としてもよい。   In this embodiment, the texture coordinates of the texture mapped to the object are the screen coordinates of each vertex of the object (vertex screen coordinates) and the screen coordinates of the reference point set for the object (reference point screen coordinates). And using. “Reference point set for an object” means a primitive unit, a part object unit composed of a plurality of primitives (points B1 to B6 in FIG. 5A), or a model composed of a plurality of part objects. It is an arbitrary point set in object units (point B in FIG. 5B), and one vertex of a primitive, a part object, or a model object may be used as a reference point.

例えば、図6(A)に示すようなハッチングパターンのトーンテクスチャ(テクスチャサイズ;128ピクセル×128ピクセル)を図6(B)に示すスクリーン位置に投影された頂点P1,P2,P3からなるプリミティブ面にマッピングする場合を考える。   For example, a primitive surface including vertices P1, P2, and P3 in which a tone texture (texture size: 128 pixels × 128 pixels) of a hatching pattern as shown in FIG. 6A is projected onto the screen position shown in FIG. 6B. Consider the case of mapping to.

図6(B)に示すように、各頂点P1,P2,P3のスクリーン座標は、それぞれ(128,64)、(64,192)、および(192,192)である。本実施の形態では、この各頂点P1〜P3のうち頂点P1を基準点Bとして、基準点を含む各頂点のスクリーン座標とトーンテクスチャのテクスチャサイズ(広義には、ピクセル情報)とに基づいて、図6(A)に示すトーンテクスチャをマッピングするためのテクスチャ座標を求める。   As shown in FIG. 6B, the screen coordinates of the vertices P1, P2, and P3 are (128, 64), (64, 192), and (192, 192), respectively. In the present embodiment, of the vertices P1 to P3, the vertex P1 is the reference point B, and based on the screen coordinates of each vertex including the reference point and the texture size (pixel information in a broad sense) of the tone texture, Texture coordinates for mapping the tone texture shown in FIG.

具体的には、上記(2A)式に従ってテクスチャ座標を求めると、図6(C)に示すように、基準点Bとなる頂点P1のテクスチャ座標が(0,0)に設定され、頂点P2,P3のテクスチャ座標が(−0.5,1)、(0.5、1)に設定される。   Specifically, when the texture coordinates are obtained according to the above equation (2A), as shown in FIG. 6C, the texture coordinates of the vertex P1 serving as the reference point B are set to (0, 0), and the vertex P2, The texture coordinates of P3 are set to (−0.5, 1) and (0.5, 1).

このように設定されたテクスチャ座標に基づきテクスチャマッピングを行うとき、トーンテクスチャは、図7(A)に示すように、基準点B(頂点P1)を原点としてスクリーン座標系に繰返して貼り付けられることを意味し、プリミティブ面PRには、頂点P1〜P3に囲まれた部分のパターンが反映され、図7(B)に示すようにトーンテクスチャがマッピングされる。   When texture mapping is performed based on the texture coordinates set in this way, the tone texture is repeatedly pasted to the screen coordinate system with the reference point B (vertex P1) as the origin, as shown in FIG. 7A. In the primitive surface PR, the pattern of the portion surrounded by the vertices P1 to P3 is reflected, and the tone texture is mapped as shown in FIG.

ここで、仮想カメラがスクリーン座標系のX軸方向に平行移動した場合を考える。このとき図8(A)に示すように、プリミティブ面PRのスクリーン座標は変更されるが、基準点Bは頂点P1に設定されている。このため、仮想カメラの移動によって各頂点のスクリーン座標が変更されても、テクスチャ座標は変更されることがなく、図8(B)に示すように、図7(B)の場合と同一のパターンがマッピングされる。   Here, consider a case where the virtual camera is translated in the X-axis direction of the screen coordinate system. At this time, as shown in FIG. 8A, the screen coordinates of the primitive surface PR are changed, but the reference point B is set at the vertex P1. For this reason, even if the screen coordinates of each vertex are changed by the movement of the virtual camera, the texture coordinates are not changed, and as shown in FIG. 8B, the same pattern as in FIG. Are mapped.

これに対して、スクリーン座標系の1点(原点)を基準点としてテクスチャ座標を求める場合を比較例として検討すると、図9(A)に示すように、仮想カメラが平行移動すると、各頂点のスクリーン座標の変更に伴って、テクスチャ座標も変更されてしまう。これは、仮想カメラが移動したにもかかわらず原点は変更されていないため、基準点と各頂点との相対的な位置関係が変更されてしまうためである。この場合、求められたテクスチャ座標に基づいて、トーンテクスチャをマッピングすると、図9(B)に示すように、マッピングされたパターンが仮想カメラの移動に伴って流れるように変化してしまい、生成画像に不自然さが生じる。   On the other hand, when a texture coordinate is obtained using one point (origin) of the screen coordinate system as a reference point as a comparative example, as shown in FIG. As the screen coordinates change, the texture coordinates also change. This is because the relative positional relationship between the reference point and each vertex is changed because the origin is not changed despite the movement of the virtual camera. In this case, when the tone texture is mapped based on the obtained texture coordinates, as shown in FIG. 9B, the mapped pattern changes so as to flow along with the movement of the virtual camera, and the generated image Causes unnaturalness.

従って、本実施の形態の手法を用いれば、図8(B)に示すように仮想カメラが平行移動してもオブジェクトにマッピングされるトーンテクスチャのパターンが流れることがなく高品質な画像表現を実現することができる。そして、例えば、手書き調の画像表現をする場合などにおいて、高品質な陰影表現を実現することができる。   Therefore, by using the method of the present embodiment, as shown in FIG. 8B, even if the virtual camera moves in parallel, the tone texture pattern mapped to the object does not flow and high-quality image representation is realized. can do. For example, high-quality shadow expression can be realized in the case of handwritten image expression.

2.2 テクスチャ座標の距離補正手法
オブジェクト空間に配置されたオブジェクトの各頂点は、図10に示すように、カメラ座標系(視点座標系)におけるZ軸方向(奥行き方向)において距離差がある。そのため、基準点Bよりも手前側に位置するオブジェクトの頂点P1はスクリーン座標系での動きが大きくなり、基準点Bよりも奥側に位置するオブジェクトの頂点P2はスクリーン座標系での動きが小さくなる。すなわち、基準点Bからの距離差に応じてオブジェクトの各頂点P1,P2間に動きの差が出てしまう。このため、一様に基準点Bからの差分に応じてトーンテクスチャをマッピングするためのテクスチャ座標を求めてしまうと、例えば、パターンの伸び縮みなど、表示変化の度合いにズレが生じ、画像に不自然さ生じやすくなる。
2.2 Texture Coordinate Distance Correction Method Each vertex of an object arranged in the object space has a distance difference in the Z-axis direction (depth direction) in the camera coordinate system (viewpoint coordinate system) as shown in FIG. Therefore, the vertex P1 of the object located in front of the reference point B has a large movement in the screen coordinate system, and the vertex P2 of the object located in the back side of the reference point B has a small movement in the screen coordinate system. Become. That is, a difference in motion occurs between the vertices P1 and P2 of the object according to the distance difference from the reference point B. For this reason, if the texture coordinates for mapping the tone texture according to the difference from the reference point B are obtained uniformly, for example, the degree of display change such as pattern expansion / contraction will be shifted and the image will not be displayed. Prone to naturalness.

そこで、本実施の形態では、上述したようにオブジェクトの各頂点P1,P2と基準点Bとの奥行き方向の距離差に応じてスクリーン座標系での動きが異なることに着目し、当該距離差に応じて、テクスチャ座標を補正する距離補正手法を採用する。具体的には、トーンテクスチャのマッピング対象のオブジェクトの頂点毎に基準点との奥行き方向の距離差に応じて、基準点スクリーン座標を補正し、補正後の基準点スクリーン座標との差分に基づいて、各頂点についてテクスチャ座標を補正する(上式(5A)参照)。すなわち、この手法ではマッピング対象のオブジェクトの各頂点ごとに仮想の基準点を設定することになる。   Therefore, in the present embodiment, focusing on the fact that the movement in the screen coordinate system differs according to the distance difference in the depth direction between each vertex P1, P2 of the object and the reference point B as described above, Accordingly, a distance correction method for correcting the texture coordinates is adopted. Specifically, the reference point screen coordinates are corrected according to the distance difference in the depth direction from the reference point for each vertex of the tone texture mapping target object, and based on the difference from the corrected reference point screen coordinates. Then, the texture coordinates are corrected for each vertex (see the above equation (5A)). That is, in this method, a virtual reference point is set for each vertex of the object to be mapped.

このとき、基準点Bから奥行き方向の距離が近い頂点ほど補正量(補正の度合い)が小さくなり、基準点Bから奥行き方向の距離が遠い頂点ほど補正量が大きくなるように、各頂点についてのテクスチャ座標を補正する。この補正量を決定する距離補正値dは、基準点Bと各頂点P1,P2の奥行き方向の距離差がテクスチャ座標に反映されるように、例えば、各頂点P1,P2と基準点Bとのパースペクティブ除算値の比に基づいて求めることができる(上式(4A)参照)。このようにすると、図10に示す例では、基準点Bより仮想カメラ(視点)から近い頂点P1については距離補正値dが小さくなり(d<1)、基準点Bより仮想カメラから遠い頂点P2については距離補正値dが大きくなる(d>1)。このようにすることで、仮想カメラが移動した場合における基準点Bと各頂点P1,P2との動きの差によるテクスチャの表示変化の度合いのズレが低減され、テクスチャの表示変化の度合いが仮想カメラの移動に適切に追従して高質な画像表現を実現することができる。   At this time, the correction amount (degree of correction) is smaller as the vertex is closer to the depth direction from the reference point B, and the correction amount is larger as the vertex is farther from the reference point B in the depth direction. Correct the texture coordinates. The distance correction value d for determining the correction amount is, for example, between each vertex P1, P2 and the reference point B so that the distance difference in the depth direction between the reference point B and each vertex P1, P2 is reflected in the texture coordinates. It can be determined based on the ratio of the perspective division values (see the above equation (4A)). In this way, in the example shown in FIG. 10, the distance correction value d is smaller for the vertex P1 closer to the virtual camera (viewpoint) than the reference point B (d <1), and the vertex P2 farther from the virtual camera than the reference point B is reached. For, the distance correction value d increases (d> 1). By doing so, the deviation in the degree of change in the texture display due to the difference in motion between the reference point B and each of the vertices P1 and P2 when the virtual camera moves is reduced, and the degree of the change in the texture display is the virtual camera. High-quality image expression can be realized by appropriately following the movement of the image.

2.3 手書きアニメーション調の表現手法
例えば、手書きアニメーションではフレーム画像をアニメータが手書きで作成するため、各フレーム画像間で線画の微妙なズレが生じる。本実施の形態では、このような手書きアニメーションのフレーム画像に特有の線画のズレを表現するために、トーンテクスチャをマッピングするためのテクスチャ座標にランダムあるいは周期的に値が変化する動き補正値(変数)を加えてテクスチャ座標をランダムあるいは周期的に変化させて(上式(6A)参照)、手書き調の質感を表現することができる。動き補正値は、例えば、時間、視点の移動情報及びゲームイベントの少なくとも一つに応じて変化させることができる。特に、視点が移動したときにはフレーム画像が大きく変わるため、視点の移動情報に応じて値が変化する動き補正値を加算してテクスチャ座標を変化させることで、手書きアニメーション調の質感をコンピュータグラフィックスでも十分に表現することができる。
2.3 Handwritten animation-like expression method For example, in handwritten animation, an animator creates a frame image by handwriting, so that a slight shift of line drawing occurs between the frame images. In the present embodiment, in order to express the line drawing peculiar to the frame image of such handwritten animation, a motion correction value (variable) whose value changes randomly or periodically in the texture coordinates for mapping the tone texture. ) To change the texture coordinates randomly or periodically (see the above formula (6A)), and can express handwritten texture. The motion correction value can be changed according to at least one of time, viewpoint movement information, and a game event, for example. In particular, when the viewpoint moves, the frame image changes greatly, so by adding a motion correction value that changes in value according to the movement information of the viewpoint and changing the texture coordinates, the texture of the handwritten animation tone can be changed even with computer graphics. It can be expressed sufficiently.

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

まず本実施の形態の手法を適用するための前提処理としてオブジェクトの頂点データ群をある程度の頂点数の頂点リスト群に分割しておくことが好ましい。例えば、24頂点を1組とした頂点リストを作成する。各頂点リストには、トーンテクスチャをマッピングする際にテクスチャ座標を求めるための基準点が含まれる。   First, as a premise process for applying the method of the present embodiment, it is preferable to divide the vertex data group of the object into a vertex list group of a certain number of vertices. For example, a vertex list with 24 vertices as one set is created. Each vertex list includes a reference point for obtaining texture coordinates when mapping the tone texture.

そして、本実施の形態の手法では、頂点リスト単位で以下の処理ルーチンを実行する。   In the method according to the present embodiment, the following processing routine is executed for each vertex list.

(1)まず、頂点リストに含まれる各頂点と基準点とについてジオメトリ処理を行う(ステップS10)。すなわち、頂点および基準点をスクリーン座標系に透視投影変換する。   (1) First, geometry processing is performed for each vertex and reference point included in the vertex list (step S10). That is, perspective projection conversion is performed on the vertex and the reference point in the screen coordinate system.

(2)次に、ジオメトリ処理後の頂点のスクリーン座標(頂点スクリーン座標)と基準点のスクリーン座標(基準点スクリーン座標)とを取得する(ステップS11)。   (2) Next, the screen coordinates (vertex screen coordinates) of the vertices after the geometry processing and the screen coordinates (reference point screen coordinates) of the reference points are acquired (step S11).

(3)次に、頂点リスト内の各頂点について通常描画を行う(ステップS12)。すなわち、頂点リストに含まれる各頂点について通常のシェーディング処理、通常のテクスチャマッピング処理を行う。   (3) Next, normal drawing is performed for each vertex in the vertex list (step S12). That is, normal shading processing and normal texture mapping processing are performed for each vertex included in the vertex list.

(4)次に、トーンテクスチャをマッピングするためのテクスチャ座標を求める(ステップS13)。具体的には、各頂点のスクリーン上の座標からテクスチャ座標A0を求める。このとき、頂点スクリーン座標と基準点スクリーン座標との差分および各頂点と基準点とのカメラ座標系における奥行き差を考慮して座標A0を求める。   (4) Next, texture coordinates for mapping the tone texture are obtained (step S13). Specifically, the texture coordinate A0 is obtained from the coordinates on the screen of each vertex. At this time, the coordinate A0 is obtained in consideration of the difference between the vertex screen coordinates and the reference point screen coordinates and the depth difference in the camera coordinate system between each vertex and the reference point.

(5)次に、トーンテクスチャをマッピング対象のオブジェクトの表面形状に合わせて変化させる処理を行う(ステップS14)。具体的には、トーンテクスチャに表されたパターン(模様)をオブジェクトの表面形状に沿うように変形させるために、テクスチャ座標を各頂点のカメラ座標系(視点座標系)での法線ベクトルで重み付けする。より具体的には、各頂点のカメラ座標系の法線ベクトルを求めて、法線ベクトルの座標成分のX,Y要素の絶対値に任意の倍率(調整値、補正係数)を乗算処理し、これをテクスチャ座標A0に加えて座標A3とする。なおテクスチャ座標A3を求める場合に加算処理をする際は、法線ベクトルの座標成分のX,Y要素の絶対値に乗算処理される任意の倍率(調整値、補正係数)を正の値とする。一方でテクスチャ座標A3を求める場合に減算処理をする際は、法線ベクトルの座標成分のX,Y要素の絶対値に乗算処理される任意の倍率(調整値、補正係数)を負の値とする。   (5) Next, a process of changing the tone texture in accordance with the surface shape of the object to be mapped is performed (step S14). Specifically, texture coordinates are weighted with normal vectors in the camera coordinate system (viewpoint coordinate system) of each vertex in order to transform the pattern (pattern) shown in the tone texture to conform to the surface shape of the object. To do. More specifically, the normal vector of the camera coordinate system of each vertex is obtained, and the absolute value of the X and Y elements of the coordinate component of the normal vector is multiplied by an arbitrary magnification (adjustment value, correction coefficient), This is added to the texture coordinate A0 to obtain a coordinate A3. In addition, when the addition processing is performed when obtaining the texture coordinate A3, an arbitrary magnification (adjustment value, correction coefficient) multiplied by the absolute value of the X and Y elements of the coordinate component of the normal vector is set as a positive value. . On the other hand, when subtraction processing is performed when obtaining the texture coordinate A3, an arbitrary magnification (adjustment value, correction coefficient) multiplied by the absolute value of the X and Y elements of the coordinate component of the normal vector is set as a negative value. To do.

(6)次に、テクスチャ座標を変化(移動)させる動き調整値を座標A3に加える処理を行い、座標A4を算出する(ステップS15)。具体的には、テクスチャ座標をランダムや周期的に変化(移動)させることで、手書きアニメ風の表現を実現する。   (6) Next, a process of adding a motion adjustment value for changing (moving) the texture coordinates to the coordinates A3 is performed to calculate the coordinates A4 (step S15). Specifically, handwritten animation-like expression is realized by changing (moving) the texture coordinates randomly or periodically.

(7)次に、求められたテクスチャ座標A4に基づき、トーンテクスチャをオブジェクトにマッピングする(ステップS16)。このとき、トーンテクスチャをマッピングした画像をステップS12の描画処理で通常のテクスチャがマッピングされた画像とは異なるバッファ(描画バッファとは異なるバッファ)に描画してもよい。この場合には、通常のテクスチャによる画像(元画像)とトーンテクスチャによる画像(トーンマップ画像)との合成処理を半透明処理により行うことができる。   (7) Next, the tone texture is mapped to the object based on the obtained texture coordinate A4 (step S16). At this time, the image in which the tone texture is mapped may be drawn in a buffer (a buffer different from the drawing buffer) different from the image in which the normal texture is mapped in the drawing process in step S12. In this case, synthesis processing of an image (original image) using a normal texture and an image (tone map image) using a tone texture can be performed by translucent processing.

(8)頂点リスト内の頂点を全て描画したか判断する(ステップS17)。全ての頂点についての描画処理が済んでいない場合には(ステップS17でN)、ステップS13〜ステップS16の処理を繰り返し行う。   (8) It is determined whether all the vertices in the vertex list have been drawn (step S17). If the drawing processing for all the vertices has not been completed (N in step S17), the processing in steps S13 to S16 is repeated.

(9)最終的には、全ての頂点リストについて描画したことを条件に(ステップS18でY)、処理を終了する。   (9) Eventually, the process is terminated on condition that all vertex lists have been drawn (Y in step S18).

4.ハードウェア構成
図12に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
4). Hardware Configuration FIG. 12 shows an example of a hardware configuration capable of realizing this embodiment. The main processor 900 operates based on a program stored in the DVD 982 (information storage medium), a program downloaded via the communication interface 990, a program stored in the ROM 950, and 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転送を制御する。DVDドライブ980(CDドライブでもよい)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。   The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950. The RAM 960 is a work area for various processors. The DMA controller 970 controls DMA transfer between the processor and the memory. The DVD drive 980 (which may be a CD drive) accesses a DVD 982 (which may be a CD) in which programs, image data, sound data, and the like are stored. The communication interface 990 performs data transfer with the outside via a network (communication line, high-speed serial bus).

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

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

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(トーンテクスチャ、カメラ座標系、動き補正値、法線ベクトル、テクスチャサイズなど)として引用された用語(パターン画像、視点座標系、変数、ノーマルベクトル、ピクセル情報など)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。   The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms (pattern images, viewpoint coordinate systems, variables, etc.) cited as broad or synonymous terms (tone texture, camera coordinate system, motion correction value, normal vector, texture size, etc.) in the description or drawings. Normal vectors, pixel information, and the like) can be replaced with terms having a broad meaning or the same meaning in other descriptions in the specification or the drawings.

またテクスチャ座標の演算手法、テクスチャ座標の距離補正手法、手書きアニメーション調の表現手法、およびテクスチャ座標の形状補正手法についても、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。   Also, the texture coordinate calculation method, the texture coordinate distance correction method, the handwritten animation tone expression method, and the texture coordinate shape correction method are not limited to those described in the present embodiment, and methods equivalent to these are also described. It is included in the scope of the invention.

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

本実施形態の画像生成システムの機能ブロック図の例。The example of a functional block diagram of the image generation system of this embodiment. 従来の手法の説明図。Explanatory drawing of the conventional method. 本実施の形態の手法の説明図。Explanatory drawing of the method of this Embodiment. 本実施の形態の手法の説明図。Explanatory drawing of the method of this Embodiment. 図5(A)(B)は本実施の形態の手法の説明図。5A and 5B are explanatory diagrams of the method of this embodiment. 図6(A)〜図6(C)は本実施の形態の手法の説明図。FIG. 6A to FIG. 6C are explanatory diagrams of the method of this embodiment. 図7(A)〜図7(C)は本実施の形態の手法の説明図。FIG. 7A to FIG. 7C are explanatory diagrams of the method of this embodiment. 図8(A),図8(B)は本実施の形態の手法の説明図。FIG. 8A and FIG. 8B are explanatory diagrams of the method of this embodiment. 図9(A),図9(B)は比較例の手法の説明図。FIGS. 9A and 9B are explanatory diagrams of the method of the comparative example. 本実施の形態の手法の説明図。Explanatory drawing of the method of this Embodiment. 本実施形態の具体的な処理のフローチャート。The flowchart of the specific process of this embodiment. ハードウェア構成例。Hardware configuration example.

符号の説明Explanation of symbols

100 処理部、
110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、116 スクリーン座標取得部、
118 テクスチャ座標変更部、
120 画像生成部、
122 ジオメトリ処理部、124 テクスチャマッピング部、
126 半透明処理部、
140 音生成部、160 操作部、
170 記憶部、
172 主記憶部、174 描画バッファ、176 テクスチャ記憶部
180 情報記憶媒体、194 携帯型情報記憶装置、
190 表示部、192 音出力部、196 通信部
100 processing unit,
110 Object space setting unit, 112 Movement / motion processing unit,
114 virtual camera control unit, 116 screen coordinate acquisition unit,
118 texture coordinate changing section,
120 image generation unit,
122 geometry processing unit, 124 texture mapping unit,
126 translucent processing section,
140 sound generation unit, 160 operation unit,
170 storage unit,
172 main storage unit, 174 drawing buffer, 176 texture storage unit 180 information storage medium, 194 portable information storage device,
190 Display unit, 192 Sound output unit, 196 Communication unit

Claims (8)

オブジェクト空間における所与の視点から見た画像を生成するためのプログラムであって、
オブジェクトをスクリーン座標系に透視投影してジオメトリ処理を行うジオメトリ処理部と、
ジオメトリ処理後におけるオブジェクトの各頂点の頂点スクリーン座標を取得するスクリーン座標取得部と、
取得された前記頂点スクリーン座標に対して、前記オブジェクトの各頂点についての法線ベクトル情報の加算または減算処理をして、該オブジェクトの各頂点についてテクスチャ座標を求めるテクスチャ座標演算部と、
求められた前記テクスチャ座標に基づいて、所与のテクスチャを前記オブジェクトにマッピングするテクスチャマッピング部として、
コンピュータを機能させることを特徴とするプログラム。
A program for generating an image viewed from a given viewpoint in an object space,
A geometry processing unit that performs perspective processing on the screen coordinate system to perform geometry processing;
A screen coordinate acquisition unit for acquiring the vertex screen coordinates of each vertex of the object after geometry processing;
A texture coordinate calculation unit that adds or subtracts normal vector information for each vertex of the object to the acquired vertex screen coordinates to obtain a texture coordinate for each vertex of the object;
As a texture mapping unit that maps a given texture to the object based on the determined texture coordinates,
A program characterized by causing a computer to function.
請求項1において、
前記法線ベクトル情報は、視点座標系又はスクリーン座標系での前記オブジェクトの各頂点の法線ベクトルの座標成分を絶対値化したものであることを特徴とするプログラム。
In claim 1,
The program according to claim 1, wherein the normal vector information is obtained by converting a coordinate component of a normal vector of each vertex of the object in a viewpoint coordinate system or a screen coordinate system into an absolute value.
請求項2において、
前記法線ベクトル情報は、前記法線ベクトルの座標成分の絶対値に対して所与の補正係数を乗算処理したものであることを特徴とするプログラム。
In claim 2,
The normal vector information is obtained by multiplying an absolute value of a coordinate component of the normal vector by a given correction coefficient.
請求項1〜3のいずれかにおいて、
前記スクリーン座標取得部が、
前記頂点スクリーン座標に加えて、前記オブジェクトに対して設定された基準点についての基準点スクリーン座標を取得し、
前記テクスチャ座標演算部が、
前記頂点スクリーン座標と前記基準点スクリーン座標との差分に対して、前記オブジェクトの各頂点についての法線ベクトル情報の加算処理または減算処理をして、該オブジェクトの各頂点についてのテクスチャ座標を求めることを特徴とするプログラム。
In any one of Claims 1-3,
The screen coordinate acquisition unit
In addition to the vertex screen coordinates, obtain a reference point screen coordinate for a reference point set for the object,
The texture coordinate calculation unit is
Adding or subtracting normal vector information for each vertex of the object to the difference between the vertex screen coordinates and the reference point screen coordinates to obtain texture coordinates for each vertex of the object A program characterized by
請求項1〜4のいずれかにおいて、
前記テクスチャ座標演算部が、
前記オブジェクトの各頂点と前記基準点との視点座標系における奥行き方向の距離差に応じて前記テクスチャ座標を補正することを特徴とするプログラム。
In any one of Claims 1-4,
The texture coordinate calculation unit is
A program for correcting the texture coordinates according to a distance difference in a depth direction in a viewpoint coordinate system between each vertex of the object and the reference point.
請求項1〜5のいずれかにおいて、
前記テクスチャ座標演算部が、
ランダムまたは周期的に変化する変数を前記テクスチャ座標に対して加算処理して該テクスチャ座標を変化させることを特徴とするプログラム。
In any one of Claims 1-5,
The texture coordinate calculation unit is
A program characterized in that a variable that changes randomly or periodically is added to the texture coordinates to change the texture coordinates.
コンピュータにより読取可能な情報記憶媒体であって、請求項1〜6のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。   An information storage medium readable by a computer, wherein the program according to any one of claims 1 to 6 is stored. オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、
オブジェクトをスクリーン座標系に透視投影してジオメトリ処理を行うジオメトリ処理部と、
ジオメトリ処理後におけるオブジェクトの各頂点の頂点スクリーン座標を取得するスクリーン座標取得部と、
取得された前記頂点スクリーン座標に対して、前記オブジェクトの各頂点についての法線ベクトル情報の加算処理または減算処理をして、該オブジェクトの各頂点についてテクスチャ座標を求めるテクスチャ座標演算部と、
求められた前記テクスチャ座標に基づいて、所与のテクスチャを前記オブジェクトにマッピングするテクスチャマッピング部と、
を含むことを特徴とする画像生成システム。
An image generation system for generating an image viewed from a given viewpoint in an object space,
A geometry processing unit that performs perspective processing on the screen coordinate system to perform geometry processing;
A screen coordinate acquisition unit for acquiring the vertex screen coordinates of each vertex of the object after geometry processing;
A texture coordinate calculation unit for adding or subtracting normal vector information for each vertex of the object to obtain the texture coordinates for each vertex of the object;
A texture mapping unit for mapping a given texture to the object based on the determined texture coordinates;
An image generation system comprising:
JP2005071059A 2005-03-14 2005-03-14 Program, information storage medium, and image generation system Expired - Fee Related JP4641831B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005071059A JP4641831B2 (en) 2005-03-14 2005-03-14 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005071059A JP4641831B2 (en) 2005-03-14 2005-03-14 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2006252424A true JP2006252424A (en) 2006-09-21
JP4641831B2 JP4641831B2 (en) 2011-03-02

Family

ID=37092828

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4641831B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305738A (en) * 1996-05-10 1997-11-28 Sony Computer Entertainment:Kk Image processing method and device therefor
JPH11185052A (en) * 1997-12-25 1999-07-09 Fujitsu Ltd Device and method for calculating texture mapping coordinate of three-dimensional computer graphics
JPH11203498A (en) * 1998-01-16 1999-07-30 Nec Corp Method and device for generating texture coordinate by using normal vector
JP2000167237A (en) * 1998-12-04 2000-06-20 Namco Ltd Game device and information storage medium
JP2001319244A (en) * 2000-05-10 2001-11-16 Namco Ltd Game system and information storage medium
WO2002023484A1 (en) * 2000-09-13 2002-03-21 Center For Advanced Science And Technology Incubation, Ltd. Texture mapping method and rendering device
JP2003115056A (en) * 1999-12-16 2003-04-18 Sega Corp Image generation method and image generator using the same
JP2004334801A (en) * 2003-05-12 2004-11-25 Namco Ltd Image-generating system, program, and information storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305738A (en) * 1996-05-10 1997-11-28 Sony Computer Entertainment:Kk Image processing method and device therefor
JPH11185052A (en) * 1997-12-25 1999-07-09 Fujitsu Ltd Device and method for calculating texture mapping coordinate of three-dimensional computer graphics
JPH11203498A (en) * 1998-01-16 1999-07-30 Nec Corp Method and device for generating texture coordinate by using normal vector
JP2000167237A (en) * 1998-12-04 2000-06-20 Namco Ltd Game device and information storage medium
JP2003115056A (en) * 1999-12-16 2003-04-18 Sega Corp Image generation method and image generator using the same
JP2001319244A (en) * 2000-05-10 2001-11-16 Namco Ltd Game system and information storage medium
WO2002023484A1 (en) * 2000-09-13 2002-03-21 Center For Advanced Science And Technology Incubation, Ltd. Texture mapping method and rendering device
JP2004334801A (en) * 2003-05-12 2004-11-25 Namco Ltd Image-generating system, program, and information storage medium

Also Published As

Publication number Publication date
JP4641831B2 (en) 2011-03-02

Similar Documents

Publication Publication Date Title
JP2006318389A (en) Program, information storage medium, and image generation system
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP2007140842A (en) Program, information storage medium, and image generation system
JP4305903B2 (en) Image generation system, program, and information storage medium
JP4651527B2 (en) Program, information storage medium, and image generation system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP2006252426A (en) Program, information storage medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4073031B2 (en) Program, information storage medium, and image generation system
JP4754384B2 (en) Program, information recording medium, and image generation system
JP2006323512A (en) Image generation system, program, and information storage medium
JP4861862B2 (en) Program, information storage medium, and image generation system
JP4632855B2 (en) Program, information storage medium, and image generation system
JP2006252423A (en) Program, information storage medium and image generation system
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4641831B2 (en) Program, information storage medium, and image generation system
JP2010033299A (en) Image generation system, program and information storage medium
JP4662260B2 (en) Program, information storage medium, and image generation system
US7724255B2 (en) Program, information storage medium, and image generation system
JP4786389B2 (en) Program, information storage medium, and image generation system
JP2007164651A (en) Program, information storage medium and image generation system
JP2006277488A (en) Program, information storage medium and image generation system
JP2006252425A (en) Program, information storage medium, and image generation system
JP2010033253A (en) Program, information storage medium, and image generation system
JP2010033302A (en) Image generation system, program and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4641831

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees