JP4358752B2 - Statistical mechanical collision methods and equipment - Google Patents
Statistical mechanical collision methods and equipment Download PDFInfo
- Publication number
- JP4358752B2 JP4358752B2 JP2004572200A JP2004572200A JP4358752B2 JP 4358752 B2 JP4358752 B2 JP 4358752B2 JP 2004572200 A JP2004572200 A JP 2004572200A JP 2004572200 A JP2004572200 A JP 2004572200A JP 4358752 B2 JP4358752 B2 JP 4358752B2
- Authority
- JP
- Japan
- Prior art keywords
- skin
- response
- collision
- points
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 86
- 230000004044 response Effects 0.000 claims description 301
- 238000006073 displacement reaction Methods 0.000 claims description 117
- 230000006870 function Effects 0.000 claims description 97
- 231100000430 skin reaction Toxicity 0.000 claims description 34
- 239000002131 composite material Substances 0.000 claims description 21
- 238000009877 rendering Methods 0.000 claims description 9
- 238000005284 basis set Methods 0.000 claims description 7
- 239000000463 material Substances 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims 2
- 238000011549 displacement method Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 description 59
- 238000010586 diagram Methods 0.000 description 29
- 238000002360 preparation method Methods 0.000 description 27
- 230000000694 effects Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 230000009466 transformation Effects 0.000 description 10
- 238000004088 simulation Methods 0.000 description 8
- 238000009792 diffusion process Methods 0.000 description 6
- 210000003205 muscle Anatomy 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000005094 computer simulation Methods 0.000 description 5
- 210000003127 knee Anatomy 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 210000000988 bone and bone Anatomy 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 210000002414 leg Anatomy 0.000 description 3
- 230000007480 spreading Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005183 dynamical system Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 210000000629 knee joint Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000004417 patella Anatomy 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Description
本発明は、コンピュータ・グラフィックスの分野に関するものであり、具体的には、コンピュータ生成キャラクターをアニメーション化するための方法と装置に関するものである。本発明は、コンピュータ・グラフィックスの分野に関する。多くのコンピュータ・グラフィック・イメージは、与えられた視点から光と三次元シーンとの相互作用を数学的にモデル化することにより作成される。このプロセスは、レンダリングと呼ばれ、与えられた視点からシーンの二次元イメージを生成するものであり、現実世界の風景を写真に撮るのと似ている。アニメーション・シーケンスは、時間の経過とともにシーンが徐々に変化するときにシーンのイメージのシーケンスをレンダリングすることにより作成することができる。リアルなレンダリング・イメージとアニメーションを作成することに多大な労力が費やされている。 The present invention relates to the field of computer graphics, and in particular to a method and apparatus for animating computer-generated characters. The present invention relates to the field of computer graphics. Many computer graphic images are created by mathematically modeling the interaction between light and a 3D scene from a given viewpoint. This process, called rendering, creates a two-dimensional image of a scene from a given viewpoint and is similar to taking a picture of a real world landscape. An animation sequence can be created by rendering a sequence of images of the scene as the scene gradually changes over time. A great deal of effort is spent creating realistic rendered images and animations.
アニメーションは、手描きであろうとコンピュータ生成であろうと、科学技術であるのと同時に芸術でもある。アニメーションは、シーンをリアルに見せるだけでなく、物語で要求される適切なドラマ進行状況と情緒的インパクトも伝えなければならない。このことは、特に、キャラクターのアニメーション化の際に当てはまる。キャラクターは、物語のドラマ進行の機動力であり、視聴者との感情面の結び付きを確立する。 Animation, whether hand-drawn or computer-generated, is both art and art. Animation must not only make the scene look real, but also convey the appropriate drama progress and emotional impact required by the story. This is especially true when character animating. Characters are the driving force of the story's drama progression and establish emotional ties with viewers.
芸術的効果のあるキャラクター・アニメーションを作成するために、アニメーターは、ラフ・バージョンのシーンを作成し、その後、キャラクター・アニメーションを微調整して、最終的なシーンの所望のドラマと表現を作成することが多い。これは、映画監督がシーンの完全なムードを捕らえるために俳優達とシーンのリハーサルをするのと似ている。アニメーターは、キャラクター・アニメーションの表現力に対し責任があるため、アニメーターは、アニメーション・ツールを使用して、キャラクター・アニメーションを効率よく微調整し、アニメーションの最終的態様を正確にプレビューすることが重要である。 To create an artistic character animation, the animator creates a rough version of the scene and then fine-tunes the character animation to create the desired drama and representation of the final scene. There are many cases. This is similar to a movie director rehearsing a scene with actors to capture the complete mood of the scene. Because animators are responsible for the expressive power of character animations, it is important for animators to use animation tools to efficiently fine-tune character animations and accurately preview the final aspects of the animation It is.
コンピュータ生成アニメーションでは、キャラクターの外観は、三次元コンピュータ・モデルにより定義される。リアルに見えるようにするため、キャラクターのコンピュータ・モデルは、極めて複雑であり、数百万個のサーフェスと数百あるいは数千個の属性を持つことが多い。このような複雑なモデルをアニメーション化する作業には複雑さが伴うので、アニメーション・ツールは、多くの場合、キャラクター・アニメーションを定義するためにアーマチュアとアニメーション変数に依存する。アーマチュアは、キャラクターのポーズ、つまり姿勢を表す「スティック・フィギュア」である。「スティック・フィギュア」の「スティック」であるアーマチュア・セグメントを移動することにより、アーマチュアを操作して望むポーズにできる。アニメーターによってアーマチュアのポーズが決められたら、アニメーション・ツールにより、キャラクターの姿勢がアーマチュアの姿勢をおおよそ反映するようにキャラクター・モデルを修正する。 In computer-generated animation, the appearance of a character is defined by a three-dimensional computer model. To make it look real, a character's computer model is extremely complex and often has millions of surfaces and hundreds or thousands of attributes. Because the task of animating such a complex model is complicated, animation tools often rely on armatures and animation variables to define character animation. An armature is a “stick figure” that represents a character's pose. By moving the armature segment that is the “stick” of the “stick figure”, the armature can be manipulated to the desired pose. Once the animator determines the armature's pose, use the animation tool to modify the character model so that the character's posture roughly reflects the armature's posture.
アニメーション変数は、複雑なキャラクター・モデルのキャラクター・アニメーションを定義するもう1つの手段である。アニメーション変数は、キャラクター・モデルを修正する機能によって使用されるパラメータである。アニメーション変数とその関連する機能を使用して、入り組んだ修正を比較的単純なコントロールに対するキャラクター・モデルに抽象化する。例えば、アニメーション変数により、キャラクターの口の開度を定義することができる。この例では、アニメーション変数の値は、キャラクターの口を所望の開度で開くのに必要なキャラクターのアーマチュアのさまざまな部分の位置を決定するために使用される。その後、アニメーション・ツールで、最終ポーズ設定アーマチュアに従ってキャラクター・モデルを修正し、口を開いたキャラクター・モデルを作成する。 Animation variables are another way to define character animation for complex character models. Animation variables are parameters used by functions that modify the character model. Using animation variables and their associated functionality, abstract intricate modifications into a character model for relatively simple controls. For example, the opening degree of the character's mouth can be defined by an animation variable. In this example, the value of the animation variable is used to determine the position of the various parts of the character's armature necessary to open the character's mouth at the desired opening. Then, with the animation tool, modify the character model according to the final pose setting armature to create a character model with an open mouth.
1つのアーマチュアから最終ポーズ設定キャラクター・モデルを作成するさまざまなアプローチがある。従来のアプローチの1つは、キャラクター・モデル上の複数の点を1つまたは複数のアーマチュア・セグメントに関連付けることである。アーマチュアがあるポーズに移るときに、それぞれのアーマチュア・セグメントに関連付けられている複数の点が、関連付けられたポーズ設定されたアーマチュア・セグメントの位置に基づき新しい位置に運動学的に変換される。この運動学的変換は高速実行できるため、アニメーターは、リアルタイムで、またはリアルタイムに近い速さで、対話方式によりアニメーションをプレビューし、微調整することができる。しかし、運動学的変換から生じるアニメーションは、多くの場合、硬直しているように見え、いかにも「人形」のようである。 There are various approaches to creating a final pose character model from one armature. One conventional approach is to associate points on the character model with one or more armature segments. As the armature moves to a pose, the points associated with each armature segment are kinematically converted to a new position based on the position of the associated posed armature segment. Because this kinematic transformation can be performed at high speed, the animator can preview and fine-tune the animation interactively in real time or near real time. However, the animations resulting from kinematic transformations often appear to be stiff and are just like “dolls”.
さらに、人間や動物などの多数のキャラクターは、変形可能なやわらかいオブジェクトである。運動学的変換では、「ソフト・ボディ」オブジェクトの場合に特にパフォーマンスが悪いが、それは、キャラクターの変形を正確にシミュレートできないからである。このため、ポーズをとるときにキャラクターがリアルに曲がり、膨らむことが困難である。さらに、運動学的変換は、やわらかいボディ・オブジェクトに適用された場合、ひび割れや継ぎ目が、モデル・サーフェスのキャラクター接合部に生じる。追加アーマチュア・セグメントを追加して、サーフェスの曲がりや膨れをシミュレートし、モデル・サーフェスの接合部を滑らかにすることができるが、そのような追加アーマチュア・セグメントを作成するのは時間を要し、最終ポーズ設定キャラクターは、曲がりと膨れをリアルに見せるために広範にわたって手作業による微調整を必要とすることが多い。 Furthermore, many characters such as humans and animals are soft objects that can be transformed. Kinematic transformations are particularly bad for “soft body” objects, because they cannot accurately simulate character deformation. For this reason, it is difficult for the character to bend and swell realistically when taking a pose. In addition, when kinematic transformations are applied to soft body objects, cracks and seams occur at the model surface character joints. Additional armature segments can be added to simulate surface bends and blisters and to smooth model surface joints, but creating such additional armature segments can be time consuming. The final pose setting character often requires extensive manual tweaking to make the bend and bulge look realistic.
運動学的変換を使用してソフト・ボディ・キャラクターをアニメーション化する代わりに、物理的シミュレーション・アプローチを使用してソフト・ボディ・キャラクターをアニメーション化することができる。物理的シミュレーション・アプローチでは、キャラクター・モデルは材料物理学シミュレーションにより処理され、物理的にリアルに見えるソフト・ボディ・オブジェクトを作成する。このアプローチは、セットアップに非常に時間のかかる方法であり、多くの場合、モデラーでは皮膚などのキャラクターの外側だけでなく、その下の筋肉や骨格をも定義する必要がある。さらに、アニメーターによって作成されたポーズ毎にキャラクター・モデルを処理する作業は、極めて多量の計算を必要とし、多くの場合、短いアニメーション・シーケンスであってもキャラクター・モデルの変形を計算するのに数時間、ときには数日かかることさえある。 Instead of using kinematic transformations to animate soft body characters, a physical simulation approach can be used to animate soft body characters. In the physical simulation approach, the character model is processed by material physics simulation to create a soft body object that looks physically realistic. This approach is very time consuming to set up, and in many cases modelers need to define not only the character, such as the skin, but also the underlying muscles and skeleton. In addition, the process of processing a character model for each pose created by an animator requires a very large amount of computation, often a number to calculate the deformation of the character model, even for short animation sequences. It can take hours, sometimes even days.
アニメーション・プロセスはその性質上時間がかかるため、たいてい、アニメーターは、簡略化された「スタンドイン」モデルを使用してシーンを作成し、その後、その結果として得られるアニメーションを最終的なキャラクター・モデルで見るのを待つ必要がある。アニメーターはそのアニメーションの最終結果を直ぐに見ることはできないため、キャラクターの表現力を微調整することは非常に困難であり、また不効率である。この手法を利用した場合、アニメーターは本質的に手探り状態で作業することになり、最終結果を推測することしかできない。 Because the animation process is time consuming, animators often use a simplified “stand-in” model to create a scene, and then the resulting animation is the final character model. I have to wait to see it. Since animators cannot see the final result of the animation immediately, it is very difficult and inefficient to fine-tune the character's expressive power. Using this technique, the animator is essentially groping and can only guess the final result.
アニメーション化されたキャラクターは、さらに、シーン内の他のオブジェクトまたはキャラクターと衝突または相互作用することが多い。衝突をリアルに見せるために、アニメーション化されたキャラクターは、衝突オブジェクトの周りで変形させる必要がある。衝突に対する応答としてのリアルなキャラクター変形は、衝突をアニメーション化するうえで、特にキャラクターがソフト・ボディ・オブジェクトである場合に、本質的である。運動学的変換などの従来のキャラクター・ポーズ設定手法では、衝突に対する応答としてキャラクター・モデルのリアルな変形を実行することはできない。その代わりに、アニメーターは、手作業で、キャラクター・モデルの形状を変更しなければならない。物理的シミュレーション手法を使用すれば、衝突に対する応答としてキャラクター・モデルを変形することができるが、上述のように、物理的シミュレーション手法は、セットアップと計算に非常に時間がかかる。物理的シミュレーション手法の時間的要件はかなり高いので、アニメーターが適切な劇的衝撃を伝えるように衝突アニメーションを微調整することは困難である。 Animated characters also often collide or interact with other objects or characters in the scene. To make the collision look real, the animated character needs to be deformed around the collision object. Real character deformation as a response to a collision is essential in animating the collision, especially when the character is a soft body object. Conventional character pose setting techniques such as kinematic transformation cannot perform realistic deformation of the character model as a response to a collision. Instead, the animator must manually change the shape of the character model. Using physical simulation techniques, the character model can be transformed as a response to collisions, but as mentioned above, physical simulation techniques are very time consuming to set up and compute. Because the time requirements of physical simulation techniques are quite high, it is difficult to fine-tune the collision animation so that the animator conveys the appropriate dramatic impact.
ソフト・ボディ・キャラクターのアニメーション化のために、1)アーマチュア・ポーズに対する応答としてソフト・ボディ・キャラクターをリアルに変形し、2)アニメーターが操作しやすく、3)アニメーターがアニメーションを効率よく微調整することができるように素早く評価できる、4)アニメーターがキャラクター・モデルの最終的外観をプレビューできる方法とシステムを用意することが望ましい。さらに、ソフト・ボディ・キャラクターは、自己衝突または外部オブジェクトとの衝突からリアルに変形することも望ましい。 To animate a soft body character, 1) transform the soft body character into a realistic response in response to an armature pose, 2) make the animator easy to operate, and 3) the animator fine-tunes the animation efficiently. It would be desirable to have a method and system that can be evaluated quickly so that animators can preview the final appearance of the character model. It is also desirable for soft body characters to be realistically transformed from self-collisions or collisions with external objects.
ソフト・ボディ・キャラクターをアニメーション化する方法は、第1のキャラクター準備フェーズとその後の第2のキャラクター・アニメーション作成フェーズを含む。キャラクター準備フェーズでは、キャラクター・モデルの皮膚変形が、基底ポーズの集合のそれぞれについて決定される。キャラクター変形フェーズでは、さらに、衝撃衝突に対する応答として多数の皮膚接触点でキャラクター・モデルの皮膚変形を決定する。本発明の一実施態様では、皮膚モード応答と呼ばれるポーズ決定からの皮膚変形および皮膚衝撃応答と呼ばれる衝撃衝突からの皮膚変形は、この基底ポーズの集合に関してコンパクトに表現される。 The method of animating a soft body character includes a first character preparation phase followed by a second character animation creation phase. In the character preparation phase, the skin deformation of the character model is determined for each set of base poses. In the character deformation phase, the skin deformation of the character model is further determined at a number of skin contact points as a response to the impact collision. In one embodiment of the present invention, skin deformation from pose determination called skin mode response and skin deformation from impact collision called skin impact response are expressed compactly with respect to this set of base poses.
キャラクター・アニメーション作成フェーズでは、基底ポーズの集合、皮膚モード応答と皮膚衝撃応答を使用して、最終ポーズ設定キャラクターを作成する。所望されるキャラクター・ポーズに関係なく、キャラクター・アニメーション作成フェーズでは、同じ基底ポーズの集合、皮膚モード応答と皮膚衝撃応答を使用する。したがって、この基底ポーズの集合、皮膚モード応答と皮膚衝撃応答は、キャラクター・モデルに対し1回だけ決定される必要がある。 In the character animation creation phase, a final pose setting character is created using a set of base poses, skin mode response and skin impact response. Regardless of the desired character pose, the character animation creation phase uses the same set of base poses, skin mode response and skin impact response. Therefore, this set of base poses, skin mode response and skin impact response need only be determined once for the character model.
一実施態様では、キャラクター・モデルをアニメーション化する方法は、キャラクター・ポーズの集合から基底集合を決定し、その基底集合に対応するキャラクター・モデルの皮膚応答の集合を決定することを含む。所望のキャラクター・ポーズは基底集合上に射影され、基底重みの集合が決定される。基底重みが皮膚応答の集合に適用されて皮膚ポーズ応答が作成され、皮膚ポーズ応答が基底集合上に射影されてポーズ設定キャラクター・モデルが作成される。他の実施態様では、キャラクター・ポーズを射影するステップ、基底重みの集合を適用するステップ、皮膚応答の集合を射影するステップが、第2の所望のキャラクター・ポーズについて繰り返され、第2のポーズ設定キャラクター・モデルが作成される。 In one embodiment, a method for animating a character model includes determining a base set from a set of character poses and determining a set of skin responses for the character model corresponding to the base set. The desired character pose is projected onto the basis set to determine the basis weight set. Basis weights are applied to the skin response set to create a skin pose response, and the skin pose response is projected onto the base set to create a pose-setting character model. In another embodiment, the steps of projecting the character pose, applying the set of basis weights, projecting the set of skin responses are repeated for the second desired character pose, and the second pose setting. A character model is created.
一実施態様では、キャラクター・ポーズの集合は、学習集合からのポーズを含む。他の実施態様では、キャラクター・ポーズの集合は、ランダムに作成されたポーズを含む。さらに他の実施態様では、アーマチュアを使用して、キャラクター・ポーズの集合を定義するとともに、所望のキャラクター・ポーズをも定義する。他の実施態様では、アニメーション変数は、所望のポーズの少なくとも一部を定義する。 In one embodiment, the set of character poses includes poses from a learning set. In other embodiments, the set of character poses includes randomly created poses. In yet another embodiment, an armature is used to define a set of character poses as well as a desired character pose. In other implementations, the animation variable defines at least a portion of the desired pose.
一実施態様では、皮膚応答を決定することは、基底集合内のポーズからの変位の集合をキャラクター・モデルの一部分に適用すること、およびキャラクター・モデル全体にわたる変位の関数を最小化することを含む。一実施態様では、この関数は、弾性エネルギー関数である。他の実施態様では、この関数は、キャラクター・モデルに関連付けられているサンプル点の集合にわたって最小化される。 In one embodiment, determining the skin response includes applying a set of displacements from poses in the base set to a portion of the character model and minimizing a function of the displacement across the character model. . In one embodiment, this function is an elastic energy function. In other embodiments, this function is minimized over a set of sample points associated with the character model.
この方法の一実施態様では、キャラクター・ポーズをキャラクター・モデルに関連付けられた参照フレームの集合に変換する。それぞれの参照フレームに対して、キャラクター・モデルの皮膚ポーズ応答がキャラクター・ポーズに対する応答として作成される。この実施態様では、それぞれの参照フレームの皮膚ポーズ応答からキャラクター・モデルの複合皮膚応答を構成する。 In one implementation of this method, the character pose is converted to a set of reference frames associated with the character model. For each reference frame, a skin pose response of the character model is created as a response to the character pose. In this embodiment, the composite skin response of the character model is constructed from the skin pose response of each reference frame.
他の実施態様では、第1の参照フレームの皮膚応答の一部分を第2の参照フレームの皮膚応答の一部分とを組み合わせることにより複合皮膚応答を構成する。第1の参照フレームの皮膚応答の一部分と第2の参照フレームの皮膚応答の一部分は、キャラクター・モデルの2つの、少なくとも一部重なり合う領域に対応することができる。それとは別に、第1の参照フレームの皮膚応答の一部分と第2の参照フレームの皮膚応答の一部分は、キャラクター・モデルの2つの異なる領域に対応する。 In another embodiment, a composite skin response is constructed by combining a portion of the skin response of the first reference frame with a portion of the skin response of the second reference frame. A portion of the skin response of the first reference frame and a portion of the skin response of the second reference frame may correspond to two at least partially overlapping regions of the character model. Alternatively, the portion of the skin response of the first reference frame and the portion of the skin response of the second reference frame correspond to two different regions of the character model.
他の実施態様では、第1と第2の参照フレームの皮膚応答の複合皮膚応答への影響を定義するフレーム重みの集合に従って、第1の参照フレームの皮膚応答の一部分を第2の参照フレームの皮膚応答の一部分と組み合わせる。さらに他の実施態様では、キャラクター・モデルを通してフレーム重み値の初期集合を拡散することによりフレーム重みの集合を決定する。 In another embodiment, a portion of the skin response of the first reference frame is assigned to the second reference frame according to a set of frame weights that define the effect of the skin response of the first and second reference frames on the composite skin response. Combine with part of skin response. In yet another embodiment, the set of frame weights is determined by diffusing an initial set of frame weight values through the character model.
本発明は、図面を参照しつつ説明される。 The present invention will be described with reference to the drawings.
分かりやすくするため図では本発明を二次元で例示しているが、本発明は、一般に、三次元コンピュータ・モデルの操作に適用可能であることに留意されたい。 It should be noted that although the present invention is illustrated in two dimensions for purposes of clarity, the present invention is generally applicable to the operation of three-dimensional computer models.
図1は、本発明の一実施形態を実装することができるコンピュータ・システム100の実施形態を示す図である。コンピュータ・システム100は、通常、モニタ110、コンピュータ120、キーボード130、ユーザ入力デバイス140、ネットワーク・インターフェイス150を備える。ユーザ入力デバイス140は、コンピュータ・マウス、トラック・ボール、トラック・パッド、グラフィックス・タブレット、タッチ・スクリーン、および/またはユーザがモニタ110上に表示されるグラフィックス、オブジェクト、アイコン、および/またはテキストを作成または選択できるようにするその他の有線または無線入力デバイスを備える。ネットワーク・インターフェイス150の実施形態は、通常、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークなどの電子通信ネットワーク、例えば、インターネット、および/または仮想ネットワーク、例えば、仮想プライベート・ネットワーク(VPN)と通信する有線または無線通信を実現する。
FIG. 1 is a diagram illustrating an embodiment of a
コンピュータ120は、通常、1つまたは複数の汎用プロセッサ160などのコンポーネント、ランダム・アクセス・メモリ(RAM)170、ディスク・ドライブ180などのメモリ記憶デバイス、上記コンポーネントを相互接続するシステム・バス190を備える。RAM 170とディスク・ドライブ180は、データ、オーディオ/ビデオ・ファイル、コンピュータ・プログラム、アプレット・インタプリタまたはコンパイラ、仮想マシンを格納するための有形な媒体の実施形態であり、本明細書で説明されている発明のいくつかの実施形態では、幾何学的シーン・データ、オブジェクト・データ・ファイル、シェーダー・ディスクリプタ、レンダリング・エンジン、出力イメージ・ファイル、テクスチャ・マップ、変位マップを含む。コンピュータ120の他の実施形態は、オーディオとグラフィックス・データを処理し、出力するための専用オーディオおよびビデオ・サブシステムを備えることができる。他の種類の有形な媒体としては、フロッピ・ディスク、取り外し可能ハード・ディスク、DVD−ROM、CD−ROM、およびバーコードなどの光記憶媒体、フラッシュ・メモリなどの不揮発性メモリ・デバイス、読み取り専用メモリ(ROMS)、バッテリ・バックアップ揮発性メモリ、ネットワーク接続記憶デバイスがある。
図2A、2Bは、例示的キャラクタと例示的キャラクタのポーズを設定するために使用される例示的アーマチュアを示す図である。キャラクター205は、分かりやすくするため二次元で示した、ソフト・ボディ・オブジェクトの三次元コンピュータ・モデルである。キャラクター205は人間そっくりの形に示されているが、キャラクター205は、現実的な、および/または擬人化された属性を持つ植物、動物、無生物オブジェクトを含む、さまざまな種類のオブジェクトの形をとりうる。キャラクター205は、三次元モデリング・ソフトウェア、手続き的オブジェクト作成、物理的オブジェクトの三次元走査の範囲内の手作業による構成を含む、三次元コンピュータ・モデルを作成するために使用される任意の方法で作成することができる。キャラクター205は、多角形の集合、ボクセル、ベジエ曲面または非一様有理Bスプライン曲線(NURBS)などの高次曲面、構成的立体幾何学、および/または三次元オブジェクトを表すための他の何らかの手法で構成することができる。さらに、キャラクター205は、色、テクスチャ、材料特性、透明度、反射率、照明と陰影属性、変位マップ、バンプ・マップを含む、オブジェクトの外観を定義する属性を含むことができる。
2A and 2B are diagrams illustrating an example armature used to set the pose of the example character and the example character. The
キャラクター205は、アーマチュア210を通じてアニメーション化される。アーマチュア210は、1つまたは複数のアーマチュア・セグメントを含む。アーマチュア・セグメントは、図2Aに示されているように、接続状態であるか、または分離されている。アニメーターは、キャラクターのポーズを定義するため、アーマチュア210のセグメントの位置と向きを操作する。ポーズは、キャラクター205の姿勢を定義するアーマチュアの位置と向きの集合である。アーマチュア・セグメントは、サイズ、位置、または向きに関して制約でき、またアニメーター側で、自由に操作することもできる。アーマチュア・セグメントの個数は、キャラクターの複雑度によって異なり、典型的なキャラクターでは、アーマチュアは、数百または数千個のセグメントを含むことがある。場合によっては、アーマチュア・セグメントの個数と位置は、キャラクターの「骨格」のものと類似しているが、アーマチュア・セグメントは、さらに、微妙な顔の表情や骨または他の解剖学的特徴に必ずしも関連付けられていないその他のキャラクター詳細も定義できる。さらに、図2Aのアーマチュア210内のアーマチュア・セグメントは、点の集合からなるが、本発明の他の実施形態では、アーマチュア・セグメントは、サーフェスの集合および/またはボリュームの集合で構成することができる。アーマチュア210はアニメーターによりポーズが設定されるが、キャラクター205の姿勢は、アーマチュア210の姿勢を大まかに反映している。
キャラクター205は、キャラクター205が一方のポーズから他方のポーズに漸進的に移動するフレーム、つまり静止画のシーケンスを作成することによりアニメーション化される。キャラクター205は、さらに、平行移動、回転、拡大縮小、または他の何らかの手段によりフレーム間で全体として操作されるようにできる。アニメーターは、シーケンス内の各フレームについてキャラクターのポーズを手作業で作成するか、または2つまたはそれ以上のキー・フレームに対するポーズを作成することができ、その後アニメーション・ソフトウェアにより補間し、各フレームのポーズを作成する。ポーズを、また、関数、プロシージャ、またはアルゴリズムを使用して、自動的に作成することもできる。アニメーション変数は、ポーズを定義する1つまたは複数の関数に対するパラメータとして使用することができる。キャラクター205やその関連するアーマチュア210は、静止ポーズ、つまりキャラクターのデフォルトの姿勢で示されている。一実施形態では、キャラクターの静止ポーズは、キャラクター・モデルとアーマチュアの初期配置により決定される。
図2Bは、アニメーターにより操作され、あるポーズにされた後のキャラクター220を例示している。この実施形態では、アニメーターは、アーマチュア225の腕セグメントを移動した。それに対する応答として、キャラクター220は、腕を持ち上げた状態のポーズをとる。さらに複雑なポーズは、追加アーマチュア・セグメントを操作することにより形成できる。
FIG. 2B illustrates the
アーマチュア・ポーズの作成の後、キャラクターは、アーマチュアの姿勢を反映するように処理される。本発明では、アニメーション・プロセスを2つのフェーズに分割することによりソフト・ボディ・キャラクターの対話的なフレーム・レートやリアルなポーズ設定を可能にする。 After creating the armature pose, the character is processed to reflect the armature's pose. In the present invention, the animation process is divided into two phases, thereby enabling the interactive frame rate and realistic pose setting of the soft body character.
図3は、本発明の実施形態によりキャラクターをアニメーション化する方法の2つのフェーズを示すブロック図300である。第1のフェーズ305は、キャラクター準備フェーズである。キャラクター準備フェーズは、比較的多量の計算を必要とし、アニメーションに先立って実行される。キャラクター準備フェーズ305では、キャラクターのさまざまなポーズへの変形を定義するキャラクター用のモード・データの集合を作成する。
FIG. 3 is a block diagram 300 illustrating two phases of a method for animating a character according to an embodiment of the present invention. The
キャラクター準備フェーズ305の時間完了後、アニメーターは、キャラクター・アニメーション作成フェーズ310でキャラクターのアニメーション化を行う。キャラクター・アニメーション作成フェーズ310で、アニメーターは、1つのフレーム内の1つのキャラクターのアーマチュア・ポーズを定義することによりキャラクターのアニメーション化シーケンスを作成する。最終ポーズ設定キャラクターは、アニメーターにより定義されたアーマチュアのポーズとキャラクター準備フェーズ305ですでに作成されているモード・データの集合から作成される。本発明の一実施形態では、アーマチュア・ポーズとモード・データの集合からリアルタイムで最終ポーズ設定キャラクターを作成し、アニメーターはその結果をプレビューすることができる。所望のキャラクター・ポーズに関係なく、キャラクター・アニメーション作成フェーズでは、モード・データの同じ集合を使用して、最終ポーズ設定キャラクターを作成する。したがって、キャラクター準備フェーズ305は、1つのキャラクターに対し1回だけ実行すればよい。キャラクター・アニメーション・フェーズ310を繰り返して、アニメーション化シーケンス内のそれぞれのアーマチュア・ポーズに対し最終ポーズ設定キャラクターを作成する。
After the time of the
図4は、本発明の一実施形態によりキャラクターをアニメーション化するキャラクター準備フェーズのブロック図400である。ステップ405では、サンプル・アーマチュア位置の集合から基底を作成する。このステップでは、サンプル・アーマチュア位置の集合が、キャラクターに関連付けられたアーマチュアについて作成される。一実施形態では、サンプル・アーマチュア位置の集合は、キャラクターの典型的アクションを定義する学習集合からのポーズを含む。例えば、サンプル・アーマチュア位置の集合は、歩く、走る、握る、跳ねる、登るなどのアクションに関連付けられたアーマチュア・ポーズを含むことができる。他の実施形態では、サンプル・アーマチュア位置の集合は、プログラムにより作成される。サンプル・アーマチュア位置は、1つまたは複数のアーマチュア・セグメントを選択し、それらのセグメントを操作して新しい位置または向きにすることにより手続き的に作成することができる。例えば、それぞれのアーマチュア・セグメントを次々に選択し、指定された次元方向に1単位移動して、サンプル・アーマチュア位置を作成する。この実施形態では、集合内のサンプル・アーマチュア位置の総数がアーマチュア・セグメントの個数の3倍になる。他の実施形態では、選択されたアーマチュア・セグメントに隣接するアーマチュア・セグメントも、それぞれのサンプル・アーマチュア位置が作成されるときに弾性モデルに従って再配置される。さらに他の実施形態では、サンプル・アーマチュア位置について、アーマチュア・セグメント上の制約を考慮する。例えば、アーマチュア・セグメントは運動範囲を制限することができる。
FIG. 4 is a block diagram 400 of a character preparation phase for animating a character according to one embodiment of the invention. In
それぞれのサンプル・アーマチュア位置は、アーマチュア・セグメントの位置を定義するベクトルにより記述される。一実施形態では、このベクトルは、静止または初期位置のその位置に関してアーマチュア・セグメントの位置を定義する。それぞれのサンプル・アーマチュア位置に対するベクトルを組み合わせて、アーマチュアに対するサンプル・アーマチュア位置の集合を含む行列を形成する。この行列の特異値分解を計算して、アーマチュアに対する基底関数(またはモード)の集合を見つける。他の実施形態では、正準相関などの基底関数の集合を計算する他の方法も使用できる。基底関数の集合は、ポーズを複数の時間基底関数のうちの1つまたは複数の重み付き総和として近似的に表現することができる「ポーズ空間」をコンパクトに定義する。他の実施形態では、その結果得られる基底関数の集合が正規直交基底でない場合、基底関数の集合は、それぞれの基底関数はその大きさが1で、他のすべての基底関数に対し垂直になるように正規直交化される。 Each sample armature position is described by a vector that defines the position of the armature segment. In one embodiment, this vector defines the position of the armature segment with respect to its position in the rest or initial position. The vectors for each sample armature position are combined to form a matrix containing a set of sample armature positions for the armature. Compute the singular value decomposition of this matrix to find the set of basis functions (or modes) for the armature. In other embodiments, other methods of calculating a set of basis functions such as canonical correlation can be used. A set of basis functions compactly defines a “pause space” in which a pose can be approximately represented as one or more weighted sums of a plurality of time basis functions. In other embodiments, if the resulting set of basis functions is not an orthonormal basis, then the set of basis functions is each basis function with a magnitude of 1 and is perpendicular to all other basis functions Is orthonormalized as follows.
ステップ405で基底関数の集合を作成した後、ステップ410でサンプル・アーマチュア位置基底関数のそれぞれについて皮膚モード応答が決定される。皮膚モード応答は、その静止ポーズからサンプル・アーマチュア位置にアーマチュアを移動することに対する応答としてのキャラクターのサーフェスの変形である。
After creating a set of basis functions in
図5は、本発明の一実施形態によるステップ410で必要なキャラクターの皮膚モード応答を決定する方法を示すブロック図500である。ステップ505で、キャラクター・モデルとそのアーマチュアは、離散化され、サンプル点の集合が作成される。一実施形態では、キャラクター・モデルは、三次元グリッドに離散化される。この実施形態では、キャラクター・モデル内の、またはアーマチュアに隣接するグリッド点は、サンプル点の集合である。他の実施形態では、キャラクター・モデルは、四面体セルの集合に離散化される。この実施形態では、四面体の集合は、キャラクター・モデルの中、およびアーマチュアの周りに当てはめられる。四面体の頂点は、サンプル点の集合である。これらの実施形態は、実施形態として意図されており、有限要素有限体積法や球の和離散化などさまざまな種類の離散化をステップ505で使用できる。
FIG. 5 is a block diagram 500 illustrating a method for determining a character's skin mode response required in
ステップ505のアプリケーション実施形態では、図6Aは、キャラクター・モデル603と三次元グリッド607で離散化された関連するアーマチュア605を示している。キャラクター・モデル603とそのアーマチュア605は静止位置にある。二次元で示されてはいるが、グリッド607は三次元グリッドである。さらに、グリッド607の密度、つまり、単位体積あたりのグリッド立方体の個数は、図6Aに、説明のみを目的として示されている。キャラクター・モデル603のサイズと相対的比率に応じて、典型的なグリッドは、キャラクターを中心におおよそ高さが立方体120個分、幅が立方体50個分、奥行きが立方体70個分のバウンディング・ボックスを形成する。これらの寸法は、キャラクター・モデル603の高さ、幅、奥行きに応じて異なる。
In the application embodiment of
他の実施形態では、キャラクター603の異なる部分についてグリッドの密度は異なり、キャラクターのより複雑な部分、例えば、キャラクターの顔や手の正確さを保証できる。グリッド607は、キャラクター・モデル603を囲むだけでなく、キャラクター・モデル603の内側も埋める。他の実施形態では、キャラクター・モデル603の外に完全に出ているグリッド要素は、破棄されるが、キャラクター・モデルの内側に部分的に、または完全に入っているグリッド要素は、皮膚モード応答を決定するため保持される。これにより、皮膚モデル応答を決定するための処理とメモリに対する要件が緩和される。
In other embodiments, the density of the grid is different for different parts of the
図6Bは、例示的アーマチュア625とその関連するキャラクター・モデル623の基底関数に関連付けられているサンプル・アーマチュア位置を例示している。この実施形態では、アーマチュア・セグメント627、629は、新しい位置に配置される。変位ベクトル631、633は、それぞれ、静止ポーズからのアーマチュア・セグメント627、629の変位を定義する。輪郭635は、サンプル・アーマチュア位置の中への静止位置に対するアーマチュア変位の影響を受けるキャラクター・モデル623の一部分を例示している。
FIG. 6B illustrates sample armature positions associated with the basis functions of
ステップ510では、サンプル・アーマチュア位置からの変位ベクトルは、アーマチュア・セグメントに隣接するサンプル点に割り当てられる。
In
ステップ510のアプリケーション実施形態では、図6Cは、アーマチュア・セグメントに隣接するサンプル点への変位ベクトルの割り当てを例示している。図6Cは、キャラクター・モデルの一部分640、その関連するアーマチュア642、周囲のグリッド641を例示する。アーマチュア・セグメント643、645は静止ポーズで示されている。アーマチュア変位ベクトル647、649は、それぞれ、アーマチュア・セグメント643、645に関連付けられている。
In the application embodiment of
アーマチュア変位ベクトル647に隣接するサンプル点は、それぞれ、変位ベクトル651の集合により示されている、変位ベクトルを割り当てられる。グリッド変位ベクトル651の集合の重み付き総和がアーマチュア変位ベクトル647に等しくなるように、変位ベクトルの値が計算される。同様に、変位ベクトル653の集合は、アーマチュア変位ベクトル649に隣接するサンプル点に割り当てられる。変位ベクトルは、任意のアーマチュア・セグメントの任意の部分に隣接するすべてのサンプル点について計算される。アーマチュア変位ベクトルがアーマチュア・セグメントの終点についてのみ定義されている場合、アーマチュア変位ベクトルは、アーマチュア・セグメントの長さにそって補間される。その後、補間されたアーマチュア変位ベクトルを使用して、アーマチュアのそれぞれの部分に隣接するサンプル点に対し変位値の集合を作成する。
Each sample point adjacent to the
グリッド641が三次元デカルト・グリッドである実施形態では、それぞれのアーマチュア変位ベクトルは、8本の隣接変位ベクトルを持つ。四面体離散化を使用する他の実施形態では、それぞれのアーマチュア変位ベクトルは4本の隣接変位ベクトルを持つ。 In embodiments where the grid 641 is a 3D Cartesian grid, each armature displacement vector has eight adjacent displacement vectors. In other embodiments using tetrahedral discretization, each armature displacement vector has four adjacent displacement vectors.
アーマチュア変位ベクトルと図6Cでサンプル点に割り当てられている変位ベクトルは縮尺比通りに示されていないことに留意されたい。さらに、変位ベクトルの大きさは、無限小であると仮定されている。その結果、サンプル点は、変位ベクトルによりその初期位置から実際には移動しない。その代わりに、割り当てられた変位ベクトルは、その関連付けられたサンプル点の「仮想変位」を表す。 Note that the armature displacement vector and the displacement vector assigned to the sample points in FIG. 6C are not shown to scale. Furthermore, the magnitude of the displacement vector is assumed to be infinitesimal. As a result, the sample point does not actually move from its initial position due to the displacement vector. Instead, the assigned displacement vector represents the “virtual displacement” of its associated sample point.
ステップ515で、キャラクター・モデルの皮膚の変形である、皮膚モード応答は、初期入力値としてステップ510で割り当てられた変位ベクトルを使用して計算される。一実施形態では、皮膚モード応答は、キャラクター本体の内側にあるすべてのサンプル点上で弾性エネルギー関数の値を求めることにより計算される。弾性エネルギー関数の一実施形態を以下に示す。
この弾性エネルギー関数の例では、qxyz(x,y,z)は、(x,y,z)の静止位置からのサンプル点の変位である。Vは、体積変化に対するモデルの抵抗を表すパラメータであり、Sは、内部剪断力に対する抵抗を表すパラメータである。VとSの値を変えて、キャラクターの変形特性を変化させることができる。非常にやわらかい、つまり「ぐにゃっとした」キャラクターのVとSの値は低いが、比較的堅いキャラクターのVとSの値は大きい。 In this example of elastic energy function, q xyz (x, y, z) is the displacement of the sample point from the rest position of (x, y, z). V is a parameter that represents the resistance of the model to volume change, and S is a parameter that represents the resistance to internal shear force. By changing the values of V and S, the deformation characteristics of the character can be changed. A very soft character, that is, a “gummy” character has a low V and S value, but a relatively stiff character has a large V and S value.
材料挙動は、一般に、ハミルトン力学系により表すことができ、ステップ515ではハミルトン関数をエネルギー関数として使用することができる。他の実施形態では、エネルギー関数は、上記の実施形態に示されているような局所変形に対する応答としてシステムのエネルギーを変化させる局所項、および大域体積保存項など全体としてキャラクター・モデルの変化に対する応答としてシステムのエネルギーを変化させる追加大域項を含む。
The material behavior can generally be represented by a Hamiltonian dynamical system, and the Hamilton function can be used as an energy function in
サンプル点の集合に対する「シード」値としてアーマチュア・セグメントに隣接するサンプル点に割り当てられた変位値を使用して、キャラクター・モデル全体の弾性エネルギーを表す連立方程式を作成する。この連立方程式は、サンプル点の集合上で最小にされる。弾性エネルギー関数の最小化は、数値ソルバーを使用してサンプル点毎に位置オフセットであるqxyzの値を見つけることで実行できる。一実施形態では、楕円型数値ソルバーを使用して、エネルギー関数を最小にする。他の実施形態では、共役勾配マルチグリッドまたはヤコビ・ソルバーを使用できる。皮膚モードは、モデルの皮膚に隣接する位置オフセットの集合である。 Using the displacement values assigned to the sample points adjacent to the armature segment as the “seed” value for the set of sample points, a simultaneous equation is created that represents the elastic energy of the entire character model. This simultaneous equation is minimized over the set of sample points. The minimization of the elastic energy function can be performed by finding the value of q xyz which is a position offset for each sample point using a numerical solver. In one embodiment, an elliptical numerical solver is used to minimize the energy function. In other embodiments, a conjugate gradient multigrid or Jacobi solver can be used. A skin mode is a set of position offsets adjacent to the model skin.
ステップ515のアプリケーション実施形態では、図6Dは、基底関数のキャラクター・モデルの皮膚モード応答の一部の実施形態を示している。キャラクター・モデルの一部分660が詳細に示されている。変位ベクトル663の集合は、キャラクターの皮膚の一部分の変形を記述する。この実施形態では、皮膚は、キャラクターの「膝蓋骨」を中心に外側へ膨らむ。同様に、変位ベクトル665の集合は、「膝」の後のキャラクターの皮膚の一部分の変形を記述する。この実施形態では、皮膚は、膝の真後ろでは内側に向かってしわになるが、膝の真上と下では外側へ膨らむ。分かりやすくするため省略されているが、変位ベクトルは、キャラクター・モデルの皮膚に隣接するすべてのサンプル点について計算される。他の実施形態では、所定の基底関数から皮膚点で非常に小さな変形を示す、0または非常に小さい値のグリッド変位ベクトルは、切り捨てられる。
In the application embodiment of
図6Eは、モデル皮膚上に構成された図6Dの皮膚モード応答を例示している。この図は、キャラクター・モデルの外観に対する図6Dの皮膚モード応答の効果を明らかにするために提示されている。後述のように、本発明の一実施形態では、皮膚モード応答を基底関数の集合上に射影し、表現をよりコンパクト化する。図6Bの実施形態では、キャラクター・モデルの一部分680が詳細に示されている。皮膚685は、基底関数により生じる変位の結果として、外側と内側に膨らむ。この実施形態では、皮膚モード応答は、キャラクターの膝が曲がるときにキャラクターの脚の変形をリアルに見せる表現を提示する。
FIG. 6E illustrates the skin mode response of FIG. 6D configured on the model skin. This figure is presented to clarify the effect of the skin mode response of FIG. 6D on the appearance of the character model. As described below, in one embodiment of the present invention, the skin mode response is projected onto a set of basis functions to make the representation more compact. In the embodiment of FIG. 6B, a
リアルな「膨れている」外観を作り出すためにキャラクターの皮膚の下に複雑な骨と筋肉構造を構成する必要がある従来の物理的シミュレーション手法とは異なり、本発明では、アーマチュア基底関数により導入される変位から直接、リアルな皮膚モード応答を決定する。また、運動学的変換手法とは異なり、複数の皮膚点を1つまたは複数のアーマチュア・セグメントに明示的に関連付ける必要はない。その代わりに、リアルな皮膚変形は、基礎のアーマチュアの変位から自動的に生じる。これにより、従来の手法と比較して、キャラクター・モデルを作成するのに要する時間と労力が低減される。 Unlike traditional physical simulation techniques that require complex bone and muscle structures to be constructed under the character's skin to create a realistic “bulging” appearance, the present invention introduces them through armature basis functions. The realistic skin mode response is determined directly from the displacement. Also, unlike kinematic transformation techniques, multiple skin points need not be explicitly associated with one or more armature segments. Instead, realistic skin deformations automatically arise from the displacement of the underlying armature. This reduces the time and effort required to create the character model compared to conventional techniques.
従来技術と比較するため、アーマチュア・ポーズにより運動学的変換されたキャラクター・サーフェスの輪郭690も示されている。運動学的に変換されたモデル皮膚は、本発明の実施形態の皮膚モード応答と比較した場合、堅く、機械的に見える。
Also shown for comparison with the prior art is a
ステップ520で、皮膚モード応答を決定するプロセスを基底関数毎に繰り返し、基底関数の集合に対する皮膚モード応答の対応する集合を作成する。ステップ525で、皮膚モード応答は、基底関数の集合上に射影され、皮膚モードの集合のコンパクトな表現が作成される。
In
ステップ525の一実施形態では、アーマチュア・セグメントに隣接するサンプル点に対する位置オフセットは、それぞれの皮膚モードの計算の後の元の値と比較される。これは、変形されたキャラクター・モデルの「プッシュ・バック」のアーマチュア・セグメントに対する効果と別のアーマチュア・セグメントが互いにプッシュインする効果があるため実行される。アーマチュア・セグメントに隣接するサンプル点が変化した場合、新しい基底関数は、修正されたサンプル点の集合から計算される。新しい基底関数は、基底関数集合内の対応する元の基底関数を置き換える。基底関数の修正された集合は、正規直交化され、その後、皮膚モードは、格納のため、基底関数の修正された正規直交化された集合上に射影される。基底関数の集合に対する皮膚モード応答の決定の後、キャラクター・モデルの皮膚に隣接しない位置オフセットである、未使用位置オフセットは破棄される。
In one embodiment of
ステップ410が完了し、アーマチュア基底関数の集合に対する皮膚モードの集合が決定された後、ステップ415で、キャラクター・モデル皮膚に対するフレーム重みの集合を決定する。以下で詳しく説明するように、フレーム重みの集合がキャラクター・アニメーション作成フェーズで使用され、キャラクター・モデルの一部分の大きな回転により持ち込まれる望ましくない剪断効果を補正する。
After
図7は、本発明の一実施形態による座標参照フレームの集合に関してキャラクター・モデルに重み付けをする方法を示すブロック図である。ステップ705で、アーマチュアのセグメントに座標参照フレームの集合が張り付けられる。座標参照フレームは、アーマチュア・セグメントとキャラクター・モデルの隣接部分に対する局所座標系を定義する。一実施形態では、座標参照フレームは、それぞれのアーマチュア・セグメントに張り付けられる。他の実施形態では、いくつかのアーマチュア・セグメントが、同じ座標参照フレームを共有することができる。一実施形態では、座標参照フレームは、座標参照フレームの原点または配置を定義する第1のベクトルと座標参照フレームの座標軸を定義する3本のベクトルの合わせて4本のベクトルからなる。
FIG. 7 is a block diagram illustrating a method for weighting a character model with respect to a set of coordinate reference frames according to an embodiment of the present invention. In
図8Aは、ステップ705で必要とされるように例示的アーマチュアに座標参照フレームを張り付けることを例示している。図8Aでは、アーマチュア802は、座標参照フレーム804、806、808を含む、多数の座標参照フレームに関連付けられている。それぞれの参照フレームは、アーマチュア・セグメントの近くに、張り付けられるか、または位置付けられる。一実施形態では、座標参照フレームは、アーマチュア・セグメントの末端、つまり関節に配置される。他の実施形態では、アーマチュア・セグメントは、アーマチュア・セグメントに沿って任意の場所に配置される。
FIG. 8A illustrates pasting the coordinate reference frame on the exemplary armature as required in
図8Aの実施形態では、座標参照フレーム804は、キャラクター・アーマチュアの頭の中心近くに配置される。座標参照フレーム806は、アーマチュア802の肩関節に配置される。座標参照フレーム808は、アーマチュア802の膝関節に配置される。
In the embodiment of FIG. 8A, the coordinate
ステップ710で、アーマチュアとキャラクター・モデルは、離散化され、サンプル点の集合が作成される。皮膚モード応答を決定するために上述の離散化と同様に、一実施形態では、三次元グリッドからサンプル点の集合を作成する。他の実施形態では、四面体セルの集合を使用してキャラクター・モデルとアーマチュアを離散化する。
At
ステップ715で、それぞれの座標参照フレームに隣接するサンプル点に、初期フレーム重みの集合が割り当てられる。フレーム重みは、サンプル点上の座標参照フレームの影響力を定義する。後述のように、それぞれのサンプル点は、さらに多くの座標参照フレームの影響を受け、したがって、複数のフレーム重みを持つ。ステップ715で、参照フレームに隣接するサンプル点は、フレーム重み1で初期化される。参照フレームのどれにも隣接しない他のサンプル点のフレーム重みは、この段階では未定義である。
At
図8Bは、キャラクター・モデル実施形態の一部分で初期フレーム重みを割り当てる方法の実施形態を示している。図8Bは、キャラクター・モデル810の一部分と三次元グリッドにより作成されたサンプル点812の集合の一部分を示している。この実施形態では、座標参照フレーム814、816は、アーマチュア・セグメント上に配置されている。座標参照フレーム毎に、隣接するサンプル点にフレーム重み1が割り当てられる。例えば、サンプル点818は、座標参照フレーム814に関してフレーム重み1を割り当てられ、サンプル点820は、座標参照フレーム816に関してフレーム重み1を割り当てられる。
FIG. 8B illustrates an embodiment of a method for assigning initial frame weights in a portion of a character model embodiment. FIG. 8B shows a portion of the
ステップ720で、周囲のサンプル点のフレーム重みは、初期フレーム重みから決定される。一実施形態では、空間拡散関数を使用して、サンプル点に対するフレーム重みを計算する。この実施形態では、初期フレーム重み値は、初期サンプル点から周囲のサンプル点へ外に向かって拡散される。フレーム重みが遠いサンプル点に拡散するにつれ、フレーム重み値は徐々に小さくなる。例示的空間拡散関数は∂w/∂t=D∇2wである。
At
この実施形態では、関数wxyz(x,y,z)は、与えられた座標参照フレームに関してサンプル点に関連付けられたフレーム重みである。Dは、拡散速度を定義する拡散係数である。一実施形態では、Dはすべての方向に一様である。他の実施形態では、Dの値は、拡散方向に応じて変化する。この他の実施形態では、可変拡散係数は、アーマチュア関節のところの参照フレーム間の急な遷移を定義する際に有用である。他の実施形態では、拡散係数は、キャラクター・モデル内の剪断応力の拡散と整合するように選択される。 In this embodiment, the function w xyz (x, y, z) is the frame weight associated with the sample point for a given coordinate reference frame. D is a diffusion coefficient that defines the diffusion rate. In one embodiment, D is uniform in all directions. In other embodiments, the value of D varies depending on the diffusion direction. In this other embodiment, the variable diffusion coefficient is useful in defining abrupt transitions between reference frames at the armature joint. In other embodiments, the diffusion coefficient is selected to match the shear stress diffusion in the character model.
初期フレーム重みをサンプル点の集合に対するシード値として使用することで、キャラクター・モデル全体を通じてフレーム重みの拡散を表す連立方程式を作成する。この連立方程式をサンプル点の集合について解き、それぞれのサンプル点に対し1つまたは複数のフレーム重みwxyzの値を見つける。サンプル点が複数の座標参照フレームの影響を受ける場合、サンプル点は、それぞれの関連する座標参照フレームからの影響度を定義するフレーム重みの対応する集合を持つ。それぞれのサンプル点に対するフレーム重みの集合は、サンプル点に対するフレーム重みの総和が1となるように正規化される。 By using the initial frame weight as a seed value for a set of sample points, a simultaneous equation is created that represents the spread of the frame weight throughout the character model. This simultaneous equation is solved for a set of sample points and one or more frame weights w xyz values are found for each sample point. When a sample point is affected by multiple coordinate reference frames, the sample point has a corresponding set of frame weights that define the degree of influence from each associated coordinate reference frame. The set of frame weights for each sample point is normalized so that the sum of the frame weights for the sample points is 1.
ステップ715、720の他の実施形態では、フレーム重みの最適集合が、回転効果を説明する完全非線形モデルを使用して決定される。この実施形態では、キャラクター・モデルの皮膚モード応答の非線形解は、アーマチュア基底関数の集合のそれぞれについて求められる。ステップ415で計算される線形解とは異なり、非線形解では、変位ベクトルが無限小であるとは仮定しない。それぞれの非線形解の皮膚モードは、ステップ415で決定されるようにアーマチュア基底関数に対する対応する線形皮膚モード応答と比較される。非線形皮膚モード応答とその対応する線形皮膚モード応答との比較から、サンプル点毎にフレーム重みの最適集合が決定される。
In other embodiments of
他の実施形態では、ステップ715、720で、例えば、空間拡散プロセスまたは非線形モデルから決定されるフレーム重みは、最適な美的結果が得られるように手作業で調整される。例えば、キャラクター・モデルの関節の近くに配置されたサンプル点のフレーム重みは、皮膚点の変形が見た目が美しいものとなるように微調整することができる。
In other embodiments, at
図8Cは、モデル皮膚に隣接するサンプル点の一部分について決定されたフレーム重みの集合の実施形態を示す。図8Cは、キャラクター・モデル822の一部分を示す。座標参照フレーム824、826も示されている。モデル皮膚に隣接するサンプル点について決定されたフレーム重みの集合の一部分は、図8Cにおいて白丸で強調表示されている。それぞれのサンプル点は、1つまたは複数のフレーム重みを持つ。例えば、サンプル点828は、座標参照フレーム826に関してフレーム重み0.9を持ち、座標参照フレーム824に関してフレーム重み0.1を持つ。サンプル点830は、座標参照フレーム826に関してフレーム重み0.1を持ち、座標参照フレーム824に関してフレーム重み0.9を持つことができる。サンプル点832は、座標参照フレーム826に関してフレーム重み0.999を持ち、座標参照フレーム824に関してフレーム重み0.001を持つことができる。
FIG. 8C shows an embodiment of a set of frame weights determined for a portion of the sample points adjacent to the model skin. FIG. 8C shows a portion of the
ステップ725で、キャラクター・アニメーション作成フェーズで使用するため、参照フレームの集合と関連するフレーム重みが格納される。これでステップ415とキャラクター準備フェーズは完了する。キャラクター準備フェーズの完了後、キャラクターは、キャラクター・アニメーション作成フェーズでアニメーターにより使用できる状態にある。キャラクター・アニメーション作成フェーズでは、基底関数の集合、皮膚モードの関連する集合、方法400から決定されたフレーム重みの集合を使用して、最終ポーズ設定キャラクターを作成する。
At
図9は、本発明の一実施形態によるキャラクター・アニメーション作成フェーズでキャラクターをアニメーション化する方法900のブロック図を例示している。ステップ905で、ポーズ設定アーマチュアは、所望の最終ポーズ設定キャラクターの姿勢を定義する。上述のように、ポーズ設定アーマチュアは、キー・フレーム間を補間するか、または手続き的に1つまたは複数のアニメーション変数、関数、プロシージャ、またはアルゴリズムを使用することにより、アニメーター側が手作業で作成することができる。ポーズ設定アーマチュアは、静止位置のアーマチュアと比較され、それにより、ポーズ設定位置と静止位置のアーマチュア・セグメント間の位置と向きの相違を定義するポーズ・ベクトルを決定する。さらに、アーマチュアに張り付けられた座標参照フレームの集合は、静止位置からポーズ設定位置への関連するアーマチュア・セグメントを辿る。座標参照フレームの集合の位置と向きを定義するベクトルの集合も、ステップ905で決定される。
FIG. 9 illustrates a block diagram of a
ステップ910で、ポーズ・ベクトルは、ポーズ設定位置の座標参照フレームの集合により定義される座標空間のそれぞれに変換される。座標参照フレームのそれぞれについて、変換されたポーズ・ベクトルは、アーマチュア基底関数上に射影される。ポーズ・ベクトルを基底関数の集合上に射影することにより、ポーズ・ベクトルは、基底関数重みの集合に変換される。基底関数重みは、ポーズ・ベクトルを基底関数の集合の重み付き総和として再定義する。変換されたポーズ・ベクトルからのそれぞれの座標参照フレームについて基底関数重みの集合が作成される。
At
ステップ915では、それぞれの座標参照フレーム内で、ステップ910で決定された基底関数重みの集合を皮膚モードに適用する。上述のように、皮膚モードは、基底関数のそれぞれについてキャラクター準備フェーズのときにすでに作成されている。ステップ915で、それぞれの座標参照フレームに関連付けられた基底関数重みが基底関数の皮膚モードに適用される。その結果得られる皮膚モードの集合は、それぞれ、関連付けられた基底関数重みにより重み付けされ、これの総和をとることで、皮膚ポーズ応答を作成する。皮膚ポーズ応答は、ポーズ設定アーマチュアに対する応答としてのキャラクター・モデルの変形である。基底関数の集合がポーズ空間の完全基底を形成するとした場合、皮膚ポーズ応答は、所望のポーズが明示的に元のポーズ集合の一部であったかどうかに関係なく、可能なキャラクター・ポーズについて決定することができる。
In
ステップ915で、座標参照フレームのそれぞれについて別の皮膚モード応答が作成される。他の実施形態では、ステップ920は、フレーム重みが0であるか、または無視できるくらい小さいキャラクターの皮膚の部分に対する参照フレーム内の皮膚モード応答の決定をスキップする。
At
上述のように、皮膚応答は、空間形状オフセットの形をとるモードの形態で表現される。キャラクター・アニメーション作成フェーズでは、モデルの一部分を、最初の向きから離れる方向に回転させることができる。回転がキャラクター・モデルの隣接する部分に関して比較的大きい場合、望ましくない剪断効果が持ち込まれる可能性がある。この剪断効果を補正するために、別の皮膚ポーズ応答がそれぞれの座標参照フレームについて決定される。 As described above, the skin response is expressed in the form of a mode that takes the form of a spatial shape offset. In the character animation creation phase, a part of the model can be rotated away from the initial orientation. If the rotation is relatively large with respect to adjacent parts of the character model, undesirable shear effects can be introduced. To correct this shear effect, another skin pose response is determined for each coordinate reference frame.
ステップ920で、それぞれの参照フレーム内で決定される皮膚ポーズ応答が組み合わされて、剪断効果を含まない単一の複合皮膚ポーズ応答が作成される。ステップ920で、皮膚ポーズ応答の集合は、関連付けられた座標参照フレームから大域参照フレームに変換される。皮膚ポーズ応答がすべて同じ座標系にある場合、キャラクター準備フェーズにおいてすでに決定されているフレーム重みの集合に基づき皮膚ポーズの総和がとられる。それぞれの皮膚点は、皮膚ポーズ応答の集合と皮膚点と関連付けられている対応するフレーム重みの重み付け総和である。一実施形態では、これらの皮膚応答は、基底射影形式で総和される。結果は、複合皮膚応答である。
At
ステップ920の後に、複合皮膚応答は、基底射影形式から構成し物理的形式に戻される。ステップ925で、複合皮膚応答と基底関数の集合の重み付け総和は、最終ポーズ設定キャラクターを形成する。
After
方法900のステップをキャラクターのポーズ毎に繰り返し、アニメーション化シーケンスを生成する。皮膚モード応答と皮膚衝撃応答はキャラクター準備フェーズにおいて事前計算されるので、キャラクター・アニメーション作成フェーズは、リアルタイムまたはリアルタイムに近い速さで実行することができる。これにより、アニメーターは、アニメーションを効率よく微調整することができる。さらに、キャラクター・モデルの組み合わせ皮膚応答は、アーマチュア・ポーズに対する応答としてリアルに変形するため、アニメーターは、アニメーションの最終的外観を確認できるのを待たずに、アニメーション・プロセスにおいてキャラクター・モデルの最終的外観を確認する。
The steps of
図10A、10B、10C、10Dは、図9で説明されている方法の一実施形態により例示的アーマチュアとキャラクター・モデル実施形態からポーズ設定キャラクター・モデルを構成することを示す図である。図10Aは、ポーズ設定アーマチュア1005の例を示している。この例では、ポーズ設定アーマチュア1005は、走っている位置にあるキャラクターの姿勢を定義する。上述のように、ポーズ設定アーマチュア1005は、キー・フレーム間を補間するか、または手続き的に1つまたは複数のアニメーション変数、関数、プロシージャ、またはアルゴリズムを使用することにより、アニメーター側が手作業で作成することができる。
10A, 10B, 10C, and 10D are diagrams illustrating constructing a pose character model from an exemplary armature and character model embodiment according to one embodiment of the method described in FIG. FIG. 10A shows an example of a
図10Bは、ポーズ設定アーマチュア1010の実施形態と座標参照フレームの関連する集合を例示している。図10Bでは、それぞれの座標参照フレームは、陰影が付けられた矩形により表される。それぞれの矩形の位置と向きは、ポーズ設定位置における関連付けられた座標参照フレームの位置と向きを示す。それぞれの矩形のサイズは、関連付けられた座標参照フレームの影響を受けるキャラクター・モデルの近似的部分を示す。
FIG. 10B illustrates an embodiment of a
例えば、座標参照フレーム1015は、ポーズ設定アーマチュア1010の上脚アーマチュア・セグメントに関連付けられている。座標参照フレーム1015は、上脚アーマチュア・セグメントを囲むキャラクター・モデルの位置に影響を及ぼす。同様に、座標参照フレーム1020は、ポーズ設定キャラクター1010の上腕アーマチュア・セグメントを囲むキャラクター・モデルの位置に影響を及ぼす。図10Bには示されていないが、2つまたはそれ以上の参照フレームは、キャラクター・モデルの同じ部分に影響を及ぼす可能性がある。
For example, coordinate
図10Cは、座標参照フレームについて決定された皮膚ポーズ応答のうちの2つの実施形態を示す。皮膚ポーズ応答1025は、座標参照フレーム1035に関連付けられている。皮膚ポーズ応答1030は、座標参照フレーム1040に関連付けられている。上述のように、ただし、図10Cには示されていないが、皮膚ポーズ応答は、ポーズ設定アーマチュアに関連付けられた座標参照フレームのそれぞれについて決定される。
FIG. 10C shows two embodiments of the skin pose response determined for the coordinate reference frame. Skin pose
皮膚ポーズ応答1025は、座標参照フレーム1035のビューからポーズ設定アーマチュアに対する応答としてのキャラクター・モデルの変形を示す。座標参照フレーム1035内の皮膚ポーズ応答1025の部分は、ポーズ設定アーマチュアに対する応答として正しく変形される。しかし、座標参照フレーム1035の外部の皮膚ポーズ応答1025の他の部分は、剪断効果があるため、大きく歪む。例えば、皮膚ポーズ応答1025では、座標参照フレーム1035内のキャラクター・モデルの上脚部分は、ポーズ設定アーマチュアから正しく変形されるが、キャラクター・モデルの腕1042と1044は、剪断効果があるため、歪む。
Skin pose
同様に、皮膚ポーズ応答1030は、座標参照フレーム1040のビューからポーズ設定アーマチュアに対する応答としてのキャラクター・モデルの変形を示す。座標参照フレーム1040内の皮膚ポーズ応答1030の腕部分は、ポーズ設定アーマチュアに対する応答として正しく変形される。しかし、キャラクター・モデルの脚などの座標参照フレーム1040の外部の皮膚ポーズ応答1030の他の部分は、剪断効果があるため、大きく歪む。
Similarly, skin pose response 1030 shows the deformation of the character model as a response to the pose armature from the view of coordinate
図9の方法に関して上述のように、それぞれの参照フレームから決定される別の皮膚ポーズ応答は、フレーム重みの集合を使用して剪断効果なしの複合皮膚ポーズ応答に組み合わされる。 As described above with respect to the method of FIG. 9, another skin pose response determined from each reference frame is combined into a composite skin pose response without shear effects using a set of frame weights.
図10Dは、異なる参照フレームに関連付けられている別の皮膚ポーズ応答の集合から作成された複合皮膚ポーズ応答1050を例示している。例えば、複合皮膚ポーズ応答1050の脚部分1060は、主に、図10Cに示されている皮膚ポーズ応答1025から作成される。同様に、複合皮膚ポーズ応答1050の腕部分1065は、主に、皮膚ポーズ応答1030から作成される。フレーム重みの集合により、複合皮膚ポーズ応答の与えられた部分に対するそれぞれの皮膚ポーズ応答の寄与が決まる。上述のように、皮膚点は、対応する個数のフレーム重み値を通じて複数の座標参照フレームに関連付けられるため、複合皮膚ポーズ応答は、複数の皮膚ポーズ応答からの寄与を含むことができる。
FIG. 10D illustrates a composite skin pose
上述の実施形態を使用することで、アニメーターは、リアルな膨れと曲がりを持つポーズ設定キャラクター・モデルをリアルタイムで作成できる。本発明の他の実施形態では、キャラクター・モデルまたは他のソフト・オブジェクトは、リアルタイムで他のオブジェクトとの衝突に対する応答としてリアルに変形される。キャラクターの皮膚は、他のキャラクターまたは堅いオブジェクトなどの外部オブジェクトとの衝突により変形することができる。キャラクターの皮膚は、さらに、キャラクター・モデルの一部とキャラクターの他の部分との衝突である、自己衝突により変形することができる。自己衝突の実施形態は、上腕または下腕が互いに接触するようにキャラクターの腕が肘のところで曲がるときに発生しうる。 By using the above-described embodiment, an animator can create a pose setting character model having realistic swelling and bending in real time. In other embodiments of the invention, a character model or other soft object is transformed in real time as a response to a collision with another object in real time. A character's skin can be deformed by collisions with other characters or external objects such as rigid objects. The character's skin can also be deformed by self-collision, which is a collision between a part of the character model and another part of the character. Self-collision embodiments can occur when the character's arm bends at the elbow so that the upper or lower arms touch each other.
衝突に対する応答としてリアルなキャラクター・モデル変形を形成することは、図3に説明されているのと同様に、2フェーズ・プロセスである。第1のフェーズは、衝突準備フェーズである。衝突準備フェーズは、比較的多量の計算を必要とし、アニメーションに先立って実行される。衝突準備フェーズでは、テスト衝突の集合に対するキャラクターの変形を定義する皮膚衝撃応答の集合を作成する。それぞれのキャラクター皮膚衝撃応答は、単一点での単一衝突に対する応答としてのキャラクターのサーフェスの変形である。一実施形態では、皮膚衝撃応答は、衝突に対する応答として衝突点を囲む点の変位を定義する。 Creating a realistic character model deformation as a response to a collision is a two-phase process, similar to that illustrated in FIG. The first phase is a collision preparation phase. The collision preparation phase requires a relatively large amount of computation and is performed prior to the animation. In the collision preparation phase, a set of skin impact responses is created that defines the deformation of the character for the set of test collisions. Each character skin impact response is a deformation of the character's surface as a response to a single collision at a single point. In one embodiment, the skin impact response defines the displacement of a point surrounding the collision point as a response to the collision.
衝突準備フェーズの完了後、衝突アニメーション作成フェーズにおいて、アニメーターはオブジェクトをキャラクターと接触させることにより衝突を作成する。本発明の一実施形態では、アニメーターは、アニメーション・シーケンスのそれぞれのフレームにおいて、キャラクター・モデルとコライダーと呼ばれる衝突オブジェクトの配置を定義する。コライダーと重なるまたは接触するキャラクター・モデルの部分は、衝突の一部とみなされる。それぞれのフレームについて、衝突アニメーション・フェーズでは、皮膚衝撃応答の集合を使用して、コライダーとキャラクター・モデルとの衝突に対する応答としてのキャラクター・モデルの変形である、皮膚衝突応答を決定する。 After completing the collision preparation phase, in the collision animation creation phase, the animator creates a collision by bringing the object into contact with the character. In one embodiment of the invention, the animator defines the placement of collision objects called character models and colliders in each frame of the animation sequence. The part of the character model that overlaps or contacts the collider is considered part of the collision. For each frame, the collision animation phase uses a set of skin impact responses to determine a skin collision response, which is a deformation of the character model as a response to a collider-character model collision.
コライダーの形状またはキャラクター・モデルとコライダーとの衝突の量に関係なく、衝突アニメーション・フェーズでは、皮膚衝撃応答の同じ集合を使用して、衝突皮膚応答を決定する。したがって、衝突準備フェーズは、1つのキャラクター・モデルについて1回だけ実行すればよく、衝突アニメーション・フェーズが繰り返されて、アニメーション・シーケンス内のそれぞれのフレームについて皮膚衝突応答が作成される。 Regardless of the collider shape or the amount of collision between the character model and the collider, the collision animation phase uses the same set of skin impact responses to determine the collision skin response. Thus, the collision preparation phase only needs to be performed once for a character model, and the collision animation phase is repeated to create a skin collision response for each frame in the animation sequence.
衝突準備フェーズでは、本発明の一実施形態により、キャラクター・モデルに対する皮膚衝撃応答の集合が決まる。図11は、本発明の一実施形態によりキャラクターの皮膚衝撃応答を決定する方法を示すブロック図1100である。ステップ1105で、キャラクター・モデルは、離散化され、サンプル点の集合が作成される。一実施形態では、キャラクター・モデルは、三次元グリッドに離散化される。他の実施形態では、キャラクター・モデルは、四面体セルの集合に離散化される。
In the collision preparation phase, an embodiment of the present invention determines a set of skin impact responses to the character model. FIG. 11 is a block diagram 1100 illustrating a method for determining a skin impact response of a character according to one embodiment of the present invention. At
ステップ1110で、衝突点が選択される。衝突点は、キャラクター・モデルのサーフェス上の任意の点でよく、または他の実施形態では、キャラクター・モデルの内側の点でもよい。例えば、キャラクター・モデル内の衝突点である内部衝突点を使用して、内部の「筋肉」オブジェクトとの衝突に対する応答としてキャラクター・モデルの皮膚を変形させることができる。しかし、皮膚と筋肉は、現実には、脂肪の薄い層により隔てられることが多い。この解剖学的特徴を近似するために、キャラクター・モデルの内点を衝突点として選択することにより「衝突遮蔽」を作成できる。
At
ステップ1110では、変位の集合を衝突点に適用する。それぞれの変位は、異なる方向においてキャラクター・モデルが衝突点で衝突することを表す。一実施形態では、変位は、3つのデカルト座標方向のそれぞれにおいて衝突点に適用される。他の実施形態では、それぞれの変位は、適切な方向への単位変位である。ステップ410で説明されているのと同様の方法で、衝突点での変位に基づき衝突点に隣接するサンプル点に変位ベクトルが割り当てられる。
In
ステップ1115で、初期入力値としてステップ1110で割り当てられた変位値を使用して変位毎に皮膚衝撃応答が計算される。一実施形態では、皮膚モード応答は、キャラクター本体の内側にあるすべてのサンプル点上で弾性エネルギー関数の値を求めることにより計算され、これは、皮膚モード応答を見つけるために使用されるのと類似の方法である。離散化空間全体にわたって弾性エネルギー関数の値を最小化することにより、qxyzの値、つまり位置オフセットをサンプル点毎に計算する。与えられた皮膚変位に対する皮膚衝撃応答は、モデルの皮膚に隣接するサンプル点での位置オフセットの集合である。
In
ステップ1120で、複数の衝突点に適用される変位についてステップ1110、1115を繰り返し、皮膚衝撃応答の集合を作成する。皮膚が制御点により定義された1つまたは複数のサーフェスを含む一実施形態では、それぞれの制御点が、衝突点として選択され、その後、皮膚衝撃応答の集合が作成される。他の実施形態では、キャラクター・モデルの比較的堅い部分に対する制御点は、衝突点の集合から除外される。
In
ステップ1125で、皮膚衝撃応答の集合から基底関数の集合が決定される。一実施形態では、特異値分解を使用して、皮膚衝撃応答から基底関数の集合を計算する。他の実施形態では、正準相関などの基底関数の集合を計算する他の方法も使用できる。他の実施形態では、その結果得られる基底関数の集合が正規直交基底でない場合、基底関数の集合は、それぞれの基底関数はその大きさが1で、他のすべての基底関数に対し垂直になるように正規直交化される。
At
次に、ステップ1125では、衝撃応答の集合を基底関数の集合上に射影し、皮膚衝撃応答の集合のコンパクトな表現を作成する。他の実施形態では、特異値分解のあまり重要でない項を切り捨てて、基底関数の個数を減らす。このため、衝撃応答の集合が切り捨てられた基底集合上に射影されるときに平滑作用が生じる。他の実施形態では、皮膚応答の集合は、衝突点の変位に対する応答として周囲点の変位を定義するベクトルの疎集合として格納される。他の実施形態では、基底関数表現よりも効率よく少数の点のみに影響を及ぼす皮膚衝撃応答を表す。
Next, in
図12A、12B、12Cは、本発明の一実施形態による例示的キャラクタの皮膚衝撃応答の決定を示す図である。図12Aは、キャラクター・モデル1205に適用される変位を例示する。この実施形態では、キャラクター・モデル1205は、三次元グリッド1215とともに離散化されている。変位1220は、モデル皮膚1210上の衝突点に適用される。変位値1225の集合は、衝突点に隣接するサンプル点に割り当てられる。
12A, 12B, 12C are diagrams illustrating the determination of the skin impact response of an exemplary character according to one embodiment of the present invention. FIG. 12A illustrates the displacement applied to the
図12Bは、皮膚変位1235から生じる皮膚衝撃応答の一部として含まれる変位ベクトル1230の集合を例示している。変位ベクトル1230の集合は、説明のために用意されているのであり、皮膚衝撃応答は、モデル皮膚の全部または一部の上にばらまかれた多数の変位ベクトルを含むことができる。グリッド変位ベクトル1230の集合の大きさと向きから分かるように、モデル皮膚は衝突点の近くで内側に膨れ、衝突点の周囲の領域内で外側に膨れる。
FIG. 12B illustrates a set of
図12Cは、モデル皮膚上に射影された図12Bの皮膚衝撃応答の実施形態を示している。この図は、キャラクター・モデルの外観に対する図12Cの皮膚衝撃応答の効果を明らかにするために提示されている。上述のように、本発明の一実施形態では、皮膚衝撃応答を基底関数の集合上に射影し、表現をコンパクト化する。図12Cの実施形態では、モデル皮膚1260は、皮膚衝撃応答により変位が生じた結果として外側と内側に膨れる。この実施形態では、皮膚衝撃応答は、オブジェクトとの衝突によりキャラクターが変形するのをリアルに見せる表現を提示する。比較のため静止状態にあるモデル皮膚1250が示されている。
FIG. 12C shows the skin impact response embodiment of FIG. 12B projected onto the model skin. This figure is presented to clarify the effect of the skin impact response of FIG. 12C on the appearance of the character model. As described above, in one embodiment of the present invention, the skin impact response is projected onto a set of basis functions to compact the representation. In the embodiment of FIG. 12C, the
衝突準備フェーズで皮膚衝撃応答の集合を決定した後、衝突アニメーション作成フェーズで、アニメーターによって定義された衝突に対する応答としてキャラクター皮膚の変形を決定する。図13は、本発明の一実施形態によりキャラクター・モデルの衝突応答を決定する方法1300を示すブロック図である。方法1300については、図14A〜14Fを参照しつつ以下で説明するが、これは、本発明の一実施形態による衝突実施形態からの皮膚衝突応答の決定を例示している。
After determining the set of skin impact responses in the collision preparation phase, the deformation of the character skin is determined as a response to the collision defined by the animator in the collision animation creation phase. FIG. 13 is a block diagram illustrating a
ステップ1305で、衝突点の集合が識別される。衝突点は、コライダーと接触している、またはコライダーの内側にある皮膚点である。図14Aは、コライダー1402と衝突しているモデル皮膚1404の一部を例示している。モデル皮膚1404は、多数の皮膚点を含む。これらの皮膚点の一部はコライダー1402の内側にある。これらの皮膚点1406、1408、1410、1412は、この衝突実施形態における衝突点の集合である。他の実施形態では、コライダーの内側にもないし接触してもいない皮膚点は、コライダーのサーフェス近くにあるか、またはコライダーの内側衝突点近くにある場合に、追加衝突点として選択される。これにより、衝突からキャラクター皮膚が変形して追加皮膚点がコライダーと接触する場合の安全マージンが得られる。
At
ステップ130で、第1の衝突点が選択され、衝突点の最終静止位置の第1近似である、潜在的静止位置に変位される。一実施形態では、第1の衝突点は、ランダムに選択される。一実施形態では、潜在的静止位置は、第1の衝突点に最も近いコライダーのサーフェス上の位置である。他の実施形態では、潜在的静止位置は、第1の衝突点と最も近いコライダー・サーフェス点との間の位置である。さらに他の実施形態では、倍率を使用して、最も近いコライダー・サーフェス点と潜在的静止位置との間の距離を決定する。
At
図14Bは、初期位置1416から潜在的静止位置に変位される第1の衝突点1414の実施形態を示している。この実施形態では、潜在的静止位置は、初期位置1416とコライダー1418の最も近いサーフェス点との間の距離の80%である。この実施形態では、倍率は、方法1300のパフォーマンスを最適化するように選択される。第1の衝突点1414は分かりやすくするため正確に水平方向に変位されるように示されているが、衝突点は、潜在的静止位置へ任意の方向で移動できることに留意されたい。
FIG. 14B shows an embodiment of a
ステップ1315で、初期衝突応答は、他の非変位衝突点に適用される。初期衝突応答は、初期位置から潜在的静止位置への第1の衝突点の変位を衝撃応答の集合からすでに作成されている基底関数の集合上に射影することにより決定される。基底関数も集合上の変位の射影により、基底空間内の変位を定義する重みの集合が作成される。
At
その後、重みの集合は、第1の衝突点に関連付けられている衝撃応答に適用される。この結果、第1の衝突点に対する初期衝突応答が得られる。初期衝突応答は、初期位置から潜在的静止位置への第1の衝突点の変位に対する応答として第1の衝突点の周りの皮膚点の変位を定義する。 The set of weights is then applied to the impact response associated with the first collision point. As a result, an initial collision response with respect to the first collision point is obtained. The initial collision response defines the displacement of the skin point around the first collision point as a response to the displacement of the first collision point from the initial position to the potential rest position.
初期衝突応答が周囲衝突点に適用され、それらの衝突点が初期位置に変位する。初期衝突応答は、第1の衝突点に関連付けられた皮膚衝撃応答が追加点について変位を定義できるとしても、衝突点にしか適用されない、つまり、コライダーと接触する、またはコライダーの中にある点のみに適用されることに留意されたい。 An initial collision response is applied to surrounding collision points, which are displaced to their initial positions. The initial impact response is only applied to the impact point, i.e. in contact with or within the collider, even though the skin impact response associated with the first impact point can define a displacement for the additional point. Note that it applies only to points.
図14Cは、周囲衝突点の集合に初期衝突応答の実施形態を適用することを示している。この実施形態では、強調のため輪郭が描かれている第1の衝突点1420は、初期位置1421から潜在的静止位置に変位されており、その結果、初期衝突応答が周囲衝突点の集合に適用される。初期衝突応答は、第1の衝突点1420の変位から生じる周囲衝突点1422、1424、1426に適用される変位である。初期衝突応答により、図に示されているように、衝突点1422、1424、1426はそれぞれの初期位置から新しい潜在的静止位置に変位する。上述のように、コライダーの外側にある皮膚点、つまり非衝突皮膚点は、衝突アニメーション作成フェーズのこの点では変位されない。
FIG. 14C illustrates applying the initial collision response embodiment to a set of ambient collision points. In this embodiment, the
ステップ1320で、周囲衝突点の集合は、さらに、それぞれの潜在的静止位置に変位させられる。ステップ1310と同様に、周囲衝突点はそれぞれ、ステップ1315で設定された位置から潜在的静止位置に移動される。一実施形態では、周囲衝突点のそれぞれに最も近いコライダーのサーフェス上の位置はそれぞれの潜在的静止位置である。他の実施形態では、潜在的静止位置は、衝突点と最も近いコライダー・サーフェス点との間の位置である。さらに他の実施形態では、倍率を使用して、最も近いコライダー・サーフェス点と潜在的静止位置との間の距離を決定する。一実施形態では、周囲衝突点の潜在的静止位置は、周囲衝突点、ステップ1315で決定される新しい位置と、コライダーの最も近いサーフェス点との間の距離の80%である。
At
周囲衝突点がそれぞれの潜在的静止位置に変位した後、ステップ1325で、衝突応答の集合が、周囲衝突応答の集合について決定される。ステップ1315と同様に、初期位置からそれぞれの潜在的静止位置へのそれぞれの周囲衝突点の変位は、衝撃応答の集合からすでに作成されている基底関数の集合上に射影される。それぞれの変位射影は、周囲衝突点の1つに関連付けられた基底重みの集合を作成する。
After the ambient collision points are displaced to their respective potential rest positions, at
周囲衝突点の基底重みは、二次衝突応答を作成するため周囲衝突点に関連付けられている対応する衝撃応答に適用される。これは、周囲衝突点のそれぞれについて繰り返され、二次衝突応答の集合を作成する。それぞれの二次衝突応答は、初期位置からそれぞれの潜在的静止位置への周囲衝突点の変位に対する応答として周囲衝突点の近くの皮膚点の変位を定義する。 The base weight of the surrounding collision point is applied to the corresponding impact response associated with the surrounding collision point to create a secondary collision response. This is repeated for each of the surrounding collision points, creating a set of secondary collision responses. Each secondary collision response defines the displacement of the skin point near the surrounding collision point as a response to the displacement of the surrounding collision point from the initial position to each potential rest position.
二次衝突応答の集合が、ステップ1310で選択された第1の衝突点を含む、衝突点のすべてに適用され、それらの衝突点は潜在的静止位置から変位する。もう一度、二次衝突応答は衝突点にのみ適用され、非衝突点は、衝突アニメーション生成フェーズのこのステップで除去されない。
A set of secondary collision responses is applied to all of the collision points, including the first collision point selected in
二次衝突応答を衝突点の集合に適用した後、衝突点の集合のそれぞれは新しい位置を持つ。ステップ1325で、初期位置からの衝突点のそれぞれに対する変位を決定し、上述したのと同様の方法で衝突応答の新しい集合を作成する。衝突応答の新しい集合が適用され、衝突点の集合がさらに変位される。衝突応答の集合を作成し、衝突応答の集合を衝突点の集合に適用するこのプロセスは、衝突点の集合が変位の最終集合に収束するまで繰り返される。
After applying the secondary collision response to the set of collision points, each set of collision points has a new position. In
図14Dは、二次衝突応答の集合を衝突点の集合に適用することを例示している。衝突点1428、1430、1432、1434の集合は、二次衝突応答の集合の結果として潜在的静止位置からの変位を示すベクトルを持つ。それぞれのベクトルは、他の衝突点の二次衝突応答から生じる変位の総和を表す。例えば、衝突点1428の変位は、衝突点1430、1432、1434からの二次衝突応答の総和である。
FIG. 14D illustrates applying a set of secondary collision responses to the set of collision points. The set of
ステップ1330で、最終衝突応答は、非衝突点に適用される。ステップ1325で決定された変位の最終集合は、初期位置から最終位置へのそれぞれの衝突点の変位である。ステップ1330は、変位の最終集合からのそれぞれの変位を基底関数の集合上に射影し、それぞれの衝突点に関連付けられた基底重みを作成する。それぞれの衝突点基底重みがその関連付けられた衝撃応答に適用され、非衝突点に対する変位の集合が決定される。衝突に対する応答として、それぞれの衝突点から生じる変位が足し合わされて、非衝突点の変位を定義する最終衝突応答が作成される。
At
図14Eは、非衝突点に対する最終衝突応答の決定を例示している。強調のため輪郭が描かれている衝突点1436、1438、1440、1442は、点線で輪郭が描かれている初期位置からその最終位置に変位された。衝突点の集合の変位に基づき、非衝突点1444、1446、1448、1450は、それぞれのベクトルにより示されているように初期位置から変位される。それぞれのベクトルは、衝突点1436、1438、1440、1442の集合が関わって生じる変位の総和を表す。
FIG. 14E illustrates the determination of the final collision response for a non-collision point. Collision points 1436, 1438, 1440, 1442 outlined for emphasis were displaced from their initial positions outlined by dotted lines to their final positions. Based on the displacement of the set of collision points, the non-collision points 1444, 1446, 1448, 1450 are displaced from their initial positions as indicated by the respective vectors. Each vector represents the sum of displacements generated by a set of
本発明の一実施形態では、衝突応答はすべて決定され、基底空間内で総和される。これにより、方法1300の効率が改善される。この実施形態では、ステップ1335で、最終衝突応答は、基底射影形式から物理的形式へと戻される形で構成される。衝突からの皮膚変形は、最終衝突応答と基底関数の集合の重み付き総和から決定される。
In one embodiment of the invention, all collision responses are determined and summed in the base space. This improves the efficiency of
他の実施形態では、衝突点の衝撃応答を表す疎ベクトルを使用して、最終衝突応答を決定する。他の実施形態では、コライダーと衝突点との間の関連付けは、静止ポーズの位置から決定できる。この実施形態は、皮膚応答が衝突、例えば、皮膚(または内部衝突遮蔽)と筋肉との衝突に対する応答としてかなり移動することが予想されない場合に有用である。 In other embodiments, a sparse vector representing the impact response of the collision point is used to determine the final collision response. In other embodiments, the association between the collider and the collision point can be determined from the position of the stationary pose. This embodiment is useful when the skin response is not expected to move significantly as a response to a collision, eg, a skin (or internal collision shield) and muscle collision.
図14Fは、モデル皮膚上に構成される最終衝突応答を例示している。図14Fの実施形態では、皮膚1452は、最終衝突応答の結果として内側に向かいコライダー1454の周りに膨れ、衝突に対する応答としてリアルに見える変形が提示される。比較のため、最初の変形前のキャラクター・サーフェスの輪郭1456も示されている。
FIG. 14F illustrates the final impact response configured on the model skin. In the embodiment of FIG. 14F, the
上述のように、衝突アニメーション作成フェーズでは、最終衝突応答が決定されるまで衝突点のみが変位される。このため、衝突応答を決定する際に計算する必要がある点の個数が大幅に制限され、したがって、衝突アニメーション作成フェーズをリアルタイムで実行できる。このため、アニメーターは、キャラクターと周囲との相互作用を微調整することができる。 As described above, in the collision animation creation phase, only the collision point is displaced until the final collision response is determined. This greatly limits the number of points that need to be calculated when determining the collision response, thus allowing the collision animation creation phase to be performed in real time. For this reason, the animator can fine-tune the interaction between the character and the surroundings.
本発明の他の実施形態では、ポーズ設定アーマチュアに対する応答としてキャラクター・モデルを変形する方法と衝突に対する応答としてキャラクター・モデルを変形する方法とを組み合わせることができる。この組み合わせた実施形態では、キャラクター・モデルは、ポーズ設定アーマチュアと衝突に対する応答としてリアルに変形する。この実施形態では、アニメーション・プロセスは、組み合わせ準備フェーズと組み合わせアニメーション作成フェーズの2つのフェーズに分けられる。他の実施形態と同様に、この実施形態でも、組み合わせ準備フェーズは、1つのキャラクター・モデルについて1回実行される。組み合わせ準備フェーズでは、アーマチュア基底集合、対応する皮膚モードの集合、フレーム重みの集合は、方法400で説明されているように決定される。さらに、組み合わせ準備フェーズでは、方法1100で説明されているように、皮膚衝撃応答の集合と関連付けられた衝撃基底集合を決定する。
In other embodiments of the present invention, the method of deforming a character model as a response to a pose setting armature can be combined with a method of deforming a character model as a response to a collision. In this combined embodiment, the character model deforms realistically as a response to the pose armature and the collision. In this embodiment, the animation process is divided into two phases: a combination preparation phase and a combination animation creation phase. As in the other embodiments, in this embodiment, the combination preparation phase is executed once for one character model. In the combination preparation phase, an armature basis set, a corresponding set of skin modes, and a set of frame weights are determined as described in
組み合わせアニメーション作成フェーズでは、アーマチュア基底集合、皮膚モードの集合、フレーム重みの集合、皮膚衝撃応答の集合、衝撃基底集合を使用して、アニメーターから仕様にしたがってポーズ設定され変形されたキャラクター・モデルを作成する。図15は、本発明の一実施形態による組み合わせアニメーション作成フェーズでキャラクターをアニメーション化する方法1500のブロック図を例示している。ステップ1505で、ポーズ設定アーマチュアは、所望の最終ポーズ設定キャラクターの姿勢を定義する。上述のように、ポーズ設定アーマチュアは、キー・フレーム間を補間するか、または手続き的に1つまたは複数のアニメーション変数、関数、プロシージャ、またはアルゴリズムを使用することにより、アニメーター側が手作業で作成することができる。さらに、アーマチュアに張り付けられた座標参照フレームの集合が静止位置からポーズ設定位置へ関連付けられたアーマチュア・セグメントに従うので、座標参照フレームの集合の位置と向きを定義するベクトルの集合も、ステップ1505で決定される。
In the combined animation creation phase, an armor base set, skin mode set, frame weight set, skin impact response set, and impact base set are used to create a character model that is posed and deformed according to specifications from an animator To do. FIG. 15 illustrates a block diagram of a
ステップ1510で、皮膚ポーズ応答の集合は、座標参照フレームの集合について決定される。それぞれの皮膚ポーズ応答は、方法900で説明されているのと同様の方法で決定される。一般に、ポーズ・ベクトルと基底関数の集合は、ポーズ設定位置の座標参照フレームにより定義された座標空間内に変換される。変換されたポーズ・ベクトルは、アーマチュア基底関数の変換済み集合上に射影され、そこで、基底関数重みの集合を作成する。それぞれの座標参照フレーム内で基底関数重みの集合が皮膚モードに適用され、座標参照フレームの皮膚ポーズ応答が決定される。これは、座標参照フレームごとに繰り返され、皮膚ポーズ応答の集合を作成する。
At
ステップ1515で、複合皮膚ポーズ応答は、皮膚ポーズ応答の集合から決定される。上述の方法900と同様に、それぞれの座標参照フレームからの皮膚ポーズ応答が、関連付けられたフレーム重みに応じて組み合わされ、望ましくない剪断効果が補正される。一般に、皮膚ポーズ応答の集合は、関連付けられた座標参照フレームから大域参照フレームに変換され、フレームみ付けの集合に従って総和される。このステップの結果は、複合皮膚応答である。
At step 1515, a composite skin pose response is determined from the set of skin pose responses. Similar to the
ステップ1520で、点制約が識別される。点制約は、キャラクター・モデルと自分自身または外部オブジェクトとの衝突から変位される点である。アニメーターは、手作業で、またはキー・フレームの集合または1つまたは複数のアニメーション変数により定義された運動の結果として、それぞれのフレーム内でキャラクター・モデルと接触するようにオブジェクトを位置付けすることにより衝突を作成することができる。点制約は、さらに、アニメーターがキャラクター・モデルの1点を他のオブジェクトに貼り付けることで生じるか、または手動で皮膚点を新しい位置に強制的に配置することにより、生じる場合がある。一実施形態では、ステップ1520で、キャラクター・モデルの皮膚上のそれぞれの点を中心とする半径を定義することにより潜在的衝突点を識別する。他の実施形態では、バウンディング・ボックスを使用して、潜在的衝突点を識別する。ステップ1520で、使用される衝突点の集合を識別し、衝突からキャラクター・モデルの変形を決定する。
At
ステップ1525で、衝突点の集合が評価され、皮膚衝突応答が決定される。ステップ1525の実施形態では、上述の方法1300により衝突点の集合を評価する。一般に、第1の変位は、第1の衝突点について決定される。第1の変位は、衝撃基底関数の集合上に射影され、皮膚衝撃応答から初期衝突応答を決定する。初期衝突応答は、周囲衝突点を変位させる。周囲衝突点の変位は、それぞれの皮膚衝撃応答に適用され、さらに、衝突点の集合が変位される。衝突点の集合をさらに変位させると、その後、衝突応答が発生し、これを、衝突点が最終位置に収束するまで繰り返し処理する。衝突点の集合の最終位置により、皮膚衝突応答が定義され、その後、この応答は非衝突点の集合に適用される。
At
ステップ1530で、複合皮膚ポーズ応答と皮膚衝突応答からキャラクター・モデルが構成される。一実施形態では、複合皮膚ポーズ応答と皮膚衝突応答は両方とも、格納され、基底射影形式で処理される。この実施形態では、複合皮膚応答とアーマチュア基底関数の集合の重み付き総和が皮膚衝突応答と衝撃基底関数の集合の重み付き総和に加えられる。この結果は、アーマチュア・ポーズと衝突に対する応答として変形されるキャラクター・モデルである。
At
方法1500のステップをフレーム毎に繰り返し、アニメーション化シーケンスを生成する。皮膚モード応答と皮膚衝撃応答は組み合わせ準備フェーズにおいて事前計算されるので、組み合わせアニメーション作成フェーズは、リアルタイムまたはリアルタイムに近い速さで実行することができる。このため、アニメーターは、アニメーションを効率よく微調整し、アニメーションの劇的衝撃を最大にすることができる。さらに、キャラクター・モデルの組み合わせ皮膚応答は、アーマチュア・ポーズと衝突に対する応答としてリアルに変形するため、アニメーターは、アニメーションの最終的外観を確認できるのを待たずに、アニメーション・プロセスにおいてキャラクター・モデルの最終的外観を確認する。
The steps of
さらに、本発明では、物理的シミュレーション手法により、または運動学的変換手法で使用する複雑なアーマチュア重み付けにより必要とされる下にある骨と筋肉構造を作成せずに、ポーズ設定アーマチュアから直接、リアルなキャラクター変形を決定する。これにより、従来のアニメーション作成手法と比較して、キャラクター・モデルを作成するのに要する時間と労力が低減される。 In addition, the present invention provides real-time performance directly from the pose armature without creating the underlying bone and muscle structures required by physical simulation techniques or by complex armature weighting used in kinematic transformation techniques. Determine the character transformation. This reduces the time and effort required to create the character model compared to conventional animation creation techniques.
ポーズ設定または変形されたモデルが上述の実施形態のうちの1つまたは複数を使用して作成された後、レンダリング手法、例えば、レイトレーシングまたは走査線レンダリングで、照明、シェーディング、テクスチャ・マッピング、その他のイメージ処理情報と組み合わせてモデルから最終イメージまたはフレームを作成することができる。 After a posed or deformed model is created using one or more of the above embodiments, rendering techniques such as ray tracing or scanline rendering, lighting, shading, texture mapping, etc. In combination with the image processing information, a final image or frame can be created from the model.
付属の書類を読んだ後、当業者であれば、他の実施形態も想定できるであろう。他の実施形態では、上で開示されている発明の組み合わせまたは部分的組み合わせも都合よく作成できる。アーキテクチャのブロック図と流れ図は、理解しやすいようにグループにまとめられている。ただし、ブロックの組み合わせ、新しいブロックの追加、グループの再配置などは、本発明の他の実施形態において考察されることを理解されたい。 Other embodiments may be envisioned by those skilled in the art after reading the accompanying documents. In other embodiments, combinations or subcombinations of the inventions disclosed above can be conveniently created. Architectural block diagrams and flowcharts are grouped together for ease of understanding. However, it should be understood that combinations of blocks, addition of new blocks, rearrangement of groups, etc. are contemplated in other embodiments of the invention.
したがって、明細書と図面は、制限ではなく、例示することを目的としているものとみなすべきである。しかし、付属の請求項で定められているように、本発明の広い精神と範囲を逸脱することなく本発明にさまざまな修正と変更を加えられることは明白であろう。 Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive. However, it will be apparent that various modifications and changes may be made thereto without departing from the broad spirit and scope of the invention as defined in the appended claims.
Claims (21)
前記キャラクター・モデルの皮膚点の集合に対して皮膚衝撃応答の集合を予め決定するステップであって、前記皮膚点の集合は前記キャラクター・モデルの多角形表面表現を直接に定義する位置を有し、それぞれの皮膚衝撃応答は前記キャラクター・モデルの第1の皮膚点の変位に対する応答として少なくとも第2の皮膚点の変位を定義する、ステップと、
第1の衝突に対する皮膚衝突点の第1の集合として前記皮膚点の集合の第1の部分集合を選択するステップと、
皮膚衝撃応答の前記予め決定された集合と皮膚衝突点の前記第1の集合から最終衝突応答を決定するステップと、
前記皮膚点の集合に前記最終衝突応答を適用するステップと、そして
レンダーされた画像の少なくとも一部分を作り出すために前記最終衝突応答にしたがって前記皮膚点の集合により定義された前記表面をレンダリングするステップと
を含み、
皮膚衝撃応答の前記予め決定された集合の少なくとも1つは2つ以上の衝突に対する最終衝突応答を決定するために用いられるべく適用される、
方法。A method of deforming a character model in response to a collision,
Pre- determining a set of skin impact responses for a set of skin points of the character model, the set of skin points having a position that directly defines a polygonal surface representation of the character model; , each of the skin impulse response defines the displacement of at least a second skin point in response to displacement of the first skin points of the character model, the steps,
Selecting a first subset of the set of the skin points as a first set of skin impingement point to the first collision,
Determining a final collision response from the said first set of predetermined set and skin collision points of the skin impulse response,
Applying the final impact response to the set of skin points ; and
Rendering the surface defined by the set of skin points according to the final impact response to produce at least a portion of a rendered image ;
At least one of the predetermined set of skin impact responses is adapted to be used to determine a final impact response for two or more impacts;
Method.
変位を前記皮膚点に適用するステップと、そして
前記キャラクター・モデル全体にわたって前記変位の関数を最小にし、皮膚衝撃応答を決定するステップと
を含む請求項1に記載の方法。 Determining a set of skin impulse responses further,
A step of applying displacement to the skin point and the and across character model to minimize the function of the displacement method of claim 1 including the steps of determining the skin impulse response.
前記キャラクター・モデルをサンプル点の三次元場に離散化するステップと、
変位の集合を前記皮膚点に隣接する前記サンプル点の一部に適用するステップと、そして
前記キャラクター・モデルに関連付けられているすべてのサンプル点で前記関数を最小にするステップと
を含む請求項4に記載の方法。further,
A step of discretizing the character model to the three-dimensional field of sample points,
Claim 4 comprising the steps applying a set of displacement in a part of the sample points adjacent to the skin point and a step of the function to a minimum in all of the sample points associated with the character model The method described in 1.
前記衝撃応答の集合から基底集合を構成するステップと、
前記衝撃応答の集合を前記基底集合に射影し、前記衝撃応答の集合のコンパクトな表現を作成するステップと
を含む請求項1に記載の方法。further,
A step of configuring a basis set from the set of impulse responses,
The method of claim 1, wherein the set of impulse responses projected to the basis set, and a step of creating a compact representation of said set of impulse responses.
(A)皮膚衝突点の集合を変位するステップと、
(B)前記皮膚衝突点の前記変位からのそれぞれの皮膚衝突点に対する皮膚衝突応答、および少なくとも1つの皮膚衝撃応答を決定するステップと、そして
(C)前記皮膚衝突点の集合が最終衝突応答に収束するまで(A)および(B)を繰り返すステップと
を含む請求項1に記載の方法。The step of determining the final collision response is:
(A) a step of displacing a set of skin impingement point,
(B) Skin collision response for each skin point of impact from the displacement of the skin impact points, and a step of determining at least one skin impulse response, and (C) a set of said skin collision point is the final collision response Repeating the steps (A) and (B) until convergence.
キャラクター・ポーズを前記参照フレームの集合に変換するステップと、
参照フレーム毎に、キャラクター・ポーズに対する応答として前記キャラクター・モデルの皮膚ポーズ応答を作成するステップと、
それぞれの参照フレームの前記皮膚ポーズ応答から前記キャラクター・モデルの複合皮膚ポーズ応答を構成するステップと、
前記キャラクター・モデルの皮膚点の集合に対して皮膚衝撃応答の集合を予め決定するステップであって、前記皮膚点の集合は前記キャラクター・モデルの多角形表面表現を直接に定義する位置を有し、それぞれの皮膚衝撃応答は前記キャラクター・モデルの第1の皮膚点の変位に対する応答として少なくとも第2の皮膚点の前記変位を定義する、ステップと、
前記皮膚点の集合の第1の部分集合を第1の衝突に対する皮膚衝突点の第1の集合として選択するステップと、
皮膚衝突点の前記予め決定された集合から第1の衝突に対する衝突応答を決定するステップであって、皮膚衝突点の前記第1の集合の少なくとも一部分の変位に応答して前記衝突応答は皮膚衝突点の前記第1の集合にない皮膚点の集合の少なくとも1つの変位を定義し、皮膚衝突点の前記第1の集合は前記第1の衝突に応答して変位させられる、ステップと、
前記衝突応答から前記皮膚点の集合に対する完全な皮膚衝突応答を構成するステップと、
前記完全な皮膚衝突応答と前記複合皮膚ポーズ応答とを組み合わせてポーズ設定キャラクター・モデルを作成するステップと、そして
レンダーされた画像の少なくとも一部分を作り出すために前記最終衝突応答にしたがって前記皮膚点の集合により定義された前記表面をレンダリングするステップと
を含み、
皮膚衝撃応答の前記予め決定された集合の少なくとも1つは2つ以上の衝突に対する最終衝突応答を決定するために用いられるべく適用される、
方法。A method of creating a pose setting character model,
And the step of converting the character pose to the set of the reference frame,
For each reference frame, creating a skin pose response of the character model in response to character pose,
A step from the skin pose response of each reference frame constituting the composite skin pose response of the character model,
Pre-determining a set of skin impact responses for a set of skin points of the character model, the set of skin points having a position that directly defines a polygonal surface representation of the character model; Each skin impact response defines the displacement of at least a second skin point as a response to the displacement of the first skin point of the character model;
Selecting a first subset of the set of the skin points as a first set of skin impingement point to the first collision,
Determining a collision response to a first collision from the predetermined set of skin collision points, wherein the collision response is responsive to displacement of at least a portion of the first set of skin collision points. Defining at least one displacement of a set of skin points not in the first set of points, the first set of skin collision points being displaced in response to the first collision;
A step of configuring a complete skin collision response for a set of said skin points from the collision response,
Combining the complete skin collision response and the composite skin pose response to create a pose-setting character model ; and
Rendering the surface defined by the set of skin points according to the final impact response to produce at least a portion of a rendered image ;
At least one of the predetermined set of skin impact responses is adapted to be used to determine a final impact response for two or more impacts;
Method.
皮膚応答の集合をキャラクター・モデルに対して決定するステップであって、それぞれの皮膚応答が、サンプル・キャラクター位置の集合に対応するキャラクター基底集合の1つに関連付けられている、ステップ
を含み、
皮膚ポーズ応答を作成するステップが、前記キャラクター・ポーズを前記基底集合上に射影して基底重みの集合を決定するステップと、前記基底重みの集合を前記皮膚応答の集合に適用して前記参照フレームに対する皮膚ポーズ応答を作成するステップとを含む
請求項13に記載の方法。further,
And determining a set of skin response to character model, each skin response, one character basis set corresponding to a set of sample characters located in associated, comprising the steps,
Creating a skin pose response, determining a set of basis weight by projecting the character pose on the basis set, the reference frame by applying said set of basis weight to the set of skin response the method of claim 13 including the step of creating a skin pose response to.
請求項14に記載の方法。 Determining a set of skin response, each base of the base set, and applying a set of from one of the displacement of said base set in a part of the character model, entire character model over comprises the step of minimizing a function of the displacement,
The method according to claim 14.
前記キャラクター・モデルの前記皮膚点のそれぞれに対するそれぞれの参照フレームの影響を定義するフレーム重みの集合を前記キャラクター・モデルに関連付けられた参照フレームの集合に対して決定するステップを含み、
複合皮膚ポーズ応答を構成するステップが、フレーム重みの集合に応じて、第1の参照フレームの前記皮膚応答の一部と第2の参照フレームの前記皮膚応答の一部とを組み合わせるステップを含む
請求項13に記載の方法。further,
Comprises determining a set of frame weights that define the influence of the respective reference frames for each of the skin points of the character model to the set of reference frames associated with the character model,
Step of the composite skin pose response, depending on the set of frame weight, claims comprising the step of combining a portion of the skin response of the part and a second reference frame of said skin response of the first reference frame Item 14. The method according to Item 13.
前記皮膚衝突点から衝突応答を決定するステップが、
(A)皮膚衝突点の集合を変位させるステップと、
(B)前記皮膚衝突点の前記変位からのそれぞれの皮膚衝突点に対する皮膚衝突応答と少なくとも1つの皮膚衝撃応答を決定するステップと、そして
(C)前記皮膚衝突点の集合が最終衝突応答に収束するまで(A)および(B)を繰り返すステップと
を含む
請求項13に記載の方法。Furthermore, the method comprising: determining a set of skin impulse responses for a set of skin points of the character model, each skin impulse response defines the deformation of the character model in response to a displacement of the skin points Including steps ,
Determining a collision response from the skin impingement point,
(A) a step of displacing a set of skin impingement point,
(B) converging the steps determining at least one skin impulse response with the skin collision response for each skin point of impact from the displacement of said skin collision point, and (C) a set of said skin collision point is the final collision response the method of claim 13 including the step of repeating until the (a) and (B) to.
第1の衝突に対する皮膚衝突点の第1の集合として前記皮膚点の集合の第1の部分集合を選択するステップと、
皮膚衝撃応答の前記予め決定された集合と皮膚衝突点の前記第1の集合から最終衝突応答を決定するステップと、
前記皮膚点の集合に前記最終衝突応答を適用するステップと、そして
レンダーされた画像の少なくとも一部分を作り出すために前記最終衝突応答にしたがって前記皮膚点の集合により定義された前記表面をレンダリングするステップと
を含むオペレーションであって、
皮膚衝撃応答の前記予め決定された集合の少なくとも1つは2つ以上の衝突に対する最終衝突応答を決定するために用いられるべく適用される、オペレーション
を実行することを情報処理デバイスに指令する複数の命令を格納する情報記憶媒体。 Pre- determining a set of skin impact responses for a set of skin points of the character model, the set of skin points having a position that directly defines a polygonal surface representation of the character model; , each of the skin impulse response defines the displacement of at least a second skin point in response to displacement of the first skin points of the character model, the steps,
Selecting a first subset of the set of the skin points as a first set of skin impingement point to the first collision,
Determining a final collision response from the said first set of predetermined set and skin collision points of the skin impulse response,
Applying the final impact response to the set of skin points ; and
Rendering the surface defined by the set of skin points according to the final impact response to produce at least a portion of a rendered image;
An operation including
At least one of the predetermined set of skin impact responses is applied to be used to determine a final collision response for two or more collisions , a plurality of commands for instructing the information processing device to perform operations An information storage medium for storing instructions.
参照フレーム毎に、キャラクター・ポーズに対する応答として前記キャラクター・モデルの皮膚ポーズ応答を作成するステップと、
それぞれの参照フレームの前記皮膚ポーズ応答から前記キャラクター・モデルの複合皮膚ポーズ応答を構成するステップと、
前記キャラクター・モデルの皮膚点の集合に対して皮膚衝撃応答の集合を予め決定するステップであって、前記皮膚点の集合は前記キャラクター・モデルの多角形表面表現を直接に定義する位置を有し、それぞれの皮膚衝撃応答は前記キャラクター・モデルの第1の皮膚点の変位に対する応答として少なくとも第2の皮膚点の前記変位を定義する、ステップと、
前記皮膚点の集合の第1の部分集合を第1の衝突に対する皮膚衝突点の第1の集合として選択するステップと、
皮膚衝突点の前記予め決定された集合から第1の衝突に対する衝突応答を決定するステップであって、皮膚衝突点の前記第1の集合の少なくとも一部分の変位に応答して前記衝突応答は皮膚衝突点の前記第1の集合にない皮膚点の集合の少なくとも1つの変位を定義し、皮膚衝突点の前記第1の集合は前記第1の衝突に応答して変位させられる、ステップと、
前記衝突応答から前記皮膚点の集合に対する完全な皮膚衝突応答を構成するステップと、
前記完全な皮膚衝突応答と前記複合皮膚ポーズ応答とを組み合わせてポーズ設定キャラクター・モデルを作成するステップと、そして
レンダーされた画像の少なくとも一部分を作り出すために前記最終衝突応答にしたがって前記皮膚点の集合により定義された前記表面をレンダリングするステップと
を含むオペレーションであって、
皮膚衝撃応答の前記予め決定された集合の少なくとも1つは2つ以上の衝突に対する最終衝突応答を決定するために用いられるべく適用される、オペレーション
を実行することを情報処理デバイスに指令する複数の命令を格納する情報記憶媒体。And the step of converting the character pose to the set of the reference frame,
For each reference frame, creating a skin pose response of the character model in response to character pose,
A step from the skin pose response of each reference frame constituting the composite skin pose response of the character model,
Pre-determining a set of skin impact responses for a set of skin points of the character model, the set of skin points having a position that directly defines a polygonal surface representation of the character model; Each skin impact response defines the displacement of at least a second skin point as a response to the displacement of the first skin point of the character model;
Selecting a first subset of the set of the skin points as a first set of skin impingement point to the first collision,
Determining a collision response to a first collision from the predetermined set of skin collision points, wherein the collision response is responsive to displacement of at least a portion of the first set of skin collision points. Defining at least one displacement of a set of skin points not in the first set of points, the first set of skin collision points being displaced in response to the first collision;
A step of configuring a complete skin collision response for a set of said skin points from the collision response,
Combining the complete skin collision response and the composite skin pose response to create a pose-setting character model ; and
Rendering the surface defined by the set of skin points according to the final impact response to produce at least a portion of a rendered image;
An operation including
At least one of the predetermined set of skin impact responses is applied to be used to determine a final collision response for two or more collisions , a plurality of commands for instructing the information processing device to perform operations An information storage medium for storing instructions.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/438,732 US7307633B2 (en) | 2003-05-14 | 2003-05-14 | Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response |
US10/438,748 US20040227761A1 (en) | 2003-05-14 | 2003-05-14 | Statistical dynamic modeling method and apparatus |
PCT/US2003/026371 WO2004104934A1 (en) | 2003-05-14 | 2003-08-22 | Statistical dynamic collisions method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006514379A JP2006514379A (en) | 2006-04-27 |
JP4358752B2 true JP4358752B2 (en) | 2009-11-04 |
Family
ID=33479229
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004572200A Expired - Fee Related JP4358752B2 (en) | 2003-05-14 | 2003-08-22 | Statistical mechanical collision methods and equipment |
JP2004572201A Expired - Fee Related JP4361878B2 (en) | 2003-05-14 | 2003-08-22 | Statistical mechanical modeling method and apparatus |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004572201A Expired - Fee Related JP4361878B2 (en) | 2003-05-14 | 2003-08-22 | Statistical mechanical modeling method and apparatus |
Country Status (4)
Country | Link |
---|---|
EP (2) | EP1639552A4 (en) |
JP (2) | JP4358752B2 (en) |
AU (2) | AU2003260051A1 (en) |
WO (2) | WO2004104935A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070268293A1 (en) * | 2006-05-19 | 2007-11-22 | Erick Miller | Musculo-skeletal shape skinning |
JP4579964B2 (en) * | 2007-12-13 | 2010-11-10 | 株式会社コナミデジタルエンタテインメント | Image generating apparatus, image generating method, and program |
JP5232129B2 (en) * | 2009-11-24 | 2013-07-10 | 日本放送協会 | Virtual character generation device and virtual character generation program |
CN116822379B (en) | 2023-08-29 | 2023-11-24 | 中汽研汽车检验中心(天津)有限公司 | Human body model simulation degree evaluation method based on biomechanics simulation limit curve |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU718608B2 (en) * | 1996-03-15 | 2000-04-20 | Gizmoz Israel (2002) Ltd. | Programmable computer graphic objects |
CA2213884C (en) * | 1996-08-21 | 2001-05-22 | Nippon Telegraph And Telephone Corporation | Method for generating animations of a multi-articulated structure, recording medium having recorded thereon the same and animation generating apparatus using the same |
US6067096A (en) * | 1998-03-04 | 2000-05-23 | Nagle; John | Method and system for generating realistic collisions in graphical simulations |
US6593927B2 (en) * | 2001-02-01 | 2003-07-15 | Intel Corporation | Squash and stretch three-dimensional rendering |
US6798415B2 (en) * | 2001-06-21 | 2004-09-28 | Intel Corporation | Rendering collisions of three-dimensional models |
EP1345179A3 (en) * | 2002-03-13 | 2004-01-21 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for computer graphics animation |
US20030193503A1 (en) * | 2002-04-10 | 2003-10-16 | Mark Seminatore | Computer animation system and method |
US6822653B2 (en) * | 2002-06-28 | 2004-11-23 | Microsoft Corporation | Methods and system for general skinning via hardware accelerators |
-
2003
- 2003-08-22 AU AU2003260051A patent/AU2003260051A1/en not_active Abandoned
- 2003-08-22 EP EP03817037A patent/EP1639552A4/en not_active Withdrawn
- 2003-08-22 JP JP2004572200A patent/JP4358752B2/en not_active Expired - Fee Related
- 2003-08-22 WO PCT/US2003/026546 patent/WO2004104935A1/en active Application Filing
- 2003-08-22 JP JP2004572201A patent/JP4361878B2/en not_active Expired - Fee Related
- 2003-08-22 EP EP03751882A patent/EP1636759A4/en not_active Withdrawn
- 2003-08-22 AU AU2003269986A patent/AU2003269986A1/en not_active Abandoned
- 2003-08-22 WO PCT/US2003/026371 patent/WO2004104934A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2006514379A (en) | 2006-04-27 |
WO2004104934A1 (en) | 2004-12-02 |
EP1639552A4 (en) | 2010-08-25 |
JP4361878B2 (en) | 2009-11-11 |
EP1636759A1 (en) | 2006-03-22 |
AU2003260051A1 (en) | 2004-12-13 |
AU2003269986A1 (en) | 2004-12-13 |
JP2006514380A (en) | 2006-04-27 |
EP1639552A1 (en) | 2006-03-29 |
WO2004104935A1 (en) | 2004-12-02 |
EP1636759A4 (en) | 2010-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7515155B2 (en) | Statistical dynamic modeling method and apparatus | |
US7307633B2 (en) | Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response | |
Kähler et al. | Geometry-based muscle modeling for facial animation | |
Wilhelms et al. | Anatomically based modeling | |
US7944449B2 (en) | Methods and apparatus for export of animation data to non-native articulation schemes | |
US7570264B2 (en) | Rig baking | |
US7259764B2 (en) | Defrobulated angles for character joint representation | |
US20090251462A1 (en) | System and method for mesh distance based geometry deformation | |
Orvalho et al. | Transferring the rig and animations from a character to different face models | |
JP4358752B2 (en) | Statistical mechanical collision methods and equipment | |
Chen et al. | A displacement driven real-time deformable model for haptic surgery simulation | |
Çetinaslan | Position manipulation techniques for facial animation | |
Xia et al. | Recent advances on virtual human synthesis | |
Schneider et al. | Hybrid anatomically based modelling of animals | |
Sloan et al. | Shape and animation by example | |
Yang et al. | Fast simulation of skin sliding | |
Orvalho et al. | Transferring Facial Expressions to Different Face Models. | |
Pungotra | Collision detection and merging of deformable B-spline surfaces in virtual reality environment | |
Wu et al. | Generic-model based human-body modeling | |
Smith | Animation of captured surface data | |
de Aguiar et al. | A simple framework for natural animation of digitized models | |
Abu Rumman et al. | Position based skinning of skeleton-driven deformable characters | |
Jaafar et al. | Animating Virtual Human for Virtual Batik Modeling | |
Magnenat-Thalmann et al. | Virtual humans | |
Magnenat-Thalmann | Modeling Bodies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090113 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090413 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090512 |
|
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: 20090707 |
|
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: 20090806 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4358752 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: 20130814 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |