見出し画像

【VRC】Blender2.93を使用した体形改変のやり方(2:.blend上で服を着せる)

-----この記事について-----

この記事は前記事(【VRC】Blenderを使用した体形改変のやり方))を
Blender2.93で行う方法の第二弾です。

この記事で、ついに体形改変……の前に、先に服を着せます。いきなり寒くなってきましたし。
……というのはさておき、2.79で服を着る方法を説明した際は体形改変をした後に服を着せていますが、着せる/着たい服を一通り導入したあとで体形改変をするのが一番シンプルでわかりやすいので今回は初めから服を着ます。


Step1:着たい服を決める-----

まずは着せたい服を用意しましょう。
サンプルとして2.79で服を着る方法で使用したイメリスちゃん付属の夏服ともにゃ図書委員長さん作の「和服レオタード」の二種類を着ます。


Step2:服を取り込む-----

画像1

.fbxしかない服ならアバターを取り込むのと要領は全く同じです。
「インポート」から「FBX」を選んで服を読み込みましょう。


画像2

.blenderが有るなら2.79bで2.8以降の.blendファイルからデータを抜き出す裏技と同じようなことをやって.blendファイルからデータを引っこ抜きます。
アペンド」を選択してください。


画像3

.blendファイルをクリックして

画像4

Object」をクリック

画像5

Camera」とか「Lamp」とか関係ない奴を除いて選択して「アペンド」を押します

画像6

Armature.001」として服のデータが取り込めました。

画像7

解りやすいように素体と夏服だけを表示させておきます。


Step3-A:服を着る(アバター側のボーンだけで着れる服)-----

前記事で解説しましたが、イメリスちゃん付属の夏服は「アバターに元々あるボーンだけで作られた服」です。
よって、夏服のアーマチュア(ここに指定されたボーンのウェイト情報に従って動きますという関連付け)をアバター側のアーマチュアにすり替えてしまうことで、アバター本体を動かすボーンと服を動かすボーンを同じ一個のボーンにまとめることができます。

※見た目や操作感は少し変わるものやっていることとキー操作に関しては2.79bの記事でやってる事とほとんど変わらないのでちょっと巻き気味に書きます。

Step3-A-1:モディファイアの切り替え-----

画像8

まずは夏服のメッシュを選んで「🔧」マークを押しましょう

画像9

オブジェクト」を押して

画像10

Armature.001(夏服のアーマチュア)」を「Armature(アバターのアーマチュア)」に切り替えます。

画像11

他のメッシュも同じように設定しましょう。

これが一通り済んだらアバター側のアーマチュアで「ポーズモード」を起動してちゃんとついてきてるかどうかチェックしましょう。

画像12

アバター側のアーマチュアを表示した状態で選択して、

画像13

「オブジェク…」となってるところをクリックして「ポーズモード」を呼び出しましょう
(2.79の時のように「ポーズ」部分を押せばポーズモードが起動するワケではないみたいです)


画像14

「ポーズモード」を起動したらひとまず「Hips」とか「Spine」とかを選択して

画像15

モデルが表示されてる画面にカーソールを当てて「G」キーを押してマウス操作で移動させたり「R」キーを押してマウス操作で回転させたり「S」キーを押してマウス操作で拡大縮小してみましょう。
操作をしたら右クリックで変形をキャンセルさせるのも忘れないように。


画像16

画像17

画像18

アバターの変形に応じて服も良い感じに変形してくれたら大体OKです。


Step3-A-2:メッシュのお引越し(ペアレント)-----

アーマチュアの切り替えはこれで大丈夫なので次は夏服をアバター側に移動させましょう。

画像19

「オブジェクトモード」にした状態で夏服を選びます

画像20

夏服を選択した状態でCtrl+クリックで「Armature」を選択します

画像21

モデルが表示されてる画面にカーソールを当てて「Ctrl+P」でペアレントを行います。
ここも2.79の時と同じように「ペアレント対象」は「オブジェクト(トランスフォーム維持)」を押します。


画像22

夏服のメッシュがArmatureの中に入ってきたらOKです。

画像23

夏服の方のアーマチュア(Armature.001)はこれで用済みです。
階層を削除」で根こそぎ消しましょう。


画像24

これで夏服は着れました。やったね。


Step3-B:服を着る(アバター側のボーンだけでは着れない服)-----

ここも前記事で解説しましたが、服によっては「アバターのボーン+服独自のボーンも使用して作られた」ものがあります。
この場合、夏服と同じようにアーマチュアをすり替えるだけではダメです。
服独自のボーンをアバター側のアーマチュアに引越しする作業が必要になってきます。

※ここもキー操作以外は大して変わらないのでガンガン行きます。


画像25

画像26

画像27

.blendなら「アペンド」から対象の.blendの「Object」から服のメッシュとアーマチュアを抜き取り

画像28

画像29

.fbxなら「インポート」から対象を選びましょう

画像30

画像31

FBXでインポートしたらマテリアルが無い状態になってました。
ここも2.79bの時とやることは同じです。
「マテリアル」アイコンをを押して「新規」でマテリアルを追加します。

画像32

あとはアバターのテクスチャを表示したときと同じ要領です。

画像33

画像34

画像35

他のメッシュにもガンガン適応していきます。

画像36

できました。

Step3-B-1:独自ボーンを探し出す-----

画像37

次はアーマチュアを切り替える前に「どのボーンが服にしかないボーンなのか」「そのボーンはどの階層にあるのか」を把握していきます。

2.79の記事ではアバター側のボーンと服のボーンをシーン上で見比べて違いを探し出す形式で探し出しましたが、今回はアウトライナー上で比べっこして探し出す形式で行きます。

画像38

アウトライナー?…と思うかもしれませんが要はコレです。
ここでボーン一覧を開いていって比較します。


画像39

でもこんなんじゃめちゃくちゃ比べ辛いやん!
…と思いますが、ここはBlenderの画面分割機能を使ってもっと見やすくしていきます。

画像40

ここら辺にマウスカーソールを合わせて幅調整のカーソール(⇔)が出てきたら右クリックしてみてください。

画像41

エリア設定」が出るので「垂直に分割」を選択します。


画像42

キャプチャはできなかったんですが押した後にマウスを動かすとなんか点線がマウスについてきます
適当な位置で左クリックしてみてください

画像43

ババーン!
これでアウトライナーを二重に開くことができました。
これで一方でアバター側のボーンを開き、一方で服のボーンを開いていけば綺麗に比較ができます。

画像44

服側にはあるけどアバター側にはない」ボーンを探し出していきましょう。
コツとしてはHumanoidボーンに沿って一階層ずつ開いて終端に行きついたら1階層戻って次のHumanoidボーンへ…という感じで見比べていくのが解りやすいです。

例:Hips->Spine->Chest->Neck->Head->(戻る)Neck->(戻る)Chest->Left Shoulder->Left Arm->Left Hand->(戻る)Left Arm->(戻る)Left Shoulder->(戻る)Chest->Right Shoulder->.....


例としてまずはHipsから見ていきます。

画像45

怪しい奴を見つけました。
一応ビューポート上で確認しましょう。

画像46

服側のアーマチュアを選択した状態で「編集モード」を起動します。

画像47

ボーンが選べるようになったので選んでみます。

画像48

ちょっとわかりづらいのでボーンを透過で見られるようにしましょう。

画像49

「人間」アイコンをクリックして「ビューポート表示」をクリック

画像50

この「最前面」が2.79でいうところの「レントゲン」です。

画像51

見えるようになりました。

この「Hips」階層下にある「WL_Back.001...」と「WL_Front.001」は股の前後にある布のボーンのようです。憶えておきましょう。

Hipsはこれだけのようですので次は「Spine」を開いてみましょう。

画像52

もう一つ見つけました。
WL_Suzu.001

画像53

画像54

腰についている鈴でした。

次はChestを開きます。

画像55

Chestの階層にはありませんでした。

次はNeckを開きましょう。

画像56

ありませんでした。
服のボーンは「head」から先は無いので次に向かいます。

次は「Shoulder_L」に行きましょう。

画像57

無いので次のUpperArmへ。

画像59

ありました。

画像59

ここは左袖の内側のボーンみたいですね。

次はLowerArmへ行きます。

画像60

画像61

ここは左袖の外側のボーンですね。

次はHandへ行きます。

画像62

画像63

この先(指)には無さそうですね。

階層を閉じていってChestに戻ります。

画像64

画像65

Breastは特になさそうなので次はShoulder_Rへ行きましょう。
ここはShoulder_Lで行ったのとだいたい同じなのでダイジェストです。

画像66

画像67

画像68

画像69

画像70

画像71

右肩以降もこれで見終わりました。
またChestに戻ります。

画像72

ChestとSpineの全階層を見終わったので更に上のHipsに戻りましょう。

次はUpperLeg_Lを見ていきましょう。

画像73

特に何もありませんね。
ついでに下の階層まで開いてみましたが特にないですね。

画像74

同じくUpperLeg_R以降もありませんでした。
Hipsに戻ります。

画像75

次はButt_Lへ行きます。

画像76

特にありませんでした。
同じくButt_Rもですね。

画像77

これで服のすべてのボーンを見終わりました。
どの階層に独自ボーンが有るのかは把握できました。


Step3-B-2:独自ボーンを抜き出して移動させる-----


画像78

次は独自ボーンを服のアーマチュアから分離してアバター側のアーマチュアに合体させます。

全ての独自ボーンを一気に分離すると間違いなく迷うので一階層ずつ(例:Hipsにあるやつ、Spineにあるやつ、Chestにあるやつ…)進めていきましょう


まずはHipsから進めます

画像79

服のアーマチュア(Armature.001)側にあるArmatureをクリックして、「編集モード」を起動してください


画像80

分離したいボーンを選択します

画像81

ビューポート側にカーソールを移動して「P」を押してください。

