[go: up one dir, main page]

JP2009053760A - Image processing apparatus, image processing method, and program - Google Patents

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

Info

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
Application number
JP2007217372A
Other languages
Japanese (ja)
Inventor
Hirotsune Mitake
裕玄 三武
Kazuyuki Asano
一行 浅野
Shoichi Hasegawa
晶一 長谷川
Takafumi Aoki
孝文 青木
Makoto Sato
佐藤  誠
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.)
University of Electro Communications NUC
Original Assignee
University of Electro Communications NUC
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 University of Electro Communications NUC filed Critical University of Electro Communications NUC
Priority to JP2007217372A priority Critical patent/JP2009053760A/en
Publication of JP2009053760A publication Critical patent/JP2009053760A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】力学に従ったキャラクタの動作を示す画像データを容易に生成する画像処理装置を提供する。
【解決手段】仮想空間上のキャラクタに行わせる行動を示す行動情報を生成する行動生成部11と、キャラクタを動作させる力を算出する力トルク算出部12と、力トルク算出手段12により算出される力をキャラクタを模した剛体モデルに与えて状態変数を算出するシミュレータ13と、行動生成部11により生成される各行動情報とシミュレータ13により算出される任意の状態変数とに対応付けたキャラクタのキーフレームデータが記憶されているデータベース14と、キーフレームデータを参照して、行動生成部11により生成された行動情報とシミュレータ13により算出された状態変数とに応じたフレームデータを補間する補間処理部15と、補間処理部15により補間されたフレームデータに応じた画像データ出力するレンダラ16とを備える。
【選択図】 図2
An 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 Patent Document 1, individual animations such as “walking” and “jumping” are held as action objects, and a transition from one action object to another is performed by an event, and the action of each action object is completed. It describes how to generate an animation that accepts an event and moves it to another action object even if it is not, smoothly connecting individual animations, or automatically generating an animation that takes into account the change in animation for the event. Yes.

特開2000―1199号公報JP 2000-1199 A

インタラクションの対象として現実感が高く、感情移入しやすい魅力的なキャラクタを実現するには、デザイナがキャラクタ毎に膨大な動作を制作しなければならないという問題がある。例えば上述した特許文献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 Patent Document 1 described above is used, since the designer creates many types of motion objects, the production cost becomes very high. For this reason, it is required to increase the productivity of content by creating various motion objects by combining still images of characters produced by a designer. Such processing requires a production environment that can be performed as easily as possible in accordance with the skills of a conventional designer.

本発明は、このような実情に鑑みて提案されたものであり、仮想空間において力学に従ったキャラクタの動作を示す画像データを容易に生成する画像処理装置、画像処理方法、及び、この画像処理をコンピュータに実行させるプログラムを提供することを目的とする。   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 image processing apparatus 1 as shown in FIG.

画像処理装置1は、汎用性の演算処理プロセッサを備えるコンピュータであって、演算処理を行うCPU2と、画像データやアプリケーションを実行するためのプログラムを記憶するハードディスク3と、CPU2が演算処理を行うデータを一時的に記憶するRAM4と、外部からユーザからの操作入力などを入力するためのインタフェース5と、CPU2による演算処理結果を表示するディスプレイ6とを備える。   The image processing apparatus 1 is a computer including a general-purpose arithmetic processing processor, and includes a CPU 2 that performs arithmetic processing, a hard disk 3 that stores image data and a program for executing an application, and data that the CPU 2 performs arithmetic processing. Are temporarily stored, an interface 5 for inputting an operation input from the user from the outside, and a display 6 for displaying a result of arithmetic processing by the CPU 2.

CPU2は、仮想空間上のキャラクタの動作を示す画像データを生成する画像処理を行うためのプログラムをハードディスク3からRAM4に読み出して実行する。   The CPU 2 reads out a program for performing image processing for generating image data indicating the motion of the character in the virtual space from the hard disk 3 to the RAM 4 and executes it.

