JP6431265B2 - Object motion generation method, program, and storage medium - Google Patents

Object motion generation method, program, and storage medium Download PDF

Info

Publication number
JP6431265B2
JP6431265B2 JP2014054040A JP2014054040A JP6431265B2 JP 6431265 B2 JP6431265 B2 JP 6431265B2 JP 2014054040 A JP2014054040 A JP 2014054040A JP 2014054040 A JP2014054040 A JP 2014054040A JP 6431265 B2 JP6431265 B2 JP 6431265B2
Authority
JP
Japan
Prior art keywords
motion
motion data
positional relationship
character
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014054040A
Other languages
Japanese (ja)
Other versions
JP2015176495A (en
Inventor
陽介 川上
陽介 川上
兼太郎 山口
兼太郎 山口
文孝 島
文孝 島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Celsys Inc
Original Assignee
Celsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Celsys Inc filed Critical Celsys Inc
Priority to JP2014054040A priority Critical patent/JP6431265B2/en
Publication of JP2015176495A publication Critical patent/JP2015176495A/en
Application granted granted Critical
Publication of JP6431265B2 publication Critical patent/JP6431265B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は,三次元空間におけるオブジェクトのモーションの生成方法,プログラム,及び記憶媒体に関する。   The present invention relates to an object motion generation method, program, and storage medium in a three-dimensional space.

三次元(3D)仮想空間又は実空間上において,キャラクタなどの(仮想的な)オブジェクトの移動,回転,変形等を制御することにより,アニメーションなどの製作を支援する技術が存在する。この場合に,複数のボーン(骨)を関節で繋いだスケルトンモデル(骨格モデル)(図1(a))が使われる場合がある。   There is a technology that supports production of animation and the like by controlling movement, rotation, deformation, and the like of a (virtual) object such as a character in a three-dimensional (3D) virtual space or a real space. In this case, a skeleton model (skeleton model) (FIG. 1A) in which a plurality of bones (bones) are connected by joints may be used.

本願明細書で例示として取り上げるオブジェクトは,図1(a)のようにボーン101,ボーン102等で連結されたスケルトンモデルで構成される。スケルトンモデルを構成する各部位はノードと呼ばれ,各ノードは,親子の関係を持つことも可能である。ノードの回転(曲げ,捻り)の状態は,親ノードを基準とした子ノードの向きで表すことができる。ノードの向きを表すために,各々のノードに座標系が定められる(不図示)。親子関係にあるノードの原点どうしを結ぶ線分,あるいはノード自体がボーンとなる。   An object taken as an example in the present specification is constituted by a skeleton model connected by a bone 101, a bone 102, and the like as shown in FIG. Each part constituting the skeleton model is called a node, and each node can have a parent-child relationship. The state of node rotation (bending, twisting) can be expressed by the direction of the child node with respect to the parent node. In order to express the direction of the node, a coordinate system is defined for each node (not shown). A line segment connecting the origins of nodes in a parent-child relationship, or the node itself is a bone.

人体モデル,動物,構造物等の姿勢(ポーズ,モーション等)を制御する際に用いられるこのようなスケルトンモデルにおいては,図1(a)に示す各々のボーンおよび関節の位置,回転(曲げ,捻り)等を意図したとおりに制御することが必要となる。図1(a)に示されるスケルトンモデルでは,各々のボーンは関節で結合されており,各々のボーンの動きが他のボーンの動きに影響を与える。従来,スケルトンをモデル化し,スケルトンモデルを制御する手法として,種々のものが提案されている。   In such a skeleton model used for controlling the posture (pose, motion, etc.) of a human body model, an animal, a structure, etc., the position, rotation (bending, bending) of each bone and joint shown in FIG. (Twist) etc. must be controlled as intended. In the skeleton model shown in FIG. 1A, each bone is connected by a joint, and the movement of each bone affects the movement of the other bone. Conventionally, various methods for modeling a skeleton and controlling the skeleton model have been proposed.

たとえば,標準モデルに対して予めポーズ又はモーションを定義しておき,制御対象モデルに対して,標準スケルトンモデルのポーズ又はモーションを適用することで,簡便に制御対象モデルのポーズ又はモーションを制御する手法が提案されている(例えば,特許文献1参照)。   For example, a method for easily controlling the pose or motion of a controlled model by defining a pose or motion in advance for the standard model and applying the pose or motion of the standard skeleton model to the controlled model Has been proposed (see, for example, Patent Document 1).

特開2013−120395号公報JP 2013-120395 A

本明細書では,ポーズ又はモーションを定義するために用いる標準モデルとして,「オリジナルキャラクタ」の語を用いる。また,そのモーションを用いて制御する対象のモデルとして,「カレントキャラクタ」の語を用いる。   In this specification, the word “original character” is used as a standard model used to define a pose or motion. In addition, the word “current character” is used as a model to be controlled using the motion.

図1(a)は,具体的なスケルトンモデルを示している。   FIG. 1A shows a specific skeleton model.

図1(b)は,スケルトンモデルに,例えば複数のポリゴンから構成されるスキンを関連付け,オリジナルキャラクタ110を構成した例を示している。   FIG. 1B shows an example in which an original character 110 is configured by associating a skin composed of a plurality of polygons, for example, with a skeleton model.

図2(a)は,制御対象モデルとしてのカレントキャラクタのボーンの構成を示しており,例えば,ボーン201,ボーン202を含んでいる。   FIG. 2A shows the configuration of the bone of the current character as the control target model, and includes, for example, a bone 201 and a bone 202.

図2(b)は,複数のボーンに対して体表面を表現する複数のポリゴンを関連付けたカレントキャラクタ210が示されている。   FIG. 2B shows a current character 210 in which a plurality of polygons representing the body surface are associated with a plurality of bones.

図3(a)は,仮想的な,栓の開いたペットボトル310を示している。   FIG. 3A shows a virtual plastic bottle 310 with an open stopper.

図3(b)は,オリジナルキャラクタ320が,ペットボトル330を右手で保持し,ペットボトル330の飲料を飲んでいるポーズを示している。この場合,ペットボトルの先端部331と,オリジナルキャラクタ320の口321が接触している。このようなポーズ(フレーム)を複数用いて,時間軸上で連続してオリジナルキャラクタ320及びペットボトル330を動かすことによって,三次元空間上で,オリジナルキャラクタ320がペットボトル330の飲料を飲むモーションを作ることができる。   FIG. 3B shows a pose in which the original character 320 holds the plastic bottle 330 with the right hand and drinks the beverage from the plastic bottle 330. In this case, the tip 331 of the plastic bottle and the mouth 321 of the original character 320 are in contact. By using a plurality of such poses (frames) and continuously moving the original character 320 and the plastic bottle 330 on the time axis, the motion of the original character 320 drinking the beverage of the plastic bottle 330 in the three-dimensional space. Can be made.

図4(a)は,図3(b)のオリジナルキャラクタのポーズを,カレントキャラクタ420bに対して適用した様子を示した図である。カレントキャラクタ420bは,ペットボトル430bを右手422で持っている。しかしながら,カレントキャラクタ420bの口421bとペットボトルの先端431aとの間が接触しておらず,離れている。   FIG. 4A is a diagram showing a state where the pose of the original character in FIG. 3B is applied to the current character 420b. The current character 420b holds the plastic bottle 430b with the right hand 422. However, the mouth 421b of the current character 420b and the tip 431a of the plastic bottle are not in contact with each other and are separated.

図4(b)は,図4(a)の一部を拡大した図である。口421bとペットボトルの先端431bとの間にズレが生じている。このようなズレが生じる原因は,オリジナルキャラクタ320とカレントキャラクタ420bが,異なる体型や構造を持つためである。したがって,オリジナルキャラクタ320のポーズをそのままカレントキャラクタ420bに適用しても,意図したとおりのポーズが得られず,不自然なポーズとなってしまう場合があることが分かる。したがって,複数のポーズの連続であるモーションにおいても,オリジナルキャラクタのモーションを単に適用しても,カレントキャラクタのモーションが,意図した通りのモーションとならない場合がある。   FIG. 4B is an enlarged view of a part of FIG. There is a gap between the mouth 421b and the tip 431b of the plastic bottle. The reason why such a deviation occurs is that the original character 320 and the current character 420b have different body shapes and structures. Therefore, it can be seen that even if the pose of the original character 320 is applied to the current character 420b as it is, the intended pose cannot be obtained and the pose may be unnatural. Therefore, even in a motion that is a sequence of a plurality of poses, even if the motion of the original character is simply applied, the motion of the current character may not be as intended.

本発明は,このような不都合を解消することを目的としている。すなわち,オリジナルキャラクタ(第1のオブジェクト)と物体(連携オブジェクト)とが関連して動く場合のオリジナルキャラクタのモーションデータを用いて,カレントキャラクタ(第2のオブジェクト)の適切なモーションデータを生成することを目的とする。   The object of the present invention is to eliminate such inconveniences. That is, generating appropriate motion data of the current character (second object) using the motion data of the original character when the original character (first object) and the object (linked object) move in relation to each other. With the goal.

本実施例によれば,三次元空間におけるオブジェクトのモーションデータを,コンピュータが生成する方法であって,前記モーションデータが定義するモーションは,少なくとも移動,回転,及び変形のいずれか1つを含み,当該方法は,第1のオブジェクトが連携オブジェクトと関連して動くように前記第1のオブジェクトのモーションを定義した第1のモーションデータを補正することによって,前記第1のオブジェクトとは体型が異なる第2のオブジェクトのための第2のモーションデータを生成するステップであって,前記第1のオブジェクトと前記連携オブジェクトとの第1の位置関係を有し,前記第2のオブジェクトと前記連携オブジェクトとの第2の位置関係を,前記第1の位置関係に適合させる,ステップ,を有する方法が提供される。

According to this embodiment, a computer generates motion data of an object in a three-dimensional space, and the motion defined by the motion data includes at least one of movement, rotation, and deformation, The method corrects the first motion data that defines the motion of the first object so that the first object moves in relation to the linked object, so that the first object is different from the first object . Generating second motion data for the second object, having a first positional relationship between the first object and the linked object, wherein the second object and the linked object Adapting a second positional relationship to the first positional relationship, It is subjected.

実施形態によれば,キャラクタのモーションデータを簡便に生成し,利用することができる。   According to the embodiment, the motion data of the character can be easily generated and used.

スケルトンモデル(骨格モデル)の例を示す図である。It is a figure which shows the example of a skeleton model (skeleton model). カレントキャラクタ(制御対象モデル)の例を示す図である。It is a figure which shows the example of a current character (control object model). オリジナルキャラクタがペットボトルの飲料を飲んでいるポーズを示す図である。It is a figure which shows the pose which the original character is drinking the drink of a plastic bottle. オリジナルキャラクタのポーズを,カレントキャラクタに適用した図である。It is the figure which applied the pose of the original character to the current character. カレントキャラクタの補正されたポーズを示した図である。It is the figure which showed the corrected pose of the current character. オリジナルキャラクタ及びカレントキャラクタの着目点を示す図である。It is a figure which shows the attention point of an original character and a current character. オリジナルキャラクタが,椅子に腰掛けているポーズを示した図である。It is the figure which showed the pose which the original character is sitting on the chair. オリジナルキャラクタのポーズをカレントキャラクタに適用した図である。It is the figure which applied the pose of the original character to the current character. 一実施例の処理手順の概要を示したフローチャートである。It is the flowchart which showed the outline | summary of the process sequence of one Example. カレントキャラクタのポーズの補正に関する詳細なフローチャートである。It is a detailed flowchart regarding correction | amendment of the pose of a current character. 補正の正逆の判定処理を示すフローチャートである。It is a flowchart which shows the determination process of the correction | amendment normal / reverse. 手の向きを保存しておき,移動処理後に手の向きを戻す処理を示す図である。It is a figure which shows the process which preserve | saves the direction of a hand and returns the direction of a hand after a movement process. フルートを吹くポーズを示した図である。It is the figure which showed the pose which blows a flute. ペットボトルの栓を開けるポーズを示した図である。It is the figure which showed the pose which opens the stopper of a plastic bottle. シャベルを持ったキャラクタのポーズを示した図である。It is the figure which showed the pose of the character with a shovel.

なお,本明細書においては,ポーズは,時間的長さがゼロのモーションとして捉えることができるため,モーションを定義するモーションデータ及びポーズを定義するポーズデータは,いずれもモーションデータとして扱う。   Note that in this specification, a pose can be regarded as a motion with a zero time length, so both motion data that defines motion and pose data that defines a pose are treated as motion data.

また,本明細書では,キャラクタの語を主として用いる。キャラクタは,仮想的な人物又は生物に対して主に用いられる。しかしながら,本発明は,仮想的な人物又は生物以外に,一般的なオブジェクト(例えば,自転車,自動車,ボール等)の仮想的なオブジェクトを排除しない。したがって,本明細書において用いる仮想的なキャラクタ,物体等は,仮想的なオブジェクトの語で総称され得る点に留意すべきである。   In this specification, character words are mainly used. Characters are mainly used for virtual persons or creatures. However, the present invention does not exclude virtual objects such as general objects (for example, bicycles, automobiles, balls, etc.) other than virtual persons or living things. Therefore, it should be noted that virtual characters, objects, and the like used in this specification can be collectively referred to as virtual object words.

また,本明細書では,ボーンを有するスケルトンモデルを三次元オブジェクトの例として用いて説明行うが,本発明は,特定の三次元モデルに限定されるものではない。すなわち,ボーンを持たない三次元モデル,ボーン以外を用いた三次元モデルに,以下に説明する実施例を適用しても良い。   In this specification, a skeleton model having bones is used as an example of a three-dimensional object. However, the present invention is not limited to a specific three-dimensional model. In other words, the embodiments described below may be applied to a three-dimensional model having no bone and a three-dimensional model using other than a bone.

上述のようにしてキャラクタのポーズ又はモーションを作成する際に,物体との絡みが入ると,位置又は向きの調整作業が煩雑になることがある。例えば自転車に跨るポーズを作る際には,サドルと尻,ペダルと足,ハンドルと手の位置合わせが必要である。   When creating a pose or motion of a character as described above, the position or orientation adjustment work may become complicated if entanglement with the object occurs. For example, when making a pose on a bicycle, it is necessary to align the saddle and hips, pedals and feet, and handles and hands.

また,ある体型のキャラクタを使って作ったポーズやモーションを,異なる体型のキャラクタに適用すると,部位の位置関係に不整合を生じることがある。例えば,「左手で持った携帯電話のボタンを,右手の人差し指で押す」ポーズを,肩幅や腕の長さが異なるキャラクタに適用すると,そのままではボタンと指の位置が合わなくなることがある。   In addition, if a pose or motion created using a character of a certain body type is applied to a character of a different body type, the positional relationship of the parts may be inconsistent. For example, if the pose of “pressing the button of a mobile phone held with the left hand with the index finger of the right hand” is applied to a character having a different shoulder width or arm length, the position of the button may not match the position of the finger.

以下に示す実施例は,このような不都合にも対応できるものである。以下,実施例を説明する。   The following embodiment can cope with such inconvenience. Examples will be described below.

[モーション付き物体の作成]
まず,標準的な体型のキャラクタ(例えば,図3(b)のオリジナルキャラクタ320)を使って,正しいモーションを作る。ここで言う「正しい」とは,物体(例えば,図3(b)のペットボトル330)とキャラクタの部位(例えば,図3(b)のオリジナルキャラクタ320の口321)との位置関係が正しい(この例の場合には,ペットボトルの先端部331が口に接触している)という意味である。前記の携帯電話の例では,ボタンと人差し指の位置が合っていることを意味する(不図示)。また,ここで使用したキャラクタ320を,「オリジナルキャラクタ」(320)と呼ぶことにする。
[Create object with motion]
First, a correct motion is created using a standard body character (for example, the original character 320 in FIG. 3B). Here, “correct” means that the positional relationship between the object (for example, the plastic bottle 330 in FIG. 3B) and the character part (for example, the mouth 321 of the original character 320 in FIG. 3B) is correct ( In the case of this example, it means that the tip 331 of the plastic bottle is in contact with the mouth). In the example of the mobile phone, this means that the button and the index finger are aligned (not shown). The character 320 used here will be referred to as an “original character” (320).

そして,オリジナルキャラクタ320のモーションデータ(および補正)を適用するキャラクタを「カレントキャラクタ」(420b)と呼ぶ。   The character to which the motion data (and correction) of the original character 320 is applied is called a “current character” (420b).

オリジナルキャラクタ320に対して作成したモーションデータに,次の情報を付加する。
・キャラクタのどの部位を着目点にするか。
・キャラクタのどの部位を移動部位にするか。
The following information is added to the motion data created for the original character 320.
-Which part of the character should be the point of interest.
-Which part of the character should be the moving part.

着目点と移動部位は,後述のモーション補正の際に使われる。   The point of interest and the moving part are used for motion correction described later.

着目点とは,例えば,キャラクタに存在する点であり,物体(例えばペットボトル)との位置関係を正しくするべき点をいう。着目点は,モーションデータに関連付けておくことによって,モーションデータが用いられる際に適切な着目点が利用されるようにすることができる。着目点には,例えば,「左目」「口」等のキャラクタに存在する複数の着目点を特定するために,ユニークな名前が付与されていることが望ましい。また,複数のキャラクタに対して,着目点に関する統一的な命名法を定めておくことが望ましい。着目点に関し,統一的な命名がなされていれば,オリジナルキャラクタのモーションデータに関連付けられた着目点を,他のカレントキャラクタに適用する場合に,カレントキャラクタの着目点を容易に特定することができる。   The point of interest is, for example, a point that exists in the character and refers to a point that should have a correct positional relationship with an object (eg, a plastic bottle). By associating the point of interest with the motion data, an appropriate point of interest can be used when the motion data is used. For the point of interest, for example, a unique name is preferably assigned in order to identify a plurality of points of interest existing in the character such as “left eye” and “mouth”. In addition, it is desirable to establish a uniform nomenclature for points of interest for multiple characters. If the point of interest has a uniform name, when the point of interest associated with the motion data of the original character is applied to another current character, the point of interest of the current character can be easily identified. .

移動部位とは,例えば,カレントキャラクタ420bの部位であって,カレントキャラクタ420bのポーズを補正する際に動かす部位をいう。   The moving part is, for example, a part of the current character 420b that is moved when correcting the pose of the current character 420b.

オリジナルキャラクタに関して,物体(例えば,図3(b)のペットボトル330)の座標系における着目点(例えば,図3(b)のオリジナルキャラクタ320の口321)の位置を求める。これが「正しい位置関係」である。カレントキャラクタ420bに,モーションデータを適用した場合の,物体(例えば,図4(a)のペットボトル430b)の座標系における着目点(例えば,図4(a)のカレントキャラクタ420bの口421b)の位置を求める。これが「現在の位置関係」である。   With respect to the original character, the position of the point of interest (for example, the mouth 321 of the original character 320 in FIG. 3B) in the coordinate system of the object (for example, the plastic bottle 330 in FIG. 3B) is obtained. This is the “correct positional relationship”. When motion data is applied to the current character 420b, the point of interest (for example, the mouth 421b of the current character 420b in FIG. 4A) of the object (for example, the PET bottle 430b in FIG. 4A) in the coordinate system is displayed. Find the position. This is the “current positional relationship”.

そして,上記「正しい位置関係」と上記「現在の位置関係」との差異を求める。移動部位(図4(a)の右手422)を,この差異ベクトルだけ動かして,物体とカレントキャラクタの着目点との位置関係を正しい状態にする。     Then, the difference between the “correct positional relationship” and the “current positional relationship” is obtained. The moving part (the right hand 422 in FIG. 4A) is moved by this difference vector so that the positional relationship between the object and the point of interest of the current character is correct.

図5は,カレントキャラクタ520の補正されたポーズを示した図である。   FIG. 5 is a diagram illustrating a corrected pose of the current character 520.

移動部位である腕522を移動させることによって,カレントキャラクタ520の持つペットボトル530と,カレントキャラクタ520の口521との位置関係が正しい状態になり,その結果ペットボトル530の先端531が口521に接触した状態になる。以上の処理手順から分かるように,本補正手法における物体の扱いは,物体座標系における着目点の位置を使用するだけなので,物体の形状に関する情報を一切必要としない。腕522は,IK(inverse kinematics)によって,自然な形で腕522の各部位が移動する。なお、本発明は上記の処理手順に限定されるものではない。   By moving the arm 522 that is the moving part, the positional relationship between the PET bottle 530 of the current character 520 and the mouth 521 of the current character 520 becomes correct, and as a result, the tip 531 of the PET bottle 530 moves to the mouth 521. It comes into contact. As can be seen from the above processing procedure, the object handling in this correction method only uses the position of the point of interest in the object coordinate system, and therefore does not require any information regarding the shape of the object. Each part of the arm 522 moves in a natural manner by IK (inverse kinematics). The present invention is not limited to the above processing procedure.

図6(a)は,オリジナルキャラクタ620の着目点の例を示した図である。オリジナルキャラクタ620には,目の着目点621,622,鼻の着目点624,口の着目点625,耳の着目点623が,予め設定されている。   FIG. 6A is a diagram illustrating an example of a point of interest of the original character 620. In the original character 620, an eye focus point 621, 622, a nose focus point 624, a mouth focus point 625, and an ear focus point 623 are set in advance.

図6(b)は,カレントキャラクタ630の着目点の例を示した図である。カレントキャラクタ630には,目の着目点631,632,鼻の着目点634,口の着目点635,耳の着目点633が,予め設定されている。   FIG. 6B is a diagram illustrating an example of a point of interest of the current character 630. In the current character 630, eye attention points 631, 632, nose attention point 634, mouth attention point 635, and ear attention point 633 are set in advance.

図7(a)は,オリジナルキャラクタ720が,椅子750に腰掛けているポーズを示した図である。オリジナルキャラクタ720と椅子750に対して自然な見た目になるようポーズ付けされている。   FIG. 7A shows a pose in which the original character 720 is seated on the chair 750. The original character 720 and the chair 750 are posed so as to have a natural appearance.

図7(b)は,オリジナルキャラクタ721に設定された着目点731を示している。   FIG. 7B shows a point of interest 731 set for the original character 721.

図8(a)は,オリジナルキャラクタのポーズをカレントキャラクタ820aに適用した状態を示した図である。カレントキャラクタ820aの尻が,椅子850aから離れていて,不自然な状態となっていることが分かる。   FIG. 8A shows a state where the pose of the original character is applied to the current character 820a. It can be seen that the bottom of the current character 820a is away from the chair 850a and is in an unnatural state.

図8(b)は,着目点821bと椅子850bとの位置関係が正しくなるように,カレントキャラクタ820bのポーズに補正を施した例を示している。この場合には,移動部位は腰と胸である。腰と胸を移動させると,連動して腰から左右手首まで,腰から首を経てその先全て,腰から左右足首までも動く。この場合,左右手首から先,足首から先は動かさなくても良い。   FIG. 8B shows an example in which the pose of the current character 820b is corrected so that the positional relationship between the point of interest 821b and the chair 850b is correct. In this case, the moving parts are the waist and chest. When you move your hips and chest, you move from your hips to your left and right wrists, from your hips to your neck, all the way from your hips to your left and right ankles. In this case, it is not necessary to move from the left and right wrists and from the ankles.

前記の携帯電話の例では,右手の人差し指の先を着目点とし,右手を移動部位とする(不図示)。このようにして,補正用の情報を付加したモーションデータを,「補正情報付きモーション」と呼ぶことにする。   In the example of the mobile phone described above, the tip of the index finger of the right hand is the point of interest, and the right hand is the moving part (not shown). The motion data to which correction information is added in this way is referred to as “motion with correction information”.

1個の物体に対して,1個または複数個の補正情報付きモーションを付加したものを,「モーション付き物体」と呼ぶことにする。   An object with one or more motions with correction information added to one object is called an “object with motion”.

[モーション付き物体の使用]
ユーザは,例えば次の手順でモーション付き物体を使うことができる。
1) 使いたいキャラクタとモーション付き物体を選ぶ。
2) モーション付き物体が持っているモーションデータの中から,キャラクタに適用したいものを選ぶ。すると,そのキャラクタに合うように補正(後述)が掛かった状態で,そのキャラクタにモーションが適用される。
[Use of objects with motion]
For example, the user can use an object with motion in the following procedure.
1) Select the character you want to use and the object with motion.
2) From the motion data that the object with motion has, select the one that you want to apply to the character. Then, the motion is applied to the character with correction (described later) applied to the character.

