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

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

Info

Publication number
JP5043919B2
JP5043919B2 JP2009272384A JP2009272384A JP5043919B2 JP 5043919 B2 JP5043919 B2 JP 5043919B2 JP 2009272384 A JP2009272384 A JP 2009272384A JP 2009272384 A JP2009272384 A JP 2009272384A JP 5043919 B2 JP5043919 B2 JP 5043919B2
Authority
JP
Japan
Prior art keywords
bone
main
bones
skin
image
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.)
Active
Application number
JP2009272384A
Other languages
Japanese (ja)
Other versions
JP2011113524A (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 JP2009272384A priority Critical patent/JP5043919B2/en
Publication of JP2011113524A publication Critical patent/JP2011113524A/en
Application granted granted Critical
Publication of JP5043919B2 publication Critical patent/JP5043919B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E40/00Technologies for an efficient electrical power generation, transmission or distribution
    • Y02E40/60Superconducting electric elements or equipment; Power systems integrating superconducting elements or equipment

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、ボーンおよび制御点によって定義される3次元モデルからの画像生成において処理可能な制御点の数を増すのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムに関する。   The present invention provides an image generation apparatus, an image generation method, and a computer that are suitable for increasing the number of control points that can be processed in image generation from a three-dimensional model defined by bones and control points. Regarding the program.

従来から、仮想空間内に配置されたキャラクター等の形状を3次元モデルで表現して、3次元モデルから画像を生成する技術が提案されている。   Conventionally, a technique has been proposed in which the shape of a character or the like placed in a virtual space is represented by a three-dimensional model and an image is generated from the three-dimensional model.

このような技術では、ボーンを連結してキャラクター等の概形を定義する。ボーンは、キャラクターの骨に相当するものである。   In such technology, bones are connected to define the outline of a character or the like. The bone is equivalent to the character's bone.

これらのボーンには、依存関係がある。仮想空間に対する位置および向きが定められるボーンが基礎となり、この基礎となるボーンに連結するボーンは、基礎ボーンに対する相対的な位置および向きが定められ、位置や向きが定まったボーンに対する相対的な位置および向きを定めることにより、他のボーンが連結され……、以下この繰り返しによって、ボーン全体の形状が定められる。   These bones have dependencies. A bone whose position and orientation with respect to the virtual space are defined as a basis, and a bone connected to this underlying bone is defined with a relative position and orientation relative to the foundation bone, and relative to a bone whose position and orientation are determined. By determining the direction and the other bones are connected, the shape of the whole bone is determined by repeating this operation.

各ボーンには制御点が固定されている。制御点は、キャラクターの皮膚の上の定められた位置に相当するものであり、ボーンの動きに連動して移動する。すなわち、ボーンに対して相対的にその位置が固定されている。   Each bone has a fixed control point. The control point corresponds to a predetermined position on the character's skin and moves in conjunction with the movement of the bone. That is, its position is fixed relative to the bone.

制御点を頂点とするポリゴン、制御点の位置の重み付き平均の位置を頂点とするポリゴン、あるいは、制御点により形状が定義されるNURBS(Non Uniform Rational B Spline)曲面により、スキンの形状が定められる。スキンは、キャラクターの表面、すなわち、皮膚等に相当する。   The shape of the skin is determined by a polygon whose control point is the vertex, a polygon whose vertex is the weighted average position of the control point, or a NURBS (Non Uniform Rational B Spline) surface whose shape is defined by the control point. It is done. The skin corresponds to the surface of the character, that is, the skin.

スキンからキャラクター等の画像を生成する際には、ポリゴン等を、視点から遠い順(奥行きが深い順)に選択して選択したポリゴンを投影面に投影した領域を取得し、その領域に所定のテクスチャ画像を変形して貼り込むことによって、描画を行う。したがって、視点からの距離に基づいてポリゴン等をソートする必要がある。   When generating an image of a character, etc., from a skin, select polygons in order from the viewpoint (in order of depth), acquire the area where the selected polygons are projected on the projection plane, Drawing is performed by deforming and pasting the texture image. Therefore, it is necessary to sort polygons based on the distance from the viewpoint.

ボーン同士の相対的な位置が変化すると、それにともなって制御点が移動し、スキンの形状が変形し、生成される画像も変化する。このような変形によって、キャラクター等の3次元モデルの位置や姿勢の変化をアニメーションにより表現することが可能となる。   When the relative position of the bones changes, the control point moves accordingly, the shape of the skin is deformed, and the generated image also changes. By such deformation, it becomes possible to express changes in the position and posture of a three-dimensional model such as a character by animation.

これらの3次元グラフィックス処理については、画像処理コプロセッサなどを利用して高速化を図ることが多い。   These three-dimensional graphics processes are often accelerated using an image processing coprocessor or the like.

以下に掲げる特許文献1、2、3においては、ボーンと制御点を利用して、キャラクターの各部を動作させる技術が提案されている。   In Patent Documents 1, 2, and 3 listed below, techniques for operating each part of a character using bones and control points are proposed.

特許第4287479号公報Japanese Patent No. 4287479 特開2009−187472号公報JP 2009-187472 A 特許第4199764号公報Japanese Patent No. 4199764

しかしながら、たとえば携帯型情報処理装置等、画像処理コプロセッサの性能が低い場合には、多数のボーン、制御点、ポリゴン等を一度に処理することができない場合がある。   However, when the performance of the image processing coprocessor, such as a portable information processing apparatus, is low, a large number of bones, control points, polygons, etc. may not be processed at a time.

したがって、一度に処理可能な制御点の数等に制限がある場合であっても、それを超える3次元モデルを利用して画像を生成したい、という要望は強い。   Therefore, even when the number of control points that can be processed at one time is limited, there is a strong demand for generating an image using a three-dimensional model exceeding the control points.

本発明は、上記のような課題を解決するもので、ボーンおよび制御点によって定義される3次元モデルからの画像生成において処理可能な制御点の数を増すのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。   The present invention solves the above-described problems, and is an image generation apparatus and image generation suitable for increasing the number of control points that can be processed in image generation from a three-dimensional model defined by bones and control points. It is an object of the present invention to provide a method and a program for realizing the method 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 and a plurality of control points arranged in a virtual space.

以下、あるボーンの位置および向きが他のボーンに対して相対的に定められている場合、当該あるボーンは当該他のボーンに依存する、という。   Hereinafter, when the position and orientation of a certain bone is determined relative to another bone, the certain bone depends on the other bone.

また、あるボーンの位置および向きが前記仮想空間に対して定められている場合、当該あるボーンは当該仮想空間に依存する、という。   Further, when the position and orientation of a certain bone are determined with respect to the virtual space, the certain bone depends on the virtual space.

一方、複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定される。したがって、あるボーンが仮想空間内で位置や向きを変化させると、当該ボーンに固定される制御点の位置や向きもこれに連動して変化することになる。   On the other hand, the relative position of each of the plurality of control points with respect to any of the plurality of bones is fixed. Therefore, when a certain bone changes its position and orientation in the virtual space, the position and orientation of the control point fixed to the bone also changes accordingly.

そして、当該複数のボーンの種類には、主ボーンがあり、当該主ボーンのいずれか一つは、当該仮想空間に依存し、それ以外の主ボーンのそれぞれは、他のいずれかの主ボーンに依存し、複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが主ボーンである場合、当該主ボーンに対するグループに分類される。   The types of the plurality of bones include a main bone, one of the main bones depends on the virtual space, and each of the other main bones is one of the other main bones. The plurality of control points are classified into groups for the main bone when the bone to which the relative position of the control point is fixed is the main bone.

すなわち、本発明では、ボーンはいずれも主ボーンであり、制御点はいずれかの主ボーンに対するグループに分類されることを想定している。なお、後述するように、ボーンには主ボーンと副ボーンがあるような態様においても、制御点がいずれかの主ボーンに対するグループに分類される場合には、本発明の範囲に含まれる。   That is, in the present invention, it is assumed that all bones are main bones, and control points are classified into groups for any main bone. As will be described later, even in a mode in which a bone has a main bone and a sub-bone, if the control points are classified into groups for any of the main bones, they are included in the scope of the present invention.

さて、本発明の画像生成装置は、記憶部、主更新部、選択部、位置計算部、スキン計算部、描画部、表示部を備え、以下のように構成する。   The image generation apparatus of the present invention includes a storage unit, a main update unit, a selection unit, a position calculation unit, a skin calculation unit, a drawing unit, and a display unit, and is configured as follows.

すなわち、記憶部には、当該複数のボーンのそれぞれについて、当該ボーンが依存する他のボーンに対する相対的な位置および向きが記憶される。   That is, the storage unit stores the relative position and orientation of each of the plurality of bones with respect to other bones on which the bone depends.

このほか、記憶部には、ボーンの種類、あるボーンに固定されている制御点の座標や、当該制御点によって形が定められるポリゴンやNURBS曲面、貼り込まれるテクスチャ情報など、種々の情報が記憶される。   In addition, the storage unit stores various types of information such as the type of bone, the coordinates of control points fixed to a bone, polygons and NURBS curved surfaces defined by the control points, and texture information to be pasted. Is done.

一方、主更新部は、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるそれぞれの主ボーンの位置および向きを更新する。   On the other hand, the main updating unit updates the position and orientation of each main bone stored in the storage unit based on the passage of time or an instruction from the user.

たとえば、ボーンおよび制御点によって定められる3次元モデルがキャラクターの外形を表すものである場合には、主ボーンの位置および向きが更新されることによって、キャラクターの位置や姿勢が変化することになる。   For example, when a three-dimensional model defined by bones and control points represents the outer shape of the character, the position and orientation of the character change by updating the position and orientation of the main bone.

さらに、選択部は、主更新部による更新がされると、仮想空間内の視点位置と視線方向に対する主ボーンのそれぞれの奥行きに基づいて、主ボーンの順序を定め、当該決定された順序で、主ボーンを順に選択する。   Further, when updated by the main update unit, the selection unit determines the order of the main bones based on the viewpoint position in the virtual space and the respective depths of the main bones with respect to the line-of-sight direction, and in the determined order, Select the main bones in order.

通常の3次元グラフィックスでは、すべてのポリゴンについて視点からの奥行きを求め、視点から遠い順にすべてのポリゴンをソートして、そのポリゴンを順に描画する。一方、本発明では、主ボーンをソートして、以下に述べるように、主ボーンごとに、当該主ボーンに対するグループに分類される制御点により形成されるポリゴン等を描画する。   In normal three-dimensional graphics, the depth from the viewpoint is obtained for all polygons, all the polygons are sorted in order from the viewpoint, and the polygons are drawn in order. On the other hand, in the present invention, the main bones are sorted and, as will be described below, for each main bone, polygons formed by control points classified into groups for the main bone are drawn.

このように、ポリゴン等が互いに隠したり隠されたりする前後関係を、ポリゴン等の位置そのものを利用して判断するのではなく、そのポリゴン等を定義する制御点が属するグループに対する主ボーンの位置を利用して判断するのが、本発明の特徴の一つである。   In this way, the position of the main bone relative to the group to which the control point defining the polygon belongs is not determined by using the position of the polygon itself to determine the context in which the polygons are hidden or hidden from each other. It is one of the features of the present invention to make a judgment using it.

さらに、位置計算部は、選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する。   Further, the position calculation unit calculates the position in the virtual space of the control points classified into the group for the selected main bone.

主ボーンの順序を定める際に、各主ボーンの仮想空間における位置および向きは確定している。したがって、この情報に基づいて、各制御点の仮想空間における位置を計算することができる。   When determining the order of the main bones, the position and orientation of each main bone in the virtual space are fixed. Therefore, based on this information, the position of each control point in the virtual space can be calculated.

そして、スキン計算部は、制御点の位置が計算されると、当該計算された制御点の位置から、スキンの形状を計算する。   Then, when the position of the control point is calculated, the skin calculation unit calculates the shape of the skin from the calculated position of the control point.

典型的には、制御点そのものを頂点とするポリゴン、制御点の位置の重み付き平均位置を頂点とするポリゴン、あるいは、制御点により形状が定義されるNURBS曲面などにより、スキンの形状が定められる。   Typically, the shape of the skin is determined by a polygon whose vertex is the control point itself, a polygon whose vertex is the weighted average position of the control point, or a NURBS curved surface whose shape is defined by the control point. .

一方、描画部は、スキンの形状が計算されると、当該計算されたスキンの形状を、視点位置から視線方向に見た様子を表すスキン画像を、既に描画済みの画像に重ねて描画する。   On the other hand, when the shape of the skin is calculated, the drawing unit draws a skin image representing the calculated shape of the skin in the line-of-sight direction from the viewpoint position on the already drawn image.

スキンの形状が定まれば、当該スキンが描画されるべき領域が定まる。そこで、画像を記憶する記憶域のうち、スキンが描画されるべき領域に、当該スキンに対応するテクスチャを貼り込むことによって、描画を行うのである。   When the shape of the skin is determined, the area in which the skin is to be drawn is determined. Therefore, drawing is performed by pasting a texture corresponding to the skin into an area where the skin is to be drawn in the storage area for storing the image.

さらに、表示部は、すべての主ボーンに対するグループに分類される制御点の位置から計算されたスキンの形状を表すスキン画像が描画されると、既に描画済みの画像を、画面に表示する。   Further, when the skin image representing the shape of the skin calculated from the positions of the control points classified into groups for all the main bones is drawn, the display unit displays the already drawn image on the screen.

典型的には、表示すべき画像が完成した後、垂直同期割込を待機し、垂直同期割込が生じてからモニター画面に転送表示することによって、画面のチラつきを抑制する。   Typically, after an image to be displayed is completed, a vertical synchronization interrupt is waited for, and after the vertical synchronization interrupt is generated, the screen is prevented from flickering by being transferred and displayed on the monitor screen.

ここで、位置計算部、スキン計算部、描画部における処理は、画像処理コプロセッサにおいて実行されるのが典型的である。   Here, the processing in the position calculation unit, skin calculation unit, and drawing unit is typically executed by an image processing coprocessor.

本発明では、主ボーンや制御点を複数のグループに分割することで、一度の描画で考慮しなければならない主ボーンや制御点の数を抑えることができるので、主ボーンや制御点の数に制限があるような画像処理プロセッサ等を利用した場合でも、画像生成において、処理可能な制御点の数を増加させることができるようになる。   In the present invention, the number of main bones and control points can be reduced by dividing the main bones and control points into a plurality of groups, thereby reducing the number of main bones and control points that must be considered in one drawing. Even when an image processor or the like that has limitations is used, the number of control points that can be processed can be increased in image generation.

本発明の画像生成装置は、バッファ部をさらに備え、以下のように構成することができる。   The image generation apparatus of the present invention further includes a buffer unit and can be configured as follows.

すなわち、バッファ部には、あらかじめ用意された背景画像が記憶される。   That is, a background image prepared in advance is stored in the buffer unit.

ここで、バッファ部は、ダブルバッファリング技術によって、描画の際のチラつきを防止するために利用される。すなわち、画面に表示すべき画像の完成形がバッファ部内に形成された後に、モニター等の表示画面に当該画像が転送表示されることによって、表示のチラつきが生じなくなる。   Here, the buffer unit is used to prevent flickering during drawing by a double buffering technique. That is, after the completed form of the image to be displayed on the screen is formed in the buffer unit, the image is transferred and displayed on a display screen such as a monitor, thereby preventing display flickering.

一方、描画部は、スキン画像を、バッファ部に既に記憶されている画像に重ねて描画し、表示部は、バッファ部に記憶されている画像を表示する。   On the other hand, the drawing unit draws the skin image so as to overlap the image already stored in the buffer unit, and the display unit displays the image stored in the buffer unit.

本発明によれば、画像のチラつきが生じにくくなるとともに、あらかじめ用意した背景画像に重ねてスキンを描くことによって、スキンの描画に計算時間を割き、より精細な画像を得ることができるようになる。   According to the present invention, flickering of an image is less likely to occur, and a skin is drawn on a background image prepared in advance, so that calculation time can be spent on drawing the skin and a finer image can be obtained. .

また、本発明の画像生成装置において、当該複数のボーンの種類には、主ボーンのほか、副ボーンがあり、当該副ボーンのそれぞれは、いずれかの主ボーンもしくは他のいずれかの副ボーンに依存し、複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが副ボーンである場合、当該副ボーンが依存する主ボーンもしくは当該副ボーンが依存する他の副ボーンが依存する主ボーンに対するグループに分類される。   In the image generating apparatus of the present invention, the types of the plurality of bones include a secondary bone in addition to the primary bone, and each of the secondary bones is either one of the primary bones or any of the other secondary bones. Each of the plurality of control points, if the bone to which the relative position of the control point is fixed is a sub bone, the main bone on which the sub bone depends or other sub bone on which the sub bone depends Into a group for the main bone on which it depends.

上記発明では、制御点はいずれかの主ボーンに固定される状況を想定していたが、本発明では、制御点は主ボーンもしくは副ボーンのいずれかに固定される。ただし、副ボーンの依存関係をたどっていくと、最終的にはいずれかの主ボーンに至ることとなるので、副ボーンに固定された制御点であっても、いずれかの主ボーンに対するグループに分類されることになる。   In the above invention, the control point is assumed to be fixed to any main bone, but in the present invention, the control point is fixed to either the main bone or the sub bone. However, if you follow the dependency relationship of the secondary bone, it will eventually reach one of the main bones, so even if the control point is fixed to the secondary bone, Will be classified.

たとえば、キャラクターの手首から先を考えた場合、主ボーンは、掌の位置や向きを定義するものであり、副ボーンは、指の位置や向きを定義するものである。また、手首から先の形状を表す制御点は、いずれも、掌の主ボーンに対するグループに分類されることになる。   For example, when considering the point from the wrist of the character, the main bone defines the position and orientation of the palm, and the secondary bone defines the position and orientation of the finger. In addition, all the control points representing the shape beyond the wrist are classified into groups for the main bone of the palm.

一方、画像生成装置は、副更新部をさらに備える。ここで、副更新部は、主ボーンが選択されると、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶される当該選択された主ボーンに依存する副ボーンの位置および向きを更新する。   On the other hand, the image generation apparatus further includes a sub-update unit. Here, when the main bone is selected, the sub update unit determines the position and orientation of the sub bone depending on the selected main bone stored in the storage unit based on the passage of time or an instruction from the user. Update.

上記のように、ボーンの相対的な位置が変化すると、キャラクター等の位置や姿勢が変化する。そして、主ボーンが選択された際には、当該主ボーンの仮想空間における位置や向きは確定している。したがって、主ボーンに依存する副ボーンの位置や向きも、確定させることができる。副更新部は、この処理を行うのである。   As described above, when the relative position of the bone changes, the position or posture of the character or the like changes. When the main bone is selected, the position and orientation of the main bone in the virtual space are fixed. Therefore, the position and orientation of the sub bone depending on the main bone can also be determined. The sub-update unit performs this process.

さらに、位置計算部は、副ボーンの位置および向きが更新されると、選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する。   Further, when the position and orientation of the sub-bone are updated, the position calculation unit calculates the position in the virtual space of the control points classified into the group for the selected main bone.

すなわち、位置計算部が選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算するのは、副ボーンの位置および向きが更新された後とする。   That is, the position calculation unit calculates the position in the virtual space of the control points classified into the group for the selected main bone after the position and orientation of the sub bone are updated.

このように構成することで、各グループに対する主ボーンこれに依存する副ボーンの位置がすべて確定した後に、描画処理が行われることになるのである。   With this configuration, the drawing process is performed after all the positions of the sub-bones depending on the main bone for each group are determined.

本発明によれば、グループの描画順序を主ボーンによって簡易に計算する一方で、細かい形状の変化は副ボーンによって行うことで、複雑な形状の3次元モデルの画像を少ない計算量で生成することができるようになる。   According to the present invention, while the drawing order of the group is simply calculated by the main bone, the fine shape change is performed by the sub bone, thereby generating a complex three-dimensional model image with a small amount of calculation. Will be able to.

また、本発明の画像生成装置において、選択部は、主ボーンの順序を、視点位置からの奥行き距離が遠い順に定めるように構成することができる。   In the image generation device of the present invention, the selection unit can be configured to determine the order of the main bones in order of increasing depth distance from the viewpoint position.

本発明は、上記発明の好適実施形態に係るものであり、主ボーンの順序を、Zバッファ法と同様の手法で定めるものである。   The present invention relates to a preferred embodiment of the above invention, and determines the order of main bones by the same method as the Z buffer method.

本発明によれば、グループの描画順序を簡易な計算で定めることができるようになる。   According to the present invention, the drawing order of groups can be determined by simple calculation.

また、本発明の画像生成装置において、主ボーンには、他の主ボーンに随伴することが設定されるものがあり、選択部は、ある主ボーンが選択され、当該選択された主ボーンに随伴する他の主ボーンがある場合、当該随伴する他の主ボーンも同時に選択するように構成することができる。   Further, in the image generating apparatus of the present invention, some main bones are set to accompany other main bones, and the selection unit selects a main bone and accompanies the selected main bone. If there are other main bones to be selected, the other main bones to be accompanied can be selected at the same time.

たとえばキャラクターを画面表示する場合、上腕のボーンと下腕のボーンが、互いに随伴し合うようにし、腿のボーンと脛のボーンが、互いに随伴し合うようにする。   For example, when a character is displayed on the screen, an upper arm bone and a lower arm bone are associated with each other, and a thigh bone and a shin bone are associated with each other.

肘や膝の折れ曲がり部分は、ポリゴンで表現した場合に、形状が捻れてしまう等の問題が生じやすい部分である。本発明では、互いに随伴し合う主ボーンに対するグループのスキンは、同時にバッファ部へ描画される。   The bent portion of the elbow or knee is a portion where problems such as twisting of the shape are likely to occur when expressed by polygons. In the present invention, the group skins for the main bones accompanying each other are simultaneously drawn in the buffer unit.

したがって、本発明によれば、主ボーンの随伴関係を適切に定義することで、スキンの形状が不自然になってしまうことを防止できるようになる。   Therefore, according to the present invention, it is possible to prevent the skin shape from becoming unnatural by appropriately defining the accompanying relationship of the main bone.

また、本発明の画像生成装置において、スキンは、制御点を頂点とするポリゴンであり、異なる複数のグループに属する制御点を頂点とするポリゴンは、当該複数のグループのいずれかに対する主ボーンが選択されることによって描画されるように構成することができる。   In the image generating apparatus of the present invention, the skin is a polygon having a control point as a vertex, and a polygon having a control point as a vertex belonging to a plurality of different groups is selected by a main bone for any of the plurality of groups. Can be configured to be rendered.

本発明は、制御点をポリゴンの頂点とする態様である。あるグループに属する頂点のみからなるポリゴンは、そのグループが選択された際に描画される。   The present invention is an aspect in which the control point is a vertex of a polygon. A polygon consisting only of vertices belonging to a certain group is drawn when that group is selected.

したがって、ポリゴンの頂点に、異なるグループに属する頂点がある場合には、いずれかのグループに対する主ボーンが選択された際に、描画を行えば良い。   Therefore, if there are vertices belonging to different groups among the vertices of the polygon, drawing may be performed when the main bone for any group is selected.

あるグループに対する主ボーンが選択された際に、当該グループに属する制御点を頂点とするポリゴンをすべて描画する、としても良い。   When a main bone for a group is selected, all polygons having apexes of control points belonging to the group may be drawn.

本発明は上記発明の好適実施形態に係るもので、制御点を頂点とするポリゴンによってスキンを定義することによって、適切に画像が描画できるようになる。   The present invention relates to a preferred embodiment of the invention described above, and an image can be appropriately drawn by defining a skin with polygons having control points as vertices.

また、本発明の画像生成装置において、スキンは、制御点の位置の重み付け平均位置を頂点とするポリゴンであり、異なる複数のグループに属する制御点から定められる重み付け平均位置を頂点とするポリゴンは、当該複数のグループのいずれかに対する主ボーンが選択されることによって描画されるように構成することができる。   Further, in the image generating apparatus of the present invention, the skin is a polygon having a vertex at a weighted average position of the position of the control point, and a polygon having a vertex at the weighted average position determined from control points belonging to a plurality of different groups is: It can be configured to be drawn by selecting a main bone for any of the plurality of groups.

本発明は、ポリゴンの頂点の位置を、制御点の位置の重み付き平均とするもので、上記発明は、本発明の特殊な場合と考えることも可能である。   In the present invention, the positions of the vertices of the polygon are set as a weighted average of the positions of the control points, and the present invention can be considered as a special case of the present invention.

したがって、本発明によっても、適切に画像が描画できるようになる。   Therefore, according to the present invention, an image can be drawn appropriately.

また、本発明の画像生成装置において、選択部による選択によって描画されるべきポリゴンの数が、所定の上限を超えない限り、選択部は、当該主ボーンの順序における次の主ボーンを同時に選択するように構成することができる。   In the image generation apparatus of the present invention, the selection unit simultaneously selects the next main bone in the order of the main bones unless the number of polygons to be drawn by selection by the selection unit exceeds a predetermined upper limit. It can be constituted as follows.

本発明では、一度に処理可能なポリゴンの数(制御点の数に略比例する)を超えない限り、できるだけ多くのグループを同時に処理しようとする。   In the present invention, as many groups as possible are processed simultaneously unless the number of polygons that can be processed at one time (approximately proportional to the number of control points) is exceeded.

本発明によれば、一度に処理可能なポリゴン数や制御点の数に制限がある場合であっても、できるだけ短時間に、これらを超える3次元モデルの画像を生成することができるようになる。   According to the present invention, even when the number of polygons and the number of control points that can be processed at one time are limited, it is possible to generate a three-dimensional model image exceeding these in as short a time as possible. .

本発明のその他の観点に係る画像生成方法は、仮想空間に配置される複数のボーンおよび複数の制御点から画像を生成する。   An image generation method according to another aspect of the present invention generates an image from a plurality of bones and a plurality of control points arranged in a virtual space.

ここで、あるボーンの位置および向きが他のボーンに対して相対的に定められている場合、当該あるボーンは当該他のボーンに依存し、あるボーンの位置および向きが仮想空間に対して定められている場合、当該あるボーンは当該仮想空間に依存し、複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、当該複数のボーンの種類には、主ボーンがあり、当該主ボーンのいずれか一つは、当該仮想空間に依存し、それ以外の主ボーンのそれぞれは、他のいずれかの主ボーンに依存し、複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが主ボーンである場合、当該主ボーンに対するグループに分類される。   Here, when the position and orientation of a certain bone are determined relative to another bone, the certain bone depends on the other bone, and the position and orientation of the certain bone is determined with respect to the virtual space. The certain bone depends on the virtual space, and the position of each of the plurality of control points is fixed relative to one of the plurality of bones. There is a bone, and one of the main bones depends on the virtual space, each of the other main bones depends on one of the other main bones, and each of a plurality of control points When the bone to which the relative position of the control point is fixed is a main bone, it is classified into a group for the main bone.

さらに、画像生成方法は、記憶部、主更新部、バッファ部、選択部、位置計算部、スキン計算部、描画部、表示部を有する画像生成装置によって実行される。   Furthermore, the image generation method is executed by an image generation apparatus including a storage unit, a main update unit, a buffer unit, a selection unit, a position calculation unit, a skin calculation unit, a drawing unit, and a display unit.

そして、記憶部には、当該複数のボーンのそれぞれについて、当該ボーンが依存する他のボーンに対する相対的な位置および向きが記憶される。   The storage unit stores the relative position and orientation of each of the plurality of bones with respect to other bones on which the bone depends.

一方、バッファ部には、あらかじめ用意された背景画像が記憶される。   On the other hand, a background image prepared in advance is stored in the buffer unit.

さらに、画像生成方法は、主更新工程、選択工程、位置計算工程、スキン計算工程、描画工程、表示工程を備え、以下のように構成する。   Further, the image generation method includes a main update process, a selection process, a position calculation process, a skin calculation process, a drawing process, and a display process, and is configured as follows.

ここで、主更新工程では、主更新部が、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるそれぞれの主ボーンの位置および向きを更新する。   Here, in the main update step, the main update unit updates the position and orientation of each main bone stored in the storage unit based on the passage of time or an instruction from the user.

一方、選択工程では、主更新部による更新がされると、選択部が、仮想空間内の視点位置と視線方向に対する主ボーンのそれぞれの奥行きに基づいて、主ボーンの順序を定め、当該決定された順序で、主ボーンを順に選択する。   On the other hand, in the selection step, when the update is performed by the main update unit, the selection unit determines the order of the main bones based on the viewpoint position in the virtual space and the respective depths of the main bones with respect to the viewing direction. Select the main bones in order.

さらに、位置計算工程では、位置計算部が、選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する。   Further, in the position calculation step, the position calculation unit calculates the position in the virtual space of the control points classified into a group for the selected main bone.

そして、スキン計算工程では、制御点の位置が計算されると、スキン計算部が、当該計算された制御点の位置から、スキンの形状を計算する。   In the skin calculation step, when the position of the control point is calculated, the skin calculation unit calculates the shape of the skin from the calculated position of the control point.

一方、描画工程では、スキンの形状が計算されると、描画部が、当該計算されたスキンの形状を、視点位置から視線方向に見た様子を表すスキン画像を、バッファ部に既に記憶されている画像に重ねて描画する。   On the other hand, in the drawing process, when the shape of the skin is calculated, the drawing unit has already stored the skin image representing the appearance of the calculated skin shape in the viewing direction from the viewpoint position in the buffer unit. Draw over the existing image.

さらに、表示工程では、すべての主ボーンに対するグループに分類される制御点の位置から計算されたスキンの形状を表すスキン画像がバッファ部に描画されると、表示部が、バッファ部に記憶されている画像を、画面に表示する。   Further, in the display process, when a skin image representing the shape of the skin calculated from the positions of control points classified into groups for all main bones is drawn in the buffer unit, the display unit is stored in the buffer unit. Display the current image on the screen.

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

また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。   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.

本発明によれば、ボーンおよび制御点によって定義される3次元モデルからの画像生成において処理可能な制御点の数を増すのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   According to the present invention, an image generation apparatus suitable for increasing the number of control points that can be processed in image generation from a three-dimensional model defined by bones and control points, an image generation method, and these are performed by a computer. A program to be realized can be provided.

典型的な情報処理装置の概要構成を示す模式図である。It is a schematic diagram which shows schematic structure of a typical information processing apparatus. 本実施形態の処理対象となるモデルのボーン、制御点、ポリゴンの様子を示す説明図である。It is explanatory drawing which shows the condition of the bone of the model used as the process target of this embodiment, a control point, and a polygon. 主ボーンと視点と間の距離を定める手法を示す説明図である。It is explanatory drawing which shows the method of determining the distance between a main bone and a viewpoint. 本実施形態に係る画像生成装置の概要構成を示す説明図である。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 an image generation process. バッファ部に描画がされていく様子を示す説明図である。It is explanatory drawing which shows a mode that drawing is carried out to the buffer part. バッファ部に描画がされていく様子を示す説明図である。It is explanatory drawing which shows a mode that drawing is carried out to the buffer part. バッファ部に描画がされていく様子を示す説明図である。It is explanatory drawing which shows a mode that drawing is carried out to the buffer part. バッファ部に描画がされていく様子を示す説明図である。It is explanatory drawing which shows a mode that drawing is carried out to the buffer part. 随伴関係を考慮したグループの様子を示す説明図である。It is explanatory drawing which shows the mode of the group which considered the adjoint relationship.

以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。   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 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 illustrating a schematic configuration of a typical information processing apparatus that can function as an image generation apparatus according to the present embodiment by executing a program. Hereinafter, a description will be given with reference to FIG.

本図に示す情報処理装置101は、携帯可能なマルチメディア端末であり、CPU(Central Processing Unit)102、RAM(Random Access Memory)103、ROM(Read Only Memory)104、入力装置105、画像処理部106、液晶ディスプレイ107、音声処理部108、ヘッドホン109、カセットリーダ110、ROMカセット111、外部メモリ112、RTC(Real Time Clock)113、無線LAN(Local Area Network)インターフェース114、カメラ115を備える。   An information processing apparatus 101 shown in the figure is a portable multimedia terminal, and includes a central processing unit (CPU) 102, a random access memory (RAM) 103, a read only memory (ROM) 104, an input device 105, and an image processing unit. 106, a liquid crystal display 107, an audio processing unit 108, headphones 109, a cassette reader 110, a ROM cassette 111, an external memory 112, an RTC (Real Time Clock) 113, a wireless LAN (Local Area Network) interface 114, and a camera 115.

本実施形態に係るプログラムが記録されたROMカセット111を、情報処理装置101に装着することによって、本実施形態に係る画像生成装置が実現される。   By mounting the ROM cassette 111 in which the program according to the present embodiment is recorded on the information processing apparatus 101, the image generation apparatus according to the present embodiment is realized.

ここで、CPU 102は、情報処理装置101の各部を制御するとともに、各種の演算処理や判断処理を行う。   Here, the CPU 102 controls each unit of the information processing apparatus 101 and performs various arithmetic processes and determination processes.

情報処理装置101に電源が投入されると、CPU 102は、ROM 104に記録されたIPL(Initial Program Loader)を実行し、その処理の過程で、カセットリーダ110を介して接続されたROMカセット111に記録されたプログラムに処理を移行する。   When the information processing apparatus 101 is turned on, the CPU 102 executes an IPL (Initial Program Loader) recorded in the ROM 104, and the ROM cassette 111 connected via the cassette reader 110 in the course of the processing. The process is transferred to the program recorded in

情報処理装置101で実行されるゲームプログラムやマルチメディア情報再生プログラムは、ROMカセット111によって提供されるのが一般的であるが、ROM 104内にあらかじめ用意しておくことも可能である。   The game program and multimedia information reproduction program executed by the information processing apparatus 101 are generally provided by the ROM cassette 111, but can be prepared in the ROM 104 in advance.

また、ROM 104内には、BIOS(Basic Input Output System)と呼ばれるプログラム群が用意されており、入力装置105や画像処理部106、音声処理部108の制御を行うことができる。   Further, a program group called BIOS (Basic Input Output System) is prepared in the ROM 104, and the input device 105, the image processing unit 106, and the audio processing unit 108 can be controlled.

RAM 103は、一時的な情報を記憶するための領域であり、外部メモリ112は、不揮発な情報を記憶するための領域である。外部メモリ112としては、ハードディスクなど、主として情報処理装置101に内蔵されるもののほか、各種のメモリカードなど、情報処理装置101に抜挿されるものを利用しても良い。   The RAM 103 is an area for storing temporary information, and the external memory 112 is an area for storing nonvolatile information. As the external memory 112, a hard disk or the like that is mainly built in the information processing apparatus 101, or various memory cards or the like that are inserted into or removed from the information processing apparatus 101 may be used.

入力装置105は、各種のボタンやキーボード、マウス、ジョイスティック等により実現されるのが一般的であるが、液晶ディスプレイ107と一体に形成されたタッチスクリーンを入力装置105として利用することも可能である。   The input device 105 is generally realized by various buttons, a keyboard, a mouse, a joystick, or the like, but a touch screen formed integrally with the liquid crystal display 107 can also be used as the input device 105. .

画像処理部106は、CPU 102の制御の下、各種の文字情報や画像情報を液晶ディスプレイ107に表示させるものであり、一般には、垂直同期割込周期(典型的には、30分の1秒や60分の1秒程度である。)ごとに、RAM 103内に用意されたフレームバッファに記憶された画素情報を液晶ディスプレイ107の各画素に反映させる。   The image processing unit 106 displays various character information and image information on the liquid crystal display 107 under the control of the CPU 102. In general, the image processing unit 106 has a vertical synchronization interrupt period (typically 1/30 second). And the pixel information stored in the frame buffer prepared in the RAM 103 is reflected on each pixel of the liquid crystal display 107 every time.

ユーザからの指示入力は、液晶ディスプレイ107に表示されたカーソルを入力装置105の移動ボタン操作により移動して、所望のメニュー項目にカーソルを合わせ、決定ボタン操作によって当該メニュー項目を選択するのが一般的であるが、タッチスクリーンを利用する場合にはカーソルは不要である。また、入力装置105の各ボタンに割り当てられる機能があらかじめ決まっている場合には、液晶ディスプレイ107に対する表示は、必ずしも必要ない。   In general, an instruction input from the user is performed by moving the cursor displayed on the liquid crystal display 107 by operating the move button of the input device 105, moving the cursor to a desired menu item, and selecting the menu item by operating the enter button. The cursor is not necessary when using a touch screen. Further, when the function assigned to each button of the input device 105 is determined in advance, the display on the liquid crystal display 107 is not necessarily required.

音声処理部108は、RAM 103やROM 104、ROMカセット111、外部メモリ112に用意された音声データをヘッドホン109に出力する。音声データとしては、音声の波形データをディジタル化したPCM(Pulse Code Modulation)データや、PCMデータを圧縮してサイズを小さくしたMP3(MPeg audio layer-3)データ等を利用することが可能であるほか、MIDI(Music Instruction Data Interface)データのように、音高、音長、音量、音色の種類を定義するデータを用意し、これにしたがって、あらかじめ用意された音源波形データを適宜選択・変形して再生する手法を採用しても良い。   The audio processing unit 108 outputs audio data prepared in the RAM 103, the ROM 104, the ROM cassette 111, and the external memory 112 to the headphones 109. As audio data, it is possible to use PCM (Pulse Code Modulation) data obtained by digitizing audio waveform data, MP3 (MPeg audio layer-3) data obtained by compressing PCM data to reduce the size, and the like. In addition, data such as MIDI (Music Instruction Data Interface) data that defines the pitch, tone length, volume, and timbre type is prepared, and the sound source waveform data prepared in advance is selected and transformed accordingly. It is also possible to adopt a method for reproducing the image.

RTC 113は、現在の日時を計測するもので、情報処理装置101を初めて利用する際に時刻合わせを行うのが一般的であるが、無線LANインターフェース114を介してNTP(Network Time Protocol)サーバに接続することで、自動的に時刻合わせを行うような態様を採用することも可能である。   The RTC 113 measures the current date and time, and generally adjusts the time when the information processing apparatus 101 is used for the first time. The RTC 113 is connected to an NTP (Network Time Protocol) server via the wireless LAN interface 114. It is also possible to adopt a mode in which the time is automatically adjusted by connecting.

また、アラーム割込を発生させる機能を持つRTC 113もある。設定された時刻になるとアラーム割込が発生して、CPU 102は、現在実行中のプログラムを一時中断し、あらかじめ設定された割込ハンドラを実行してから、中断したプログラムを再開する。   There is also an RTC 113 having a function for generating an alarm interrupt. When the set time comes, an alarm interrupt occurs, and the CPU 102 temporarily suspends the currently executing program, executes a preset interrupt handler, and then resumes the interrupted program.

無線LANインターフェース114は、自宅や会社、街角に用意された無線LANアクセスポイントを介してインターネットに接続したり、近傍に配置された他の情報処理装置101と、アドホックに通信路を確立し、1対1で通信を行うなどが可能である。   The wireless LAN interface 114 is connected to the Internet via a wireless LAN access point prepared at home, company, or street corner, and establishes a communication path ad hoc with another information processing apparatus 101 disposed in the vicinity. It is possible to communicate one-on-one.

カメラ115は、情報処理装置101によってディジタルカメラの機能を実現するものであり、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)撮像素子などの技術を適用することが可能である。撮影された画像は、一時的にRAM 103に展開された後、外部メモリ112等に保存される。   The camera 115 realizes the function of a digital camera by the information processing apparatus 101, and a technique such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor) image sensor can be applied. The captured image is temporarily expanded in the RAM 103 and then stored in the external memory 112 or the like.

