JP4287479B2 - Image generating apparatus, image generating method, and program - Google Patents

Image generating apparatus, image generating method, and program Download PDF

Info

Publication number
JP4287479B2
JP4287479B2 JP2007018841A JP2007018841A JP4287479B2 JP 4287479 B2 JP4287479 B2 JP 4287479B2 JP 2007018841 A JP2007018841 A JP 2007018841A JP 2007018841 A JP2007018841 A JP 2007018841A JP 4287479 B2 JP4287479 B2 JP 4287479B2
Authority
JP
Japan
Prior art keywords
control
bone
fixed
type
bones
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007018841A
Other languages
Japanese (ja)
Other versions
JP2008186219A (en
Inventor
伸介 向井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2007018841A priority Critical patent/JP4287479B2/en
Publication of JP2008186219A publication Critical patent/JP2008186219A/en
Application granted granted Critical
Publication of JP4287479B2 publication Critical patent/JP4287479B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

本発明は、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムに関する。   The present invention provides an image generation apparatus, an image generation method, and an image generation apparatus suitable for generating an image in which eyes and mouth open and close in a character's head placed in a virtual space using a drawing method widely used in animation. The present invention relates to a program realized by a computer.

従来から、コンピュータグラフィックス(Computer Graphics;CG)において人物や動物などのキャラクターを表現する際に、その骨格をボーンという線分オブジェクトで抽象化し、各ボーンの回りにボーンに対して位置が固定される点の位置によって、皮膚の形状を抽象化したスキンの形状を求めて、頭部の形状を表す技術が提案されている。すなわち、ボーンは、キャラクターのおおまかな姿勢や形状を決めるものであり、スキンは、キャラクターの表面形状・外観形状に相当するものである。   Conventionally, when representing characters such as humans and animals in computer graphics (CG), the skeleton is abstracted with a line segment object called a bone, and the position of the bone around each bone is fixed. There has been proposed a technique for obtaining the shape of the skin by obtaining the skin shape by abstracting the shape of the skin according to the position of the points. That is, the bone determines the general posture and shape of the character, and the skin corresponds to the surface shape and appearance shape of the character.

制御点は、いずれかのボーンに対してその相対的な位置が固定されている。したがって、制御点と、当該制御点が固定されるボーンとの距離は一定である。そして、仮想空間内において制御点の位置を変化させたい場合には、ボーンの姿勢を変化させ、この変化に連動させることによって行う。   The relative position of the control point is fixed with respect to any bone. Therefore, the distance between the control point and the bone to which the control point is fixed is constant. If the position of the control point is to be changed in the virtual space, the posture of the bone is changed and linked to this change.

このほか、あるボーンの周囲において、ボーンと制御点との距離を一定に保ったまま制御点を移動させる処理も、座標系の回転による計算によって容易に行うことができる。   In addition, the process of moving the control point around a certain bone while keeping the distance between the bone and the control point constant can be easily performed by calculation by rotation of the coordinate system.

このようなボーン、制御点、スキンに基づくコンピュータ・グラフィックスの技術は、以下の文献に開示されている。
Tim Coleman,Sherri Sheridan著、デジタル・スタジオ飜訳、目指せプロアニメータ Mayaキャラクタアニメーション、255頁〜277頁、株式会社ボーンデジタル、2002年4月25日発行、(原書: Nathan Vogel,Sherri Sheridan,Tim Coleman,and Nathan Nogel, MAYA 2 CHARACTER ANIMATION, ISBN:0735708665, New Riders Publishing, pp.431-433,Dec 1999)
Computer graphics techniques based on such bones, control points, and skins are disclosed in the following documents.
Tim Coleman, Sherri Sheridan, Digital Studio Translation, Aiming Pro-Animator Maya Character Animation, pages 255-277, Born Digital, Inc., April 25, 2002 (Original: Nathan Vogel, Sherri Sheridan, Tim Coleman , And Nathan Nogel, MAYA 2 CHARACTER ANIMATION, ISBN: 0735708665, New Riders Publishing, pp.431-433, Dec 1999)

[非特許文献1]では、キャラクターの頭部に配置された目、鼻、口などのオブジェクトの形状を変化させて、キャラクターの表情を変化させる技術が開示されている。   [Non-Patent Document 1] discloses a technique for changing the facial expression of a character by changing the shape of an object such as an eye, nose, or mouth arranged on the head of the character.

この際には、目や口を開閉させる骨やその骨に付随する筋肉に相当する機能をボーンが担う。開閉される目蓋や唇に対応付けられるボーンの姿勢を変化させることで、そのボーンに固定される目蓋や唇の制御点の位置を変化させて、目や口を開閉させるのである。   At this time, the bone has a function corresponding to the bone that opens and closes the eyes and mouth and the muscles associated with the bone. By changing the posture of the bone associated with the eyelid and lips to be opened and closed, the position of the control point of the eyelid and lips fixed to the bone is changed to open and close the eyes and mouth.

ここで、海外制作のアニメーションでは、[非特許文献1]にも開示されるように、顔、目、口の形状を大袈裟に変形させることが多い。   Here, in the animation produced overseas, as disclosed in [Non-Patent Document 1], the shape of the face, eyes, and mouth is often largely deformed.

一方で、特に日本のアニメーションにおけるキャラクターの描法には、独特の特徴がある。すなわち、目や口といった顔の皮膚に設けられる開孔を開閉させる場合には、顔の全体形状は変化させず、目や口の形状のみを変化させる「目パチ」「口パク」と呼ばれる手法である。   On the other hand, character drawing in Japanese animation, in particular, has unique characteristics. In other words, when opening and closing the openings in the skin of the face, such as the eyes and mouth, a technique called “eye patch” or “mouth patch” that changes only the shape of the eyes and mouth without changing the overall shape of the face It is.

本手法は、アニメーションにおける動画の枚数をできるだけ減らすために、顔全体の形状を表すセル画に目や口の形状のみを変化させたセル画を重ねて撮影することとしたことから始まるものであるが、シンプルであるが故に技術を要し、奥が深い描法であることから、日本独自の文化を表す表現手法の一つとして、世界に広く認められるようになっている。   In order to reduce the number of animations in the animation as much as possible, this method starts by superimposing a cell image that changes the shape of the eyes and mouth on a cell image that represents the shape of the entire face. However, because it is simple, it requires technology and is a profound drawing method, so it has been widely recognized throughout the world as an expression method that represents Japan's unique culture.

ボーン、制御点、スキンの組み合わせによる技術は、3次元グラフィックスの分野で広く用いられており、各種のライブラリやハードウェアも提供されているため、仮想空間に配置されたオブジェクトとしてモデル化されたキャラクターをCG技術で画面に表示する際に、これらの技術をできるだけ利用することにより、処理の高速化を図りたい、という要望は強い。   The technology based on the combination of bones, control points, and skins is widely used in the field of 3D graphics, and various libraries and hardware are provided, so they were modeled as objects placed in virtual space. When displaying characters on the screen using CG technology, there is a strong demand for speeding up processing by using these technologies as much as possible.

しかしながら、上記のような日本独自のアニメーション表現に対して、従来のボーン、制御点、スキンの組み合わせによる技術を採用すると、目や口が顔の表面からずれてしまう、という問題が生じる。これは、日本独自の描法による目や口の動きは、現実の骨や関節や筋肉による動きを模したものではなく、独自の単純化がなされており、ボーンの姿勢に制御点の位置を連動させるだけでは対応ができないからである。   However, when the conventional technique using a combination of bones, control points, and skins is adopted for the above-mentioned Japanese original animation expression, there arises a problem that the eyes and mouth are displaced from the face surface. This is because the movements of the eyes and mouth in Japan's original drawing method do not imitate the movements of real bones, joints and muscles, but are uniquely simplified, and the position of the control point is linked to the posture of the bone This is because it is not possible to deal with it simply by making it happen.

そこで、上記のようなボーン、制御点、スキンの組み合わせによるグラフィックス技術を応用しつつ、日本独自の描法にも対応して、高速に処理を行う技術が強く望まれている。   Therefore, there is a strong demand for a technology that performs high-speed processing in response to Japan's original drawing method while applying graphics technology based on a combination of bones, control points, and skins as described above.

本発明は、上記のような課題を解決するもので、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。   The present invention solves the above-described problems, and is suitable for generating an image in which the eyes and mouth are opened and closed at the head of a character placed in a virtual space by a drawing method widely used in animation. It is an object of the present invention to provide a generation device, an image generation method, and a program that implements these on a computer.

以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。   In order to achieve the above object, the following invention is disclosed in accordance with the principle of the present invention.

本発明の第1の観点に係る画像生成装置は、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備え、以下のように構成する。   An image generation apparatus according to a first aspect of the present invention generates an image from a plurality of bones, a plurality of control points, and a control curved surface arranged in a virtual space, and stores a storage unit, an update unit, and an intersection position calculation unit The skin shape calculation unit and the generation unit are configured as follows.

すなわち、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第1種もしくは第2種のいずれかであり、当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第1種であるボーンのいずれかに対して、相対的な位置が固定される。   That is, each of the plurality of bones has a fixed length, its end point is connected to another bone, and each of the plurality of control points has a relative position with respect to any of the plurality of bones. The type is either the first type or the second type, and the control curved surface is a bone whose control points whose relative positions are fixed among the plurality of bones are all the first type. The relative position is fixed with respect to either of them.

ボーンおよび制御点を使用して、キャラクターの顔の形状などの画像を生成する手法は、従来から用いられている3次元グラフィックスの技術を適用することができる。   A technique for generating an image such as the shape of a character's face using bones and control points can be applied to a conventionally used 3D graphics technique.

本発明では、ボーンに対して制御点の位置が固定されており、制御点の位置を移動させる際には、ボーンの姿勢を変更する技術を前提とするが、これは、3次元グラフィックスの分野では広く用いられている技術であり、本技術に対する変更をできるだけ少なくすることで、既存の高速なグラフィックスハードウェアやライブラリを利用することができるようになる。   In the present invention, the position of the control point is fixed with respect to the bone, and when the position of the control point is moved, a technique for changing the posture of the bone is assumed. This technology is widely used in the field. By minimizing changes to this technology, existing high-speed graphics hardware and libraries can be used.

一方、制御曲面は、本発明特有の3次元グラフィックスの要素であり、いずれかのボーンにその相対的な位置が固定されている。   On the other hand, the control curved surface is an element of three-dimensional graphics unique to the present invention, and its relative position is fixed to any bone.

さらに、制御点には、第1種のものと第2種のものとがある。本発明がキャラクターの頭部の画像を生成する状況に適用される場合、第1種の制御点は、顔の中でほとんど動かない部位の形状を定めるためのものであり、第2種の制御点は、目蓋や唇など、顔の開孔付近の(第1種の制御点に制御される部分に比べて)動きが激しい部分の形状を定めるものである。   Further, the control points include a first type and a second type. When the present invention is applied to a situation where an image of a character's head is generated, the first type of control point is for determining the shape of a part that hardly moves in the face, and the second type of control point. The point defines the shape of a portion such as the eyelid or lip where the movement is intense (compared to the portion controlled by the first type of control point) near the opening of the face.

ここで、制御曲面が固定されるボーンに連動する制御点は、第1種のもののみである。したがって、制御曲面は、顔の中でほとんど動かないこととなる。   Here, the control points that are linked to the bone to which the control curved surface is fixed are only the first type. Therefore, the control curved surface hardly moves in the face.

一方、記憶部には、以下の情報が記憶される。
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報。
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報。
(c)当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報。
On the other hand, the storage unit stores the following information.
(A) Bone information indicating the relative posture of each of the plurality of bones with respect to other bones to which the end points are connected.
(B) Control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface.
(C) Control point information indicating the bone to which the relative position of the control point is fixed, the fixed relative position, and the type of the control point for each of the plurality of control points.

あるボーンAが他のボーンBに連結されている場合、ボーンBに固定されている座標系において、ボーンAの端点の位置は動かない。そこで、ボーンBに固定される座標系をどのように回転させれば、ボーンAに固定される座標系と同じ向きとなるか、の情報をボーン情報とする。   When a certain bone A is connected to another bone B, the position of the end point of the bone A does not move in the coordinate system fixed to the bone B. Therefore, information about how the coordinate system fixed to the bone B is rotated and the same orientation as the coordinate system fixed to the bone A is used as bone information.

本発明においては、ボーンの長さは固定されているから、ボーンBの先端にボーンAが連結されているものとすれば、ボーンBに固定される座標系におけるボーンAの端点の位置は自ずと定まる。たとえば、ボーンBの長さをLとし、ボーンBに固定されるx軸の方向をボーンBの長さ方向とすれば、ボーンBの先端(ボーンAの端点)の位置は、ボーンBに固定される座標系において、(L,0,0)となる。   In the present invention, since the length of the bone is fixed, if the bone A is connected to the tip of the bone B, the position of the end point of the bone A in the coordinate system fixed to the bone B is naturally. Determined. For example, if the length of bone B is L and the x-axis direction fixed to bone B is the length direction of bone B, the position of the tip of bone B (the end point of bone A) is fixed to bone B. (L, 0, 0) in the coordinate system.

制御点および曲面については、これらが固定されるボーンがいずれであるか、ならびに、当該ボーンに固定される座標系における位置を、制御曲面情報および制御点情報として記憶する。   As for control points and curved surfaces, the bones to which they are fixed and the positions in the coordinate system fixed to the bones are stored as control curved surface information and control point information.

制御点については、第1種か第2種かを区別できるようにしておく必要があるが、それぞれの制御点の情報を記憶する構造体に、制御点の種類を記憶するフラグ領域を用意しても良いし、当該構造体の配列を2つ用意し、一方は第1種の制御点用、他方は第2種の制御点用として、記憶する配列領域を区別して記憶することとしても良い。   Regarding the control points, it is necessary to distinguish between the first type and the second type, but a flag area for storing the type of the control point is prepared in the structure for storing the information of each control point. Alternatively, two arrangements of the structures may be prepared, one for the first type of control point and the other for the second type of control point. .

一方、更新部は、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報のそれぞれを更新する。   On the other hand, the update unit updates each of the bone information stored in the storage unit based on the passage of time or an instruction from the user.

たとえば、キャラクターの声の再生の経過時間に応じて唇の制御点が固定されたボーンを動かすように情報を更新することによって、キャラクターが発生する声に合わせて口を開閉させたり、一定時間を周期に目蓋の制御点が固定されたボーンを動かすように情報を更新することによってキャラクターにまばたきをさせることができる。このほか、ユーザがウィンクコマンドを出すことによって、キャラクターの目蓋を開閉させたり、ユーザが入力したチャットの文章の内容に応じてキャラクターの口を動かすことも可能である。   For example, by updating the information to move a bone with a fixed lip control point according to the elapsed time of playback of the character's voice, the mouth can be opened and closed according to the voice generated by the character, The character can be blinked by updating the information so as to move the bone whose eyelid control point is fixed in the cycle. In addition, when the user issues a wink command, the character's eyelid can be opened and closed, or the character's mouth can be moved according to the content of the chat text entered by the user.

一方、交点位置計算部は、当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。   On the other hand, the intersection position calculation unit, for each of the second type of control points, out of the plurality of control points, the second type of control from the bone where the relative position of the second type of control point is fixed. The position of the intersection point where the half line extending to the point intersects the control curved surface is calculated.

上記のように、第2種の制御点はボーンに連動して移動するため、当該ボーンの端点を中心とする球面上を移動可能範囲とする。一方、キャラクターの口や目の付近の形状は、この球面と合致しないことが殆どである。したがって、第2種の制御点の位置をそのまま唇や目蓋のスキン形状を決定する制御点とすると、口や目の付近が不自然に飛び出したり凹んだりするおそれがある。   As described above, since the second type of control point moves in conjunction with the bone, the movable range is set on the spherical surface centered on the end point of the bone. On the other hand, the shape in the vicinity of the character's mouth and eyes often does not match this spherical surface. Therefore, if the position of the second type control point is used as the control point for determining the skin shape of the lips and the eyelids as it is, the vicinity of the mouth and eyes may be unnaturally projected or recessed.

制御曲面は、このような凹凸を防止するためのもので、口付近の基本形状や目付記の基本形状を近似するもので、このために、ほとんど動かないボーンに固定されている。そして、第2種の制御点の位置をそのまま利用してスキンを作るかわりに、ボーンから第2種の制御点へ伸びる半直線が制御曲面と交差する交点の位置を採用するのである。   The control curved surface is for preventing such unevenness, and approximates the basic shape near the mouth or the basic shape of the mesh, and is fixed to a bone that hardly moves. Then, instead of using the position of the second type control point as it is to create a skin, the position of the intersection point where the half line extending from the bone to the second type control point intersects the control curved surface is adopted.

さらに、スキン形状計算部は、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する。   Further, the skin shape calculation unit calculates the shape of the skin from the positions of the first type control points and the calculated positions of the intersections among the plurality of control points.

上記のように、第1種の制御点は、キャラクターの顔の形状であまり動かない部分の形状を定め、交点は、キャラクターの顔の表面(を近似する制御曲面)を移動して口や目の形状を定める。このため、口や目の付近が不自然に飛び出したり凹んだりする問題を防止することができる。   As described above, the first type of control point defines the shape of the character's face that does not move much, and the intersection moves on the character's face (approximate control surface) to move the mouth and eyes. Define the shape. For this reason, it is possible to prevent a problem that the vicinity of the mouth and eyes are unnaturally projected or recessed.

そして、生成部は、計算されたスキンの形状を所定の視点から見た画像を生成する。   The generation unit generates an image obtained by viewing the calculated skin shape from a predetermined viewpoint.

生成部による画像生成の処理には、広く利用されている3次元コンピュータグラフィックスの処理を適用することが可能である。   Widely used three-dimensional computer graphics processing can be applied to the image generation processing by the generation unit.

本発明によれば、端点を中心とするボーンの姿勢の回転に連動して制御点の位置を変更する処理を前提とするコンピュータグラフィックス処理において、一部の制御点(第2種の制御点)について、当該第2種の制御点をスキン形状の決定に用いるのではなく、当該第2種の制御点が固定されるボーンから当該第2種の制御点へ伸びる半直線がいずれかのボーンに連動して位置を変更する制御曲面と交差する交点をかわりに、スキン形状の決定に用いることで、たとえば仮想空間に配置されたキャラクターの目や口が開閉する様子をあらわす画像を、アニメーションで広く用いられている描法で生成することができるようになる。   According to the present invention, in the computer graphics processing based on the processing for changing the position of the control point in conjunction with the rotation of the posture of the bone around the end point, some control points (second type control points) ), The second type control point is not used for determining the skin shape, but a half line extending from the bone to which the second type control point is fixed to the second type control point is any bone. Instead of using an intersection that intersects a control surface that changes its position in conjunction with the image, it can be used to determine the skin shape, for example, an image that shows how the eyes and mouth of a character placed in the virtual space open and close It can be generated by a widely used drawing method.

また、本発明のその他の観点に係る画像生成装置は、複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備え、以下のように構成する。   An image generation apparatus according to another aspect of the present invention generates an image from a plurality of bones, a plurality of control points, and a control curved surface, and stores a storage unit, an update unit, an intersection position calculation unit, and a skin shape calculation unit. The generator is provided and configured as follows.

ここで、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のうち、第1種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第2種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定される。   Here, each of the plurality of bones has a fixed length, and its end point is connected to another bone, and among the plurality of control points, each of the first type control points is the plurality of the plurality of bones. The relative position with respect to any of the bones is fixed, the relative distance to each of the plurality of bones is fixed for each of the second type control points, and the control curved surface is The relative position is fixed.

上記の発明では、どの制御点も、いずれかのボーンに固定されており、ボーンがその端点を中心に回転して姿勢を変化させると、それに連動して位置を変更するものとしていたが、本発明では、第2種の制御点は、いずれかのボーンを基準として、当該ボーンから距離一定で回転するように位置を変更する点が異なる。   In the above invention, any control point is fixed to one of the bones, and when the bone rotates around its end point and changes its posture, the position changes in conjunction with it. In the invention, the second type control point is different in that the position is changed so that the second type control point rotates with a constant distance from the bone with reference to any bone.

すなわち、本発明は、上記発明において、第2種の制御点のそれぞれについて、当該第2種の制御点のみが固定されるボーンが1つ用意されているのと同等の構成と考えることができる。   In other words, the present invention can be considered to have the same configuration as that in the above-described invention, for each of the second type control points, one bone to which only the second type control points are fixed is prepared. .

一方、記憶部は、以下の情報を記憶する。
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のうち、第1種の制御点のそれぞれについて、当該第1種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第1種の制御点情報と、
(d)当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第2種の制御点情報。
On the other hand, the storage unit stores the following information.
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) Among each of the plurality of control points, for each of the first type control points, a bone to which the relative position of the first type control point is fixed, the fixed relative position, Control point information of the first type indicating
(D) Among each of the plurality of control points, for each of the second type control points, a bone in which the relative distance of the second type control point is fixed, and a relative position with respect to the bone Second type control point information to be shown.

上記発明と同様であるが、第1種の制御点情報と第2種の制御点情報とが区別されており、第2種の制御点情報については、当該第2種の制御点が一定の距離を保つボーンに関する情報が記憶されている点が異なる。   Although it is the same as that of the said invention, 1st type control point information and 2nd type control point information are distinguished, About the 2nd type control point information, the said 2nd type control point information is constant. The difference is that information about bones that maintain distance is stored.

さらに、更新部は、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報に指定される姿勢、および、第2種の制御点情報に指定される相対的な位置のそれぞれを更新する。   Furthermore, the update unit, based on the passage of time or the instruction from the user, the posture specified in the bone information stored in the storage unit and the relative position specified in the second type control point information. Update each one.

上記発明では、ボーン情報を更新することによって制御点の位置が変化されることとなっていたが、本発明では、第2種の制御点については、直接位置を変更するような処理を行う必要があるため、当該処理が追加されている。なお、この場合においても、第2種の制御点と、これに対する基準となるボーンの距離は一定である。   In the above invention, the position of the control point is changed by updating the bone information. However, in the present invention, it is necessary to perform a process for directly changing the position of the second type control point. This process has been added. Even in this case, the distance between the second type control point and the bone serving as a reference for this is constant.

さらに、交点位置計算部は、当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算し、スキン形状計算部は、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算し、生成部は、計算されたスキンの形状を所定の視点から見た画像を生成する。   Further, the intersection position calculation unit, for each of the second type of control points, out of the plurality of control points, controls the second type of control from the bone to which the relative position of the second type of control point is fixed. The half line extending to the point calculates the position of the intersection where the control curved surface intersects, and the skin shape calculation unit calculates the position of each of the first type control points and the calculated intersection of the plurality of control points. The shape of the skin is calculated from each of the positions, and the generation unit generates an image in which the calculated shape of the skin is viewed from a predetermined viewpoint.

これら各部において実行される処理は、上記発明と同様である。   The processes executed in these units are the same as in the above invention.

本発明は上記発明の変形例に相当するもの、もしくは、上記発明において、第2種の制御点が固定されるボーンを他と重複しないようにし、当該第2種の制御点と当該ボーンとをまとめて「'第2種の制御点」として考えた発明に相当するものであり、仮想空間に配置されたキャラクターの目や口が開閉する様子をあらわす画像を、アニメーションで広く用いられている描法で生成することができるようになる。   The present invention corresponds to a modification of the above invention, or in the above invention, the second type control point is fixed so as not to overlap with other bones, and the second type control point and the bone are combined. A drawing method widely used in animation, which is an image that represents the opening and closing of the eyes and mouth of a character placed in a virtual space. Can be generated with.

また、本発明の画像生成装置において、当該複数のボーンは、仮想空間に配置されるキャラクターの頭部の姿勢を定め、当該複数のボーンのそれぞれの姿勢が所定の基準姿勢にあるときの当該複数の制御点は、当該キャラクターの頭部の基準形状を定め、当該交点のそれぞれは、当該キャラクターの頭部において変形する口または目の形状を定め、当該制御曲面は、当該キャラクターの頭部の基準形状のうち口または目の近傍の形状を近似するように構成することができる。   In the image generation device of the present invention, the plurality of bones define the posture of the head of the character arranged in the virtual space, and the plurality of bones when the postures of the plurality of bones are at a predetermined reference posture. The control points define the reference shape of the character's head, each of the intersections defines the mouth or eye shape that deforms in the character's head, and the control curved surface is the reference of the character's head Of the shapes, it can be configured to approximate the shape near the mouth or eyes.

本発明は上記発明の好適実施形態に係るもので、ボーンの姿勢が基準姿勢(典型的にはキャラクターが直立し、口を閉じ、目を開けた状態)にあるときの第1種および第2種の制御点の位置によって、キャラクターの頭部の基本的なスキン形状(基準形状)が定められ、当該基準形状に基づいて制御曲面を定める。   The present invention relates to a preferred embodiment of the above-described invention, and the first and second types when the posture of the bone is in the reference posture (typically the character is upright, the mouth is closed, and the eyes are opened). The basic skin shape (reference shape) of the character's head is determined by the positions of the various control points, and the control curved surface is determined based on the reference shape.

したがって、本発明によれば、キャラクターの口や目の開閉の際に口や目の近傍に不自然な凹凸が生じないようにすることができるようになる。   Therefore, according to the present invention, it is possible to prevent an unnatural unevenness from occurring in the vicinity of the mouth and eyes when the mouth and eyes of the character are opened and closed.

また、本発明の画像生成装置において、当該制御曲面は、NURBS(Non Uniform Rational B Spline)曲面であり、当該交点位置計算部は、ニュートン・ラフソン法により、当該交点の位置を計算するように構成することができる。   In the image generating apparatus of the present invention, the control curved surface is a NURBS (Non Uniform Rational B Spline) curved surface, and the intersection position calculation unit is configured to calculate the position of the intersection by the Newton-Raphson method. can do.

