堀゜ちえみ(2):初めてのIK

ちえみサービスショット(をぃ
画像



基本動作の前に、前回作ったモーションから問題点を洗い出しときます。

まず、

 (a)30秒(900フレーム)を作成するのに9時間かかった
  1秒当たりおよそ20分。内容から考えると半分くらいにはしたい。

 (b)移動する際、軸足が滑ったりして怪しい動きになった

 (c)笑えるほど手打ちなモーションになった

まー(c)はモーションレベル1としてはしょうがないとして。
(ちえみはぶっ挿しポリポリ状態から滑らかに動くまっとうな美少女キャラになるのがこのミッションの裏の目標だったりします。ピノキオかっ?!)

(a)の時間がかかった主な要因としては、

 (1) FKではつらい。
 (2) 口パクが意外と手間。
 (3) レンダリングが地味に長い(1フレーム1~4secでトータル40分程度)

の3点。

(1)のFKに関しては、IKを導入すればいいんだろうけど、前に一回入れてみた所、IKゴールをいくら動かしてもボーンがあんまりついて来ない、てのがあってやめたんだよねー。
IKのうまい入れ方を学習しないと。
IKを使いこなして足を地面に固定できれば、おのずと(b)も解決または低減すると思うんだ。

(2)の口パクに関しては、文字ベースなら確かプラグインがあったと思うので、これを使うのもいいかも。(よくは調べてない。)

まあどうせならタイミングをマクロ制御できるプラグインを自作したいな。
よくあるのは、タイミングをXMLタグで制御する方法。
<OBJECT name="tiemi_0:Layer2">
<!-- シェイプの定義 -->
<SHAPE char="あ">
<MORPH name="mouth.a" weight="1.0" fade="4" />
</SHAPE>
<SHAPE char="ま">
<MORPH name="mouth.n" weight="1.0" fade="2" />
<MORPH name="mouth.a" weight="1.0" fade="1" />
</SHAPE>
<SHAPE char="ば" copyFrom="ま" />
 ...

<!-- 記号のウェイトフレームの定義 -->
<CODE char="、" frame="100%" />
<CODE char="。" frame="250%" />
<CODE char="ー" frame="100%" />

<SCENE frame=450>
<SPEED frame=4 />わたし、ぽりちえみ。はちじかんでつくられたうまれたてのれーさい。
</SCENE>

<SCENE frame=610>
 ...
</SCENE>
</OBJECT>

こんな感じ。
あと途中で待ちを入れたりしたいね。"…"とかにウェイトフレームを設定する方法もある。
実体参照とか外部参照とか使えば、定義も使いまわししやすくなるね。


(3)に関してはどうしようもないんだけど、まあプレビューのためにレンダリングするのはやめたほうがいいってことかな。
「プレビュー作成」でガマンすると。


ちなみに今回、口の形状はモーフミキサーを使ってます。
詳細は割愛するけど、モーフミキサーの使い方が知りたい兄弟はマニュアルを見るか、コメントにその旨書いてください。


●リグの強化

ぼくが使っているリグは、ハンドル(ここで言うハンドルはボーンを操作するためのレバーみたいな意味)を兼ねるヌルを骨格っぽく組んだものに、モデルのボーンをFollowerでコンストレインしたものなんだけど、サンプルの IK_FK_Proxy.lws を見ると、ProxyPick とかゆープラグインを使って代理ヌル(ProxyNull)からモデルのボーンを直接選択できるようになってるね。
こっちのほうがやりやすいかも。

あと、今まではモーション用のボーン階層がなくてハンドルからモデル直結だったんで、いったんモーション用のリグを組んでそれにハンドルを仕込んだ上で、実際のモデルのボーン階層をコンストレインしよーと思います。

イメージ的にはこんな感じ。
画像
こうすると、モデル階層のボーンは補助ボーンなんかをモーション階層のボーンにエクスプレッションやFollowerで割り振ったりしておけば、シンプルなモーションボーンを動かすだけで複雑なモデルボーンを制御できるようになるわけです。
これは標準ちゃんのモーションキャプチャの所でも同じようなことをやってました。


●IKの実習

IKを試すために極限までシンプルにした腰から左足先までのボーン階層。
画像
IKの仕込みで作られる「ほとんど長さのないボーン」、上で言うところのLkneeTopなんだけど、シロートとしてはこれはいらねーんじゃねーか、と思うわけだけど、LkneeTopをゴールに追従させると位置は追従するけど向きは追従してくれないんで、やっぱりいるみたい。
Lthigh0は、太腿であるLthigh1をIKで動かすために付けてます。
あと IK_FK_Proxy.lws に倣ってこいつのZを回してやると、膝の向きを変えることができるよーになってます。

モデラーで作成したスケルゴンはこんな感じ。
画像
IKをチェインさせる場合は極力ボーンの向きを合わせておかないとうまく連動してくれないようです。
それと、曲げたい箇所はレイアウトに持っていった後に(モデラー上でも別にいいけど)ちょっと曲げておかないとなかなか曲がってくれないようです。
ちょうど折り紙に「折り目」を付けて曲げぐせをつける感じ。

今回はモデラー上でkneeの根っこの頂点をを前進させて、3度ほど曲げてます。


さて、これをレイアウトに持って行って、おもむろにスケルゴン変換した後、SceneEditorで連結していない pelvis と Lthigh0 を連結してやります。

LkneeTopのゴールにLfootを指定し、「ゴールを接着」をチェック。
Lkneeはピッチだけ、LthighはヘディングとピッチをIK制御にし、膝が逆に曲がらないようにLkneeのピッチのリミットを設定。

これでLfootを動かしてみると、めでたくIKするよーになりました。

なお、LfootがLkneeの子になってなくておかしーじゃねーかと思うかも知れないけど、LkneeTopのゴールオブジェクトをLfootにして「ゴールを接着」してるんで、結果的にLfootはLkneeTopの根元、即ちLkneeの先っちょに貼りつきます。
ただこれだと、曲げる過程でLfootがすぽーんと飛んでしまうことがあるので、膝の向きを調整しながらちょっと慎重に動かしてあげないといかんよーです。

あとLfootがwaistの子でないメリットとして、腰を動かしても足が固定されるとゆーのがあります。
これは前述の(b)を解決できるわけですよ。
そんかわしLfootそのものを動かしてあげないと足が(脚が伸び切った時に)ひきずられるよーにしか動かなくなってるんだけどね。


●代理ヌルを入れる

今回はハンドルの代わりにボーンを動かすんだけど、表示モードを「テクスチャソリッド」なんかにしてるとポリゴンにボーンが隠れて選択できなくなっちゃうよね。
IK_FK_Proxy.lws だとモデルの左右に代理ヌルを並べてるので、これをパクってみることにしました。
ただし、オレ流としては、対象のボーンのすぐそばに置きたいので、対象となるボーンの子にしてみました。

SceneEditorではこんな感じ。
画像
マスタープラグインを開き、ProxyPickを追加。代理ヌルがどのボーンを選択するかを対応付ければOK。
今回はwaistとLthigh0を動かすためにLknee、あとLfootの3つを作ってみたよ。
ヌルのシェイプは、Diamondが移動・回転両方できるタイプ、標準(クロスヘア)が移動のみ、Ballが回転のみ、Ringが特定の軸の回転のみ、という感じで使い分けてます。

ほんで、ほんとにIKが機能してるかを確認するためにキーを打ってみました。






どうよ。
waistとLfootにいくつかキーを打っただけだけど、ちゃんとカエル跳びした感じになりました。
しかもFKでやるよりもはるかに自然な感じに。
なんとなくいじりながらでもカーブ修正含めて10分くらいで組めたよ。
IKすげー!マジ感動っす(やめれこの口調…)

モーションに関係するカーブはこんだけ。
画像
まあモーションによってはIKだけじゃできない曲げ方もあるから万能ではないと思うけど、それでもかなり作業は効率化できそうです。


調子に乗って肩~手も入れてみた。
画像
基本は脚とほぼ同じ。
腰(spine)と首のボーンはIKではなく、従来通りFollwerで制御します。
IKのメリットがあんまり感じられないんで。
階層はこんな感じ。
画像

ほんで垂直飛びを作ってみました。






動かしてるのはwaist、Lfoot、Lhandと、肘の向き調節用にLshoulder0を少々。
40分かからないくらいでできました。
基本は10分くらいでできて、腕の振りに納得が行くまでいじれたので時間を有効に使えたよ。


次回は歩かせてみたいね。



●特別ふろく

今週は連休が多かったんで、悪魔ッ娘がけっこう進んだよ。
といはいえ、まだ20%程度なんで小さめのレンダリング画像を貼っておきますね。
心の眼で拡大してください。
画像画像

画像画像

画像画像

画像画像

ん。一部布がないですが。
そう、今回は服が剥けるのさー。(実は一周年記念の乳首テクスチャを流用。)
前から見るとやばいことに…。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 2

なるほど(納得、参考になった、ヘー)
かわいい

この記事へのコメント

2010年09月27日 22:08
悪魔ッ娘かわいいですね☆
完成たのしみです(^^)
LightWaveのIKってすごく応用が効きそうですね~
(Shadeにもありますが付いてるだけなので・・)
ちえみさんの動画すごいですが、9時間しか(完成度比で)かかってないんですね。
案山子さんがすごいのか、LWなのか、今後の作品に期待してしまいます☆


2010年09月28日 22:39
kamo.oさんコメントありがとうございます。

まじめにモーションやるのは今回が初めてなのでなかなか進まずフラストレーションが溜まります。
そんな時に悪魔ッ娘に逃避してます(*´Д`)

LightWaveのIKはIKブースターが何気に凄そうです。
(サンプルの腕を引っ張ると、腰までついてくるという…)
まあぼくの腕ではその辺を使いこなすには百年かかりそうですが。