このほか、ビジネス用コンピュータ、携帯電話、PDA(Personal Data Assistant)、携帯ゲーム装置、多機能テレビジョン装置、DVD(Digital Versatile Disc)プレイヤー、携帯音楽プレイヤーなどを、本発明の画像生成装置が実現される情報処理装置として採用することもできる。   In addition, the image generating device of the present invention is realized for business computers, mobile phones, PDAs (Personal Data Assistant), portable game devices, multi-function television devices, DVD (Digital Versatile Disc) players, portable music players, and the like. It can also be employed as an information processing apparatus.

(画像生成のためのモデル)
図2は、本実施形態の処理対象となるモデルのボーン、制御点、ポリゴンの様子を示す説明図である。以下、本図を参照して説明する。
(Model for image generation)
FIG. 2 is an explanatory diagram illustrating the appearance of bones, control points, and polygons of a model to be processed in the present embodiment. Hereinafter, a description will be given with reference to FIG.

本図に示すモデル201は、以下の主ボーン202によって、キャラクターの位置や姿勢、外形が表現されている。
(1)頭部を表す主ボーン202a
(2)胴体上部を表す主ボーン202b
(3)右上腕を表す主ボーン202cならびに右下腕を表す主ボーン202d
(4)左上腕を表す主ボーン202eならびに左下腕を表す主ボーン202f
(5)右掌を表す主ボーン202g
(6)左掌を表す主ボーン202h
(7)胴体下部を表す主ボーン202i
(8)右腿を表す主ボーン202jならびに右脛を表す主ボーン202k
(9)左腿を表す主ボーン202lならびに左脛を表す主ボーン202m
(10)右足底を表す主ボーン202n
(11)左足底を表す主ボーン202o
In the model 201 shown in the figure, the position, posture, and outer shape of the character are expressed by the following main bones 202.
(1) Main bone 202a representing the head
(2) Main bone 202b representing the upper body
(3) A main bone 202c representing the upper right arm and a main bone 202d representing the right lower arm
(4) A main bone 202e representing the upper left arm and a main bone 202f representing the lower left arm
(5) Main bone 202g representing the right palm
(6) Main bone 202h representing the left palm
(7) Main bone 202i representing the lower body
(8) A main bone 202j representing the right thigh and a main bone 202k representing the right shin
(9) Main bone 202l representing the left thigh and main bone 202m representing the left shin
(10) Main bone 202n representing the right sole
(11) Main bone 202o representing the left sole

主ボーン202は、たとえば、右上腕の主ボーン202cと右下腕の主ボーン202dのように、その端点同士が連結されるか、たとえば胴体上部の主ボーン202bと右上腕の主ボーン202cのように、一方の主ボーン202に対する位置が固定された連結点(右肩の位置に相当する。)に、他方の主ボーン202の端点が連結されている。   The main bones 202 are connected at their end points, for example, as the main bone 202c for the upper right arm and the main bone 202d for the lower right arm, or are, for example, the main bone 202b at the upper body and the main bone 202c for the upper right arm In addition, the end point of the other main bone 202 is connected to a connection point (corresponding to the position of the right shoulder) whose position with respect to one main bone 202 is fixed.

さらに、モデル201では、右手の指を表す複数の副ボーン203g、および、左手の指を表す複数の副ボーン203hによって、キャラクターの細かな姿勢が表現される。   Further, in the model 201, a fine posture of the character is expressed by a plurality of secondary bones 203g representing fingers of the right hand and a plurality of secondary bones 203h representing fingers of the left hand.

副ボーン203(本実施形態では指の各関節のボーン)は、直接いずれかの主ボーン202(本実施形態では掌のボーン)に連結されるか、他の副ボーン203を介して間接的に主ボーン202に連結されている。この際にも、連結点は、ボーン202、203上にあっても良いし、ボーン202、203に対する固定された位置にあっても良い。   The secondary bone 203 (the bone of each joint of the finger in this embodiment) is directly connected to one of the main bones 202 (the palm bone in this embodiment) or indirectly through another secondary bone 203. Connected to the main bone 202. Also in this case, the connection point may be on the bones 202 and 203 or may be at a fixed position with respect to the bones 202 and 203.