本発明においては、制御曲面として、3次元コンピュータグラフィックスの分野で広く用いられるNURBS曲面を採用するが、当該NURBS曲面の形状は2つのパラメータに基づく多次多項式によって表される。したがって、半直線との交点を求める問題は、一般には、解析的に解くことが不可能である。   In the present invention, a NURBS surface widely used in the field of three-dimensional computer graphics is adopted as the control surface, and the shape of the NURBS surface is represented by a multi-degree polynomial based on two parameters. Therefore, in general, the problem of obtaining the intersection with the half line cannot be solved analytically.

一方で、ニュートン・ラフソン法には、初期値によって収束する解が異なったり、重根を求めることが難しい場合がある等の問題があるが、当該半直線と制御曲面とは、1つの交点を有するように設定されているものであり、これらの問題は交点を求める上で何らの障害とはならない。そこで、計算の収束が高速であるニュートン・ラフソン法を適用するものである。   On the other hand, the Newton-Raphson method has problems such as the solution that converges depending on the initial value, and there are cases where it is difficult to obtain multiple roots, but the half line and the control surface have one intersection. These problems do not pose any obstacle to finding the intersection. Therefore, the Newton-Raphson method, which has a fast calculation convergence, is applied.

本発明によれば、制御曲面の形状をNURBS曲面によって自然にキャラクター等の顔の形状に沿うように定義することができる一方で、高速に交点の位置を求めることができるようになる。   According to the present invention, the shape of the control curved surface can be defined by the NURBS curved surface so as to naturally follow the shape of the face of a character or the like, while the position of the intersection can be obtained at high speed.

また、本発明の画像生成装置において、当該制御曲面は、2次曲面、平面、もしくは、多面体の表面であり、当該交点位置計算部は、当該半直線に含まれる座標を表す1次式を、当該制御曲面を表す2次以下の式に代入して得られる2次以下の方程式を解くことにより、当該交点の位置を計算するように構成することができる。   In the image generating apparatus of the present invention, the control curved surface is a quadratic curved surface, a plane, or the surface of a polyhedron, and the intersection position calculation unit calculates a linear expression representing coordinates included in the half line, The position of the intersection can be calculated by solving a quadratic or lower equation obtained by substituting it into a quadratic or lower equation representing the control curved surface.

上記の発明では、NURBS曲面によって制御曲面を定義したが、本発明では、球面、双曲面、放物面およびこれらを各軸方向へ適宜拡大縮小したものや、平面や、ポリゴンの集合体により表現することが可能である多角形の表面により制御曲面を定義する。   In the above invention, the control curved surface is defined by the NURBS curved surface. However, in the present invention, the spherical surface, the hyperboloid surface, the paraboloid surface, and those appropriately enlarged or reduced in each axial direction, expressed by a plane or a collection of polygons. The control surface is defined by a polygonal surface that can be used.

上記のような2次曲面、平面、多角形の表面は、いずれも、制御曲面の形状を、各座標を用いた2次以下の多項式によって表現することができる。   The quadric surface, the plane, and the polygonal surface as described above can express the shape of the control curved surface by a quadratic or lower polynomial using each coordinate.

一方で、半直線は、1次多項式によって表現することが可能であるから、交点の位置の計算は、2次方程式を解くことに帰着され、解の公式により解析的に解くことが可能である。   On the other hand, since the half-line can be expressed by a first-order polynomial, the calculation of the position of the intersection can be reduced to solving a quadratic equation and can be solved analytically by a solution formula. .

本発明によれば、制御曲面の形状を2次曲面、平面、多角形の表面によって自然にキャラクター等の顔の形状に沿うように定義することができる一方で、高速に交点の位置を求めることができるようになる。   According to the present invention, the shape of the control curved surface can be defined so as to naturally follow the shape of the face of a character or the like by a quadratic curved surface, a plane, or a polygonal surface, while obtaining the position of the intersection at high speed. Will be able to.

また、本発明の画像生成装置において、計算されるスキンは、当該第1種制御点と、当該交点と、を頂点とする多角形の集合体であるように構成することができる。   In the image generating apparatus of the present invention, the calculated skin can be configured to be a polygonal aggregate having the first type control point and the intersection as vertices.

また、本発明の画像生成装置において、計算されるスキンは、当該第1種制御点と、当該交点と、を制御点とするNURBS(Non Uniform Rational B Spline)曲面であるように構成することができる。   In the image generating apparatus of the present invention, the calculated skin may be configured to be a NURBS (Non Uniform Rational B Spline) curved surface having the first type control point and the intersection as control points. it can.

これらの発明は、上記発明の好適実施形態に係るもので、本発明によれば、キャラクターの顔の形状をポリゴンやNURBS曲面によって、自然な形状で表現することができるようになる。   These inventions relate to preferred embodiments of the invention described above, and according to the present invention, the shape of a character's face can be expressed in a natural shape by a polygon or a NURBS curved surface.

本発明のその他の観点に係る画像生成方法は、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、更新工程、交点位置計算工程、スキン計算工程、生成工程を備え、以下のように構成する。   An image generation method according to another aspect of the present invention is executed by an image generation apparatus including a storage unit, an update unit, an intersection position calculation unit, a skin shape calculation unit, and a generation unit, and a plurality of bones arranged in a virtual space An image is generated from a plurality of control points and a control curved surface, and includes an update process, an intersection position calculation process, a skin calculation process, and a generation process, and is configured as follows.

すなわち、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第1種もしくは第2種のいずれかであり、当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第1種であるボーンのいずれかに対して、相対的な位置が固定される。   That is, each of the plurality of bones has a fixed length, its end point is connected to another bone, and each of the plurality of control points has a relative position with respect to any of the plurality of bones. The type is either the first type or the second type, and the control curved surface is a bone whose control points whose relative positions are fixed among the plurality of bones are all the first type. The relative position is fixed with respect to either of them.

一方、記憶部には、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
が記憶される。
On the other hand, the storage unit
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) For each of the plurality of control points, control point information indicating the bone to which the relative position of the control point is fixed, the fixed relative position, and the type of the control point, ,
Is memorized.

さらに、更新工程では、更新部が、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報のそれぞれを更新する。   Furthermore, in the update process, the update unit updates each of the bone information stored in the storage unit based on the passage of time or an instruction from the user.

そして、交点位置計算工程では、交点位置計算部が、当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。   Then, in the intersection position calculation step, the intersection position calculation unit starts from the bone in which the relative position of the second type control point is fixed for each of the second type control points among the plurality of control points. The position of the intersection where the half line extending to the second type of control point intersects the control curved surface is calculated.

一方、スキン形状計算工程では、スキン形状計算部が、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する。   On the other hand, in the skin shape calculation step, the skin shape calculation unit calculates the shape of the skin from the positions of the first type control points and the calculated positions of the intersections among the plurality of control points. calculate.

さらに、生成工程では、生成部が、計算されたスキンの形状を所定の視点から見た画像を生成する。   Further, in the generation step, the generation unit generates an image obtained by viewing the calculated skin shape from a predetermined viewpoint.

また、本発明の画像生成方法は、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、更新工程、交点位置計算工程、スキン計算工程、生成工程を備え、以下のように構成する。   The image generation method of the present invention is executed by an image generation apparatus including a storage unit, an update unit, an intersection position calculation unit, a skin shape calculation unit, and a generation unit, and includes a plurality of bones arranged in a virtual space, a plurality of An image is generated from the control points and the control curved surface, and includes an update process, an intersection position calculation process, a skin calculation process, and a generation process, and is configured as follows.

すなわち、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のうち、第1種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第2種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定される。   That is, each of the plurality of bones has a fixed length, and its end point is connected to another bone. Among the plurality of control points, each of the first type control points is the plurality of bones. The relative position with respect to any of the plurality of bones is fixed, the relative distance to each of the plurality of bones is fixed, and the control curved surface is one of the plurality of bones. The relative position is fixed.

一方、記憶部には、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のうち、第1種の制御点のそれぞれについて、当該第1種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第1種の制御点情報と、
(d)当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第2種の制御点情報と、
が記憶される。
On the other hand, the storage unit
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) Among each of the plurality of control points, for each of the first type control points, a bone to which the relative position of the first type control point is fixed, the fixed relative position, Control point information of the first type indicating
(D) Among each of the plurality of control points, for each of the second type control points, a bone in which the relative distance of the second type control point is fixed, and a relative position with respect to the bone The second type of control point information shown;
Is memorized.

さらに、更新工程では、更新部が、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報に指定される姿勢、および、第2種の制御点情報に指定される相対的な位置のそれぞれを更新する。   Further, in the update step, the update unit is configured to specify the posture specified in the bone information stored in the storage unit and the relative specified in the second type of control point information based on the passage of time or an instruction from the user. Update each of the specific positions.

そして、交点位置計算工程では、交点位置計算部が、当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。   Then, in the intersection position calculation step, the intersection position calculation unit starts from the bone in which the relative position of the second type control point is fixed for each of the second type control points among the plurality of control points. The position of the intersection where the half line extending to the second type of control point intersects the control curved surface is calculated.

一方、スキン形状計算工程では、スキン形状計算部が、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する。   On the other hand, in the skin shape calculation step, the skin shape calculation unit calculates the shape of the skin from the positions of the first type control points and the calculated positions of the intersections among the plurality of control points. calculate.

さらに、生成工程では、生成部が、計算されたスキンの形状を所定の視点から見た画像を生成する。   Further, in the generation step, the generation unit generates an image obtained by viewing the calculated skin shape from a predetermined viewpoint.

本発明のその他の観点に係るプログラムは、コンピュータを上記の画像生成装置として機能させ、コンピュータに上記の画像生成方法を実行させるように構成する。   A program according to another aspect of the present invention is configured to cause a computer to function as the above-described image generation device and to cause the computer to execute the above-described image generation method.

また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。   The program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.

上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。   The above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed. The information storage medium can be distributed and sold independently from the computer.

本発明によれば、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   According to the present invention, an image generating apparatus, an image generating method, and an image generating apparatus suitable for generating an image in which the eyes and mouth open and close in the head of a character placed in a virtual space are widely used in animation, and A program for realizing these by a computer can be provided.

以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。   Embodiments of the present invention will be described below. In the following, for ease of understanding, an embodiment in which the present invention is realized using a game information processing device will be described. However, the embodiment described below is for explanation, and the present invention is described. It does not limit the range. Therefore, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.

図1は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 1 is a schematic diagram showing a schematic configuration of a typical information processing apparatus that performs the function of the image generation apparatus of the present invention by executing a program. Hereinafter, a description will be given with reference to FIG.

情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。   The information processing apparatus 100 includes a CPU (Central Processing Unit) 101, a ROM 102, a RAM (Random Access Memory) 103, an interface 104, a controller 105, an external memory 106, an image processing unit 107, and a DVD-ROM. (Digital Versatile Disc ROM) drive 108, NIC (Network Interface Card) 109, audio processing unit 110, and microphone 111.

ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の画像生成装置が実現される。   A DVD-ROM storing a game program and data is loaded into the DVD-ROM drive 108 and the information processing apparatus 100 is turned on to execute the program, thereby realizing the image generation apparatus of the present embodiment. Is done.

CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。   The CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data. Further, the CPU 101 uses arithmetic operations such as addition / subtraction / multiplication / division, logical sum, logical product, etc. using an ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed. , Logic operations such as logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation can be performed. In addition, the CPU 101 itself is configured so that saturation operations such as addition / subtraction / multiplication / division for multimedia processing, vector operations such as trigonometric functions, etc. can be performed at a high speed, and those provided with a coprocessor. There is.

ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。   The ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and when this is executed, the program recorded on the DVD-ROM is read out to the RAM 103 and execution by the CPU 101 is started. The The ROM 102 stores an operating system program and various data necessary for operation control of the entire information processing apparatus 100.

RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。   The RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM and other data necessary for game progress and chat communication. Further, the CPU 101 provides a variable area in the RAM 103 and performs an operation by directly operating the ALU on the value stored in the variable, or temporarily stores the value stored in the RAM 103 in the register. Perform operations such as performing operations on registers and writing back the operation results to memory.

インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。   The controller 105 connected via the interface 104 receives an operation input performed when the user executes the game.

インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。   The external memory 106 detachably connected via the interface 104 stores data indicating game play status (past results, etc.), data indicating game progress, and log of chat communication in the case of a network match ( Data) is stored in a rewritable manner. The user can record these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.

DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。   A DVD-ROM mounted on the DVD-ROM drive 108 stores a program for realizing the game and image data and audio data associated with the game. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM loaded therein, reads out necessary programs and data, and these are temporarily stored in the RAM 103 or the like.