ハードディスク3は、CPU2による演算処理により生成される画像データや上述した画像処理を実行するためのプログラムを記憶する。   The hard disk 3 stores image data generated by arithmetic processing by the CPU 2 and a program for executing the above-described image processing.

RAM4は、CPU2が演算処理を行うデータを一時的に記憶する。   The RAM 4 temporarily stores data on which the CPU 2 performs arithmetic processing.

インタフェース5は、ユーザからの操作入力を受け付け、この操作入力に関する操作情報をCPU2に供給する。   The interface 5 receives an operation input from the user and supplies operation information related to the operation input to the CPU 2.

ディスプレイ6は、CPU2による演算処理によって生成される画像データを表示する。   The display 6 displays image data generated by arithmetic processing by the CPU 2.

以上のような構成からなる画像処理装置1では、CPU2が仮想空間上におけるキャラクタの動作を示す画像データを生成する画像処理を行うためのプログラムをハードディスク3からRAM4に読み出すことによって、図2に示すような画像処理部10が実現される。   In the image processing apparatus 1 configured as described above, the CPU 2 reads out from the hard disk 3 the RAM 4 a program for performing image processing for generating image data indicating the movement of the character in the virtual space. Such an image processing unit 10 is realized.

すなわち、画像処理部10は、図2に示すように、キャラクタの行動を示す行動情報を生成する行動生成部11と、キャラクタを動作させる力及びトルクに関する情報を算出する力トルク算出部12と、キャラクタを模した剛体モデルの力学的挙動を示す状態変数を算出するシミュレータ13と、所定の行動情報と任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データが予め記憶されているデータベース14と、姿勢データを補間する補間処理部15と、補間処理部15により補間される姿勢データに応じたキャラクタの動作を示す画像データを生成するレンダラ16とを備える。   That is, as shown in FIG. 2, the image processing unit 10 includes a behavior generation unit 11 that generates behavior information indicating the behavior of the character, a force torque calculation unit 12 that calculates information about the force and torque that causes the character to operate, A simulator 13 that calculates a state variable indicating the mechanical behavior of a rigid model imitating a character, and a database 14 that stores in advance posture data relating to the posture of the character associated with predetermined action information and an arbitrary state variable; An interpolation processing unit 15 that interpolates the posture data, and a renderer 16 that generates image data indicating the action of the character according to the posture data interpolated by the interpolation processing unit 15.

以上のような構成からなる画像処理部10において、まず、キャラクタを模した剛体モデルの力学的挙動を示す状態変数を算出するシミュレータ13について説明する。   In the image processing unit 10 configured as described above, first, a simulator 13 that calculates a state variable indicating the mechanical behavior of a rigid model imitating a character will be described.

シミュレータ13は、後述する力トルク算出部12により算出される力FpとトルクNpを図3に示すようなキャラクタを模したキャラクタ剛体モデル131に与える。そして、シミュレータ13は、キャラクタ剛体モデル131と、例えば壁などの物体を模した物体剛体モデル132と、床を模した床剛体モデル133との間で発生する衝突や摩擦などの力学的挙動をシミュレーションして、各剛体モデルの力学的挙動を示す状態変数を算出する。ここで、状態変数とは、例えば予め設定した3次元平面上の原点に対する剛体モデルの位置r、位置rを時間で微分した速度v、剛体モデルの重心に対する回転角度θ、回転角度θを時間で微分した角速度ωなどを示す情報である。シミュレータ13は、キャラクタ剛体モデル131、物体剛体モデル132、及び、床剛体モデル133の全ての剛体モデルに関する状態変数を環境情報として算出して行動生成部11に供給する。   The simulator 13 gives a force Fp and a torque Np calculated by a later-described force torque calculation unit 12 to a character rigid body model 131 that imitates a character as shown in FIG. Then, the simulator 13 simulates mechanical behavior such as collision and friction generated between the character rigid body model 131, the object rigid body model 132 imitating an object such as a wall, and the floor rigid body model 133 imitating the floor. Then, a state variable indicating the mechanical behavior of each rigid body model is calculated. Here, the state variables are, for example, the position r of the rigid model with respect to the preset origin on the three-dimensional plane, the speed v obtained by differentiating the position r with time, the rotation angle θ with respect to the center of gravity of the rigid model, and the rotation angle θ with time. This is information indicating the differentiated angular velocity ω and the like. The simulator 13 calculates state variables relating to all rigid body models of the character rigid body model 131, the object rigid body model 132, and the floor rigid body model 133 as environment information and supplies them to the action generation unit 11.

また、シミュレータ13では、関節などを有さないキャラクタ剛体モデル131を用いてキャラクタを表現している。これは、キャラクタの各部の位置と回転角度を計算するための力学モデルである多関節モデルでは、扱う状態変数の数が多く複雑な計算を要する上、目的の動作を得るための調整が難しいからである。そこで、この画像処理部10では、シミュレータ13においてキャラクタを模した剛体モデルを用いてキャラクタの力学的挙動をシミュレーションし、このシミュレーションによって得られる状態変数に基づいて、後述する補間処理部15により生成される姿勢データでキャラクタの各関節の関節角度を表現して、レンダラ16によってキャラクタの動作を示す画像データを出力する。   In the simulator 13, the character is expressed using a character rigid model 131 having no joints. This is because the multi-joint model, which is a dynamic model for calculating the position and rotation angle of each part of the character, has a large number of state variables to handle and requires complicated calculations, and it is difficult to adjust to obtain the desired action. It is. In view of this, the image processing unit 10 simulates the mechanical behavior of the character using the rigid body model imitating the character in the simulator 13, and is generated by the interpolation processing unit 15 described later based on the state variables obtained by the simulation. The posture data expresses the joint angle of each joint of the character, and the renderer 16 outputs image data indicating the action of the character.

また、シミュレータ13では、各剛体モデルの形状が剛体モデル同士の衝突判定に用いられるため、映像として表示されるキャラクタの外形に近いものを用いる。このようにすることで、シミュレータ13では、このシミュレーション結果から得られるキャラクタと他の物体との接触時の映像において、物体間で離れすぎたりめり込んだりする現象が発生することを防止できる。   Moreover, in the simulator 13, since the shape of each rigid body model is used for the collision determination between rigid body models, the thing close | similar to the external shape of the character displayed as an image | video is used. In this way, the simulator 13 can prevent the phenomenon that the objects are separated from each other or squeezed in the video when the character obtained from the simulation result contacts another object.

また、シミュレータ13では、以下のように剛体モデルの特性を設定することで、デザイナが目的の動作を容易に作成することができる。   In the simulator 13, the designer can easily create a desired motion by setting the characteristics of the rigid model as follows.

第1に、シミュレータ13では、図4(A)に示すように、平面部分131aを有するキャラクタ剛体モデル131を設計することで、図4(B)に示すように、キャラクタ剛体モデル131と物体剛体モデル132との接触時においてキャラクタ剛体モデル131が物体剛体モデル132の平面部分132aに向きやすくさせることができる。第2に、シミュレータ13では、剛体モデルの辺及び頂点を回転の支点とすることで、容易にキャラクタの回転動作を調節することができる。第3に、シミュレータ13では、キャラクタに応じてキャラクタ剛体モデル131の形状、質量、及び、重心を設定し、設定した情報に応じてキャラクタの回転特性である下記式の慣性テンソルLを調節することができる。   First, the simulator 13 designs a character rigid body model 131 having a plane portion 131a as shown in FIG. 4A, so that the character rigid body model 131 and the object rigid body as shown in FIG. It is possible to make the character rigid body model 131 easily face the plane portion 132 a of the object rigid body model 132 at the time of contact with the model 132. Second, the simulator 13 can easily adjust the rotation motion of the character by using the sides and vertices of the rigid model as fulcrums for rotation. Third, the simulator 13 sets the shape, mass, and center of gravity of the character rigid body model 131 according to the character, and adjusts the inertia tensor L of the following expression, which is the rotation characteristic of the character, according to the set information. Can do.

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 torque calculation unit 12 described later. Usually, a unit matrix is used for L.

また、シミュレータ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 simulator 13 uses a character 200 as shown in FIG. 5 as a specific example. Here, the origin is defined as the bottom of the character, and the three-dimensional orthogonal coordinate axes are defined as follows. That is, the width direction of the character 200 is defined as the x axis, the vertical direction is defined as the y axis, and the front direction is defined as the z axis. Further, when an object collides with the front of the character 200, that is, when an external force F1 is applied in the −z-axis direction, a torque N1 that rotates with respect to the center of gravity G of the character 200 is generated more so as to make it easier to roll. Therefore, in the simulator 13, as shown in FIG. 6A, the character rigid body model when the rigid body 210 having such a shape that the cross-sectional area of the xz plane decreases in the −y-axis direction collides with the object rigid body model 132. Used as 131. Further, in order to make sure that the character is in a state of lying or lying on the floor when the character falls on the floor, as shown in FIG. 6B, the simulator 13 forms a rigid body 220 having a shape that easily falls in the ± z-axis direction. It is used as the character rigid body model 131 when it collides with the rigid body model 133. As described above, the simulator 13 can easily express the natural movement of the character 200 by using a character rigid body model 131 having a different shape for each colliding object.

また、この具体例において、シミュレータ13では、下記のように定義した多次元空間(以下、キーフレーム空間Kという。)におけるキャラクタ200の状態変数を算出する。   In this specific example, the simulator 13 calculates a state variable of the character 200 in a multidimensional space (hereinafter referred to as a key frame space K) defined as follows.

Figure 2009053760
Figure 2009053760

また、シミュレータ13では、上述したキーフレーム空間Kにおける剛体モデルの位置r、速度v、向きを示す回転行列Rから、キャラクタがキーフレーム空間K上に位置する基準点に変換する関数Fを、下記式(2)のように定義している。   In the simulator 13, a function F for converting a character from a rotation matrix R indicating the position r, velocity v, and direction of the rigid body model in the key frame space K to a reference point located on the key frame space K It is defined as equation (2).

Figure 2009053760
Figure 2009053760

以上のようなシミュレータ13によって算出される環境情報に応じて、行動生成部11は、キャラクタの行動を決定して、決定したキャラクタの行動に関する行動情報及びこのキャラクタの状態変数を力トルク算出部12に供給する。また、行動生成部11は、この行動情報を補間処理部15に供給する。ここで、行動生成部11は、例えば、環境情報に応じて所定のAI(Artificial Intelligence)処理によってキャラクタの行動を決定するが、インタフェース5からのユーザ操作によってキャラクタの行動を逐次決定するようにしてもよい。   In accordance with the environment information calculated by the simulator 13 as described above, the behavior generation unit 11 determines the character's behavior, and the behavior information regarding the determined character's behavior and the state variable of the character are determined as the force torque calculation unit 12. To supply. Further, the behavior generation unit 11 supplies this behavior information to the interpolation processing unit 15. Here, for example, the behavior generation unit 11 determines the behavior of the character by a predetermined AI (Artificial Intelligence) process according to the environment information, but sequentially determines the behavior of the character by a user operation from the interface 5. Also good.

