【blender解説】#2「非対応服を着せる」 (Pixiv Fanbox)
Content
こんにちは!えすびちゃんです!!
今回非対応服を着せるためにはどうするのかを解説していきたいと思います。
これを覚えると例えば新しいアバターを買った際に今まで着ていた服をそのまま移植出来たり、服のキメラなんかも出来るようになりますね。経済的にも優しい!
Q.対応服と非対応服の違いって何?
非対応服が着せられないというのはまぁわかると思いますけど、はじめに着せるためには何が違うのかという事に触れておきます。
結論からいうとメッシュとボーン構造ですね。
メッシュは前回前々回の記事で触れましたが、その対応させたい側の素体に添った形になっていない点で、ボーンは対応させたいアバターとボーンの名称が違うという点です。
例えば桔梗の腕のボーン構成は「Shoulder.L→Upper_arm.L→Lower_arm.L→Hand.L」といった形ですが、
セレスティアの場合「Shoulder_L→UpperArm_L→LowerArm_L→Hand_L」といった形でそれぞれ名称が違います。(技術屋の人間はわかると思いますけど変数の命名規則みたいなものですね、僕は蛇よりラクダが好きなのでセレスティアの方が好きです。)
前回と違いメッシュを合わせてUnityにもっていき、桔梗の服をセレスティアに着せようとしてもセレスティアは「Shoulder.L」が無いためボーンに追従してくれません。
また例えばですがBreastのボーンが素体のボーンと同じでなければPBを入れた際にボーンの位置が違うためおっぱいと服の揺れ方がずれて中が見えてしまいます。(桔梗はセレスティアより身長が高いのでおっぱいの位置が違うためボーンが同一じゃないのはわかると思います)
前置きが長くなりましたが、今回の記事ではそのボーンをセレスティアと同一の物に置換し、セレスティアのボーンに追従するように変更しようっていう話です!
今回はshrekm0n_シュレック様から販売されている"Overall"を対応させていきたいと思います。
ジーンズっていいよね、ちなみに桔梗ちゃん用の物を使っていきます。
ステップ1 メッシュを合わせよう
まずblenderに「ファイル」>「インポート」>「FBX(.fbx)」で服をインポートします。
入れたものがこちら、桔梗ちゃんの方がセレスティアより身長が高いのがよくわかりますね。
テクスチャの指定の仕方は前回のステップ2を参照してください。
【blender解説】#1.5「服をデカパイに対応させる」
こんにちは!えすびちゃんです!!この記事は支援者だけが見られます。 支援者の皆様へ、第一回の記事ですが初見の人が内容を見れるようにした方がいいという独断で無料にしてしまいました。すみませんでした。 なのでお詫びといいますか、+αの記事を書くことにしました。 この記事以降の解説記事は有料というのは約束...
そのままステップ3のメッシュを整えるまでは工程は同じです。
セレスティアの素体に沿ってプロポーショナル編集を使いメッシュを合わせていきます。
基本的にインナーからやっていくものなので、このサラシみたいなのからやっていきます。
胸を盛った時のようにある程度まではシェイプキーで伸ばして、そこからは手動で形を整えていきます。
こんな感じになりました。
ちなみにインナーでビキニとか着る場合はオーバーオールの部分だけやればいいので全部のメッシュをやる必要はないです。必要なメッシュだけやりましょう。
今回はサラシと帽子とオーバーオールを合わせました。
余談なんですけどこの帽子のことニット帽って言ったらフレンドにニービーだよって言われました。アパレルワカラン。
ステップ2 ボーンを置換しよう
この時点でもう着られてるように思えて実際は追従するボーンが桔梗用のためセレスティア用の物に置換してあげる必要があります。
が、まず一度プロジェクトのバックアップをしてください。
この先はミスるとやり直さなければいけない場面もあり、慣れてない人ほどここでセーフティを作っておいた方がいいです。やり方は.blendファイルをコピーするだけで大丈夫です。
↑大事
バックアップをしましたらまずArmatureを開いてみてください。
桔梗用のボーンが入ってます。
ここにセレスティア用のボーンをぶち込みます。
まず、左上にオブジェクトモードなのを確認してから、セレスティアの素体のArmatureを選択してCtrl+CとCtrl+Vでボーンのみを複製します。
(もしも編集モードと書かれていたらTabキーを押してください)
複製しました、ここにはセレスティアのボーンが入っています。当たり前ですけどね。
続いてオブジェクトモードで複製したセレスティアのArmatureをクリックした後、先ほどの桔梗のArmatureをCtrlをおしながらクリックしてください。
そのままアバターが映っている画面で"Ctrl+J"を押して結合してください。
するとこのように同じArmatureの中に入ってくれます。
Hipsに入っているのが桔梗ボーンでHips.001に入っているのがセレスティアボーンです。
Hips.001に入っているセレスティアボーンをHipsに入れ替えていきます。
Tabを押して編集モードに切り替えて下のボーンの形をしたタブを開きます。
UpperLeg_Lを選択して下のペアレントからHipsを選択します。
するとHips直下に移動してくれるので、セレスティアボーンの親子関係づけしていきます。
何が必要なボーンなのかというのが後で説明するメッシュの頂点グループにもよるんですが、少なくともSkirt_rootは要らないのはなんとなくわかると思います。
基本的に名称が違うけど同じボーンを移動させれば大丈夫と思ってください。
移動させました。
青色で表示されているのが移行したセレスティアボーンです。
もう桔梗の足と腕と胸のボーンは必要ないので消しましょう。
またHips.001以下も同じく消しましょう。
消す際、親ノードを消しても子が残ってしまうので親の中に入っているボーンもすべて選択する必要があります。
Shiftを押しながら▶を開くと直下以降のボーンが開くのでそれをうまく活用してください。
選択出来ましたらDELキーで削除しましょう。
これでスッキリしました。
アバタービューの画面を見てもセレスティアの身体にそったボーンが入っていることが確認できます。
またBreastも全く同じ座標、大きさ、角度のため、素体のおっぱいが揺れたとき全く同じ揺れ方をしてくれるようになります。(=はみださない)
ステップ3 頂点グループを修正しよう
メッシュも合わせ、ボーンもセレスティア用の物になりました。これで完成ですね!さあUnityに持っていこう!
ところがどっこいまだこの状態では服は追従してくれません。
皆さんはUnity画面でボーンを移動や拡大などをしたことは多分ありますよね?
ボーンを動かすことでメッシュが動くと思うんですが、その紐づけというのをしなくてはいけません。
具体的に説明するとメッシュは桔梗の「Shoulder.L」に紐づけされているのにセレスティアの「Shoulder_L」を動かしてもそんなボーンは知らないと言われてしまうわけです。
オーバーオールを選択していつもシェイプキーを動かしているタブの上の欄に頂点グループというのがあると思います。
それを見てみると「Shoulder.L」や「Upper_leg.L」などが入っており、桔梗のボーンと紐づけされていることがわかります。
今回移行したのは腕と足と胸なのでそれに対応したボーンの名前を書き変えていきます。(大文字小文字とかスペルをミスると動かないのでコピペ推奨!)
「Upper_leg.L」を「UpperLeg_L」に、「Lower_leg.L」を「LowerLeg_L」にといった具合に関連ボーンの名前を変更します。
これは余談というか+アルファの情報なんですが、これはただ名前を変えれば追従するというわけではなくウェイトペイントというメッシュがどれだけボーンに影響するかという機能で決まります。
Ctrl+TABで左上のウェイトペイントを選択すると確認できます。
↑例えばこの場合「Breast_L」を動かしたり大きくするとこの青以外の色のついている範囲が動いたり大きくなったりするということですね。
Unityに持って行って足など動かした際に貫通するなどあったらこの画面で影響範囲を塗り直したりするといいかもしれません。
あ、この画面は左上のウェイトペイントとかかれているプルタブをオブジェクトモードにすると直ります。(もしくはCtrl+TAB)
ステップ4 出力しよう
持っていくメッシュの頂点グループを修正出来たらエクスポートしてUnityに持って行ってみましょう!
Armatureと必要なメッシュを選択して、
メニューバーの「ファイル」>「エクスポート」>「FBX(.fbx)」を選択して下記画像の通りに設定を変えてください。
そして名前をインポートしたfbxファイルと同じ名前にしてデスクトップなどに出力してください。
そのままUnity内にある元のFBXデータに上書きをして確認してみましょう。
露出が少ないので清楚服、ヨシッ!
(ほんまか?)
とりあえずいろんな視点から見たり、ボーンを動かしたりなどして破綻がなければ終わりです。
破綻があったらblenderに戻ってメッシュを伸ばしたり、先ほどのウェイトペイントをいじったりして調整してみてください。
とはいえ販売するわけではないのでそこまできっちりやる必要はないとは思いますよ。
ではまた次の解説記事で会いましょう。
お相手はかわいいかわいいえすびちゃんでした~💜
えすび