画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。   The image processing unit 107 processes the data read from the DVD-ROM by an image arithmetic processor (not shown) included in the CPU 101 or the image processing unit 107, and then processes the processed data on a frame memory ( (Not shown). The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.

画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。   The image calculation processor can execute a two-dimensional image overlay calculation, a transmission calculation such as α blending, and various saturation calculations at high speed.

また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。   Also, polygon information arranged in the virtual three-dimensional space and added with various texture information is rendered by the Z buffer method, and the polygon arranged in the virtual three-dimensional space from the predetermined viewpoint position is determined in the direction of the predetermined line of sight It is also possible to perform high-speed execution of operations for obtaining rendered images.

さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。   Further, the CPU 101 and the image arithmetic processor operate in a coordinated manner, so that a character string can be drawn as a two-dimensional image in a frame memory or drawn on the surface of each polygon according to font information that defines the character shape. is there.

NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。   The NIC 109 is used to connect the information processing apparatus 100 to a computer communication network (not shown) such as the Internet, and is based on the 10BASE-T / 100BASE-T standard used when configuring a LAN (Local Area Network). To connect to the Internet using an analog modem, ISDN (Integrated Services Digital Network) modem, ADSL (Asymmetric Digital Subscriber Line) modem, or cable television line. A cable modem or the like and an interface (not shown) that mediates between these and the CPU 101 are configured.

音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。   The audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal and outputs the analog audio signal from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and sound corresponding to this is output from the speaker.

音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。   When the audio data recorded on the DVD-ROM is MIDI data, the audio processing unit 110 refers to the sound source data included in the audio data and converts the MIDI data into PCM data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data. The PCM data can be output by performing D / A (Digital / Analog) conversion at a timing corresponding to the sampling frequency and outputting it to a speaker.

さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。   Furthermore, a microphone 111 can be connected to the information processing apparatus 100 via the interface 104. In this case, the analog signal from the microphone 111 is subjected to A / D conversion at an appropriate sampling frequency so that processing such as mixing in the sound processing unit 110 can be performed as a PCM format digital signal.

このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。   In addition, the information processing apparatus 100 uses a large-capacity external storage device such as a hard disk so as to perform the same function as the ROM 102, the RAM 103, the external memory 106, the DVD-ROM mounted on the DVD-ROM drive 108, and the like. You may comprise.

以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。   The information processing apparatus 100 described above corresponds to a so-called “consumer video game apparatus”, but the present invention can be realized as long as it performs image processing to display a virtual space. Therefore, the present invention can be realized on various computers such as a mobile phone, a portable game device, a karaoke apparatus, and a general business computer.

たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。   For example, a general computer, like the information processing apparatus 100, includes an image processing unit that includes a CPU, RAM, ROM, DVD-ROM drive, and NIC and has simpler functions than the information processing apparatus 100. In addition to having a hard disk as an external storage device, a flexible disk, a magneto-optical disk, a magnetic tape, and the like can be used. Further, not the controller 105 but a keyboard or a mouse is used as an input device.

図2は、仮想空間内におけるボーン、制御点、スキンの関係を示す説明図である。以下、本図を参照して説明する。   FIG. 2 is an explanatory diagram showing the relationship among bones, control points, and skins in the virtual space. Hereinafter, a description will be given with reference to FIG.

本図に示す例では、仮想空間200内には、2つのボーン201a、201bが配置されている。各ボーン201a、201bの長さは一定である。ボーン201bの端点202bは、ボーン201aの突端203aに連結されており、ボーン201bは、端点202bを回転中心にして、ボーン201aに対して回転することができる。   In the example shown in the figure, two bones 201 a and 201 b are arranged in the virtual space 200. The length of each bone 201a, 201b is constant. The end point 202b of the bone 201b is connected to the protruding end 203a of the bone 201a, and the bone 201b can rotate with respect to the bone 201a with the end point 202b as the center of rotation.

したがって、ボーン201aの端点202bに原点が一致し、ボーン201aに固定された座標系204aにおけるボーン201bの端点202bの座標は、一定となる。   Accordingly, the origin coincides with the end point 202b of the bone 201a, and the coordinates of the end point 202b of the bone 201b in the coordinate system 204a fixed to the bone 201a are constant.

本図では、ボーン201a、201bは、長い角錐に楕円球を連結した形状で表現されており、角錐の上頂点が突端203a、203bに、楕円球が端点202a、202bに、それぞれ対応している。   In this figure, the bones 201a and 201b are expressed in a shape in which an elliptical sphere is connected to a long pyramid, and the upper vertex of the pyramid corresponds to the protruding ends 203a and 203b, and the elliptical sphere corresponds to the end points 202a and 202b, respectively. .

また、ボーン201aに固定された座標系204aにおける回転量(姿勢)を与えることにより、ボーン201aに対するボーン201bの相対的な姿勢が一意に定まることになる。なお、ここでいう回転は、「ある1つの軸を中心に回転する」の意味ではなく、「ある1つの点を中心に回転する」の意味であり、たとえばユニバーサルジョイントなどによって実現されるような回転に相当するものである。   Further, by giving a rotation amount (posture) in the coordinate system 204a fixed to the bone 201a, the relative posture of the bone 201b with respect to the bone 201a is uniquely determined. Note that the term “rotation” here does not mean “rotate around a certain axis”, but means “rotate around a certain point”, and is realized by a universal joint, for example. This corresponds to rotation.

このように、あるボーン201bの端点202bが他のボーン201aの突端203aに一致して、端点202bを中心にボーン201bが回転する姿勢によって、ボーン201aに対するボーン201bの相対的な位置が定まる場合、ボーン201aとボーン201bとには、座標系の依存関係の順序を定めることができる。   As described above, when the end point 202b of a bone 201b coincides with the protruding end 203a of another bone 201a and the bone 201b rotates relative to the end point 202b, the relative position of the bone 201b with respect to the bone 201a is determined. The order of the dependency of the coordinate system can be determined for the bone 201a and the bone 201b.

たとえばキャラクターの頭部の位置や形状を定めるには、表す場合には、一般的には、
(1)背骨に相当するボーンに対して首の骨に相当するボーンの位置を定め、
(2)首の骨に相当するボーンに対して頭蓋骨に相当するボーンの位置を定め、
(3a)頭蓋骨に相当するボーンに対して顎の骨に相当するボーンの位置を定め、
(3b)頭蓋骨に相当するボーンに対して目蓋に相当するボーンの位置を定め、……
のように、複数のボーンを連結させることによって行う。また、ボーンは、現実の人間や動物の骨格と一致するように設定しても良いし、適宜省略したり、追加したりしても良い。たとえば目蓋のように、筋肉のみによって動作するような部分であっても、上記のように仮想的にボーンを設定することで、キャラクターの表情の設計を行うのが一般的である。
For example, to define the position and shape of a character ’s head,
(1) The position of the bone corresponding to the bone of the neck relative to the bone corresponding to the spine is determined,
(2) The position of the bone corresponding to the skull is determined relative to the bone corresponding to the neck bone,
(3a) determining the position of the bone corresponding to the jaw bone relative to the bone corresponding to the skull;
(3b) Determine the position of the bone corresponding to the eye lid with respect to the bone corresponding to the skull, and so on.
This is done by connecting a plurality of bones. Further, the bone may be set so as to coincide with the skeleton of an actual human or animal, or may be omitted or added as appropriate. For example, even in a portion that moves only by muscles, such as the eyelid, it is common to design the facial expression of a character by virtually setting bones as described above.

さて、ボーン201aには、複数の制御点205aが割り当てられている(割当の対応関係を点線で示している)。各制御点205aの、ボーン201aに割り当てられた座標系204aにおける座標は一定である。したがって、各制御点205aは、ボーン201aに固定されている。   Now, a plurality of control points 205a are assigned to the bone 201a (the assignment correspondence is indicated by dotted lines). The coordinates of each control point 205a in the coordinate system 204a assigned to the bone 201a are constant. Therefore, each control point 205a is fixed to the bone 201a.

一方、ボーン201bにも、複数の制御点205bが割り当てられている。各制御点205bの、ボーン201bに割り当てられた座標系204bにおける座標は一定である。したがって、各制御点205bは、ボーン201bに固定されている。   On the other hand, a plurality of control points 205b are also assigned to the bone 201b. The coordinates of each control point 205b in the coordinate system 204b assigned to the bone 201b are constant. Therefore, each control point 205b is fixed to the bone 201b.

したがって、ボーン201bが端点202bを中心にボーン201aに対して回転すると、制御点205bもこれに連動してボーン201aに対して回転することになる。   Accordingly, when the bone 201b rotates with respect to the bone 201a around the end point 202b, the control point 205b also rotates with respect to the bone 201a in conjunction with this.

ある座標系に対する他の座標系の原点の位置、ならびに、当該ある座標系に対する当該他の座標系の各軸の方向(回転量)が定まれば、当該ある座標系と当該他の座標系において、相互に点の座標値を一意に変換することが可能である。   If the position of the origin of another coordinate system with respect to a certain coordinate system and the direction (rotation amount) of each axis of the other coordinate system with respect to the certain coordinate system are determined, in the certain coordinate system and the other coordinate system It is possible to uniquely convert the coordinate values of points to each other.

したがって、ボーン201aに対するボーン201bの相対的な姿勢を変化させることによって、ボーン201aに対する制御点205bの相対的な位置を計算により求めることができる。一方、ボーン201aに対する制御点205aの相対的な位置は、上記のように固定されているから、2つのボーン201a、201bに固定された全制御点201a、201bの座標系204aに対する座標値や、座標系204bに対する座標値は、座標変換の計算によって求めることができ、これらの処理を連結されたすべてのボーンについて繰り返すことにより、すべての制御点の、ある座標系(典型的には背骨に固定された座標系、もしくは、グローバル座標系)における位置を確定させることができる。   Therefore, the relative position of the control point 205b with respect to the bone 201a can be obtained by calculation by changing the relative posture of the bone 201b with respect to the bone 201a. On the other hand, since the relative position of the control point 205a with respect to the bone 201a is fixed as described above, the coordinate values of all the control points 201a and 201b fixed to the two bones 201a and 201b with respect to the coordinate system 204a, The coordinate value for the coordinate system 204b can be obtained by calculation of coordinate transformation, and by repeating these processes for all the connected bones, a certain coordinate system (typically fixed to the spine) of all control points is obtained. Position in a coordinated system or a global coordinate system).

さて、上記のようにして制御点205a、205bのある座標系における位置が定まったら、これらの制御点205a、205bの位置に基づいて、スキン206を定めることができる。   When the positions of the control points 205a and 205b in a certain coordinate system are determined as described above, the skin 206 can be determined based on the positions of these control points 205a and 205b.

本実施形態では、スキン206は、ポリゴン207の集合体であり、制御点205a、205bをあらかじめ定めた対応付けで各ポリゴン207の頂点としている。本図に示す例では、人の腕の表面の一部のような形状をなしている。   In the present embodiment, the skin 206 is an aggregate of polygons 207, and the control points 205a and 205b are vertices of the polygons 207 with a predetermined association. In the example shown in this figure, it is shaped like a part of the surface of a person's arm.

制御点205a、205bをポリゴン207の頂点としてポリゴン207によってスキン206の形状を定める手法のほか、各制御点205a、205bに重みを割り振ることによって定義されるNURBS(Non Uniform Rational B Spline)曲面をスキンとする手法を採用しても良い。この手法では、制御点の数をさらに増やすことも可能である。この場合には、スキン206の形状は、2つのパラメータu,vの有理多項式により当該スキン206内の点の座標値が定められることとなる。   In addition to the method of determining the shape of the skin 206 by the polygon 207 using the control points 205a and 205b as the vertices of the polygon 207, the NURBS (Non Uniform Rational B Spline) surface defined by assigning weights to the control points 205a and 205b is skinned. A method may be adopted. In this method, the number of control points can be further increased. In this case, the coordinate value of the point in the skin 206 is determined by the rational polynomial of the two parameters u and v.

ボーンの突端には別のボーンが連結されておらず、ボーンに固定される制御点205bがただ一つである場合、当該ボーンを「単制御点ボーン」と呼ぶこととする。   When no other bone is connected to the tip of the bone and there is only one control point 205b fixed to the bone, the bone is referred to as a “single control point bone”.

ボーン201bが単制御点ボーンである場合には、制御点205bの座標値をボーン201bに固定された座標系204bにおいて固定したものとする上記の手法のほか、ボーン201bの突端203bそのものを制御点205bとしてしまう手法もありうる。これは、いずれの手法を採用しても良い。   When the bone 201b is a single control point bone, in addition to the above-described method in which the coordinate value of the control point 205b is fixed in the coordinate system 204b fixed to the bone 201b, the protrusion 203b itself of the bone 201b is used as a control point. There may be a method of setting 205b. Any method may be adopted for this.

この場合、わざわざ座標系204bを想定する必要はなくなる。すなわち、制御点205bは、ボーン201aの突端203a(単制御点ボーン201bの端点202b)からの距離が一定(単制御点ボーン201bの長さに等しい)であるから、当該突端203aを中心とする球面上を移動することとなる。そして、単制御点ボーン201bの座標系204aにおける姿勢を定めることと、制御点205bの座標系204aにおける座標値を定めることとは、実質的に等価となる。そこで、以下の説明では、単制御点ボーンについては、その端点を制御点とするものとする。   In this case, it is not necessary to assume the coordinate system 204b. That is, the control point 205b has a constant distance from the protruding end 203a of the bone 201a (end point 202b of the single control point bone 201b) (equal to the length of the single control point bone 201b), and therefore the control point 205b is centered on the protruding end 203a. It moves on the spherical surface. The determination of the posture of the single control point bone 201b in the coordinate system 204a is substantially equivalent to the determination of the coordinate value of the control point 205b in the coordinate system 204a. Therefore, in the following description, it is assumed that the end point of a single control point bone is a control point.