[モーション補正処理の概要]
上述のように,キャラクタのモーションは,複数のポーズが時系列に並んだものとして扱うことができる。したがって,モーションの補正は,個々のポーズに対する補正として実行することができる。
[Overview of motion compensation processing]
As described above, the motion of the character can be handled as a plurality of poses arranged in time series. Therefore, motion correction can be performed as correction for individual poses.

すでに述べたように,モーションデータ(および補正)を適用する対象となるキャラクタを,「カレントキャラクタ」と呼ぶことにする。
1) オリジナルキャラクタにポーズデータを適用し,物体と着目点との位置関係を求める。
2) カレントキャラクタにポーズデータを適用し,物体と着目点との位置関係を求める。
3) 上記オリジナルキャラクタにおける位置関係1)と,カレントキャラクタにおける位置関係2)との差異を求め,これを「変位量」とする。
4) カレントキャラクタの移動部位を動かすべき量「移動量」を上記変位量から求める。移動部位を移動量だけ移動させことにより,上記変位量が0(又は最小)となるようにする。移動部位の移動にはIK(inverse kinematics)を使う。すなわち,カレントキャラクタの移動部位をIKによって移動させることによって,物体または着目点が移動し,上記変位量が0(又は最小)となる。なお,IKについては,当業者に周知の技術であるため,説明は省略する。
As already described, a character to which motion data (and correction) is applied is called a “current character”.
1) Apply the pose data to the original character to determine the positional relationship between the object and the point of interest.
2) Apply the pose data to the current character and find the positional relationship between the object and the point of interest.
3) Find the difference between the positional relationship 1) for the original character and the positional relationship 2) for the current character, and use this as the "displacement".
4) The amount “movement amount” that should move the moving part of the current character is obtained from the above displacement amount. By moving the moving part by the moving amount, the displacement amount is set to 0 (or minimum). IK (inverse kinematics) is used to move the moving part. That is, by moving the moving part of the current character by IK, the object or the point of interest moves, and the displacement amount becomes 0 (or minimum). Since IK is a technique well known to those skilled in the art, description thereof is omitted.

