こんにちは。ちいかまです。

今回はタイトル通りのものを作った備忘録です。

 

(動作が)軽い

(布の重量が)重い

震えない

貫通しない

スカート(布)

 

です。

 

昨今ではふわふわしたスカートをよく見るようになりました。

また、あんなプラグインやこんなプラグインで、貫通しないし震えないけど致死量のボーンが配備されているスカートが生まれたり生まれなかったりしています。

もちろんそれらも素晴らしくて超最高なのですが、そうでないスカート(特に重量が重めのスカート)を作りたい私は中々作り方に辿り着けず、苦労をしたので、備忘録を書きました。

私がこういったことを記事として公開するのは、大体「野菜採れすぎたしご近所さんに配るか」ぐらいのノリであり、セクシー大根でも構わず配っちまうことをご了承ください。

 

いざ。

 

 

まず、そもそもとしていい感じの布を作るためのコツを説明します。

これは布の断面だと思ってください。4つのボーンで等間隔に(つまり22.5度ずつ)曲げようとすると、こんな感じになります。なんか、めくれあがってる不自然な感じになります。

なので、私はこうしました。

根元のボーンだけ大きく曲げて、あとは小さく曲げる。

こうすると自然ですね。

 

じゃあこの考え方をどう実践で生かすか? 私は二つのやり方を試してみました。

それは

 

①全て物理演算ボーンにして、一番上のジョイントの可動範囲のみ大きく、あとは小さくする(あるいは上から下にかけて可動範囲を徐々に小さくする)

 

②一番上のボーンをIKスカートにして、それより下は可動範囲の小さい物理演算ボーンにする

 

です。

 

結果として、②が上手くいきました。

 

 

ところでIKスカートとは。

 

 

これのことです。厳密には、私はここから着想を経てもっと原始的なものを作りました。

 

 

これはコートなのですが……

放射状に配置したボーン一組につき

 

コート裾1

 |↳コート裾2(兼コート先)

 |□□↳コート裾3

↓IK□□↳コート裾4

コート裾IK

 

のような構造になっています。

水色に光っているのがIKです。足の周りに配置しています。

コート裾1には回転制限を設置しています。pmxエディタでいうところの角度制限です。

 

 

足を動かすとこんな感じ。足のZ軸回転が影響するとおかしくなるので、コート用の足ボーンを作りました。IKでいい感じに足ボーンの向きだけを取り出したやつです。それをコート裾IK達の親にしました。

私はblenderでモデルを作っており、最初はロールを使って回転制限(角度制限)を配置していました。ですが、pmxにロールを持ち込めないことが判明して爆死。なんとか手作業で制限の値を配置しました。(なのでちょっとボーンの動きが変ですが、踊らせると気にならなくなります)

 

角度制限の値は、大まかにグループ分けして設定しました。

 

正面、中間、右面、中間、背面、中間、左面、中間、(正面に合流)

 

こんな感じのグループ分けです。

 

数値はあまりにも事故っていたので公開しません。大体180(-180)と90(-90)で刻んでます。


 

とにかく、コート裾1をこうした上で、コート裾2~4を物理ボーンにしました。

2~4のジョイントは今度こそblenderでボーンにロールをつけて配置。blenderでMMDモデルを作るときは、ロールをつけてジョイントや剛体を配置すると、そのロールした方向を向いて配置されます。

ジョイントの回転の仕方は、このXYZと書かれた近くの■を指先でつまんで、コマのように回すイメージをするとわかりやすいです。それがそのジョイントのその軸での回転の仕方です。

つまり、このジョイントの配置だとX軸での回転がスカート(コート裾)の外側への開き(内側への萎み)と対応しています。なので、マイナス方向への回転をしないようにすれば、IKスカートで広がったスカートがそれより内側に萎むことはありません。

可能であれば、-5ぐらいマイナス方向への回転も許してやるとより自然になります。

Z軸の回転制限は-1,1が安パイらしいです。

また、先ほども説明した通り、ジョイントの回転制限をしっかりしていれば(ある程度)内側に萎むことはないので、私はコート裾2の接触判定をなくしました。足の剛体に触れて震えさせない為です。

あとは、変形階層にも注意。

 

以上!

 

 

↓作例

(ネリアたん(女の子)の指が破綻していることに気がついたので、修正版上げるまでYouTubeの限定公開貼っておきます……)