ネジまき出張所
ブーツ上部を自動で足首の回転に追従させる
2014-03-01 18:59:21
自動で出来るようにしました↓
動画は左足IK、左つま先IK、左足首、センター(上下のみ)で動かしてます。足首Dボーンも大丈夫です。
ということで、ブーツ上部自動追従回転構造です。
(変形階層バグ修正前の)MMDver8.11以前だとカクつくかもしれません。カクつく条件をよく分かってません。
ただver7.39.で普通にモーション流し込んだだけだとよく分からなかったので、多分分からないと思います。
(140302追記)確かめたところ、ver8.11以前だとブーツの動きが1フレ遅れるようです。ver8.12以降は普通に動きます。
■構造■
足首の捩り以外の回転を取り出すIKボーン(XZの回転のみ取り出す)
→そこから更にIKの角度制限でグローバルY回転のみ取り出すIKボーン
→それを回転付与で受けるウェイトの乗ったブーツ上部ボーン
■作り方■
面倒&確かめてないので足Dボーン系列がない場合の構造は説明してません。
足Dボーン系列はそぼろさんの「準標準ボーン追加プラグイン(PMX)」で足先EXを追加する際についでに追加出来ます。
そぼろさんのプラグイン配布場所(2014年2月から配布場所が変わってます)→https://onedrive.live.com/?cid=ef581c37a4524edaamp;id=EF581C37A4524EDA%21107
【ボーンの複製と位置決め】
足首Dを3つ複製(回転付与はオフ、変形階層を1増やす)
→「ブーツXZIK」「ブーツXZ」「ブーツXZ先」ボーンとなる。
ブーツXZIK・ブーツXZ先ボーンのYの位置を下げる。
足首Dを1つ複製(回転付与はオフ、変形階層を2増やす)
→「ブーツG_Y」ボーンとなる。
つま先を2つ複製(ブーツG_Yと同じ変形階層にする)
→「ブーツG_YIK」「ブーツG_Y先」ボーンとなる。
ブーツ上部のウェイトが塗ってある「ブーツ上部」ボーンも用意する。
(ブーツの材質のひざDウェイトをブーツ上部ボーンに移しかえるだけ。そぼろさんのWeightTargetReplaceプラグインが便利です)
ブーツG_Yと同じ変形階層にする。
(軸制限をX0,Y1,Z0でONにしておくといいかも)
ボーン位置は捩った時にブーツが綺麗に足の回りを回転する位置で。
【IKの設定】
ブーツXZIK
IKターゲット:ブーツXZ先
IKリンク:ブーツXZ
Loopと単位角は適当
ブーツG_YIK
IKターゲット:ブーツG_Y先
IKリンク:ブーツG_Y(角度制限ONでYのみ-90~90くらいお好みで)
Loopと単位角は適当
(今回、Loopと単位角はどちらも足IKと同じにしました)
【ボーンの親子関係とindex順上から】
表記:親>子
(足D>ひざD>足首D)
足首D>「ブーツXZIK」
足首D>「ブーツG_YIK」
ひざD>「ブーツXZ」>「ブーツXZ先」
ブーツXZ>「ブーツG_Y」>「ブーツG_Y先」
ひざD>「ブーツ上部」(回転付与親ブーツG_Y、付与率は0.7~1くらいお好みで)
私の場合こんな感じです。

ちなみに最初XZIK無しで、G_YIKのみでやろうとしたら失敗しました(必ずしも綺麗に追従回転されなかった)。
G_YIKのみ(ブーツG_Yの親はひざD)の場合の例を画像で追記してみました(140302追記)

(足IKを回転させた後、センターのZ軸を後ろに移動させた状態)
検証用の別画像↓

これでブーツのぐねりも安心!
お疲れ様でした。