3D図鑑を作る (11) Vroidで学ぶスケルトンとウェイトの関係

前提条件

  • モデルはVRMファイルとして保存されているものとします.

  • Blendeは3.0を使います

  • VRM_Addon_for_Blenderをインストール済みとします

私の環境ではBlender 3.0でもVRM_Addon_for_Blenderは何もしなくても動きました.

アリシア・ソリッドの場合

VRMのモデルとしてよく使われるものです. VRM形式のモデルを公式サイトからダウンロードしておきましょう(ページの下にあります).

アリシア・ソリッドのVRMモデルをBlenderで読み込んで表示した.
アリシア・ソリッド

Skinned Modelがメインですがコライダーというオブジェクト・グループもあります.

VRMモデルを読み込むとアウトライナーにCollidersというオブジェクト・グループが表示される
Collidersオブジェクト・グループ

これは主にVRCとかアバターとして動かす場合に布や髪の毛の貫通などを避けるためにUnityで使われるもののようです. Blenderのオブジェクト・タイプとしてはEmptyオブジェクトになっています. ひょっとしたらEmptyオブジェクトを追加したらBlenderでも編集可能かなぁとかおもっています.どこかで検証してみたいと思います.

本題に戻るとスケルトン(Blenderではアーマチュアと呼ぶ)はアバターの基本となる体や髪の毛や衣装など揺れものに大別されるようです. Hipを頂点としたボーンの階層構造を持ちます.

アリシアのモデルはスカートを除くとすべて体と一体化しており非常にシンプルなスケルトンの構造をしています.そもそも完成度が高いので改造とかする必要は感じませんが.

教訓をまとめるとこんな感じでしょうか.

  • (長さにもよるが)髪の毛には骨を追加しよう

  • スカートのように動かしたいものにも骨を追加しよう.

Vroidの場合 (長袖, ロングスカート)

次に検討したいのは長袖, フードとロングスカートです. フードには当然骨が入っています.


Vroidのパーカーのフードにウェイトが割り当てられている
フードのウェイト

やたらに長い紐用のボーンも気になりました.

パーカーの紐のボーンはメッシュよりすごく長くなっている

中心ぐらいの上から下垂れ下がってる三連のボーンが, 隠れていますが左側のパーカーの紐のボーンです. かすかに揺れるようなものはこんな感じにするのかもしれません.

ロングスカートは普通で下にある足のウェイトをそのまま広げたようになっています.

ある程度足を上げてもロングスカートに貫通したりしない
足を上げるVroid (ヒートマップ)

観察する限りロングスカートの可動域は上ぐらいが精いっぱいではないでしょうか. テクスチャでプリーツを表現しているので折り目が広がるような動きが必要ならモデル自体を弄る必要がありそうです.

テクスチャ表示した状態で足を上げてもプリーツが広がる様子にそれほど違和感はない
足を上げるVroid(テクスチャ)

必要ならプリーツもしっかり作って一本一本に骨を入れればいいでしょう(考えるだけでも面倒ですね).

骨でやるのはあくまで近似なのでちゃんとやるならクロス・シミュレーションとかいっそMarvelous Designerを導入するべきでしょう.

ちゃんとプリーツが広がっているのが分かります. Blenderでもある程度はできるかもしれません.

いずれにしてもスカートだから骨がいるというわけではないです.

ボディ部分は服の下が中空になっています.

服の下には体のメッシュはない
服のメッシュを隠した状態

面白いのはパーカーの襟ぐりは首の一部としてウェイトが割り当てられています. 首の周りの黒い布は首と一緒に動きます. メッシュの分割も重要だなと思いました.

  • 体が隠れている場合はメッシュは削除する

  • 服のように物体として統一性にとらわれずメッシュを分割する.

  • スカートに骨を入れる必要があるかはよく考えよう

半袖, 短パン

実はこの組み合わせが結構複雑な構造になっています. 上腕と前腕は離れています.

上腕の骨は小さく, 前腕とは分離している
上腕ボーン (ヒートマップ)

ウェイト自体は上腕全体に塗りつぶしていますが袖の部分だけ上下のウェイトが弱くなっています. 服が近すぎると折り曲げたときに貫通するので肌メッシュからは離しているんですが, そうすると服がフィットしないのでボーンで柔らかさを出しているようです.

Tシャツも面白くて裾はスカートのような花弁様のボーンがぶら下がっています.

Tシャツの裾にボーンがぶら下がている

これで裾のひらひらした動きが出せるのだと思います. それ以外は普通です.服の下が中空なのも同じです.

  • ショート・スリーブの場合は袖口がフィットするように別のボーンを仕込もう.

最後によくある制服

Vroidの制服はちゃんとプリーツのひだが別のメッシュとして分かれています. スカートに貫通しないようにスカートの裾にボーンがぶら下がっています. これもスプリング・ボーンでフィットさせる前提だと思われます.

スカートはひざ丈なのですがなぜか下腿の周りにも骨が存在します. これはVroidの服制作のプロセスがテクスチャを透過させることで裾の長さを表現している名残で不要なボーンなのかなと思っています.

メッシュの特徴としては胴と袖が分かれているところでしょうか.

制服の胴と袖は切り離されている
  • スカートのフィット感は物理演算で表現する.

まとめ

Vroidのスケルトンは構造がシンプルで分かりやすいので大変参考になりました.  他の組み合わせも試したりVroid Hubのよさそうなモデルなども順次試してみようと思いました.



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