JPH11272878A - スケルトンモデルの関節構造制御方法 - Google Patents
スケルトンモデルの関節構造制御方法Info
- Publication number
- JPH11272878A JPH11272878A JP9829298A JP9829298A JPH11272878A JP H11272878 A JPH11272878 A JP H11272878A JP 9829298 A JP9829298 A JP 9829298A JP 9829298 A JP9829298 A JP 9829298A JP H11272878 A JPH11272878 A JP H11272878A
- Authority
- JP
- Japan
- Prior art keywords
- effector
- skeleton
- singular point
- joint
- bone
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
たはモーションのデータを作成する際に用いるCGツー
ルにおいて、フリップ現象の影響を極力抑えることがで
きる関節構造の制御方法を提供することを目的とする。 【解決手段】多関節構造のスケルトンモデルの関節構造
制御方法において、ルートを固定しエフェクタを移動さ
せることによりスケルトンの形状を作成する際に、エフ
ェクタの位置に応じて定まるスケルトンの方向を、特異
点が1方向、かつ、該特異点の方向がエフェクタが最も
行きにくい方向となるように設定する。
Description
フィックスにおいて人や動物などのキャラクタを扱う際
に用いる多関節構造のスケルトンモデルを持つキャラク
タのポーズまたはモーションのデータを作成する際に用
いる関節構造の制御方法に関する。
で人や動物などのキャラクタを扱う際には多関節構造の
スケルトンモデルを用いることがあった。スケルトンモ
デルでは、キャラクタを、幾つかの骨とそれらの骨を連
結する関節点とで表す。キャラクタのポーズ(形状)や
モーション(アニメーション)のデータは、例えばSoft
Image(マイクロソフト社製CGツールの商品名)など
の市販のCGツールのインバースキネマティクス(I
K)の機能を用いて作成される。このようなキャラクタ
の形状のモデリングおよびアニメーションの表示技術に
関しては、例えば「人体の形状モデリングとアニメーシ
ョン」、福井一夫著、情報処理学会「人物のモデリング
と表示技術」セミナー資料、平成3年9月などに記載さ
れている。
モデルの例である。白丸の点が関節位置を示し、関節か
ら伸びた線分が骨を示す。例えば、401は首横の関
節、411は左鎖骨、402は左肩の関節、412は左
腕の上腕の骨、403は左肘の関節、413は左腕の下
腕の骨、404は左手首の関節に、それぞれ相当する。
また、405は左足の腿の付け根の関節、414は左足
の腿の骨、406は左足の膝の関節、415は左足の脛
の骨、407は左足の足首の関節に、それぞれ相当す
る。デザイナは、SoftImageなどのCGツールにより図
4のような骨格を作成し、さらに作成した骨格の骨や関
節の位置を指定して、キャラクタのポーズやモーション
のデータを作成していく。
形状を作成していく際の画面表示の様子を示す。図5
(a)は斜視図であり、501,502,503は関
節、505,506は骨を示す。ここでは、501は図
4の腿付け根の関節405に、502は図4の膝の関節
406に、503は図4の足首の関節407に、505
は図4の腿の骨414に、506は図4の脛の骨415
に、それぞれ対応するものとする。510は図5(a)
において設定されているxyz座標軸を示す。また、図
5(b)は図5(a)をy軸上方から見た上面図、図5
(c)は図5(a)をz軸の正面から見た正面図(z座
標が大きいほうから小さいほうを見る)、図5(d)は
図5(a)をx軸方向から見た側面図(x座標が大きい
ほうから小さいほうを見る)である。
造のスケルトンの一端(ルート)を固定し、他端(エフ
ェクタ)をマウスなどのポインティングデバイスでつま
んで移動(ドラッグ)させることにより、スケルトンの
形状を作成していく。いま図5の腿付け根の関節501
をルートとし、足首の関節503をエフェクタとし、さ
らに膝502の向きはx軸方向に向いている状態を初期
状態として、ここからエフェクタ(足首)503をマウ
スで移動させてスケルトンの形状を作成するものとす
る。
503を移動させたとき、そのエフェクタ503の位置
によって膝502の向いている方向が不連続に変化した
のでは、作成したスケルトンの形状がその不連続点で変
な挙動を示すことになり好ましくない。したがって、従
来のCGツールでも、大体の場合において、エフェクタ
503を移動させたときそのエフェクタ503の位置の
変化に対して膝502の向きが連続的に変化するように
なっている。
5(a)の矢印511に示す向きAおよび向きBの2方
向(正確にはルート501を通り、スケルトン初期形状
を含む平面(図5ではxy平面)に垂直な直線の方向)
に、スケルトンの向きが定まらず不安定な状態となる点
(以下、それらの点を特異点と呼ぶ)がある。したがっ
て、エフェクタ503が向きAまたはBの特異点に位置
すると膝502の向きが定まらず、エフェクタ503が
特異点の近くでわずかに動いてもスケルトンの膝502
の向きは大幅に向きを変える。この現象をフリップ現象
という。
であり、従来のCGツールを用いて図5でスケルトンの
形状を作成するときにスケルトンの向きを決定する矢印
を示すものである。いま図5でルート501とエフェク
タ503との間の距離は変えずにエフェクタ503を移
動する場合を考える。エフェクタ503は、ルート50
1を中心とする球面上を動くことになる。この球面上の
各点に、その点にエフェクタ503が位置したときの膝
502の向きを矢印で書き込んだものが、図6である。
図6(a)は図5(b)と同じくy軸上方からその球面
を見た上面図、図6(b)はy軸下方からその球面を見
た下面図、図6(c)は図5(c)と同じくz軸の正面
からその球面を見た正面図、図6(d)は図5(d)と
同じくx軸方向からその球面を見た側面図である。図5
の初期状態では、図6の球面の球の中心にルート501
が位置し、図6(b),(c),(d)の503と記し
た位置にエフェクタ503が位置する。
(腿付け根の関節)501は動かさずに、エフェクタ
(足首の関節)503をこの球面上で動かしたときの膝
502の向きを決定できる。例えば、図5の初期状態
(キャラクタはx軸方向を前方向として前を向いてお
り、足を地面につけて膝を少し曲げた状態にある)か
ら、ルート501を中心にしてエフェクタ503をx軸
からy軸に向かう向きに90度回転させた状態(膝の角
度は変えずに足を90度前に上げた状態)、すなわちエ
フェクタ503が図6の601に位置した状態では、そ
の位置601で矢印はy軸に平行でy座標が増加する方
向を向いているから、膝502もその方向を向いている
ことが分かる。キャラクタの立場に立てば、足を90度
前に上げて膝502が上を向いている状態である。さら
に、その状態からルート501を中心にしてエフェクタ
503をx軸からz軸に向かう向きに90度に満たない
程度回転させた状態(膝の角度は変えずに、前に上げた
足を90度近く(ただし90度には至らない程度)右に
曲げた状態)、すなわちエフェクタ503が図6の60
2に位置した状態では、矢印はやはりy軸に平行でy座
標が増加する方向を向いているから、膝502もその方
向を向いていることが分かる。キャラクタの立場に立て
ば、足を90度前に上げて膝502が上を向いている状
態から、そのまま足を右に90度近くまで回転させた状
態である。さらに、その状態から右への回転を続ける
と、エフェクタ503はA方向の特異点(図6の球面と
直線ABとの交点)610に至る。図6から分かるよう
に、特異点610では矢印が定義できないため、この位
置では膝502がどの方向を向くかは不定になる。さら
に、右への回転を続け、エフェクタ503が位置603
に至ると、該位置603では矢印はy軸に平行でy座標
が減少する方向を向いているから、膝502もその方向
を向いていることが分かる。したがって、上記の例で
は、特異点610を境にしてキャラクタの膝502が上
方向から下方向に不連続に変化することになる。
では特異点がA方向とB方向の2方向に存在する。な
お、図5,6の例では、ルート501とエフェクタ50
3との間の距離を変えずにエフェクタ503を移動する
例で説明したが、ルート501とエフェクタ503との
間の距離を変える場合も同様である。図5,6の直線
A,B上のすべての点が特異点になる。特異点の回りで
は矢印が渦巻き状になるので、エフェクタ503を特異
点近くでわずかに動かしてもスケルトンの膝502の向
きは大幅に向きを変える。この現象がフリップ現象であ
る。フリップ現象は、CGツールを用いてキャラクタの
ポーズやモーションを作成する上で好ましくない現象で
ある。
に鑑み、スケルトンモデルを持つキャラクタのポーズま
たはモーションのデータを作成する際に用いるCGツー
ルにおいて、フリップ現象の影響を極力抑えることがで
きる関節構造の制御方法を提供することを目的とする。
め、請求項1に係る発明は、多関節構造のスケルトンモ
デルの関節構造制御方法であって、ルートを固定しエフ
ェクタを移動させることによりスケルトンの形状を作成
する際に、エフェクタの位置に応じて定まるスケルトン
の方向を、特異点が1方向、かつ、該特異点の方向が特
定の方向となるように設定することを特徴とする。
ルトンモデルの関節構造制御方法であって、スケルトン
の初期形状におけるルートからエフェクタに向かう方向
の単位ベクトルから、エフェクタ移動後のルートからエ
フェクタに向かう方向のベクトルへの、単純回転マトリ
クスを求めるステップと、スケルトンの初期形状の向き
を表す座標系に前記単純回転マトリクスをかけて得られ
る座標系により、エフェクタ移動後のスケルトンの向き
を決定するステップとを備えたことを特徴とする。
の形態を説明する。
に、従来のCGツールでは特異点は2方向にある。特異
点はできれば無くしたい。しかし、エフェクタがどのよ
うな経路を経て現在位置に至ったかによらず、エフェク
タの位置だけでスケルトン形状が一意的に決まる方式を
採る限り、位相幾何の不動点定理により特異点の個数は
必ず1以上になる。また、従来のCGツールでは特異点
の方向が初期形状のエフェクタの方向から90度しか離
れていない。そこで、本発明では、特異点の方向を1方
向とし、さらにその特異点方向をスケルトン初期形状に
おけるエフェクタの方向からなるべく離れた方向に向け
るようにする。
造制御方法について説明する。
て説明する。ここでは、図1のような2本の骨bone1とb
one2を制御の対象とする。bone1とbone2は、例えば図4
のような人体の骨格構造における上腕と下腕、または腿
と脛に相当する。bone1の根元側の端点(ルート)をP
0、bone1とbone2との間の関節点をP1、bone2の先端
(エフェクタ)をP2とする。肘または膝に対応する関
節点P1の回転自由度は1である。したがって、P0お
よびP2の位置が決まれば、残る形状の自由度はP0と
P2とを結ぶ軸回りの回転のみとなる。この回転を「捻
り」と呼ぶ。
る。一番の親となる座標系として、ワールド座標系を用
いる。ワールド座標系に対し、任意の回転マトリクスM
を掛けて得られる座標系を「座標系M」と呼ぶ。なお、
ワールド座標系の代わりに他の座標系(キャラクタ固有
の座標系など)を用いた場合でも、以下の議論は全く同
様に成立する。
る。bone1,bone2それぞれのローカル座標系において、
親側関節点から子側関節点に向かう方向をx軸方向とす
る。関節P1の回転はz軸回りの回転のみとし、回転角
をθ1zとする。回転方向は、左ねじ方向を正とする。図
2の場合はθ1z≦0となる。なお、マトリクス要素の表
記は、列ベクトルに対して左からマトリクスを掛ける方
式による。
リクスをM1とし、その要素を次の数1の(1)式のよ
うに3つの列ベクトルの並びで表す。同様にして、bone
2のワールド座標系に対する回転マトリクスをM2と
し、次の数1の(2)式のように表す。
標系のそれぞれx,y,z軸単位ベクトルを、ワールド
座標系で成分表示したものである。同様に、u2x,
u2y,u2zはbone2のローカル座標系のx,y,z軸単
位ベクトルをワールド座標系で成分表示したものであ
る。また、関節P1の回転はz軸回りの回転のみなので
u1z=u2zである。
2とする。また、関節点P0,P1,P2のワールド座
標系における座標を、それぞれP0,P1,P2とする。
これらの変数の間には次の数2で示す関係が得られる。
1とする。V1は、次の数3で表される。
を定めるには、エフェクタP2が位置することができる
すべての点(特異点は除く)においてスケルトンの捻り
の向きを定義しておく必要がある。捻りの向きを定義す
ることは、図6で説明したルートを中心とする球面上に
捻りの向きを示す矢印を定義することと同値であるか
ら、どのように定義しても、少なくとも1個以上の特異
点を生じることが不動点定理より導かれる。この特異点
を1方向とし、その特異点の方向を初期形状のエフェク
タ方向からもっとも離れた方向にする。そのために、ま
ず図3に示すように、スケルトン初期形状の座標系をM
tとし、その要素を次の数4で表す。
態を表すローカル座標系を、ベクトルV1の方向をx軸
とし、u1z(u2z)の方向をz軸とする座標系M3と
し、その要素を次の数5で表す。
一意に決めることができれば、スケルトンの挙動が定ま
ったことになる。以下、M3を決める方法について述べ
る。
クスをMrとする。ただし、「単純回転」とは、始点を
共有する任意のベクトルa,bに対する、次のような回
転を表す。 a,bのなす平面に垂直な軸の回りの回転。 回転により、aはbに重なる。
の向きにある場合)は、Mrは単位行列とする。また、
u3x=−utxの場合(すなわち、P2がutxの逆向きに
ある場合)は、Mrは定義不能とする。P2がこれ以外
の向きにある場合については、Mrは次の数6で表され
る。
す単位ベクトル、φは回転角で、次の数7により得られ
る。
れる座標系を、以下の数8に示すように、M3とする。
−utxとなる1方向のみとなる。すなわち、エフェクタ
P2が、初期形状におけるP2の方向(座標系Mtのx
軸の向きutx)の逆向きにある場合が捻りの向きが不
定になる特異点の向きである。また、このスケルトンの
挙動は、utxの周りに放射方向に等方な性質を持つ。以
上のように特異点は1方向のみになり、また初期形状の
エフェクタ方向から最も離れた方向になる。実用に際し
ては、特異点の方向を関節P2が一番行きにくい方向に
設定すると効果的である。例えば、bone1が上腕で、bon
e2が下腕の場合は、腕を真横に上げた方向の反対側に向
かう向きが一番行きにくい方向であるので、その方向に
特異点を設定するために、腕を真横に上げた状態を初期
形状にする。また、bone1が腿で、bone2が脛の場合は、
平面上に自然に立っている状態の反対側に向かう向き
(足から頭に向かう方向)が一番行きにくい方向である
ので、その方向に特異点を設定する。
示す矢印を書き込んだ例であり、図5の状態を初期状態
として本発明を適用した例を示す。エフェクタ503
は、ルート501を中心とする球面上を動き、その球面
上の各点に、その点にエフェクタ503が位置したとき
の膝502の向きを矢印で書き込んだものが、図7であ
る。図7(a)は図5(b)と同じくy軸上方からその
球面を見た上面図、図7(b)はy軸下方からその球面
を見た下面図、図7(c)は図5(c)と同じくz軸の
正面からその球面を見た正面図、図7(d)は図5
(d)と同じくx軸方向からその球面を見た側面図であ
る。各図において、701が特異点(詳しくは、球の中
心から701に向かう方向がすべて特異点)である。
は1自由度の曲げのみの場合を例に説明したが、骨が3
本以上のスケルトンや関節の自由度が2以上のスケルト
ンの場合にも、本発明に係る手法を用いることで、問題
の複雑さを軽減できる。本来エフェクタの移動の自由度
は3であり、この3自由度の移動に対しスケルトンの形
状を求めなければならない。しかし、本手法を用いれ
ば、ルートとエフェクタの距離のみからスケルトン形状
を求める1自由度の問題に置き換えることができる。
エフェクタの位置に応じて定まるスケルトンの方向を、
特異点が1方向、かつ、該特異点の方向がエフェクタが
最も行きにくい方向となるように設定するので、スケル
トンモデルを持つキャラクタのポーズまたはモーション
のデータを作成する際に用いるCGツールにおいて、フ
リップ現象の影響を極力抑えることができる。
ていく際の画面表示の様子を示す図
作成するときにスケルトンの向きを決定する矢印を示す
図
ときにスケルトンの向きを決定する矢印を示す図
節点(ルート側端点)、P1…bone1とbone2との間の関
節点、P2…関節点(先端側端点)。
Claims (2)
- 【請求項1】多関節構造のスケルトンモデルの関節構造
制御方法であって、 ルートを固定しエフェクタを移動させることによりスケ
ルトンの形状を作成する際に、エフェクタの位置に応じ
て定まるスケルトンの方向を、特異点が1方向、かつ、
該特異点の方向が特定の方向となるように設定すること
を特徴とするスケルトンモデルの関節構造制御方法。 - 【請求項2】多関節構造のスケルトンモデルの関節構造
制御方法であって、 スケルトンの初期形状におけるルートからエフェクタに
向かう方向の単位ベクトルから、エフェクタ移動後のル
ートからエフェクタに向かう方向のベクトルへの、単純
回転マトリクスを求めるステップと、 スケルトンの初期形状の向きを表す座標系に前記単純回
転マトリクスをかけて得られる座標系により、エフェク
タ移動後のスケルトンの向きを決定するステップとを備
えたことを特徴とするスケルトンモデルの関節構造制御
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09829298A JP3404285B2 (ja) | 1998-03-25 | 1998-03-25 | スケルトンモデルの関節構造制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09829298A JP3404285B2 (ja) | 1998-03-25 | 1998-03-25 | スケルトンモデルの関節構造制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11272878A true JPH11272878A (ja) | 1999-10-08 |
JP3404285B2 JP3404285B2 (ja) | 2003-05-06 |
Family
ID=14215861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09829298A Expired - Fee Related JP3404285B2 (ja) | 1998-03-25 | 1998-03-25 | スケルトンモデルの関節構造制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3404285B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310523A (ja) * | 2007-06-13 | 2008-12-25 | Nintendo Co Ltd | 情報処理プログラムおよび情報処理装置 |
JP2012164163A (ja) * | 2011-02-07 | 2012-08-30 | Celsys:Kk | 骨格モデルの捻りの制御装置,方法及びプログラム |
-
1998
- 1998-03-25 JP JP09829298A patent/JP3404285B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310523A (ja) * | 2007-06-13 | 2008-12-25 | Nintendo Co Ltd | 情報処理プログラムおよび情報処理装置 |
JP2012164163A (ja) * | 2011-02-07 | 2012-08-30 | Celsys:Kk | 骨格モデルの捻りの制御装置,方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3404285B2 (ja) | 2003-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sanso et al. | A hand control and automatic grasping system for synthetic actors | |
Lien et al. | Model-based articulated hand motion tracking for gesture recognition | |
Yamane et al. | Natural motion animation through constraining and deconstraining at will | |
Basdogan et al. | Haptic rendering in virtual environments | |
Baerlocher | Inverse kinematics techniques of the interactive posture control of articulated figures | |
EP1288867B1 (en) | Method for generating motion | |
US6704694B1 (en) | Ray based interaction system | |
US5666473A (en) | Tactile computer aided sculpting device | |
EP0827115B1 (en) | Animation control apparatus and method | |
CN109116992B (zh) | 一种用于虚拟手力反馈交互的碰撞响应系统 | |
Kuch et al. | Human computer interaction via the human hand: a hand model | |
Allen et al. | Closed-form non-singular constant-curvature continuum manipulator kinematics | |
Duval et al. | Skewer: a 3d interaction technique for 2-user collaborative manipulation of objects in virtual environments | |
JP4267508B2 (ja) | 仮想ダミーの人間工学的動きの最適化 | |
Lee et al. | Spline joints for multibody dynamics | |
Rohling et al. | Optimized fingertip mapping: a general algorithm for robotic hand teleoperation | |
Meredith et al. | Real-time inverse kinematics: The return of the jacobian | |
Shao et al. | A general joint component framework for realistic articulation in human characters | |
Wampler | Inverse kinematic functions for redundant spherical wrists | |
JPH11272878A (ja) | スケルトンモデルの関節構造制御方法 | |
Miyata et al. | Hand link modeling and motion generation from motion capture data based on 3D joint kinematics | |
Sofronia et al. | Haptic devices in engineering and medicine | |
JPH11272877A (ja) | スケルトンモデルのデータ表現方法 | |
Molet et al. | An architecture for immersive evaluation of complex human tasks | |
Chen et al. | Dual quaternion based virtual hand interaction modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20080229 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090228 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20090228 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100228 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20100228 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100228 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20100228 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20110228 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 9 Free format text: PAYMENT UNTIL: 20120229 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 9 Free format text: PAYMENT UNTIL: 20120229 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20130228 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20130228 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140228 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |