background

インバースキネマティクスについて。

2007年09月08日(Sat)

IKについて曖昧な記述を見かけたので、ちょっと補正してみる。トラックバックを送信できればいいのだが……。

通常、フィギュアの手や足といった末端のパーツは、胸の軸回転が○度、肩の上下が○度、加えて腕の屈伸が○度……と、骨格の根元(腰)から順番に各パーツの回転を足し合わせなければ、どの位置にあるか特定できない。したがって、ポージングは根幹のパーツから付けていくのが基本だ。

しかしそれでは、手を動かしたり歩いたりするようなポーズを付ける時に手間がかかって仕方がない。そこで考案されたのがインバースキネマティクス(以下IK)だ。IKは通常とは逆に、終端となるパーツの位置や角度を決定すると、そこに至るまでの各のパーツの角度を自動的に計算する。
PoserではIKはフィギュアにIKチェーンという情報を組み込むことによって実現している。標準的な階層構造を持つ多くのフィギュアは両手と両足にIKチェーンが組み込まれており、デフォルトでは足のIKが有効になっている。

さて、PoserでフィギュアにIKチェーンを組み込む際には、制作者が必ず注意しなければならない点がある。それが、「回転の優先方向」だ。

試みに、20センチぐらいのまっすぐな細い針金の両端を摘んで、そのまま両手を近付けていくさまを想像してみよう。手に少しの捻りも加えないまま位置だけを近付けて行くとしたら、あなたは針金がどの向きにぐにゃりと曲がるか予言できるだろうか。

IKでも、それと同じ問題が起こるのだ。もし、IKチェーンの各パーツが一直線上に結ばれているとしたら、コンピュータは両端の距離が縮まった時、各関節をどの方向に曲げるべきなのか判断できない。だから、IKチェーンを組み込んでいるパーツは、あらかじめ曲がって欲しい方向に若干回転している必要がある。前もって針金に折り目を付けておくようなものだ。

Poser標準フィギュアやDAZフィギュアが、ロード時に「だらしのない」格好になっているのはこのためである。そのままIKを有効にして手足のパーツをドラッグしても自然に曲がるように、ゼロフィギュア(各パーツの回転値が0)ではなく、曲がって欲しい方向に値を入れてあるのだ。

実際には、JessiやMikiに対してDAZフィギュアの方が明らかにガニ股だったりと、初期状態で入っている回転値はフィギュア毎に異なる。曲げる分にはどれだけ曲がっていても構わないのだが、最低限曲げておかなければいけない値というのは、フィギュア毎に異なるのだ。それは、フィギュアによってボーンの角度(各パーツのcenter)が異なるためである。

極端な例だが、ゼロフィギュア状態で下図の様になるフィギュアがあったとしよう。IKを有効にして腰を落としたら、足はどのように曲がるだろうか。

070908-1

まずもって当たり前だが、コンピュータはIKの計算をする時にパーツの形状など考慮しない(してくれたら有り難いけど)。したがって、腰を落とすとボーンはこのように屈伸する。

070908-2

これを人間の足のように屈伸させるには、少なくとも膝関節が垂直より左側にくるように曲げておかなければならない。

070908-3

これは横方向から見た場合だが、正面方向から見た場合についても同じことが言える。

ロード直後の状態にこのような配慮がされていないフィギュアは、IKをそのまま使用すると、ありえない方向に曲がってしまう。また、Poser標準フィギュアであろうがDAZフィギュアであろうが、ゼロフィギュアにしたり関節を逆方向に曲げてからIKを使用すれば、当然ありえない屈伸をすることになる。

この「あらかじめ回転値を入れておく」ということは、マニュアルにもしっかり記述されているように、製作者がIKチェーンを持つフィギュアを作る際に留意しておかなければならない点だ。しかし残念ながら、流布しているフィギュアの中にはそれを失念してしまっているようなものもある。

その中には単に「知らないからやってなかった」という以外にも、いくつかの意図があるのだろう。ロード時のポーズ(1フレーム目の値)を設定しておく場合は、「復元」がかかった時のことを考えて初期値に同じ値を入れておくことが多い。しかし、初期値に値が入っているということは、そのボーンをそのまま流用して服を作った場合に「着用」で初期値の値が入ってしまうことになる。これを服作りの障害と見なす製作者もいるかもしれない。また、フィギュアがみっともないガニ股でロードされるのを嫌がる製作者もいるかもしれない。

だが、そもそも初期値に0以外の値が入ったボーンを流用すること自体が、服作りとしては減点だろう。初期値に0を入れるのは10秒もあればできる作業である。そこをフィギュア製作者が考慮する必要はないはずだ。Blankフィギュアを用意するという手もある。また、ロード時の見た目がいくらアレだろうと、それ自体がフィギュアの人気になんら影響を与えないことは、びっきさんが既に証明していることだ。

IKを使うならガニ股で。フィギュア製作者もユーザーも忘れないようにしよう。



Comments

「曖昧さいこー」(矢沢永吉氏風に)(爆)
うちのことでないことを祈りつつ (-人-)
 
