JP5043919B2 - Image generating apparatus, image generating method, and program - Google Patents
Image generating apparatus, image generating method, and program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 64
- 210000000988 bone and bone Anatomy 0.000 claims description 444
- 238000004364 calculation method Methods 0.000 claims description 54
- 238000012545 processing Methods 0.000 description 56
- 230000010365 information processing Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 239000004973 liquid crystal related substance Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 210000000689 upper leg Anatomy 0.000 description 6
- 210000003128 head Anatomy 0.000 description 4
- 210000000707 wrist Anatomy 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 3
- 210000000784 arm bone Anatomy 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 210000001694 thigh bone Anatomy 0.000 description 1
- 210000002303 tibia Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E40/00—Technologies for an efficient electrical power generation, transmission or distribution
- Y02E40/60—Superconducting 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.
しかしながら、たとえば携帯型情報処理装置等、画像処理コプロセッサの性能が低い場合には、多数のボーン、制御点、ポリゴン等を一度に処理することができない場合がある。 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.
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。 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
本実施形態に係るプログラムが記録されたROMカセット111を、情報処理装置101に装着することによって、本実施形態に係る画像生成装置が実現される。
By mounting the
ここで、CPU 102は、情報処理装置101の各部を制御するとともに、各種の演算処理や判断処理を行う。
Here, the
情報処理装置101に電源が投入されると、CPU 102は、ROM 104に記録されたIPL(Initial Program Loader)を実行し、その処理の過程で、カセットリーダ110を介して接続されたROMカセット111に記録されたプログラムに処理を移行する。
When the
情報処理装置101で実行されるゲームプログラムやマルチメディア情報再生プログラムは、ROMカセット111によって提供されるのが一般的であるが、ROM 104内にあらかじめ用意しておくことも可能である。
The game program and multimedia information reproduction program executed by the
また、ROM 104内には、BIOS(Basic Input Output System)と呼ばれるプログラム群が用意されており、入力装置105や画像処理部106、音声処理部108の制御を行うことができる。
Further, a program group called BIOS (Basic Input Output System) is prepared in the
RAM 103は、一時的な情報を記憶するための領域であり、外部メモリ112は、不揮発な情報を記憶するための領域である。外部メモリ112としては、ハードディスクなど、主として情報処理装置101に内蔵されるもののほか、各種のメモリカードなど、情報処理装置101に抜挿されるものを利用しても良い。
The RAM 103 is an area for storing temporary information, and the
入力装置105は、各種のボタンやキーボード、マウス、ジョイスティック等により実現されるのが一般的であるが、液晶ディスプレイ107と一体に形成されたタッチスクリーンを入力装置105として利用することも可能である。
The
画像処理部106は、CPU 102の制御の下、各種の文字情報や画像情報を液晶ディスプレイ107に表示させるものであり、一般には、垂直同期割込周期(典型的には、30分の1秒や60分の1秒程度である。)ごとに、RAM 103内に用意されたフレームバッファに記憶された画素情報を液晶ディスプレイ107の各画素に反映させる。
The
ユーザからの指示入力は、液晶ディスプレイ107に表示されたカーソルを入力装置105の移動ボタン操作により移動して、所望のメニュー項目にカーソルを合わせ、決定ボタン操作によって当該メニュー項目を選択するのが一般的であるが、タッチスクリーンを利用する場合にはカーソルは不要である。また、入力装置105の各ボタンに割り当てられる機能があらかじめ決まっている場合には、液晶ディスプレイ107に対する表示は、必ずしも必要ない。
In general, an instruction input from the user is performed by moving the cursor displayed on the
音声処理部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
RTC 113は、現在の日時を計測するもので、情報処理装置101を初めて利用する際に時刻合わせを行うのが一般的であるが、無線LANインターフェース114を介してNTP(Network Time Protocol)サーバに接続することで、自動的に時刻合わせを行うような態様を採用することも可能である。
The
また、アラーム割込を発生させる機能を持つRTC 113もある。設定された時刻になるとアラーム割込が発生して、CPU 102は、現在実行中のプログラムを一時中断し、あらかじめ設定された割込ハンドラを実行してから、中断したプログラムを再開する。
There is also an
無線LANインターフェース114は、自宅や会社、街角に用意された無線LANアクセスポイントを介してインターネットに接続したり、近傍に配置された他の情報処理装置101と、アドホックに通信路を確立し、1対1で通信を行うなどが可能である。
The
カメラ115は、情報処理装置101によってディジタルカメラの機能を実現するものであり、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)撮像素子などの技術を適用することが可能である。撮影された画像は、一時的にRAM 103に展開された後、外部メモリ112等に保存される。
The
このほか、ビジネス用コンピュータ、携帯電話、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
(1)
(2)
(3) A
(4) A
(5)
(6)
(7) Main bone 202i representing the lower body
(8) A
(9) Main bone 202l representing the left thigh and
(10)
(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
さらに、モデル201では、右手の指を表す複数の副ボーン203g、および、左手の指を表す複数の副ボーン203hによって、キャラクターの細かな姿勢が表現される。
Further, in the
副ボーン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
さらに、理解を容易にするため、あるボーン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
このように考えると、副ボーン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
さらに、特許文献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
本実施形態では、制御点204は、ポリゴン205の頂点となっており、このポリゴン205がモデル201の表面を表すスキンを形成している。
In the present embodiment, the
ここで、ある主ボーン202に固定されている制御点204、および、当該主ボーン202に依存する副ボーン203に固定されている制御点204を、「当該主ボーン202に対するグループに属する制御点204」あるいは省略して、「当該主ボーン202に属する制御点204」と呼ぶこととする。
Here, a
たとえば、胴体上部の主ボーン202bに属する制御点204を頂点とするポリゴン205によって、胴体上部の形状が定められ、右掌の主ボーン202gに対するグループに属する制御点204を頂点とするポリゴン205によって、右手の掌および指の形状が定められるのである。
For example, the shape of the upper part of the fuselage is determined by a
なお、制御点204の座標をそのままポリゴン205の頂点とするのではなく、ポリゴン205の頂点のそれぞれに制御点204を1つ以上、重みとともに割り当て、割り当てられた制御点204の位置のその重み付き平均の位置を、ポリゴン205の頂点とする手法も従来から広く用いられており、このような態様を採用することも可能である。
Instead of using the coordinates of the
また、ポリゴン205によってスキンの形状を定義するのではなく、制御点204を、NURBS曲面の形状を定めるための制御点として利用することによって、モデル201を表面を滑らかに表現する態様を採用しても良い。
Also, instead of defining the shape of the skin by the
さて、上記(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
このようにして、ボーン202、203、制御点204、ポリゴン205によって、モデル201が定義される。
In this way, the
このようなモデル201に対して、従来の3次元グラフィックスでは、すべてのポリゴン205を、視点からの距離でソートして、遠いポリゴン205から順に描画するZバッファの技術を用いることで、ポリゴン205同士が隠し隠される関係を適切に画像に反映させることとしていた。
In contrast to such a
一方、本実施形態では、ポリゴン205を、当該ポリゴン205が属する主ボーン202のグループによって分類する。本実施形態では、上記のように、11個のグループに、ポリゴン205が分類されることになる。
On the other hand, in this embodiment, the
そして、主ボーン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
(2)
(3) Left foot sole main bone 202o
(4) Left shin
(5) Left upper arm
(6) Left thigh main bone 202l
(7)
(8)
(9) Main bone 202i at the bottom of the fuselage
(10) Right thigh
(11)
(12) The
(13) Lower right arm
(14) Right foot sole
(15) Right palm
そして、視点から遠い主ボーン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
たとえば、繰り返しの初回では、視点から最も遠い左掌の主ボーン202hが選択される。そして、左掌の主ボーン202hや左手の指を表す副ボーン202に基づいて、左手の形状を表す制御点204の位置が計算される。
For example, in the first iteration, the left palm
さらに、計算された制御点204の位置に基づいて、左の掌や左の手の指の形状を表すポリゴン205の形状が計算され、描画されることにって、左手首から先のスキンが形成されるのである。
Further, based on the calculated position of the
以下、繰り返しの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
本実施形態では、ポリゴン205全体をまとめて処理するのではなく、グループ単位に分割して処理をする。このため、一度に処理しなければならないボーン202、203の数、制御点204の数、ポリゴン205の数を抑制することができる。
In the present embodiment, the
したがって、画像処理部106を構成する画像処理コプロセッサの能力が低い場合であっても、多数の制御点204やポリゴン205からなる画像を生成することが可能となるのである。
Therefore, even when the capability of the image processing coprocessor constituting the
なお、理解を容易にするため、ここでは、主ボーン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
上記のように、本実施形態では、主ボーン202と視点との遠近情報を用いて、ポリゴン205のグループを描画する順序を定める。以下では、主ボーン202と視点との距離の求め方について説明する。
As described above, in this embodiment, the order of drawing the group of
図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
本図に示す主ボーン202p、202qは、連結点302で連結されている。
The
また、主ボーン202p、202qは、その中央に中心点303p、303qが定められている。
In addition, center points 303p and 303q are defined at the center of the
2つの主ボーン202p、202qのいずれがより視点301に近いか、は、以下のような判断基準で定めることができる。
Which of the two
第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
すなわち、視点301と中心点303pの距離305p、ならびに、視点301と中心点303qの距離305qを、ユークリッド距離やマンハッタン距離などによって計算する。そして、主ボーン202p、202qのうち、その中心点について計算された距離が長い方が視点301から遠く、短い方が近い、とするものである。
That is, the
第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
(Q) An angle Q from the
角度Pと角度Qは、視点301に対して、主ボーン202p、202qがどのような向きになっているか、を示す値である。
The angles P and Q are values indicating the orientation of the
一つの連結点302で連結されている2つの主ボーン202p、202qは、視点301からの距離にあまり差がない、と考えられる。したがって、一方、主ボーン202p、202qは、長さが異なることが一般的であるので、中心点303p、303qと視点301との距離を単純に採用すると、奥行きの順序の判定を誤ることもある。
It can be considered that the two
第2の基準では、互いに連結された主ボーン202p、202qの長さが異なる場合であっても、簡易にその奥行きの前後関係を判定することができる。
According to the second criterion, even if the
上記のように、第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
以下では、これらの手法を用いる画像生成装置と、これが実行する画像生成処理の詳細について説明する。 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
ここで、画像生成装置401は、記憶部402、主更新部403、バッファ部404、選択部405、副更新部406、位置計算部407、スキン計算部408、描画部409、表示部410を備える。
Here, the
以下まず、各部の機能について簡単に説明し、その後に、画像生成装置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
まず、記憶部402は、ROM カセット111等に記憶される情報を読み出したRAM 103によって実現され、記憶部402には、モデル201の各種の情報が記憶される。
First, the
一方、バッファ部404は、RAM 103もしくは画像処理部106内に用意された記憶域により実現され、液晶ディスプレイ107に表示すべき画像を生成するための一時的な記憶域として利用される。
On the other hand, the
さらに、主更新部403は、CPU 102により、もしくはCPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成する主ボーン202の位置や向きを変化させる。
Further, the
副更新部406は、CPU 102により、もしくはCPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成する副ボーン203の位置や向きを変化させる。
The
位置計算部407は、CPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成する制御点204の位置を、主ボーン202や副ボーン203の位置や向きに基づいて計算する。
The
スキン計算部408は、CPU 102の制御下で画像処理部106が動作することにより実現され、モデル201を構成するポリゴン205の位置や形状を、制御点204の位置に基づいて計算する。
The
描画部409は、CPU 102の制御下で画像処理部106が動作することにより実現され、位置や形状が計算されたポリゴン205が、投影される領域を求め、当該ポリゴン205に対応付けられるテクスチャを、当該領域に変形させながら貼り込む処理を行う。
The
選択部405は、視点301からの距離によって主ボーン202をソートして、視点301から遠い順に主ボーン202を順に選択する。
The
そして、副更新部406、位置計算部407、スキン計算部408、描画部409による処理は、選択された主ボーン202に依存する副ボーン203、選択された主ボーン202に属する制御点204、当該制御点204を頂点とするポリゴン205のみについて行う。
Then, the processing by the
このように、本実施形態では、全ポリゴン205について一括して描画を行なうのではなく、ポリゴン205が属するグループごとに、順次描画を行う。
As described above, in the present embodiment, drawing is not performed for all the
すなわち、副更新部406、位置計算部407、スキン計算部408、描画部409における処理は、選択された主ボーン202に対するグループ単位で行われることになる。
That is, the processes in the
このため、画像処理部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
表示部410は、画像処理部106によって実現され、モデル201に対する画像が完成した後、垂直同期割込が生じるまで待機して、その後、バッファ部404に記憶された画像を液晶ディスプレイ107に転送表示する。
The
以下、画像生成装置401で実行される画像生成処理について詳細に説明する。図5は、画像生成処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
Hereinafter, an image generation process executed by the
本実施形態では、本処理は、CPU 102が、ROMカセット111に記録されたプログラムを実行することによって実現される。
In the present embodiment, this process is realized by the
本処理が開始されると、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
(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
(D) Which of the control points 204 is the vertex of each
(E) A background image representing the background of the
(F) Virtual time in the virtual space where the
すなわち、RAM 103は、記憶部402として機能する。
That is, the RAM 103 functions as the
これらの情報の初期値は、ROMカセット111もしくは外部メモリ112に記録されるのが典型的であるが、乱数によって生成したり、無線LANインターフェース114を介して取得したり、入力装置105を介したユーザからの指示に基づいて設定する等、種々の手法が考えられる。
The initial values of these pieces of information are typically recorded in the
ついで、CPU 102は、RAM 103に記憶されている情報のうち、主ボーン202の相対的な位置や向きの情報を、仮想時刻に応じて更新することによって、各主ボーン202の仮想空間における絶対的な位置や向きを計算、更新する(ステップS502)。すなわち、CPU 102は、主更新部403として機能する。なお、この計算に、画像処理部106が有する画像処理コプロセッサの機能を利用しても良い。
Next, the
モデル201の設計にも依存するが、一般には、主ボーン202の数は副ボーン203の数に比べて少ない場合がほとんどであり、ステップS502における計算は短時間で済む。
Although depending on the design of the
さらに、CPU 102は、各主ボーン202の絶対的な位置・向きに基づいて、視点301からの奥行き距離を計算し、遠い順にソートする(ステップS503)。
Further, the
ついで、CPU 102は、画像処理部106を制御して、バッファ部404に、所定の背景画像を描画する(ステップS504)。この背景画像は、仮想空間内におけるモデル201の背景の様子を表すものである。モデル201の背景を、ポリゴンを用いて形成する手法を採用することもできるが、本実施形態では、ポリゴン処理機能をできるだけモデル201描画に利用したいため、背景画像は、芝居の大道具における描き割りのように、1枚の絵をあらかじめ用意している。
Next, the
バッファ部404は、RAM 103内に用意されることもあるし、描画用記憶域として、画像処理部106内に用意される場合もある。
The
そして、CPU 102は、ソートされた順序を参照して、すべての主ボーン202が選択されるまで以下の処理を繰り返す(ステップS505〜)。
Then, the
まず、CPU 102は、未だ選択されていない主ボーン202のうち、視点301から最も遠い主ボーン202を選択する(ステップS506)。この際に、その主ボーン202に随伴する他の主ボーン202があれば当該随伴する主ボーン202も合わせて選択する。
First, the
ついで、CPU 102は、未だ選択されていない残りの主ボーン202のうち、視点301から最も遠い主ボーン202(すなわち、次に遠い主ボーン202)を取得する(ステップS507)。この際に、取得された主ボーン202に随伴する他の主ボーン202があれば当該随伴する主ボーン202も合わせて取得する。
Next, the
そして、CPU 102は、選択済みの主ボーン202の数、当該選択済みの主ボーン202に依存する副ボーン203の数、当該選択済みの主ボーン202に対するグループに属する制御点204の数、当該選択済みの主ボーン202に属する制御点204を頂点とするポリゴン205の数に、ステップS506において取得された主ボーン202の数、当該取得された主ボーン202に依存する副ボーン203の数、当該取得された主ボーン202に対するグループに属する制御点204の数、当該取得された主ボーン202に属する制御点204を頂点とするポリゴン205の数を、それぞれ加算したものが、画像処理部106が有する画像処理コプロセッサの制限内か否かを調べる(ステップS508)。
Then, the
制限内であれば(ステップS508;Yes)、CPU 102は、当該取得された主ボーン202をさらに選択して(ステップS509)、ステップS507に戻る。
If within the limit (step S508; Yes), the
一方、制限を超えていれば(ステップS508;No)、CPU 102は、ステップS511に進む。この場合、取得された主ボーン202は、今回は選択されず、次の繰り返しで選択されて描画されることになる。
On the other hand, if the limit is exceeded (step S508; No), the
このように、CPU 102は、選択部405として機能する。
As described above, the
このように制限を設けることで、ここで選択された主ボーン202ならびに当該主ボーン202に係る副ボーン203、制御点204、ポリゴン205は、画像処理部106が有する画像処理コプロセッサが一度にまとめて、一回の垂直同期周期内にて描画処理できるだけの数に限ることができる。したがって、携帯型端末など、処理能力が低い情報処理装置101であっても、描画を行うことが可能である。
By providing such a restriction, the main bone 202 selected here and the sub-bone 203, the
ついで、CPU 102は、選択された主ボーン202に依存する副ボーン203の位置や向きのうち、選択された主ボーン202に依存するものの相対的な位置や向きの情報を、仮想時刻に応じてRAM 103において更新するとともに、当該副ボーン203の仮想空間における絶対的な位置や向きを計算する(ステップS511)。
Next, the
これらのボーン演算は、座標変換が必要となるため、画像処理コプロセッサに演算を任せるのが一般的であるが、本実施形態では、副ボーン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
さらに、CPU 102は、選択されたグループに属する各制御点204の仮想空間における絶対的な位置を、主ボーン202の副ボーン203の位置および向きに基づいて、計算する(ステップS512)。
Further, the
これらの位置計算演算も座標変換が必要となるため、画像処理コプロセッサに演算を任せるのが一般的であるが、本実施形態では、制御点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
このように、CPU 102の制御の下、画像処理部106は、位置計算部407として機能する。
As described above, the
ついで、CPU 102の制御の下、画像処理部106は、選択されたグループに属する各制御点204を頂点とする各ポリゴン205を視点301からの距離でソートして(ステップS513)、視点301からの距離が遠い順に以下の処理を繰り返す(ステップS514〜)。これは、いわゆるZバッファ法による描画に相当する。
Next, under the control of the
すなわち、画像処理部106は、処理対象となるポリゴン205の形状を計算し、バッファ部404において投影される領域を計算する(ステップS515)。
That is, the
この際には、仮想空間内に配置される視点301の位置や、視線の方向などが参照され、平行投影や透視投影によって、領域計算がなされる。
At this time, the position of the
ついで、画像処理部106は、当該ポリゴン205に割り当てられたテクスチャ情報をバッファ部404内の当該計算された領域に貼り込み、描画を行う(ステップS516)。
Next, the
この処理を、選択された主ボーン202に属するポリゴン205すべてについて、ステップS514以降の処理を視点301から遠い順に繰り返すのである(ステップS517)。
This process is repeated for all the
したがって、画像処理部106は、スキン計算部408ならびに描画部409として機能する。
Therefore, the
このようにして、選択された主ボーン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
そして、すべての主ボーン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
図6には、当初の背景画像501のみが描画されている様子が示されている。
FIG. 6 shows a state in which only the
図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
(B1)
(B2)
(B3) Left thigh skin 601l and left
(B4) Skin 601o of the left sole formed by the
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)
(C2) The
(C2) Skin 601i under the trunk formed by the
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)
(D2) The right palm skin 601g formed by the
(D3) The
(B4) The
Is drawn.
1回の描画で処理対象となるポリゴンは、Zバッファ法により視点301からの距離でソートされて描画されるので、その奥行き方向の位置関係に矛盾が生じることはない。
Since the polygons to be processed in one drawing are sorted and drawn by the distance from the
また、モデル201において、主ボーン202がとりうる位置や向きには、生物の関節などを模したり、主ボーン202の交差を避けるために、制限が課せられていることが多い。このため、グループ同士の奥行き方向の位置関係についても、本実施形態の手法に基づけば、実用上は、矛盾が生じることはない、と考えられる。
In the
本実施形態では、15個の主ボーン202のそれぞれのグループに対してポリゴン205が割り当てられるため、グループの総数は15個となる。しかしながら、本実施形態は、右腕、右脚、左腕、左脚に随伴関係を導入している。このため、実質的なグループの数は、11個となっている。
In this embodiment, since the
図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
このように、グループ209への分類や随伴関係の導入は、キャラクターの形状やポリゴン205等の数、画像処理コプロセッサの性能などに応じて、適宜変更が可能である。たとえば、頭部、胴体上部、胴体下部の3つをまとめるような随伴関係を導入するなど、種々の態様が考えられる。
In this manner, the classification and introduction of the adjoint relationship into the
このようにして、すべての主ボーン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は、画像処理部106と共働して、表示部410として機能する。
Therefore, the
ついで、CPU 102は、今回のステップS505〜ステップS520の繰り返しに要した時間だけ、RAM 103内の仮想時刻を経過させ(ステップS522)、ステップS504に戻る。
Next, the
この仮想時刻は、モデル201が時間の経過にともなって、所定のアルゴリズムにしたがって変形する場合にモデル201の変形の際に参照される。
This virtual time is referred to when the
主更新部403および副更新部406がモデル201の変形計算を行うが、この計算では、あらかじめモーションキャプチャした情報と、仮想時刻の経過とを組み合わせてモデル201の姿勢や位置を変形させることとしても良いし、プレイヤーの操作指示に基づいて、モデル201を変形させることとしても良い。
The
上記のような繰り返し処理を行うことによって、画面更新のフレームレートを犠牲にしつつも、多数のポリゴン205によって設計されたモデル201の画像を生成して、ユーザに提示することができるようになるのである。
By performing the above iterative process, the image of the
以上説明したように、本発明によれば、ボーンおよび制御点によって定義される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
103 RAM
104 ROM
105
114
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.
あらかじめ用意された背景画像が記憶されるバッファ部
をさらに備え、
前記描画部は、前記スキン画像を、前記バッファ部に既に記憶されている画像に重ねて描画し、
前記表示部は、前記バッファ部に記憶されている画像を表示する
ことを特徴とする画像生成装置。 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.
当該複数のボーンの種類には、主ボーンのほか、副ボーンがあり、
当該副ボーンのそれぞれは、いずれかの主ボーンもしくは他のいずれかの副ボーンに依存し、
前記複数の制御点のそれぞれは、当該制御点の相対的な位置が固定されるボーンが副ボーンである場合、当該副ボーンが依存する主ボーンもしくは当該副ボーンが依存する他の副ボーンが依存する主ボーンに対するグループに分類され、
前記画像生成装置は、
前記主ボーンが選択されると、時間の経過もしくは前記ユーザからの指示に基づいて、前記記憶部に記憶される当該選択された主ボーンに依存する副ボーンの位置および向きを更新する副更新部
をさらに備え、
前記位置計算部は、前記副ボーンの位置および向きが更新されると、前記選択された主ボーンに対するグループに分類される制御点の当該仮想空間における位置を計算する
ことを特徴とする画像生成装置。 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. .
前記選択部は、前記主ボーンの順序を、前記視点位置からの奥行き距離が遠い順に定める
ことを特徴とする画像生成装置。 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.
前記主ボーンには、他の主ボーンに随伴することが設定されるものがあり、
前記選択部は、ある主ボーンが選択され、当該選択された主ボーンに随伴する他の主ボーンがある場合、
当該随伴する他の主ボーンも同時に選択する
ことを特徴とする画像生成装置。 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.
前記スキンは、前記制御点を頂点とするポリゴンであり、異なる複数のグループに属する制御点を頂点とするポリゴンは、当該複数のグループのいずれかに対する主ボーンが選択されることによって描画される
ことを特徴とする画像生成装置。 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.
前記スキンは、前記制御点の位置の重み付け平均位置を頂点とするポリゴンであり、異なる複数のグループに属する制御点から定められる重み付け平均位置を頂点とするポリゴンは、当該複数のグループのいずれかに対する主ボーンが選択されることによって描画される
ことを特徴とする画像生成装置。 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.
前記選択部による選択によって描画されるべきポリゴンの数が、所定の上限を超えない限り、前記選択部は、当該主ボーンの順序における次の主ボーンを同時に選択する
ことを特徴とする画像選択装置。 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108014497A (en) * | 2017-12-06 | 2018-05-11 | 北京像素软件科技股份有限公司 | Object adding method, device and electronic equipment |
-
2009
- 2009-11-30 JP JP2009272384A patent/JP5043919B2/en active Active
Cited By (2)
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 | |
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 | |
JP5213500B2 (en) | Image conversion program and image conversion apparatus | |
KR20020037721A (en) | Display object generation method in information processing equipment, program to control and execute same, and recording medium for storing program | |
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 | |
US20230377268A1 (en) | Method and apparatus for multiple dimension image creation | |
CN112206519A (en) | Method, device, storage medium and computer equipment for realizing game scene environment change | |
JP2008295970A (en) | Game device, control method for game device, and program | |
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 | |
JP4575937B2 (en) | Image generating apparatus, image generating method, and program | |
JP3872032B2 (en) | Image generation program, image generation apparatus, image generation method, and video game apparatus | |
JP2003288609A (en) | Program, device, and method of 3-dimensional image processing and device for video game | |
JP4881974B2 (en) | Image processing apparatus, image processing method, and program | |
JP4450047B2 (en) | Display object generation method in information processing apparatus, program for controlling execution thereof, and recording medium storing the 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 |