見出し画像

MMD 髪の毛設定の考察 STAGE_07

◆◆剛体、ジョイントのその先◆◆
長々と剛体とジョイントの設定周りを確認してきました。
出来ることは色々試したのですが実はまだやってない事があります。

いろいろやってきましたが髪の毛の付け根がプルプル動いて止まりません。
結果全体が波打っています。
はて?何故でしょう。

ここらで当たり前を見直してみたいと思います。
まず髪の毛はボーン、剛体、ジョイントの3つで構成されてます。
そして剛体が当たり判定を持つことで他の剛体とぶつかってめり込まないようにしています。
みんな当たり前の用意そういう設定を行っています。
これが問題です。

当たり前のようにすべての剛体に判定を持たせてぶつかり判定させ
結果、髪の毛の付け根と頭の剛体がそもそもぶつかってる設定になってます。
また少し動いただけで触れてしまい収まらずずっと動いてる。
今使ってるモデルはすべて付け根の剛体が頭の剛体に触れて跳ねています。
細かな振動はこれが原因です。
結構配布されてるモデルに多く見かけます。
邪魔なのでこの付け根の髪の毛の剛体は一切当たらないように判定を無くします。

ではどうするのか?
それはジョイントの角度制限で対応します。
動いて欲しくない方向にはそもそも曲がらないように設定します。
それだけです。

なんだか話が長くてつまらないみたいなので少し駆け足にw
◆◆ボーンの比率◆◆
剛体、ジョイント中心に進めてきましたが一番重要な部分に触れてませんでした。
それがボーンの長さ比率です。
これ案外わかっているようでわかってないだけどわかってる人は何言ってんの?
当たり前じゃんってやつです。いや俺には当たり前じゃないけど…みたいな話です。
なので意図的にここまでそんなに触れてません。
柔らかいウェイトってのも重要なのですが
今回は趣旨とずれるので割愛しますがそれに類する話です。

まず柔らかいって何だろう??
また当たり前の話です。
柔らかいの定義とは固くない、曲がる、弾力があるなどなど。
そりゃそうだ、ではボーンの柔らかさとは?
物理の場合ジョイントの設定で固さが決まるのでボーン関係なくね?って感じなのですが
この場合のボーンの柔らかさは頂点と同じで解像度です。
つまりは分割数
今回髪の毛は1+5本で構成しています。
単純に1+10にしたら倍の柔らかさです。
剛体の重さの総重量の話もしましたがジョイントの曲がる角度の総和が曲がる総角度になるように
ボーンの分割数がすなわちボーンの柔らかさです。
結局当たり前の話なのですが。

分割数を増やせばそれだけ処理も設定も重くなるので
その前にどう分割すべきかを今まで使ってきた1+5本のボーンで検証
ここでは3タイプに分けてみます。
①F-1 今まで通り等間隔
②F-2 根元が密
③F-3 末端が密

ボーンのバランス001

①は等間隔なので均等の動き
②は根元が密なので根元が大きく動ける
③は末端が密なので毛先が柔らかく動ける

とまあこんな感じでしょうか。

どれが一番きれい動きそうか?
何となく③のような気がすると思うのですが実際は一番きれいな動きをするのは②だと思います。
まずは動画を観てみましょう。


①も綺麗ですがやはり②が一番絡まらずにさらりと抜けていくと思います。
またジャンプに合わせて根元が柔らかく跳ねて全体の動きも柔らかく見えているかと思います。あくまで柔らかさという意味で。ただ毛先は固いのであとはそこを直せばいいかと思います。
逆に③は根元が固く大きく跳ねたり挙動が若干不安定というか固いです
③は根元のボーンが長いので剛体の判定を付けざるを得ませんでした。
それもあって少し跳ね気味です。

これは髪の毛の物理の特性なのですが
頭の動きに追従してXYZどの方向にも動き更には肩腕の剛体も影響して
かなり多くの剛体が密集する間をかいくぐる必要があります。
そしてそれは根元に向かうほど影響度は大きくなる。つまりは逃げ場がない剛体が生まれやすい。
それに対して末端は親全ての動きを使って逃げることが可能なので
末端だけが引っかかるということはそうそう発生しないということになります。
これ案外わかっているつもりで失念しがちです。
自分は長い間この理屈を理解してませんでした。

ジョイントの設定でなんとかしようとしている人を見掛けますが③のボーン構成では
いくら頑張っても綺麗になることは無いと思います。
個人的には髪の毛の設定はここさえ押さえれば8割完成だと思ってます。
つまりボーンを仕込む時点で結果はほぼ見えてるってことだと思います。
よくほかの方のモデルを観て初見でこの構造だと難しいと答えるのはこれが理由です。

◆◆ミニまとめ◆◆
髪の毛は付け根の作り込みで大きく変わる。

ぜんぜん駆け足になってなかった…
続く>>

この記事が気に入ったらサポートをしてみませんか?