互いに連結し合うボーン202、203同士は、その相対的な位置および向きの関係が定められることで、キャラクターの全体の姿勢が定められる。   The bones 202 and 203 that are connected to each other have their relative positions and orientations defined, whereby the overall posture of the character is determined.

また、主ボーン202のいずれか(典型的には、胴体上部を表す主ボーン202b)の仮想空間内における位置および向きを定めることで、キャラクターの全体の位置および向きが定められる。以下、理解を容易にするため、当該主ボーン202は、仮想空間に依存する、ということとする。   Further, by determining the position and orientation of one of the main bones 202 (typically, the main bone 202b representing the upper part of the body) in the virtual space, the overall position and orientation of the character are determined. Hereinafter, in order to facilitate understanding, it is assumed that the main bone 202 depends on the virtual space.

さらに、理解を容易にするため、あるボーン202、203に連結されてこれに対する相対的な位置および向きが定められる他のボーン202、203があるとき、後者は前者に依存し、前者は後者に依存される、といい、前者を親ボーン、後者を子ボーンということとする。   Furthermore, for ease of understanding, when there are other bones 202, 203 that are connected to one bone 202, 203 and have a relative position and orientation relative thereto, the latter depends on the former and the former depends on the latter. It is said that it depends. The former is the parent bone and the latter is the child bone.

たとえば、胴体上部の主ボーン202bに右上腕の主ボーン202cが依存し、右上腕の主ボーン202cに右下腕の主ボーン202dが依存し、右下腕の主ボーン202dに右掌の主ボーン202gが依存し、右掌の主ボーン202gに右手指の副ボーン203gが依存する、ということになる。右手指の副ボーン203g同士も、順に依存関係が定義されており、右掌の主ボーン202gに近い側に、遠い側が依存することになっている。   For example, the main bone 202c on the upper right arm depends on the main bone 202b on the upper body, the main bone 202d on the lower right arm depends on the main bone 202c on the upper right arm, and the main bone of the right palm on the main bone 202d on the right lower arm. 202g depends on it, and the right bone sub-bone 203g depends on the right palm main bone 202g. Dependencies are also defined in order for the right-hand finger sub-bones 203g, and the far side depends on the side closer to the right palm main bone 202g.

このように考えると、副ボーン203はいずれも、いずれか一つの主ボーン202に依存することとなる。   Considering this, all the secondary bones 203 depend on any one main bone 202.

これらの主ボーン202および副ボーン203は、従来の3次元グラフィックス技術におけるボーンと同じ役割を果たし、そのそれぞれには、制御点204が固定されている。本図では、理解を容易にするため、一部の制御点204のみが図示されている。   The main bone 202 and the secondary bone 203 play the same role as bones in the conventional three-dimensional graphics technology, and a control point 204 is fixed to each of them. In this figure, only a part of the control points 204 is shown for easy understanding.

さらに、特許文献1に開示するように、口や目蓋を開閉するためのボーンとして副ボーン203を採用したり、特許文献3に開示するように、肘や膝など、くびれが生じやすい部分の太さを維持するためのボーンとして副ボーン203を採用することも可能である。   Furthermore, as disclosed in Patent Document 1, the sub-bone 203 is adopted as a bone for opening and closing the mouth and the eyelid, and as disclosed in Patent Document 3, the elbow, knee, and other parts that are easily constricted. It is also possible to employ the secondary bone 203 as a bone for maintaining the thickness.

また、制御点204は、主ボーン202や副ボーン203のいずれかに固定されて、その固定先に連動して、仮想空間内を移動する。   In addition, the control point 204 is fixed to either the main bone 202 or the sub bone 203 and moves in the virtual space in conjunction with the fixing destination.

本実施形態では、制御点204は、ポリゴン205の頂点となっており、このポリゴン205がモデル201の表面を表すスキンを形成している。   In the present embodiment, the control point 204 is a vertex of the polygon 205, and this polygon 205 forms a skin representing the surface of the model 201.

ここで、ある主ボーン202に固定されている制御点204、および、当該主ボーン202に依存する副ボーン203に固定されている制御点204を、「当該主ボーン202に対するグループに属する制御点204」あるいは省略して、「当該主ボーン202に属する制御点204」と呼ぶこととする。   Here, a control point 204 fixed to a certain main bone 202 and a control point 204 fixed to a secondary bone 203 depending on the main bone 202 are referred to as “control points 204 belonging to a group for the main bone 202. Or abbreviated as “control point 204 belonging to the main bone 202”.

たとえば、胴体上部の主ボーン202bに属する制御点204を頂点とするポリゴン205によって、胴体上部の形状が定められ、右掌の主ボーン202gに対するグループに属する制御点204を頂点とするポリゴン205によって、右手の掌および指の形状が定められるのである。   For example, the shape of the upper part of the fuselage is determined by a polygon 205 whose apex is the control point 204 belonging to the upper main bone 202b, and the polygon 205 whose apex is the control point 204 belonging to the group for the main palm 202g of the right palm, The shape of the palm and fingers of the right hand is determined.

なお、制御点204の座標をそのままポリゴン205の頂点とするのではなく、ポリゴン205の頂点のそれぞれに制御点204を1つ以上、重みとともに割り当て、割り当てられた制御点204の位置のその重み付き平均の位置を、ポリゴン205の頂点とする手法も従来から広く用いられており、このような態様を採用することも可能である。   Instead of using the coordinates of the control point 204 as the vertices of the polygon 205 as they are, one or more control points 204 are assigned to each of the vertices of the polygon 205 together with a weight, and the weight of the position of the assigned control point 204 is added. A method of setting the average position as the vertex of the polygon 205 has also been widely used in the past, and such a mode can also be adopted.

また、ポリゴン205によってスキンの形状を定義するのではなく、制御点204を、NURBS曲面の形状を定めるための制御点として利用することによって、モデル201を表面を滑らかに表現する態様を採用しても良い。   Also, instead of defining the shape of the skin by the polygon 205, a mode in which the surface of the model 201 is expressed smoothly by using the control point 204 as a control point for determining the shape of the NURBS curved surface is adopted. Also good.

さて、上記(3)(4)(8)(9)には、各2つの主ボーン202が掲げられているが、当該各2つの主ボーン202は、互いに随伴するものとする。ここで、互いに随伴する主ボーン202とは、当該主ボーン202によって定められる制御点が互いに密接に関連し合うような場合に適切である。本実施形態では、肘や膝などのスキン形状を、上記のように、特許文献3に開示される技術等を適用することで適切に定めるため、随伴関係を定めることとしている。   In (3), (4), (8), and (9), two main bones 202 are listed, and the two main bones 202 are associated with each other. Here, the main bones 202 accompanying each other are appropriate when the control points defined by the main bones 202 are closely related to each other. In this embodiment, in order to appropriately determine the skin shape such as the elbow and the knee by applying the technique disclosed in Patent Document 3 as described above, the accompanying relationship is determined.

なお、モデル201により表現される各種のキャラクター等、仮想空間内で位置や向き、形状を変化させるオブジェクトの種類によっては、副ボーン203や随伴関係が一切ないこととすることも可能であり、これらの態様も、本発明の範囲に含まれる。   Depending on the types of objects that change the position, orientation, and shape in the virtual space, such as various characters represented by the model 201, it is possible that there is no secondary bone 203 or any accompanying relationship. These embodiments are also included in the scope of the present invention.

このようにして、ボーン202、203、制御点204、ポリゴン205によって、モデル201が定義される。   In this way, the model 201 is defined by the bones 202 and 203, the control point 204, and the polygon 205.

このようなモデル201に対して、従来の3次元グラフィックスでは、すべてのポリゴン205を、視点からの距離でソートして、遠いポリゴン205から順に描画するZバッファの技術を用いることで、ポリゴン205同士が隠し隠される関係を適切に画像に反映させることとしていた。   In contrast to such a model 201, in the conventional three-dimensional graphics, all polygons 205 are sorted according to the distance from the viewpoint, and the Z-buffer technique is used to draw the polygons in order from the farthest polygon 205. The relationship of hiding and hiding each other was appropriately reflected in the image.

一方、本実施形態では、ポリゴン205を、当該ポリゴン205が属する主ボーン202のグループによって分類する。本実施形態では、上記のように、11個のグループに、ポリゴン205が分類されることになる。   On the other hand, in this embodiment, the polygon 205 is classified according to the group of the main bone 202 to which the polygon 205 belongs. In the present embodiment, as described above, the polygons 205 are classified into 11 groups.

そして、主ボーン202を視点からの距離でソートする。たとえば、図2に示す例で、視点から遠い順に主ボーン202を並べると、概ね以下のようになる。
(1)左掌の主ボーン202h
(2)左下腕の主ボーン202f
(3)左足底の主ボーン202o
(4)左脛の主ボーン202m
(5)左上腕の主ボーン202e
(6)左腿の主ボーン202l
(7)頭部の主ボーン202a
(8)胴体上部の主ボーン202b
(9)胴体下部の主ボーン202i
(10)右腿の主ボーン202j
(11)右脛の主ボーン202k
(12)右上腕の主ボーン202c
(13)右下腕の主ボーン202d
(14)右足底の主ボーン202n
(15)右掌の主ボーン202g
Then, the main bone 202 is sorted by the distance from the viewpoint. For example, in the example shown in FIG. 2, when the main bones 202 are arranged in order from the viewpoint, the result is as follows.
(1) Left palm main bone 202h
(2) Main bone 202f of the left lower arm
(3) Left foot sole main bone 202o
(4) Left shin main bone 202m
(5) Left upper arm main bone 202e
(6) Left thigh main bone 202l
(7) Main bone 202a of the head
(8) Main bone 202b at the top of the fuselage
(9) Main bone 202i at the bottom of the fuselage
(10) Right thigh main bone 202j
(11) Main bone 202k of right shin
(12) The main bone 202c of the upper right arm
(13) Lower right arm main bone 202d
(14) Right foot sole main bone 202n
(15) Right palm main bone 202g

そして、視点から遠い主ボーン202から順に主ボーン202を選択して、以下の処理を繰り返す。上記の例では、主ボーン202は15個あるから、以下の処理は15回繰り返されることになる。   Then, the main bone 202 is selected in order from the main bone 202 far from the viewpoint, and the following processing is repeated. In the above example, since there are 15 main bones 202, the following processing is repeated 15 times.

すなわち、選択された主ボーン202のグループに属するポリゴン205のみを対象に、Zバッファの技術を用いる。すなわち、当該グループに属するポリゴン205のみを、視点からの距離でソートして、遠いポリゴン205から順に描画する。   That is, the Z buffer technique is used only for the polygon 205 belonging to the selected group of the main bones 202. That is, only the polygons 205 belonging to the group are sorted by the distance from the viewpoint, and are drawn in order from the farther polygon 205.

たとえば、繰り返しの初回では、視点から最も遠い左掌の主ボーン202hが選択される。そして、左掌の主ボーン202hや左手の指を表す副ボーン202に基づいて、左手の形状を表す制御点204の位置が計算される。   For example, in the first iteration, the left palm main bone 202h farthest from the viewpoint is selected. Then, the position of the control point 204 representing the shape of the left hand is calculated based on the main bone 202h of the left palm and the secondary bone 202 representing the finger of the left hand.

さらに、計算された制御点204の位置に基づいて、左の掌や左の手の指の形状を表すポリゴン205の形状が計算され、描画されることにって、左手首から先のスキンが形成されるのである。   Further, based on the calculated position of the control point 204, the shape of the polygon 205 representing the shape of the left palm or the finger of the left hand is calculated and drawn, so that the skin ahead from the left wrist It is formed.

以下、繰り返しの2回目は、左下腕の主ボーン202fに基づいて、左肘から左手首までが描画され、繰り返しの3回目は、左足底の主ボーン202oに基づいて、左足底が描画され……のように、グループ単位でポリゴン205を描画する処理が繰り返される。   Hereinafter, the second iteration is drawn from the left elbow to the left wrist based on the left lower arm main bone 202f, and the third iteration is the left foot sole drawn based on the left foot main bone 202o. ... The process of drawing the polygon 205 in units of groups is repeated.

本実施形態では、ポリゴン205全体をまとめて処理するのではなく、グループ単位に分割して処理をする。このため、一度に処理しなければならないボーン202、203の数、制御点204の数、ポリゴン205の数を抑制することができる。   In the present embodiment, the entire polygon 205 is not processed at once, but is divided into groups and processed. For this reason, the number of bones 202 and 203 that must be processed at one time, the number of control points 204, and the number of polygons 205 can be suppressed.

したがって、画像処理部106を構成する画像処理コプロセッサの能力が低い場合であっても、多数の制御点204やポリゴン205からなる画像を生成することが可能となるのである。   Therefore, even when the capability of the image processing coprocessor constituting the image processing unit 106 is low, an image composed of a large number of control points 204 and polygons 205 can be generated.

なお、理解を容易にするため、ここでは、主ボーン202のグループ単位で描画を繰り返すこととしていたが、主ボーン202に随伴関係を導入し、あるグループと別のグループ(たとえば、左下腕の主ボーン202fと左上腕の主ボーン202eとを随伴させる等。)が同時に描画されるように構成した方が、ポリゴン描画の矛盾の発生する可能性を低くしたり、画像処理コプロセッサの能力をできるだけ引き出すという点で好ましい場合も多い。以下では、このような随伴関係を導入した例について説明する。   In order to facilitate understanding, the drawing is repeated here in units of groups of the main bone 202. However, an adjoint relationship is introduced into the main bone 202, and one group and another group (for example, the main body of the left lower arm). If the bone 202f and the main bone 202e of the upper left arm are associated with each other), it is possible to reduce the possibility of inconsistency in polygon drawing, and to reduce the ability of the image processing coprocessor as much as possible. In many cases, it is preferable in terms of drawing. Hereinafter, an example in which such an accompanying relationship is introduced will be described.

上記のように、本実施形態では、主ボーン202と視点との遠近情報を用いて、ポリゴン205のグループを描画する順序を定める。以下では、主ボーン202と視点との距離の求め方について説明する。   As described above, in this embodiment, the order of drawing the group of polygons 205 is determined using the perspective information between the main bone 202 and the viewpoint. Hereinafter, how to obtain the distance between the main bone 202 and the viewpoint will be described.

図3は、主ボーン202と視点と間の距離を定める手法を示す説明図である。以下、本図を参照して説明する。   FIG. 3 is an explanatory diagram showing a method for determining the distance between the main bone 202 and the viewpoint. Hereinafter, a description will be given with reference to FIG.

本図では、2つの主ボーン202p、202qと、視点301と、が図示されている。   In the figure, two main bones 202p and 202q and a viewpoint 301 are shown.

本図に示す主ボーン202p、202qは、連結点302で連結されている。   The main bones 202p and 202q shown in the figure are connected by a connection point 302.

また、主ボーン202p、202qは、その中央に中心点303p、303qが定められている。   In addition, center points 303p and 303q are defined at the center of the main bones 202p and 202q.

2つの主ボーン202p、202qのいずれがより視点301に近いか、は、以下のような判断基準で定めることができる。   Which of the two main bones 202p and 202q is closer to the viewpoint 301 can be determined by the following criteria.

第1の基準は、主ボーン202p、202qの中心点303p、303qのそれぞれと、視点301と、の間の距離を採用する手法である。   The first criterion is a method that employs the distance between each of the center points 303p and 303q of the main bones 202p and 202q and the viewpoint 301.

すなわち、視点301と中心点303pの距離305p、ならびに、視点301と中心点303qの距離305qを、ユークリッド距離やマンハッタン距離などによって計算する。そして、主ボーン202p、202qのうち、その中心点について計算された距離が長い方が視点301から遠く、短い方が近い、とするものである。   That is, the distance 305p between the viewpoint 301 and the center point 303p and the distance 305q between the viewpoint 301 and the center point 303q are calculated based on the Euclidean distance or the Manhattan distance. Of the main bones 202p and 202q, the longer distance calculated for the center point is farther from the viewpoint 301 and the shorter distance is closer.

第2の基準は、遠近を比較したい2つの主ボーン202が互いに連結されているときに利用できる基準である。   The second criterion is a criterion that can be used when the two main bones 202 whose perspectives are to be compared are connected to each other.

すなわち、以下の2つの角度を比較する。
(p)視点301から連結点302を経て中心点303pに至る角度Pと、
(q)視点301から連結点302を経て中心点303qに至る角度Q。
That is, the following two angles are compared.
(P) an angle P from the viewpoint 301 through the connection point 302 to the center point 303p,
(Q) An angle Q from the viewpoint 301 through the connecting point 302 to the center point 303q.

角度Pと角度Qは、視点301に対して、主ボーン202p、202qがどのような向きになっているか、を示す値である。   The angles P and Q are values indicating the orientation of the main bones 202p and 202q with respect to the viewpoint 301.

一つの連結点302で連結されている2つの主ボーン202p、202qは、視点301からの距離にあまり差がない、と考えられる。したがって、一方、主ボーン202p、202qは、長さが異なることが一般的であるので、中心点303p、303qと視点301との距離を単純に採用すると、奥行きの順序の判定を誤ることもある。   It can be considered that the two main bones 202p and 202q connected at one connection point 302 have little difference in distance from the viewpoint 301. Accordingly, since the main bones 202p and 202q are generally different in length, if the distance between the center points 303p and 303q and the viewpoint 301 is simply adopted, the depth order may be erroneously determined. .

第2の基準では、互いに連結された主ボーン202p、202qの長さが異なる場合であっても、簡易にその奥行きの前後関係を判定することができる。   According to the second criterion, even if the main bones 202p and 202q connected to each other have different lengths, the depth context can be easily determined.

上記のように、第1の基準は、任意の主ボーン202の奥行き方向の前後関係を判定するのに採用することができ、第2の基準は、互いに連結された主ボーン202の奥行き方向の前後関係を判定するのに採用することができる。   As described above, the first criterion can be employed to determine the depth-direction context of any main bone 202, and the second criterion can be the depth-direction of main bones 202 connected to each other. It can be used to determine the context.

また、第2の基準に基づいて直接連結された主ボーン202同士の順序を決めた後、直接連結がされていないため、第2の基準だけでは前後関係が定まらない主ボーン202同士については、第1の基準に基づいて奥行き順序を定める、という手法もありうる。   Further, after determining the order of the main bones 202 that are directly connected based on the second standard, since the direct connection is not performed, the main bones 202 whose context is not determined only by the second standard are as follows. There may be a method of determining the depth order based on the first criterion.

このように、モデル201の形状や適用されるアプリケーションによって、第1の基準のみを採用することとしても良いし、両基準を適宜採用することとしても良い。   As described above, only the first criterion may be adopted depending on the shape of the model 201 and the application to be applied, or both criteria may be appropriately adopted.

以下では、これらの手法を用いる画像生成装置と、これが実行する画像生成処理の詳細について説明する。   Below, the image generation apparatus using these methods and the detail of the image generation process which this performs are demonstrated.

(画像生成装置)
図4は、本実施形態に係る画像生成装置の概要構成を示す説明図である。以下、本図を参照して説明する。
(Image generation device)
FIG. 4 is an explanatory diagram showing a schematic configuration of the image generation apparatus according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

本実施形態に係る画像生成装置401は、情報処理装置101においてCPU 102が所定のプログラムを実行することによって実現される。   The image generation apparatus 401 according to the present embodiment is realized by the CPU 102 executing a predetermined program in the information processing apparatus 101.

ここで、画像生成装置401は、記憶部402、主更新部403、バッファ部404、選択部405、副更新部406、位置計算部407、スキン計算部408、描画部409、表示部410を備える。   Here, the image generation apparatus 401 includes a storage unit 402, a main update unit 403, a buffer unit 404, a selection unit 405, a sub update unit 406, a position calculation unit 407, a skin calculation unit 408, a drawing unit 409, and a display unit 410. .

以下まず、各部の機能について簡単に説明し、その後に、画像生成装置401が実行する処理の流れに沿って、各部の機能の詳細について、説明する。   Hereinafter, first, the function of each unit will be briefly described, and then the details of the function of each unit will be described along the flow of processing executed by the image generation apparatus 401.

まず、記憶部402は、ROM カセット111等に記憶される情報を読み出したRAM 103によって実現され、記憶部402には、モデル201の各種の情報が記憶される。   First, the storage unit 402 is realized by the RAM 103 that reads information stored in the ROM cassette 111 and the like, and various types of information of the model 201 are stored in the storage unit 402.

一方、バッファ部404は、RAM 103もしくは画像処理部106内に用意された記憶域により実現され、液晶ディスプレイ107に表示すべき画像を生成するための一時的な記憶域として利用される。   On the other hand, the buffer unit 404 is realized by a storage area prepared in the RAM 103 or the image processing unit 106 and is used as a temporary storage area for generating an image to be displayed on the liquid crystal display 107.

さらに、主更新部403は、CPU 102により、もしくはCPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成する主ボーン202の位置や向きを変化させる。   Further, the main update unit 403 is realized by the CPU 102 or when the image processing unit 106 operates under the control of the CPU 102, and changes the position and orientation of the main bone 202 constituting the model 201.

副更新部406は、CPU 102により、もしくはCPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成する副ボーン203の位置や向きを変化させる。   The secondary update unit 406 is realized by the CPU 102 or by the image processing unit 106 operating under the control of the CPU 102, and changes the position and orientation of the secondary bone 203 constituting the model 201.

位置計算部407は、CPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成する制御点204の位置を、主ボーン202や副ボーン203の位置や向きに基づいて計算する。   The position calculation unit 407 is realized by the operation of the image processing unit 106 under the control of the CPU 102, and the position of the control point 204 constituting the model 201 is determined based on the position and orientation of the main bone 202 and the sub bone 203. calculate.

スキン計算部408は、CPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成するポリゴン205の位置や形状を、制御点204の位置に基づいて計算する。   The skin calculation unit 408 is realized by the operation of the image processing unit 106 under the control of the CPU 102, and calculates the position and shape of the polygon 205 constituting the model 201 based on the position of the control point 204.

描画部409は、CPU 102の制御下で画像処理部106が動作することにより実現され、位置や形状が計算されたポリゴン205が、投影される領域を求め、当該ポリゴン205に対応付けられるテクスチャを、当該領域に変形させながら貼り込む処理を行う。   The drawing unit 409 is realized by the operation of the image processing unit 106 under the control of the CPU 102. The polygon 205 whose position and shape have been calculated is obtained as a projected area, and a texture associated with the polygon 205 is obtained. Then, the pasting process is performed while deforming the region.

選択部405は、視点301からの距離によって主ボーン202をソートして、視点301から遠い順に主ボーン202を順に選択する。   The selection unit 405 sorts the main bones 202 according to the distance from the viewpoint 301 and sequentially selects the main bones 202 in order from the viewpoint 301.

そして、副更新部406、位置計算部407、スキン計算部408、描画部409による処理は、選択された主ボーン202に依存する副ボーン203、選択された主ボーン202に属する制御点204、当該制御点204を頂点とするポリゴン205のみについて行う。   Then, the processing by the sub-update unit 406, the position calculation unit 407, the skin calculation unit 408, and the drawing unit 409 includes the sub-bone 203 depending on the selected main bone 202, the control point 204 belonging to the selected main bone 202, Only the polygon 205 having the control point 204 as a vertex is performed.

このように、本実施形態では、全ポリゴン205について一括して描画を行なうのではなく、ポリゴン205が属するグループごとに、順次描画を行う。   As described above, in the present embodiment, drawing is not performed for all the polygons 205 at once, but drawing is performed sequentially for each group to which the polygons 205 belong.

すなわち、副更新部406、位置計算部407、スキン計算部408、描画部409における処理は、選択された主ボーン202に対するグループ単位で行われることになる。   That is, the processes in the sub-update unit 406, the position calculation unit 407, the skin calculation unit 408, and the drawing unit 409 are performed in units of groups for the selected main bone 202.

このため、画像処理部106における画像処理コプロセッサの描画能力に制限がある場合であっても、ボーン202、203の数、制御点204の数やポリゴン205の数がその制限を超えるようなモデル201の画像を、生成することが可能となるのである。   For this reason, even if there is a limitation on the rendering capability of the image processing coprocessor in the image processing unit 106, the number of bones 202 and 203, the number of control points 204, and the number of polygons 205 exceed the limitation. Thus, 201 images can be generated.

表示部410は、画像処理部106によって実現され、モデル201に対する画像が完成した後、垂直同期割込が生じるまで待機して、その後、バッファ部404に記憶された画像を液晶ディスプレイ107に転送表示する。   The display unit 410 is realized by the image processing unit 106, waits until a vertical synchronization interrupt occurs after the image for the model 201 is completed, and then transfers and displays the image stored in the buffer unit 404 on the liquid crystal display 107. To do.

以下、画像生成装置401で実行される画像生成処理について詳細に説明する。図5は、画像生成処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   Hereinafter, an image generation process executed by the image generation apparatus 401 will be described in detail. FIG. 5 is a flowchart showing the flow of control of image generation processing. Hereinafter, a description will be given with reference to FIG.

本実施形態では、本処理は、CPU 102が、ROMカセット111に記録されたプログラムを実行することによって実現される。   In the present embodiment, this process is realized by the CPU 102 executing a program recorded in the ROM cassette 111.