以上の処理によって,物体と着目点との位置関係が正しい状態(または,正しい状態に近い状態)になる。   With the above processing, the positional relationship between the object and the point of interest becomes correct (or close to the correct state).

以上の手法には,以下のような利点がある。
1. ポーズやモーションの作成
モーション(ポーズ)を一から作る代わりに,モーション付き物体が持っているモーション(ポーズ)を適用することで,欲しいモーション(ポーズ)が簡単に得られ,繁雑な位置合わせが不要になる(または,位置あわせを無視できる程度のモーション(ポーズ)が得られる)。
2. ポーズやモーションの適用
モーション(ポーズ)を,元のキャラクタとは異なる体型のキャラクタに適用しても,部位の位置関係に不整合を生じない(または,無視できる程度の不整合に留めることが容易にできる)。
3. モーションのディテール
本補正手法の特徴として,着目点と物体との位置を合わせるのではなく,両者の位置関係を同じ(又は,非常に近い)状態にするという点が挙げられる。この特徴により,オリジナルキャラクタのモーションのディテール(物体と着目点との間の微妙な位置変化)が,モーションの補正後も再現される(または,再現されやすい)。
The above method has the following advantages.
1. Creating poses and motions Instead of creating motions (poses) from scratch, you can easily obtain the desired motions (poses) by applying the motions (poses) that objects with motion have, and complicated positioning Is no longer necessary (or a motion (pause) that can ignore positioning is obtained).
2. Applying poses and motions Even if motion (pose) is applied to a character with a body type different from that of the original character, the positional relationship of the parts will not be inconsistent (or inconsistent enough to be ignored). Can be easily).
3. Detail of motion The feature of this correction method is that the position of the target point and the object are not aligned but the positional relationship between them is the same (or very close). Due to this feature, the details of the motion of the original character (subtle changes in position between the object and the point of interest) are reproduced (or easily reproduced) even after the motion is corrected.

[部位移動に使うIK(inverse kinematics)]
部位の移動にはIK(inverse kinematics)を使うことができるが,IKの種類には「フルボディIK」と「部分IK」がある。フルボディIKでは,1か所を動かすと全身の部位が追随して動く。これに対して,部分IKでは限定された部位のみが動く。例えば,肩から手首までの部分IKの場合,右手を動かしたときに右肩から先のみが動く。フルボディIKでも,固定点を適切に設定することで,部分IKと同等の挙動をさせることができる。例えば,右肩の位置を固定すれば,右手を動かしたときに追随して動くのは右肩から先のみとなり,前述の部分IKの例と同等になる。
[IK (inverse kinematics) used for moving parts]
IK (inverse kinematics) can be used to move parts, but there are “full body IK” and “partial IK” types of IK. In full-body IK, moving one location moves the whole body part. On the other hand, only a limited part moves in the partial IK. For example, in the case of the part IK from the shoulder to the wrist, only the tip from the right shoulder moves when the right hand is moved. Even with full body IK, by setting fixed points appropriately, the same behavior as partial IK can be achieved. For example, if the position of the right shoulder is fixed, only the tip of the right shoulder moves following the movement of the right hand, which is equivalent to the above-described example of the part IK.

複数のモーション補正情報を使って順に補正を行なう場合,先のモーション補正情報で着目点とした部位,又は物体がアタッチされた部位が,後のモーション補正情報による補正で動くことのないように,IKによる追随範囲を適切に設定する必要がある。   When performing corrections using multiple motion correction information in order, the part that is the point of interest in the previous motion correction information or the part to which the object is attached will not move due to the correction by the subsequent motion correction information. It is necessary to set the tracking range by IK appropriately.

[物体をキャラクタにアタッチする場合]
物体をキャラクタにアタッチさせる場合と,アタッチさせない場合とがある。アタッチされた物体は,キャラクタが移動したりポーズを変えたりしても,アタッチ先の部位と一体となって動く。アタッチの有無の例については,後述の「モーション補正の例」において更に詳述する。
[When attaching an object to a character]
There are cases where an object is attached to a character and cases where an object is not attached. The attached object moves together with the part to which it is attached, even if the character moves or changes its pose. An example of the presence / absence of attachment will be described in further detail in “Example of motion correction” described later.

[補正方向の正逆]
移動部位を動かすべき方向は,着目点が存在する部位,又は物体がアタッチされた部位との位置関係によって,正反対の方向となる。着目点が存在する部位が移動部位の移動に追随する場合に,移動部位を動かすべき方向を,「正」方向と定義する。これに対して,物体がアタッチされた部位が移動部位の移動に追随する場合は,移動部位を動かすべき方向が反対になり,この方向を「逆」方向と定義する。移動方向の正逆の例を以下に示す。
・正方向:既に述べた「携帯電話」がこれに該当する。
・逆方向:既に述べた「ペットボトル」がこれに該当する。
[Direction of correction direction]
The direction in which the moving part should be moved is the opposite direction depending on the positional relationship with the part where the target point exists or the part to which the object is attached. The direction in which the moving part should be moved when the part where the point of interest exists follows the movement of the moving part is defined as the “positive” direction. On the other hand, when the part to which the object is attached follows the movement of the moving part, the direction in which the moving part should be moved is opposite, and this direction is defined as the “reverse” direction. Examples of forward and reverse movement directions are shown below.
-Positive direction: The above-mentioned “mobile phone” corresponds to this.
・ Reverse direction: “Pet bottle” already mentioned corresponds to this.

[補正量のウェイト付け]
1つのモーション補正情報の中で複数の移動部位を指定し,着目点が追随する移動部位と,物体アタッチ先部位が追随する移動部位の両方を使うこともできる(後述の例「刀」を参照)。前者の移動部位は正方向に移動させる。後者の移動部位は逆方向に移動させる。なお,両者を移動させた結果が正しい(物体と着目点との位置関係が正しい)状態になるためには,それぞれの移動量に係数を掛けて移動量を小さくすることが必要になる。この係数を「ウェイト値」と呼ぶことにする。ウェイト値の和が1になるように設定することで,正しい補正結果が得られる。
[Weighting correction amount]
Multiple moving parts can be specified in one motion correction information, and both the moving part that the point of interest follows and the moving part that the object attachment target part follows can be used (see the example "sword" below) ). The former moving part is moved in the positive direction. The latter moving part is moved in the reverse direction. In order to obtain a correct result (the positional relationship between the object and the point of interest is correct), it is necessary to reduce the amount of movement by multiplying each amount of movement by a coefficient. This coefficient will be referred to as a “weight value”. By setting the sum of the weight values to be 1, a correct correction result can be obtained.

[移動補助部位]
移動部位のみではポーズを補正しきれない場合がある。後述の例「自転車」では,カレントキャラクタの腕が短いと,手を移動部位としてポーズを補正しても,手がハンドルに届かない場合がある。このような場合に,さらに移動補助部位として胸等の移動を併用し,手がハンドルに届くように補正することが望ましい。
[Movement assist part]
There are cases where the pose cannot be corrected with only the moving part. In an example “bicycle” described later, if the arm of the current character is short, the hand may not reach the handle even if the pose is corrected with the hand as the moving part. In such a case, it is desirable to further correct movement so that the hand can reach the handle by using movement of the chest or the like as a movement assisting part.

[着目点の合成]
着目点の位置は,予めキャラクタに設定されていることが望ましい。適切な位置に着目点がない場合もある。この場合には,既存の複数の着目点の位置を合成して代用することができる。これを「合成着目点」と呼ぶことにする。合成の方法は,着目点の座標値の平均をとってもよい。
[Composition of point of interest]
The position of the point of interest is preferably set in advance for the character. There may be no point of interest at the appropriate location. In this case, the positions of a plurality of existing points of interest can be combined and substituted. This is referred to as a “composite point of interest”. The synthesis method may take the average of the coordinate values of the point of interest.

[着目点座標の事前計算と保存]
補正処理「モーション補正処理の概要」の1)で,オリジナルキャラクタにポーズを適用し,物体と着目点との位置関係を求めているが,これを以下の処理に置き換えることができる。
a) 前もって,モーションの全フレームについて,オリジナルキャラクタにポーズを適用したときの,物体の座標系における着目点の位置を求め,これをデータとして保存しておく。
b) 補正処理実行時に,保存しておいたデータから,該当するフレームの,物体の座標系における着目点の位置を読み出して使う。
[Pre-calculation and storage of point of interest coordinates]
In 1) of the correction process “Overview of motion correction process”, a pose is applied to the original character to determine the positional relationship between the object and the point of interest. This can be replaced with the following process.
a) In advance, the position of the point of interest in the object coordinate system when the pose is applied to the original character for all frames of the motion is obtained and stored as data.
b) When executing the correction process, the position of the point of interest in the object coordinate system of the corresponding frame is read from the stored data and used.

以上の処理で,補正処理の実行時に,オリジナルキャラクタにポーズを適用する処理が不要になるため,処理負荷を軽減できる。   With the above processing, the processing load can be reduced because the processing for applying the pose to the original character becomes unnecessary when the correction processing is executed.

[物体の非表示]
大きさ0の物体を使うことができる。あるいは物体を表示しないこともできる。物体に対して,このような取り扱いをすることによって,物体を使わないモーションにも本手法の補正を適用することができる。例えば,合掌ポーズで両手の位置がずれるのを補正できる。
[Hide object]
You can use objects of size 0. Alternatively, no object can be displayed. By using this method for objects, the correction of this method can be applied to motions that do not use objects. For example, it is possible to correct the misalignment of both hands due to the palm pose.

[時間による補正率の変化]
タイムライン(時間軸)上で,モーション毎(フレーム毎)に補正率(補正の程度)を変化させてもよい。
[Change in correction factor over time]
On the timeline (time axis), the correction rate (degree of correction) may be changed for each motion (for each frame).

タイムライン上で,補正を必要としないモーションの後に補正を必要とするモーションが続く場合に,急に補正が掛かり,モーションが不連続になることがある。そこで,補正が必要なモーションについては,補正率の値を0から徐々に上げることで,補正が無いモーションから補正があるモーションに移る場合に,モーションが不連続になるのを避けることができる。   On the timeline, when a motion that does not require correction is followed by a motion that requires correction, the correction is suddenly applied and the motion may become discontinuous. Therefore, for motions that require correction, by gradually increasing the value of the correction rate from 0, it is possible to avoid motion discontinuity when moving from a motion without correction to a motion with correction.

[位置による補正率の変化]
物体と着目点との距離に応じて補正率を変えてもよい。
[Change in correction factor depending on position]
The correction factor may be changed according to the distance between the object and the point of interest.

一般的な傾向として,物体が着目点から離れている場合には補正を必要としないことが多い。そこで,物体と着目点との距離が所定の値以上の場合には,距離が大きくなるにつれて補正率を下げてもよい。これにより,キャラクタのモーションがより自然なものになる場合がある。   As a general tendency, correction is often unnecessary when the object is far from the point of interest. Therefore, when the distance between the object and the point of interest is greater than or equal to a predetermined value, the correction factor may be lowered as the distance increases. This may make the character motion more natural.

図9は,一実施例の処理手順の概要を示したフローチャートである。   FIG. 9 is a flowchart showing an outline of the processing procedure of one embodiment.

ステップS910で,キャラクタのモーションをオリジナルキャラクタとカレントキャラクタに適用する。   In step S910, the motion of the character is applied to the original character and the current character.

以下の処理は,キャラクタのポーズ毎(フレーム毎)に処理される。   The following processing is performed for each character pose (for each frame).

ステップS920で,全てのカレントキャラクタのポーズについて処理したかが,チェックされる。全てのポーズ(フレーム)が処理されれば終了する(「はい」)。処理すべきポーズ(フレーム)が存在すれば(「いいえ」),処理はステップS925に移る。   In step S920, it is checked whether all current character poses have been processed. If all poses (frames) have been processed, the process ends ("Yes"). If there is a pose (frame) to be processed (“No”), the process proceeds to step S925.

ステップS925で,オリジナルキャラクタとカレントキャラクタのポーズを1つずつ順次取り出す。   In step S925, the original character and current character poses are sequentially extracted one by one.

ステップS930で,オリジナルキャラクタの着目点と物体との位置関係が,カレントキャラクタの着目点と物体との位置関係に適合しているかがチェックされる。適合しているとは,,オリジナルキャラクタの物体の座標系においてオリジナルキャラクタの着目点が所与の座標に位置しているのであれば,カレントキャラクタの物体の座標系においてカレントキャラクタの着目点が同じ座標に位置しているか,その座標に近いところに位置していることを意味する。この判断が「はい」であれば,ステップS920に戻る。この判断が「いいえ」であれば,ステップS940に移る。   In step S930, it is checked whether the positional relationship between the target point of the original character and the object matches the positional relationship between the target point of the current character and the object. If the original character's target point is located at a given coordinate in the original character's object coordinate system, the current character's target point is the same in the current character's object coordinate system. It means that it is located at or near the coordinates. If this determination is “yes”, the process returns to step S920. If this determination is “NO”, the process proceeds to step S940.

ステップS940で,カレントキャラクタの着目点と物体との位置関係を,オリジナルキャラクタの着目点と物体との位置関係に適合させるために,カレントキャラクタの移動部位を移動させて,カレントキャラクタの補正されたポーズデータを得る。なお,移動補助部位が指定されている場合には,移動補助部位を移動させる必要があれば移動させ,カレントキャラクタの修正されたポーズデータを得てもよい。そして処理は,ステップS920に戻る。   In step S940, in order to adapt the positional relationship between the point of interest of the current character and the object to the positional relationship between the point of interest of the original character and the object, the moving part of the current character is moved to correct the current character. Get pause data. When the movement assisting part is designated, the movement assisting part may be moved if necessary to obtain the corrected pose data of the current character. Then, the process returns to step S920.

ステップS950で,カレントキャラクタの,全ての補正されたポーズデータから,カレントキャラクタのモーションデータを生成する。   In step S950, motion data of the current character is generated from all corrected pose data of the current character.

以上で,補正されたカレントキャラクタのモーションデータが得られ,このモーションデータを利用して,カレントキャラクタと物体とを動かすことができる。   Thus, the corrected motion data of the current character is obtained, and the current character and the object can be moved using this motion data.

[モーション補正の例]
モーション補正の例を以下に説明する。表の1つの行が「モーション補正情報」1個に相当する。各モーション補正情報は,上の行から順に適用される。なお,下記のモーション補正の例は,表1のような部分IKを使うことを想定している。
[Example of motion compensation]
An example of motion correction will be described below. One row in the table corresponds to one piece of “motion correction information”. Each motion correction information is applied in order from the top row. In the following motion correction example, it is assumed that a partial IK as shown in Table 1 is used.

[物体として携帯電話を用いる例]
例えば,左手で持った携帯電話のボタンを,右手の人差し指で押す例を以下に示す。携帯電話は,左手にアタッチされているとする。
[Example of using a mobile phone as an object]
For example, the following shows an example of pressing a cellular phone button held with the left hand with the index finger of the right hand. Assume that the mobile phone is attached to the left hand.

ボタンと指先の位置関係が正しくなるようにカレントキャラクタのモーションを補正する。 The motion of the current character is corrected so that the positional relationship between the button and the fingertip is correct.

[物体としてペットボトルを用いる例(飲料を飲む)]
上述したように,右手に持ったボトルを口に運び飲み物を飲む例を以下に示す。ペットボトルは右手にアタッチされているとする。
[Example using a plastic bottle as an object (drinking beverage)]
As described above, an example is shown below in which a bottle held in the right hand is carried into the mouth and a drink is taken. Assume that a plastic bottle is attached to the right hand.

ペットボトルと口の位置関係が正しくなるように補正する。 Correct so that the positional relationship between the PET bottle and the mouth is correct.

[物体として刀を用いる例]
刀を正面に構え,上段に振りかぶり,振り降ろす例を以下に示す。刀は左手にアタッチされているとする。
[Example using a sword as an object]
An example of holding a sword in front, swinging it up, and swinging it down is shown below. Assume that the sword is attached to the left hand.

刀と右手の位置関係が正しくなるように補正する。刀がなるべく正面に来るようにするために,両手を移動部位にして半分ずつ補正することが望ましい。 Correct so that the positional relationship between the sword and the right hand is correct. In order to make the sword as close to the front as possible, it is desirable to make corrections by half with both hands as moving parts.

[物体としてトロンボーンを用いる例]
トロンボーンの演奏を行う場合を想定する。右腕の曲げ伸ばし,頭や上体を動かす等を行っても良い。この場合には,物体自体がモーション(トロンボーン可動部の伸び縮み)を持っても良い。トロンボーンは左手にアタッチされているとする。
[Example using trombone as an object]
Assume that the trombone is played. You may bend and stretch the right arm and move the head and upper body. In this case, the object itself may have a motion (stretching and shrinking of the trombone moving part). Assume that the trombone is attached to the left hand.