さて、本実施形態では、後述するように、いわゆる「口パク」に本発明を適用している。もっとも、本発明は、「目パチ」に同様に適用することができるほか、たとえば鼻の穴や、そのキャラクター特有の、よく動く部分に適用することもでき、それらの態様も本発明の範囲に含まれる。   In the present embodiment, as will be described later, the present invention is applied to so-called “mouth bags”. However, the present invention can be applied to “eye patch” in the same manner, and can also be applied to, for example, a nostril or a well-moving part unique to the character. included.

キャラクターの口の形状を定めるに際して、唇の縁は比較的自由に移動することとしておけば、いわゆる「口パク」のほか、口を上下や横に非対称に曲げたりすることもできるようになる。そこで、本実施形態では、頭蓋骨に相当するボーンに複数の単制御点ボーンを連結し、当該複数の単制御点ボーンの突端により、唇の縁の形状を定めることとする。   If the lip edge moves relatively freely when determining the character's mouth shape, the mouth can be bent asymmetrically up and down or sideways, in addition to the so-called “mouth lip”. Therefore, in this embodiment, a plurality of single control point bones are connected to a bone corresponding to the skull, and the shape of the lip edge is determined by the tips of the plurality of single control point bones.

図3は、キャラクターの頭部を形成するボーン、制御点、スキンの様子を示す説明図である。本図(a)は、キャラクターの頭部の透視図に相当し、本図(b)は、キャラクターの頭部の斜視図に相当する。以下、本図を参照して説明する。   FIG. 3 is an explanatory diagram showing the appearance of bones, control points, and skins that form the character's head. This figure (a) corresponds to a perspective view of the character's head, and this figure (b) corresponds to a perspective view of the character's head. Hereinafter, a description will be given with reference to FIG.

首の骨ボーン301は頭蓋骨ボーン302と連結されており、ポリゴン303の頂点304のほとんどは、頭蓋骨ボーン302に固定されている。   The neck bone bone 301 is connected to the skull bone 302, and most of the vertexes 304 of the polygon 303 are fixed to the skull bone 302.

ただし、唇の縁に相当する頂点305については、頭蓋骨ボーン302に連結点311において連結された単制御点ボーン306によりその位置が定められている。すなわち、連結点311は、頭蓋骨ボーン302の突端であり、単制御点ボーン306の端点である。   However, the position of the vertex 305 corresponding to the edge of the lip is determined by a single control point bone 306 connected to the skull bone 302 at the connection point 311. In other words, the connection point 311 is the protruding end of the skull bone 302 and the end point of the single control point bone 306.

そして、頂点305を制御点として、唇の縁の形状を表す頂点305の位置が定められている。   Then, with the vertex 305 as a control point, the position of the vertex 305 representing the shape of the lip edge is determined.

そして、頂点304、頂点305により辺の位置が定められるポリゴン303によりキャラクターの顔のスキン308の形状を定められることから、頂点304は、頭蓋骨ボーン302に固定された制御点であり、頂点305は、単制御点ボーン306に固定された制御点に相当する。   Since the shape of the character's face skin 308 is determined by the polygon 303 whose sides are determined by the vertices 304 and 305, the vertex 304 is a control point fixed to the skull bone 302. This corresponds to a control point fixed to the single control point bone 306.

図4は、頭蓋骨ボーン、単制御点ボーン、キャラクターの頭部の基本形状の関係を示す断面図である。本断面図は、キャラクターの顔を左右の中心で切ったものであり、理解を容易にするため、位置関係を一部誇張して描いている。以下、本図を参照して説明する。   FIG. 4 is a cross-sectional view showing the relationship among the basic shapes of the skull bone, the single control point bone, and the character's head. In this cross-sectional view, the character's face is cut at the center of the left and right, and the positional relationship is partially exaggerated for easy understanding. Hereinafter, a description will be given with reference to FIG.

本図に示すように、キャラクターの頭部が基本形状(もっとも頻繁に現れる表情に相当する)をとるとき、頭蓋骨ボーン302に連結された単制御点ボーン306の突端は、キャラクターの顔の基本形状401に重なって、唇の上端および下端の縁の頂点305(本図白丸印「○」で表す。)と一致している。ところが、本図に示すように頭蓋骨ボーン302の突端から、基本形状401までの距離は一定ではない。   As shown in this figure, when the character's head takes a basic shape (corresponding to the expression that appears most frequently), the tip of the single control point bone 306 connected to the skull bone 302 is the basic shape of the character's face. It overlaps 401 and coincides with vertices 305 (indicated by white circles “◯” in the figure) at the upper and lower edges of the lips. However, as shown in this figure, the distance from the tip of the skull bone 302 to the basic shape 401 is not constant.

したがって、単制御点ボーン306を上下に回転させる(本図では、唇の下端に相当する部分を回転させている。点線で示す。)と、突端307(本図黒丸印「●」で示す。)は、基本形状401の中にめり込んだり、基本形状401の外へ突き出されたりしてしまう。   Therefore, when the single control point bone 306 is rotated up and down (in this figure, the portion corresponding to the lower end of the lips is rotated. Indicated by a dotted line), the protruding end 307 (indicated by a black circle “●” in this figure). ) Is embedded in the basic shape 401 or protrudes out of the basic shape 401.

しかしながら、日本の伝統的なアニメーションの描法においては、「口パク」によって唇の形状は変化するものの、顔の形状そのものは変形しないようにする。したがって、本実施形態では、突端307そのものを上端および下端の縁の頂点305として使用するのではなく、「制御曲面」による手法を用いる。   However, in the traditional Japanese animation method, the shape of the lips is changed by the “mouth lip”, but the shape of the face is not deformed. Therefore, in this embodiment, the protruding end 307 itself is not used as the apex 305 of the upper and lower edge, but a technique using a “control curved surface” is used.

図5は、本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図4と同様の位置関係で示す断面図である。図6は、本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図3と同様の位置関係で示す抽出図である。図7、図8は、本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係をキャラクターの横から見た説明図であり、図7は、口を閉じている様子、図8は、口を開いている様子を表す。以下、これらの図を参照して説明する。   FIG. 5 is a cross-sectional view showing the relationship among the skull bone, the single control point bone, the control curved surface, and the basic shape of the character head according to the present embodiment in the same positional relationship as FIG. FIG. 6 is an extraction diagram showing the relationship among the skull bone, the single control point bone, the control curved surface, and the basic shape of the character head according to the present embodiment in the same positional relationship as FIG. 7 and 8 are explanatory views of the relationship between the skull bone, the single control point bone, the control curved surface, and the basic shape of the character's head according to the present embodiment as seen from the side of the character, and FIG. FIG. 8 shows a state where the mouth is open. Hereinafter, description will be given with reference to these drawings.

制御曲面501は、キャラクターの基本形状401に沿う曲面であり、図6に示すように、本実施形態では、2×2のメッシュ、9個の制御点からなるNURBS曲面によってその形状が定義されている。   The control curved surface 501 is a curved surface that follows the basic shape 401 of the character, and as shown in FIG. 6, in this embodiment, the shape is defined by a NURBS curved surface composed of 2 × 2 meshes and nine control points. Yes.

そして、唇の縁の頂点305(図5では、白四角印「□」で表す。)として、単制御点ボーン306の突端307そのものではなく、「連結点311から単制御点ボーン306の突端307へ進む半直線(すなわち、単制御点ボーン306に沿って伸びる半直線)が、制御曲面501と交差する交点」を採用する。   Then, as the vertex 305 of the lip edge (indicated by a white square “□” in FIG. 5), not the protrusion 307 of the single control point bone 306 itself, but “the protrusion 307 of the single control point bone 306 from the connection point 311. Adopt a crossing point where a half line that goes to (that is, a half line extending along the single control point bone 306) intersects the control surface 501.

本手法を採用すれば、図5に示すように、単制御点ボーン306を上下に回転させて(本図点線で示す。)、突端307が基本形状401の中にめり込んだり、基本形状401の外へ突き出されたりしたとしても、唇の縁の頂点305は、キャラクターの頭部の基本形状401に沿う制御曲面501上にあるため、顔そのものの形状の変化は極めて小さくすることができ、日本の伝統的なアニメーションの描法を実現することができるのである。   If this method is adopted, as shown in FIG. 5, the single control point bone 306 is rotated up and down (indicated by a dotted line in this figure), and the protruding end 307 is recessed into the basic shape 401 or the basic shape 401 Even if it protrudes outside, the vertex 305 of the lip edge is on the control curved surface 501 along the basic shape 401 of the character's head, so the change in the shape of the face itself can be made extremely small. The traditional animation drawing method can be realized.

なお、本実施形態では、連結点311の位置を、頭蓋骨ボーン302の突端の位置、すなわち、単制御点ボーン306の端点の位置とし、キャラクターの顔の頭頂近傍に配置しているが、連結点311の位置は、必ずしもこの位置に限られない。たとえば、顔の形状の重心に相当するような位置としても良いし、頚骨の位置としても良い。すなわち、連結点311の位置は、キャラクターの口に対して、キャラクターの後方に配置すれば良いこととなる。また、本実施形態では、頭蓋骨ボーン302を口の形状とそれ以外の部分の形状を定めるために両用していることとなるが、それぞれのために異なるボーンを用意することとしても良い。   In the present embodiment, the position of the connection point 311 is the position of the protruding end of the skull bone 302, that is, the position of the end point of the single control point bone 306, and is arranged in the vicinity of the top of the character's face. The position 311 is not necessarily limited to this position. For example, the position may correspond to the center of gravity of the face shape, or the position of the tibia. That is, the position of the connection point 311 may be arranged behind the character with respect to the character's mouth. Further, in this embodiment, the skull bone 302 is used both for determining the shape of the mouth and the shape of the other part, but different bones may be prepared for each.

また、図4においては、理解を容易にするため、基本形状では、単制御点ボーン306の突端307が、基本形状401に一致して唇の縁の頂点305をなすものとしていたが、唇の縁の頂点305は、上記のように、「連結点311から単制御点ボーン306の突端307へ進む半直線(すなわち、単制御点ボーン306に沿って伸びる半直線)が、制御曲面501と交差する交点」であるから、単制御点ボーン306をもっと長くしたり短くしたりしても良い。   In FIG. 4, for easy understanding, in the basic shape, the tip 307 of the single control point bone 306 coincides with the basic shape 401 and forms the apex 305 of the lip edge. As described above, the vertex 305 at the edge is, as described above, “a straight line extending from the connection point 311 to the tip 307 of the single control point bone 306 (that is, a straight line extending along the single control point bone 306) intersects the control curved surface 501. Therefore, the single control point bone 306 may be made longer or shorter.

この場合、基本的な表情において、突端307の位置は基本形状401の外へ突き出されたり、基本形状401の中へ引っ込んだりするが、唇の縁の頂点305の位置は、制御曲面501に含まれることとなるから、基本形状401に沿うこととなる。   In this case, in the basic expression, the position of the tip 307 protrudes out of the basic shape 401 or retracts into the basic shape 401, but the position of the vertex 305 of the lip edge is included in the control curved surface 501. Therefore, it follows the basic shape 401.

ここで、制御曲面501が基本形状401に「沿う」とは、キャラクターが基本的な表情をしているときの基本形状401の頂点304、305からの制御曲面501の距離が、所定の許容誤差範囲内であることを意味する。この許容誤差は、当該キャラクターの用途やデザインの内容に応じて、適宜変更が可能である。   Here, “the control curved surface 501 is along the basic shape 401” means that the distance of the control curved surface 501 from the vertices 304 and 305 of the basic shape 401 when the character has a basic expression is a predetermined allowable error. Means within range. This allowable error can be appropriately changed according to the use of the character and the contents of the design.

制御曲面501としてNURBS曲面を採用した場合、制御曲面501に含まれる点の位置ベクトルをpとし、ある基準位置・方向を意味するベクトルをa,b,c(これらは、本実施形態では、頭蓋骨ボーン302に固定された座標系における定数ベクトルである。)とすると、位置ベクトルpは、スカラーのパラメータu,vを用いて、以下のように表現できる。
p = f(u,v)a + g(u,v)b + c
When a NURBS curved surface is adopted as the control curved surface 501, a position vector of a point included in the control curved surface 501 is p, and vectors indicating a certain reference position / direction are a, b, c (these are skulls in this embodiment). Assuming that the position vector p is a constant vector in the coordinate system fixed to the bone 302, the position vector p can be expressed as follows using scalar parameters u and v.
p = f (u, v) a + g (u, v) b + c

ここで、f(u,v),g(u,v)は、いずれもスカラーの関数で、u,vに関するn次の多項式により表現される。   Here, f (u, v) and g (u, v) are both scalar functions and are expressed by an n-th order polynomial concerning u and v.

一方、単制御点ボーン306に沿って伸びる半直線に含まれる点の位置ベクトルをqとし、ある基準位置・方向を意味するベクトルをr,sとすると、位置ベクトルqは、スカラーのパラメータt (t≧0)を用いて、以下のように表現できる。
q = t r + s
On the other hand, if the position vector of a point included in a half line extending along the single control point bone 306 is q, and the vectors representing a certain reference position / direction are r and s, the position vector q is a scalar parameter t ( can be expressed as follows using t ≧ 0).
q = tr + s

すなわち、tに関する1次の多項式により表現されることになる。制御曲面501と、単制御点ボーン306に沿って伸びる半直線と、の交点を求めるには、
p = q
とおいて、パラメータu,v,tに関するn次3元連立方程式を解くことになる。
That is, it is expressed by a first-order polynomial for t. To obtain the intersection of the control curved surface 501 and the half line extending along the single control point bone 306,
p = q
In this case, the n-th order simultaneous equations relating to the parameters u, v, and t are solved.

n≧5である場合には、n次の方程式を一般的に解く解法は存在しないから、このような場合には、ニュートン・ラフソン法などを用いて解を求めることとなる。一般に、ニュートン・ラフソン法は、解への高速な収束が期待できる、という利点がある一方で、初期値によっては解が求まるとは限らないこと、初期値によって求められる解が変化してしまうこと、が欠点である、とされているが、頭蓋骨ボーン302の突端である連結点311と、制御曲面501との典型的な位置関係を考慮すれば、上記のようなニュートン・ラフソン法の欠点は、本発明においては問題とはならない。   In the case of n ≧ 5, there is generally no solution method for solving an n-order equation. In such a case, a solution is obtained using the Newton-Raphson method or the like. In general, the Newton-Raphson method has the advantage that high-speed convergence to the solution can be expected, but the solution may not be obtained depending on the initial value, and the solution obtained by the initial value may change. However, considering the typical positional relationship between the connecting point 311 that is the tip of the skull bone 302 and the control curved surface 501, the disadvantage of the Newton-Raphson method is as follows. This is not a problem in the present invention.

このほか、制御曲面501として2次曲面を採用することも可能である。2次曲面とは、ある座標系(本実施形態では、頭蓋骨ボーン302に固定された座標系を採用するのが典型的である。)において、制御曲面501に含まれる点の座標を(x,y,z)とおいたときに、2次の多項式h(x,y,z)により、
h(x,y,z) = 0
が成立するような曲面である。2次曲面には、球面、双曲面、放物面ならびに、これをその対称軸方向に適宜拡大縮小して変形したものが含まれるほか、平面も2次曲面の一種と考えることができる。
In addition, it is possible to adopt a quadric surface as the control surface 501. The quadric surface is a coordinate system (in this embodiment, it is typical to employ a coordinate system fixed to the skull bone 302). The coordinates of the points included in the control surface 501 are (x, y, z), a quadratic polynomial h (x, y, z)
h (x, y, z) = 0
It is a curved surface that holds. The quadric surface includes a spherical surface, a hyperboloid surface, a paraboloid surface, and those obtained by appropriately scaling and deforming the surface in the direction of the axis of symmetry, and a flat surface can be considered as a kind of quadric surface.

一方、単制御点ボーン306に沿って伸びる半直線について、上記のベクトル表記に、
q = (qx,qy,qz)
などのように、x,y,zに関する添字をつけたものを、当該座標系における座標値とすると、
qx = trx + sx
qy = try + sy
qz = trz + sz
が得られる。
On the other hand, for the half line extending along the single control point bone 306,
q = (q x , q y , q z )
If the subscripts for x, y, and z are coordinate values in the coordinate system,
q x = tr x + s x ;
q y = tr y + s y ;
q z = tr z + s z ;
Is obtained.

したがって、これらの交点を求めるには、
x = qx
y = qy
z = qz
とおくこととなり、交点を求める問題は、パラメータt (t≧0)に関する2次方程式
h(trx + sx,try + sy,trz + sz) = 0
を解くことに帰着される。2次方程式には、解の公式があるため、これを用いれば、容易に交点の座標値を計算することが可能である。
Therefore, to find these intersections,
x = q x ;
y = q y ;
z = q z ;
The problem of finding the intersection is the quadratic equation for the parameter t (t ≧ 0)
h (tr x + s x , tr y + s y , tr z + s z ) = 0
To be solved. Since there is a solution formula in the quadratic equation, if this is used, the coordinate value of the intersection can be easily calculated.

このほか、制御曲面501を、ポリゴンの集合体として定義することも可能である。各ポリゴンは、平面の領域を制限したもの、と考えることができるから、制御曲面501と単制御点ボーン306に沿って伸びる半直線と、の交点を求める問題は、平面群(各ポリゴン)と半直線の交点を求める問題に帰着される。ポリゴンの形状が比較的単純であり、ポリゴンの数が少ない場合には、交点を求める計算が高速にできることが期待される。   In addition, the control curved surface 501 can be defined as an aggregate of polygons. Since each polygon can be considered to have a limited plane area, the problem of obtaining the intersection of the control curved surface 501 and the half line extending along the single control point bone 306 is the plane group (each polygon). This results in the problem of finding the intersection of half lines. When the shape of the polygon is relatively simple and the number of polygons is small, it is expected that the calculation for obtaining the intersection can be performed at high speed.

上記の基本的な考え方に基づいて、以下ではさらに具体的に、本実施形態に係る画像生成装置の構成について説明する。図9は、本実施形態に係る画像生成装置の概要構成を示す説明図である。図10は、当該画像生成装置にて実行される画像生成処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   Based on the above basic concept, the configuration of the image generation apparatus according to the present embodiment will be described more specifically below. FIG. 9 is an explanatory diagram showing a schematic configuration of the image generation apparatus according to the present embodiment. FIG. 10 is a flowchart showing the flow of control of image generation processing executed by the image generation apparatus. Hereinafter, a description will be given with reference to FIG.

本実施形態に係る画像生成装置901は、記憶部902、更新部903、交点位置計算部904、スキン形状計算部905、生成部906を備える。   An image generation apparatus 901 according to the present embodiment includes a storage unit 902, an update unit 903, an intersection position calculation unit 904, a skin shape calculation unit 905, and a generation unit 906.

ここで、記憶部902には以下の情報が記憶される。
(a)キャラクターの頭部の形状を定めるためのボーンの姿勢を定めるボーン情報。すなわち、首の骨ボーン301、頭蓋骨ボーン302、単制御点ボーン306の連結の関係および相対的な位置関係を示す情報である。上記のように、あるボーンが連結される他のボーンに対する相対的な姿勢を示すものである。典型的には、各軸方向の回転量や、クオータニオンにより表現される回転量により表現される。
(b)制御曲面501の相対的な位置が固定されるボーンと、固定される相対的な位置と、制御曲面501の形状と、を示す制御曲面情報。本実施形態では、制御曲面501は頭蓋骨ボーン302に固定されており、その形状は、NURBS曲面や2次曲面によって、上記のように定義されている。
(c)制御点のそれぞれについて、制御点の相対的な位置が固定されるボーンと、固定される相対的な位置と、制御点の種類と、を示す制御点情報。本実施形態では、制御点として、頂点304に相当するもの(ボーンに連動して動く制御点であって、頂点304と位置が一致するもの)と、頂点305に相当するもの(単制御点ボーン306の突端)と、の2種類があるが、前者を第1種の制御点、後者を第2種の制御点と呼ぶ。第1種の制御点は、直ちに頂点304となるが、第2種の制御点は、連結点311を起点として第2種の制御点を通過する半直線が、制御曲面501と交差する点が頂点305となる。
Here, the storage unit 902 stores the following information.
(A) Bone information for determining the posture of the bone for determining the shape of the character's head. That is, it is information indicating a connection relationship and a relative positional relationship of the neck bone bone 301, the skull bone 302, and the single control point bone 306. As described above, this indicates a relative posture with respect to another bone to which a certain bone is connected. Typically, it is expressed by the amount of rotation in each axial direction or the amount of rotation expressed by a quarteranion.
(B) Control surface information indicating the bone to which the relative position of the control curved surface 501 is fixed, the relative position to be fixed, and the shape of the control curved surface 501. In this embodiment, the control curved surface 501 is fixed to the skull bone 302, and the shape thereof is defined as described above by a NURBS curved surface or a quadratic curved surface.
(C) For each control point, control point information indicating the bone to which the relative position of the control point is fixed, the relative position to be fixed, and the type of the control point. In the present embodiment, the control points correspond to the vertex 304 (control points that move in conjunction with the bone and have the same position as the vertex 304), and the control points correspond to the vertex 305 (single control point bone). The former is called the first type control point, and the latter is called the second type control point. The first type of control point immediately becomes the vertex 304, but the second type of control point is a point where a half line passing through the second type of control point starting from the connection point 311 intersects the control curved surface 501. It becomes a vertex 305.

第1種か第2種かを区別するための手法であるが、それぞれの制御点の情報を記憶する構造体に、制御点の種類を記憶するフラグ領域を用意しても良いし、当該構造体の配列を2つ用意し、一方は第1種の制御点用、他方は第2種の制御点用として、記憶する配列領域を区別して記憶することとしても良い。   Although it is a method for distinguishing between the first type and the second type, a flag area for storing the type of control point may be prepared in the structure for storing information of each control point, or the structure Two body arrangements may be prepared, one for the first type of control points and the other for the second type of control points.

さて、本処理が開始されると、CPU 101は、RAM 103に用意された各領域を初期化する(ステップS951)。この領域には、上記記憶部902を実現するものも含まれる。したがって、RAM 103は、記憶部902として機能する。   When this process is started, the CPU 101 initializes each area prepared in the RAM 103 (step S951). This area includes those for realizing the storage unit 902. Therefore, the RAM 103 functions as the storage unit 902.

一方、更新部903は、時間の経過もしくはユーザからの指示に基づいて、記憶部902に記憶されるボーン情報のそれぞれを更新する(ステップS952)。   On the other hand, the update unit 903 updates each piece of bone information stored in the storage unit 902 based on the passage of time or an instruction from the user (step S952).

たとえば、キャラクターの声の再生の経過時間に応じて唇の制御点が固定されたボーンを動かすように情報を更新することによって、キャラクターが発生する声に合わせて口を開閉させたり、一定時間を周期に目蓋の制御点が固定されたボーンを動かすように情報を更新することによってキャラクターにまばたきをさせることができる。   For example, by updating the information to move a bone with a fixed lip control point according to the elapsed time of playback of the character's voice, the mouth can be opened and closed according to the voice generated by the character, The character can be blinked by updating the information so as to move the bone whose eyelid control point is fixed in the cycle.

このほか、ユーザがウィンクコマンドを出すことによって、キャラクターの目蓋を開閉させたり、ユーザが入力したチャットの文章の内容に応じてキャラクターの口を動かすことも可能である。ある時点からの時間の経過に対する制御点の位置の変化を時系列的にあらかじめ定めておくのが典型的である。   In addition, when the user issues a wink command, the character's eyelid can be opened and closed, or the character's mouth can be moved according to the content of the chat text entered by the user. Typically, the change in the position of the control point with respect to the passage of time from a certain point in time is determined in advance in time series.

これは、丁度アニメーションにおいて、「口パク」のセル画を複数枚用意し、時間の経過によってこのセル画を適宜交換して利用することに相当する。   This is exactly equivalent to preparing a plurality of “mouth lip” cell images in the animation, and appropriately exchanging these cell images over time.

このほか、各ボーンの位置関係を時間の経過やユーザからの指示に基づいて変化させることで、キャラクターが首を振ったり、頷いたりする様子を表現することも可能である。   In addition, by changing the positional relationship between the bones based on the passage of time or an instruction from the user, it is also possible to express how the character shakes his head or crawls.

したがって、CPU 101は、RAM 103と共働して、更新部903として機能する。   Therefore, the CPU 101 functions as the update unit 903 in cooperation with the RAM 103.

さらに、交点位置計算部904は、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。すなわち、各単制御点ボーン306につき、当該単制御点ボーン306の連結点311から単制御点ボーン306の突端へ伸びる半直線が、制御曲面501と交差する交点の位置を計算する(ステップS953)。   Further, the intersection position calculation unit 904 has, for each of the second type control points, a half line extending from the bone to which the relative position of the second type control point is fixed to the second type control point. The position of the intersection that intersects the control curved surface is calculated. That is, for each single control point bone 306, the position of the intersection where the half line extending from the connection point 311 of the single control point bone 306 to the tip of the single control point bone 306 intersects the control curved surface 501 is calculated (step S953). .

当該計算には、上記のように、ニュートン・ラフソン法や2次方程式を解く手法などを採用することができる。   For the calculation, as described above, a Newton-Raphson method, a method of solving a quadratic equation, or the like can be employed.

したがって、CPU 101は、RAM 103と共働して、交点位置計算部904として機能する。   Therefore, the CPU 101 functions as the intersection position calculation unit 904 in cooperation with the RAM 103.

ついで、スキン形状計算部905は、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する(ステップS954)。第1種の制御点は、頂点304に相当し、交点の位置は、頂点305に相当するから、これらの頂点304、305に基づいて、上記のように、スキン308の形状を計算するのである。   Next, the skin shape calculation unit 905 calculates the shape of the skin from the positions of the first type control points and the calculated positions of the intersections among the plurality of control points (step S954). ). Since the first type control point corresponds to the vertex 304 and the position of the intersection corresponds to the vertex 305, the shape of the skin 308 is calculated based on these vertexes 304 and 305 as described above. .

そして、生成部906は、計算されたスキンの形状を所定の視点から見た画像を生成して、RAM 103内に用意されたフレームバッファに展開する(ステップS955)。   Then, the generation unit 906 generates an image obtained by viewing the calculated skin shape from a predetermined viewpoint, and expands the image in a frame buffer prepared in the RAM 103 (step S955).

生成部906による画像生成の処理には、広く利用されている3次元コンピュータグラフィックスの処理を適用することが可能である。   Widely used three-dimensional computer graphics processing can be applied to the image generation processing by the generation unit 906.

したがって、CPU 101は、RAM 103や画像処理部107と共働して、スキン形状計算部905ならびに生成部906として機能する。   Therefore, the CPU 101 functions as the skin shape calculation unit 905 and the generation unit 906 in cooperation with the RAM 103 and the image processing unit 107.

そして、CPU 101は、次の垂直同期割込が生じるまで待機する(ステップS956)。この待機の間には、他に必要な各種の計算処理を、コルーチン的に実行することも可能である。   Then, the CPU 101 waits until the next vertical synchronization interrupt occurs (step S956). During this standby, various other necessary calculation processes can be executed in a coroutine manner.

ついで、CPU 101の制御の下、RAM 103内に用意されたフレームバッファの内容を、画像処理部107が備えるフレームメモリに転送することによって、当該キャラクターの画像が、モニタに表示される(ステップS957)。ステップS952に戻り、これらの処理を繰り返すことによって、仮想空間内でキャラクターが表情を変化させて動くアニメーションを提示することができるようになる。   Next, under the control of the CPU 101, the contents of the frame buffer prepared in the RAM 103 are transferred to the frame memory provided in the image processing unit 107, whereby the character image is displayed on the monitor (step S957). ). By returning to step S952 and repeating these processes, it is possible to present an animation in which the character moves while changing the facial expression in the virtual space.

なお、上記実施形態では、制御曲面501は、頭蓋骨ボーン302に完全に固定されているものとしていたが、口の変形を大袈裟にしたい、というアニメーション演出上の要望がある場合には、制御曲面501の位置を頭蓋骨ボーン302に対して変化させることで、これを容易に実現することができる。   In the above-described embodiment, the control curved surface 501 is assumed to be completely fixed to the skull bone 302. However, when there is a demand for animation production that the mouth deformation is desired to be large, the control curved surface 501 is used. This can be easily realized by changing the position of the bone with respect to the skull bone 302.

図11、図12は、制御曲面501の位置を頭蓋骨ボーン302に対して変化させることで変化するキャラクターの表情を示す説明図である。以下、本図を参照して説明する。図11は、キャラクターの表情の透視図であり、図12は、キャラクターの表情の外観図である。また、図12においては、符号を省略している。   FIGS. 11 and 12 are explanatory diagrams showing the facial expression of a character that changes by changing the position of the control curved surface 501 with respect to the skull bone 302. Hereinafter, a description will be given with reference to FIG. FIG. 11 is a perspective view of the character's facial expression, and FIG. 12 is an external view of the character's facial expression. Moreover, in FIG. 12, the code | symbol is abbreviate | omitted.

また、図11(a)、図12(a)においては、制御曲面501(図11では灰色に描かれている。)を基本形状401に沿う位置に配置したキャラクターの顔の形状を、前者では斜め前方から透視して図示しており、後者では斜めから俯瞰して図示している。したがって、図11(a)と図12(a)における各制御点やボーンの位置関係は、一致している。   11 (a) and 12 (a), the shape of the character's face in which the control curved surface 501 (shown in gray in FIG. 11) is arranged at a position along the basic shape 401 is shown in the former case. The figure is seen through from diagonally forward, and the latter is shown from overhead. Therefore, the positional relationship between the control points and bones in FIGS. 11A and 12A is the same.

一方、図11(b)、図12(b)においては、制御曲面501(図11では灰色に描かれている。)を基本形状401から離れた位置に配置したキャラクターの顔の形状を、前者では斜め前方から透視して図示しており、後者では斜めから俯瞰して図示している。したがって、図11(b)と図12(b)における各制御点やボーンの位置関係は、一致している。   On the other hand, in FIGS. 11B and 12B, the shape of the face of the character in which the control curved surface 501 (shown in gray in FIG. 11) is arranged at a position away from the basic shape 401 is shown in the former. In FIG. 1, the perspective is seen through from the front, and in the latter, the overhead is seen from the diagonal. Therefore, the positional relationship between the control points and bones in FIGS. 11B and 12B is the same.

また、図11(a)における単制御点ボーン(本図では符号を省略している。)の位置と、図11(b)における単制御点ボーン(本図では符号を省略している。)の位置と、は同じである。しかしながら上記のように、制御曲面501が基本形状401に対してとる位置が異なる。したがって、唇の縁990の形状も、本図(a)では、基本的な表情に合わせたものとなっているのに対し、本図(b)では、たとえば驚愕して口を突き出したような表情となっている。   Further, the position of the single control point bone (not shown in this figure) in FIG. 11A and the single control point bone in FIG. 11B (not shown in this figure). The position of is the same. However, as described above, the position that the control curved surface 501 takes with respect to the basic shape 401 is different. Accordingly, the shape of the lip edge 990 is also adapted to the basic expression in this figure (a), whereas in this figure (b), for example, the mouth is surprised and protrudes. It is a facial expression.

このように、本手法によれば、制御曲面の位置を変化させるだけで、キャラクターの表情を極端に大きく変化させることが容易にできる。   Thus, according to this method, it is possible to easily change the character's facial expression to an extremely large amount only by changing the position of the control curved surface.

以上説明したように、本発明によれば、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   As described above, according to the present invention, an image generating apparatus suitable for generating an image in which the eyes and mouth open and close in the head of a character arranged in the virtual space, using a drawing method widely used in animation, It is possible to provide an image generation method and a program that realizes these on a computer.

プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。It is a schematic diagram which shows the outline | summary structure of the typical information processing apparatus which performs the function of the image generation apparatus of this invention by running a program. 仮想空間内におけるボーン、制御点、スキンの関係を示す説明図である。It is explanatory drawing which shows the relationship between the bone in a virtual space, a control point, and a skin. キャラクターの頭部を形成するボーン、制御点、スキンの様子を示す説明図である。It is explanatory drawing which shows the mode of the bone which forms the head of a character, a control point, and a skin. 頭蓋骨ボーン、単制御点ボーン、キャラクターの頭部の基本形状の関係を示す断面図である。It is sectional drawing which shows the relationship of a skull bone, a single control point bone, and the basic shape of a character's head. 本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図4と同様の位置関係で示す断面図である。It is sectional drawing which shows the relationship of the basic shape of the skull bone which concerns on this embodiment, a single control point bone, a control curved surface, and the head of a character by the positional relationship similar to FIG. 本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図3と同様の位置関係で示す抽出図である。It is an extraction figure which shows the relationship of the basic shape of the skull bone which concerns on this embodiment, a single control point bone, a control curved surface, and the character's head by the same positional relationship as FIG. 本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係をキャラクターの横から見た説明図である。It is explanatory drawing which looked at the relationship between the skull bone based on this embodiment, the single control point bone, the control curved surface, and the basic shape of the character's head from the side of the character. 本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係をキャラクターの横から見た説明図である。It is explanatory drawing which looked at the relationship between the skull bone based on this embodiment, the single control point bone, the control curved surface, and the basic shape of the character's head from the side of the character. 本実施形態に係る画像生成装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the image generation apparatus which concerns on this embodiment. 当該画像生成装置にて実行される画像生成処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the image generation process performed with the said image generation apparatus. 制御曲面の位置を頭蓋骨ボーンに対して変化させることで変化するキャラクターの表情を示す透視図である。It is a perspective view which shows the facial expression of the character which changes by changing the position of a control curved surface with respect to a skull bone. 制御曲面の位置を頭蓋骨ボーンに対して変化させることで変化するキャラクターの表情を示す外観図である。It is an external view which shows the facial expression of the character which changes by changing the position of a control curved surface with respect to a skull bone.

符号の説明Explanation of symbols

100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
200 仮想空間
201 ボーン
202 端点
203 突端
204 座標系
205 制御点
206 スキン
207 ポリゴン
301 首の骨ボーン
302 頭蓋骨ボーン
303 ポリゴン
304 頂点
305 頂点
306 単制御点ボーン
307 単制御点ボーンの突端
308 スキン
311 連結点
401 基本形状
501 制御曲面
901 画像生成装置
902 記憶部
903 更新部
904 交点位置計算部
905 スキン形状計算部
906 生成部
100 Information processing apparatus 101 CPU
102 ROM
103 RAM
104 Interface 105 Controller 106 External Memory 107 Image Processing Unit 108 DVD-ROM Drive 109 NIC
DESCRIPTION OF SYMBOLS 110 Audio processing part 111 Microphone 200 Virtual space 201 Bone 202 End point 203 Protrusion end 204 Coordinate system 205 Control point 206 Skin 207 Polygon 301 Neck bone bone 302 Skull bone 303 Polygon 304 Vertex 305 Vertex 306 Single control point bone 307 Single control point bone Protrusion point 308 Skin 311 Connection point 401 Basic shape 501 Control surface 901 Image generation device 902 Storage unit 903 Update unit 904 Intersection position calculation unit 905 Skin shape calculation unit 906 generation unit

Claims (11)

仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成装置であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第1種もしくは第2種のいずれかであり、
当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第1種であるボーンのいずれかに対して、相対的な位置が固定され、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報のそれぞれを更新する更新部、
当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
を備えることを特徴とする画像生成装置。
An image generation device that generates an image from a plurality of bones, a plurality of control points, and a control curved surface arranged in a virtual space,
Each of the bones has a fixed length, and its end points are connected to other bones.
Each of the plurality of control points has a fixed relative position with respect to any of the plurality of bones, and the type thereof is either the first type or the second type,
The control curved surface is fixed in relative position with respect to any of the plurality of bones whose control points whose relative positions are fixed are all of the first type,
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) For each of the plurality of control points, control point information indicating the bone to which the relative position of the control point is fixed, the fixed relative position, and the type of the control point, ,
A storage unit for storing,
An update unit that updates each of the bone information stored in the storage unit based on the passage of time or an instruction from the user,
Among each of the plurality of control points, for each of the second type control points, a half line extending from the bone to which the relative position of the second type control point is fixed to the second type control point is Intersection position calculation unit for calculating the position of the intersection that intersects the control surface;
Of the plurality of control points, a skin shape calculation unit that calculates the shape of the skin from each position of the first type control point and each calculated position of the intersection,
An image generation apparatus comprising: a generation unit configured to generate an image of the calculated skin shape viewed from a predetermined viewpoint.
仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成装置であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のうち、第1種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第2種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、
当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定され、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のうち、第1種の制御点のそれぞれについて、当該第1種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第1種の制御点情報と、
(d)当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第2種の制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報に指定される姿勢、および、第2種の制御点情報に指定される相対的な位置のそれぞれを更新する更新部、
当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
を備えることを特徴とする画像生成装置。
An image generation device that generates an image from a plurality of bones, a plurality of control points, and a control curved surface arranged in a virtual space,
Each of the bones has a fixed length, and its end points are connected to other bones.
Among the plurality of control points, each of the first type control points has a fixed relative position with respect to any of the plurality of bones, and each of the second type control points has any of the plurality of bones. The relative distance to is fixed,
The relative position of the control curved surface is fixed with respect to any of the plurality of bones,
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) Among each of the plurality of control points, for each of the first type control points, a bone to which the relative position of the first type control point is fixed, the fixed relative position, Control point information of the first type indicating
(D) Among each of the plurality of control points, for each of the second type control points, a bone in which the relative distance of the second type control point is fixed, and a relative position with respect to the bone The second type of control point information shown;
A storage unit for storing,
Update to update each of the posture specified in the bone information stored in the storage unit and the relative position specified in the second type control point information based on the passage of time or an instruction from the user Part,
Among each of the plurality of control points, for each of the second type control points, a half line extending from the bone to which the relative position of the second type control point is fixed to the second type control point is Intersection position calculation unit for calculating the position of the intersection that intersects the control surface;
Of the plurality of control points, a skin shape calculation unit that calculates the shape of the skin from each position of the first type control point and each calculated position of the intersection,
An image generation apparatus comprising: a generation unit configured to generate an image of the calculated skin shape viewed from a predetermined viewpoint.
請求項1または2に記載の画像生成装置であって、
当該複数のボーンは、仮想空間に配置されるキャラクターの頭部の姿勢を定め、
当該複数のボーンのそれぞれの姿勢が所定の基準姿勢にあるときの当該複数の制御点は、当該キャラクターの頭部の基準形状を定め、
当該交点のそれぞれは、当該キャラクターの頭部において変形する口または目の形状を定め、
当該制御曲面は、当該キャラクターの頭部の基準形状のうち口または目の近傍の形状を近似する
ことを特徴とする画像生成装置。
The image generating apparatus according to claim 1 or 2,
The plurality of bones determine the posture of the head of the character placed in the virtual space,
The plurality of control points when the postures of the bones are in a predetermined reference posture define the reference shape of the head of the character,
Each of the intersection points defines a mouth or eye shape that deforms in the character's head,
The control curved surface approximates a shape near the mouth or eyes of the reference shape of the head of the character.
請求項3に記載の画像生成装置であって、
当該制御曲面は、NURBS(Non Uniform Rational B Spline)曲面であり、
当該交点位置計算部は、ニュートン・ラフソン法により、当該交点の位置を計算する
ことを特徴とする画像生成装置。
The image generation device according to claim 3,
The control curved surface is a NURBS (Non Uniform Rational B Spline) curved surface,
The intersection position calculation unit calculates the position of the intersection by Newton-Raphson method.
請求項3に記載の画像生成装置であって、
当該制御曲面は、2次曲面、平面、もしくは、多面体の表面であり、
当該交点位置計算部は、当該半直線に含まれる座標を表す1次式を、当該制御曲面を表す2次以下の式に代入して得られる2次以下の方程式を解くことにより、当該交点の位置を計算する
ことを特徴とする画像生成装置。
The image generation device according to claim 3,
The control curved surface is a quadric surface, a plane, or a polyhedral surface,
The intersection position calculation unit solves a quadratic equation obtained by substituting a linear equation representing coordinates included in the half line into a quadratic equation representing the control curved surface, thereby obtaining the intersection equation. An image generation apparatus characterized by calculating a position.
請求項4または5に記載の画像生成装置であって、
前記計算されるスキンは、当該第1種制御点と、当該交点と、を頂点とする多角形の集合体である
ことを特徴とする画像生成装置。
The image generation apparatus according to claim 4, wherein:
The calculated skin is an aggregate of polygons having the first type control point and the intersection as vertices.
請求項4または5に記載の画像生成装置であって、
前記計算されるスキンは、当該第1種制御点と、当該交点と、を制御点とするNURBS(Non Uniform Rational B Spline)曲面である
ことを特徴とする画像生成装置。
The image generation apparatus according to claim 4, wherein:
The calculated skin is an NURBS (Non Uniform Rational B Spline) curved surface having the first type control point and the intersection as control points.
記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成方法であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第1種もしくは第2種のいずれかであり、
当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第1種であるボーンのいずれかに対して、相対的な位置が固定され、
前記記憶部には、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
が記憶され、
前記更新部が、時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報のそれぞれを更新する更新工程、
前記交点位置計算部が、当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算工程、
前記スキン形状計算部が、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算工程、
前記生成部が、前記計算されたスキンの形状を所定の視点から見た画像を生成する生成工程
を備えることを特徴とする画像生成方法。
An image is generated from a plurality of bones, a plurality of control points, and a control curved surface that are executed in an image generation apparatus including a storage unit, an update unit, an intersection position calculation unit, a skin shape calculation unit, and a generation unit, and are arranged in a virtual space. An image generation method for generating
Each of the bones has a fixed length, and its end points are connected to other bones.
Each of the plurality of control points has a fixed relative position with respect to any of the plurality of bones, and the type thereof is either the first type or the second type,
The control curved surface is fixed in relative position with respect to any of the plurality of bones whose control points whose relative positions are fixed are all of the first type,
In the storage unit,
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) For each of the plurality of control points, control point information indicating the bone to which the relative position of the control point is fixed, the fixed relative position, and the type of the control point, ,
Is remembered,
An update step in which the update unit updates each of the bone information stored in the storage unit based on the passage of time or an instruction from the user,
The intersection position calculation unit, for each of the second type control points among the plurality of control points, from the bone to which the relative position of the second type control point is fixed is the second type control point. An intersection position calculation step for calculating the position of the intersection where the half line extending to the control curved surface intersects,
The skin shape calculation step in which the skin shape calculation unit calculates the shape of the skin from the position of each of the first type control points and the calculated position of the intersection among the plurality of control points. ,
The image generation method, wherein the generation unit includes a generation step of generating an image in which the calculated shape of the skin is viewed from a predetermined viewpoint.
記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成方法であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のうち、第1種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第2種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、
当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定され、
前記記憶部には、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のうち、第1種の制御点のそれぞれについて、当該第1種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第1種の制御点情報と、
(d)当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第2種の制御点情報と、
が記憶され、
前記更新部が、時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報に指定される姿勢、および、第2種の制御点情報に指定される相対的な位置のそれぞれを更新する更新工程、
前記交点位置計算部が、当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算工程、
前記スキン形状計算部が、当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算工程、
前記生成部が、前記計算されたスキンの形状を所定の視点から見た画像を生成する生成工程
を備えることを特徴とする画像生成方法。
An image is generated from a plurality of bones, a plurality of control points, and a control curved surface that are executed in an image generation apparatus including a storage unit, an update unit, an intersection position calculation unit, a skin shape calculation unit, and a generation unit, and are arranged in a virtual space. An image generation method for generating
Each of the bones has a fixed length, and its end points are connected to other bones.
Among the plurality of control points, each of the first type control points has a fixed relative position with respect to any of the plurality of bones, and each of the second type control points has any of the plurality of bones. The relative distance to is fixed,
The relative position of the control curved surface is fixed with respect to any of the plurality of bones,
In the storage unit,
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) Among each of the plurality of control points, for each of the first type control points, a bone to which the relative position of the first type control point is fixed, the fixed relative position, Control point information of the first type indicating
(D) Among each of the plurality of control points, for each of the second type control points, a bone in which the relative distance of the second type control point is fixed, and a relative position with respect to the bone The second type of control point information shown;
Is remembered,
Based on the passage of time or an instruction from the user, the update unit determines the posture specified in the bone information stored in the storage unit and the relative position specified in the second type control point information. Update process to update each,
The intersection position calculation unit, for each of the second type control points among the plurality of control points, from the bone to which the relative position of the second type control point is fixed is the second type control point. An intersection position calculation step for calculating the position of the intersection where the half line extending to the control curved surface intersects,
The skin shape calculation step in which the skin shape calculation unit calculates the shape of the skin from the position of each of the first type control points and the calculated position of the intersection among the plurality of control points. ,
The image generation method, wherein the generation unit includes a generation step of generating an image in which the calculated shape of the skin is viewed from a predetermined viewpoint.
コンピュータに、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成させるプログラムであって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第1種もしくは第2種のいずれかであり、
当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第1種であるボーンのいずれかに対して、相対的な位置が固定され、
当該プログラムは、当該コンピュータを、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報のそれぞれを更新する更新部、
当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
として機能させることを特徴とするプログラム。
A program for causing a computer to generate an image from a plurality of bones, a plurality of control points, and a control curved surface arranged in a virtual space,
Each of the bones has a fixed length, and its end points are connected to other bones.
Each of the plurality of control points has a fixed relative position with respect to any of the plurality of bones, and the type thereof is either the first type or the second type,
The control curved surface is fixed in relative position with respect to any of the plurality of bones whose control points whose relative positions are fixed are all of the first type,
The program runs the computer
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) For each of the plurality of control points, control point information indicating the bone to which the relative position of the control point is fixed, the fixed relative position, and the type of the control point, ,
A storage unit for storing,
An update unit that updates each of the bone information stored in the storage unit based on the passage of time or an instruction from the user,
Among each of the plurality of control points, for each of the second type control points, a half line extending from the bone to which the relative position of the second type control point is fixed to the second type control point is Intersection position calculation unit for calculating the position of the intersection that intersects the control surface;
Of the plurality of control points, a skin shape calculation unit that calculates the shape of the skin from each position of the first type control point and each calculated position of the intersection,
A program that functions as a generation unit that generates an image of the calculated skin shape viewed from a predetermined viewpoint.
コンピュータに、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成させるプログラムであって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のうち、第1種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第2種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、
当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定され、
当該プログラムは、当該コンピュータを、
(a)当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
(b)当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
(c)当該複数の制御点のうち、第1種の制御点のそれぞれについて、当該第1種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第1種の制御点情報と、
(d)当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第2種の制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報に指定される姿勢、および、第2種の制御点情報に指定される相対的な位置のそれぞれを更新する更新部、
当該複数の制御点のうち、第2種の制御点のそれぞれについて、当該第2種の制御点の相対的な位置が固定されるボーンから当該第2種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第1種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
として機能させることを特徴とするプログラム。
A program for causing a computer to generate an image from a plurality of bones, a plurality of control points, and a control curved surface arranged in a virtual space,
Each of the bones has a fixed length, and its end points are connected to other bones.
Among the plurality of control points, each of the first type control points has a fixed relative position with respect to any of the plurality of bones, and each of the second type control points has any of the plurality of bones. The relative distance to is fixed,
The relative position of the control curved surface is fixed with respect to any of the plurality of bones.
The program runs the computer
(A) For each of the plurality of bones, bone information indicating a relative posture with respect to other bones to which the end points are connected;
(B) control surface information indicating the bone to which the relative position of the control curved surface is fixed, the relative position to be fixed, and the shape of the control curved surface;
(C) Among each of the plurality of control points, for each of the first type control points, a bone to which the relative position of the first type control point is fixed, the fixed relative position, Control point information of the first type indicating
(D) Among each of the plurality of control points, for each of the second type control points, a bone in which the relative distance of the second type control point is fixed, and a relative position with respect to the bone The second type of control point information shown;
A storage unit for storing,
Update to update each of the posture specified in the bone information stored in the storage unit and the relative position specified in the second type control point information based on the passage of time or an instruction from the user Part,
Among each of the plurality of control points, for each of the second type control points, a half line extending from the bone to which the relative position of the second type control point is fixed to the second type control point is Intersection position calculation unit for calculating the position of the intersection that intersects the control surface;
Of the plurality of control points, a skin shape calculation unit that calculates the shape of the skin from each position of the first type control point and each calculated position of the intersection,
A program that functions as a generation unit that generates an image of the calculated skin shape viewed from a predetermined viewpoint.
JP2007018841A 2007-01-30 2007-01-30 Image generating apparatus, image generating method, and program Expired - Fee Related JP4287479B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007018841A JP4287479B2 (en) 2007-01-30 2007-01-30 Image generating apparatus, image generating method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007018841A JP4287479B2 (en) 2007-01-30 2007-01-30 Image generating apparatus, image generating method, and program

Publications (2)

Publication Number Publication Date
JP2008186219A JP2008186219A (en) 2008-08-14
JP4287479B2 true JP4287479B2 (en) 2009-07-01

Family

ID=39729221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007018841A Expired - Fee Related JP4287479B2 (en) 2007-01-30 2007-01-30 Image generating apparatus, image generating method, and program

Country Status (1)

Country Link
JP (1) JP4287479B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4563461B2 (en) * 2008-02-08 2010-10-13 株式会社コナミデジタルエンタテインメント Image generating apparatus, image generating method, and program
CN113112576A (en) * 2021-04-15 2021-07-13 华强方特(深圳)动漫有限公司 Method for automatically disassembling Maya large bone total weight to fine differentiated bone

Also Published As

Publication number Publication date
JP2008186219A (en) 2008-08-14

Similar Documents

Publication Publication Date Title
US6317130B1 (en) Apparatus and method for generating skeleton-based dynamic picture images as well as medium storing therein program for generation of such picture images
Zhang et al. BodyAvatar: creating freeform 3D avatars using first-person body gestures
JP4976473B2 (en) Image generating apparatus, image generating method, and program
JP4206547B2 (en) Image processing method, image processing apparatus, integrated shaping model data used therefor, and recording medium on which image processing program is recorded
JP4287479B2 (en) Image generating apparatus, image generating method, and program
JP4199764B2 (en) Skin control point position calculation device, calculation method, and program
JP4244352B2 (en) Image generating apparatus, image generating method, and program
JP5920858B1 (en) Program, information processing apparatus, depth definition method, and recording medium
JP4367804B2 (en) Image generation system and information storage medium
JP4579964B2 (en) Image generating apparatus, image generating method, and program
JP4815521B2 (en) Image processing apparatus, image processing method, and program
JP6062589B1 (en) Program, information processing apparatus, influence derivation method, image generation method, and recording medium
CN115908656A (en) Three-dimensional expression simulation method and device, storage medium, electronic equipment and computer program product
JP4575937B2 (en) Image generating apparatus, image generating method, and program
Çetinaslan Position manipulation techniques for facial animation
JP4563461B2 (en) Image generating apparatus, image generating method, and program
JP2023540434A (en) System and method for computer animation using operation order transformation engine
JP5155262B2 (en) Image generating apparatus, image generating method, and program
JP4210293B2 (en) Simulation apparatus, simulation method, and program
Yli-Pentti On production of 3D character models for games
JP4113179B2 (en) Simulation apparatus, simulation method, and program
JP4068093B2 (en) Simulation apparatus, simulation method, and program
Brunel Time-independent geometrical deformation for elastic contacts
JP2004078695A (en) Animation preparation system
Wang et al. Example-driven animation synthesis

Legal Events

Date Code Title Description
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: 20090324

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

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

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees