見出し画像

【VRC】Blenderを使用して体形改変したアバターに服を着せる(Level1:アバター側のボーンを流用できる服を着せる)

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


この記事は前記事において体形を大きく変更したアバターに別売りの対応服を、またはアップデートで後日追加された服を着せる方法のまとめです。

-----注意書き-----

・使用するBlenderは相変わらず2.79(b)です。これ以外のバージョンだと操作方法が違ったり、使用しているプラグインが非対応だったりする可能性がありますのでご注意ください。

・この手法は前記事の後編1の「Step1-5メメント・モリ(バックアップ取得)」において作成した「ポーズモードで編集した姿をBlenderにデフォルトとして認識させる前のファイル」を利用して、体形改変が終わったアバターに服を着せる方法をメインに説明します。

・「服を着せてから改変します」という場合でも問題は有りませんが、一部工程をスキップして読んでください(改変済みアバターへの結合等)

Step1:買い出し(着せるアバターと服を選ぼう)

画像1

今回は改変例としてジンゴさん作の「イメリス」を使用します。


今回着る服は二種類のパターンとします。

1:服を着るアバターと服のボーンの構造とボーンの命名法則等が一致している服(=アバターのボーンを流用できる服)

 意味が捉えづらいかもしれませんが、これは「独自のボーンなどを使わずに、アバターに元々あるボーン(例えばHips,Spine,Chest、スカートのあるアバターならSkirt...等)を利用して作られている比較的シンプルな服」が大半です。
このタイプの服ならアバターのボーンに服のウェイト情報をまとめることができるため、かなりラクチンです。
(要はアバターの「Hips,Spine,Chest...」ボーンに服の「Hips,Spine,Chest...」の情報を一緒に持たせてしまえる)

例えば肌着や水着、ズボンなどの肌に密着しやすい服や、デフォルトの服装とよく似ている構造の服は高確率でこちらです。


画像2


パターン1の例はイメリスちゃんのアップデートで追加された夏服とします。


2:服を着るアバターには存在しないボーンを使用している服

 こちらも凄く簡単に言えば「純正の服に比べて揺れ物が多いor見た目が大きく異なる服」が大半です。
元々ズボン+タイトな服だったアバターが、スカート付きだったりヒラヒラが沢山ついてる服を着ようとするとほぼ間違いなくこちらです。

画像3


パターン2の例はもにゃ図書委員長さん作の「和服レオタード」とします。

この記事ではパターン1のみを解説します。

 パターン2は次の記事にて。

TIP1:.BlendをBlenderへ突っ込む

まずは前の記事のようにfbxをBlenderへ読み込み、表示させるところから始まります。
ただし、今回は別パターンとして「最初からBlenderファイルが存在している」パターンでBlenderに読み込んでいきます。

画像4

イメリスちゃんはBlendファイルが付属しています、これは地味だけど非常に有難いですね。これを利用しない手は有りません。

しかし、これをBlender2.79で開こうとするとトラブルが起きます。

画像5

何も表示されません。
これは、2.79で2.79以降のBlenderで作成された.blendファイルを開こうとすると起こる症状です。

「え、じゃあ使えないじゃん」と思うかもしれませんが…実は裏技で読み込むことができるんです。

画像6

「ファイル」の「アペンド」を選びます。

画像7

 ここで「IMERIS.blend」をクリックします。

画像8

すると、こんな感じでブワッと色々出てくるので、とりあえず「Object」を選択します。

画像9

実はこれで.blend内のオブジェクトの情報(モデルのボーンや、モデルのメッシュの情報)を取得することができます。

画像10

アバターのオブジェクトを選択し、「ライブラリからアペンド」を押しましょう。

Tip:

画像11

たまに「Camera」とか「Lamp」とかアバターのボーンやメッシュではない何かが紛れてる場合がありますが、これはBlenderが勝手に作るアレ

画像12

↑ですので、これは選択から外してOKです。


画像13

無事読み込むことができました。
表示設定などは取得しきれないので、前記事などを参考にして改変しやすいように表示してあげてください。


画像14

表示できました、可愛いですね。

TIP2: 某レジェンド「真っ白か、ランバートを使ってるんだろうね。」

画像15

改変時に「GLSL」や「Shadeless」を使い分ける話をしましたが、偶に上記のように「GLSLを押すと真っ白になる」アバターがあります。

画像16

そんな時は大体マテリアル設定がだいたいこんな感じになってるはずです。「ランバート」を「トゥーン」に切り替えてみたり、「ディフューズ」の強度を1に、「スペキュラー」の強度を0にしてみてください。

画像17

これで直りました。


Step2:「改変なら終わっちゃってるんですけど、どうやって着るんすか」


画像18