トロンボーンと口の位置関係,及びトロンボーンと右手の位置関係が正しくなるように補正する。このモーション補正では,補正の順序が重要である。「逆」の移動部位を先に移動させ,次に「正」の移動部位を移動させる順序で補正する必要がある。この補正順序を逆にすると,まず右手の位置をトロンボーンに合わせ,その後トロンボーンの位置を口に合わせるので,結果はトロンボーンと右手の位置がずれてしまう。このようにならないよう,補正の順序を適正に行うことが必要である。なお、本発明の補正順序は、この順序に限定されるものではない。 Correct so that the positional relationship between the trombone and the mouth and the positional relationship between the trombone and the right hand are correct. In this motion correction, the order of correction is important. It is necessary to correct in the order of moving the "reverse" moving part first and then moving the "forward" moving part. If this correction order is reversed, the right hand position is first aligned with the trombone, and then the trombone position is aligned with the mouth. As a result, the trombone and right hand positions are shifted. In order to prevent this from happening, it is necessary to perform the correction sequence appropriately. Note that the correction order of the present invention is not limited to this order.

[物体として自転車を用いる例]
自転車を漕ぐ。物体が動き(ペダルの回転,車輪の回転等)を持っても良い。自転車の全体の移動が伴う。
[Example using a bicycle as an object]
Row a bicycle. The object may have movement (pedal rotation, wheel rotation, etc.). This involves the entire movement of the bicycle.

自転車と各着目点との位置関係が正しくなるように補正する。右手を移動部位として右手位置を前方に補正しても,右手がハンドルに届かない場合には,さらに胸を(上体を前方に)動かしてもよい。左手についても同様である。 Correction is performed so that the positional relationship between the bicycle and each point of interest is correct. If the right hand is corrected forward with the right hand as the moving part, but the right hand does not reach the handle, the chest may be moved further (upper body forward). The same applies to the left hand.

[物体として椅子(大柄キャラクタ)を用いる例]
立った状態から椅子に座るまでのモーションを生成する場合以下に示す。座ったとき足が床に着くことがを想定している。
[Example using chair (large character) as an object]
The following shows how to create a motion from standing to sitting on a chair. It is assumed that the feet will reach the floor when sitting.

[物体として椅子(小柄キャラクタ)を用いる例]
立った状態から椅子に座るまでモーションを生成する場合を以下に示す。座ったとき足が床から浮くことを想定している。
[Example of using a chair (small character) as an object]
A case where motion is generated from a standing state to sitting on a chair is shown below. Assume that your feet float off the floor when you sit down.

前半:右腿を椅子に乗せる。   First half: Put the right thigh on the chair.

後半:全身を移動させる。 Second half: Move the whole body.

[物体としてドアを用いる例]
右手でドアノブを握り,ドアを開けて部屋に入る動作を示す。物体がモーション(ドアノブの回転,ドアの開閉等)を持っている。
[Example of using a door as an object]
Shows the action of holding the door knob with the right hand and opening the door to enter the room. The object has motion (door knob rotation, door opening / closing, etc.).

ドア(ドア枠)と右手との位置関係が正しくなるように補正する。その結果,ドアノブと右手の位置が合う。 Correct so that the positional relationship between the door (door frame) and the right hand is correct. As a result, the position of the doorknob and the right hand match.

以下に本明細書において用いた用語の定義を示す。   The terms used in this specification are defined below.

本明細書において用いる記号を以下のように定義する。
BOpoi:オリジナルキャラクタの,着目点が乗るボーン。
BCpoi:カレントキャラクタの,着目点が乗るボーン。
M'bp:ワールド座標系におけるボーンBOpoiの位置・向きを表すマトリクス(4×4行列)。
Mbp:ワールド座標系におけるボーンBCpoiの位置・向きを表すマトリクス(4×4行列)。
U'poi:ボーンBOpoiの座標系における着目点の位置を表すベクトル(3次元ベクトル)。
Upoi:ボーンBCpoiの座標系における着目点の位置を表すベクトル(3次元ベクトル)。
V'poi:ワールド座標系におけるオリジナルキャラクタの着目点の位置を表すベクトル(3次元ベクトル)。
Vpoi:ワールド座標系におけるカレントキャラクタの着目点の位置を表すベクトル(3次元ベクトル)。
BOobj:オリジナルキャラクタの,物体のアタッチ先ボーン。
BCobj:カレントキャラクタの,物体のアタッチ先ボーン。
M'bo:ワールド座標系におけるボーンBOobjの位置・向きを表すマトリクス(4×4行列)。
Mbo:ワールド座標系におけるボーンBCobjの位置・向きを表すマトリクス(4×4行列)。
L'obj:ボーンBOobjの座標系における物体の位置・向きを表すマトリクス(4×4行列)。
Lobj:ボーンBCobjの座標系における物体の位置・向きを表すマトリクス(4×4行列)。
M'obj:ワールド座標系におけるオリジナルキャラクタの物体の位置・向きを表すマトリクス(4×4行列)。
Mobj:ワールド座標系におけるカレントキャラクタの物体の位置・向きを表すマトリクス(4×4行列)。
V'poi_obj:物体座標系におけるオリジナルキャラクタの着目点の位置を表すベクトル(3次元ベクトル)。
Kr:補正率。補正を掛ける程度を表し0以上1以下の値を持つ。0が補正なし,1が完全補正を意味する。
Ks:補正の正逆係数。補正方向の正逆を表し,1または-1の値を持つ。正方向であれば-1,逆方向であれば1。
Kw:補正のウェイト値。物体アタッチ先部位と着目点部位の両方を移動させる場合に,両者の移動量の割合を調整する値。
Mhf:ワールド座標系における手(又は足)ノードの向きを表すマトリクス(3×3行列)。
Symbols used in this specification are defined as follows.
BO poi : The bone of the original character's point of interest.
BC poi : The bone where the point of interest rides on the current character.
M ' bp : Matrix (4x4 matrix) representing the position and orientation of bone BO poi in the world coordinate system.
M bp : A matrix (4 × 4 matrix) representing the position and orientation of bone BC poi in the world coordinate system.
U ' poi : A vector (three-dimensional vector) representing the position of the point of interest in the coordinate system of bone BO poi .
U poi : A vector (three-dimensional vector) representing the position of the point of interest in the coordinate system of bone BC poi .
V ' poi : A vector (three-dimensional vector) representing the position of the point of interest of the original character in the world coordinate system.
V poi : A vector (three-dimensional vector) representing the position of the point of interest of the current character in the world coordinate system.
BO obj : The original character's bone to which the object is attached.
BC obj : The bone to which the current character's object is attached.
M ' bo : Matrix (4x4 matrix) representing the position and orientation of bone BO obj in the world coordinate system.
M bo : Matrix (4 × 4 matrix) representing the position and orientation of bone BC obj in the world coordinate system.
L ' obj : Bone BO Matrix representing the position and orientation of the object in the coordinate system of obj (4x4 matrix).
L obj : A matrix (4 × 4 matrix) representing the position and orientation of the object in the coordinate system of bone BC obj .
M ' obj : A matrix (4x4 matrix) representing the position and orientation of the original character object in the world coordinate system.
M obj : A matrix (4x4 matrix) that represents the position and orientation of the object of the current character in the world coordinate system.
V'poi_obj : A vector (three-dimensional vector) representing the position of the point of interest of the original character in the object coordinate system.
K r : Correction rate. Expresses the degree of correction and has a value between 0 and 1. 0 means no correction and 1 means complete correction.
K s : Correction normal / reverse coefficient. Represents the correct or reverse of the correction direction and has a value of 1 or -1. -1 for forward direction, 1 for reverse direction.
K w : Correction weight value. A value that adjusts the ratio of the amount of movement when moving both the object attachment destination part and the point of interest part.
M hf : Matrix (3 × 3 matrix) representing the orientation of the hand (or foot) node in the world coordinate system.

[補正処理]
図10は,カレントキャラクタのポーズの補正に関する詳細なフローチャートを示している。
オリジナルキャラクタにポーズを適用する。これによりM'bpとM'boが決まる。
U'poiは,キャラクタ毎に決まった値を持っているので,その値を使う。
L'objは,オリジナルキャラクタを使ってモーションを作った際の値を使う。
[Correction process]
FIG. 10 shows a detailed flowchart regarding correction of the pose of the current character.
Apply a pose to the original character. This determines M ' bp and M' bo .
U ' poi has a fixed value for each character, so use that value.
L ' obj uses the value when motion was created using the original character.

ステップS1010で,オリジナルキャラクタの物体の位置・向きを求める:
M'objを次式で求める。
M'obj=L'objM'bo (1)
ステップS1022で,オリジナルキャラクタの着目点の位置を求める:
V'poiを次式で求める。
V'poi=U'poiM'bp (2)
ステップS1024で,カレントキャラクタの着目点の位置を求める:
カレントキャラクタにポーズを適用する。これによりMbpとMboが決まる。
Upoiは,キャラクタ毎に決まった値を持っているので,その値を使う。
Lobjは,カレントキャラクタに対する物体のアタッチ状態を使う。
Vpoiを次式で求める。
Vpoi=UpoiMbp (3)
ステップS1026で,カレントキャラクタの物体の位置・向きを求める:
Mobjを次式で求める。
Mobj=LobjMbo (4)
ステップS1030で,物体座標系における,着目点のあるべき位置Ptを求める。
Pt=KrV'poiM'obj -1+(1-Kr)VpoiMobj -1 (5)
ステップs1040で,ワールド座標系における,着目点のあるべき位置からのずれVdを求める。
Vd=Vpoi-PtMobj (6)
ステップS1050で,移動部位が手又は足であるかを判断する。「はい」であればステップS1052に進む。「いいえ」であれば,ステップS1054に進む。
In step S1010, the position and orientation of the original character object are determined:
M ' obj is obtained by the following equation.
M ' obj = L' obj M ' bo (1)
In step S1022, the position of the point of interest of the original character is determined:
V'poi is obtained by the following equation.
V ' poi = U' poi M ' bp (2)
In step S1024, the position of the point of interest of the current character is determined:
Apply a pose to the current character. This determines M bp and M bo .
U poi has a fixed value for each character, so use that value.
L obj uses the attached state of the object for the current character.
V poi is calculated by the following equation.
V poi = U poi M bp (3)
In step S1026, the position / orientation of the object of the current character is obtained:
M obj is obtained by the following equation.
M obj = L obj M bo (4)
In step S1030, a position P t where the target point should be in the object coordinate system is obtained.
P t = K r V ' poi M' obj -1 + (1-K r ) V poi M obj -1 (5)
In step S1040, in the world coordinate system, determine the deviation V d from the position to a target point.
V d = V poi -P t M obj (6)
In step S1050, it is determined whether the moving part is a hand or a foot. If “yes”, the process proceeds to step S1052. If “no”, the process proceeds to step S1054.

