![見出し画像](https://assets.st-note.com/production/uploads/images/63746414/rectangle_large_type_2_d2c394cf6d243b3b0e48220bc190bcf6.png?width=1200)
【VRC】Blender2.93を使用した体形改変のやり方(2:.blend上で服を着せる)
-----この記事について-----
この記事は前記事(【VRC】Blenderを使用した体形改変のやり方))を
Blender2.93で行う方法の第二弾です。
この記事で、ついに体形改変……の前に、先に服を着せます。いきなり寒くなってきましたし。
……というのはさておき、2.79で服を着る方法を説明した際は体形改変をした後に服を着せていますが、着せる/着たい服を一通り導入したあとで体形改変をするのが一番シンプルでわかりやすいので今回は初めから服を着ます。
Step1:着たい服を決める-----
まずは着せたい服を用意しましょう。
サンプルとして2.79で服を着る方法で使用したイメリスちゃん付属の夏服ともにゃ図書委員長さん作の「和服レオタード」の二種類を着ます。
Step2:服を取り込む-----
.fbxしかない服ならアバターを取り込むのと要領は全く同じです。
「インポート」から「FBX」を選んで服を読み込みましょう。
.blenderが有るなら2.79bで2.8以降の.blendファイルからデータを抜き出す裏技と同じようなことをやって.blendファイルからデータを引っこ抜きます。
「アペンド」を選択してください。
.blendファイルをクリックして
「Object」をクリック
「Camera」とか「Lamp」とか関係ない奴を除いて選択して「アペンド」を押します
「Armature.001」として服のデータが取り込めました。
解りやすいように素体と夏服だけを表示させておきます。
Step3-A:服を着る(アバター側のボーンだけで着れる服)-----
前記事で解説しましたが、イメリスちゃん付属の夏服は「アバターに元々あるボーンだけで作られた服」です。
よって、夏服のアーマチュア(ここに指定されたボーンのウェイト情報に従って動きますという関連付け)をアバター側のアーマチュアにすり替えてしまうことで、アバター本体を動かすボーンと服を動かすボーンを同じ一個のボーンにまとめることができます。
※見た目や操作感は少し変わるものやっていることとキー操作に関しては2.79bの記事でやってる事とほとんど変わらないのでちょっと巻き気味に書きます。
Step3-A-1:モディファイアの切り替え-----
まずは夏服のメッシュを選んで「🔧」マークを押しましょう
「オブジェクト」を押して
「Armature.001(夏服のアーマチュア)」を「Armature(アバターのアーマチュア)」に切り替えます。
他のメッシュも同じように設定しましょう。
これが一通り済んだらアバター側のアーマチュアで「ポーズモード」を起動してちゃんとついてきてるかどうかチェックしましょう。
アバター側のアーマチュアを表示した状態で選択して、
「オブジェク…」となってるところをクリックして「ポーズモード」を呼び出しましょう
(2.79の時のように「ポーズ」部分を押せばポーズモードが起動するワケではないみたいです)
「ポーズモード」を起動したらひとまず「Hips」とか「Spine」とかを選択して
モデルが表示されてる画面にカーソールを当てて「G」キーを押してマウス操作で移動させたり「R」キーを押してマウス操作で回転させたり「S」キーを押してマウス操作で拡大縮小してみましょう。
操作をしたら右クリックで変形をキャンセルさせるのも忘れないように。
アバターの変形に応じて服も良い感じに変形してくれたら大体OKです。
Step3-A-2:メッシュのお引越し(ペアレント)-----
アーマチュアの切り替えはこれで大丈夫なので次は夏服をアバター側に移動させましょう。
「オブジェクトモード」にした状態で夏服を選びます
夏服を選択した状態でCtrl+クリックで「Armature」を選択します
モデルが表示されてる画面にカーソールを当てて「Ctrl+P」でペアレントを行います。
ここも2.79の時と同じように「ペアレント対象」は「オブジェクト(トランスフォーム維持)」を押します。
夏服のメッシュがArmatureの中に入ってきたらOKです。
夏服の方のアーマチュア(Armature.001)はこれで用済みです。
「階層を削除」で根こそぎ消しましょう。
これで夏服は着れました。やったね。
Step3-B:服を着る(アバター側のボーンだけでは着れない服)-----
ここも前記事で解説しましたが、服によっては「アバターのボーン+服独自のボーンも使用して作られた」ものがあります。
この場合、夏服と同じようにアーマチュアをすり替えるだけではダメです。
服独自のボーンをアバター側のアーマチュアに引越しする作業が必要になってきます。
※ここもキー操作以外は大して変わらないのでガンガン行きます。
.blendなら「アペンド」から対象の.blendの「Object」から服のメッシュとアーマチュアを抜き取り
.fbxなら「インポート」から対象を選びましょう
FBXでインポートしたらマテリアルが無い状態になってました。
ここも2.79bの時とやることは同じです。
「マテリアル」アイコンをを押して「新規」でマテリアルを追加します。
あとはアバターのテクスチャを表示したときと同じ要領です。
他のメッシュにもガンガン適応していきます。
できました。
Step3-B-1:独自ボーンを探し出す-----
次はアーマチュアを切り替える前に「どのボーンが服にしかないボーンなのか」「そのボーンはどの階層にあるのか」を把握していきます。
2.79の記事ではアバター側のボーンと服のボーンをシーン上で見比べて違いを探し出す形式で探し出しましたが、今回はアウトライナー上で比べっこして探し出す形式で行きます。
アウトライナー?…と思うかもしれませんが要はコレです。
ここでボーン一覧を開いていって比較します。
でもこんなんじゃめちゃくちゃ比べ辛いやん!
…と思いますが、ここはBlenderの画面分割機能を使ってもっと見やすくしていきます。
ここら辺にマウスカーソールを合わせて幅調整のカーソール(⇔)が出てきたら右クリックしてみてください。
「エリア設定」が出るので「垂直に分割」を選択します。
キャプチャはできなかったんですが押した後にマウスを動かすとなんか点線がマウスについてきます。
適当な位置で左クリックしてみてください
ババーン!
これでアウトライナーを二重に開くことができました。
これで一方でアバター側のボーンを開き、一方で服のボーンを開いていけば綺麗に比較ができます。
「服側にはあるけどアバター側にはない」ボーンを探し出していきましょう。
コツとしてはHumanoidボーンに沿って一階層ずつ開いて終端に行きついたら1階層戻って次のHumanoidボーンへ…という感じで見比べていくのが解りやすいです。
例:Hips->Spine->Chest->Neck->Head->(戻る)Neck->(戻る)Chest->Left Shoulder->Left Arm->Left Hand->(戻る)Left Arm->(戻る)Left Shoulder->(戻る)Chest->Right Shoulder->.....
例としてまずはHipsから見ていきます。
怪しい奴を見つけました。
一応ビューポート上で確認しましょう。
服側のアーマチュアを選択した状態で「編集モード」を起動します。
ボーンが選べるようになったので選んでみます。
ちょっとわかりづらいのでボーンを透過で見られるようにしましょう。
「人間」アイコンをクリックして「ビューポート表示」をクリック
この「最前面」が2.79でいうところの「レントゲン」です。
見えるようになりました。
この「Hips」階層下にある「WL_Back.001...」と「WL_Front.001」は股の前後にある布のボーンのようです。憶えておきましょう。
Hipsはこれだけのようですので次は「Spine」を開いてみましょう。
もう一つ見つけました。
「WL_Suzu.001」
腰についている鈴でした。
次はChestを開きます。
Chestの階層にはありませんでした。
次はNeckを開きましょう。
ありませんでした。
服のボーンは「head」から先は無いので次に向かいます。
次は「Shoulder_L」に行きましょう。
無いので次のUpperArmへ。
ありました。
ここは左袖の内側のボーンみたいですね。
次はLowerArmへ行きます。
ここは左袖の外側のボーンですね。
次はHandへ行きます。
この先(指)には無さそうですね。
階層を閉じていってChestに戻ります。
Breastは特になさそうなので次はShoulder_Rへ行きましょう。
ここはShoulder_Lで行ったのとだいたい同じなのでダイジェストです。
右肩以降もこれで見終わりました。
またChestに戻ります。
ChestとSpineの全階層を見終わったので更に上のHipsに戻りましょう。
次はUpperLeg_Lを見ていきましょう。
特に何もありませんね。
ついでに下の階層まで開いてみましたが特にないですね。
同じくUpperLeg_R以降もありませんでした。
Hipsに戻ります。
次はButt_Lへ行きます。
特にありませんでした。
同じくButt_Rもですね。
これで服のすべてのボーンを見終わりました。
どの階層に独自ボーンが有るのかは把握できました。
Step3-B-2:独自ボーンを抜き出して移動させる-----
次は独自ボーンを服のアーマチュアから分離してアバター側のアーマチュアに合体させます。
全ての独自ボーンを一気に分離すると間違いなく迷うので一階層ずつ(例:Hipsにあるやつ、Spineにあるやつ、Chestにあるやつ…)進めていきましょう
まずはHipsから進めます
服のアーマチュア(Armature.001)側にあるArmatureをクリックして、「編集モード」を起動してください
分離したいボーンを選択します
ビューポート側にカーソールを移動して「P」を押してください。
「ボーンを別アーマチュアに分離」を選んでください。
さっきまで服のアーマチュアにあった独自ボーンが新しいアーマチュアとして分離します。
「オブジェクトモード」を起動した状態で「Armature.002(分離した独自ボーンのアーマチュア)」を選択し、次に「Armature(アバターのアーマチュア)」をCtrl+クリックで選択し、Ctrl+Jで結合してください。
するとArmature.002が消え、中身の独自ボーン達がアバターのアーマチュアの中に入り込みます。
ただ、この状態だとボーンの階層が正しくない(Hips直下ではない)ので階層を移動させましょう
「編集モード」を起動した状態で独自ボーンを選択
「🦴」アイコンをクリックして「関係」を押す
ここの「ペアレント」をクリックして
この独自ボーンを入れたいボーンを探しましょう
これでアバター側に独自ボーンを移植できました。
残りも同じくやりましょう。
次は別の階層の独自ボーンを移し替えていきます。
Spine
UpperArm_L
LowerArm_L
UpperArm_R
LowerArm_R
これで独自ボーンのお引越しが完了しました。
Step3-B-2:モディファイアの切り替え-----
独自ボーンを入れ替えたら次はアーマチュアを切り替えましょう。
Step3-Aの方でも行ったことですのでここも巻きで行きます。
服のメッシュを選択して「オブジェクト」を「Armature(アバター側のアーマチュア)」に切り替えていきます。
ちゃんと切り替えができたかどうかポーズモードでチェックしましょう。
アバター側のArmatureの「ポーズ」を選択したうえで「ポーズモード」を起動してください。
Hipsをぐりぐりしたり
Chestをグリグリしてみたり
腕をグリグリしたりしてついてきたら大体OKです。
Step3-B-3:メッシュのお引越し(ペアレント)-----
最後にメッシュをちゃんとアバター側に引っ越したら完成です。
服メッシュを全選択して
次はCtrlを押しながらアバターのArmatureを選択して
Ctrl+Pで「オブジェクト(トランスフォーム維持)」を選択します。
これでアバター側に服の独自ボーンとメッシュを全てお引越し出来ました。
服のArmatureはもう不要なので削除しましょう。
Step4(おまけ):服のサイズ(トランスフォーム・スケール)を統一する
とにかく着るだけなら恐らくこの工程は不要ですが、トランスフォームとスケールをアバターと服で合わせておくとUnity側でBounds(可視範囲)の調整をしたりする際にメッシュを全選択してBoundsを一括指定出来たりとなにかとラクなのでおススメです。
※ただし、Clothコンポーネントを使用している場合はこの設定を適用するとCloth設定が壊れることがあるのでその場合はこのStepは無視したほうがいいかもしれないです。
※アバター側のメッシュはデフォルトでトランスフォームが初期値であるとします。
↑上記がデフォルト値です。
要は「このメッシュは初期位置かつデフォルトサイズです」と言う事です。
追加した服を一通り見てみたところ…「90°」になっていますね。
直してしまいましょう。
服のメッシュを選択した状態で「オブジェクト」の「適用」から「全トランスフォーム」を選びます。
これで統一ができました。
Step5(おまけ):FBXに出力してみる
無事に服が着れたので体形改変……と行きたいところですが、
ひとまずこれでFBXとして出力してみましょう。
メッシュとアーマチュアを全選択して
その状態で「エクスポート」の「FBX」を選択します。
名前を付けてエクスポート!…の前にちゃんとエクスポート設定を見直しましょう。
パスモード:自動
パッチモード:オフ
内容:
選択したオブジェクトにチェック
オブジェクトタイプ:
エンプティ
アーマチュア
メッシュ
その他
を選択
トランスフォーム:
スケール:1
スケールを適用:すべてFBX
前方:-Zが前方
上:Yが上
空間トランスフォームを使用にチェック
ジオメトリ:
特にチェックを入れない
アーマチュア:
プライマリボーン:Y軸
セカンダリボーン:X軸
アーマチュアFBXノードタイプ:Null
デフォームボーンのみとリーフボーン追加のチェックを外す
アニメーションをベイク:チェックを外す
これでちゃんと出力されるはずです。
エクスポートが終わったら早速Unityにインポートしてみましょう。
インポートした奴に各メッシュと「Armature」が入っていたら大体OKです。
あとは元々インポート済みのデフォルトアバターなどからマテリアル設定を真似して行っていけば……
できました。
これでBlender上で服を着せてUnityに持っていくスキルを習得することができました。
次は体形改変を行いましょう。
この記事が気に入ったらサポートをしてみませんか?