ここからは前記事の「後編1後編2」の記事に沿ってポーズモードを利用した体形の変更を行い、「後編1」において「Step1-5:メメント・モリ((ブレンダーの)死を思え)」で作ったバックアップファイル(「後編2」での作業を行う前のファイル(該当記事で言うところの「...Unapplied.blend」)が手元にあることを大前提とします。

ここでは、例として

IMERIS_Blog_Unapplied.blend
 前編1(読み込み)~後編1(ポーズモードによる変形)のみの作業が終わっている「体形改変は済んでいるがまだ確定させていない状態」ファイル

IMERIS_Blog_Applied.blend
 後編2(ポーズモードの変形をデフォルトに適用+各種破綻の修正)の作業が終わっている「体形改変を確定させ、各種破綻を直してある」ファイル

とします。

IMERIS_Blog_Unapplied.blendはまだあくまでもポーズモードにおいて各ボーンの拡大率などを一時的に弄ることで一時的にモデルを変形させているだけのファイルなんですが、これを利用して、服のボーンをこの変形済みのボーンとガッチャンコ(合体)する事で服も同じように変形させ、最終的には破綻などを修正してある改変済みファイル(IMERIS...Applied.blend)に持って行ってしまおうという作戦です。

※↓↓パターン1,パターン2ともに共通↓↓

Step2-1:服をインポート

画像19

IMERIS_Blog_Unapplied.blendを開き、まずは分かりやすいようにボディ以外を非表示にしておきましょう。
※ここではエッチすぎるので真っ黒にしてあります。

画像20

アバターをFbxからインポートした時の容量で服のFBXをインポートします。


画像21

だいたいこんな感じで右側に「Armature.001」みたいなのが新規に追加されて服も表示されます。


※↓↓ここからはパターン1(服を着るアバターと服のボーンの構造とボーンの命名法則等が一致している服)です↓↓

Step2-2:服をとりあえず着せる

画像22

「Armature.001」の横にある⊕を押して展開します。

ひとまずわかりやすいように「S_shirt(Tシャツ)」を選びます。

画像23

トルクレンチマークを押します。
すると下部に

画像24

が表示されます。

これは前の記事でも説明しましたが、「お前(メッシュ)はこいつ(オブジェクト)に沿って動くんだぞ」という関連付けみたいなものです。
この画面で言うと、「「S_shirt(Tシャツ)」は「Armature.001(服側のボーン)」のボーンに沿って動いたり変形したりすること。」という意味合いになっています。
Armature(アバター)において、例えばLegボーンを大きくしたり曲げたりするとアバターの足と靴下が大きくなったり曲がるのは、こういった関連付けがされているからです。


ここで、服のArmatureを「Armature(アバターのボーン)」にすり替えることで、アバターと同じように変形・拡大させる(=体形改変の効果をシャツにも適用させる)事が出来ます

画像25

「オブジェクト」内の値をアバター側の名前と同じ奴にしてみましょう。

画像26

やりました。

他のメッシュ(S_braceletやS_pantsやその他諸々)も同じようにやってみましょう。

画像27

バッチリですね。
アバターの変形に応じて服も変形してくれました。

Step2-3:本当に大丈夫かチェックしよう

 

画像28

試しにアバター側のHipボーンをポーズモードで選択し、Gを押して適当にグリグリしてみましょう

画像29

服がちゃんとついてきたらOKです。右クリックでキャンセルしましょう。


何かついてこないメッシュがある:
その服はアバターのオリジナルのボーンにはない独自のボーンを使っているかもしれません。服のArmatureとアバターのArmatureを比較してみてください。
 →独自のボーンがあった場合:パターン2の方へ進んでください。
 →独自のボーンが無い場合:ボーンの構造などはアバターと同じだけど、ボーンの名前が異なる可能性があります。

Step2-2の技は、「Armatureを切り替えても同じ名前のボーンがあるならそれに従う」仕様を利用しているので、たとえボーンの形が全く同じだとしても、名前が異なると反応してくれません

画像56

上記例でいうと、「Hips(尻)」「Spine(背骨)」「UpperLeg_...」が異なるので、Step2-2でオブジェクトを「Armature」に切り替えても、

服「おい、Armature側にHipZとSpineZとUpperLeg_LZとUpperLegRZにあらへんやんけ、ここは動かさへんからな」

と言う事になってしまいます。

その場合は、オブジェクトを「Armature.001」に戻して、「(なんか持ち上げてるマーク)Armature.001」をクリックして「編集モード」にしたうえで名前を合わせてください。

画像58

名前を合わせ終わった後にStep2-2を行い、ちゃんとついてきてくれれば成功です。


注意:ポーズモードで名前を変えたりしないように。壊れます。


Step2-4:服をアバターに持っていこう(オブジェクトのペアレント)

現状、服はアバター側のボーンの動きに合わせて動いてくれていますが、あくまでも服のオブジェクトはまだ服のArmature.001の元に居るままなのでアバターの方へ移動させましょう。

画像30

前準備として両方のArmatureのボーンを表示しておきます。

画像31

Shift+クリックで服のメッシュを選びます。

画像32

その状態でShift+クリックでアバターのArmatureを選択します。

画像33

Ctrl+Pを押してペアレントを行います。「ペアレント対称 オブジェクト(トランスフォーム維持)」を選択します。


画像34

アバターのArmatureの元に服のオブジェクトがお引越しして、Armature.001の方には誰も居なくなります。

画像35

Armature.001はもう用済みなので消します。


画像36

こうして改変ボディに合わせて変形した服が出来上がりました。


画像37

あくまでも今回必要なのは服だけなので、追加したい服と(念のために)素体だけを残して消してしまいましょう。

画像38

もちろん、別ファイルとして保存先を分けるのも忘れずに。

Step2-5:服の変形を適用しよう(モディファイアの適用)

ここからは後編2で行ったのと同じく、Blenderに「は?服のデフォルトはこんな感じでしたが?」とワカらせる工程を行います。

※後編2で言うところのStep2(ポーズモードでイジったボーンなどの情報ry)~Step4(各オブジェクトにアーマチュアを再設定)を行ってください。

とりあえず各ステップを実行している様子の写真だけを貼っておきます、細かいことは記事の参照をお願いします。

Step2:(アレコレを適用)

画像39

Step3:(改変したボーンをデフォルトに)

画像40

Step4:(アーマチュアの再設定)

画像41

後編2においては、ここからStep5(破綻の修正)を行っていましたが、破綻修正は改変済みの体(IMERIS_Blog_Applied.blend)にくっつけた後に行った方が無難ですのでここでは保留します。

Step2-6:服の改変完了!(モディファイアの適用)

画像42

こうして改変済みの服が完成しました。

次は、これを改変済みの体(IMERIS_Blog_Applied.blend)に持っていく作業です。

Step2-7:改変済み服を.blendで保存

画像43

ワカらせたのでIMERIS_Blog_Applied_Cloth.blendとして保存します。

IMERIS_Blog_Applied_Cloth.blend自体はこれ以上の作業を行わないので閉じてしまってOKです。

Step2-8:改変・修正済みアバターに改変済み服を着せる

画像44

既に作成した体形改変並びに各種破綻などを修正したアバターについさっき改変した服を着せます。

「IMERIS_Blog_Applied.blend(改変・修正済みのファイル)」を開きましょう。

画像46

開いたら「アペンド」を利用して、先ほど作成した服の改変済みファイルを開きます。

画像45

画像47

画像48

テスト用に入れた素体と改変済みの素体の体の位置が合っていればちゃんと上手くいっている証です。

服を着せる方法は先程の「Step2-2:服をとりあえず着せる」と同じです。
テスト用に入れた素体を除いて先程と同じ工程でやってみてください。

画像49

画像50

先程と同じくもうArmature.001は不要ですので消しちゃってください。

画像51

これで改変済みのボディに服を着せることができました。


Step2-9:破綻修正


前記事の後編2と同じように改変済みのボディと合わせてみて破綻箇所を探し出して破綻を修正したりしましょう

画像52


Step2-10:トランスフォームの統一

画像53

「後編2」において出力の前にやった作業(「******「さあ出力だ!」「まて、まだすべきことがある」*****」のところ)をここでも行います。

今回追加したオブジェクトの位置・回転・拡大を他のオブジェクトと統一します。

Q:揃えたら何かあるん?
A:わからん…(ジャガー)


まぁ念のためにやっておきましょう。
対象は今回追加した服だけです。それ以外はもうすでに位置・回転・拡大は全て1.0か0に統一されているはずなのでやる必要は無いです。

ちなみに、イメリスちゃんとこの夏服に限っては初めから位置回転拡大が全部統一されているのでこの作業は不要だったりします。

Step3:改変終了、出力へ

これでBlenderでの作業は完了です。

あとはUnityに出力するだけです。
(詳しくは後編2の「*****「さあ、出力だ!」「最後の注意も忘れるなよ」*****」部分を見てください)


あとはUnity上でマテリアルをコネコネしたり表情をコネコネしたりテクスチャをコネコネしたりして……


画像54

できました。


画像55

少しでも参考になれば幸いです。


※補足(改変済みのファイルが無い、服を着せてから体型を弄ります!の場合)

 まだ体形改変を行っておらず、ひとまず服を着せてから体形を弄ります!という場合でも基本的に上記と同じ流れでやれば問題は無いはずです。
Step2-4( 服をアバターに持っていこう(オブジェクトのペアレント))まで済ませたうえで、あとは体形改変の前編1へつなげていく感じですね。

パターン2について

※パターン2(服を着るアバターよりもボーンが多い服)は後日書きます、もうしばらくお待ちください。

 ※やることは基本パターン1と変わりませんが、
「服のArmatureから固有のボーンを切り出し、アバターのボーンにくっつける」という工程が加わります。
 ※ここに関しては元々胸ボーンが存在しないキッシュちゃん素体にたわわ胸を付ける際の処理(たわわボーンを切り出して素体のボーンにくっつける作業)と殆ど同じなので、待ちきれない人はそちらを参考に試してみてください。



おわりに(連絡先)

この記事の件でどうにも解りづらいことがある場合はTwitter(@Cell_Virtualian)で訊いてください。
時間が取れ次第答えます。
※Blender/Unityに詳しいわけではない+ほぼ独学なのでそこはご了承ください。ゴメンネ

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