ステップS1052で,ワールド座標系における手(又は足)ノードの向きを取得し,Mhfとする。 In step S1052, the orientation of the hand (or foot) node in the world coordinate system is acquired and set as M hf .

すなわち,移動前の手(または足)の向き(ワールド座標系)をMhfとして保存しておく。 That is, the direction (world coordinate system) of the hand (or foot) before movement is stored as M hf .

ステップS1054で,次式により,移動部位の移動量Vmを求める。
Vm=KsKwVd (7)
正逆係数Ksを決めるのに必要な移動方向の正逆の判定方法は,図11を用いて後述する。
In step S 1054, by the following equation, obtains the movement amount V m of the mobile site.
V m = K s K w V d (7)
A method for determining whether the moving direction is normal or reverse required to determine the normal / reverse coefficient K s will be described later with reference to FIG.

ステップS1056で,移動部位をVmだけ移動させる。 In step S1056, the moving part is moved by V m .

ステップS1057で,移動部位が手又は足であるかを判断する。「はい」であればステップS1058に進む。「いいえ」であれば,ステップS1060に進む。   In step S1057, it is determined whether the moving part is a hand or a foot. If yes, go to step S1058. If “no”, the process proceeds to step S1060.

ステップS1058で,手(又は足)ノードの向きを元の向きMhfに戻す。 In step S1058, the orientation of the hand (or foot) node is returned to the original orientation M hf .

図12は,手の向きを保存する処理(ステップS1052),および移動処理後に手の向きを戻す処理(ステップS1058)を示している。図12(a)は,手1200のノード1210を動かす前の状態を示している。図12(b)は,IKを用いて手1201を動かした状態を示している。手1201の向きが,手1200とは異なった向きになっているのが分かる。図12(c)は,保存しておいたMhfを読み出し,手1200と同じ向きに,手1202の方向を戻した状態を示している。このように,IKを使って手(または足)を移動量1220だけ動かすと,移動させた手(または足)の向き(ワールド座標系)が変化する。手(または足)に着目点が設定されている場合,手の向きが変化すると,着目点の移動量が移動部位(手または足)の移動量とは異なる量になり,正しく補正ができない。また,手(または足)に物体がアタッチされている場合も同様で,物体の移動量が移動部位(手または足)の移動量と異なる量になり,正しく補正ができない。そこで,移動後に,手(または足)の向きをに戻すことで,正しく補正がなされるようにする。 FIG. 12 shows processing for storing the hand orientation (step S1052) and processing for returning the hand orientation after the movement processing (step S1058). FIG. 12A shows a state before the node 1210 of the hand 1200 is moved. FIG. 12B shows a state where the hand 1201 is moved using IK. It can be seen that the orientation of the hand 1201 is different from the orientation of the hand 1200. FIG. 12C shows a state in which the stored M hf is read and the direction of the hand 1202 is returned to the same direction as the hand 1200. As described above, when the hand (or foot) is moved by the movement amount 1220 using IK, the direction (world coordinate system) of the moved hand (or foot) is changed. If the point of interest is set on the hand (or foot) and the direction of the hand changes, the amount of movement of the point of interest will be different from the amount of movement of the moving part (hand or foot), and correct correction cannot be performed. Similarly, when an object is attached to the hand (or foot), the amount of movement of the object is different from the amount of movement of the moving part (hand or foot), and correction cannot be performed correctly. Therefore, correct the correction by returning the direction of the hand (or foot) after moving.

なお,本実施例の場合,手又は足に対して,Mhfを用いた上述の処理を施したが,他の部位に対して,この処理を施すように設定しても良い。この処理を施すか否かは,移動に使用するIKの挙動に基づいて,予め決定しておくことができる。
ステップS1060で,移動補助部位があるかを判断する。「はい」であれば,S1070に進む。「いいえ」であれば,終了する。
In the present embodiment, the above-described processing using M hf is performed on the hand or the foot, but it may be set so that this processing is performed on other parts. Whether or not to perform this processing can be determined in advance based on the behavior of the IK used for movement.
In step S1060, it is determined whether there is a movement assisting part. If “yes”, the process proceeds to S1070. If no, exit.

ステップS1070で,カウンタをリセットするために,counter=0とする。   In step S1070, counter = 0 is set to reset the counter.

ステップS1082で,カレントキャラクタの着目点の位置を求める:
カレントキャラクタにポーズを適用する。これによりMbpとMboが決まる。
Upoiは,キャラクタ毎に決まった値を持っているので,その値を使う。
Lobjは,カレントキャラクタに対する物体のアタッチ状態を使う。
Vpoiを次式で求める。
Vpoi=UpoiMbp
ステップS1084で,カレントキャラクタの物体の位置・向きを求める:
Mobjを次式で求める。
Mobj=LobjMbo
ステップS1086で,ワールド座標系における,着目点のあるべき位置からのずれVdを求める。
Vd=Vpoi-PtMobj
ステップS1088で,Vdがeps以下か又はcounterの値がN以上かを判断する。epsは位置合わせの許容値で,予め決められた値である。epsの値としては,キャラクタの身長の1/2000程度としてもよい。Nは移動補助部位の最大移動回数で,予め決められた値である。Nの値としては,3程度としてもよい。
In step S1082, the position of the point of interest of the current character is determined:
Apply a pose to the current character. This determines M bp and M bo .
U poi has a fixed value for each character, so use that value.
L obj uses the attached state of the object for the current character.
V poi is calculated by the following equation.
V poi = U poi M bp
In step S1084, the position / orientation of the object of the current character is obtained:
M obj is obtained by the following equation.
M obj = L obj M bo
In step S1086, in the world coordinate system, determine the deviation V d from the position to a target point.
V d = V poi -P t M obj
In step S1088, it is determined whether V d is equal to or less than eps or the value of counter is equal to or greater than N. eps is an allowable value for alignment and is a predetermined value. The value of eps may be about 1/2000 of the character's height. N is the maximum number of movements of the movement assisting part and is a predetermined value. The value of N may be about 3.

ステップS1088で「はい」であれば終了する。「いいえ」であれば,ステップS1090に進む。   If “Yes” in the step S1088, the process ends. If “no”, the process proceeds to step S1090.

ステップS1090で,ワールド座標系における移動量Vmを次式で求める。
Vm=KsVd
正逆係数Ksを決めるのに必要な移動方向の正逆の判定方法は,図11を用いて後述する。
In step S1090, the movement amount V m in the world coordinate system is obtained by the following equation.
V m = K s V d
A method for determining whether the moving direction is normal or reverse required to determine the normal / reverse coefficient K s will be described later with reference to FIG.

ステップS1092で,移動部位をVmだけ移動させる。 In step S1092, the moving part is moved by V m .

ステップS1094でcounterを1増やし,ステップS1082及びステップS1084に戻る。
(物体をアタッチしない場合の処理)
なお,物体をアタッチしない場合(物体が椅子の場合など)には,上記「補正処理」に対して,以下の変更を加える。
In step S1094, counter is incremented by 1, and the process returns to step S1082 and step S1084.
(Process when object is not attached)
When the object is not attached (when the object is a chair, etc.), the following changes are added to the “correction process”.

物体のアタッチ先ボーンであるBOobj,BCobjは存在しない。そのため,これらのボーンの位置・向きを表すマトリクスM'bo,Mbo,L'obj,Lobjも存在しない。 BO obj and BC obj which are bones to which the object is attached do not exist. Therefore, there is no matrix M ′ bo , M bo , L ′ obj , or L obj that represents the position / orientation of these bones.

モーション毎に所定のM'objの値を付与しておく。例えば椅子に座るモーションに椅子の位置・向きを付与する。式(1)でM'objを求める代わりに,この値を使う。 A predetermined value of M ′ obj is assigned for each motion. For example, the position / orientation of the chair is given to the motion of sitting on the chair. Use this value instead of finding M ' obj in Equation (1).

Mobjの値は,カレントキャラクタにモーションを適用する際の,物体の位置・向きを使う。式(4)でMobjを求める代わりに,この値を使う。
(事前計算の利用)
式(5)の中のV'poiM'obj -1については,カレントキャラクタについての情報を含まないので,事前に計算することができる。
V'poi_obj=V'poiM'obj -1 (8)
V'poi_objは,物体座標系におけるオリジナルキャラクタの着目点の位置を意味する。V'poi_objをモーションの全フレームについて事前計算して保存しておく。モーション補正実行時には,保存しておいたV'poi_objを使う。
The value of M obj uses the position and orientation of the object when applying motion to the current character. Use this value instead of finding M obj in Equation (4).
(Use of pre-calculation)
V ' poi M' obj -1 in equation (5) does not include information about the current character, so it can be calculated in advance.
V ' poi_obj = V' poi M ' obj -1 (8)
V'poi_obj means the position of the point of interest of the original character in the object coordinate system. V'poi_obj is pre-calculated and saved for all frames of motion. Use the saved V'poi_obj when executing motion compensation.

これにより,補正実行時には,以下の処理および情報が不要になる。
・オリジナルキャラクタに対するポーズ適用。
・式(1),(2)の計算。
・U'poi,L'objの値。
以上が,ポーズの補正フローの詳細である。
As a result, the following processing and information are not required during correction execution.
・ Pose application for original characters.
-Calculation of equations (1) and (2).
・ Value of U ' poi , L' obj .
The above is the details of the pose correction flow.

図11は,補正時の移動方向の正逆を判定する処理を示すフローチャートである。   FIG. 11 is a flowchart illustrating a process for determining whether the moving direction is correct or not during correction.

ステップS1110で,物体がキャラクタにアタッチされているかを判断する。「いいえ」であればステップS1112に進む。「はい」であれば,ステップS1114に進む。   In step S1110, it is determined whether the object is attached to the character. If “no”, the process proceeds to step S1112. If yes, go to step S1114.

ステップS1112で,移動方向は正であると決定される。   In step S1112, the moving direction is determined to be positive.

ステップS1114で,着目点(のノードのどれか)が移動部位の連動範囲内かが判断される。「はい」であれば,ステップS1116に進む。「いいえ」であればステップS1118に進む。   In step S1114, it is determined whether the point of interest (any of the nodes) is within the interlocking range of the moving part. If yes, go to step S1116. If “no”, the process proceeds to step S1118.

ステップS1116で,移動方向は正であると決定される。   In step S1116, the movement direction is determined to be positive.

ステップS1118で,物体のアタッチ先が,移動部位の連動範囲内かが判断される。「はい」であればステップS1120に進む。「いいえ」であれば,ステップS1122に進む。   In step S1118, it is determined whether the attachment destination of the object is within the interlocking range of the moving part. If “yes”, the process proceeds to step S1120. If “no”, the process proceeds to step S1122.

ステップS1120で,移動方向は逆であると決定される。   In step S1120, the direction of movement is determined to be opposite.

ステップS1122で,不正な組合せであると決定される。この場合には,補正を行わなくても良い。   In step S1122, it is determined that the combination is invalid. In this case, no correction is necessary.

以上が,補正の移動方向の正逆を判定する処理の詳細である。   The above is the details of the process for determining whether the correction moving direction is normal or reverse.

[その他の実施例]
以上説明した処理を用いた以下の実施例を説明する。
[Other Examples]
The following embodiment using the processing described above will be described.

[物体としてフルートを用いる例]
図13は,フルートを吹くポーズを示した図である。図13(a)は,オリジナルキャラクタ1300がフルート1309を吹いているポーズを示している。フルート1309が右手1302にアタッチされている。左手1303は,フルートの適正な位置に添えられている。口1304は,フルートの吹き口1305に対して適正な位置にある。
[Example using flute as an object]
FIG. 13 is a diagram showing a pose of blowing a flute. FIG. 13A shows a pose in which the original character 1300 is blowing the flute 1309. A flute 1309 is attached to the right hand 1302. The left hand 1303 is attached to the proper position of the flute. The mouth 1304 is in a proper position with respect to the flute outlet 1305.

図13(b)は,1300のポーズを,補正せずにカレントキャラクタ1310にそのまま適用した状態を示している。フルート1319は右手1312にアタッチされている。左手1313は,フルート1319と適正な位置関係になっていない。また,フルートの吹き口(不図示)は口1314と大きく離れていて,カレントキャラクタ1310の中に隠れてしまっている。   FIG. 13B shows a state in which the 1300 pose is directly applied to the current character 1310 without correction. Flute 1319 is attached to right hand 1312. The left hand 1313 is not in an appropriate positional relationship with the flute 1319. Also, the flute outlet (not shown) is far away from the mouth 1314 and is hidden in the current character 1310.

図13(c)は,以下の表の補正情報に基づいて適正に補正されたカレントキャラクタ1320のポーズを示している。   FIG. 13C shows the pose of the current character 1320 that has been appropriately corrected based on the correction information in the following table.

フルートの演奏を行っているため,頭や上体を動かすモーションが付加されても良い。フルートと口の位置関係,およびフルートと左手の位置関係が正しくなるように補正する。このモーション補正では,補正の順序が重要である。まず「逆」の移動部位(右手1322)を移動させ,次に「正」の移動部位(左手1323)を移動させる。この順序を逆にすると,まず左手の位置をフルートに合わせ,その後フルートの位置を口に合わせるので,結果はフルートと左手の位置がずれてしまう。 Since the flute is being played, motion that moves the head and upper body may be added. Correct so that the positional relationship between the flute and the mouth and the positional relationship between the flute and the left hand are correct. In this motion correction, the order of correction is important. First, the “reverse” moving part (right hand 1322) is moved, and then the “forward” moving part (left hand 1323) is moved. If this order is reversed, the position of the left hand is first aligned with the flute, and then the position of the flute is aligned with the mouth. As a result, the positions of the flute and the left hand are shifted.

[物体としてペットボトルを用いる例(キャップを回す)]
図14は,ペットボトルの栓を開けるポーズを示している。図14(a)は,オリジナルキャラクタ1400の右手1402にペットボトル1409がアタッチされている。左手1404がペットボトルの栓1408に添えられている。
[Example using a plastic bottle as an object (turning the cap)]
FIG. 14 shows a pose for opening the bottle stopper. In FIG. 14A, a plastic bottle 1409 is attached to the right hand 1402 of the original character 1400. A left hand 1404 is attached to the stopper 1408 of the plastic bottle.

図14(b)は,ポーズを補正せずに,カレントキャラクタ1410に適用した場合を示している。ペットボトルの栓1418と,左手1414との位置がずれていることが分かる。   FIG. 14B shows a case where the current character 1410 is applied without correcting the pose. It can be seen that the positions of the PET bottle stopper 1418 and the left hand 1414 are shifted.

図14(c)は,カレントキャラクタ1420の右手1422を移動させて,ポーズを補正した例を示している。ペットボトルの栓1428の位置が移動し,左手1424の位置と整合している。この場合の補正の処理は以下の表の通りである。   FIG. 14C shows an example in which the right hand 1422 of the current character 1420 is moved to correct the pose. The position of the stopper 1428 of the plastic bottle has moved and is aligned with the position of the left hand 1424. The correction process in this case is as shown in the following table.

図14(d)は,カレントキャラクタ1430の左手1434を移動させて,ポーズを補正した例を示している。左手1434が移動し,ペットボトルの栓1438と整合している。この場合の補正の処理は以下の表の通りである。 FIG. 14D shows an example in which the left hand 1434 of the current character 1430 is moved to correct the pose. The left hand 1434 has moved and is aligned with the stopper 1438 of the plastic bottle. The correction process in this case is as shown in the following table.

なお,両手を移動させて,ポーズを補正することも可能である(不図示)。この場合の補正の処理の内容は以下の表の通りである。 It is also possible to correct the pose by moving both hands (not shown). The contents of the correction process in this case are as shown in the following table.

[物体としてシャベルを用いる例]
図15は,シャベルを持ったキャラクタのポーズを補正する例を示している。図15(a)は,オリジナルキャラクタ1500がシャベル1509を両手で持っているポーズを示している。右手1504にシャベル1509がアタッチされている。左手1502は,シャベルの柄の中間位置1508を握っている。
[Example using a shovel as an object]
FIG. 15 shows an example of correcting the pose of a character having a shovel. FIG. 15A shows a pose in which the original character 1500 holds the shovel 1509 with both hands. A shovel 1509 is attached to the right hand 1504. The left hand 1502 holds the middle position 1508 of the shovel handle.

図15(b)は,カレントキャラクタ1510に,補正をせずにポーズを適用した場合を示している。シャベル1519の柄の中間位置1518と,左手1512との位置がずれているのが分かる。   FIG. 15B shows a case where a pose is applied to the current character 1510 without correction. It can be seen that the position of the middle position 1518 of the handle of the shovel 1519 and the left hand 1512 are shifted.

図15(c)は,カレントキャラクタ1520の左手1522を動かして,シャベル1529の柄の中間位置1528との位置関係が正しくなるように,ポーズを補正した状態を示している。この場合の補正の処理は以下の表の通りである。   FIG. 15C shows a state in which the pose has been corrected so that the left hand 1522 of the current character 1520 is moved and the positional relationship with the intermediate position 1528 of the handle of the shovel 1529 is correct. The correction process in this case is as shown in the following table.

[変形例]
以上説明した実施例の方法は,コンピュータにより実行され得る。また,実施例の方法は,コンピュータに実行させるプログラムとして,インプリメントされてもよい。
[Modification]
The method of the embodiment described above can be executed by a computer. Further, the method of the embodiment may be implemented as a program to be executed by a computer.

また,以上の実施例におけるモーションデータは,物体に関連付けられたデータ構造を有する。また,このデータ構造を有するファイルは,記憶媒体に保存され得る。物体には,1つ以上のモーションデータが関連付けられて,データ構造を形成する。また,このデータ構造を有するファイルは,記憶媒体に保存され得る。三次元空間で物体を定義するデータとモーションデータとが同一の記憶媒体に格納されても良い。   The motion data in the above embodiment has a data structure associated with the object. A file having this data structure can be stored in a storage medium. An object is associated with one or more motion data to form a data structure. A file having this data structure can be stored in a storage medium. Data defining an object in a three-dimensional space and motion data may be stored in the same storage medium.

また,オリジナルキャラクタの着目点は,モーションデータと関連付けられて記憶され得る。カレントキャラクタの着目点は,オリジナルキャラクタの着目点に対応する着目点が,選択され得る。   Also, the point of interest of the original character can be stored in association with the motion data. As the focus point of the current character, a focus point corresponding to the focus point of the original character can be selected.

なお,上述の実施例において,方法のステップは,矛盾のない限り,同時に,又は順序を入れ替えて実行されてもよい。   In the above-described embodiments, the method steps may be executed simultaneously or in a different order as long as there is no contradiction.

以上の実施例は,ハードウエアの装置としてインプリメントされ得る。   The above embodiments can be implemented as a hardware device.

既に述べたように,オリジナルキャラクタ,カレントキャラクタ,及び物体は,オブジェクトの語によって表現されても良い。   As already described, the original character, the current character, and the object may be expressed by the word of the object.

また,物体自体が動き,回転,変形してもよい。   Further, the object itself may move, rotate, and deform.

加えて,各請求項に記載された発明は,仮想空間におけるオブジェクトのモーションの制御に限定されるものではなく,実空間における現実のオブジェクトのモーションの制御に用いることができる。実空間において,本発明を適用する場合には,位置センサ,近接センサ,撮像画像のパターン認識技術等が併用して用いられても良い。   In addition, the invention described in each claim is not limited to the control of the motion of the object in the virtual space, but can be used to control the motion of the actual object in the real space. When the present invention is applied in real space, a position sensor, a proximity sensor, a pattern recognition technique for a captured image, and the like may be used in combination.

以上の実施例は,請求項に記載された発明を限定するものではなく,例示として取り扱われることは言うまでもない。   It is needless to say that the above embodiments do not limit the invention described in the claims but are treated as examples.

本明細書において,オリジナルキャラクタ,物体,及びカレントキャラクタは,それぞれ,第1のオブジェクト,連携オブジェクト,及び第2のオブジェクトの一例である。   In this specification, the original character, the object, and the current character are examples of the first object, the linked object, and the second object, respectively.

101:ボーン
310:物体(ペットボトル)
320:オリジナルキャラクタ
420b:カレントキャラクタ
101: Bone 310: Object (plastic bottle)
320: Original character 420b: Current character

Claims (10)

