重力で下に下がる振袖をつくりたい

以前、Unityのvrm-springboneを使って揺れる小物を追加するという記事を出しました。▼
今回はこのspringboneを使って振袖を作る方法をご紹介します
注意したいこと

私が陥った失敗や勘違いについて話していくよ
揺れものの代名詞DynamicBoneはVRM形式に対応していない
まずこれですね・・・ VRアバターの揺れものについて調べていると必ず出てくるDynamicBoneですがなんとVRMは対応していないのです・・・!
半額セールで11ドルで購入しましたが通常は22ドルぐらいです。
VRchat用アバターにはDynamicBoneが使用できるのでネットで調べた時にDynamicBoneとspringboneが一緒に出てくるので混同しないように注意してください・・・
springboneには重力の設定がある
要するに重力でボーンが下がる(落ちる)設定がspringboneにはちゃんとあります!
VRoidの髪の毛もスプリングボーンなので当たり前っちゃ当たり前のことなのですが、私はこの重力で垂れ下がるような項目はスプリングボーンには無くてダイナミックボーンでないとダメだと思い込んでしまっていました・・・

なぜそう思ってしまっていたのか・・・
恐らくググった時にスプリングボーンとダイナミックボーンの説明をする記事が混同して出てくるのでそのような思い込みをしてしまったんだと思います。 この思い込みのせいで1日潰れてしまいました。
ボーンはArmatureで追加されたボーンから伸ばして作る
これ、とても大事でした・・・
Armatureで追加されたボーンから伸ばして作るとは?

①Shift+Aのシングルボーンを追加した状態

②編集モードで初めに追加されたボーンから伸ばしてボーンを増やしていった状態

③最初に追加された大きいボーンは必要ないのでXキーで消去した状態
この手順で必ずボーンは作成するようにしましょう!!
理由はあると思いますが私は分かっていません; ですがこの手順を踏まないとせっかくボーンとウェイト設定をしたのにスプリングボーンが効いてくれないってことが起こります・・・
皆さんは大丈夫だと思いますが、同じ過ちを犯さないようにという注意書きでした;
手順1ーBlender
①VRoidSutudio産のVRoidアバターをイイ感じに編集する

②揺れものパーツを作る
・メッシュをつくり、ボーンを仕込み、ウェイト設定をする

ざっくりでOK 出来たらUV展開とテクスチャ作成をしてFBX形式で出力しよう

手順2ーUnity
③UnityでVRoidとパーツを合体させる
AssetsにVRMファイルとFBXファイルを入れてVRMをシーンに追加。シーンに追加したVRMのヒエラルキー内の目的のボーンの下にFBXファイルを入れて、インスペクターからスプリングボーンを追加・設定します。※詳しくは上記記事を見てね!
▼今回袖はスプリングボーンの設定まで終えてから反対の腕のためにコピー・ペーストをして180度回転(反転)させて付けました。

▼フワフワで下に垂れ下がる袖のスプリングボーン設定

スプリングボーンの各値の説明については下記記事がわかりやすいので参考にしてください!
重力を効かせたい場合は『Gravity Power』を0以上の値にします。
袖の場合は0.8ぐらいで充分です。
Unityでの確認方法
上の再生ボタンをクリックする→シーンタブをクリックする→回転させたり移動させたりして動かす
ちゃんと垂れ下がる振袖付きアバターの完成です
この記事の最初の方で書いた3つの点のせいで、丸一日頭を抱えて何も進められなかったということがあり、ちゃんと重力に従って袖が下がった時は本当に嬉しかったです。
おまけ
Blenderで布シュミレーションをつかって自然な袖の形を作ろうとしたときの失敗動画
完成したアバターでダンスをしてもらった動画
VroidHubページ
コメント