JP2009053760A - Image processing apparatus, image processing method, and program - Google Patents
Image processing apparatus, image processing method, and program Download PDFInfo
- Publication number
- JP2009053760A JP2009053760A JP2007217372A JP2007217372A JP2009053760A JP 2009053760 A JP2009053760 A JP 2009053760A JP 2007217372 A JP2007217372 A JP 2007217372A JP 2007217372 A JP2007217372 A JP 2007217372A JP 2009053760 A JP2009053760 A JP 2009053760A
- Authority
- JP
- Japan
- Prior art keywords
- character
- state variable
- indicating
- posture
- calculated
- 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.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims description 7
- 230000009471 action Effects 0.000 claims abstract description 60
- 230000033001 locomotion Effects 0.000 claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 238000004088 simulation Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 230000007704 transition Effects 0.000 description 8
- 230000008451 emotion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000005484 gravity Effects 0.000 description 4
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000010399 physical interaction Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001914 calming effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010494 dissociation reaction Methods 0.000 description 1
- 230000005593 dissociations Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】力学に従ったキャラクタの動作を示す画像データを容易に生成する画像処理装置を提供する。
【解決手段】仮想空間上のキャラクタに行わせる行動を示す行動情報を生成する行動生成部11と、キャラクタを動作させる力を算出する力トルク算出部12と、力トルク算出手段12により算出される力をキャラクタを模した剛体モデルに与えて状態変数を算出するシミュレータ13と、行動生成部11により生成される各行動情報とシミュレータ13により算出される任意の状態変数とに対応付けたキャラクタのキーフレームデータが記憶されているデータベース14と、キーフレームデータを参照して、行動生成部11により生成された行動情報とシミュレータ13により算出された状態変数とに応じたフレームデータを補間する補間処理部15と、補間処理部15により補間されたフレームデータに応じた画像データ出力するレンダラ16とを備える。
【選択図】 図2An image processing apparatus that easily generates image data indicating the motion of a character in accordance with mechanics is provided.
An action generation unit that generates action information indicating an action to be performed by a character in a virtual space, a force torque calculation unit that calculates a force for operating the character, and a force torque calculation unit. The key of the character associated with the simulator 13 that applies a force to the rigid model imitating the character to calculate the state variable, the action information generated by the action generation unit 11 and the arbitrary state variable calculated by the simulator 13 A database 14 in which frame data is stored, and an interpolation processing unit that interpolates frame data according to the behavior information generated by the behavior generation unit 11 and the state variable calculated by the simulator 13 with reference to the key frame data 15 and a renderer that outputs image data corresponding to the frame data interpolated by the interpolation processing unit 15 And a 16.
[Selection] Figure 2
Description
本発明は、キャラクタを示す画像データを生成して出力する画像処理を行う画像処理装置、画像処理方法、及び、この画像処理をコンピュータに実行させるためのプログラムに関するものである。 The present invention relates to an image processing apparatus that performs image processing for generating and outputting image data representing a character, an image processing method, and a program for causing a computer to execute the image processing.
近年のヒューマンインタフェース、コンピュータグラフィックスの進歩により、ゲームやエンタテインメント、メディアアートなどに用いられるバーチャル世界を取り巻く環境が大きく変化している。このため、力覚インタフェースやモーションセンサなどのヒューマンインタフェースや、コンピュータグラフィックス、3次元映像、高解像度映像などの映像提示技術は、体験者とバーチャル世界との間を行き交う情報量を飛躍的に増大させた。また、現実世界と同様に身体を使って、バーチャル世界と直接的、物理的なインタラクションをすることができるようになった。 With recent advances in human interface and computer graphics, the environment surrounding the virtual world used for games, entertainment, media art, etc. has changed significantly. For this reason, human interface such as haptic interface and motion sensor, and video presentation technology such as computer graphics, 3D video, and high-resolution video dramatically increase the amount of information exchanged between the user and the virtual world. I let you. It is also possible to interact directly with the virtual world using the body as in the real world.
この点において、体験者が仮想空間に対しリアリティを感じたり感情移入したりすることが容易になったと言える。そしてその結果、体験者に魅力的な体験を提供するには、仮想空間自体の魅力を高めることがより重要になってきている。仮想空間には、物体、動物や人物などを擬似的に表現したキャラクタが構成要素としてある。このような構成要素の中でも特にキャラクタは、体験者の注目を集め、体験者と仮想空間との間のインタラクションの中心的な対象となり、体験者の感情移入や情動の対象にもなるため、魅力的なコンテンツを制作する上で重要である。このため、体験者と仮想空間との間のインタラクションの対象として現実感がより高く、感情移入しやすいキャラクタを実現することが、魅力的な体験を体験者に提供するために重要になっている。 In this regard, it can be said that it has become easier for the experienced person to feel reality and empathize with the virtual space. As a result, it is becoming more important to enhance the attractiveness of the virtual space itself in order to provide an attractive experience to the experienced person. In the virtual space, a character that artificially represents an object, an animal, a person, or the like is a constituent element. Among these components, the character is particularly attractive because it attracts the attention of the experiencer, becomes the center of interaction between the experiencer and the virtual space, and is also the subject of emotional transfer and emotion of the experiencer. This is important in creating creative content. For this reason, it is important to create a character that is more realistic and easy to empathize as an object of interaction between the experiencer and the virtual space in order to provide an attractive experience to the experiencer. .
このようなヒューマンインタフェースの進歩により、仮想空間と物理的なインタラクションが行われるようになった。このため身体をつかった物理的なインタラクションに対してキャラクタが力学に従った反応動作をすることが、キャラクタのリアリティを高めるために必要となっている。これは、現実世界に存在する物体が力学に従って挙動するので、体験者は現実世界での経験則を仮想空間で生かせ、仮想空間での挙動を容易に理解でき、操作や予測が容易になるからである。例えば、キャラクタが物体を押すとき、物体の重さに応じて押し方や移動量に違いがあれば、体験者は、物体の重さをキャラクタの動きから推測することができる。 With such advancement of human interface, physical interaction with virtual space has come to take place. For this reason, it is necessary for the character to react to the physical interaction with the body according to the dynamics in order to improve the reality of the character. This is because the objects in the real world behave according to the dynamics, so the experiencer can make use of the real-world empirical rules in the virtual space, and easily understand the behavior in the virtual space, making it easy to operate and predict It is. For example, when the character presses the object, if there is a difference in the pressing method and the amount of movement according to the weight of the object, the experience person can estimate the weight of the object from the movement of the character.
一方、体験者をキャラクタに感情移入させるためには、キャラクタの感情や意図を体験者に伝える必要がある。例えばゲームでは吹き出しや記号で感情を表現することもあるが、演劇や映画の俳優のように動作で表現することにより、より多様な感情や意図の表現が可能になり、体験者に感情移入させるのを助けることができる。キャラクタモーションのデザイナは、このような体験者により現実感の高いキャラクタを作り出すため、キャラクタの個性とキャラクタが現在置かれている状況に応じた動作を作ることが要求される。また、シナリオやストーリーを進行させるため、特定の姿勢や動作をすることが要求される場合もある。 On the other hand, in order for the experience person to transfer the emotion to the character, it is necessary to convey the emotion and intention of the character to the experience person. For example, in a game, emotions may be expressed by speech balloons or symbols, but by expressing them with actions like theater or movie actors, more diverse emotions and intentions can be expressed, and emotions can be transferred to the experience. Can help. Character motion designers are required to create actions according to the personality of the character and the situation in which the character is currently placed in order to create a highly realistic character by such an experienced person. Moreover, in order to advance a scenario or a story, it may be requested | required that a specific attitude | position and operation | movement are carried out.
例えば、特許文献1においては、「歩く」や「跳ぶ」などの個々のアニメーションを行動オブジェクトとして保持し、ある行動オブジェクトから別のオブジェクトにはイベントによって移行するとともに、各行動オブジェクトの動作が完結していなくてもイベントを受付けて別の行動オブジェクトに移行させることにより、個々のアニメーションの間をスムーズにつないだり、イベントに対するアニメーションの変化を考慮したアニメーションを自動的に生成する生成方法が記載されている。
For example, in
インタラクションの対象として現実感が高く、感情移入しやすい魅力的なキャラクタを実現するには、デザイナがキャラクタ毎に膨大な動作を制作しなければならないという問題がある。例えば上述した特許文献1に記載された生成方法を用いた場合も、多種類の動作オブジェクトをデザイナが制作するため、制作コストが非常に高くなってしまう。そのため、デザイナによって制作されるキャラクタの静止画像を組み合わせて多様な動作オブジェクトを生み出すことで、コンテンツの生産性を高めることが求められる。このような処理には、従来のデザイナのスキルにあわせて、できるだけ容易に行うことが可能な制作環境が必要である。
In order to realize an attractive character that has a high sense of reality and is easy to transfer emotions as a target of interaction, there is a problem that the designer has to create an enormous amount of motion for each character. For example, even when the generation method described in
本発明は、このような実情に鑑みて提案されたものであり、仮想空間において力学に従ったキャラクタの動作を示す画像データを容易に生成する画像処理装置、画像処理方法、及び、この画像処理をコンピュータに実行させるプログラムを提供することを目的とする。 The present invention has been proposed in view of such a situation, and an image processing apparatus, an image processing method, and an image processing apparatus that easily generate image data indicating a character's movement according to dynamics in a virtual space. An object of the present invention is to provide a program for causing a computer to execute.
上述した課題を解決するための手段として、本発明に係る画像処理装置は、仮想空間上のキャラクタの動作を示す画像データを生成する画像処理装置であって、上記キャラクタに行わせる行動を示す行動情報を生成する生成手段と、上記生成手段により生成される行動情報に応じて、上記仮想空間上において上記キャラクタを動作させる力を算出する算出手段と、上記算出手段により算出される力を上記キャラクタを模した剛体モデルに与え、該剛体モデルの力学的挙動を示す状態変数を算出するシミュレーション手段と、上記生成手段により生成される各行動情報と上記シミュレーション手段により算出される任意の状態変数とに対応付けた上記キャラクタの姿勢に関する姿勢データが記憶されているデータベースと、上記データベースに記憶されている姿勢データを参照して、上記生成手段により生成された行動情報と上記シミュレーション手段により算出された状態変数とに応じた上記キャラクタの姿勢データを補間する補間手段と、上記補間手段により補間された姿勢データに応じた上記キャラクタの動作を示す画像データを出力する出力手段とを備える。 As a means for solving the above-described problem, an image processing apparatus according to the present invention is an image processing apparatus that generates image data indicating a motion of a character in a virtual space, and an action indicating an action to be performed by the character. Generating means for generating information; calculating means for calculating a force for operating the character in the virtual space in accordance with action information generated by the generating means; and calculating the force calculated by the calculating means for the character Simulation means for calculating a state variable indicating the dynamic behavior of the rigid model, each behavior information generated by the generation means, and any state variable calculated by the simulation means A database in which the posture data relating to the associated posture of the character is stored, and the database Interpolating means for interpolating the character's posture data in accordance with the action information generated by the generating means and the state variable calculated by the simulation means with reference to the stored posture data, and the interpolation means Output means for outputting image data indicating the motion of the character according to the interpolated posture data.
また、本発明に係る画像処理方法は、仮想空間上のキャラクタの動作を示す画像データを生成する画像処理方法であって、上記キャラクタに行わせる行動を示す行動情報を生成する生成工程と、上記生成工程により生成される行動情報に応じて、上記仮想空間上において上記キャラクタを動作させる力を算出する算出工程と、上記算出工程により算出される力を上記キャラクタを模した剛体モデルに与え、該剛体モデルの力学的挙動を示す状態変数を算出するシミュレーション工程と、上記生成工程により生成される各行動情報と上記シミュレーション手段により算出される任意の状態変数とに対応付けた上記キャラクタの姿勢に関する姿勢データが記憶されているデータベースを参照して、上記生成工程により生成される行動情報と上記シミュレーション工程により算出される状態変数とに応じた上記キャラクタの姿勢データを補間する補間工程と、上記補間工程により補間される姿勢データに応じた上記キャラクタの動作を示す画像データを出力する出力工程とからなる。 Further, an image processing method according to the present invention is an image processing method for generating image data indicating a motion of a character in a virtual space, the generating step generating action information indicating an action to be performed by the character, In accordance with the action information generated by the generation step, a calculation step for calculating a force for moving the character in the virtual space, and a force calculated by the calculation step are given to a rigid model imitating the character, A posture for the posture of the character associated with a simulation step for calculating a state variable indicating the mechanical behavior of the rigid model, each action information generated by the generation step, and an arbitrary state variable calculated by the simulation means Referring to the database storing the data, the behavior information generated by the generation step and the An interpolation step for interpolating the posture data of the character according to the state variable calculated by the simulation step, and an output step for outputting image data indicating the motion of the character according to the posture data interpolated by the interpolation step; Consists of.
また、本発明に係るプログラムは、仮想空間上のキャラクタの動作を示す画像データを生成する画像処理をコンピュータに実行させるためのプログラムであって、上記キャラクタに行わせる行動を示す行動情報を生成する生成工程と、上記生成工程により生成される行動情報に応じて、上記仮想空間上において上記キャラクタを動作させる力を算出する算出工程と、上記算出工程により算出される力を上記キャラクタを模した剛体モデルに与え、該剛体モデルの力学的挙動を示す状態変数を算出するシミュレーション工程と、上記生成工程により生成される各行動情報と上記シミュレーション工程により算出される任意の状態変数とに対応付けた上記キャラクタの姿勢に関する姿勢データが記憶されているデータベースを参照して、上記生成工程により生成された行動情報と上記シミュレーション工程により算出された状態変数とに応じた上記キャラクタの姿勢データを補間する補間工程と、上記補間工程により補間される姿勢データに応じた上記キャラクタの動作を示す画像データを出力する出力工程とからなる。 The program according to the present invention is a program for causing a computer to execute image processing for generating image data indicating the motion of a character in a virtual space, and generating action information indicating an action to be performed by the character. A generating step, a calculating step for calculating a force for operating the character in the virtual space according to the action information generated by the generating step, and a rigid body imitating the character calculated by the calculating step A simulation process for calculating a state variable indicating the mechanical behavior of the rigid model, and each action information generated by the generation process and an arbitrary state variable calculated by the simulation process Referring to the database that stores the posture data related to the character's posture, An interpolation process for interpolating the posture data of the character according to the action information generated by the process and the state variable calculated by the simulation process, and an action of the character according to the posture data interpolated by the interpolation process. And an output process for outputting the image data shown.
本発明は、各行動情報と任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データが記憶されているデータベースを参照して、生成される行動情報と算出される状態変数とに応じた上記キャラクタの姿勢データを補間して、補間された姿勢データに応じたキャラクタの動作を示す画像データを出力するので、仮想空間において力学に従ったキャラクタの動作を示す画像データを容易に生成することができる。 The present invention refers to a database in which posture data relating to the posture of a character associated with each behavior information and an arbitrary state variable is stored, and the above-described information according to the behavior information generated and the calculated state variable. Since the character's posture data is interpolated and image data indicating the character's motion according to the interpolated posture data is output, image data indicating the character's motion according to the mechanics in the virtual space can be easily generated. it can.
本発明が適用された画像処理装置は、仮想空間上におけるキャラクタの動作を示す画像データを生成して出力する画像処理を行う。このような画像処理装置の一例として、以下では図1に示すような画像処理装置1を用いて、本発明を実施するための形態について説明する。
An image processing apparatus to which the present invention is applied performs image processing that generates and outputs image data indicating the motion of a character in a virtual space. As an example of such an image processing apparatus, a mode for carrying out the present invention will be described below using an
画像処理装置1は、汎用性の演算処理プロセッサを備えるコンピュータであって、演算処理を行うCPU2と、画像データやアプリケーションを実行するためのプログラムを記憶するハードディスク3と、CPU2が演算処理を行うデータを一時的に記憶するRAM4と、外部からユーザからの操作入力などを入力するためのインタフェース5と、CPU2による演算処理結果を表示するディスプレイ6とを備える。
The
CPU2は、仮想空間上のキャラクタの動作を示す画像データを生成する画像処理を行うためのプログラムをハードディスク3からRAM4に読み出して実行する。
The
ハードディスク3は、CPU2による演算処理により生成される画像データや上述した画像処理を実行するためのプログラムを記憶する。
The hard disk 3 stores image data generated by arithmetic processing by the
RAM4は、CPU2が演算処理を行うデータを一時的に記憶する。
The RAM 4 temporarily stores data on which the
インタフェース5は、ユーザからの操作入力を受け付け、この操作入力に関する操作情報をCPU2に供給する。
The
ディスプレイ6は、CPU2による演算処理によって生成される画像データを表示する。
The display 6 displays image data generated by arithmetic processing by the
以上のような構成からなる画像処理装置1では、CPU2が仮想空間上におけるキャラクタの動作を示す画像データを生成する画像処理を行うためのプログラムをハードディスク3からRAM4に読み出すことによって、図2に示すような画像処理部10が実現される。
In the
すなわち、画像処理部10は、図2に示すように、キャラクタの行動を示す行動情報を生成する行動生成部11と、キャラクタを動作させる力及びトルクに関する情報を算出する力トルク算出部12と、キャラクタを模した剛体モデルの力学的挙動を示す状態変数を算出するシミュレータ13と、所定の行動情報と任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データが予め記憶されているデータベース14と、姿勢データを補間する補間処理部15と、補間処理部15により補間される姿勢データに応じたキャラクタの動作を示す画像データを生成するレンダラ16とを備える。
That is, as shown in FIG. 2, the
以上のような構成からなる画像処理部10において、まず、キャラクタを模した剛体モデルの力学的挙動を示す状態変数を算出するシミュレータ13について説明する。
In the
シミュレータ13は、後述する力トルク算出部12により算出される力FpとトルクNpを図3に示すようなキャラクタを模したキャラクタ剛体モデル131に与える。そして、シミュレータ13は、キャラクタ剛体モデル131と、例えば壁などの物体を模した物体剛体モデル132と、床を模した床剛体モデル133との間で発生する衝突や摩擦などの力学的挙動をシミュレーションして、各剛体モデルの力学的挙動を示す状態変数を算出する。ここで、状態変数とは、例えば予め設定した3次元平面上の原点に対する剛体モデルの位置r、位置rを時間で微分した速度v、剛体モデルの重心に対する回転角度θ、回転角度θを時間で微分した角速度ωなどを示す情報である。シミュレータ13は、キャラクタ剛体モデル131、物体剛体モデル132、及び、床剛体モデル133の全ての剛体モデルに関する状態変数を環境情報として算出して行動生成部11に供給する。
The
また、シミュレータ13では、関節などを有さないキャラクタ剛体モデル131を用いてキャラクタを表現している。これは、キャラクタの各部の位置と回転角度を計算するための力学モデルである多関節モデルでは、扱う状態変数の数が多く複雑な計算を要する上、目的の動作を得るための調整が難しいからである。そこで、この画像処理部10では、シミュレータ13においてキャラクタを模した剛体モデルを用いてキャラクタの力学的挙動をシミュレーションし、このシミュレーションによって得られる状態変数に基づいて、後述する補間処理部15により生成される姿勢データでキャラクタの各関節の関節角度を表現して、レンダラ16によってキャラクタの動作を示す画像データを出力する。
In the
また、シミュレータ13では、各剛体モデルの形状が剛体モデル同士の衝突判定に用いられるため、映像として表示されるキャラクタの外形に近いものを用いる。このようにすることで、シミュレータ13では、このシミュレーション結果から得られるキャラクタと他の物体との接触時の映像において、物体間で離れすぎたりめり込んだりする現象が発生することを防止できる。
Moreover, in the
また、シミュレータ13では、以下のように剛体モデルの特性を設定することで、デザイナが目的の動作を容易に作成することができる。
In the
第1に、シミュレータ13では、図4(A)に示すように、平面部分131aを有するキャラクタ剛体モデル131を設計することで、図4(B)に示すように、キャラクタ剛体モデル131と物体剛体モデル132との接触時においてキャラクタ剛体モデル131が物体剛体モデル132の平面部分132aに向きやすくさせることができる。第2に、シミュレータ13では、剛体モデルの辺及び頂点を回転の支点とすることで、容易にキャラクタの回転動作を調節することができる。第3に、シミュレータ13では、キャラクタに応じてキャラクタ剛体モデル131の形状、質量、及び、重心を設定し、設定した情報に応じてキャラクタの回転特性である下記式の慣性テンソルLを調節することができる。
First, the
N=Lω
ここで、Nは回転角度θ方向に与える回転力を示すトルクであって、後述する力トルク算出部12によって与えられる値である。通常、Lは単位行列が用いられる。
N = Lω
Here, N is a torque indicating a rotational force applied in the direction of the rotational angle θ, and is a value provided by a force
また、シミュレータ13では、具体例として、図5に示すようなキャラクタ200を用いる。ここでは、原点をキャラクタの最下部として3次元直交座標軸を次のように定義している。すなわち、キャラクタ200の幅方向をx軸とし、鉛直方向をy軸とし、正面方向をz軸として定義する。また、キャラクタ200の正面に物体が衝突したとき、すなわち−z軸方向に外力F1が与えられたとき、キャラクタ200の重心Gに対して回転するトルクN1がより大きく発生させて転がりやすくするようにするため、シミュレータ13では、図6(A)に示すように、xz平面の断面積が−y軸方向に小さくなるような形状の剛体210を、物体剛体モデル132に衝突したときのキャラクタ剛体モデル131として用いる。また、キャラクタが床に倒れたときに必ずうつぶせか仰向けの状態になるようにするため、シミュレータ13では、図6(B)に示すように、±z軸方向に倒れやすい形状の剛体220を床剛体モデル133に衝突したときのキャラクタ剛体モデル131として用いる。このようにシミュレータ13では、キャラクタ剛体モデル131として、衝突する物体毎に異なる形状のものを用いることでキャラクタ200の自然な動きを容易に表現することができる。
The
また、この具体例において、シミュレータ13では、下記のように定義した多次元空間(以下、キーフレーム空間Kという。)におけるキャラクタ200の状態変数を算出する。
In this specific example, the
また、シミュレータ13では、上述したキーフレーム空間Kにおける剛体モデルの位置r、速度v、向きを示す回転行列Rから、キャラクタがキーフレーム空間K上に位置する基準点に変換する関数Fを、下記式(2)のように定義している。
In the
以上のようなシミュレータ13によって算出される環境情報に応じて、行動生成部11は、キャラクタの行動を決定して、決定したキャラクタの行動に関する行動情報及びこのキャラクタの状態変数を力トルク算出部12に供給する。また、行動生成部11は、この行動情報を補間処理部15に供給する。ここで、行動生成部11は、例えば、環境情報に応じて所定のAI(Artificial Intelligence)処理によってキャラクタの行動を決定するが、インタフェース5からのユーザ操作によってキャラクタの行動を逐次決定するようにしてもよい。
In accordance with the environment information calculated by the
力トルク算出部12は、行動生成部11から供給される行動情報と、シミュレータ13により算出される環境情報に応じて、キャラクタを動作させるための力及びトルクに関する情報を算出する。例えば、上述した図5に示すようなキャラクタ200を動作させるため、図7に示すようにキャラクタ200に与える力Fp及びトルクNpを算出する。ここで力Fpとは、キャラクタ200が脚で発生させる力、すなわち剛体モデルの最下部においてz軸方向に作用させる力である。また、トルクNpとは、キャラクタ200の重心Gにおけるx軸方向を中心軸として回転させるための力である。
The force
力トルク算出部12は、キャラクタ200の姿勢を直立状態に安定させるための姿勢制御と、姿勢が安定している状態でキャラクタ200の移動を行う移動制御との2つの制御に応じて力Fp及びトルクNpを算出する。
The force
力トルク算出部12は、姿勢制御として、図8(A)に示すように、状態の遷移に応じて力Fp及びトルクNpを算出する。また、θxは、キャラクタの姿勢を示す状態変数であって図8(B)に示すように、具体的にはx軸に対するキャラクタ剛体モデル131の回転角度を示し、初期状態をθx=0°とする。また、力トルク算出部12は、行動生成部11から供給される状態変数に応じて以下のように制御モードを遷移させる。
As shown in FIG. 8A, the
まず、通常状態モードS11において、力トルク算出部12は、下記の(3)式のようにして力Fp及びトルクNpを算出する。
First, in the normal state mode S11, the force
その後、力トルク算出部12は、|θx|>θ1となると、キャラクタ200の姿勢がバランスを崩した状態となるので、この状態を直立状態に回復させるため、倒立振子制御モードS12に遷移する。
Thereafter, when | θx |> θ1 is satisfied, the force /
倒立振子制御モードS12において、力トルク算出部12は、下記の(4)式のようにして力Fp及びトルクNpを算出する。
In the inverted pendulum control mode S12, the force
その後、力トルク算出部12は、|θx|≒0°となったとき通常状態モードS11に遷移し、|θx|>θ2となると直立状態に回復させることができないものとして、キャラクタ200が倒れて落ち着くまでの挙動を行わせるため、安定化待機モードS13に遷移する。
Thereafter, the force
安定化待機モードS13において、力トルク算出部12は、下記の(5)式のようにして力Fp及びトルクNpを算出する。
In the stabilization standby mode S13, the force
その後、力トルク算出部12は、|θx|≒0かつ|dθx|≒0になると通常状態モードS11に遷移し、|dθx|≒0かつキャラクタ200が仰向けの姿勢になると起立モードS15に遷移する。
After that, the force
起立モードS15において、力トルク算出部12は、下記の(6)式のようにして力Fp及びトルクNpを算出する。
In the standing mode S15, the force
その後、力トルク算出部12は、|θx|≒0°となったとき通常状態モードS11に遷移する。
Thereafter, the
また、力トルク算出部12は、キャラクタ200が通常状態モードのとき、位置rを移動させる移動制御を行うため、下記(7)式、及び(8)式のようにして力Fp及びトルクNpそれぞれを算出する。
Further, since the force
ここで、Kpf、KpnはPD制御系の制御パラメータである。力トルク算出部19では、例えば表1に示すように各動作の種類に対応付けた各値が算出されるように、上記の制御パラメータを設定している。 Here, Kpf and Kpn are control parameters of the PD control system. In the force torque calculator 19, for example, as shown in Table 1, the above control parameters are set so that each value associated with each type of operation is calculated.
データベース14は、行動生成部11により生成される各行動情報とシミュレータ13により算出される任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データ(以下、キーフレームデータという。)が記憶されている。具体的に、データベース14は、このキーフレームデータとして、キャラクタを構成する各関節の関節角度データを記憶している。
The
また、データベース14は、例えば、図9に示すように、キャラクタが「歩く」動作を示す行動情報に対応付けられたキーフレームセット141と、キャラクタが「走る」動作を示す行動情報に対応付けられたキーフレームセット142と、キャラクタが「押す」動作を示す行動情報に対応付けられたキーフレームセット143毎に分類して各キーフレームデータを記憶している。
Further, for example, as illustrated in FIG. 9, the
データベース14が記憶しているキーフレームデータは、上述した各キーフレームセット141、142、143毎に、シミュレータ13により算出される状態変数に対応する多次元空間内に配置されている。
The key frame data stored in the
例えば、キャラクタが「歩く」動作を示す行動情報に対応付けられたキーフレームセット141では、図10に示すようにしてキーフレームデータがキャラクタの位置r及び回転角度θを示す状態変数に対応した2次元空間内に配置されている。
For example, in the key frame set 141 associated with the action information indicating that the character “walks”, the
すなわち、キーフレームセット141は、「キャラクタの意思に沿う動作」を示すキーフレームデータとして、キャラクタの回転角度が0°から45°までの動作に対応するキーフレームデータP11〜P14、P21〜P24、及び、「キャラクタの意思に反する動作」を示すキーフレームデータとしてキャラクタの回転角度が45°から90°までの動作に対応するキーフレームデータP31〜P34から構成されている。ここで、「キャラクタの意思に沿う動作」とは、シミュレータ13によって算出される状態変数に対応してキャラクタが歩く動作である。また、「キャラクタの意思に反する動作」とは、キャラクタが歩こうとしても歩けないでバランスを崩している動作である。
That is, the key frame set 141 includes key frame data P11 to P14, P21 to P24 corresponding to motions of the character rotation angle from 0 ° to 45 °, as key frame data indicating “motion according to the character's intention”, In addition, key frame data P31 to P34 corresponding to the motion of the character from 45 ° to 90 ° as key frame data indicating “motion contrary to the intention of the character”. Here, the “movement according to the character's intention” is a movement of the character in response to the state variable calculated by the
このように、「キャラクタの意思に反する動作」に応じたキーフレームデータをキーフレームセット141に設ける理由は、次のとおりである。 As described above, the reason why the key frame set 141 is provided with the key frame data corresponding to the “motion contrary to the intention of the character” is as follows.
すなわち、キャラクタを示す画像データを生成する画像処理においては、例えばキャラクタが転倒している状態において行動生成部11が「歩く」動作をさせる行動情報を生成しても、行動情報に応じた動作の遂行が不可能な状態があるからである。
That is, in image processing for generating image data indicating a character, for example, even if the
また、キーフレームデータは、各キーフレームセット141、142、143の多次元空間において最初に特定の次元のみが変化するものが作成され、作成された各キーフレームデータから別の次元を変化させたものが作成される。例えば、キーフレームセット141に対応するキーフレーム空間Kにおいては、図11に示すように、まず、回転角度に応じたキャラクタの姿勢を示すキーフレームデータP111、P121、P131が作成される(S21)。このキーフレーム空間Kにおいては、続いて、キーフレームデータP111が示す回転角度を保ってキャラクタが移動する姿勢を示すキーフレームデータP112、P113、P114が作成される(S22)。同様にして、このキーフレーム空間Kにおいては、キーフレームデータP121が示す回転角度を保ってキャラクタが移動する姿勢を示すキーフレームデータP122、P123、P124が作成され(S23)、キーフレームデータP131が示す回転角度を保ってキャラクタが移動する姿勢を示すキーフレームデータP132、P133、P134が作成される(S24)。 In addition, the key frame data is created in such a manner that only a specific dimension is changed first in the multi-dimensional space of each key frame set 141, 142, 143, and another dimension is changed from each created key frame data. Things are created. For example, in the key frame space K corresponding to the key frame set 141, as shown in FIG. 11, first, key frame data P111, P121, and P131 indicating the posture of the character according to the rotation angle are created (S21). . In the key frame space K, key frame data P112, P113, and P114 indicating the posture in which the character moves while maintaining the rotation angle indicated by the key frame data P111 are subsequently created (S22). Similarly, in this key frame space K, key frame data P122, P123, and P124 indicating the posture in which the character moves while maintaining the rotation angle indicated by the key frame data P121 are created (S23). Key frame data P132, P133, and P134 indicating the posture in which the character moves while maintaining the indicated rotation angle are created (S24).
また、剛体モデルの力学的挙動と映像として表示されるキャラクタが解離しないようにするため、各キーフレームデータを構成する各関節の関節角度情報の基準となる三次元座標系は、図12に示すように、キーフレーム空間K上の点を介して、回転角度が互いに異なるキャラクタを示す各キーフレームデータP201、P202、P203に対応した剛体モデルに固定されたキャラクタ座標系x1−y1−z1、x2−y2−z2、x3−y3−z3を用いている。また、各キーフレームデータは、剛体モデルからはみ出したキャラクタの表示部分がシミュレータ13による衝突判定の範囲を超えるため、キャラクタがこれに対応する回転角度の剛体モデルからできだけ超えないように作成されたものを用いる。
Further, in order to prevent dissociation between the mechanical behavior of the rigid body model and the character displayed as an image, a three-dimensional coordinate system serving as a reference of joint angle information of each joint constituting each key frame data is shown in FIG. As described above, the character coordinate system x 1 -y 1 -z fixed to the rigid body model corresponding to the key frame data P201, P202, and P203 indicating the characters having different rotation angles through the points on the key frame space K. is used 1, x 2 -y 2 -z 2 , x 3 -y 3 -z 3. In addition, each key frame data is created so that the character does not exceed the rigid body model of the corresponding rotation angle because the display portion of the character that protrudes from the rigid body model exceeds the range of the collision determination by the
具体的に、データベース14では、上述したキーフレーム空間に対応したキーフレームセットとして、表2に示すようなキーフレームセットを記憶している。
Specifically, the
補間処理部15は、行動生成部11により生成される行動情報と、シミュレータ13により算出された状態変数とに応じて、データベース14に記憶されているキーフレームデータを参照して、参照したキーフレームデータに補間処理を施して、状態変数におけるキーフレームデータを生成する。
The
具体的に、補間処理部15では、行動生成部11により生成された行動情報に対応付けられたキーフレームデータのうち、シミュレータ13により算出された状態変数が近接する関係にあるキーフレームデータからキャラクタを構成する各関節の関節角度を算出して、算出した関節角度に応じたキャラクタの姿勢データであるフレームデータを補間する。
Specifically, in the
すなわち、補間処理部15は、まず、行動生成部11により生成される行動情報に対応するキーフレームセットをデータベース14から検索する。続いて、補間処理部15は、図13に示すように、シミュレータ13に算出された状態変数である位置r及び回転角度θの二次元空間上で近接する関係にある参照キーフレームデータP1、P2、P3、P4を、データベース14から読み出し、次のような線形補間処理を施して、位置r及び回転角度θに対応するフレームデータPiを生成する。すなわち、補間処理部15では、参照キーフレームデータP1、P2、P3、P4におけるキャラクタ座標系を一致させた状態で、このキャラクタを構成する各関節の関節角度を線形補間したフレームデータを生成し、回転角度に応じて状態を傾けて補間対象となるフレームデータPiを生成する。そして、補間処理部15は、生成したフレームデータPiをレンダラ16に供給する。
That is, the
レンダラ16は、補間処理部15により生成されるフレームデータPiにレンダリング処理を施して表示用の画像データを生成してディスプレイ6に供給する。具体的に、レンダラ16は、補間処理部15により補間されたフレームデータに応じて、キャラクタを構成する各関節を示す画像を合成してキャラクタの動作を示す画像データを生成して、表示用の画像データをしてディスプレイ6に供給する。
The
以上のような処理部を備える画像処理部10では、各行動情報と任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データとしてキーフレームデータが記憶されているデータベース14を参照して、補間処理部15が、行動生成部11により生成された行動情報とシミュレータ13によって算出された状態変数とに応じたキャラクタのフレームデータを補間して出力するので、仮想空間上において力学に従ったキャラクタの動作を示す画像データを容易に生成することができる。
In the
したがって、画像処理部10では、仮想空間を体験する体験者が、仮想空間上のキャラクタとの物理的なインタラクションを実現するために、キャラクタが力学に従った動作や、壁などに対する衝突等に応じた力学的挙動を示す画像データをリアルタイムに生成することができる。
Therefore, in the
また、画像処理部10では、予め用意されたキーフレームを用いてキャラクタの動作を示す画像データを生成するので、一連の動作に応じた動画像データを他種類用意する必要がなく、アニメーション画像を制作する制作コストを削減することができる。
Further, since the
なお、本発明は、以上の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。 In addition, this invention is not limited only to the above embodiment, Of course, a various change is possible in the range which does not deviate from the summary of this invention.
1 画像処理装置、2 CPU、3 ハードディスク、4 RAM、5 インタフェース、6 ディスプレイ、10 画像処理部、11 行動生成部、12 力トルク算出部、13 シミュレータ、14 データベース、15 補間処理部、16 レンダラ、131 キャラクタ剛体モデル、131a 平面部分、132 物体剛体モデル、132a 平面部分、133 床剛体モデル、141 、142、143 キーフレームセット、200 キャラクタ、210、220 剛体 1 image processing device, 2 CPU, 3 hard disk, 4 RAM, 5 interface, 6 display, 10 image processing unit, 11 action generation unit, 12 force torque calculation unit, 13 simulator, 14 database, 15 interpolation processing unit, 16 renderer, 131 character rigid body model, 131a plane part, 132 object rigid body model, 132a plane part, 133 floor rigid body model, 141, 142, 143 key frame set, 200 character, 210, 220 rigid body
Claims (4)
上記キャラクタに行わせる行動を示す行動情報を生成する生成手段と、
上記生成手段により生成される行動情報に応じて、上記仮想空間上において上記キャラクタを動作させる力を算出する算出手段と、
上記算出手段により算出される力を上記キャラクタを模した剛体モデルに与え、該剛体モデルの力学的挙動を示す状態変数を算出するシミュレーション手段と、
上記生成手段により生成される各行動情報と上記シミュレーション手段により算出される任意の状態変数とに対応付けた上記キャラクタの姿勢に関する姿勢データが記憶されているデータベースと、
上記データベースに記憶されている姿勢データを参照して、上記生成手段により生成された行動情報と上記シミュレーション手段により算出された状態変数とに応じた上記キャラクタの姿勢データを補間する補間手段と、
上記補間手段により補間された姿勢データに応じた上記キャラクタの動作を示す画像データを出力する出力手段とを備える画像処理装置。 In an image processing apparatus that generates image data indicating the motion of a character in a virtual space,
Generating means for generating action information indicating actions to be performed by the character;
Calculating means for calculating a force for moving the character in the virtual space according to the action information generated by the generating means;
Simulation means for applying a force calculated by the calculation means to a rigid model imitating the character and calculating a state variable indicating a mechanical behavior of the rigid model;
A database in which posture data relating to the posture of the character associated with each action information generated by the generating unit and an arbitrary state variable calculated by the simulation unit is stored;
Interpolating means for interpolating the posture data of the character according to the action information generated by the generating means and the state variable calculated by the simulation means with reference to the posture data stored in the database;
An image processing apparatus comprising: output means for outputting image data indicating the motion of the character according to the posture data interpolated by the interpolation means.
上記補間手段は、上記生成手段により生成された行動情報に対応付けられた姿勢データのうち、上記シミュレーション手段により算出された状態変数が近接する関係にある姿勢データから上記キャラクタを構成する各関節の関節角度を算出して、算出した関節角度に応じた上記キャラクタの姿勢データを補間することを特徴とする請求項1記載の画像処理装置。 The database stores joint angle data of each joint constituting the character as the posture data,
The interpolation means includes the posture data associated with the behavior information generated by the generation means, and the posture data of the joints constituting the character from the posture data in which the state variables calculated by the simulation means are close to each other. The image processing apparatus according to claim 1, wherein a joint angle is calculated, and the posture data of the character corresponding to the calculated joint angle is interpolated.
上記キャラクタに行わせる行動を示す行動情報を生成する生成工程と、
上記生成工程により生成される行動情報に応じて、上記仮想空間上において上記キャラクタを動作させる力を算出する算出工程と、
上記算出工程により算出される力を上記キャラクタを模した剛体モデルに与え、該剛体モデルの力学的挙動を示す状態変数を算出するシミュレーション工程と、
上記生成工程により生成される各行動情報と上記シミュレーション手段により算出される任意の状態変数とに対応付けた上記キャラクタの姿勢に関する姿勢データが記憶されているデータベースを参照して、上記生成工程により生成される行動情報と上記シミュレーション工程により算出される状態変数とに応じた上記キャラクタの姿勢データを補間する補間工程と、
上記補間工程により補間される姿勢データに応じた上記キャラクタの動作を示す画像データを出力する出力工程とからなる画像処理方法。 In an image processing method for generating image data indicating a motion of a character in a virtual space,
A generation step of generating behavior information indicating the behavior to be performed by the character;
A calculation step of calculating a force for moving the character in the virtual space according to the action information generated by the generation step;
A simulation step of applying a force calculated by the calculation step to a rigid body model imitating the character and calculating a state variable indicating a mechanical behavior of the rigid body model;
Generated by the generation step with reference to a database storing posture data relating to the posture of the character associated with each action information generated by the generation step and an arbitrary state variable calculated by the simulation means An interpolation step of interpolating the posture data of the character according to the action information to be performed and the state variable calculated by the simulation step;
An image processing method comprising: an output step of outputting image data indicating the motion of the character according to the posture data interpolated by the interpolation step.
上記キャラクタに行わせる行動を示す行動情報を生成する生成工程と、
上記生成工程により生成される行動情報に応じて、上記仮想空間上において上記キャラクタを動作させる力を算出する算出工程と、
上記算出工程により算出される力を上記キャラクタを模した剛体モデルに与え、該剛体モデルの力学的挙動を示す状態変数を算出するシミュレーション工程と、
上記生成工程により生成される各行動情報と上記シミュレーション工程により算出される任意の状態変数とに対応付けた上記キャラクタの姿勢に関する姿勢データが記憶されているデータベースを参照して、上記生成工程により生成された行動情報と上記シミュレーション工程により算出された状態変数とに応じた上記キャラクタの姿勢データを補間する補間工程と、
上記補間工程により補間される姿勢データに応じた上記キャラクタの動作を示す画像データを出力する出力工程とからなる画像処理をコンピュータに実行させるためのプログラム。 In a program for causing a computer to execute image processing for generating image data indicating a motion of a character in a virtual space,
A generation step of generating behavior information indicating the behavior to be performed by the character;
A calculation step of calculating a force for moving the character in the virtual space according to the action information generated by the generation step;
A simulation step of applying a force calculated by the calculation step to a rigid body model imitating the character and calculating a state variable indicating a mechanical behavior of the rigid body model;
Generated by the generation step with reference to a database storing posture data relating to the posture of the character associated with each action information generated by the generation step and an arbitrary state variable calculated by the simulation step An interpolation process for interpolating the posture data of the character according to the action information and the state variable calculated by the simulation process;
A program for causing a computer to perform image processing including an output step of outputting image data indicating the motion of the character according to posture data interpolated by the interpolation step.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007217372A JP2009053760A (en) | 2007-08-23 | 2007-08-23 | Image processing apparatus, image processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007217372A JP2009053760A (en) | 2007-08-23 | 2007-08-23 | Image processing apparatus, image processing method, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009053760A true JP2009053760A (en) | 2009-03-12 |
Family
ID=40504824
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007217372A Withdrawn JP2009053760A (en) | 2007-08-23 | 2007-08-23 | Image processing apparatus, image processing method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009053760A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111739127A (en) * | 2020-06-09 | 2020-10-02 | 广联达科技股份有限公司 | Method and device for simulating associated motion in mechanical linkage process |
-
2007
- 2007-08-23 JP JP2007217372A patent/JP2009053760A/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111739127A (en) * | 2020-06-09 | 2020-10-02 | 广联达科技股份有限公司 | Method and device for simulating associated motion in mechanical linkage process |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Mihelj et al. | Virtual reality technology and applications | |
| US20230334744A1 (en) | Method and apparatus for generating walk animation of virtual role, device and storage medium | |
| US20090319892A1 (en) | Controlling the Motion of Virtual Objects in a Virtual Space | |
| CN111714880B (en) | Picture display method and device, storage medium and electronic device | |
| CN112843683B (en) | Virtual character control method and device, electronic equipment and storage medium | |
| Ye et al. | Animating responsive characters with dynamic constraints in near-unactuated coordinates | |
| JP2022532909A (en) | Change anime character | |
| KR101597940B1 (en) | Method of generating gesture of an avatar and computing device for performing the same | |
| KR20090020417A (en) | Toy robot | |
| JP4463120B2 (en) | Imitation robot system and its imitation control method | |
| Vosinakis et al. | A tool for constructing 3D Environments with Virtual Agents | |
| Onyesolu et al. | A survey of some virtual reality tools and resources | |
| US20250036273A1 (en) | Authoring system for interactive virtual reality environments | |
| US9111391B2 (en) | Image generating device, image generating method, and non-transitory information storage medium | |
| JP2009053760A (en) | Image processing apparatus, image processing method, and program | |
| CN116883560A (en) | Real-time action method and device for synchronously driving role animation and physical interaction | |
| Shen | Application and Implementation Methods of VR Technology in Higher Education Mechanical Manufacturing Programs | |
| Kim et al. | Haptic puppetry for interactive games | |
| JPH11272157A (en) | Object gripping motion simulation device | |
| Bar-Lev et al. | Virtual marionettes: a system and paradigm for real-time 3D animation | |
| JP4467590B2 (en) | Drawing apparatus, drawing method, and drawing program | |
| Tri Dung et al. | Collaboration Between Human–Robot Interaction Based on CDPR in a Virtual Reality Game Environment | |
| Mitake et al. | Physics‐driven Multi Dimensional Keyframe Animation for Artist‐directable Interactive Character | |
| Protopsaltis et al. | Virtual reality systems, tools, and frameworks | |
| Bender et al. | Synthesizing balancing character motions |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101102 |