本処理が開始されると、CPU 102は、RAM 103に記憶される情報を初期化する(ステップS501)。ここで、RAM 103には、以下のような情報が記憶される。
(a)各主ボーン202の依存先(連結先)、依存先に対する相対的な位置および向き、主ボーン202の長さ、主ボーン202の随伴先。
(b)各副ボーン203の連結先、依存先、連結先に対する相対的な位置および向き、副ボーン203の長さ。
(c)各制御点204が固定されるボーン202、203がいずれであるか、当該制御点204がならびに固定される相対的な位置、当該制御点204が属するグループに対する主ボーン202はいずれであるか。
(d)各ポリゴン205が、制御点204のいずれを頂点とするか。
(e)モデル201の背景を表す背景画像。
(f)モデル201が配置される仮想空間内における仮想時刻。
When this process is started, the CPU 102 initializes information stored in the RAM 103 (step S501). Here, the RAM 103 stores the following information.
(A) The dependence destination (link destination) of each main bone 202, the relative position and orientation with respect to the dependence destination, the length of the main bone 202, and the accompanying destination of the main bone 202.
(B) The connection destination of each secondary bone 203, the dependence destination, the relative position and orientation with respect to the connection destination, and the length of the secondary bone 203.
(C) Which bones 202 and 203 each control point 204 is fixed to, the relative position where the control point 204 is fixed, and the main bone 202 for the group to which the control point 204 belongs Or?
(D) Which of the control points 204 is the vertex of each polygon 205.
(E) A background image representing the background of the model 201.
(F) Virtual time in the virtual space where the model 201 is placed.

すなわち、RAM 103は、記憶部402として機能する。   That is, the RAM 103 functions as the storage unit 402.

これらの情報の初期値は、ROMカセット111もしくは外部メモリ112に記録されるのが典型的であるが、乱数によって生成したり、無線LANインターフェース114を介して取得したり、入力装置105を介したユーザからの指示に基づいて設定する等、種々の手法が考えられる。   The initial values of these pieces of information are typically recorded in the ROM cassette 111 or the external memory 112, but are generated by random numbers, acquired via the wireless LAN interface 114, or via the input device 105. Various methods such as setting based on an instruction from the user are conceivable.

ついで、CPU 102は、RAM 103に記憶されている情報のうち、主ボーン202の相対的な位置や向きの情報を、仮想時刻に応じて更新することによって、各主ボーン202の仮想空間における絶対的な位置や向きを計算、更新する(ステップS502)。すなわち、CPU 102は、主更新部403として機能する。なお、この計算に、画像処理部106が有する画像処理コプロセッサの機能を利用しても良い。   Next, the CPU 102 updates the information on the relative position and orientation of the main bone 202 among the information stored in the RAM 103 according to the virtual time. A specific position and orientation are calculated and updated (step S502). That is, the CPU 102 functions as the main update unit 403. Note that the function of the image processing coprocessor included in the image processing unit 106 may be used for this calculation.

モデル201の設計にも依存するが、一般には、主ボーン202の数は副ボーン203の数に比べて少ない場合がほとんどであり、ステップS502における計算は短時間で済む。   Although depending on the design of the model 201, generally, the number of the main bones 202 is almost smaller than the number of the secondary bones 203, and the calculation in step S502 is short.

さらに、CPU 102は、各主ボーン202の絶対的な位置・向きに基づいて、視点301からの奥行き距離を計算し、遠い順にソートする(ステップS503)。   Further, the CPU 102 calculates the depth distance from the viewpoint 301 based on the absolute position / orientation of each main bone 202, and sorts them in order of increasing distance (step S503).

ついで、CPU 102は、画像処理部106を制御して、バッファ部404に、所定の背景画像を描画する(ステップS504)。この背景画像は、仮想空間内におけるモデル201の背景の様子を表すものである。モデル201の背景を、ポリゴンを用いて形成する手法を採用することもできるが、本実施形態では、ポリゴン処理機能をできるだけモデル201描画に利用したいため、背景画像は、芝居の大道具における描き割りのように、1枚の絵をあらかじめ用意している。   Next, the CPU 102 controls the image processing unit 106 to draw a predetermined background image in the buffer unit 404 (step S504). This background image represents the background of the model 201 in the virtual space. Although a method of forming the background of the model 201 using polygons can be adopted, in this embodiment, since the polygon processing function is desired to be used for drawing the model 201 as much as possible, the background image is drawn and drawn in a play tool. As shown, one picture is prepared in advance.

バッファ部404は、RAM 103内に用意されることもあるし、描画用記憶域として、画像処理部106内に用意される場合もある。   The buffer unit 404 may be prepared in the RAM 103 or may be prepared in the image processing unit 106 as a drawing storage area.

そして、CPU 102は、ソートされた順序を参照して、すべての主ボーン202が選択されるまで以下の処理を繰り返す(ステップS505〜)。   Then, the CPU 102 refers to the sorted order and repeats the following process until all the main bones 202 are selected (step S505).

まず、CPU 102は、未だ選択されていない主ボーン202のうち、視点301から最も遠い主ボーン202を選択する(ステップS506)。この際に、その主ボーン202に随伴する他の主ボーン202があれば当該随伴する主ボーン202も合わせて選択する。   First, the CPU 102 selects the main bone 202 farthest from the viewpoint 301 among the main bones 202 not yet selected (step S506). At this time, if there is another main bone 202 associated with the main bone 202, the accompanying main bone 202 is also selected.

ついで、CPU 102は、未だ選択されていない残りの主ボーン202のうち、視点301から最も遠い主ボーン202(すなわち、次に遠い主ボーン202)を取得する(ステップS507)。この際に、取得された主ボーン202に随伴する他の主ボーン202があれば当該随伴する主ボーン202も合わせて取得する。   Next, the CPU 102 acquires the main bone 202 farthest from the viewpoint 301 (that is, the next main bone 202 next to the next) among the remaining main bones 202 that have not yet been selected (step S507). At this time, if there is another main bone 202 accompanying the acquired main bone 202, the accompanying main bone 202 is also acquired.

そして、CPU 102は、選択済みの主ボーン202の数、当該選択済みの主ボーン202に依存する副ボーン203の数、当該選択済みの主ボーン202に対するグループに属する制御点204の数、当該選択済みの主ボーン202に属する制御点204を頂点とするポリゴン205の数に、ステップS506において取得された主ボーン202の数、当該取得された主ボーン202に依存する副ボーン203の数、当該取得された主ボーン202に対するグループに属する制御点204の数、当該取得された主ボーン202に属する制御点204を頂点とするポリゴン205の数を、それぞれ加算したものが、画像処理部106が有する画像処理コプロセッサの制限内か否かを調べる(ステップS508)。   Then, the CPU 102 counts the number of selected main bones 202, the number of sub-bones 203 depending on the selected main bone 202, the number of control points 204 belonging to the group for the selected main bone 202, the selection In addition to the number of polygons 205 having apexes of the control points 204 belonging to the completed main bone 202, the number of main bones 202 acquired in step S506, the number of sub-bones 203 depending on the acquired main bone 202, the acquisition An image of the image processing unit 106 is obtained by adding the number of control points 204 belonging to the group for the main bone 202 and the number of polygons 205 having the acquired control points 204 belonging to the main bone 202 as vertices. It is checked whether or not the processing coprocessor is within the limits (step S508).

制限内であれば(ステップS508;Yes)、CPU 102は、当該取得された主ボーン202をさらに選択して(ステップS509)、ステップS507に戻る。   If within the limit (step S508; Yes), the CPU 102 further selects the acquired main bone 202 (step S509), and returns to step S507.

一方、制限を超えていれば(ステップS508;No)、CPU 102は、ステップS511に進む。この場合、取得された主ボーン202は、今回は選択されず、次の繰り返しで選択されて描画されることになる。   On the other hand, if the limit is exceeded (step S508; No), the CPU 102 proceeds to step S511. In this case, the acquired main bone 202 is not selected this time, but is selected and drawn in the next iteration.

このように、CPU 102は、選択部405として機能する。   As described above, the CPU 102 functions as the selection unit 405.

このように制限を設けることで、ここで選択された主ボーン202ならびに当該主ボーン202に係る副ボーン203、制御点204、ポリゴン205は、画像処理部106が有する画像処理コプロセッサが一度にまとめて、一回の垂直同期周期内にて描画処理できるだけの数に限ることができる。したがって、携帯型端末など、処理能力が低い情報処理装置101であっても、描画を行うことが可能である。   By providing such a restriction, the main bone 202 selected here and the sub-bone 203, the control point 204, and the polygon 205 related to the main bone 202 are collected at once by the image processing coprocessor of the image processing unit 106. Thus, the number of drawing processes can be limited within a single vertical synchronization period. Therefore, even the information processing apparatus 101 with a low processing capability, such as a portable terminal, can perform drawing.

ついで、CPU 102は、選択された主ボーン202に依存する副ボーン203の位置や向きのうち、選択された主ボーン202に依存するものの相対的な位置や向きの情報を、仮想時刻に応じてRAM 103において更新するとともに、当該副ボーン203の仮想空間における絶対的な位置や向きを計算する(ステップS511)。   Next, the CPU 102 displays information on the relative position and orientation of the sub-bone 203 depending on the selected main bone 202 among the positions and orientations of the selected main bone 202 depending on the virtual time. While updating in the RAM 103, the absolute position and orientation of the secondary bone 203 in the virtual space are calculated (step S511).

これらのボーン演算は、座標変換が必要となるため、画像処理コプロセッサに演算を任せるのが一般的であるが、本実施形態では、副ボーン203の位置等の計算をグループ単位に分割して行うことで、1回あたりの計算負荷の低減を図ることができる。   Since these bone operations require coordinate transformation, it is common to leave the operation to the image processing coprocessor. In this embodiment, however, the calculation of the position of the sub-bone 203 is divided into groups. By doing so, the calculation load per time can be reduced.

このように、CPU 102の制御の下、画像処理部106は、副更新部406として機能する。   As described above, the image processing unit 106 functions as the sub-update unit 406 under the control of the CPU 102.

さらに、CPU 102は、選択されたグループに属する各制御点204の仮想空間における絶対的な位置を、主ボーン202の副ボーン203の位置および向きに基づいて、計算する(ステップS512)。   Further, the CPU 102 calculates the absolute position of each control point 204 belonging to the selected group in the virtual space based on the position and orientation of the sub bone 203 of the main bone 202 (step S512).

これらの位置計算演算も座標変換が必要となるため、画像処理コプロセッサに演算を任せるのが一般的であるが、本実施形態では、制御点204の位置等の計算をグループ単位に分割して行うことで、1回あたりの計算負荷の低減を図ることができる。   Since these position calculation calculations also require coordinate conversion, it is common to leave the calculation to the image processing coprocessor. In this embodiment, however, the calculation of the position of the control point 204 is divided into groups. By doing so, the calculation load per time can be reduced.

このように、CPU 102の制御の下、画像処理部106は、位置計算部407として機能する。   As described above, the image processing unit 106 functions as the position calculation unit 407 under the control of the CPU 102.

ついで、CPU 102の制御の下、画像処理部106は、選択されたグループに属する各制御点204を頂点とする各ポリゴン205を視点301からの距離でソートして(ステップS513)、視点301からの距離が遠い順に以下の処理を繰り返す(ステップS514〜)。これは、いわゆるZバッファ法による描画に相当する。   Next, under the control of the CPU 102, the image processing unit 106 sorts the polygons 205 having the respective control points 204 belonging to the selected group as vertices by the distance from the viewpoint 301 (step S513). The following processing is repeated in the order of increasing distance (step S514). This corresponds to drawing by the so-called Z buffer method.

すなわち、画像処理部106は、処理対象となるポリゴン205の形状を計算し、バッファ部404において投影される領域を計算する(ステップS515)。   That is, the image processing unit 106 calculates the shape of the polygon 205 to be processed, and calculates the area projected in the buffer unit 404 (step S515).

この際には、仮想空間内に配置される視点301の位置や、視線の方向などが参照され、平行投影や透視投影によって、領域計算がなされる。   At this time, the position of the viewpoint 301 arranged in the virtual space, the direction of the line of sight, and the like are referred to, and the area calculation is performed by parallel projection or perspective projection.

ついで、画像処理部106は、当該ポリゴン205に割り当てられたテクスチャ情報をバッファ部404内の当該計算された領域に貼り込み、描画を行う(ステップS516)。   Next, the image processing unit 106 pastes the texture information assigned to the polygon 205 in the calculated area in the buffer unit 404 and performs drawing (step S516).

この処理を、選択された主ボーン202に属するポリゴン205すべてについて、ステップS514以降の処理を視点301から遠い順に繰り返すのである(ステップS517)。   This process is repeated for all the polygons 205 belonging to the selected main bone 202 in the order farthest from the viewpoint 301 (step S517).

したがって、画像処理部106は、スキン計算部408ならびに描画部409として機能する。   Therefore, the image processing unit 106 functions as the skin calculation unit 408 and the drawing unit 409.

このようにして、選択された主ボーン202に係るグループの描画が終了すると、1回の垂直同期周期で画像処理コプロセッサができる能力は使い尽くしたことになる。   In this way, when the drawing of the group related to the selected main bone 202 is completed, the ability of the image processing coprocessor in one vertical synchronization cycle is exhausted.

そこで、CPU 102は、垂直同期割込を待機する(ステップS519)。この待機中には、適宜他の計算処理を、コルーチン的に実行することが可能である。   Therefore, the CPU 102 waits for a vertical synchronization interrupt (step S519). During this standby, other calculation processes can be executed in a coroutine manner as appropriate.

そして、すべての主ボーン202が選択されるまでステップS505以降の処理を繰り返す(ステップS520)。   Then, the processes after step S505 are repeated until all the main bones 202 are selected (step S520).

図6、図7、図8、図9は、ステップS505〜ステップS520の処理を繰り返すことによって、バッファ部404に記憶される画像がどのように更新されていくか、を示す説明図である。以下、本図を参照して説明する。   6, 7, 8, and 9 are explanatory diagrams showing how the image stored in the buffer unit 404 is updated by repeating the processes in steps S <b> 505 to S <b> 520. Hereinafter, a description will be given with reference to FIG.

図6には、当初の背景画像501のみが描画されている様子が示されている。   FIG. 6 shows a state in which only the initial background image 501 is drawn.

図7は、繰り返しの最初が完了した後を表す画像で、図6の背景画像501の上に、
(b1)主ボーン202e、202fに属するポリゴン205により形成される左腕のスキン601e、601f
(b2)主ボーン202hに属するポリゴン205により形成される左掌のスキン601h
(b3)主ボーン202l、202mに属するポリゴン205により形成される左腿のスキン601l、左脛のスキン601m
(b4)主ボーン202oに属するに属するポリゴン205により形成される左足底のスキン601o
が描画されている。
FIG. 7 shows an image after the first iteration has been completed. On the background image 501 in FIG.
(B1) Left arm skins 601e and 601f formed by polygons 205 belonging to main bones 202e and 202f
(B2) Left palm skin 601h formed by polygon 205 belonging to main bone 202h
(B3) Left thigh skin 601l and left shin skin 601m formed by polygon 205 belonging to main bones 202l and 202m
(B4) Skin 601o of the left sole formed by the polygon 205 belonging to the main bone 202o
Is drawn.

図8は、次の段階の描画が完了した後を表す画像で、図7の画像の上に、
(c1)主ボーン202aに属するポリゴン205により形成される頭部のスキン601a
(c2)主ボーン202bに属するポリゴン205により形成される胴体上部のスキン601b
(c2)主ボーン202iに属するポリゴン205により形成される胴体下部のスキン601i
が描画されている。
FIG. 8 shows an image after the next stage of drawing has been completed.
(C1) Head skin 601a formed by polygon 205 belonging to main bone 202a
(C2) The upper skin 601b formed by the polygon 205 belonging to the main bone 202b
(C2) Skin 601i under the trunk formed by the polygon 205 belonging to the main bone 202i
Is drawn.

図9は、最後の段階の描画が完了した後を表す画像で、図8の画像の上に、
(d1)主ボーン202c、202dに属するポリゴン205により形成される右腕のスキン601c、601d、
(d2)主ボーン202gに属するポリゴン205により形成される右掌のスキン601g、
(d3)主ボーン202j、202kに属するポリゴン205により形成される右腿のスキン601j、右脛のスキン601k
(b4)主ボーン202nに属するポリゴン205により形成される右足底のスキン601n、
が描画されている。
FIG. 9 shows an image after the final stage of drawing is completed. On the image of FIG.
(D1) Skins 601c, 601d for the right arm formed by the polygon 205 belonging to the main bones 202c, 202d,
(D2) The right palm skin 601g formed by the polygon 205 belonging to the main bone 202g,
(D3) The right thigh skin 601j and the right shin skin 601k formed by the polygon 205 belonging to the main bones 202j and 202k.
(B4) The skin 601n of the right sole formed by the polygon 205 belonging to the main bone 202n,
Is drawn.

1回の描画で処理対象となるポリゴンは、Zバッファ法により視点301からの距離でソートされて描画されるので、その奥行き方向の位置関係に矛盾が生じることはない。   Since the polygons to be processed in one drawing are sorted and drawn by the distance from the viewpoint 301 by the Z buffer method, there is no contradiction in the positional relationship in the depth direction.

また、モデル201において、主ボーン202がとりうる位置や向きには、生物の関節などを模したり、主ボーン202の交差を避けるために、制限が課せられていることが多い。このため、グループ同士の奥行き方向の位置関係についても、本実施形態の手法に基づけば、実用上は、矛盾が生じることはない、と考えられる。   In the model 201, the positions and orientations that the main bone 202 can take are often restricted in order to imitate a joint of a living organism or avoid the intersection of the main bone 202. For this reason, regarding the positional relationship between the groups in the depth direction, it is considered that there is practically no contradiction based on the method of this embodiment.

本実施形態では、15個の主ボーン202のそれぞれのグループに対してポリゴン205が割り当てられるため、グループの総数は15個となる。しかしながら、本実施形態は、右腕、右脚、左腕、左脚に随伴関係を導入している。このため、実質的なグループの数は、11個となっている。   In this embodiment, since the polygon 205 is assigned to each group of 15 main bones 202, the total number of groups is 15. However, this embodiment introduces an accompanying relationship to the right arm, right leg, left arm, and left leg. For this reason, the number of substantial groups is 11.

図10は、随伴関係を考慮したグループの様子を示す説明図である。以下、本図を参照して説明する。   FIG. 10 is an explanatory diagram showing the state of the group in consideration of the adjoint relationship. Hereinafter, a description will be given with reference to FIG.

モデル201のスキンは、本図の太線で描かれているように、実質的に11個のグループ209に分類されている。各グループ209には、主ボーン202が1つ以上割り当てられており、複数の主ボーン202が割り当てられるグループ209は、関節で形状を曲げることが可能になっている。   The skins of the model 201 are substantially classified into 11 groups 209 as depicted by the bold lines in the figure. One or more main bones 202 are assigned to each group 209, and the group 209 to which a plurality of main bones 202 are assigned can be bent at a joint.

このように、グループ209への分類や随伴関係の導入は、キャラクターの形状やポリゴン205等の数、画像処理コプロセッサの性能などに応じて、適宜変更が可能である。たとえば、頭部、胴体上部、胴体下部の3つをまとめるような随伴関係を導入するなど、種々の態様が考えられる。   In this manner, the classification and introduction of the adjoint relationship into the group 209 can be appropriately changed according to the shape of the character, the number of polygons 205, the performance of the image processing coprocessor, and the like. For example, various modes are conceivable, such as introducing an adjoint relationship in which the head, the upper part of the trunk, and the lower part of the trunk are combined.

このようにして、すべての主ボーン202が選択され、描画が終了したら、ステップS505〜ステップS520の処理を抜けることとなる。このタイミングは、垂直同期割込の直後に相当する。   In this way, when all the main bones 202 are selected and drawing is completed, the processing from step S505 to step S520 is terminated. This timing corresponds to immediately after the vertical synchronization interrupt.

そこで、CPU 102は、画像処理部106を制御して、バッファ部404に描画されている画像を、液晶ディスプレイ107などのモニターの表示画面に転送表示させる制御を行う(ステップS521)。   Therefore, the CPU 102 controls the image processing unit 106 to transfer and display the image drawn in the buffer unit 404 on a display screen of a monitor such as the liquid crystal display 107 (step S521).

したがって、CPU 102は、画像処理部106と共働して、表示部410として機能する。   Therefore, the CPU 102 functions as the display unit 410 in cooperation with the image processing unit 106.

ついで、CPU 102は、今回のステップS505〜ステップS520の繰り返しに要した時間だけ、RAM 103内の仮想時刻を経過させ(ステップS522)、ステップS504に戻る。   Next, the CPU 102 causes the virtual time in the RAM 103 to elapse for the time required to repeat the current step S505 to step S520 (step S522), and returns to step S504.

この仮想時刻は、モデル201が時間の経過にともなって、所定のアルゴリズムにしたがって変形する場合にモデル201の変形の際に参照される。   This virtual time is referred to when the model 201 is deformed when the model 201 is deformed according to a predetermined algorithm as time passes.

主更新部403および副更新部406がモデル201の変形計算を行うが、この計算では、あらかじめモーションキャプチャした情報と、仮想時刻の経過とを組み合わせてモデル201の姿勢や位置を変形させることとしても良いし、プレイヤーの操作指示に基づいて、モデル201を変形させることとしても良い。   The main update unit 403 and the sub update unit 406 perform deformation calculation of the model 201. In this calculation, the posture and position of the model 201 may be deformed by combining the information captured in advance with the passage of virtual time. Alternatively, the model 201 may be deformed based on an operation instruction from the player.

上記のような繰り返し処理を行うことによって、画面更新のフレームレートを犠牲にしつつも、多数のポリゴン205によって設計されたモデル201の画像を生成して、ユーザに提示することができるようになるのである。   By performing the above iterative process, the image of the model 201 designed with a large number of polygons 205 can be generated and presented to the user while sacrificing the frame rate of the screen update. is there.

以上説明したように、本発明によれば、ボーンおよび制御点によって定義される3次元モデルからの画像生成において処理可能な制御点の数を増すのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   As described above, according to the present invention, an image generation apparatus, an image generation method, and an image generation apparatus suitable for increasing the number of control points that can be processed in image generation from a three-dimensional model defined by bones and control points, and A program for realizing these by a computer can be provided.

101 情報処理装置
102 CPU
103 RAM
104 ROM
105 入力装置
106 画像処理部
107 液晶ディスプレイ
108 音声処理部
109 ヘッドホン
110 カセットリーダ
111 ROMカセット
112 外部メモリ
113 RTC
114 無線LANインターフェース
115 カメラ
201 モデル
202 主ボーン
203 副ボーン
204 制御点
205 ポリゴン
209 グループ
401 画像生成装置
402 記憶部
403 主更新部
404 バッファ部
405 選択部
406 副更新部
407 位置計算部
408 スキン計算部
409 描画部
410 表示部
501 背景画像
601 スキン
101 Information processing apparatus 102 CPU
103 RAM
104 ROM
105 Input Device 106 Image Processing Unit 107 Liquid Crystal Display 108 Audio Processing Unit 109 Headphone 110 Cassette Reader 111 ROM Cassette 112 External Memory 113 RTC
114 Wireless LAN Interface 115 Camera 201 Model 202 Main Bone 203 Secondary Bone 204 Control Point 205 Polygon 209 Group 401 Image Generation Device 402 Storage Unit 403 Main Update Unit 404 Buffer Unit 405 Selection Unit 406 Sub Update Unit 407 Position Calculation Unit 408 Skin Calculation Unit 409 Drawing unit 410 Display unit 501 Background image 601 Skin

Claims (10)

