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

Program, information storage medium and image generation system Download PDF

Info

Publication number
JP2007272355A
JP2007272355A JP2006094628A JP2006094628A JP2007272355A JP 2007272355 A JP2007272355 A JP 2007272355A JP 2006094628 A JP2006094628 A JP 2006094628A JP 2006094628 A JP2006094628 A JP 2006094628A JP 2007272355 A JP2007272355 A JP 2007272355A
Authority
JP
Japan
Prior art keywords
texture
wrinkle
control point
model object
parameter
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
JP2006094628A
Other languages
Japanese (ja)
Other versions
JP4786389B2 (en
Inventor
Hironori Sada
博宣 佐田
Shinichi Ikeda
池田  進一
Tomoko Nito
智子 仁藤
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 JP2006094628A priority Critical patent/JP4786389B2/en
Publication of JP2007272355A publication Critical patent/JP2007272355A/en
Application granted granted Critical
Publication of JP4786389B2 publication Critical patent/JP4786389B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program for achieving real wrinkle expressions by simple processing. <P>SOLUTION: This image generation system is provided with a motion processing part for performing the motion processing of a model object where at least one control part for wrinkle expressions is set; a control point operation part for searching the position of a control point whose position changes due to motion change; a texture storage part for storing a plurality of wrinkle expression textures for expressing the wrinkles of the surface of the model object; a parameter operation part for searching the composite parameter of the plurality of wrinkle expression textures based on the control point; and an image generation part for generating a wrinkle image by compounding the plurality of wrinkles expression textures based on the composite parameter, and mapping the composite texture on the model object. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

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

従来より、キャラクタ、車などのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。サッカーゲームを楽しめる画像生成システムを例にとれば、プレーヤは、スクリーン上に映し出されたキャラクタを操作し、ドリブルをしたりシュートをしたりしてゲームを楽しむ。   Conventionally, an image generation system (game system) that generates an image that can be viewed from a virtual camera (a given viewpoint) in an object space (virtual three-dimensional space) in which objects such as characters and cars are arranged and set is known. It is very popular for experiencing so-called virtual reality. Taking an image generation system for enjoying a soccer game as an example, the player enjoys the game by manipulating the characters displayed on the screen and dribbling or shooting.

このような画像生成システムでは、生成される画像のリアル性への要求が、年々、高まっている。従って、キャラクタの衣服や肌のしわについても、リアルに表現できることが望ましい。
特開平11−144084号公報
In such an image generation system, the demand for realism of the generated image is increasing year by year. Therefore, it is desirable that the character's clothes and skin wrinkles can be expressed realistically.
JP-A-11-144084

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、リアルなしわ表現を簡素な処理で実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a program, an information storage medium, and an image generation system that can realize real wrinkle expression with simple processing. is there.

本発明は、画像を生成する画像生成システムであって、しわ表現のための少なくとも1つの制御点が設定されるモデルオブジェクトのモーション処理を行うモーション処理部と、モデルオブジェクトのモーションの変化によりその位置が変化する前記制御点の位置を求める制御点演算部と、モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶するテクスチャ記憶部と、前記制御点に基づいて、複数のしわ表現テクスチャの合成パラメータを求めるパラメータ演算部と、求められた前記合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトにマッピングすることで、モデルオブジェクトのしわ画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   The present invention is an image generation system for generating an image, and includes a motion processing unit that performs motion processing of a model object in which at least one control point for wrinkle expression is set, and a position of the motion object according to a change in motion of the model object. A control point calculation unit for obtaining the position of the control point at which changes, a texture for expressing wrinkles on the surface of the model object, and a texture storage unit for storing a plurality of wrinkle expressing textures having different texture patterns; Based on the control points, a parameter calculation unit that obtains a composite parameter of a plurality of wrinkle expression textures, a plurality of wrinkle expression textures are synthesized by the obtained synthesis parameters, and the obtained composite texture is mapped to a model object To create a wrinkled image of the model object. Relating to an image generation system comprising an image generator for. The present invention also relates to a program that causes a computer to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明によれば、モデルオブジェクトのモーションの変化により、モデルオブジェクトに設定される制御点の位置が変化する。そして、このような制御点に基づいて合成パラメータが求められ、合成パラメータに基づいて複数のしわ表現テクスチャが合成され、得られた合成テクスチャがモデルオブジェクトにマッピングされる。従って本発明によれば、モデルオブジェクトのモーション変化に連動して合成パラメータが変化し、合成テクスチャも変化するようになる。従って、モデルオブジェクトのモーション変化に連動して、しわ画像も変化するようになり、リアルなしわ表現を簡素な処理で実現できる。   According to the present invention, the position of the control point set in the model object changes due to the change in the motion of the model object. Then, a synthesis parameter is obtained based on such control points, a plurality of wrinkle expression textures are synthesized based on the synthesis parameter, and the obtained synthesized texture is mapped to the model object. Therefore, according to the present invention, the synthesis parameter changes in conjunction with the motion change of the model object, and the synthesis texture also changes. Accordingly, the wrinkle image also changes in conjunction with the change in the motion of the model object, and real wrinkle expression can be realized with a simple process.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記制御点演算部は、前記モーション処理に使用される座標変換マトリクスを用いた座標変換により、前記制御点の位置を求め、前記パラメータ演算部は、座標変換により求められた前記制御点の位置に基づいて、前記合成パラメータを求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the control point calculation unit obtains the position of the control point by coordinate transformation using a coordinate transformation matrix used for the motion processing, and the parameter The calculation unit may obtain the synthesis parameter based on the position of the control point obtained by coordinate conversion.

このようにモーション処理用の座標変換マトリクスを有効活用すれば、モーション変化により変化する制御点の位置を、簡素な処理で求めることができる。   If the coordinate conversion matrix for motion processing is effectively used in this way, the position of the control point that changes due to a change in motion can be obtained by simple processing.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記制御点演算部は、座標変換マトリクスを用いた座標変換により、前記制御点のワールド座標系での位置を求め、前記パラメータ演算部は、前記制御点のワールド座標系での位置に基づいて、前記合成パラメータを求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the control point calculation unit obtains the position of the control point in the world coordinate system by coordinate conversion using a coordinate conversion matrix, and the parameter calculation unit. May determine the composite parameter based on the position of the control point in the world coordinate system.

このようにすれば、ワールド座標系での制御点についての位置関係や方向関係により、合成パラメータを求めることが可能になる。   In this way, it is possible to obtain the synthesis parameter based on the positional relationship and the directional relationship with respect to the control points in the world coordinate system.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記制御点演算部は、モデルオブジェクトのスケルトンが複数の骨及び複数の関節により構成される場合に、座標変換マトリクスを用いた座標変換により、前記複数の関節のうちの所与の関節に対する前記制御点の相対的な位置を求め、前記パラメータ演算部は、前記所与の関節に対する前記制御点の相対的な位置に基づいて、前記合成パラメータを求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the control point calculation unit may perform coordinate transformation using a coordinate transformation matrix when the skeleton of the model object is composed of a plurality of bones and a plurality of joints. To determine a relative position of the control point with respect to a given joint among the plurality of joints, and the parameter calculator is configured to determine the relative position of the control point with respect to the given joint based on the relative position of the control point. A synthesis parameter may be obtained.

このようにすれば、制御点の相対的な位置の変化に連動して、合成パラメータを変化させて、しわ画像を変化させることが可能になり、よりリアルなしわ画像を生成できる。   In this way, the wrinkle image can be changed by changing the synthesis parameter in conjunction with the change in the relative position of the control points, and a more real wrinkle image can be generated.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、モデルオブジェクトに対してしわ表現のための第1、第2の制御点が設定され、前記パラメータ演算部は、前記第1、第2の制御点の位置に基づいて、前記合成パラメータを求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, first and second control points for wrinkle expression are set for the model object, and the parameter calculation unit includes the first and second control points. The synthesis parameter may be obtained based on the positions of the control points.

このようにすれば、第1の制御点の位置の変化の仕方と第2の制御点の位置の変化の仕方の違い応じて、合成パラメータが変化して、生成されるしわ画像も変化するようになり、多様なしわ画像の生成が可能になる。   In this way, the composite parameter changes and the generated wrinkle image also changes according to the difference in the way of changing the position of the first control point and the way of changing the position of the second control point. Thus, it becomes possible to generate various wrinkle images.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記パラメータ演算部は、前記第1の制御点と他の制御点又は基準点との第1の距離と、前記第2の制御点と他の制御点又は基準点との第2の距離を求め、求められた前記第1、第2の距離に基づいて前記合成パラメータを求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the parameter calculation unit includes a first distance between the first control point and another control point or a reference point, and the second control point. A second distance between the control point and another control point or a reference point may be obtained, and the composite parameter may be obtained based on the obtained first and second distances.

このようにすれば、第1、第2の制御点と他の制御点又は基準点との第1、第2の距離を求めるという簡素な処理で、合成パラメータを求めて、しわ画像を生成できるようになる。   In this way, it is possible to generate a wrinkle image by obtaining the synthesis parameter by a simple process of obtaining the first and second distances between the first and second control points and other control points or reference points. It becomes like this.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記パラメータ演算部は、前記第1、第2の距離の比に応じて変化する前記合成パラメータを求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the parameter calculation unit may obtain the composite parameter that changes according to a ratio of the first and second distances.

このようにすれば、第1、第2の距離の比の変化により、合成パラメータを変化させて、しわ画像を生成できるようになる。   In this way, a wrinkle image can be generated by changing the synthesis parameter by changing the ratio of the first and second distances.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、モデルオブジェクトのスケルトンが複数の骨及び複数の関節により構成される場合に、前記複数の関節のうちの所与の関節の前側に前側制御点が設定され、前記所与の関節の後ろ側に後ろ側制御点が設定され、前記制御点演算部は、モデルオブジェクトのモーションの変化によりその位置が変化する前記前側制御点の位置と前記後ろ側制御点の位置を求め、前記パラメータ演算部は、前記前側制御点に基づいて第1の合成パラメータを求め、前記後ろ側制御点に基づいて第2の合成パラメータを求め、前記画像生成部は、求められた前記第1の合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトの前側面にマッピングすることで、モデルオブジェクトの前側面におけるしわ画像を生成し、求められた前記第2の合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトの後ろ側面にマッピングすることで、モデルオブジェクトの後ろ側面におけるしわ画像を生成するようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, when the skeleton of the model object includes a plurality of bones and a plurality of joints, the front side of the given joint among the plurality of joints A control point is set, a rear control point is set behind the given joint, and the control point calculation unit is configured to change the position of the front control point whose position changes due to a change in motion of the model object, and The position of the rear control point is obtained, the parameter calculation unit obtains a first synthesis parameter based on the front control point, obtains a second synthesis parameter based on the rear control point, and the image generation unit Synthesizes a plurality of wrinkle expressing textures according to the obtained first synthesis parameter, and maps the obtained synthesized texture to the front side of the model object. To generate a wrinkle image on the front side of the model object, synthesize a plurality of wrinkle expressing textures with the obtained second synthesis parameter, and map the obtained synthesized texture to the back side of the model object Thus, a wrinkle image on the back side surface of the model object may be generated.

このようにすれば、モデルオブジェクトの前側面におけるしわの変化の仕方と、モデルオブジェクトの後ろ側面におけるしわの変化の仕方を異ならせることが可能になり、より多様でリアルなしわ画像の生成が可能になる。   In this way, it is possible to change the way the wrinkles change on the front side of the model object and the way the wrinkles change on the back side of the model object, and it is possible to generate more diverse and real wrinkle images become.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記しわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標を設定するテクスチャ座標設定部を含み(テクスチャ座標設定部としてコンピュータを機能させ)、前記テクスチャ記憶部は、前記しわ表現テクスチャを、第1、第2、第3のテクスチャ座標でテクセル値がフェッチされるボリュームテクスチャとして記憶し、前記テクスチャ座標設定部は、前記合成パラメータに基づいて、ボリュームテクスチャの前記第3のテクスチャ座標を設定し、前記画像生成部は、前記第1、第2、第3のテクスチャ座標に基づいて、しわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングする処理を行うようにしてもよい。   The image generation system, the program, and the information storage medium according to the present invention include a texture coordinate setting unit that sets a texture coordinate for fetching a texel value of the wrinkle expression texture (the computer functions as the texture coordinate setting unit). The texture storage unit stores the wrinkle expression texture as a volume texture from which texel values are fetched at the first, second, and third texture coordinates, and the texture coordinate setting unit is based on the synthesis parameter. The third texture coordinates of the volume texture are set, and the image generation unit performs a process of mapping the wrinkle expression texture as a volume texture to the model object based on the first, second, and third texture coordinates. You may make it perform.

このようにすれば、ボリュームテクスチャ機能を有効活用して、合成テクスチャのマッピング処理が行われるため、処理負荷の軽減や処理の高速化を図れる。   In this way, the composite texture mapping process is performed by effectively utilizing the volume texture function, so that the processing load can be reduced and the processing speed can be increased.

また本発明は、画像を生成する画像生成システムであって、モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶するテクスチャ記憶部と、前記しわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標を設定するテクスチャ座標設定部と、複数のしわ表現テクスチャの合成パラメータを求めるパラメータ演算部と、モデルオブジェクトのしわ画像を生成する画像生成部とを含み、前記テクスチャ記憶部は、前記しわ表現テクスチャを、第1、第2、第3のテクスチャ座標でテクセル値がフェッチされるボリュームテクスチャとして記憶し、前記テクスチャ座標設定部は、前記合成パラメータに基づいて、ボリュームテクスチャの前記第3のテクスチャ座標を設定し、前記画像生成部は、前記第1、第2、第3のテクスチャ座標に基づいて、しわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングする処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   The present invention is also an image generation system for generating an image, which is a texture for expressing wrinkles on the surface of a model object, and stores a plurality of wrinkle expression textures having different texture patterns; A texture coordinate setting unit for setting a texture coordinate for fetching the texel value of the wrinkle expression texture, a parameter calculation unit for obtaining a composite parameter of a plurality of wrinkle expression textures, and an image generation unit for generating a wrinkle image of the model object The texture storage unit stores the wrinkle expression texture as a volume texture from which texel values are fetched at the first, second, and third texture coordinates, and the texture coordinate setting unit stores the texture parameter as the synthesis parameter. Based on the third of the volume texture Set Kusucha coordinates, the image generation unit, the first, second, on the basis of the third texture coordinate is related to the image generation system performs the process of mapping the model object wrinkles representation texture as a volume texture. The present invention also relates to a program that causes a computer to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明によれば、合成パラメータに基づいて複数のしわ表現テクスチャが合成され、得られた合成テクスチャがモデルオブジェクトにマッピングされる。またボリュームテクスチャの機能を有効活用して、合成テクスチャのマッピング処理が行われる。従って、処理負荷の軽減や処理の簡素化を実現しながら、リアルなしわ画像の生成が可能になる。   According to the present invention, a plurality of wrinkle expression textures are synthesized based on the synthesis parameter, and the obtained synthesized texture is mapped to the model object. In addition, the composite texture mapping process is performed by effectively utilizing the volume texture function. Accordingly, it is possible to generate a real wrinkle image while reducing the processing load and simplifying the processing.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   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, and the function can be realized by a lever, button, steering, accelerator, brake, touch panel display, or the like. The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   An information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and its function can be realized by an optical disk (CD, DVD), a hard disk, a memory (ROM, etc.), and the like. 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, in the information storage medium 180, a program for causing a computer (an apparatus including an operation unit, a processing unit, a storage unit, and an output unit) to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit). Is memorized.

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

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

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなホスト装置(サーバー)による情報記憶媒体の使用も本発明の範囲内に含めることができる。   A program (data) for causing a computer to function as each unit of the present embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (or storage unit 170) via the network and communication unit 196. May be. Use of an information storage medium by 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. The processing unit 100 performs various processes using the storage unit 170 (main storage unit 172) 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は、ゲーム演算部108、オブジェクト空間設定部110、移動処理部112、モーション処理部113、仮想カメラ制御部114、制御点演算部116、パラメータ演算部118、テクスチャ座標設定部119、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes a game calculation unit 108, an object space setting unit 110, a movement processing unit 112, a motion processing unit 113, a virtual camera control unit 114, a control point calculation unit 116, a parameter calculation unit 118, a texture coordinate setting unit 119, an image. A generation unit 120 and a sound generation unit 130 are included. Note that some of these may be omitted.

ゲーム演算部108はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。   The game calculation unit 108 performs game calculation processing. Here, the game calculation includes 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 moving object or a map, a process for displaying an object, and calculating a game result. Or a process for ending the game when a game end condition is satisfied.

オブジェクト空間設定部110は、モデルオブジェクト(車、人、ロボット等)、コース(道路)、マップ(地形)、建物、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部176には、移動体(キャラクタ)等のモデルデータが記憶されている。そしてオブジェクト空間設定部110は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定(配置)処理を行う。   The object space setting unit 110 includes various objects (polygons, free-form surfaces or subdivision surfaces) representing display objects such as model objects (cars, people, robots, etc.), courses (roads), maps (terrain), buildings, trees, and walls. The object is configured to place and 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. Specifically, model data such as a moving object (character) is stored in the model data storage unit 176 of the storage unit 170. Then, the object space setting unit 110 performs an object setting (arrangement) process in the object space using the model data.

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

モーション処理部113は、モデルオブジェクト(キャラクタ)にモーション(アニメーション)を行わせるモーション処理(モーション再生、モーション生成)を行う。このモーション処理は、モデルオブジェクトのモーションを、モーションデータ記憶部179に記憶されているモーションデータに基づいて再生することなどで実現できる。   The motion processing unit 113 performs motion processing (motion reproduction, motion generation) that causes the model object (character) to perform motion (animation). This motion processing can be realized by reproducing the motion of the model object based on the motion data stored in the motion data storage unit 179.

具体的にはモーションデータ記憶部179には、モデルオブジェクトのスケルトンを構成する各骨(モデルオブジェクトを構成するパーツオブジェクト、関節、モーション骨)の位置又は回転角度(親の骨に対する子の骨の3軸周りの回転角度)等を含むモーションデータが記憶されている。モーション処理部113は、このモーションデータをモーションデータ記憶部179から読み出し、読み出されたモーションデータに基づいてモデルオブジェクトのスケルトンを構成する各骨(パーツオブジェクト)を動かすことで(スケルトン形状を変形させることで)、モデルオブジェクトのモーションを再生する。   Specifically, the motion data storage unit 179 stores the position or rotation angle of each bone (part object, joint, and motion bone constituting the model object) constituting the skeleton of the model object (3 of the child bone relative to the parent bone). Motion data including the rotation angle around the axis) is stored. The motion processing unit 113 reads this motion data from the motion data storage unit 179 and moves each bone (part object) constituting the skeleton of the model object based on the read motion data (deforms the skeleton shape). ), Play the motion of the model object.

なお、モーションデータ記憶部179に記憶されるモーションデータは、現実世界の人にセンサをつけてモーションキャプチャを行うことで作成できるが、モーションデータを、物理シミュレーション(物理計算を利用したシミュレーション。擬似的な物理計算でもよい)やモーションブレンドなどによりリアルタイムに生成してもよい。また、少ないモーションデータ量でリアルなモーションを再生するために、インバース・キネマティクス等を用いてモーション再生を行ってもよい。   The motion data stored in the motion data storage unit 179 can be created by attaching a sensor to a person in the real world and performing motion capture. However, the motion data is generated by physical simulation (simulation using physical calculation. Or may be generated in real time by motion blending. In addition, in order to reproduce a realistic motion with a small amount of motion data, motion reproduction may be performed using inverse kinematics or the like.

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

例えば仮想カメラにより車、キャラクタなどのモデルオブジェクト(移動体)を後方から撮影する場合には、モデルオブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動処理部112で得られたモデルオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。   For example, when a model object (moving body) such as a car or a character is photographed from behind using a virtual camera, the position or rotation angle (virtual angle of the virtual camera is set so that the virtual camera follows changes in the position or rotation of the model object. Control camera orientation). In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the model object obtained by the movement 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.

制御点演算部116は、しわ表現のための制御点の演算処理を行う。即ち本実施形態ではモデルオブジェクトに対して少なくとも1つの制御点が設定される。この制御点はモデルオブジェクトのスケルトンの関節そのものであってもよいし、関節から所与の距離だけ離れた位置に設定されて関節の動きに追従する点であってもよい。本実施形態では、モーション処理部113のモーション処理によりモデルオブジェクトのモーションがフレーム毎に変化する。そして制御点演算部116は、モデルオブジェクトのモーションの変化に連動してその位置が変化する制御点の位置を求める演算を行う。   The control point calculation unit 116 performs control point calculation processing for wrinkle expression. That is, in this embodiment, at least one control point is set for the model object. This control point may be the skeleton joint itself of the model object, or may be a point that is set at a given distance from the joint and follows the movement of the joint. In the present embodiment, the motion of the model object changes for each frame by the motion processing of the motion processing unit 113. Then, the control point calculation unit 116 performs a calculation for obtaining the position of the control point whose position changes in conjunction with the change in the motion of the model object.

例えば制御点演算部116は、モーション処理に使用される座標変換マトリクス(モーションマトリクス)を用いた座標変換により、制御点の位置を求める。例えば座標変換マトリクスを用いた座標変換により、制御点をローカル座標系からワールド座標系に変換し、ワールド座標系での制御点の位置を求める。或いは、モデルオブジェクトのスケルトンが複数の骨及び複数の関節により構成される場合に、座標変換マトリクスを用いた座標変換により、関節に対する制御点の位置(相対的な位置)を求める。また、関節の前側に前側制御点が設定され、関節の後ろ側に後ろ側制御点が設定される場合に、制御点演算部116は、モデルオブジェクトのモーションの変化によりその位置が変化する前側制御点の位置と後ろ側制御点の位置を求める。   For example, the control point calculation unit 116 obtains the position of the control point by coordinate conversion using a coordinate conversion matrix (motion matrix) used for motion processing. For example, the control point is converted from the local coordinate system to the world coordinate system by coordinate conversion using a coordinate conversion matrix, and the position of the control point in the world coordinate system is obtained. Alternatively, when the skeleton of the model object is composed of a plurality of bones and a plurality of joints, the position (relative position) of the control point with respect to the joint is obtained by coordinate conversion using a coordinate conversion matrix. Further, when the front control point is set on the front side of the joint and the rear control point is set on the rear side of the joint, the control point calculation unit 116 changes the position of the front side control point according to the motion of the model object. Find the position of the point and the position of the back control point.

パラメータ演算部118は、画像処理やゲーム処理に用いる各種のパラメータを演算する。例えば本実施形態ではテクスチャ記憶部178がしわ表現テクスチャを記憶する。具体的には、モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶する。そしてパラメータ演算部118は、制御点に基づいて、複数のしわ表現テクスチャの合成パラメータを求める。   The parameter calculation unit 118 calculates various parameters used for image processing and game processing. For example, in this embodiment, the texture storage unit 178 stores the wrinkle expression texture. Specifically, a plurality of wrinkle expressing textures having different texture patterns are stored for expressing wrinkles on the surface of the model object. Then, the parameter calculation unit 118 obtains composite parameters for a plurality of wrinkle expression textures based on the control points.

例えばパラメータ演算部118は、座標変換マトリクスを用いた座標変換により求められた制御点の位置に基づいて、合成パラメータを求める。具体的には、座標変換マトリクスを用いた座標変換により、制御点のワールド座標系での位置が求められた場合には、制御点のワールド座標系での位置に基づいて、合成パラメータを求める。或いは、関節に対する制御点の相対的な位置に基づいて、合成パラメータを求める。またモデルオブジェクトに対してしわ表現のための第1、第2の制御点が設定された場合には、これらの第1、第2の制御点に基づいて、合成パラメータを求める。具体的には、第1の制御点と他の制御点(関節)又は基準点(モデルオブジェクトの代表点)との第1の距離(第1の距離パラメータ)と、第2の制御点と他の制御点又は基準点との第2の距離(第2の距離パラメータ)を求め、求められた第1、第2の距離に基づいて合成パラメータを求める。例えば第1、第2の距離そのものに基づいて合成パラメータを求めたり、第1、第2の距離パラメータを引数とする関数の値に基づいて合成パラメータを求める。また、例えば第1、第2の距離の比に応じて変化する合成パラメータを求めることができる。或いは制御点演算部116が、前側制御点の位置と後ろ側制御点の位置を求めた場合には、パラメータ演算部118は、前側制御点に基づいて第1の合成パラメータを求め、後ろ側制御点に基づいて第2の合成パラメータを求める。なお制御点間を結ぶ第1、第2の直線のなす角度に基づいて合成パラメータを求めてもよい。   For example, the parameter calculation unit 118 obtains a composite parameter based on the position of the control point obtained by coordinate conversion using the coordinate conversion matrix. Specifically, when the position of the control point in the world coordinate system is obtained by coordinate transformation using the coordinate transformation matrix, the synthesis parameter is obtained based on the position of the control point in the world coordinate system. Alternatively, the synthesis parameter is obtained based on the relative position of the control point with respect to the joint. When the first and second control points for wrinkle expression are set for the model object, the synthesis parameter is obtained based on the first and second control points. Specifically, a first distance (first distance parameter) between the first control point and another control point (joint) or a reference point (a representative point of the model object), a second control point, and the like A second distance (second distance parameter) from the control point or the reference point is obtained, and a synthesis parameter is obtained based on the obtained first and second distances. For example, a synthesis parameter is obtained based on the first and second distances themselves, or a synthesis parameter is obtained based on a function value having the first and second distance parameters as arguments. Further, for example, a synthesis parameter that changes in accordance with the ratio between the first and second distances can be obtained. Alternatively, when the control point calculation unit 116 obtains the position of the front control point and the position of the rear control point, the parameter calculation unit 118 obtains the first composite parameter based on the front control point, and performs the rear control. A second synthesis parameter is determined based on the points. Note that the synthesis parameter may be obtained based on the angle formed by the first and second straight lines connecting the control points.

テクスチャ座標設定部(テクスチャ座標演算部)119は、テクスチャ座標の設定処理(演算処理)を行う。即ちしわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標の設定処理を行う。例えばテクスチャ記憶部178は、しわ表現テクスチャを、第1、第2、第3のテクスチャ座標(U、V、W座標)でテクセル値がフェッチされるボリュームテクスチャとして記憶する。別の言い方をすれば、しわ表現テクスチャをボリュームテクスチャの設定モードで記憶する。この場合にテクスチャ座標設定部119は、パラメータ演算部118で求められた合成パラメータに基づいて、ボリュームテクスチャの第3のテクスチャ座標(W座標)を設定する。なお第1、第2のテクスチャ座標については、モデルオブジェクトの頂点に設定されるU、V座標を用いることができる。   A texture coordinate setting unit (texture coordinate calculation unit) 119 performs texture coordinate setting processing (calculation processing). That is, texture coordinate setting processing for fetching the texel value of the wrinkle expression texture is performed. For example, the texture storage unit 178 stores the wrinkle expression texture as a volume texture from which texel values are fetched at the first, second, and third texture coordinates (U, V, and W coordinates). In other words, the wrinkle expression texture is stored in the volume texture setting mode. In this case, the texture coordinate setting unit 119 sets the third texture coordinate (W coordinate) of the volume texture based on the synthesis parameter obtained by the parameter calculation unit 118. For the first and second texture coordinates, U and V coordinates set at the vertices of the model object can be used.

画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。   The image generation unit 120 performs drawing processing based on the results of various processes (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. When generating a so-called three-dimensional game image, model data including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the model (object) is first input. Based on the vertex data included in the input model data, vertex processing (shading by a vertex shader) is performed. When performing the vertex processing, vertex generation processing (tessellation, curved surface division, polygon division) for re-dividing the polygon may be performed as necessary.

頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。   In the vertex processing, according to the vertex processing program (vertex shader program, first shader program), vertex movement processing, coordinate conversion (world coordinate conversion, camera coordinate conversion), clipping processing, perspective processing, and other geometric processing are performed. On the basis of the processing result, the vertex data given to the vertex group constituting the object is changed (updated or adjusted). Then, rasterization (scan conversion) is performed based on the vertex data after the vertex processing, and the surface of the polygon (primitive) is associated with the pixel. Subsequent to rasterization, pixel processing (shading or fragment processing by a pixel shader) for drawing pixels (fragments forming a display screen) constituting an image is performed.

ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたモデルの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。即ち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。   In pixel processing, according to a pixel processing program (pixel shader program, second shader program), various processes such as texture reading (texture mapping), color data setting / change, translucent composition, anti-aliasing, etc. are performed, and an image is processed. The final drawing color of the constituent pixels is determined, and the drawing color of the perspective-transformed model is output (drawn) to the drawing buffer 174 (a buffer capable of storing 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. As a result, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated.

なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。   The vertex processing and pixel processing 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). Programmable shaders can be programmed with vertex-level processing and pixel-level processing, so that the degree of freedom of drawing processing is high, and expressive power is greatly improved compared to conventional hardware-based fixed drawing processing. Can do.

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

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

隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理がある。即ちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ(描画バッファのZプレーン)に格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。   As the hidden surface removal process, there is a hidden surface removal process by a Z buffer method (depth comparison method, Z test) using a Z buffer (depth buffer) in which a Z value (depth information) of a drawing pixel is stored. That is, when drawing pixels corresponding to the primitive of the object are drawn, the Z value stored in the Z buffer (Z plane of the drawing 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値)に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。   α blending (α synthesis) is processing performed based on an α value (A value), and includes normal α blending, addition α blending, subtraction α blending, and the like. 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 translucency (equivalent to transparency and opacity) information, mask information, or bump information.

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

そして本実施形態では画像生成部120が、パラメータ演算部118により求められた合成パラメータにより、複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクト(服、肌)にマッピングすることで、モデルオブジェクトのしわ画像(しわ表現画像)を生成する。例えばパラメータ演算部118が前側制御点用の第1の合成パラメータと後ろ側制御点用の第2の合成パラメータを求めた場合には、求められた第1の合成パラメータにより複数のしわ表現テクスチャを合成し、合成テクスチャをモデルオブジェクトの前側面にマッピングすることで、モデルオブジェクトの前側面におけるしわ画像を生成する。また求められた第2の合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトの後ろ側面にマッピングすることで、モデルオブジェクトの後ろ側面におけるしわ画像を生成する。なお前側面用のしわ表現テクスチャと後ろ側面用のしわ表現テクスチャを、異なるパターンのテクスチャにしてもよい。またテクスチャ座標設定部119がボリュームテクスチャのための第1、第2、第3のテクスチャ座標を設定した場合には、画像生成部120は、第1、第2、第3のテクスチャ座標に基づいて、しわ表現テクスチャをボリュームテクスチャ(合成テクスチャ)としてモデルオブジェクトにマッピングする処理を行う。   In the present embodiment, the image generation unit 120 synthesizes a plurality of wrinkle expression textures with the synthesis parameter obtained by the parameter calculation unit 118, and maps the obtained synthesis texture to a model object (clothes, skin). A wrinkle image (wrinkle expression image) of the model object is generated. For example, when the parameter calculation unit 118 obtains the first synthesis parameter for the front control point and the second synthesis parameter for the rear control point, a plurality of wrinkle expression textures are generated by the obtained first synthesis parameter. By synthesizing and mapping the synthesized texture to the front side of the model object, a wrinkle image on the front side of the model object is generated. Further, a plurality of wrinkle expression textures are synthesized with the obtained second synthesis parameter, and the obtained synthesized texture is mapped to the rear side surface of the model object, thereby generating a wrinkle image on the rear side surface of the model object. The front side wrinkle expression texture and the rear side wrinkle expression texture may be different patterns of texture. In addition, when the texture coordinate setting unit 119 sets the first, second, and third texture coordinates for the volume texture, the image generation unit 120 is based on the first, second, and third texture coordinates. The wrinkle expression texture is mapped to the model object as a volume texture (synthetic texture).

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

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

2.本実施形態の手法
2.1 モーション処理
本実施形態では図2に示すように、モデルオブジェクトMOB(キャラクタ)が、複数のパーツオブジェクト(腰12、胸14、首16、頭18、右上腕20、右前腕22、右手24、左上腕26、左前腕28、左手30、右股32、右すね34、右足36、左股38、左すね40、左足42)により構成されている。そして、これらのパーツオブジェクト(部位)の位置や回転角度(方向)は、スケルトンモデルを構成する骨B0〜B19の位置(関節J0〜J15の位置)や回転角度(親の骨に対する子の骨の相対的な回転角度)により特定される。なお、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
2. 2. Method of this Embodiment 2.1 Motion Processing In this embodiment, as shown in FIG. 2, a model object MOB (character) includes a plurality of part objects (waist 12, chest 14, neck 16, head 18, upper right arm 20, The right forearm 22, right hand 24, left upper arm 26, left forearm 28, left hand 30, right crotch 32, right shin 34, right foot 36, left crotch 38, left shin 40, and left foot 42). The positions and rotation angles (directions) of these part objects (parts) are the positions of the bones B0 to B19 (positions of the joints J0 to J15) and the rotation angles (the positions of the child bones relative to the parent bones) constituting the skeleton model. Relative rotation angle). Note that these bones and joints are virtual and are not actually displayed objects.

本実施形態では、モデルオブジェクトMOBのスケルトンを構成する骨(モーション骨、関節、パーツオブジェクト)が親子(階層)構造を有している。例えば、手24、30の骨B7、B11の親は前腕22、28の骨B6、B10となり、B6、B10の親は上腕20、26の骨B5、B9となる。また、B5、B9の親は胸14の骨B1となり、B1の親は腰12の骨B0となる。また、足36、42の骨B15、B19の親はすね34、40の骨B14、B18となり、B14、B18の親は股32、38の骨B13、B17となり、B13、B17の親は腰12の骨B12、B16となる。   In the present embodiment, bones (motion bones, joints, part objects) constituting the skeleton of the model object MOB have a parent-child (hierarchical) structure. For example, the parents of the bones B7 and B11 of the hands 24 and 30 are the bones B6 and B10 of the forearms 22 and 28, and the parents of the B6 and B10 are the bones B5 and B9 of the upper arms 20 and 26. The parents of B5 and B9 become the bone B1 of the chest 14, and the parent of B1 becomes the bone B0 of the waist 12. The parents of the bones B15 and B19 of the legs 36 and 42 are the bones B14 and B18 of the shins 34 and 40, the parents of the B14 and B18 are the bones B13 and B17 of the crotch 32 and 38, and the parents of the B13 and B17 are the waist 12 Bones B12 and B16.

モーションデータ記憶部179には、これらの骨(パーツオブジェクト、関節)の位置、回転角度が、モーションデータとして記憶されている。なお骨の回転角度だけをモーションデータに含ませて、骨の位置(関節の位置)についてはモデルオブジェクトのモデルデータの中に含ませてもよい。   The motion data storage unit 179 stores the positions and rotation angles of these bones (part objects, joints) as motion data. Note that only the rotation angle of the bone may be included in the motion data, and the bone position (joint position) may be included in the model data of the model object.

例えば、歩きモーションが、M0、M1、M2・・・・MNという基準モーション(各フレームでのモーション)により構成されているとする。するとこれらの各基準モーションM0、M1、M2・・・・MNでの各骨の位置又は回転角度が、モーションデータとして予め記憶されている。そして、例えば基準モーションM0の各パーツオブジェクトの位置、回転角度を読み出し、次に基準モーションM1の各パーツオブジェクトの位置、回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション処理(モーション再生)が実現される。   For example, it is assumed that the walking motion is composed of reference motions (motions in each frame) M0, M1, M2,. Then, the position or rotation angle of each bone in each of these reference motions M0, M1, M2,... MN is stored in advance as motion data. Then, for example, the position data and the rotation angle of each part object of the reference motion M0 are read out, and then the position and rotation angle of each part object of the reference motion M1 are read out. Thus, motion processing (motion playback) is realized.

なお、モーションデータ記憶部179に記憶するモーションデータは、一般的には、モーションキャプチャにより取得したり、デザイナが作成する。またモーションデータは、親の骨の位置、回転角度に対する子の骨の相対的な位置、相対的な回転角度(3軸周りの回転角度)で表される。具体的には図3に示すように、親の骨BMPに対する子の骨BMCの、X軸、Y軸、Z軸回りの回転角度α、β、γが、モーションデータとして記憶される。   The motion data stored in the motion data storage unit 179 is generally obtained by motion capture or created by a designer. The motion data is represented by the position of the parent bone, the relative position of the child bone with respect to the rotation angle, and the relative rotation angle (rotation angle around three axes). Specifically, as shown in FIG. 3, rotation angles α, β, and γ around the X axis, the Y axis, and the Z axis of the child bone BMC with respect to the parent bone BMP are stored as motion data.

また、図2においてRPはモデルオブジェクトMOBの代表点であり、このRPは例えば腰(J0)の真下の位置(高さ零の位置)に設定されている。また図2の骨B1〜B19以外にも、モーション骨によるモデルオブジェクトの変形を補助する補助骨を設けてもよい。   Further, in FIG. 2, RP is a representative point of the model object MOB, and this RP is set at a position just below the waist (J0) (position of zero height), for example. In addition to the bones B1 to B19 in FIG. 2, auxiliary bones that assist the deformation of the model object by the motion bones may be provided.

2.2 しわ表現テクスチャの合成によるしわ画像の生成
本実施形態では図4に示すように、モデルオブジェクト(キャラクタ)の表面(衣服、肌等)のしわ(表面がたるんで、細かに縮み、筋目ができたもの)を表現するための複数のしわ表現テクスチャTEX1、TEX2を用意する。これらのしわ表現テクスチャTEX1、TEX2は、そのテクスチャパターンが異なっている。本実施形態では、パラメータ演算部118により求められた合成パラメータによりしわ表現テクスチャTEX1、TEX2を合成し、得られた合成テクスチャTEX12をモデルオブジェクトにマッピングすることで、モデルオブジェクトのしわ画像を生成する。例えば合成パラメータをAとすると、合成テクスチャはTEX12=A×TEX1+(1−A)×TEX2と表すことができる。なお合成テクスチャの生成手法は、このような式で表される手法に限定されない。例えばTEX1の合成率(ブレンド率)とTEX2の合成率(ブレンド率)を独立に制御するなどの種々の変形実施が可能である。
2.2 Generation of wrinkle image by synthesis of wrinkle expression texture In the present embodiment, as shown in FIG. A plurality of wrinkle expression textures TEX1 and TEX2 are prepared. These wrinkle expressing textures TEX1 and TEX2 have different texture patterns. In the present embodiment, the wrinkle expression textures TEX1 and TEX2 are synthesized by the synthesis parameter obtained by the parameter calculation unit 118, and the resultant synthesized texture TEX12 is mapped to the model object, thereby generating a wrinkle image of the model object. For example, if the synthesis parameter is A, the synthesized texture can be expressed as TEX12 = A × TEX1 + (1−A) × TEX2. Note that the synthetic texture generation method is not limited to the method represented by such an expression. For example, various modifications such as independently controlling the synthesis rate (blend rate) of TEX1 and the synthesis rate (blend rate) of TEX2 are possible.

本実施形態では、しわ表現のための少なくとも1つの制御点がモデルオブジェクトに設定される。例えば図4では、モデルオブジェクトの右肩付近(関節J4)に制御点C1が設定され、左肩付近に制御点C2(関節J7)が設定される。また左腰付近に制御点C3が設定され、右腰付近に制御点C4が設定される。   In the present embodiment, at least one control point for wrinkle expression is set in the model object. For example, in FIG. 4, the control point C1 is set near the right shoulder (joint J4) of the model object, and the control point C2 (joint J7) is set near the left shoulder. A control point C3 is set near the left waist, and a control point C4 is set near the right waist.

そして本実施形態では、制御点C1〜C4に基づいて、しわ表現テクスチャTEX1、TEX2の合成パラメータAを求める。例えばモーション処理に使用される座標変換マトリクスを用いた座標変換により、制御点C1〜C4の位置(例えばワールド座標系での位置)を求め、求められた位置に基づいて、合成パラメータAを求める。   In the present embodiment, the synthesis parameter A of the wrinkle expression textures TEX1 and TEX2 is obtained based on the control points C1 to C4. For example, the positions of the control points C1 to C4 (for example, positions in the world coordinate system) are obtained by coordinate transformation using a coordinate transformation matrix used for motion processing, and the synthesis parameter A is obtained based on the obtained positions.

なお、各骨の座標変換マトリクスは、スケルトンを構成する各骨(各パーツオブジェクト)の回転マトリクスと平行移動ベクトルのマトリクスにより得ることができる。ここで回転マトリクス(行列)は、例えば図3で説明したX軸、Y軸、Z軸回りでの回転角度α、β、γ(ロール角)などを用いてその成分が表されるマトリクスである。また平行移動ベクトルのマトリクスは、例えば各骨の位置を表すためのマトリクスである。これらの回転マトリクスと平行移動ベクトルのマトリクスにより得られる座標変換マトリクスを用いることで、各骨に追従するパーツオブジェクトの頂点ローカル座標を、ワールド座標に変換することができる。   The coordinate transformation matrix of each bone can be obtained from a rotation matrix and a translation vector matrix of each bone (each part object) constituting the skeleton. Here, the rotation matrix (matrix) is a matrix whose components are represented using, for example, the rotation angles α, β, γ (roll angles) around the X, Y, and Z axes described in FIG. . The translation vector matrix is a matrix for representing the position of each bone, for example. By using a coordinate conversion matrix obtained from the rotation matrix and the translation vector matrix, the vertex local coordinates of the part object following each bone can be converted into world coordinates.

図4では、しわ表現のための制御点C1、C2(第1、第2の制御点)が設定され、これらの制御点C1、C2の位置に基づいて、合成パラメータAが求められる。即ち制御点C1(第1の制御点)と他の制御点C3(或いは基準点)との距離L1(第1の距離)と、制御点C2(第2の制御点)と他の制御点C4(或いは基準点)との距離L2(第2の距離)が求められる。そして求められた距離L1、L2に基づいて合成パラメータAが求められる。例えばF(L1、L2)を、L1、L2を引数とする関数とした場合に、合成パラメータはA=F(L1、L2)と表すことができる。このA=F(L1、L2)により、合成テクスチャTEX12は、例えばTEX12=A×TEX1+(1−A)×TEX2などの式により求めることができる。   In FIG. 4, control points C1 and C2 (first and second control points) for wrinkle expression are set, and a composite parameter A is obtained based on the positions of these control points C1 and C2. That is, the distance L1 (first distance) between the control point C1 (first control point) and another control point C3 (or reference point), the control point C2 (second control point), and another control point C4. A distance L2 (second distance) from (or a reference point) is obtained. Then, the synthesis parameter A is obtained based on the obtained distances L1 and L2. For example, when F (L1, L2) is a function having L1 and L2 as arguments, the synthesis parameter can be expressed as A = F (L1, L2). With this A = F (L1, L2), the synthetic texture TEX12 can be obtained by an equation such as TEX12 = A × TEX1 + (1−A) × TEX2.

例えば図5(A)(B)では、モデルオブジェクトのモーションの変化により、制御点C1、C2等の位置が変化している。   For example, in FIGS. 5A and 5B, the positions of the control points C1, C2, and the like change due to the change in the motion of the model object.

そして図5(A)では、制御点C1、C3間の距離L1の方が、制御点C2、C4間の距離L2よりも短くなっている。この場合には例えば合成パラメータAを大きくして、しわ表現テクスチャTEX1の合成率(ブレンド率)の方がしわ表現テクスチャTEX2の合成率よりも大きくなるようにする。こうすれば、しわ表現テクスチャTEX2に比べて、しわ表現テクスチャTEX1のしわの方が強く表現されたしわ画像が生成されるようになる。   In FIG. 5A, the distance L1 between the control points C1 and C3 is shorter than the distance L2 between the control points C2 and C4. In this case, for example, the synthesis parameter A is increased so that the synthesis rate (blend rate) of the wrinkle expression texture TEX1 is larger than the synthesis rate of the wrinkle expression texture TEX2. By doing so, a wrinkle image in which the wrinkle of the wrinkle expression texture TEX1 is expressed more strongly than the wrinkle expression texture TEX2 is generated.

また図5(B)では、制御点C2、C4間の距離L2の方が、制御点C1、C3間の距離L1よりも短くなっている。この場合には例えば合成パラメータAを小さくして、しわ表現テクスチャTEX2の合成率の方がしわ表現テクスチャTEX1の合成率よりも大きくなるようにする。こうすれば、しわ表現テクスチャTEX1に比べて、しわ表現テクスチャTEX2のしわの方が強く表現されたしわ画像が生成されるようになる。   In FIG. 5B, the distance L2 between the control points C2 and C4 is shorter than the distance L1 between the control points C1 and C3. In this case, for example, the synthesis parameter A is reduced so that the synthesis rate of the wrinkle expression texture TEX2 is larger than the synthesis rate of the wrinkle expression texture TEX1. By doing so, a wrinkle image in which the wrinkle of the wrinkle expression texture TEX2 is expressed more strongly than the wrinkle expression texture TEX1 is generated.

本実施形態では制御点C1、C2等の位置が、モデルオブジェクトのモーション変化に連動して変化し、制御点間の距離L1、L2も変化する。例えばフィールド上を走るモデルオブジェクト(キャラクタ)の右肩が前に行き、左肩が後ろに行くと、図5(A)に示すように距離L1が短くなり、距離L2が長くなる。すると合成パラメータAが大きくなり(TEX1の合成率が大きくなり)、しわ表現テクスチャTEX1の方のしわが強く表現されたしわ画像が生成される。その後、フィールド上を走るモデルオブジェクトのモーションが変化し、モデルオブジェクトの左肩が前に行き、右肩が後ろに行くと、図5(B)に示すように距離L2が短くなり、距離L1が長くなる。すると合成パラメータAが小さくなり(TEX2の合成率が小さくなり)、しわ表現テクスチャTEX2の方のしわが強く表現されたしわ画像が生成される。   In the present embodiment, the positions of the control points C1, C2, etc. change in conjunction with the motion change of the model object, and the distances L1, L2 between the control points also change. For example, when the right shoulder of the model object (character) running on the field goes forward and the left shoulder goes backward, the distance L1 becomes shorter and the distance L2 becomes longer as shown in FIG. Then, the synthesis parameter A is increased (the synthesis rate of TEX1 is increased), and a wrinkle image in which the wrinkle of the wrinkle expression texture TEX1 is strongly expressed is generated. Thereafter, the motion of the model object running on the field changes, and when the left shoulder of the model object goes forward and the right shoulder goes backward, the distance L2 becomes shorter and the distance L1 becomes longer as shown in FIG. Become. Then, the synthesis parameter A becomes smaller (the synthesis rate of TEX2 becomes smaller), and a wrinkle image in which the wrinkle expression texture TEX2 is strongly expressed is generated.

このように、モデルオブジェクトの右肩と左肩が交互に前に出るというようにモーションが変化すると、それに連動して合成パラメータAが変化し、しわ表現テクスチャTEX1、TEX2の影響度も交互に強くなり、しわのアニメーション表現が行われる。従って、あたかもモデルオブジェクトのモーション変化に連動して、モデルオブジェクトの服のしわが変化しているかのように見える画像を生成できる。従って、リアルなしわ表現を簡素な処理で実現できる。   In this way, when the motion changes such that the right shoulder and the left shoulder of the model object alternately come forward, the synthesis parameter A changes accordingly, and the influence of the wrinkle expression textures TEX1 and TEX2 also becomes stronger alternately. Animated expression of wrinkles is performed. Accordingly, it is possible to generate an image that looks as if the wrinkles of the clothes of the model object are changed in conjunction with the motion change of the model object. Therefore, real wrinkle expression can be realized by simple processing.

図6にしわ表現テクスチャTEX1の例を示し、図7にしわ表現テクスチャTEX2の例を示す。図6のしわ表現テクスチャTEX1は、例えば図5(A)のように距離L1が短い場合のしわ画像を表すテクスチャである。図7のしわ表現テクスチャTEX2は、例えば図5(B)のように距離L2が短い場合のしわ画像を表すテクスチャである。このようにテクスチャパターンが異なるテクスチャTEX1、TEX2の画像が、モデルオブジェクトの服の表面に交互に表れることで、しわのアニメーション表現が実現される。なお、本実施形態において用意するしわ表現テクスチャは2つに限定されず、3つ以上であってもよく、これらの3つ以上のしわ表現テクスチャを合成してマッピングしてもよい。   An example of the wrinkle expression texture TEX1 is shown in FIG. 6, and an example of the wrinkle expression texture TEX2 is shown in FIG. The wrinkle expression texture TEX1 in FIG. 6 is a texture representing a wrinkle image when the distance L1 is short as shown in FIG. 5A, for example. The wrinkle expression texture TEX2 in FIG. 7 is a texture representing a wrinkle image when the distance L2 is short as shown in FIG. 5B, for example. In this way, the images of the textures TEX1 and TEX2 having different texture patterns appear alternately on the surface of the clothes of the model object, thereby realizing wrinkle animation expression. Note that the number of wrinkle expression textures prepared in the present embodiment is not limited to two, and may be three or more. These three or more wrinkle expression textures may be combined and mapped.

図8に本実施形態により生成されるゲーム画像の例を示し、図9にしわ部分の拡大図を示す。図8、図9ではサッカー選手を表すモデルオブジェクトのシャツの表面のしわが表現されている。例えば図8のようにモデルオブジェクトの右肩が前に行き、左肩が後ろに行くと、図5(A)に示すように距離L1が短くなり、距離L2が長くなる。すると合成パラメータAが大きくなり、図6のしわ表現テクスチャTEX1のしわの方が強く表現されたしわ画像が生成される。その後、モデルオブジェクトの左肩が前に行き、右肩が後ろに行くと、図5(B)に示すように距離L1が短くなり、距離L2が長くなり、図7のしわ表現テクスチャTEX2のしわの方が強く表現されたしわ画像が生成される。従って、モデルオブジェクトの走りモーションに連動してしわパターンが変化する様子を表現できる。   FIG. 8 shows an example of a game image generated by the present embodiment, and FIG. 9 shows an enlarged view of the wrinkle portion. 8 and 9, the wrinkles on the surface of the shirt of the model object representing the soccer player are represented. For example, when the right shoulder of the model object goes forward and the left shoulder goes backward as shown in FIG. 8, the distance L1 becomes shorter and the distance L2 becomes longer as shown in FIG. Then, the synthesis parameter A is increased, and a wrinkle image in which the wrinkle of the wrinkle expression texture TEX1 in FIG. 6 is strongly expressed is generated. Thereafter, when the left shoulder of the model object goes forward and the right shoulder goes back, the distance L1 becomes shorter and the distance L2 becomes longer as shown in FIG. 5B, and the wrinkle of the wrinkle expression texture TEX2 shown in FIG. A wrinkle image that is more strongly expressed is generated. Therefore, it is possible to express a state in which the wrinkle pattern changes in conjunction with the running motion of the model object.

なお合成パラメータAについては種々の演算手法が可能である。例えば図10では、合成パラメータAは、距離L1、L2を引数とする関数F(L1、L2)で表されている。具体的には合成パラメータAは、距離L1、L2の比に応じて変化するパラメータとなっている。即ち合成パラメータAは、H1(L1)/{H1(L1)+H2(L2)}を引数とする関数Gで表すことができる。ここで、関数H1はL1を引数とする関数であり、関数H2はL2を引数とする関数である。例えば合成パラメータは、A=L1/(L1+L2)と表すことができる。   Various calculation methods are possible for the synthesis parameter A. For example, in FIG. 10, the synthesis parameter A is represented by a function F (L1, L2) having distances L1, L2 as arguments. Specifically, the synthesis parameter A is a parameter that changes according to the ratio of the distances L1 and L2. That is, the synthesis parameter A can be expressed by a function G having an argument of H1 (L1) / {H1 (L1) + H2 (L2)}. Here, the function H1 is a function having L1 as an argument, and the function H2 is a function having L2 as an argument. For example, the synthesis parameter can be expressed as A = L1 / (L1 + L2).

具体的には、距離L1=L2の場合には、合成パラメータはA=0.5になる。従って、この場合には図6のしわ表現テクスチャTEX1と図7のしわ表現テクスチャTEX2が1対1の割合で合成された合成テクスチャTEX12が生成されて、モデルオブジェクトの前側面にマッピングされる。   Specifically, when the distance L1 = L2, the synthesis parameter is A = 0.5. Therefore, in this case, a synthetic texture TEX12 is generated by synthesizing the wrinkle expression texture TEX1 in FIG. 6 and the wrinkle expression texture TEX2 in FIG. 7 at a ratio of 1: 1, and is mapped to the front side of the model object.

またL1max、L1minを距離L1の最大値、最小値とし、L2max、L2minを距離L2の最大値、最小値としたとする。すると、L1=L1min、L2=L2maxの場合に、合成パラメータはA=1.0になる。従って、図6のしわ表現テクスチャTEX1が合成テクスチャTEX12として、モデルオブジェクトにマッピングされるようになる。またL1=L1max、L2=L2minの場合に、合成パラメータはA=0になる。従って、図7のしわ表現テクスチャTEX2が合成テクスチャTEX12として、モデルオブジェクトにマッピングされるようになる。なお合成パラメータAの演算手法は図10に限定されず、種々の変形実施が可能である。   Also, let L1max and L1min be the maximum and minimum values of the distance L1, and let L2max and L2min be the maximum and minimum values of the distance L2. Then, when L1 = L1min and L2 = L2max, the synthesis parameter is A = 1.0. Accordingly, the wrinkle expression texture TEX1 in FIG. 6 is mapped to the model object as the synthetic texture TEX12. When L1 = L1max and L2 = L2min, the synthesis parameter is A = 0. Accordingly, the wrinkle expression texture TEX2 in FIG. 7 is mapped to the model object as the synthetic texture TEX12. Note that the method for calculating the synthesis parameter A is not limited to that shown in FIG. 10, and various modifications can be made.

また図4ではモデルオブジェクトに対して4つの制御点C1〜C4が設定されているが、図11(A)に示すように2つの制御点C1、C2だけを設定したり、1つの制御点だけを設定するようにしてもよい。図11(A)では制御点C1と基準点BPとの距離がL1になり、制御点C2と基準点BPとの距離がL2になる。この基準点BPは、制御点C1についての距離L1や、制御点C2についての距離L2を設定するための基準となる点である。この基準点BPとしては、図2の関節J1(或いはJ0)の点や、関節J1から所与の距離だけ離れた点(例えばキャラクタのおへそ)などを用いることができる。   In FIG. 4, four control points C1 to C4 are set for the model object. However, as shown in FIG. 11A, only two control points C1 and C2 are set, or only one control point is set. May be set. In FIG. 11A, the distance between the control point C1 and the reference point BP is L1, and the distance between the control point C2 and the reference point BP is L2. The reference point BP is a reference point for setting the distance L1 for the control point C1 and the distance L2 for the control point C2. As the reference point BP, the point of the joint J1 (or J0) in FIG. 2 or a point separated from the joint J1 by a given distance (for example, the navel of the character) can be used.

また基準点BPの位置に、しわ表現のための制御点C3を設定し、制御点C1、C3間の距離をL1とし、制御点C2、C3間の距離をL2として、距離L1、L2により合成パラメータAを求めてもよい。   Further, a control point C3 for wrinkle expression is set at the position of the reference point BP, the distance between the control points C1 and C3 is L1, and the distance between the control points C2 and C3 is L2, and is synthesized by the distances L1 and L2. The parameter A may be obtained.

また、距離L1、L2ではなく、制御点C1と基準点BP(又は他の制御点)を結ぶ直線SL1と、制御点C2と基準点BP(又は他の制御点)を結ぶ直線SL2とのなす角度θに基づいて、合成パラメータAを求めてもよい。   Further, not the distances L1 and L2, but a straight line SL1 connecting the control point C1 and the reference point BP (or other control point) and a straight line SL2 connecting the control point C2 and the reference point BP (or other control point). The composite parameter A may be obtained based on the angle θ.

またモデルオブジェクトのスケルトンが複数の骨及び複数の関節により構成される場合に、座標変換マトリクスを用いた座標変換により、複数の関節のうちの所与の関節に対する制御点の相対的な位置を求め、この相対的な位置に基づいて、合成パラメータAを求めてもよい。   When the skeleton of the model object is composed of multiple bones and multiple joints, the relative position of the control point for a given joint among the multiple joints is obtained by coordinate conversion using the coordinate conversion matrix. Based on this relative position, the synthesis parameter A may be obtained.

例えば図11(B)において、関節J3は、図2の頭18のパーツオブジェクトの関節であり、親の骨B2に対する、子の骨B3のなす角度(図3のα、β、γ)を変化させることで、頭18の動き(傾き)が制御される。そして図11(C)の骨B20、B21は、眉毛51、52の動きを制御するための骨である。即ち親の骨B2に対する子の骨B20、B21のなす角度(図3のα、β、γ)を制御することで、眉毛51、52の動きが制御される。   For example, in FIG. 11B, the joint J3 is the joint of the part object of the head 18 in FIG. 2, and changes the angle (α, β, γ in FIG. 3) formed by the child bone B3 with respect to the parent bone B2. By doing so, the movement (tilt) of the head 18 is controlled. The bones B20 and B21 in FIG. 11C are bones for controlling the movement of the eyebrows 51 and 52. That is, by controlling the angles (α, β, γ in FIG. 3) formed by the child bones B20, B21 with respect to the parent bone B2, the movement of the eyebrows 51, 52 is controlled.

そして図11(B)では、眉毛51、52の位置(例えば眉毛の関節位置)に制御点CB1、CB2が設定されている。そして、例えば骨B2に対する骨B20のなす角度(モーションデータ)により求められる座標変換マトリクスを用いた座標変換により、関節J3に対する制御点CB1の相対的な位置が求められる。即ち関節J3を原点とするローカル座標系での制御点CB1の位置が求められる。また骨B2に対する骨B20のなす角度(モーションデータ)により求められる座標変換マトリクスを用いた座標変換により、関節J3に対する制御点CB2の相対的な位置が求められる。即ち関節J3を原点とするローカル座標系での制御点CB2の位置が求められる。   In FIG. 11B, control points CB1 and CB2 are set at the positions of the eyebrows 51 and 52 (for example, the joint positions of the eyebrows). Then, for example, the relative position of the control point CB1 with respect to the joint J3 is obtained by coordinate transformation using a coordinate transformation matrix obtained by the angle (motion data) formed by the bone B20 with respect to the bone B2. That is, the position of the control point CB1 in the local coordinate system with the joint J3 as the origin is obtained. Further, the relative position of the control point CB2 with respect to the joint J3 is obtained by coordinate transformation using a coordinate transformation matrix obtained by the angle (motion data) formed by the bone B20 with respect to the bone B2. That is, the position of the control point CB2 in the local coordinate system with the joint J3 as the origin is obtained.

そして、求められた制御点CB1、CB2の相対的な位置に基づいて、しわ表現テクスチャの合成パラメータAが求められる。例えば、関節J3を原点とするローカル座標系での制御点CB1、CB2のX座標、Y座標又はZ座標の少なくとも1つに基づいて、合成パラメータAが求められる。   Then, based on the relative positions of the obtained control points CB1 and CB2, a wrinkle expression texture synthesis parameter A is obtained. For example, the composite parameter A is obtained based on at least one of the X coordinate, Y coordinate, or Z coordinate of the control points CB1, CB2 in the local coordinate system with the joint J3 as the origin.

図12に図11(B)の手法で生成される画像の例を示す。図11(B)の手法によれば、図12のモデルオブジェクト(キャラクタ)の顔の表情の変化により眉毛の位置が動くと、それに伴い眉毛の周りのしわ画像も変化するようになる。即ち図8、図9のシャツのしわと同様の皮膚のしわが、眉毛の周りに表れ、そのしわの画像が、眉毛の位置の変化(骨B20、B21の変化)に連動して変化するようになる。これにより、顔の表情が更にリアルに表現されるようになり、プレーヤの仮想現実感を向上できる。   FIG. 12 shows an example of an image generated by the method shown in FIG. According to the method of FIG. 11B, when the position of the eyebrows moves due to the change in facial expression of the model object (character) in FIG. 12, the wrinkle image around the eyebrows also changes accordingly. That is, wrinkles of the skin similar to the wrinkles of the shirts of FIGS. 8 and 9 appear around the eyebrows, and the image of the wrinkles changes in conjunction with changes in the position of the eyebrows (changes in the bones B20 and B21). become. Thereby, the facial expression can be expressed more realistically, and the virtual reality of the player can be improved.

2.3 前側、後ろ側制御点
本実施形態では、モデルオブジェクトの前側(正面側)と後ろ側(背面側)に制御点を設定し、これらの制御点により第1、第2の合成パラメータを独立に制御してもよい。
2.3 Front and rear control points In this embodiment, control points are set on the front side (front side) and rear side (back side) of the model object, and the first and second composite parameters are set by these control points. You may control independently.

例えば図13(A)(B)では、モデルオブジェクトのスケルトンを構成する複数の関節のうちの関節J3(右肩の関節)の前側に、前側制御点CF1が設定され、関節J3の後ろ側に後ろ側制御点CB1が設定される。即ち関節J3に対して前側にオフセットした位置に制御点CF1が設定(配置)され、後ろ側にオフセットした位置に制御点CB1が設定(配置)される。   For example, in FIGS. 13A and 13B, the front control point CF1 is set on the front side of the joint J3 (the right shoulder joint) among the plurality of joints constituting the skeleton of the model object, and on the rear side of the joint J3. A rear control point CB1 is set. That is, the control point CF1 is set (arranged) at a position offset forward with respect to the joint J3, and the control point CB1 is set (arranged) at a position offset backward.

また図13(C)(D)では、関節J7(左肩の関節)の前側に、前側制御点CF2が設定され、関節J7の後ろ側に後ろ側制御点CB2が設定される。即ち関節J7に対して前側にオフセットした位置に制御点CF2が設定(配置)され、後ろ側にオフセットした位置に制御点CB2が設定(配置)される。   13C and 13D, the front control point CF2 is set on the front side of the joint J7 (left shoulder joint), and the rear control point CB2 is set on the rear side of the joint J7. That is, the control point CF2 is set (arranged) at a position offset to the front side with respect to the joint J7, and the control point CB2 is set (arranged) at a position offset to the rear side.

そして制御点演算部116は、モデルオブジェクトのモーションの変化によりその位置が変化する前側制御点CF1、CF2の位置と、後ろ側制御点CB1、CB2の位置を求める。   Then, the control point calculation unit 116 obtains the positions of the front control points CF1 and CF2 and the positions of the rear control points CB1 and CB2 whose positions change due to the change in the motion of the model object.

またパラメータ演算部118は、図14(A)に示すように前側制御点CF1、CF2等に基づいて第1の合成パラメータAFを求める。また図14(B)に示すように、後ろ側制御点CB1、CB2等に基づいて第2の合成パラメータABを求める。   Further, the parameter calculation unit 118 obtains a first composite parameter AF based on the front control points CF1, CF2, etc. as shown in FIG. Further, as shown in FIG. 14B, the second synthesis parameter AB is obtained based on the rear control points CB1, CB2, and the like.

そして画像生成部120は、求められた合成パラメータAFによりしわ表現テクスチャTEX1、TEX2を合成し、得られた合成テクスチャTEXF12をモデルオブジェクトの前側面にマッピングすることで、モデルオブジェクトの前側面におけるしわ画像を生成する。また、求められた合成パラメータABによりしわ表現テクスチャTEX1、TEX2を合成し、得られた合成テクスチャTEXB12をモデルオブジェクトの後ろ側面にマッピングすることで、モデルオブジェクトの後ろ側面におけるしわ画像を生成する。   Then, the image generation unit 120 synthesizes the wrinkle expression textures TEX1 and TEX2 with the obtained synthesis parameter AF, and maps the obtained composite texture TEXF12 on the front side of the model object, so that the wrinkle image on the front side of the model object is obtained. Is generated. Further, the wrinkle expression textures TEX1 and TEX2 are synthesized with the obtained synthesis parameter AB, and the resultant synthesized texture TEXB12 is mapped to the rear side surface of the model object, thereby generating a wrinkle image on the rear side surface of the model object.

例えば図14(A)では、前側制御点CF1、CF3間の距離LF1と、前側制御点CF2、CF4間の距離LF2が求められる。そしてこれらの距離LF1、LF2を関数とする合成パラメータAF=F(LF1、LF2)が求められる。この合成パラメータAFは例えば距離LF1、LF2の比に応じて変化するパラメータである。なお図11(A)の手法と同様に、前側制御点CF1と基準点BPとの距離をLF1とし、前側制御点CF2と基準点BPとの距離をLF2としてもよい。   For example, in FIG. 14A, the distance LF1 between the front control points CF1 and CF3 and the distance LF2 between the front control points CF2 and CF4 are obtained. Then, a synthesis parameter AF = F (LF1, LF2) having these distances LF1, LF2 as a function is obtained. The synthesis parameter AF is a parameter that changes according to the ratio of the distances LF1 and LF2, for example. As in the method of FIG. 11A, the distance between the front control point CF1 and the reference point BP may be LF1, and the distance between the front control point CF2 and the reference point BP may be LF2.

また図14(B)では、後ろ側制御点CB1、CB3間の距離LB1と、後ろ側制御点CB2、CB4間の距離LB2が求められる。そしてこれらの距離LB1、LB2を関数とする合成パラメータAB=F(LB1、LB2)が求められる。この合成パラメータABは例えば距離LB1、LB2の比に応じて変化するパラメータである。なお図11(A)の手法と同様に、後ろ側制御点CB1と基準点BPとの距離をLB1とし、後ろ側制御点CB2と基準点BPとの距離をLB2としてもよい。   In FIG. 14B, a distance LB1 between the rear control points CB1 and CB3 and a distance LB2 between the rear control points CB2 and CB4 are obtained. Then, a synthesis parameter AB = F (LB1, LB2) having these distances LB1, LB2 as a function is obtained. The synthesis parameter AB is a parameter that changes according to the ratio of the distances LB1 and LB2, for example. As in the method of FIG. 11A, the distance between the rear control point CB1 and the reference point BP may be LB1, and the distance between the rear control point CB2 and the reference point BP may be LB2.

図14(A)の合成パラメータAFに基づき得られた合成テクスチャTEXF12を、モデルオブジェクトの前側面にマッピングすると共に、図14(B)の合成パラメータABに基づき得られた合成テクスチャTEXB12を、モデルオブジェクトの後ろ側面にマッピングすれば、モデルオブジェクトの前側面と後ろ側面とで、生成されるしわ画像が異なったものになり、よりリアルな画像を生成できる。   The synthetic texture TEXF12 obtained based on the synthetic parameter AF in FIG. 14A is mapped to the front side of the model object, and the synthetic texture TEXB12 obtained based on the synthetic parameter AB in FIG. If the mapping is performed on the rear side of the model object, the generated wrinkle images are different between the front side and the rear side of the model object, and a more realistic image can be generated.

例えば図8のようにモデルオブジェクトの右肩が前に出た場合、モデルオブジェクトの前側面においては、右肩の前側制御点CF1と左腰の前側制御点CF3の距離LF1は短くなり、左肩の前側制御点CF2と右腰の前側制御点CF4の距離LF2は長くなる。従って、モデルオブジェクトの前側面では、しわ表現テクスチャTEX1が強く表現されたしわ画像が生成されるようになる。一方、モデルオブジェクトの後ろ側面においては、右肩の後ろ側制御点CB1と左腰の後ろ側制御点CB3の距離LB1は長くなり、左肩の後ろ制御点CB2と右腰の後ろ側制御点CB4の間の距離LB2は短くなる。従って、モデルオブジェクトの後ろ側面では、しわ表現テクスチャTEX2が強く表現されたしわ画像が生成される。   For example, when the right shoulder of the model object comes forward as shown in FIG. 8, on the front side of the model object, the distance LF1 between the front control point CF1 of the right shoulder and the front control point CF3 of the left waist becomes short, and the left shoulder The distance LF2 between the front control point CF2 and the right waist front control point CF4 becomes longer. Therefore, a wrinkle image in which the wrinkle expression texture TEX1 is strongly expressed is generated on the front side of the model object. On the other hand, on the back side of the model object, the distance LB1 between the back control point CB1 on the right shoulder and the back control point CB3 on the left waist becomes long, and the back control point CB2 on the left shoulder and the back control point CB4 on the right waist The distance LB2 between them becomes shorter. Accordingly, a wrinkle image in which the wrinkle expression texture TEX2 is strongly expressed is generated on the rear side of the model object.

この結果、モデルオブジェクトの前側面と後ろ側面とで、生成されるしわ画像が異なるようになる。従って、よりリアルな画像を生成でき、プレーヤの仮想現実感を更に向上できる。   As a result, the generated wrinkle images are different between the front side surface and the rear side surface of the model object. Therefore, a more realistic image can be generated, and the virtual reality of the player can be further improved.

2.4 ボリュームテクスチャ
画像生成システム(ゲーム装置)においては、ボリュームテクスチャ(3次元テクスチャ)と呼ばれるテクスチャマッピング機能がサポートされている場合がある。ここでボリュームテクスチャとは、ポリゴンやラインなどの2次元のプリミティブの描画に使用できるテクセルの3次元の集まりである。ボリュームテクスチャ(立体テクスチャ)で処理されるプリミティブの各頂点には、3要素のテクスチャ座標(U、V、W)が必要になる。このボリュームテクスチャをマッピングしてプリミティブを描画すると、各プリミティブのピクセルには、従来の2次元テクスチャの場合と同じような規則に従って、ボリュームテクスチャのテクセル値(色値)が設定される。このボリュームテクスチャは、フォグや爆発などの特殊効果を表現するために用意されたものである。このボリュームテクスチャは、幅×高さの2次元サーフェスがスタックされて、幅×高さ×奥行きのボリュームを構成するテクスチャと考えることもできる。なお、ボリュームテクスチャはミップレベルを持つことができ、各ミップレベルの大きさは、直前のミップレベルの半分の大きさにカットされる。
2.4 Volume Texture An image generation system (game device) may support a texture mapping function called volume texture (three-dimensional texture). Here, the volume texture is a three-dimensional collection of texels that can be used for drawing two-dimensional primitives such as polygons and lines. Three vertex texture coordinates (U, V, W) are required for each vertex of the primitive processed by the volume texture (three-dimensional texture). When the primitive is drawn by mapping this volume texture, the texel value (color value) of the volume texture is set to the pixel of each primitive according to the same rule as in the case of the conventional two-dimensional texture. This volume texture is prepared to express special effects such as fog and explosion. This volume texture can also be thought of as a texture that forms a volume of width × height × depth by stacking two-dimensional surfaces of width × height. The volume texture can have a mip level, and the size of each mip level is cut to half the size of the previous mip level.

ボリュームテクスチャのテクセル値を参照するためには、図15に示すように3つのテクスチャ座標U、V、W(第1、第2、第3のテクスチャ座標)が必要になる。即ちテクスチャ座標設定部119は、しわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標U、V、Wを設定する。   In order to refer to the texel value of the volume texture, three texture coordinates U, V, and W (first, second, and third texture coordinates) are required as shown in FIG. That is, the texture coordinate setting unit 119 sets the texture coordinates U, V, and W for fetching the texel value of the wrinkle expression texture.

具体的には、各頂点に対して、3つのテクスチャ座標U、V、Wを有するカスタム頂点型を指定して、頂点バッファを作成し、頂点のデータを設定する。そして、ポリゴンなどのプリミティブを描画する前に現在のテクスチャをボリュームテクスチャに設定して、プリミティブを描画する。なお、テクスチャ座標U、Vは、通常の2次元テクスチャのテクセル値をフェッチ(サンプリング)するためのテクスチャ座標に相当する。   Specifically, a custom vertex type having three texture coordinates U, V, and W is designated for each vertex, a vertex buffer is created, and vertex data is set. Then, before drawing a primitive such as a polygon, the current texture is set as a volume texture and the primitive is drawn. The texture coordinates U and V correspond to texture coordinates for fetching (sampling) texel values of a normal two-dimensional texture.

本実施形態では、しわ表現テクスチャTEX1、TEX2の合成パラメータAに基づいて、ボリュームテクスチャの第3のテクスチャ座標Wを設定する。例えば合成パラメータAそのものをテクスチャ座標Wに設定したり、合成パラメータAから得られるパラメータをテクスチャ座標Wに設定する。そしてテクスチャ座標U、V、Wに基づいて、しわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングする処理を行う。このようにすれば図15に示すように、テクスチャTEX1、TEX2を合成した合成テクスチャTEX12がモデルオブジェクトにマッピングされるようになる。   In the present embodiment, the third texture coordinate W of the volume texture is set based on the synthesis parameter A of the wrinkle expression textures TEX1 and TEX2. For example, the synthesis parameter A itself is set to the texture coordinate W, or a parameter obtained from the synthesis parameter A is set to the texture coordinate W. Based on the texture coordinates U, V, and W, a process of mapping the wrinkle expression texture as a volume texture to the model object is performed. In this way, as shown in FIG. 15, the synthesized texture TEX12 obtained by synthesizing the textures TEX1 and TEX2 is mapped to the model object.

例えば図15では、テクスチャ座標Wが大きいほどテクスチャTEX1の合成率(ブレンド率)が大きくなり、テクスチャ座標Wが小さいほどテクスチャTEX2の合成率が大きくなるように、合成テクスチャTEX12が生成される。即ちテクスチャ座標U、Vで指定されるテクスチャTEX1、TEXの各テクセル値が、テクスチャ座標Wで決まる合成率(ブレンド率)で合成(テクセル補間)されて、プリミティブのピクセルに描画されるようになる。   For example, in FIG. 15, the synthesized texture TEX12 is generated so that the synthesis rate (blend rate) of the texture TEX1 increases as the texture coordinate W increases, and the synthesis rate of the texture TEX2 increases as the texture coordinate W decreases. That is, the texel values of the textures TEX1 and TEX specified by the texture coordinates U and V are synthesized (texel interpolation) at a synthesis rate (blend rate) determined by the texture coordinates W and drawn on the primitive pixel. .

このようなボリュームテクスチャ機能を利用して、合成テクスチャTEX12を得るようにすれば、合成テクスチャTEX12を生成するためのプログラム処理を省略し、画像生成システムのハードウェアが有するボリュームテクスチャ機能を有効活用して、合成テクスチャTEX12をマッピングできるようになる。即ちテクスチャ座標U、V、Wと、しわ表現テクスチャTEX1、TEX2を指定した1回のテクスチャマッピングで、合成テクスチャTEX12をモデルオブジェクトにマッピングして、しわ画像を生成できる。従って、処理負荷の軽減や処理の高速化を図れる。   If the synthetic texture TEX12 is obtained by using such a volume texture function, the program processing for generating the synthetic texture TEX12 can be omitted, and the volume texture function possessed by the hardware of the image generation system can be effectively utilized. Thus, the synthetic texture TEX12 can be mapped. That is, a wrinkle image can be generated by mapping the synthetic texture TEX12 to the model object by one texture mapping designating the texture coordinates U, V, W and the wrinkle expression textures TEX1, TEX2. Therefore, the processing load can be reduced and the processing speed can be increased.

なお図15のようにボリュームテクスチャを用いてしわ表現のための合成テクスチャTEX12をモデルオブジェクトにマッピングする手法では、制御点に基づき合成パラメータを求めてもよいが、それ以外の要素に基づいて合成パラメータを求めるようにしてもよい。例えばモーションデータ(骨のなす角度、座標変換マトリクス)に基づいて、直接に合成パラメータを求め、求められた合成パラメータに基づいてテクスチャ座標Wを設定し、得られた合成テクスチャをモデルオブジェクトにマッピングしてもよい。   In the method of mapping the synthetic texture TEX12 for wrinkle expression to the model object using the volume texture as shown in FIG. 15, the synthetic parameter may be obtained based on the control point, but the synthetic parameter is obtained based on other elements. May be requested. For example, based on motion data (angle formed by bone, coordinate transformation matrix), a synthesis parameter is directly obtained, texture coordinates W are set based on the obtained synthesis parameter, and the obtained synthesized texture is mapped to a model object. May be.

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

まずフレーム(1/60秒)の更新タイミングか否かを判断する(ステップS1)。そしてフレームの更新タイミングである場合には、モデルオブジェクトの移動処理を行う(ステップS2)。即ちモデルオブジェクトの速度、加速度等に基づいてモデルオブジェクト(代表点)の位置、方向を更新する。   First, it is determined whether or not it is a frame (1/60 second) update timing (step S1). If it is the frame update timing, the model object is moved (step S2). That is, the position and direction of the model object (representative point) are updated based on the speed and acceleration of the model object.

次に、モーションデータに基づいて、モデルオブジェクトのモーション処理のための座標変換マトリクス(モーションマトリクス)を求める(ステップS3)。即ち親の骨に対する子の骨の回転角度などを含むモーションデータに基づいて、座標変換マトリクス(行列)を求める。そして、各関節の座標変換マトリクスに基づいて、各制御点をワールド座標系に座標変換する(ステップS4)。例えば図4の制御点C1、C2、C3、C4をワールド座標系に座標変換し、ワールド座標系での位置を求める。或いは図13(A)(B)(C)(D)の制御点CF1、CB1、CF2、CB2を、例えば関節J4、J7についての座標変換マトリクスにより座標変換して、ワールド座標系での位置を求める。   Next, a coordinate transformation matrix (motion matrix) for motion processing of the model object is obtained based on the motion data (step S3). That is, a coordinate transformation matrix (matrix) is obtained based on motion data including the rotation angle of the child bone relative to the parent bone. Based on the coordinate conversion matrix of each joint, each control point is coordinate-converted to the world coordinate system (step S4). For example, the control points C1, C2, C3, and C4 in FIG. 4 are coordinate-transformed into the world coordinate system, and the position in the world coordinate system is obtained. Alternatively, the coordinates of the control points CF1, CB1, CF2, and CB2 in FIGS. 13A, 13B, 13C, and 13D are transformed using, for example, a coordinate transformation matrix for joints J4 and J7, and the position in the world coordinate system is obtained. Ask.

次に制御点間の距離L1、L2を求める(ステップS5)。そして、求められた距離L1、L2に基づき、図15で説明したボリュームテクスチャのテクスチャ座標Wを求める(ステップS6)。例えばW=L1/(L1+L2)というように、距離L1、L2の比に応じた値としてWを求める。   Next, distances L1 and L2 between the control points are obtained (step S5). Then, based on the obtained distances L1 and L2, the texture coordinate W of the volume texture described in FIG. 15 is obtained (step S6). For example, W is obtained as a value corresponding to the ratio of the distances L1 and L2, such as W = L1 / (L1 + L2).

次に、モデルオブジェクトの各頂点のU、V座標をボリュームテクスチャの第1、第2のテクスチャ座標に設定し、Wをボリュームテクスチャの第3のテクスチャ座標に設定する(ステップS7)。そしてテクスチャ座標(U、V、W)に基づいて、図6、図7のしわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングして、モデルオブジェクトのプリミティブを描画する(ステップS8)。   Next, the U and V coordinates of each vertex of the model object are set to the first and second texture coordinates of the volume texture, and W is set to the third texture coordinate of the volume texture (step S7). Based on the texture coordinates (U, V, W), the wrinkle expression texture of FIGS. 6 and 7 is mapped to the model object as a volume texture, and the primitive of the model object is drawn (step S8).

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

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

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

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

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

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

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

なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are included in the scope of the present invention. For example, a term described at least once together with a different term having a broader meaning or the same meaning in the specification or the drawings can be replaced with the different term in any part of the specification or the drawings.

また、制御点の設定手法、制御点の演算手法、パラメータの演算手法、テクスチャの合成手法、テクスチャのマッピング手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。   Also, the control point setting method, control point calculation method, parameter calculation method, texture synthesis method, and texture mapping method are not limited to those described in the present embodiment, and methods equivalent to these are also included in the present invention. Included in the range.

また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   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 game images, and a mobile phone. it can.

本実施形態の画像生成システムの機能ブロック図の例。The example of a functional block diagram of the image generation system of this embodiment. モデルオブジェクト、スケルトン構造の例。Example of model object and skeleton structure. 骨の親子関係の説明図。Explanatory drawing of parent-child relationship of bone. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 図5(A)(B)は本実施形態の手法の説明図。5A and 5B are explanatory diagrams of the method of the present embodiment. しわ表現テクスチャの例。Example of wrinkle expression texture. しわ表現テクスチャの例。Example of wrinkle expression texture. 本実施形態により生成された画像の例。The example of the image produced | generated by this embodiment. しわの拡大画像の例。An example of an enlarged image of wrinkles. 合成パラメータの演算手法の説明図。Explanatory drawing of the calculation method of a synthesis parameter. 図11(A)(B)は本実施形態の手法の変形例の説明図。FIGS. 11A and 11B are explanatory diagrams of a modification of the method of the present embodiment. 本実施形態により生成された画像の例。The example of the image produced | generated by this embodiment. 図13(A)(B)(C)(D)は前側制御点、後ろ側制御点を設定する手法の説明図。FIGS. 13A, 13 </ b> B, 13 </ b> C, and 13 </ b> D are explanatory diagrams of a method for setting a front control point and a rear control point. 図14(A)(B)は前側制御点、後ろ側制御点を設定する手法の説明図。FIGS. 14A and 14B are explanatory diagrams of a method for setting a front control point and a rear control point. ボリュームテクスチャを利用する手法の説明図。Explanatory drawing of the method using a volume texture. 本実施形態の詳細な処理を説明するフローチャート。The flowchart explaining the detailed process of this embodiment. ハードウェア構成例。Hardware configuration example.

符号の説明Explanation of symbols

100 処理部、108 ゲーム演算部、110 オブジェクト空間設定部、
112 移動処理部、113 モーション処理部、114 仮想カメラ制御部、
116 制御点演算部、118 パラメータ演算部、119 テクスチャ座標設定部、
120 画像生成部、160 操作部、170 記憶部、
172 主記憶部、174 描画バッファ、176 モデルデータ記憶部、
178 テクスチャ記憶部、179 モーションデータ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部
100 processing unit, 108 game calculation unit, 110 object space setting unit,
112 movement processing unit, 113 motion processing unit, 114 virtual camera control unit,
116 control point calculation unit, 118 parameter calculation unit, 119 texture coordinate setting unit,
120 image generation unit, 160 operation unit, 170 storage unit,
172 Main storage unit, 174 drawing buffer, 176 model data storage unit,
178 Texture storage unit, 179 Motion data storage unit,
180 information storage medium, 190 display unit, 192 sound output unit,
194 Portable information storage device, 196 communication unit

Claims (13)

画像を生成するためのプログラムであって、
しわ表現のための少なくとも1つの制御点が設定されるモデルオブジェクトのモーション処理を行うモーション処理部と、
モデルオブジェクトのモーションの変化によりその位置が変化する前記制御点の位置を求める制御点演算部と、
モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶するテクスチャ記憶部と、
前記制御点に基づいて、複数のしわ表現テクスチャの合成パラメータを求めるパラメータ演算部と、
求められた前記合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトにマッピングすることで、モデルオブジェクトのしわ画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
A program for generating an image,
A motion processing unit that performs motion processing of a model object in which at least one control point for wrinkle expression is set;
A control point calculation unit for obtaining a position of the control point whose position changes due to a change in motion of the model object;
A texture storage unit for storing a plurality of wrinkle expressing textures having different texture patterns, which are textures for expressing the wrinkles on the surface of the model object;
Based on the control point, a parameter calculation unit for obtaining a composite parameter of a plurality of wrinkle expression textures;
As an image generation unit that generates a wrinkle image of a model object by synthesizing a plurality of wrinkle expression textures by the obtained synthesis parameter and mapping the obtained synthetic texture to the model object,
A program characterized by causing a computer to function.
請求項1において、
前記制御点演算部は、
前記モーション処理に使用される座標変換マトリクスを用いた座標変換により、前記制御点の位置を求め、
前記パラメータ演算部は、
座標変換により求められた前記制御点の位置に基づいて、前記合成パラメータを求めることを特徴とするプログラム。
In claim 1,
The control point calculator is
By the coordinate transformation using the coordinate transformation matrix used for the motion processing, the position of the control point is obtained,
The parameter calculator is
A program for obtaining the synthesis parameter based on the position of the control point obtained by coordinate transformation.
請求項2において、
前記制御点演算部は、
座標変換マトリクスを用いた座標変換により、前記制御点のワールド座標系での位置を求め、
前記パラメータ演算部は、
前記制御点のワールド座標系での位置に基づいて、前記合成パラメータを求めることを特徴とするプログラム。
In claim 2,
The control point calculator is
By coordinate transformation using a coordinate transformation matrix, the position of the control point in the world coordinate system is obtained,
The parameter calculator is
A program for obtaining the synthesis parameter based on a position of the control point in the world coordinate system.
請求項2において、
前記制御点演算部は、
モデルオブジェクトのスケルトンが複数の骨及び複数の関節により構成される場合に、座標変換マトリクスを用いた座標変換により、前記複数の関節のうちの所与の関節に対する前記制御点の相対的な位置を求め、
前記パラメータ演算部は、
前記所与の関節に対する前記制御点の相対的な位置に基づいて、前記合成パラメータを求めることを特徴とするプログラム。
In claim 2,
The control point calculator is
When the skeleton of the model object is composed of a plurality of bones and a plurality of joints, the relative position of the control point with respect to a given joint among the plurality of joints is obtained by coordinate transformation using a coordinate transformation matrix. Seeking
The parameter calculator is
A program for obtaining the synthesis parameter based on a relative position of the control point with respect to the given joint.
請求項1乃至4のいずれかにおいて、
モデルオブジェクトに対してしわ表現のための第1、第2の制御点が設定され、
前記パラメータ演算部は、
前記第1、第2の制御点の位置に基づいて、前記合成パラメータを求めることを特徴とするプログラム。
In any one of Claims 1 thru | or 4,
First and second control points for wrinkle expression are set for the model object,
The parameter calculator is
A program for obtaining the synthesis parameter based on the positions of the first and second control points.
請求項5において、
前記パラメータ演算部は、
前記第1の制御点と他の制御点又は基準点との第1の距離と、前記第2の制御点と他の制御点又は基準点との第2の距離を求め、求められた前記第1、第2の距離に基づいて前記合成パラメータを求めることを特徴とするプログラム。
In claim 5,
The parameter calculator is
A first distance between the first control point and another control point or reference point and a second distance between the second control point and another control point or reference point are obtained, and the obtained first distance is obtained. 1. A program for obtaining the synthesis parameter based on a first distance and a second distance.
請求項6において、
前記パラメータ演算部は、
前記第1、第2の距離の比に応じて変化する前記合成パラメータを求めることを特徴とするプログラム。
In claim 6,
The parameter calculator is
A program for obtaining the synthesis parameter that changes in accordance with a ratio of the first and second distances.
請求項1乃至7のいずれかにおいて、
モデルオブジェクトのスケルトンが複数の骨及び複数の関節により構成される場合に、前記複数の関節のうちの所与の関節の前側に前側制御点が設定され、前記所与の関節の後ろ側に後ろ側制御点が設定され、
前記制御点演算部は、
モデルオブジェクトのモーションの変化によりその位置が変化する前記前側制御点の位置と前記後ろ側制御点の位置を求め、
前記パラメータ演算部は、
前記前側制御点に基づいて第1の合成パラメータを求め、前記後ろ側制御点に基づいて第2の合成パラメータを求め、
前記画像生成部は、
求められた前記第1の合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトの前側面にマッピングすることで、モデルオブジェクトの前側面におけるしわ画像を生成し、求められた前記第2の合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトの後ろ側面にマッピングすることで、モデルオブジェクトの後ろ側面におけるしわ画像を生成することを特徴とするプログラム。
In any one of Claims 1 thru | or 7,
When the skeleton of the model object is composed of a plurality of bones and a plurality of joints, an anterior control point is set on the front side of a given joint among the plurality of joints, and a rear side is placed on the back side of the given joint. Side control point is set,
The control point calculator is
Find the position of the front control point and the position of the rear control point whose position changes due to the change in the motion of the model object,
The parameter calculator is
Determining a first composite parameter based on the front control point, determining a second composite parameter based on the back control point;
The image generation unit
A plurality of wrinkle expressing textures are synthesized according to the obtained first synthesis parameter, and the obtained synthesized texture is mapped to the front side of the model object to generate a wrinkle image on the front side of the model object. In addition, a plurality of wrinkle expressing textures are synthesized by the second synthesis parameter, and the resultant synthesized texture is mapped to the back side of the model object, thereby generating a wrinkle image on the back side of the model object. program.
請求項1乃至8のいずれかにおいて、
前記しわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標を設定するテクスチャ座標設定部として、
コンピュータを機能させ、
前記テクスチャ記憶部は、
前記しわ表現テクスチャを、第1、第2、第3のテクスチャ座標でテクセル値がフェッチされるボリュームテクスチャとして記憶し、
前記テクスチャ座標設定部は、
前記合成パラメータに基づいて、ボリュームテクスチャの前記第3のテクスチャ座標を設定し、
前記画像生成部は、
前記第1、第2、第3のテクスチャ座標に基づいて、しわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングする処理を行うことを特徴とするプログラム。
In any one of Claims 1 thru | or 8.
As a texture coordinate setting unit for setting a texture coordinate for fetching the texel value of the wrinkle expression texture,
Make the computer work,
The texture storage unit
Storing the wrinkle representation texture as a volume texture from which texel values are fetched at the first, second, and third texture coordinates;
The texture coordinate setting unit
Based on the synthesis parameter, set the third texture coordinate of the volume texture;
The image generation unit
A program for performing a process of mapping a wrinkle expression texture as a volume texture to a model object based on the first, second, and third texture coordinates.
画像を生成するためのプログラムであって、
モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶するテクスチャ記憶部と、
前記しわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標を設定するテクスチャ座標設定部と、
複数のしわ表現テクスチャの合成パラメータを求めるパラメータ演算部と、
モデルオブジェクトのしわ画像を生成する画像生成部として、
コンピュータを機能させ、
前記テクスチャ記憶部は、
前記しわ表現テクスチャを、第1、第2、第3のテクスチャ座標でテクセル値がフェッチされるボリュームテクスチャとして記憶し、
前記テクスチャ座標設定部は、
前記合成パラメータに基づいて、ボリュームテクスチャの前記第3のテクスチャ座標を設定し、
前記画像生成部は、
前記第1、第2、第3のテクスチャ座標に基づいて、しわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングする処理を行うことを特徴とするプログラム。
A program for generating an image,
A texture storage unit for storing a plurality of wrinkle expressing textures, each of which is a texture for expressing wrinkles on the surface of the model object, the texture pattern of which is different;
A texture coordinate setting unit for setting a texture coordinate for fetching a texel value of the wrinkle expression texture;
A parameter calculation unit for obtaining a composite parameter of a plurality of wrinkle expression textures;
As an image generator that generates wrinkled images of model objects,
Make the computer work,
The texture storage unit
Storing the wrinkle representation texture as a volume texture from which texel values are fetched at the first, second and third texture coordinates;
The texture coordinate setting unit
Based on the synthesis parameter, set the third texture coordinate of the volume texture;
The image generation unit
A program for performing a process of mapping a wrinkle expression texture as a volume texture to a model object based on the first, second, and third texture coordinates.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至10のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the program according to any one of claims 1 to 10 is stored. 画像を生成する画像生成システムであって、
しわ表現のための少なくとも1つの制御点が設定されるモデルオブジェクトのモーション処理を行うモーション処理部と、
モデルオブジェクトのモーションの変化によりその位置が変化する前記制御点の位置を求める制御点演算部と、
モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶するテクスチャ記憶部と、
前記制御点に基づいて、複数のしわ表現テクスチャの合成パラメータを求めるパラメータ演算部と、
求められた前記合成パラメータにより複数のしわ表現テクスチャを合成し、得られた合成テクスチャをモデルオブジェクトにマッピングすることで、モデルオブジェクトのしわ画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
An image generation system for generating an image,
A motion processing unit that performs motion processing of a model object in which at least one control point for wrinkle expression is set;
A control point calculation unit for obtaining a position of the control point whose position changes due to a change in motion of the model object;
A texture storage unit for storing a plurality of wrinkle expressing textures having different texture patterns, which are textures for expressing the wrinkles on the surface of the model object;
Based on the control point, a parameter calculation unit for obtaining a composite parameter of a plurality of wrinkle expression textures;
An image generation unit that generates a wrinkle image of the model object by synthesizing a plurality of wrinkle expression textures according to the obtained synthesis parameter and mapping the obtained synthetic texture to the model object;
An image generation system comprising:
画像を生成する画像生成システムであって、
モデルオブジェクトの表面のしわを表現するためのテクスチャであって、そのテクスチャパターンが異なる複数のしわ表現テクスチャを記憶するテクスチャ記憶部と、
前記しわ表現テクスチャのテクセル値をフェッチするためのテクスチャ座標を設定するテクスチャ座標設定部と、
複数のしわ表現テクスチャの合成パラメータを求めるパラメータ演算部と、
モデルオブジェクトのしわ画像を生成する画像生成部とを含み、
前記テクスチャ記憶部は、
前記しわ表現テクスチャを、第1、第2、第3のテクスチャ座標でテクセル値がフェッチされるボリュームテクスチャとして記憶し、
前記テクスチャ座標設定部は、
前記合成パラメータに基づいて、ボリュームテクスチャの前記第3のテクスチャ座標を設定し、
前記画像生成部は、
前記第1、第2、第3のテクスチャ座標に基づいて、しわ表現テクスチャをボリュームテクスチャとしてモデルオブジェクトにマッピングする処理を行うことを特徴とする画像生成システム。
An image generation system for generating an image,
A texture storage unit for storing a plurality of wrinkle expressing textures, each of which is a texture for expressing wrinkles on the surface of the model object, the texture pattern of which is different;
A texture coordinate setting unit for setting a texture coordinate for fetching a texel value of the wrinkle expression texture;
A parameter calculation unit for obtaining a composite parameter of a plurality of wrinkle expression textures;
An image generation unit that generates a wrinkle image of the model object,
The texture storage unit
Storing the wrinkle representation texture as a volume texture from which texel values are fetched at the first, second and third texture coordinates;
The texture coordinate setting unit
Based on the synthesis parameter, set the third texture coordinate of the volume texture;
The image generation unit
An image generation system that performs a process of mapping a wrinkle expression texture as a volume texture to a model object based on the first, second, and third texture coordinates.
JP2006094628A 2006-03-30 2006-03-30 Program, information storage medium, and image generation system Active JP4786389B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006094628A JP4786389B2 (en) 2006-03-30 2006-03-30 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006094628A JP4786389B2 (en) 2006-03-30 2006-03-30 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2007272355A true JP2007272355A (en) 2007-10-18
JP4786389B2 JP4786389B2 (en) 2011-10-05

Family

ID=38675127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006094628A Active JP4786389B2 (en) 2006-03-30 2006-03-30 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP4786389B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6457603B1 (en) * 2017-09-20 2019-01-23 株式会社スクウェア・エニックス Image processing program, image processing apparatus, and image processing method
CN111009025A (en) * 2019-12-06 2020-04-14 北京金山安全软件有限公司 Skeleton animation hiding method, device and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304638A (en) * 2001-04-03 2002-10-18 Atr Ningen Joho Tsushin Kenkyusho:Kk Device and method for generating expression animation
JP2004283419A (en) * 2003-03-24 2004-10-14 Namco Ltd Game information, information storage medium and game device
JP2005063078A (en) * 2003-08-11 2005-03-10 Intec Web & Genome Informatics Corp Method for generating image of varying age and method for generating image of smoothed skin

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304638A (en) * 2001-04-03 2002-10-18 Atr Ningen Joho Tsushin Kenkyusho:Kk Device and method for generating expression animation
JP2004283419A (en) * 2003-03-24 2004-10-14 Namco Ltd Game information, information storage medium and game device
JP2005063078A (en) * 2003-08-11 2005-03-10 Intec Web & Genome Informatics Corp Method for generating image of varying age and method for generating image of smoothed skin

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6457603B1 (en) * 2017-09-20 2019-01-23 株式会社スクウェア・エニックス Image processing program, image processing apparatus, and image processing method
JP2019057079A (en) * 2017-09-20 2019-04-11 株式会社スクウェア・エニックス Image processing program, image processing device, and image processing method
CN111009025A (en) * 2019-12-06 2020-04-14 北京金山安全软件有限公司 Skeleton animation hiding method, device and equipment
CN111009025B (en) * 2019-12-06 2024-01-19 北京金山猎豹科技有限公司 Bone animation hiding method, device and equipment

Also Published As

Publication number Publication date
JP4786389B2 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
JP4668655B2 (en) Program, information storage medium, and image generation system
JP2010033298A (en) Program, information storage medium, and image generation system
JP4079410B2 (en) Image generation system, program, and information storage medium
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP3748451B1 (en) Program, information storage medium, and image generation system
JP2008033522A (en) Program, information storage medium and image generation system
JP2007164557A (en) Program, information recording medium and image generation system
JP2005032140A (en) Image generation system, program, and information storage medium
JP3760341B2 (en) Program, recording medium, image generation apparatus, and image generation method
JP4749198B2 (en) Program, information storage medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4786389B2 (en) Program, information storage medium, and image generation system
JP2006252426A (en) Program, information storage medium, and image generation system
JP2001229403A (en) Game system and information storage medium
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4662260B2 (en) Program, information storage medium, and image generation system
JP4707078B2 (en) Image generation system, program, and information storage medium
JP2007272388A (en) Program, information storage medium and image generation system
JP4229317B2 (en) Image generation system, program, and information storage medium
JP2011095935A (en) Program, information storage medium, and image generation system
JP4574058B2 (en) Image generation system, program, and information storage medium
JP2010033288A (en) Image generation system, program and information storage medium
JP4229316B2 (en) Image generation system, program, and information storage medium
JP2011215724A (en) Program, information storage medium, and image generation system
JP4159060B2 (en) Image generating apparatus 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: 20090312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4786389

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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