力トルク算出部12は、行動生成部11から供給される行動情報と、シミュレータ13により算出される環境情報に応じて、キャラクタを動作させるための力及びトルクに関する情報を算出する。例えば、上述した図5に示すようなキャラクタ200を動作させるため、図7に示すようにキャラクタ200に与える力Fp及びトルクNpを算出する。ここで力Fpとは、キャラクタ200が脚で発生させる力、すなわち剛体モデルの最下部においてz軸方向に作用させる力である。また、トルクNpとは、キャラクタ200の重心Gにおけるx軸方向を中心軸として回転させるための力である。   The force torque calculation unit 12 calculates information on the force and torque for operating the character in accordance with the action information supplied from the action generation unit 11 and the environment information calculated by the simulator 13. For example, in order to move the character 200 as shown in FIG. 5 described above, the force Fp and torque Np applied to the character 200 are calculated as shown in FIG. Here, the force Fp is a force that the character 200 generates with the legs, that is, a force that acts in the z-axis direction at the bottom of the rigid model. Further, the torque Np is a force for rotating the x axis direction at the center of gravity G of the character 200 as the central axis.

力トルク算出部12は、キャラクタ200の姿勢を直立状態に安定させるための姿勢制御と、姿勢が安定している状態でキャラクタ200の移動を行う移動制御との2つの制御に応じて力Fp及びトルクNpを算出する。   The force torque calculation unit 12 performs the force Fp and the force Fp according to two controls: a posture control for stabilizing the posture of the character 200 in an upright state, and a movement control for moving the character 200 while the posture is stable. Torque Np is calculated.

力トルク算出部12は、姿勢制御として、図8(A)に示すように、状態の遷移に応じて力Fp及びトルクNpを算出する。また、θxは、キャラクタの姿勢を示す状態変数であって図8(B)に示すように、具体的にはx軸に対するキャラクタ剛体モデル131の回転角度を示し、初期状態をθx=0°とする。また、力トルク算出部12は、行動生成部11から供給される状態変数に応じて以下のように制御モードを遷移させる。   As shown in FIG. 8A, the force torque calculator 12 calculates a force Fp and a torque Np according to the state transition as posture control. Further, θx is a state variable indicating the posture of the character. Specifically, as shown in FIG. 8B, the rotation angle of the character rigid body model 131 with respect to the x-axis is specifically shown, and the initial state is θx = 0 °. To do. Moreover, the force torque calculation part 12 changes control mode as follows according to the state variable supplied from the action production | generation part 11. FIG.

まず、通常状態モードS11において、力トルク算出部12は、下記の(3)式のようにして力Fp及びトルクNpを算出する。   First, in the normal state mode S11, the force torque calculation unit 12 calculates the force Fp and the torque Np as shown in the following equation (3).

Figure 2009053760
Figure 2009053760

その後、力トルク算出部12は、|θx|>θ1となると、キャラクタ200の姿勢がバランスを崩した状態となるので、この状態を直立状態に回復させるため、倒立振子制御モードS12に遷移する。   Thereafter, when | θx |> θ1 is satisfied, the force / torque calculation unit 12 shifts to the inverted pendulum control mode S12 in order to restore this state to the upright state because the posture of the character 200 is out of balance.

倒立振子制御モードS12において、力トルク算出部12は、下記の(4)式のようにして力Fp及びトルクNpを算出する。   In the inverted pendulum control mode S12, the force torque calculation unit 12 calculates the force Fp and the torque Np as shown in the following equation (4).

Figure 2009053760
Figure 2009053760

その後、力トルク算出部12は、|θx|≒0°となったとき通常状態モードS11に遷移し、|θx|>θ2となると直立状態に回復させることができないものとして、キャラクタ200が倒れて落ち着くまでの挙動を行わせるため、安定化待機モードS13に遷移する。   Thereafter, the force torque calculation unit 12 transitions to the normal state mode S11 when | θx | ≈0 ° and assumes that the character 200 cannot be restored to the upright state when | θx |> θ2, and the character 200 falls down. In order to perform the behavior until calming down, the transition is made to the stabilization standby mode S13.

安定化待機モードS13において、力トルク算出部12は、下記の(5)式のようにして力Fp及びトルクNpを算出する。   In the stabilization standby mode S13, the force torque calculation unit 12 calculates the force Fp and the torque Np as shown in the following equation (5).

Figure 2009053760
Figure 2009053760

その後、力トルク算出部12は、|θx|≒0かつ|dθx|≒0になると通常状態モードS11に遷移し、|dθx|≒0かつキャラクタ200が仰向けの姿勢になると起立モードS15に遷移する。   After that, the force torque calculating unit 12 transitions to the normal state mode S11 when | θx | ≈0 and | dθx | ≈0, and transitions to the standing mode S15 when | dθx | ≈0 and the character 200 is in the supine posture. .

起立モードS15において、力トルク算出部12は、下記の(6)式のようにして力Fp及びトルクNpを算出する。   In the standing mode S15, the force torque calculation unit 12 calculates the force Fp and the torque Np as shown in the following equation (6).

Figure 2009053760
Figure 2009053760

その後、力トルク算出部12は、|θx|≒0°となったとき通常状態モードS11に遷移する。   Thereafter, the force torque calculator 12 transitions to the normal state mode S11 when | θx | ≈0 °.

また、力トルク算出部12は、キャラクタ200が通常状態モードのとき、位置rを移動させる移動制御を行うため、下記(7)式、及び(8)式のようにして力Fp及びトルクNpそれぞれを算出する。   Further, since the force torque calculation unit 12 performs movement control to move the position r when the character 200 is in the normal state mode, the force Fp and the torque Np are respectively expressed by the following equations (7) and (8). Is calculated.

Figure 2009053760
Figure 2009053760

ここで、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.

Figure 2009053760
Figure 2009053760

データベース14は、行動生成部11により生成される各行動情報とシミュレータ13により算出される任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データ(以下、キーフレームデータという。)が記憶されている。具体的に、データベース14は、このキーフレームデータとして、キャラクタを構成する各関節の関節角度データを記憶している。   The database 14 stores posture data (hereinafter referred to as key frame data) relating to the character posture associated with each piece of behavior information generated by the behavior generation unit 11 and an arbitrary state variable calculated by the simulator 13. Yes. Specifically, the database 14 stores joint angle data of each joint constituting the character as the key frame data.

また、データベース14は、例えば、図9に示すように、キャラクタが「歩く」動作を示す行動情報に対応付けられたキーフレームセット141と、キャラクタが「走る」動作を示す行動情報に対応付けられたキーフレームセット142と、キャラクタが「押す」動作を示す行動情報に対応付けられたキーフレームセット143毎に分類して各キーフレームデータを記憶している。   Further, for example, as illustrated in FIG. 9, the database 14 is associated with a key frame set 141 associated with action information indicating that the character “walks” and action information indicating that the character “runs”. Each key frame data is classified and stored for each key frame set 143 associated with the key frame set 142 and the action information indicating the action of the character “pressing”.

データベース14が記憶しているキーフレームデータは、上述した各キーフレームセット141、142、143毎に、シミュレータ13により算出される状態変数に対応する多次元空間内に配置されている。   The key frame data stored in the database 14 is arranged in a multidimensional space corresponding to the state variables calculated by the simulator 13 for each of the key frame sets 141, 142, and 143 described above.

例えば、キャラクタが「歩く」動作を示す行動情報に対応付けられたキーフレームセット141では、図10に示すようにしてキーフレームデータがキャラクタの位置r及び回転角度θを示す状態変数に対応した2次元空間内に配置されている。   For example, in the key frame set 141 associated with the action information indicating that the character “walks”, the key frame data 2 corresponds to the state variable indicating the position r and the rotation angle θ of the character as shown in FIG. Arranged in dimensional space.

すなわち、キーフレームセット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 simulator 13. Further, “an action contrary to the character's intention” is an action in which the character is out of balance without being able to walk even if he or she tries to walk.