仮想空間に配置される複数のボーンおよび複数の制御点から画像を生成する画像生成装置であって、
あるボーンの位置および向きが他のボーンに対して相対的に定められている場合、当該あるボーンは当該他のボーンに依存し、
あるボーンの位置および向きが前記仮想空間に対して定められている場合、当該あるボーンは当該仮想空間に依存し、
前記複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、
当該複数のボーンの種類には、主ボーンがあり、
当該主ボーンのいずれか一つは、当該仮想空間に依存し、それ以外の主ボーンのそれぞれは、他のいずれかの主ボーンに依存し、
前記複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが主ボーンである場合、当該主ボーンに対するグループに分類され、
前記画像生成装置は、
当該複数のボーンのそれぞれについて、当該ボーンが依存する他のボーンに対する相対的な位置および向きが記憶される記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるそれぞれの主ボーンの位置および向きを更新する主更新部、
前記主更新部による更新がされると、前記仮想空間内の視点位置と視線方向に対する前記主ボーンのそれぞれの奥行きに基づいて、前記主ボーンの順序を定め、当該決定された順序で、前記主ボーンを順に選択する選択部、
前記選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する位置計算部、
前記制御点の位置が計算されると、当該計算された制御点の位置から、スキンの形状を計算するスキン計算部、
前記スキンの形状が計算されると、当該計算されたスキンの形状を、前記視点位置から前記視線方向に見た様子を表すスキン画像を、既に描画済みの画像に重ねて描画する描画部、
すべての主ボーンに対するグループに分類される制御点の位置から計算されたスキンの形状を表すスキン画像が描画されると、当該既に描画済みの画像を、画面に表示する表示部
を備えることを特徴とする画像生成装置。
An image generation device that generates an image from a plurality of bones and a plurality of control points arranged in a virtual space,
If the position and orientation of a bone is defined relative to another bone, that bone depends on the other bone,
If the position and orientation of a bone is defined with respect to the virtual space, the bone depends on the virtual space,
Each of the plurality of control points is fixed in a relative position with respect to any of the plurality of bones.
The multiple bone types include a main bone,
Any one of the main bones depends on the virtual space, and each of the other main bones depends on any other main bone,
Each of the plurality of control points is classified into a group for the main bone when the bone to which the relative position of the control point is fixed is the main bone.
The image generation device includes:
For each of the plurality of bones, a storage unit that stores a relative position and orientation with respect to other bones on which the bone depends,
A main update unit that updates the position and orientation of each main bone stored in the storage unit based on the passage of time or an instruction from the user,
When updated by the main update unit, the order of the main bones is determined based on the viewpoint position in the virtual space and the respective depths of the main bones with respect to the line-of-sight direction, and the main bones are determined in the determined order. A selection part that selects bones in order,
A position calculation unit for calculating a position in the virtual space of control points classified into a group for the selected main bone;
When the position of the control point is calculated, a skin calculation unit that calculates the shape of the skin from the calculated position of the control point,
When the shape of the skin is calculated, a drawing unit that draws a skin image representing the shape of the calculated skin viewed in the line-of-sight direction from the viewpoint position, overlaid on the already drawn image,
When a skin image representing the shape of the skin calculated from the positions of control points classified into groups for all main bones is drawn, the display unit displays the already drawn image on the screen. An image generating apparatus.
請求項1に記載の画像生成装置であって、
あらかじめ用意された背景画像が記憶されるバッファ部
をさらに備え、
前記描画部は、前記スキン画像を、前記バッファ部に既に記憶されている画像に重ねて描画し、
前記表示部は、前記バッファ部に記憶されている画像を表示する
ことを特徴とする画像生成装置。
The image generation apparatus according to claim 1,
A buffer unit for storing a background image prepared in advance;
The drawing unit draws the skin image so as to overlap the image already stored in the buffer unit,
The display unit displays an image stored in the buffer unit.
請求項1または2に記載の画像生成装置であって、
当該複数のボーンの種類には、主ボーンのほか、副ボーンがあり、
当該副ボーンのそれぞれは、いずれかの主ボーンもしくは他のいずれかの副ボーンに依存し、
前記複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが副ボーンである場合、当該副ボーンが依存する主ボーンもしくは当該副ボーンが依存する他の副ボーンが依存する主ボーンに対するグループに分類され、
前記画像生成装置は、
前記主ボーンが選択されると、時間の経過もしくは前記ユーザからの指示に基づいて、前記記憶部に記憶される当該選択された主ボーンに依存する副ボーンの位置および向きを更新する副更新部
をさらに備え、
前記位置計算部は、前記副ボーンの位置および向きが更新されると、前記選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する
ことを特徴とする画像生成装置。
The image generating apparatus according to claim 1 or 2,
There are sub-bones in addition to the main bone in the multiple bone types.
Each of the secondary bones depends on any primary bone or any other secondary bone,
Each of the plurality of control points depends on a main bone on which the sub bone depends or another sub bone on which the sub bone depends if the bone to which the relative position of the control point is fixed is a sub bone. Into a group for the main bone
The image generation device includes:
When the main bone is selected, a sub-update unit that updates the position and orientation of the sub-bone depending on the selected main bone stored in the storage unit based on the passage of time or an instruction from the user Further comprising
When the position and orientation of the sub-bone are updated, the position calculation unit calculates a position in the virtual space of control points classified into a group for the selected main bone. .
請求項1から3のいずれか1項に記載の画像生成装置であって、
前記選択部は、前記主ボーンの順序を、前記視点位置からの奥行き距離が遠い順に定める
ことを特徴とする画像生成装置。
The image generation apparatus according to any one of claims 1 to 3,
The selection unit determines the order of the main bones in order of increasing depth distance from the viewpoint position.
請求項1から3のいずれか1項に記載の画像生成装置であって、
前記主ボーンには、他の主ボーンに随伴することが設定されるものがあり、
前記選択部は、ある主ボーンが選択され、当該選択された主ボーンに随伴する他の主ボーンがある場合、
当該随伴する他の主ボーンも同時に選択する
ことを特徴とする画像生成装置。
The image generation apparatus according to any one of claims 1 to 3,
Some of the main bones are set to accompany other main bones,
The selection unit selects a certain main bone, and when there is another main bone accompanying the selected main bone,
An image generation apparatus characterized by simultaneously selecting other accompanying main bones.
請求項1から5のいずれか1項に記載の画像生成装置であって、
前記スキンは、前記制御点を頂点とするポリゴンであり、異なる複数のグループに属する制御点を頂点とするポリゴンは、当該複数のグループのいずれかに対する主ボーンが選択されることによって描画される
ことを特徴とする画像生成装置。
The image generation apparatus according to any one of claims 1 to 5,
The skin is a polygon whose vertex is the control point, and the polygon whose vertex is a control point belonging to a plurality of different groups is drawn by selecting a main bone for any of the plurality of groups. An image generation apparatus characterized by the above.
請求項1から5のいずれか1項に記載の画像生成装置であって、
前記スキンは、前記制御点の位置の重み付け平均位置を頂点とするポリゴンであり、異なる複数のグループに属する制御点から定められる重み付け平均位置を頂点とするポリゴンは、当該複数のグループのいずれかに対する主ボーンが選択されることによって描画される
ことを特徴とする画像生成装置。
The image generation apparatus according to any one of claims 1 to 5,
The skin is a polygon whose vertex is a weighted average position of the control point positions, and the polygon whose vertex is a weighted average position determined from control points belonging to a plurality of different groups corresponds to any of the plurality of groups. An image generating apparatus characterized by being drawn by selecting a main bone.
請求項6または7に記載の画像生成装置であって、
前記選択部による選択によって描画されるべきポリゴンの数が、所定の上限を超えない限り、前記選択部は、当該主ボーンの順序における次の主ボーンを同時に選択する
ことを特徴とする画像選択装置。
The image generation apparatus according to claim 6, wherein:
The selection unit simultaneously selects the next main bone in the order of the main bones unless the number of polygons to be drawn by the selection by the selection unit exceeds a predetermined upper limit. .
仮想空間に配置される複数のボーンおよび複数の制御点から画像を生成する画像生成方法であって、
あるボーンの位置および向きが他のボーンに対して相対的に定められている場合、当該あるボーンは当該他のボーンに依存し、
あるボーンの位置および向きが前記仮想空間に対して定められている場合、当該あるボーンは当該仮想空間に依存し、
前記複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、
当該複数のボーンの種類には、主ボーンがあり、
当該主ボーンのいずれか一つは、当該仮想空間に依存し、それ以外の主ボーンのそれぞれは、他のいずれかの主ボーンに依存し、
前記複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが主ボーンである場合、当該主ボーンに対するグループに分類され、
前記画像生成方法は、記憶部、主更新部、選択部、位置計算部、スキン計算部、描画部、表示部を有する画像生成装置によって実行され、
前記記憶部には、当該複数のボーンのそれぞれについて、当該ボーンが依存する他のボーンに対する相対的な位置および向きが記憶され、
前記画像生成方法は、
前記主更新部が、時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるそれぞれの主ボーンの位置および向きを更新する主更新工程、
前記主更新部による更新がされると、前記選択部が、前記仮想空間内の視点位置と視線方向に対する前記主ボーンのそれぞれの奥行きに基づいて、前記主ボーンの順序を定め、当該決定された順序で、前記主ボーンを順に選択する選択工程、
前記位置計算部が、前記選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する位置計算工程、
前記制御点の位置が計算されると、前記スキン計算部が、当該計算された制御点の位置から、スキンの形状を計算するスキン計算工程、
前記スキンの形状が計算されると、前記描画部が、当該計算されたスキンの形状を、前記視点位置から前記視線方向に見た様子を表すスキン画像を、既に描画済みの画像に重ねて描画する描画工程、
すべての主ボーンに対するグループに分類される制御点の位置から計算されたスキンの形状を表すスキン画像が描画されると、前記表示部が、当該既に描画済みの画像を、画面に表示する表示工程
を備えることを特徴とする画像生成方法。
An image generation method for generating an image from a plurality of bones and a plurality of control points arranged in a virtual space,
If the position and orientation of a bone is defined relative to another bone, that bone depends on the other bone,
If the position and orientation of a bone is defined with respect to the virtual space, the bone depends on the virtual space,
Each of the plurality of control points is fixed in a relative position with respect to any of the plurality of bones.
The multiple bone types include a main bone,
Any one of the main bones depends on the virtual space, and each of the other main bones depends on any other main bone,
Each of the plurality of control points is classified into a group for the main bone when the bone to which the relative position of the control point is fixed is the main bone.
The image generation method is executed by an image generation apparatus having a storage unit, a main update unit, a selection unit, a position calculation unit, a skin calculation unit, a drawing unit, and a display unit,
The storage unit stores, for each of the plurality of bones, a relative position and orientation with respect to other bones on which the bone depends,
The image generation method includes:
The main update unit updates the position and orientation of each main bone stored in the storage unit based on the passage of time or an instruction from the user,
When updated by the main update unit, the selection unit determines the order of the main bones based on the viewpoint position in the virtual space and the respective depths of the main bones with respect to the line-of-sight direction, and is determined A selection step of sequentially selecting the main bones in order;
A position calculation step in which the position calculation unit calculates a position in the virtual space of control points classified into a group for the selected main bone;
When the position of the control point is calculated, the skin calculation unit calculates a skin shape from the calculated position of the control point,
When the shape of the skin is calculated, the drawing unit draws the skin image representing the shape of the calculated skin viewed from the viewpoint position in the line-of-sight direction, overlaid on the already drawn image. Drawing process,
When a skin image representing the shape of a skin calculated from the positions of control points classified into groups for all main bones is drawn, the display unit displays the already drawn image on the screen. An image generation method comprising:
コンピュータに、仮想空間に配置される複数のボーンおよび複数の制御点から、画像を生成させるプログラムであって、
あるボーンの位置および向きが他のボーンに対して相対的に定められている場合、当該あるボーンは当該他のボーンに依存し、
あるボーンの位置および向きが前記仮想空間に対して定められている場合、当該あるボーンは当該仮想空間に依存し、
前記複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、
当該複数のボーンの種類には、主ボーンがあり、
当該主ボーンのいずれか一つは、当該仮想空間に依存し、それ以外の主ボーンのそれぞれは、他のいずれかの主ボーンに依存し、
前記複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが主ボーンである場合、当該主ボーンに対するグループに分類され、
前記プログラムは、前記コンピュータを、
当該複数のボーンのそれぞれについて、当該ボーンが依存する他のボーンに対する相対的な位置および向きが記憶される記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるそれぞれの主ボーンの位置および向きを更新する主更新部、
前記主更新部による更新がされると、前記仮想空間内の視点位置と視線方向に対する前記主ボーンのそれぞれの奥行きに基づいて、前記主ボーンの順序を定め、当該決定された順序で、前記主ボーンを順に選択する選択部、
前記選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する位置計算部、
前記制御点の位置が計算されると、当該計算された制御点の位置から、スキンの形状を計算するスキン計算部、
前記スキンの形状が計算されると、当該計算されたスキンの形状を、前記視点位置から前記視線方向に見た様子を表すスキン画像を、既に描画済みの画像に重ねて描画する描画部、
すべての主ボーンに対するグループに分類される制御点の位置から計算されたスキンの形状を表すスキン画像が描画されると、当該既に描画済みの画像を、画面に表示する表示部
として機能させることを特徴とするプログラム。
A program for causing a computer to generate an image from a plurality of bones and a plurality of control points arranged in a virtual space,
If the position and orientation of a bone is defined relative to another bone, that bone depends on the other bone,
If the position and orientation of a bone is defined with respect to the virtual space, the bone depends on the virtual space,
Each of the plurality of control points is fixed in a relative position with respect to any of the plurality of bones.
The multiple bone types include a main bone,
Any one of the main bones depends on the virtual space, and each of the other main bones depends on any other main bone,
Each of the plurality of control points is classified into a group for the main bone when the bone to which the relative position of the control point is fixed is the main bone.
The program causes the computer to
For each of the plurality of bones, a storage unit that stores a relative position and orientation with respect to other bones on which the bone depends,
A main update unit that updates the position and orientation of each main bone stored in the storage unit based on the passage of time or an instruction from the user,
When updated by the main update unit, the order of the main bones is determined based on the viewpoint position in the virtual space and the respective depths of the main bones with respect to the line-of-sight direction, and the main bones are determined in the determined order. A selection part that selects bones in order,
A position calculation unit for calculating a position in the virtual space of control points classified into a group for the selected main bone;
When the position of the control point is calculated, a skin calculation unit that calculates the shape of the skin from the calculated position of the control point,
When the shape of the skin is calculated, a drawing unit that draws a skin image representing the shape of the calculated skin viewed in the line-of-sight direction from the viewpoint position, overlaid on the already drawn image,
When a skin image representing the shape of the skin calculated from the positions of control points classified into groups for all main bones is drawn, the already drawn image can be made to function as a display unit that is displayed on the screen. A featured program.
JP2009272384A 2009-11-30 2009-11-30 Image generating apparatus, image generating method, and program Active JP5043919B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009272384A JP5043919B2 (en) 2009-11-30 2009-11-30 Image generating apparatus, image generating method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009272384A JP5043919B2 (en) 2009-11-30 2009-11-30 Image generating apparatus, image generating method, and program

Publications (2)

Publication Number Publication Date
JP2011113524A JP2011113524A (en) 2011-06-09
JP5043919B2 true JP5043919B2 (en) 2012-10-10

Family

ID=44235778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009272384A Active JP5043919B2 (en) 2009-11-30 2009-11-30 Image generating apparatus, image generating method, and program

Country Status (1)

Country Link
JP (1) JP5043919B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108014497A (en) * 2017-12-06 2018-05-11 北京像素软件科技股份有限公司 Object adding method, device and electronic equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108014497A (en) * 2017-12-06 2018-05-11 北京像素软件科技股份有限公司 Object adding method, device and electronic equipment
CN108014497B (en) * 2017-12-06 2021-03-30 北京像素软件科技股份有限公司 Object adding method and device and electronic equipment

Also Published As

Publication number Publication date
JP2011113524A (en) 2011-06-09

Similar Documents

Publication Publication Date Title
JP4519883B2 (en) Character display device, character display method, and program
JP4359784B2 (en) Face image synthesis method and face image synthesis apparatus
CN110163942B (en) Image data processing method and device
JP5643617B2 (en) Image processing program, image processing apparatus, image processing method, and image processing system
CN108780580B (en) Data generating device, storage medium, and information processing method
JP2009237680A (en) Program, information storage medium, and image generation system
EP1956471A1 (en) Object selecting device, object selecting method, information recording medium, and program
US6697071B2 (en) Method, game machine and recording medium for displaying motion in a video game
JP2001209824A (en) Three-dimensional object deforming method for video game, video game device and computer readable recording medium with recorded program for video game
US6906713B2 (en) Display object generation method in information processing equipment, program to control and execute same, and recording medium for storing program
JP2009251858A (en) Image conversion program and image conversion device
JP2002216146A (en) Display object generating method in information processor, program to execute and control the same and recording medium in which the same program is stored
JP5043919B2 (en) Image generating apparatus, image generating method, and program
JP4929061B2 (en) GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
US20230377268A1 (en) Method and apparatus for multiple dimension image creation
TW200818055A (en) Picture processing device, method for controlling a picture processing device, and information storage medium
CN112206519A (en) Method, device, storage medium and computer equipment for realizing game scene environment change
CN111915479A (en) Image processing method and device, electronic equipment and computer readable storage medium
JP3961525B2 (en) Image processing apparatus, image processing method, and program
JP2003337956A (en) Apparatus and method for computer graphics animation
CN115526967A (en) Animation generation method and device for virtual model, computer equipment and storage medium
JP4815521B2 (en) Image processing apparatus, image processing method, and program
JP4567027B2 (en) Image processing apparatus, image processing method, and program
JP2003288609A (en) Program, device, and method of 3-dimensional image processing and device for video game
JP2009020818A (en) Image generation device, image generation method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120613

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5043919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250