三次元空間におけるオブジェクトのモーションデータを,コンピュータが生成する方法であって,前記モーションデータが定義するモーションは,少なくとも移動,回転,及び変形のいずれか1つを含み,
当該方法は,
第1のオブジェクトが連携オブジェクトと関連して動くように前記第1のオブジェクトのモーションを定義した第1のモーションデータを補正することによって,前記第1のオブジェクトとは体型が異なる第2のオブジェクトのための第2のモーションデータを生成するステップであって,前記第1のオブジェクトと前記連携オブジェクトとの第1の位置関係を有し,前記第2のオブジェクトと前記連携オブジェクトとの第2の位置関係を,前記第1の位置関係に適合させる,ステップ,
を有する方法。
A method in which a computer generates motion data of an object in a three-dimensional space, and the motion defined by the motion data includes at least one of movement, rotation, and deformation,
The method is
By correcting the first motion data defining the motion of the first object so that the first object moves in relation to the linked object, the second object having a body shape different from the first object is corrected. Generating second motion data for the first object, wherein the second object data has a first positional relationship between the first object and the linked object, and a second position between the second object and the linked object. Adapting a relationship to the first positional relationship,
Having a method.
三次元空間におけるオブジェクトのモーションデータを,コンピュータが生成する方法であって,前記モーションデータが定義するモーションは,少なくとも移動,回転,及び変形のいずれか1つを含み,
当該方法は,
第1のオブジェクトが連携オブジェクトと関連して動くように前記第1のオブジェクトのモーションを定義した第1のモーションデータを補正することによって,第2のオブジェクトのための第2のモーションデータを生成するステップであって,前記第1のオブジェクトの所定の部位と前記連携オブジェクトとの第1の位置関係を有し,前記第2のオブジェクトの所定の部位と前記連携オブジェクトとの第2の位置関係を,前記第2のオブジェクトの当該所定の部位とは異なる部位を移動させて前記第1の位置関係に適合させる,ステップ,
を有する方法。
A method in which a computer generates motion data of an object in a three-dimensional space, and the motion defined by the motion data includes at least one of movement, rotation, and deformation,
The method is
Generating second motion data for the second object by correcting the first motion data defining the motion of the first object such that the first object moves relative to the associated object A first positional relationship between the predetermined part of the first object and the linked object, and a second positional relationship between the predetermined part of the second object and the linked object. , Moving a part different from the predetermined part of the second object to adapt to the first positional relationship,
Having a method.
三次元空間におけるオブジェクトのモーションデータを,コンピュータが生成する方法であって,前記モーションデータが定義するモーションは,少なくとも移動,回転,及び変形のいずれか1つを含み,
当該方法は,
第1のオブジェクトが連携オブジェクトと関連して動くように前記第1のオブジェクトのモーションを定義した第1のモーションデータを補正することによって,第2のオブジェクトのための第2のモーションデータを生成するステップであって,前記第1のオブジェクトと前記連携オブジェクトとの第1の位置関係を有し,前記第2のオブジェクトと前記連携オブジェクトとの第2の位置関係を,前記第1の位置関係に適合させる,ステップ,
を有し,
前記第1の位置関係は,前記連携オブジェクトの座標系における前記第1のオブジェクトの所定の部位の第1の相対的な位置であり,
前記第2の位置関係は,前記連携オブジェクトの座標系における前記第2のオブジェクトの所定の部位の第2の相対的な位置である,方法。
A method in which a computer generates motion data of an object in a three-dimensional space, and the motion defined by the motion data includes at least one of movement, rotation, and deformation,
The method is
Generating second motion data for the second object by correcting the first motion data defining the motion of the first object such that the first object moves relative to the associated object A first positional relationship between the first object and the linked object, wherein the second positional relationship between the second object and the linked object is changed to the first positional relationship. Adapt, step,
Have
The first positional relationship is a first relative position of a predetermined part of the first object in the coordinate system of the linked object,
The method in which the second positional relationship is a second relative position of a predetermined part of the second object in the coordinate system of the linked object.
前記第2のモーションデータを生成するステップは,
前記第1の相対的な位置と前記第2の相対的な位置との変位量が最小化するように,前記第1のオブジェクトの所定の移動部位に対応する前記第2のオブジェクトの移動部位の位置を移動させるステップ,
を含む,請求項3記載の方法。
The step of generating the second motion data includes:
The moving part of the second object corresponding to the predetermined moving part of the first object is minimized so that the amount of displacement between the first relative position and the second relative position is minimized. Moving the position,
The method of claim 3 comprising:
三次元空間におけるオブジェクトのモーションデータを,コンピュータが生成する方法であって,前記モーションデータが定義するモーションは,少なくとも移動,回転,及び変形のいずれか1つを含み,
当該方法は,
第1のオブジェクトが連携オブジェクトと関連して動くように前記第1のオブジェクトのモーションを定義した第1のモーションデータを補正することによって,第2のオブジェクトのための第2のモーションデータを生成するステップであって,前記第1のオブジェクトと前記連携オブジェクトとの第1の位置関係を有し,前記第2のオブジェクトと前記連携オブジェクトとの第2の位置関係を,前記第1の位置関係に適合させるステップを有し,
前記連携オブジェクトは,大きさが零であるか,又は非表示とされる方法。
A method in which a computer generates motion data of an object in a three-dimensional space, and the motion defined by the motion data includes at least one of movement, rotation, and deformation,
The method is
Generating second motion data for the second object by correcting the first motion data defining the motion of the first object such that the first object moves relative to the associated object A first positional relationship between the first object and the linked object, wherein the second positional relationship between the second object and the linked object is changed to the first positional relationship. Have steps to adapt,
A method in which the linked object has a size of zero or is not displayed.
三次元空間におけるオブジェクトのモーションデータを,コンピュータが生成する方法であって,前記モーションデータが定義するモーションは,少なくとも移動,回転,及び変形のいずれか1つを含み,
当該方法は,
第1のオブジェクトが連携オブジェクトと関連して動くように前記第1のオブジェクトのモーションを定義した第1のモーションデータを補正することによって,第2のオブジェクトのための第2のモーションデータを生成するステップであって,
前記連携オブジェクトからみた前記第1のオブジェクトの着目点の第1の相対的な位置と、前記連携オブジェクトからみた前記第2のオブジェクトの着目点の第2の相対的な位置との変位量が最小化するように,前記第1のオブジェクトの所定の移動部位に対応する前記第2のオブジェクトの移動部位の位置を移動させるステップ,を有し,
前記第1のオブジェクトの前記所定の移動部位は,複数の候補が存在し,予め定められた優先度に基づいて,前記複数の候補から順次選択され利用される,方法。
A method in which a computer generates motion data of an object in a three-dimensional space, and the motion defined by the motion data includes at least one of movement, rotation, and deformation,
The method is
Generating second motion data for the second object by correcting the first motion data defining the motion of the first object such that the first object moves relative to the associated object Step,
The amount of displacement between the first relative position of the point of interest of the first object viewed from the linked object and the second relative position of the point of interest of the second object viewed from the linked object is minimal. Moving the position of the moving part of the second object corresponding to the predetermined moving part of the first object,
The predetermined moving part of the first object has a plurality of candidates, and is sequentially selected from the plurality of candidates based on a predetermined priority and used.
前記第2のモーションデータを生成するステップは,
前記第2のモーションデータを適用した際の前記第2のオブジェクトのモーションが,時間軸上で滑らかとなるよう,前記第2のオブジェクトのモーションデータを平滑化する,
請求項1ないし6のうちいずれか1項記載の方法。
The step of generating the second motion data includes:
Smoothing the motion data of the second object so that the motion of the second object when applying the second motion data is smooth on the time axis;
7. A method according to any one of claims 1-6.
前記第1のオブジェクトの着目点は,前記連携オブジェクトに,予め関連付けられており,
前記第2のオブジェクトの着目点は,予め関連付けられた前記第1のオブジェクトの着目点に基づいて特定される,請求項6記載の方法。
The point of interest of the first object is associated with the linked object in advance,
The method according to claim 6, wherein the point of interest of the second object is specified based on the point of interest of the first object associated in advance.
前記第1のモーションデータは,前記連携オブジェクトに,予め関連付けられている,請求項1ないし8のうちいずれか1項記載の方法。   The method according to claim 1, wherein the first motion data is associated with the cooperation object in advance. 請求項1ないし9のうちいずれか1項記載の方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the method according to any one of claims 1 to 9.
JP2014054040A 2014-03-17 2014-03-17 Object motion generation method, program, and storage medium Active JP6431265B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014054040A JP6431265B2 (en) 2014-03-17 2014-03-17 Object motion generation method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014054040A JP6431265B2 (en) 2014-03-17 2014-03-17 Object motion generation method, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2015176495A JP2015176495A (en) 2015-10-05
JP6431265B2 true JP6431265B2 (en) 2018-11-28

Family

ID=54255601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014054040A Active JP6431265B2 (en) 2014-03-17 2014-03-17 Object motion generation method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP6431265B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6318202B2 (en) * 2016-08-18 2018-04-25 株式会社カプコン Game program and game system
JP7214548B2 (en) * 2019-04-16 2023-01-30 日産自動車株式会社 Information processing device and information processing method
JP7312737B2 (en) * 2020-11-19 2023-07-21 株式会社コーエーテクモゲームス Program, information processing method and information processing apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4042927B2 (en) * 1997-11-07 2008-02-06 株式会社バンダイナムコゲームス Image generating apparatus and information storage medium
JP2937183B1 (en) * 1998-02-17 1999-08-23 日本電気株式会社 Moving image generation system, moving image generation method, and recording medium
JP2002052242A (en) * 2000-01-28 2002-02-19 Square Co Ltd Computer readable recording medium storing program of ball game type game and program, and device and method for processing ball game type game
JP4976473B2 (en) * 2009-09-18 2012-07-18 株式会社コナミデジタルエンタテインメント Image generating apparatus, image generating method, and program
JP5491971B2 (en) * 2010-06-01 2014-05-14 株式会社カプコン Program, recording medium recording the program, and computer executing the program

Also Published As

Publication number Publication date
JP2015176495A (en) 2015-10-05

Similar Documents

Publication Publication Date Title
US7872653B2 (en) Mesh puppetry
CN101958007B (en) Three-dimensional animation posture modeling method by adopting sketch
JP6431265B2 (en) Object motion generation method, program, and storage medium
KR20210011984A (en) Image processing method and apparatus, image device, and storage medium
KR101745406B1 (en) Apparatus and method of hand gesture recognition based on depth image
JP7126812B2 (en) Detection device, detection system, image processing device, detection method, image processing program, image display method, and image display system
CN112602090A (en) Method and system for interpolating different inputs
JP2004078316A (en) Attitude recognition device and autonomous robot
WO2012111622A1 (en) Movement modeling device, method, and program
US6608624B1 (en) Method for accelerating 3D animation production
JP4435212B2 (en) Posture recognition device and autonomous robot
CN105488834B (en) The method of adjustment and device of role's face orientation
CN102609553A (en) Method for drawing computer-assisted animation modeling
Feng et al. Automating the transfer of a generic set of behaviors onto a virtual character
KR102147930B1 (en) Method and apparatus for recognizing pose
WO2021240848A1 (en) Three-dimensional avatar generation device, three-dimensional avatar generation method, and three-dimensional avatar generation program
Nguyen et al. From body space to interaction space: modeling spatial cooperation for virtual humans
KR20210091955A (en) Exercise posture correction program
KR102438488B1 (en) 3d avatar creation apparatus and method based on 3d markerless motion capture
US10083536B2 (en) System for mapping animation from a source character to a destination character while conserving angular configuration
JP5178462B2 (en) Image creation apparatus and image creation program
JP2011215709A (en) Apparatus, method and program for assisting cartoon creation
CN113313009A (en) Method, device and terminal for continuously shooting output image and readable storage medium
JPH09212676A (en) Image synthesis method and image synthesizer
JP2011253308A (en) Program, recording medium with the program recorded, and computer for executing the program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180925

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181102

R150 Certificate of patent or registration of utility model

Ref document number: 6431265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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