このように、「キャラクタの意思に反する動作」に応じたキーフレームデータをキーフレームセット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 action generation unit 11 generates action information that causes the action generation unit 11 to “walk” in a state where the character is falling, the action corresponding to the action information is generated. This is because there are states that cannot be performed.

また、キーフレームデータは、各キーフレームセット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に対応した剛体モデルに固定されたキャラクタ座標系x−y−z、x−y−z、x−y−zを用いている。また、各キーフレームデータは、剛体モデルからはみ出したキャラクタの表示部分がシミュレータ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 simulator 13. Use things.

具体的に、データベース14では、上述したキーフレーム空間に対応したキーフレームセットとして、表2に示すようなキーフレームセットを記憶している。   Specifically, the database 14 stores key frame sets as shown in Table 2 as key frame sets corresponding to the key frame space described above.

Figure 2009053760
Figure 2009053760

補間処理部15は、行動生成部11により生成される行動情報と、シミュレータ13により算出された状態変数とに応じて、データベース14に記憶されているキーフレームデータを参照して、参照したキーフレームデータに補間処理を施して、状態変数におけるキーフレームデータを生成する。   The interpolation processing unit 15 refers to the key frame data stored in the database 14 according to the behavior information generated by the behavior generation unit 11 and the state variable calculated by the simulator 13, and refers to the key frame referred to. Data is interpolated to generate key frame data in the state variable.

具体的に、補間処理部15では、行動生成部11により生成された行動情報に対応付けられたキーフレームデータのうち、シミュレータ13により算出された状態変数が近接する関係にあるキーフレームデータからキャラクタを構成する各関節の関節角度を算出して、算出した関節角度に応じたキャラクタの姿勢データであるフレームデータを補間する。   Specifically, in the interpolation processing unit 15, among the key frame data associated with the behavior information generated by the behavior generation unit 11, the character from the key frame data in which the state variables calculated by the simulator 13 are close to each other Are calculated, and frame data that is character posture data corresponding to the calculated joint angles is interpolated.

すなわち、補間処理部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 interpolation processing unit 15 first searches the database 14 for a key frame set corresponding to the behavior information generated by the behavior generation unit 11. Subsequently, as illustrated in FIG. 13, the interpolation processing unit 15, the reference key frame data P <b> 1 and P <b> 2 that are close to each other in the two-dimensional space of the position r and the rotation angle θ that are state variables calculated by the simulator 13. , P3 and P4 are read from the database 14, and the following linear interpolation processing is performed to generate frame data Pi corresponding to the position r and the rotation angle θ. That is, the interpolation processing unit 15 generates frame data obtained by linearly interpolating the joint angles of the joints constituting the character in a state where the character coordinate systems in the reference key frame data P1, P2, P3, and P4 are matched. The frame data Pi to be interpolated is generated by inclining the state according to the rotation angle. Then, the interpolation processing unit 15 supplies the generated frame data Pi to the renderer 16.

レンダラ16は、補間処理部15により生成されるフレームデータPiにレンダリング処理を施して表示用の画像データを生成してディスプレイ6に供給する。具体的に、レンダラ16は、補間処理部15により補間されたフレームデータに応じて、キャラクタを構成する各関節を示す画像を合成してキャラクタの動作を示す画像データを生成して、表示用の画像データをしてディスプレイ6に供給する。   The renderer 16 performs rendering processing on the frame data Pi generated by the interpolation processing unit 15 to generate image data for display and supplies it to the display 6. Specifically, the renderer 16 synthesizes an image showing each joint constituting the character according to the frame data interpolated by the interpolation processing unit 15 to generate image data indicating the action of the character, and displays it for display. The image data is supplied to the display 6.