ボーンを別アーマチュアに分離」を選んでください。


画像82

さっきまで服のアーマチュアにあった独自ボーンが新しいアーマチュアとして分離します。

画像83

「オブジェクトモード」を起動した状態で「Armature.002(分離した独自ボーンのアーマチュア)」を選択し、次に「Armature(アバターのアーマチュア)」をCtrl+クリックで選択し、Ctrl+J結合してください。


画像84

するとArmature.002が消え、中身の独自ボーン達がアバターのアーマチュアの中に入り込みます。

ただ、この状態だとボーンの階層が正しくない(Hips直下ではない)ので階層を移動させましょう

画像85

編集モード」を起動した状態で独自ボーンを選択

画像86

「🦴」アイコンをクリックして「関係」を押す


画像87

ここの「ペアレント」をクリックして

画像88

この独自ボーンを入れたいボーンを探しましょう

画像89

これでアバター側に独自ボーンを移植できました。
残りも同じくやりましょう。

画像90


次は別の階層の独自ボーンを移し替えていきます。


Spine

画像91

画像92


UpperArm_L

画像93

画像94


LowerArm_L

画像95

画像96


UpperArm_R

画像97


画像98


LowerArm_R

画像99

画像100

これで独自ボーンのお引越しが完了しました。


Step3-B-2:モディファイアの切り替え-----

独自ボーンを入れ替えたら次はアーマチュアを切り替えましょう。

Step3-Aの方でも行ったことですのでここも巻きで行きます。

画像101

服のメッシュを選択して「オブジェクト」を「Armature(アバター側のアーマチュア)」に切り替えていきます。

画像102


ちゃんと切り替えができたかどうかポーズモードでチェックしましょう。


画像103

アバター側のArmatureの「ポーズ」を選択したうえで「ポーズモード」を起動してください。


画像104

Hipsをぐりぐりしたり

画像105

Chestをグリグリしてみたり

画像106

腕をグリグリしたりしてついてきたら大体OKです。



Step3-B-3:メッシュのお引越し(ペアレント)-----

最後にメッシュをちゃんとアバター側に引っ越したら完成です。

画像107

服メッシュを全選択して


画像108

次はCtrlを押しながらアバターのArmatureを選択して


画像109

Ctrl+Pで「オブジェクト(トランスフォーム維持)」を選択します。


画像110

これでアバター側に服の独自ボーンとメッシュを全てお引越し出来ました。

画像111

服のArmatureはもう不要なので削除しましょう。


Step4(おまけ):服のサイズ(トランスフォーム・スケール)を統一する

とにかく着るだけなら恐らくこの工程は不要ですが、トランスフォームとスケールをアバターと服で合わせておくとUnity側でBounds(可視範囲)の調整をしたりする際にメッシュを全選択してBoundsを一括指定出来たりとなにかとラクなのでおススメです。

※ただし、Clothコンポーネントを使用している場合はこの設定を適用するとCloth設定が壊れることがあるのでその場合はこのStepは無視したほうがいいかもしれないです。


※アバター側のメッシュはデフォルトでトランスフォームが初期値であるとします。

画像112

↑上記がデフォルト値です。
要は「このメッシュは初期位置かつデフォルトサイズです」と言う事です。


画像113

追加した服を一通り見てみたところ…「90°」になっていますね。
直してしまいましょう。


画像114

服のメッシュを選択した状態で「オブジェクト」の「適用」から「全トランスフォーム」を選びます。


画像115

これで統一ができました。


Step5(おまけ):FBXに出力してみる


画像116

無事に服が着れたので体形改変……と行きたいところですが、
ひとまずこれでFBXとして出力してみましょう。

画像117

メッシュとアーマチュアを全選択して


画像118

その状態で「エクスポート」の「FBX」を選択します。


画像119

名前を付けてエクスポート!…の前にちゃんとエクスポート設定を見直しましょう。


画像120

画像121


パスモード:自動
パッチモード:オフ

内容:
 選択したオブジェクトにチェック

オブジェクトタイプ:
 エンプティ
 アーマチュア
 メッシュ
 その他
を選択

トランスフォーム:
 スケール:1
 スケールを適用:すべてFBX
 前方:-Zが前方
 上:Yが上
 空間トランスフォームを使用にチェック

ジオメトリ:
 特にチェックを入れない

アーマチュア:
 プライマリボーン:Y軸
 セカンダリボーン:X軸
アーマチュアFBXノードタイプ:Null
デフォームボーンのみとリーフボーン追加のチェックを外す

アニメーションをベイク:チェックを外す

これでちゃんと出力されるはずです。


画像122

エクスポートが終わったら早速Unityにインポートしてみましょう。


画像123

インポートした奴に各メッシュと「Armature」が入っていたら大体OKです。

あとは元々インポート済みのデフォルトアバターなどからマテリアル設定を真似して行っていけば……


画像124

できました。

これでBlender上で服を着せてUnityに持っていくスキルを習得することができました。


次は体形改変を行いましょう。

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