わたし自身も、
「ロード時に「だらしのない」格好になっている」ようなのですけれども…
IK の問題なのでしょうか…
 
> フィギュアによってボーンの角度(各パーツのcenter)が異なるため
このあたりを図入りでお願いします~(^^;)
ダメ?(^^;)
 
そういえば、服を着用すると、服の方が体の初期値に従うのでしょうか…
調べても良いのですけれども、教えてください(笑)(^^;)
 
あっ、こういうのをフォーラムネタにした方が良かったですか?(^^;)

Name
きらきら #E7b3.Qo2
Site
URL
Post Date
2007-09-08
Post Hour
02:09:02

Edit

>kirakiraさん
こんばんはー(笑)
残念ながら(?)、kirakiraさんちではありませんでした。そういやタイムリーでしたね(笑)
 
ん~、IKの問題かどうかはわかりませんが、手元にジョイントエディタを置いておくのが解決策になるような気が致します。思い出した時に「ゼロフィギュア」ボタンを押しましょう(笑)。姿勢シャッキリ、気分スッキリ。
 
フィギュアのボーン構造でしたら、セットアップルームに入ればそのまま見えると思いますが……あれ、複数のフィギュアを表示させることができないのが難点なんですよねぇ。
 
服を着用すると、服の各パーツの値(軸回転や移動、拡大縮小など)は服自身の初期値に戻ります。服にポーズを付けていたとしても、着用すれば0に戻ってしまうのはこのためです。着用時の服は体の屈伸を参照しますから、服自体の屈伸は0になるよう初期値を0にしておく、ということで。
 
>フォーラムネタ
まあ、もしこの件で困っていらっしゃる方がフォーラムにいらしたら、参考情報ということでこちらを紹介して下さいませ。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-09-08
Post Hour
03:27:53

Edit

 このIK初期値問題、案外初心者には厳しい問題と思いますですよ。
 初めて登場したのはDAZのV1でしたが、服を初めて作ったとき「どうして腰が引ける」のかサッパリわかりませんでした(笑)
 ちなみに、あそこはBBSに書き込むのがベストかと。
 今まで何度かBBSに書き込んで間違いを訂正してもらったことが…(苦笑)

Name
ほげほげ #-
Site
URL
Post Date
2007-09-08
Post Hour
15:32:15

Edit

こんばんは。
最近、他のサイトでIKの記事を見て、あまり自分に関係ないことのように思っていたのですが、フィギュア製作者の常識として、知らないといけないことだったのですね...。
私の場合、自分自身でフィギュアにポーズをとる時にIK機能自体をほとんど使ったことがないこともあって、フィギュアにIKをうまく適用させるために必要なことがある、ということにまったく気づきませんでした。
少し詳しく調べて、くるるの修正版を作ってみたいと思います。
いつも、とても有用な情報をいただき、感謝しています。
ありがとうございます。

Name
mato #6XkXcwPI
Site
URL
Post Date
2007-09-08
Post Hour
18:29:32

Edit

>ほげほげさん
そうですねー、私も初心者の例に漏れず、着用した途端ぐにゃりと曲がってしまうブーツとかひび割れる鎧とか作ったりしてました(笑)。ネットで情報収集してるうちにいつの間にか覚えたんですけども。
あ、BBSがあるのですか。それは存じ上げておりませんでした。
まあ補足というか原理説明みたいな意図だったんで、メールするほどでもないかなー、と思っていたのですが。
 
>matoさん
こんばんは、お役に立てましたでしょうか。
IKはフィギュア作成のというよりは、IKチェーンを組んだ時の注意事項みたいなものでしょうか。
私もポージングには滅多にIKを使わないので、いっそIKチェーンを無くしてしまったフィギュアなんかがあってもいいんじゃないかと思いますけども(笑)
くるるちゃんもどんどんバージョンアップして多くの方に使いやすくなるといいですね。頑張って下さいませ。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-09-08
Post Hour
19:43:45

Edit

IK は、いりますよぅ~~ (・o・)/(笑)
お返事、ありがとうございます <(_ _*)>ペコリ
 
現在、ゼロフィギュアスイッチを製作ちぅですっ。
体の方も、ボーン、キュ、ボーンにしたいと思いますっ ( ̄^ ̄)ゞ
 
Kyotaro さんの前世って、
vs
なのでしょうか……
 
間にいる笑い飯さんが、
「まぁまぁ」と言いながらボケていたりして…

Name
きらきら #E7b3.Qo2
Site
URL
Post Date
2007-09-08
Post Hour
19:54:19

Edit

>kirakiraさん
IKは謎が多いですよねー。
やや、ゼロフィギュアボタン開発ちぅでございますか。完成の暁には、是非わたくしめにも横流し(笑)してくださいませm(_ _)m
っていうかキュ、てのが肝心ですよね。キュっと。
 
私の前世は……一体何があったんでしょーね(笑)
金銭に揺れまくる理性に対して食欲が辛うじて均衡を保っているような感じでしょうか(笑)
あ、お腹が空いてきた(爆)

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2007-09-09
Post Hour
02:31:01

Edit

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/260-86bf9833



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。