以上のような処理部を備える画像処理部10では、各行動情報と任意の状態変数とに対応付けたキャラクタの姿勢に関する姿勢データとしてキーフレームデータが記憶されているデータベース14を参照して、補間処理部15が、行動生成部11により生成された行動情報とシミュレータ13によって算出された状態変数とに応じたキャラクタのフレームデータを補間して出力するので、仮想空間上において力学に従ったキャラクタの動作を示す画像データを容易に生成することができる。   In the image processing unit 10 including the processing unit as described above, interpolation is performed by referring to the database 14 in which key frame data is stored as posture data relating to the posture of the character associated with each action information and an arbitrary state variable. Since the processing unit 15 interpolates and outputs the character frame data corresponding to the behavior information generated by the behavior generation unit 11 and the state variable calculated by the simulator 13, the character of the character according to the dynamics in the virtual space is output. Image data indicating the operation can be easily generated.

したがって、画像処理部10では、仮想空間を体験する体験者が、仮想空間上のキャラクタとの物理的なインタラクションを実現するために、キャラクタが力学に従った動作や、壁などに対する衝突等に応じた力学的挙動を示す画像データをリアルタイムに生成することができる。   Therefore, in the image processing unit 10, in order for the experience person who experiences the virtual space to realize a physical interaction with the character in the virtual space, the character responds to the movement according to the mechanics, the collision with the wall or the like. It is possible to generate image data showing the dynamic behavior in real time.

また、画像処理部10では、予め用意されたキーフレームを用いてキャラクタの動作を示す画像データを生成するので、一連の動作に応じた動画像データを他種類用意する必要がなく、アニメーション画像を制作する制作コストを削減することができる。   Further, since the image processing unit 10 generates image data indicating a character's motion using a key frame prepared in advance, there is no need to prepare other types of moving image data corresponding to a series of motions, and an animation image is generated. Production costs to produce can be reduced.

なお、本発明は、以上の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。   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.

画像処理装置の全体構成を示す構成図である。It is a block diagram which shows the whole structure of an image processing apparatus. 画像処理部が備える各処理部の構成を示す構成図である。It is a block diagram which shows the structure of each process part with which an image process part is provided. 仮想空間で実現される各剛体モデルを模式的に示す図である。It is a figure which shows typically each rigid body model implement | achieved in virtual space. 図4(A)は、キャラクタ剛体モデルの一例を示す図であり、図4(B)は、キャラクタ剛体モデルと物体剛体モデルとの衝突を模式的に示す図である。FIG. 4A is a diagram illustrating an example of a character rigid body model, and FIG. 4B is a diagram schematically illustrating a collision between a character rigid body model and an object rigid body model. キャラクタの一例を示す図である。It is a figure which shows an example of a character. キャラクタ剛体モデルの一例を示す図である。It is a figure which shows an example of a character rigid body model. キャラクタの一例を示す図である。It is a figure which shows an example of a character. 図8(A)は、姿勢制御の処理フローを説明するために供する状態遷移図であり、図8(B)は、制御対象となる回転角度について説明するために供する図である。FIG. 8A is a state transition diagram provided for explaining the processing flow of attitude control, and FIG. 8B is a diagram provided for explaining the rotation angle to be controlled. データベースに記憶されているキーフレームセットを模式的に示す図である。It is a figure which shows typically the key frame set memorize | stored in the database. 2次元空間上に配置されたキーフレームを模式的に示す図である。It is a figure which shows typically the key frame arrange | positioned on two-dimensional space. キーフレームセットを構成する各キーフレームの作成工程について説明するために供する図である。It is a figure provided in order to demonstrate the production process of each key frame which comprises a key frame set. 各姿勢毎にキャラクタに固定されたキャラクタ座標系を示す図である。It is a figure which shows the character coordinate system fixed to the character for every attitude | position. 補間処理によって生成されるフレームデータを模式的に示す図である。It is a figure which shows typically the frame data produced | generated by the interpolation process.

符号の説明Explanation of symbols

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.
JP2007217372A 2007-08-23 2007-08-23 Image processing apparatus, image processing method, and program Withdrawn JP2009053760A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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