JP2007058709A - Image processor, image processing method and program - Google Patents
Image processor, image processing method and program Download PDFInfo
- Publication number
- JP2007058709A JP2007058709A JP2005245329A JP2005245329A JP2007058709A JP 2007058709 A JP2007058709 A JP 2007058709A JP 2005245329 A JP2005245329 A JP 2005245329A JP 2005245329 A JP2005245329 A JP 2005245329A JP 2007058709 A JP2007058709 A JP 2007058709A
- Authority
- JP
- Japan
- Prior art keywords
- center
- gravity
- predetermined time
- virtual
- posture
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 230000005484 gravity Effects 0.000 claims description 44
- 230000007704 transition Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 abstract description 18
- 206010034719 Personality change Diseases 0.000 abstract 1
- 230000036544 posture Effects 0.000 description 43
- 210000000988 bone and bone Anatomy 0.000 description 18
- 230000001133 acceleration Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に仮想3次元空間に配置されたオブジェクトの動きを実現する技術に関する。 The present invention relates to an image processing apparatus, an image processing method, and a program, and more particularly to a technique for realizing the movement of an object arranged in a virtual three-dimensional space.
仮想3次元空間をコンピュータ内に構築するとともに、この空間内に人型のオブジェクトを配置しておき、それを空間内の任意の視点から見た様子をディスプレイにより可視化する3次元CGの分野では、オブジェクトの動きを予めモーションデータとして保存しておき、このモーションデータの再生により、それらオブジェクトの動きが実現されるようになっている。モーションデータは、例えばモーションキャプチャと呼ばれる、実際の人の動きからモーションデータを生成する方法により得られる。こうした技術は、例えば特許文献1及び2に開示されている。
In the field of 3D CG in which a virtual 3D space is constructed in a computer, and a humanoid object is placed in this space, and the state viewed from an arbitrary viewpoint in the space is visualized by a display, The movements of the objects are stored in advance as motion data, and the movements of the objects are realized by reproducing the motion data. The motion data is obtained, for example, by a method called motion capture that generates motion data from actual human movements. Such a technique is disclosed in
特に、モーションデータを用いてオブジェクトを仮想3次元空間において自在に移動させる場合には、その姿勢変化についてはモーションデータにより再現し、その仮想3次元空間中の位置変化については別途、例えばユーザ操作に従って決定することが多い。
しかしながら、上記従来技術では、モーションデータによりオブジェクトの姿勢変化を再現するとともに、別途独立して同オブジェクトの仮想3次元空間における位置変化を算出すると、オブジェクトの姿勢変化とオブジェクトの位置変化とが連動せず、不自然な表示を招く虞がある。例えば、オブジェクトの重心が激しく変化して、今にも地面から飛び上がりそうな姿勢変化をしているにも拘わらず、同オブジェクトの位置は地面に固定されたままだと、ユーザは違和感を覚える。 However, in the above prior art, when the posture change of the object is reproduced by the motion data and the position change of the object in the virtual three-dimensional space is calculated separately, the posture change of the object and the position change of the object are linked. Therefore, an unnatural display may be caused. For example, the user feels uncomfortable when the position of the object remains fixed on the ground despite the fact that the center of gravity of the object has changed drastically and the posture is likely to jump off the ground.
本発明は上記課題に鑑みてなされたものであって、その目的は、オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができる画像処理装置、画像処理方法及びプログラムを提供することにある。 The present invention has been made in view of the above problems, and an object of the present invention is to provide an image processing apparatus, an image processing method, and an image processing apparatus capable of obtaining a display of an object without a sense of incongruity by linking an object posture change and a position change To provide a program.
上記課題を解決するために、本発明に係る画像処理装置は、仮想3次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想3次元空間に配置された所与の視点から該仮想3次元空間を見た様子を示す画像を表示する画像処理装置であって、前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段と、前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段と、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段と、を含むことを特徴とする。 In order to solve the above problems, an image processing apparatus according to the present invention changes the posture of an object arranged on a field object in a virtual three-dimensional space based on motion data indicating transition of the posture of the object. And an image processing device for displaying an image showing the virtual three-dimensional space viewed from a given viewpoint arranged in the virtual three-dimensional space, wherein the object is displayed at predetermined time intervals based on the motion data. Centroid position calculating means for calculating the centroid position of the object, centroid movement amount calculating means for calculating the amount of movement of the centroid position of the object per predetermined time, and for the predetermined time in the direction away from the field object of the centroid position When the amount of movement exceeds a predetermined threshold, the position of the object is set to the center of gravity position of the object. And determining the position of the object based on the position of the contact portion of the object with respect to the field object when the amount of movement of the center of gravity in the direction away from the field object per predetermined time is less than a predetermined threshold. And position determining means for determining the position.
また、本発明に係る画像処理方法は、仮想3次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想3次元空間に配置された所与の視点から該仮想3次元空間を見た様子を示す画像を表示する画像処理方法であって、前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出ステップと、前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出ステップと、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定ステップと、を含むことを特徴とする。 The image processing method according to the present invention changes the posture of an object arranged on a field object in a virtual three-dimensional space based on motion data indicating a transition of the posture of the object, An image processing method for displaying an image showing a virtual three-dimensional space viewed from a given viewpoint arranged in a space, wherein the center of gravity position of the object is calculated every predetermined time based on the motion data A center-of-gravity position calculating step; a center-of-gravity movement amount calculating step of calculating a movement amount of the center-of-gravity position of the object per predetermined time; and a movement amount per predetermined time in the direction away from the field object of the center-of-gravity position is a predetermined threshold value The position of the object is determined based on the position of the center of gravity of the object. A position for determining the position of the object based on the position of the contact portion of the object with respect to the field object when the amount of movement of the center of gravity in the direction away from the field object per predetermined time is less than a predetermined threshold value And a determining step.
また、本発明に係るプログラムは、仮想3次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想3次元空間に配置された所与の視点から該仮想3次元空間を見た様子を示す画像を表示する手段、前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段、前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段、及び前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段としてコンピュータを機能させるためのプログラムである。このプログラムは、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な各種情報記憶媒体に格納されてよい。また、コンピュータは、例えば家庭用ゲーム機、業務用ゲーム機、携帯ゲーム機、携帯電話機、携帯情報端末、パーソナルコンピュータ、サーバコンピュータ等である。 Further, the program according to the present invention changes the posture of an object arranged on a field object in the virtual three-dimensional space based on motion data indicating a transition of the posture of the object, and in the virtual three-dimensional space. Means for displaying an image showing the virtual three-dimensional space viewed from a given viewpoint, a center-of-gravity position calculating means for calculating the center-of-gravity position of the object at predetermined intervals based on the motion data, and the predetermined Centroid movement amount calculating means for calculating a movement amount of the centroid position of the object per time, and when the movement amount per predetermined time in the direction away from the field object of the centroid position exceeds a predetermined threshold, A position is determined based on the position of the center of gravity of the object, and the position of the center of gravity is A computer functioning as position determining means for determining the position of the object based on the position of the contact portion of the object with respect to the field object when the amount of movement per predetermined time in the direction away from the object is less than a predetermined threshold It is a program to make it. This program may be stored in various computer-readable information storage media such as a CD-ROM and a DVD-ROM. The computer is, for example, a home game machine, an arcade game machine, a portable game machine, a mobile phone, a portable information terminal, a personal computer, a server computer, or the like.
本発明では、モーションデータに基づいて、所定時間毎にオブジェクトの重心位置を算出するとともに、所定時間あたりのオブジェクトの重心位置の移動量を算出する。そして、フィールドオブジェクトから離れる向きの移動量が所定閾値を超える場合に、オブジェクトの位置をその重心位置に基づいて決定する。例えば、重心位置を仮想3次元空間において放物運動させ、そこを基準としてオブジェクトの各部の相対的な位置が決定されるようにしてもよい。また、移動量が所定閾値未満の場合には、オブジェクトのフィールドオブジェクトに対する接触部分の位置に基づいて決定する。例えば、接触部分の位置を、該接触部分がフィールドオブジェクトに接するようにして決定し、そこを基準としてオブジェクトの各部の相対的な位置が決定されるようにしてもよい。なお、上記所定閾値は、仮想3次元空間において前記オブジェクトが自由落下した場合の前記所定時間あたりの落下距離であってもよい。本発明によれば、オブジェクトの姿勢変化を示すモーションデータに基づいてオブジェクトの重心位置の移動量を算出するとともに、その移動量に応じて、オブジェクトの位置の決定方法を適宜変えるので、オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができるようになる。 In the present invention, the center of gravity position of the object is calculated every predetermined time based on the motion data, and the movement amount of the center of gravity position of the object per predetermined time is calculated. When the amount of movement away from the field object exceeds a predetermined threshold, the position of the object is determined based on the position of the center of gravity. For example, the position of the center of gravity may be parabolically moved in a virtual three-dimensional space, and the relative position of each part of the object may be determined with reference to that. If the movement amount is less than the predetermined threshold value, it is determined based on the position of the contact portion of the object with respect to the field object. For example, the position of the contact portion may be determined such that the contact portion contacts the field object, and the relative position of each part of the object may be determined based on the contact portion. The predetermined threshold may be a drop distance per predetermined time when the object freely falls in a virtual three-dimensional space. According to the present invention, the amount of movement of the center of gravity position of the object is calculated based on the motion data indicating the change in the posture of the object, and the method for determining the position of the object is appropriately changed according to the amount of movement. It is possible to link the change and the position change to obtain a display of an object with no sense of incongruity.
なお、前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの重心位置を前記仮想3次元空間において放物運動させるとともに、放物運動する該重心位置に基づいて前記オブジェクトの位置を決定するようにしてもよい。 The position determination means performs a parabolic motion of the center of gravity position of the object in the virtual three-dimensional space when the amount of movement of the center of gravity position in a direction away from the field object per predetermined time exceeds a predetermined threshold. At the same time, the position of the object may be determined based on the position of the center of gravity where the parabola moves.
また、前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が前記所定閾値未満の場合に、前記接触部分の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超えるか否かに応じて、前記接触部分を前記フィールドオブジェクトから離間させるようにしてもよい。 In addition, the position determination unit may be configured to detect the position of the center of gravity at a predetermined time in a direction away from the field object when a moving amount per predetermined time in a direction away from the field object is less than the predetermined threshold. The contact portion may be separated from the field object according to whether the amount of movement exceeds a predetermined threshold.
以下、本発明の実施形態について図面に基づき詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施形態に係る画像処理装置においてメモリ上に構築される仮想3次元空間を示す模式図である。同図に示すように、仮想3次元空間10はその(グローバル座標系の)XZ平面上に平板状のフィールドオブジェクト12が配置され、フィールドオブジェクト12上に人型のキャラクタオブジェクト14が配置される。キャラクタオブジェクト14はモーションデータに従ってその姿勢を変化させるようになっており、フィールドオブジェクト12上でジャンプしたり、しゃがんだり、歩いたり、といった動作を行う。モーションデータは、キャラクタオブジェクト14の位置情報を含んでおらず、姿勢変化の情報のみを含んでいる。すなわち、モーションデータは、所定時間毎のキャラクタオブジェクト14の姿勢を示すデータを時系列に含んでいる。このため、キャラクタオブジェクト14の位置変化(代表位置の移動)については、別途計算により算出される。
FIG. 1 is a schematic diagram showing a virtual three-dimensional space constructed on a memory in an image processing apparatus according to an embodiment of the present invention. As shown in the figure, in the virtual three-
キャラクタオブジェクト14は、図2に示す骨構造を有しており、代表位置(ルート位置)Rからは上方にボーンU1が延伸し、その先端からさらに上方にボーンU2が延伸している。また、ボーンU1及びボーンU2の接続点には、順に連結されたボーン群UR1〜UR4、ボーン群UL1〜UL4が接続されている。また、代表位置Rから下方にはボーンL1が延伸し、さらにその先端位置から左右斜め上方にオフセットした位置から、それぞれ下方に、順に連結されたボーン群LR1〜LR3、ボーン群LL1〜LL3が延伸している。これらのボーンは、図3に示すようにツリー構造を有しており、代表位置Rを決定すると、それに応じて各ボーンの位置が決定される。また、ボーンLL3及びボーンLR3の位置及び姿勢を決定すると、それに応じて代表位置R及び他のボーンの位置及び姿勢が決定される(インバースキネマティクス)。
The
さらに、本実施形態では、キャラクタオブジェクト14の重心位置の演算が行われる。キャラクタオブジェクト14は、図4に示すようにパーツW1〜W15から構成されており、各パーツの重心位置Pn(仮想3次元空間10におけるグローバル座標)及び荷重比αn(全重量に対する各パーツの重量の占める割合)が、図5に示すテーブルにより常時管理されている(n=1から15)。ここで、キャラクタオブジェクト14全体での重心位置Pは、次式(1)により算出される。
Further, in the present embodiment, calculation of the center of gravity position of the
なお、αnは次式(2)を満足するものであり、実際の人間の重量分布を参考に、統計的又は経験的に決定されるものである。 Αn satisfies the following expression (2), and is determined statistically or empirically with reference to the actual human weight distribution.
ここで、本実施形態に係る画像処理装置のハードウェア構成を説明する。図6は、本画像処理装置のハードウェア構成を示しており、同図に示すように、画像処理装置20は記憶部26、演算部22及び表示部24を含む、従来公知のコンピュータシステムである。記憶部26は、RAM等の半導体記憶装置やハードディスク記憶装置等の磁気記憶装置により構成されるものであり、特にキャラクタオブジェクト14等の仮想3次元空間10に配置される各種オブジェクトの形状や絵柄を示すデータ(ポリゴンデータやテクスチャデータ等)を記憶するオブジェクトデータ記憶部26aと、キャラクタオブジェクト14等の仮想3次元空間10に配置される各種オブジェクトの動き(姿勢変化)を示すモーションデータを記憶するモーションデータ記憶部26bと、が設けられる。演算部22は、CPUやRAM等を含む公知のコンピュータによって構成されており、仮想3次元空間10に配置された各種オブジェクトの位置及び姿勢を演算するとともに、それらオブジェクトを仮想3次元空間10に設定された視点から見た様子を画像化し、それを表示部24に供給するものである。表示部24は、この画像を受け取って出力するものであり、例えばCRTやLCD等により構成される。表示部24は、例えば家庭用テレビ受像器であってもよいし、また、記憶部26及び演算部22は、例えば家庭用ゲーム機やパーソナルコンピュータであってもよい。
Here, the hardware configuration of the image processing apparatus according to the present embodiment will be described. FIG. 6 shows a hardware configuration of the image processing apparatus. As shown in FIG. 6, the
この画像処理装置20は、本実施形態に係る画像処理プログラムを実行することにより、各種機能を実現するようになっている。すなわち、図7に示すように、画像処理装置20は、機能的には、重心位置算出部30、重心移動量算出部32、位置・姿勢決定部34、画像生成部36、オブジェクトデータ記憶部26a、モーションデータ記憶部26b、表示部24を含んでいる。これらの機能は、コンピュータシステムである画像処理装置20において、所定のプログラムが実行されることにより実現される。
The
まず重心位置算出部30は、キャラクタオブジェクト14の重心位置を上記式(1)に従って所定時間毎に算出する。このとき、各時刻でのキャラクタオブジェクト14の各パーツWnの位置座標Pnは、モーションデータ記憶部26bに記憶されているモーションデータに基づいて決定する。次に、重心移動量算出部32は、所定時間毎に、重心位置算出部30で算出されるキャラクタオブジェクト14の重心位置間の距離を算出する。こうして算出される距離は、所定時間(重心位置の算出間隔)あたりの重心移動量として位置・姿勢決定部34に供給される。
First, the center-of-gravity
位置・姿勢決定部34は、キャラクタオブジェクト14の重心位置のフィールドオブジェクト12から離れる向き(すなわちグローバル座標系におけるY方向)の移動量が所定閾値を超えるか否かを判断する。そして、所定閾値を超える場合には、キャラクタオブジェクト14の重心位置を基準として、該キャラクタオブジェクト14の位置を決定する。また、所定閾値未満の場合には、キャラクタオブジェクト14の足部分(フィールドオブジェクト12との接触部分であり、例えばボーンLR3,LL3やパーツW6,W9等である。)の位置を基準として、該キャラクタ14の位置を決定する。所定閾値は、ここではキャラクタオブジェクト14が自由落下した場合の所定時間あたりの落下距離である。
The position /
具体的には、位置・姿勢決定部34は、キャラクタオブジェクト14の重心位置のフィールドオブジェクト12から離れる向きの所定時間あたりの移動量が所定閾値を超える場合に、キャラクタオブジェクト14の重心位置を仮想3次元空間10において放物運動させるとともに、その放物運動する重心位置に基づいてキャラクタオブジェクト14の位置を決定する。また、キャラクタオブジェクト14の重心位置のフィールドオブジェクト12から離れる向きの所定時間あたりの移動量が所定閾値未満の場合に、足部分のフィールドオブジェクト12から離れる向きの所定時間あたりの移動量が所定閾値を超えるか否かに応じて、足部分をフィールドオブジェクト12から離間させる。
Specifically, the position /
画像生成部36は、フィールドオブジェクト12やキャラクタオブジェクト14が配置された仮想3次元空間10の様子を示す画像、すなわち仮想3次元空間10に配置された所与の視点から該仮想3次元空間10を見た様子を生成して、それを表示部24に供給する。表示部24では、この画像を表示出力する。
The
図8は、画像処理装置20におけるキャラクタオブジェクト14の位置及び姿勢を算出する処理を示すフロー図である。同図に示すように、この処理では、まず位置・姿勢決定部34がモーションデータ記憶部26bからモーションデータを読み出す(S101)。このモーションデータは、上述のようにグローバル座標系での移動情報を含まないものであり、初期状態においてキャラクタオブジェクト14は安定的な姿勢、すなわち両足を地面(フィールドオブジェクト12)に対して延ばした姿勢をとっている。そして、位置・姿勢決定部34は、読み出したモーションデータを用いて、キャラクタオブジェクト14の両足部分がフィールドオブジェクト12に接触するようにして、キャラクタオブジェクト14の位置及び姿勢を決定する(S102)。すなわち、両方の足部分がフィールドオブジェクト12に接触するようにして、それらの部分の位置及び姿勢を決定し、その後、両足部分の位置及び姿勢を基準として、インバースキネマティクスにより他の部分の位置及び姿勢を決定する。次に、重心位置算出部30は、モーションデータ記憶部26bに記憶された次時刻(フレーム)のモーションデータを読み出し、そのモーションデータに基づいて、キャラクタオブジェクト14の重心位置を算出する(S103)。
FIG. 8 is a flowchart showing a process for calculating the position and orientation of the
次に、キャラクタオブジェクト14の片足が浮くか否かを判断する(S104)。図9は、この判断を説明する図である。同図において、WRはキャラクタオブジェクト14の右足に掛かる荷重であり、WLはキャラクタオブジェクト14の左足に掛かる荷重である。またPRは右脚の接地位置であり、PLは左足の接地位置である。さらに、P’は、PRとPLとを結んでなる線分に対して重心位置Pから下ろした垂線の足の位置である。このとき、PRとP’との間の距離と、P’とPLとの間の距離と、の比を1−ω:ωとすると、WR及びWLは、それぞれ次式(3)及び(4)のようになる。
Next, it is determined whether one leg of the
或いは、キャラクタオブジェクト14の重心位置Pが、線分PRPLの直上に無い場合には、図10に示すように、重心位置PからP’への方向と、鉛直方向(−Y方向)とのなす角をθとし、線分PRPL上に及ぼされるキャラクタオブジェクト14の荷重成分をW1とすると、次式(5)〜(7)が成り立つ。これらの式は、θ=0のとき、上記式(3)及び(4)と一致する。
Alternatively, when the gravity center position P of the
ここで、右足の重力加速度(右足が落下する際の加速度)、左足の重力加速度(左足が落下する際の加速度)を、それぞれ次式(8)及び(9)により表す。
そして、これらの値を用いて、左右の足について次式(10)及び(11)が満足されているか否かを判断する。そして、満足していれば、各足はフィールドオブジェクト12から浮くことができると判断する。
Then, using these values, it is determined whether or not the following expressions (10) and (11) are satisfied for the left and right feet. If satisfied, it is determined that each foot can float from the
ここで、式(10)の左辺は、鉛直方向(Y方向、すなわちフィールドオブジェクト12から右足部分が離れる方向)における、モーションデータが示す右足部分の1フレーム時間あたりの移動距離である。また、式(10)の右辺は、式(8)の加速度gRにより1フレーム時間にわたり右足部分が落下した場合の落下距離である。同様に、式(11)の左辺は、鉛直方向(Y方向、すなわちフィールドオブジェクト12から左足部分が離れる方向)における、モーションデータが示す左足部分の1フレーム時間あたりの移動距離である。また、式(11)の右辺は、式(9)の加速度gLにより1フレーム時間にわたり左足部分が落下した場合の落下距離である。 Here, the left side of Expression (10) is the movement distance per frame time of the right foot portion indicated by the motion data in the vertical direction (Y direction, that is, the direction in which the right foot portion is separated from the field object 12). Also, the right-hand side of Equation (10) is a falling distance when the right foot portion was dropped over one frame time by the acceleration g R of formula (8). Similarly, the left side of Expression (11) is the movement distance per frame time of the left foot portion indicated by the motion data in the vertical direction (Y direction, that is, the direction in which the left foot portion is separated from the field object 12). Further, the right side of the equation (11) is a fall distance when the left foot part falls for one frame time due to the acceleration g L of the equation (9).
つまり、画像処理装置20では、図8のS104において、右足部分が式(8)に示される加速度で落下した場合の落下距離よりも、モーションデータが示す、フィールドオブジェクト12から離れる向きの右足部分の移動距離の方が大きい場合に、右足が浮くと判断する。また、左足部分が式(9)に示される加速度で落下した場合の落下距離よりも、モーションデータが示す、フィールドオブジェクト12から離れる向きの左足部分の移動距離の方が大きい場合に、左足が浮くと判断する。そして、いずれの足部分がフィールドオブジェクト12に対して浮くと判断すると、その足部分の位置をフィールドオブジェクト12から離間するよう補正する(S105)。
In other words, in the
次に、画像処理装置20では、位置・姿勢決定部34がフィールドオブジェクト12上でキャラクタオブジェクト14がジャンプしたか否かを判断する(S106)。具体的には、位置・姿勢決定部34は、次式(12)に示される重心位置Pに掛かる荷重Wの値を算出する。そして、荷重Wが0以上であればジャンプ可能状態と判断し、荷重Wが負であれば接地していると判断する。また、特に荷重Wが−mgであれば、自由落下していると判断する。なお、下記において、Wは重心位置に掛かる荷重であり、αは重心位置の移動の加速度であり、gは重力加速度である。また、Fはフィールドオブジェクト12からキャラクタオブジェクト14への反力であり、mはキャラクタオブジェクト14の総重量であり、ΔVは1フレーム時間あたりの重心位置の移動速度の増分であり、Δtは1フレーム時間である。
Next, in the
さらに、荷重Wが0以上であってジャンプ可能状態の場合には、下記式(14)が満足されているか否かを判断する。ここで、右辺は重心位置Pが自由落下した場合の1フレーム時間における落下距離であり、左辺Δvは重心位置の1フレーム時間における鉛直方向(+Y方向)の移動量である。 Further, when the load W is 0 or more and the jump is possible, it is determined whether or not the following formula (14) is satisfied. Here, the right side is a fall distance in one frame time when the gravity center position P is freely dropped, and the left side Δv is a movement amount in the vertical direction (+ Y direction) in one frame time of the gravity center position.
そして、荷重Wが0以上であって上記式(14)が満足されている状態から、荷重Wが−mgに等しくなるタイミングにて、キャラクタオブジェクト14がジャンプしたものと判断する。この場合、キャラクタオブジェクト14の重心位置Pを下記式(15)に従って放物運動させる(S107)。
Then, it is determined that the
そして、位置・姿勢決定部34は、以上の処理結果に応じて、キャラクタオブジェクト14の各パーツの位置及び姿勢を決定し、これによりキャラクタオブジェクト14の位置及び姿勢を決定する(S108)。具体的には、S106でキャラクタオブジェクト14がジャンプしないと判断した場合には、キャラクタオブジェクト14の足部分の位置及び姿勢を基準として、キャラクタオブジェクト14の位置及び姿勢を決定する。また、S106でキャラクタオブジェクト14がジャンプすると判断した場合には、キャラクタオブジェクト14の放物運動する重心位置Pを基準として、キャラクタオブジェクト14の位置及び姿勢を決定する。
Then, the position /
その後、決定された各パーツの位置及び姿勢に基づき、画像生成部36が仮想3次元空間10の様子を示す画像を生成し、それを表示部24が表示する(S109)。そして、次のフレームタイミングが到来するのを待機し(S110)、到来すれば次フレームのモーションデータをモーションデータ記憶部26bから読み出し(S111)、読み出したモーションデータに基づいて、再びS103以降の処理を実行する。
Thereafter, based on the determined position and orientation of each part, the
以上の本実施形態によれば、キャラクタオブジェクト14の姿勢変化を示すモーションデータに基づいてキャラクタオブジェクト14の重心位置Pの移動量Δvを算出するとともに、その移動量Δvに応じて、キャラクタオブジェクト14の位置の決定方法を適宜変えるので、オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができるようになる。
According to the embodiment described above, the movement amount Δv of the center of gravity position P of the
10 仮想3次元空間、12 フィールドオブジェクト、14 キャラクタオブジェクト、20 画像処理装置、22 演算部、24 表示部、26 記憶部、26a オブジェクトデータ記憶部、26b モーションデータ記憶部、30 重心位置算出部、32 重心移動量算出部、34 位置・姿勢決定部、36 画像生成部。 10 virtual three-dimensional space, 12 field object, 14 character object, 20 image processing device, 22 calculation unit, 24 display unit, 26 storage unit, 26a object data storage unit, 26b motion data storage unit, 30 barycentric position calculation unit, 32 The center-of-gravity movement amount calculation unit, 34 position / posture determination unit, and 36 image generation unit.
Claims (5)
前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段と、
前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段と、
前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段と、
を含むことを特徴とする画像処理装置。 The posture of the object arranged on the field object in the virtual three-dimensional space is changed based on the motion data indicating the transition of the posture of the object, and the posture is changed from a given viewpoint arranged in the virtual three-dimensional space. An image processing apparatus that displays an image showing a state of viewing a virtual three-dimensional space,
Based on the motion data, a center-of-gravity position calculating unit that calculates the center-of-gravity position of the object every predetermined time;
Centroid movement amount calculating means for calculating a movement amount of the centroid position of the object per the predetermined time;
When the movement amount per predetermined time in the direction away from the field object of the barycentric position exceeds a predetermined threshold, the position of the object is determined based on the barycentric position of the object, and from the field object of the barycentric position Position determining means for determining the position of the object based on the position of the contact portion of the object with respect to the field object when the amount of movement in the direction of leaving is less than a predetermined threshold;
An image processing apparatus comprising:
前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの重心位置を前記仮想3次元空間において放物運動させるとともに、放物運動する該重心位置に基づいて前記オブジェクトの位置を決定する、
ことを特徴とする画像処理装置。 The image processing apparatus according to claim 1.
The position determining means performs a parabolic motion of the center of gravity position of the object in the virtual three-dimensional space when the amount of movement of the center of gravity position in a direction away from the field object per predetermined time exceeds a predetermined threshold. Determining the position of the object based on the position of the center of gravity in parabolic motion;
An image processing apparatus.
前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が前記所定閾値未満の場合に、前記接触部分の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超えるか否かに応じて、前記接触部分を前記フィールドオブジェクトから離間させる、
ことを特徴とする画像処理装置。 The image processing apparatus according to claim 1 or 2,
The position determining means moves the contact portion in the direction away from the field object in the direction of the predetermined time when the amount of movement of the center of gravity in the direction away from the field object in the direction of the predetermined time is less than the predetermined threshold. Depending on whether the amount exceeds a predetermined threshold, the contact portion is separated from the field object;
An image processing apparatus.
前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出ステップと、
前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出ステップと、
前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定ステップと、
を含むことを特徴とする画像処理方法。 The posture of the object arranged on the field object in the virtual three-dimensional space is changed based on the motion data indicating the transition of the posture of the object, and the posture is changed from a given viewpoint arranged in the virtual three-dimensional space. An image processing method for displaying an image showing a state of viewing a virtual three-dimensional space,
Based on the motion data, a center-of-gravity position calculating step for calculating the center-of-gravity position of the object every predetermined time;
A center-of-gravity movement amount calculating step of calculating a movement amount of the center-of-gravity position of the object per the predetermined time;
When the movement amount per predetermined time in the direction away from the field object of the barycentric position exceeds a predetermined threshold, the position of the object is determined based on the barycentric position of the object, and from the field object of the barycentric position A position determining step of determining the position of the object based on the position of the contact portion of the object with respect to the field object when the amount of movement per predetermined time in the direction of leaving is less than a predetermined threshold;
An image processing method comprising:
前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段、
前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段、及び
前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段
としてコンピュータを機能させるためのプログラム。
The posture of the object arranged on the field object in the virtual three-dimensional space is changed based on the motion data indicating the transition of the posture of the object, and the posture is changed from a given viewpoint arranged in the virtual three-dimensional space. Means for displaying an image showing a virtual three-dimensional space
Based on the motion data, a center-of-gravity position calculating unit that calculates the center-of-gravity position of the object every predetermined time;
A center-of-gravity movement amount calculation means for calculating a movement amount of the center-of-gravity position of the object per predetermined time; and a movement amount per predetermined time in a direction away from the field object of the center-of-gravity position exceeds a predetermined threshold, The position of the object is determined based on the center of gravity position of the object, and when the amount of movement of the center of gravity position in the direction away from the field object per predetermined time is less than a predetermined threshold, the position of the object is determined as A program for causing a computer to function as position determining means for determining based on the position of a contact portion with respect to the field object.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005245329A JP2007058709A (en) | 2005-08-26 | 2005-08-26 | Image processor, image processing method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005245329A JP2007058709A (en) | 2005-08-26 | 2005-08-26 | Image processor, image processing method and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007058709A true JP2007058709A (en) | 2007-03-08 |
Family
ID=37922128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005245329A Pending JP2007058709A (en) | 2005-08-26 | 2005-08-26 | Image processor, image processing method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2007058709A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012133536A (en) * | 2010-12-21 | 2012-07-12 | Mitsubishi Precision Co Ltd | Method of correcting action of object of three-dimensional computer graphics, apparatus employing such method and program for computer to execute such method |
| JP2021529637A (en) * | 2018-08-01 | 2021-11-04 | ソニー・インタラクティブエンタテインメント エルエルシー | Player-triggered counterbalance of loads on characters in virtual environment |
| JP7741953B1 (en) * | 2024-11-21 | 2025-09-18 | 株式会社Cygames | Program, motion control method and motion control device |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08212375A (en) * | 1994-08-11 | 1996-08-20 | Sega Enterp Ltd | Image processing apparatus and method thereof |
| JPH11306388A (en) * | 1998-04-24 | 1999-11-05 | Namco Ltd | Image generation device and information storage medium |
| JP2003025260A (en) * | 2001-07-11 | 2003-01-29 | Sharp Corp | Walking control device for legged robot |
| JP2003085592A (en) * | 2001-09-10 | 2003-03-20 | Namco Ltd | Image generation system, program, and information storage medium |
| JP2003117857A (en) * | 2001-08-01 | 2003-04-23 | Honda Motor Co Ltd | A method for estimating the floor reaction force of a bipedal moving object and a method for estimating a joint moment of a bipedal moving object |
| JP2004078695A (en) * | 2002-08-20 | 2004-03-11 | Japan Science & Technology Corp | Animation creation system |
| JP2004314247A (en) * | 2003-04-17 | 2004-11-11 | Honda Motor Co Ltd | A method for estimating a floor reaction force action point of a bipedal walking object and a method for estimating a joint moment of a bipedal walking object |
-
2005
- 2005-08-26 JP JP2005245329A patent/JP2007058709A/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08212375A (en) * | 1994-08-11 | 1996-08-20 | Sega Enterp Ltd | Image processing apparatus and method thereof |
| JPH11306388A (en) * | 1998-04-24 | 1999-11-05 | Namco Ltd | Image generation device and information storage medium |
| JP2003025260A (en) * | 2001-07-11 | 2003-01-29 | Sharp Corp | Walking control device for legged robot |
| JP2003117857A (en) * | 2001-08-01 | 2003-04-23 | Honda Motor Co Ltd | A method for estimating the floor reaction force of a bipedal moving object and a method for estimating a joint moment of a bipedal moving object |
| JP2003085592A (en) * | 2001-09-10 | 2003-03-20 | Namco Ltd | Image generation system, program, and information storage medium |
| JP2004078695A (en) * | 2002-08-20 | 2004-03-11 | Japan Science & Technology Corp | Animation creation system |
| JP2004314247A (en) * | 2003-04-17 | 2004-11-11 | Honda Motor Co Ltd | A method for estimating a floor reaction force action point of a bipedal walking object and a method for estimating a joint moment of a bipedal walking object |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012133536A (en) * | 2010-12-21 | 2012-07-12 | Mitsubishi Precision Co Ltd | Method of correcting action of object of three-dimensional computer graphics, apparatus employing such method and program for computer to execute such method |
| JP2021529637A (en) * | 2018-08-01 | 2021-11-04 | ソニー・インタラクティブエンタテインメント エルエルシー | Player-triggered counterbalance of loads on characters in virtual environment |
| JP7741953B1 (en) * | 2024-11-21 | 2025-09-18 | 株式会社Cygames | Program, motion control method and motion control device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2497547B1 (en) | Information processing program, information processing apparatus, information processing system, and information processing method | |
| JP3696216B2 (en) | Three-dimensional video game apparatus, control method of virtual camera in three-dimensional video game, program and recording medium | |
| US9833705B2 (en) | Storage medium storing information processing program, information processing apparatus and information processing method | |
| US9842405B2 (en) | Visual target tracking | |
| US7830375B2 (en) | Constraint schemes for computer simulation of cloth and other materials | |
| US8565476B2 (en) | Visual target tracking | |
| US11429193B2 (en) | Control of virtual objects based on gesture changes of users | |
| US8682028B2 (en) | Visual target tracking | |
| US8577085B2 (en) | Visual target tracking | |
| US8565477B2 (en) | Visual target tracking | |
| JP5303068B2 (en) | Image processing apparatus, image processing method, and image processing program | |
| CN110381910A (en) | Walk support system, walk support method, and walk support program | |
| US20110070953A1 (en) | Storage medium storing information processing program, information processing apparatus and information processing method | |
| WO2019116495A1 (en) | Technique recognition program, technique recognition method, and technique recognition system | |
| EP1505546A2 (en) | Method for drawing a three-dimensional image by modeling a second object connected to a first object | |
| EP3617850A1 (en) | Information processing device, information processing method, and program | |
| US9675887B2 (en) | Object display device | |
| KR100825704B1 (en) | Image processor, image processing method and information storage medium | |
| US8482519B2 (en) | Storage medium storing information processing program, information processing apparatus and information processing method | |
| JP2007058709A (en) | Image processor, image processing method and program | |
| JP2007102734A (en) | Image processor, image processing method and program | |
| JPH10113465A5 (en) | ||
| JP3973995B2 (en) | Animation creation system | |
| JP7370198B2 (en) | Processing system, information processing device, program and processing method | |
| JP5378027B2 (en) | GAME PROGRAM, STORAGE MEDIUM, AND COMPUTER DEVICE |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080521 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101013 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110301 |