バーチャル3Dクリエイター神部まゆみです(*^-^*)
今日はVRoid製の私のモデルのお尻にボーンを仕込んでウェイト付けするよ。
ウェイト付けはあんまり詳しくないから、参考くらいに留めてね。
blender2.82で作成。
VRMインポートのためにVRM_IMPORTERが必要です。
unity2020.1.1f1、2019.4.13f1(LTS)では動作チェックしましたが、多分どのバージョンでもできるとは思います。
2022/02/04追記:
VRM_IMPORTERはリニューアルされて、VRM_Addon_for_Blenderっていう名前に変わっていたようです。
今まで全く気付かなかった(;^_^A
BlenderでVRoidのお尻にボーンを仕込む!選択とキー入力だけできれば誰でもできる(多分)ようにしたよ
再現性が高まるよう、ショートカットキーと数値指定だけで画一的に指定できるようにします。
オブジェクトモードでモデルのアーマチュアをクリックして選択し、Tabキーで編集モードに。
Hipボーンからのばしていくので、Hipボーンの丸い部分を選択。近くにあるRootボーンと間違えないように注意。
ここからボーンを伸ばしていきます。
X軸ミラーをオンにし、Shift + E で二股にボーンが伸ばせます。
手順で言えば、
1.ツール → オプション → X軸ミラー にチェック
2.Hipボーンを選択したまま、 Shift押しながらE、キーを離して 0.05 でEnter
でこんな感じに。
ここからお尻のボーンを伸ばしていきます。
二股に伸ばしたボーンの丸い部分を両側選択し、E Y 0.1 で。
選択解除しちゃった場合は、Shift押しながらクリックすれば、二つとも選択できます。
これでこんな感じに。ちょっとはみ出てるくらいが良いかな?
自動でウェイトを付けたい場合は、Hipから真横に伸ばした後、少しお尻の表面側に移動させると(ナナメにすると)良い感じになるかも?
キー入力が複雑になってしまうので、ここではやりませんが。
でも自動ウェイトだと精度がちょっと怪しいので、このページでは手動ウェイト付けするので、とりあえずこれで良いです。
キー入力まとめ
X軸ミラーにチェックをし、Hipボーンの根元の丸い部分を選択したら、
1. Shift押しながらE、キーを離して 0.05 Enter
2. E Y 0.1 Enter
でOK。
デフォルトから向きを変えていないVRoidなら、これで多分いけるかな?
モデルによってお尻の大きさとか身長とかも変わってくると思うけど、ウェイト付けを間違わなければ多少はみ出たりはみ出なくても多分関係ないかな。
伸ばしたボーンの名前が左右逆になっている場合は、リネームしておく
伸ばしたボーンは自動で名前がつくんだけど、左右逆になってることがあるっぽい?
以前やった時は逆になってたから全部LとRをリネームしたんだけど、今回は大丈夫みたい。
blenderのビューの視点によるとか?原因はちょっとわからないけど。
自動では001とかになってるから、リネームしてもいいけどね。そこは好みで。
リネームする場合はボーンを選択して、向かって右の骨のマークのアイコンをクリックしてね。
若しくは、向かって右上のオブジェクトとかアーマチュアが並んでるメニューで。
今回は、最初に伸ばした根元の二つを
J_Bip_C_Hips_L1
J_Bip_C_Hips_R1
二段階目で伸ばしたボーンを
J_Bip_C_Hips_L2
J_Bip_C_Hips_R2
でやっていくよ。
ウェイト付けする
Tabキーを押してオブジェクトモードに戻ります。
その後Bodyをクリックして選択し、ウェイトペイントモードに。
さっき追加した4つのボーンにウェイトを付けます。
向かって右側の▽みたいなアイコンをクリックして、「頂点グループ」っていうメニューのところの + ボタンを押して、さっき追加したボーンを一字一句間違いなく記入して追加します。
間違えたらダメなのでコピペしたほうがいいです。
「ボーンから自動割り当て」っていう機能もあるんだけど、あんまり正確じゃないし、やってみたけどお腹側にウェイトが乗っちゃってたから、手動でやるね。
さっき追加した頂点グループのところのボーンを選択した状態なら、そのボーンにウェイトが濡れるよ。
最初に二股に伸ばした根元のボーン(L1とR1)は、適当にちょこっとだけウェイトが乗ってればOK。
ウェイトも1.00のままでいい。
全くウェイトが乗ってないとエクスポートできないみたいだから、ちょこっとブラシワンクリックくらいでいいかも。
メインで動かすのはL2とR2のほうだから、こっちを丁寧に塗ればOK。
といっても、ウェイト1.00のままで、だいたいそれっぽく塗れてればOK。
ウェイトが赤かったりとかは、とりあえず気にしなくてOK。
注意点 お尻割れ目や太ももまでウェイトがあると破綻する可能性が
注意点としては、お尻の割れ目とか、太ももまで達してしまうと、四つん這いになった時に裂けて穴が空いたりしちゃうので、お尻の表面部分だけちょこっと塗ったほうが無難。
以前やった時はこんな感じに…。
※局部が見えてるので映らないようカットしてます(笑)
確かこの時は、ボーンから自動割り当てをしちゃってウェイトがおかしかった感じ。
グラデーションみたいになめらかにウェイトが太ももにかけて0になっていくなら多分大丈夫だけど、↑みたいに突然切れてると太ももが追従できず切れちゃうみたい?
まぁ表面だけにしといたほうが無難だと思う。
このままVRMエクスポートしようとすると「影響を与えるボーンが5以上あります。4以下にしてください」でエラーが出るので、ウェイト → 合計を制限でウェイトを間引く
ここで躓いてる人は多いらしい?
以前このブログでもこのエラーで記事を書いたら、まだ立ち上げたばかりのブログなのに、ほぼ毎日くらいのペースでアクセスがあった(-_-;)

2022/02/06追記:この記事を書いた時よりも、VRM_IMPORTERはリニューアルして改善されているようなので、今はもっと便利になっているかも?
後でやってみたらまた追記します。
これ、一つのボーンに対して、ウェイトで動く頂点数が多すぎると不具合が出るからVRM_IMPORTERが事前にはじくようにしてるっぽい?
unityだとそういうウェイト制限があるとかないとか聞いたことがあるような。
或いはVRMの仕様なのか?詳しいことはよくわかりません。
ウェイト → 合計を制限 で、ウェイトを間引けばOK。
「頂点を三角に~」とかいうエラーが出た場合は、編集モードで全選択、Ctrl+Tで面を三角にできるのでエラー解消できます。
今回の部分とは関係ないから詳しくは書かないけども。
一応ポーズモードでお尻が動くかどうかチェック
オブジェクトモードでボーンを選択した状態で、ポーズモードに移行します。
そこでお尻のボーンを選択し、 Rキーで回転させてみましょう。
ちゃんと動けばOK。
2022/02/06追記:動かした状態をシェイプキーにすることもできる
お尻が揺れるアニメーションを作る場合は、シェイプキーにしておくと数値指定だけで動かせるので便利かも。
ポーズモードでボーンを動かした状態をシェイプキーに登録する手順を、こちらの記事で書いたので良かったらどうぞ。



unityに持っていって動作チェック
unity2020.1.1f1、2019.4.13f1では問題なく動作しました。
まぁバージョンはあんまり関係ないから他のバージョンでもちゃんと動くと思うけど、一応。
これでダメな場合は、uniVRMのバージョンの問題だったり、blenderでインポートエクスポートする時に不具合が出ている可能性を疑った方がいいかも?
VeryAnimationでチェックしたけど、一応破綻もなく動いてるかな。
IK?なのか、移動もできるっぽい。引っ張った感じには使えるかな?
VeryAnimationは手軽にアニメーションが作れて便利なのでオススメ。
Very Animation|Unity Asset Store
これにダイナミックボーンを追加すれば揺らしたりできます。
参考にした頭のいい先輩のページ
とても参考になりました。
ありがとうございます(*^-^*)




