【VRChat】Blender4.2を使用して体形改変をする(3.体型の確定と破綻修正)
0.イントロダクション
前回の記事ではポーズモードでの体型改変について解説しました。
今回はポーズモードでの変更を適用させる手順について解説します。
読んでない方はまずこちらをお読みください。
今回は以下の作業を実施します。
オブジェクトモードでモディファイア適用をする
(ここでメッシュの形状が固定されるので戻れなくなります)ポーズモードでレストポーズとして適用を行う
(これも不可逆操作です)オブジェクトモードでモディファイアを付け直す
(メッシュとアーマチュアを再紐づけします)破綻している箇所を修正用のシェイプキーを作って調整
1.ファイルを別で保存する
まずはじめに、ここから先の操作は不可逆操作となります。
つまりUnityのUnpackPrefab操作などと同じく、一度実行すると元に戻すことは出来ません。
これから弄るファイルは"02_Wolferia_体型確定後.blend"として保存しておきます。
2.アーマチュアモディファイアを適用し、メッシュの形状を確定させる
前回の記事でポーズモードを使って体型を変えましたが、これはあくまで一時的な状態です。
オブジェクトモードでは変更されたスケールで見えていますが、メッシュを選択して編集モード(頂点を操作するモード)にすると、元の状態に戻ってしまいます。
そのため、オブジェクトモードでそれぞれのメッシュについているアーマチュアモディファイアを適用して、改変した体型をメッシュに反映させます。
補足:モディファイアとは
モディファイアというのは、メッシュに非破壊的な変更を加えるBlenderの機能です。
そのモディファイアの中の一つがアーマチュアモディファイアで、これはポーズモードでのボーンのスケール変更や移動に合わせて、動的にメッシュを変形させます。
ただし、この変更はあくまで一時的な物のため、この機能で変形させたメッシュの状態をデフォルトとしたい場合には、モディファイアを適用させる必要があります。
例えて言うなら、ModularAvatarのManualBakeのような操作です。
ここからモディファイアの適用を行っていきますが、そのメッシュにシェイプキーがあるか否かによって、操作が変わってきます。
シェイプキーが存在するかどうかは前回の記事で説明した通り、メッシュを選択して、オブジェクトデータプロパティをクリックすると確認できます。
2.1 シェイプキーが存在しないメッシュの場合
例えばTail(尻尾のメッシュ)にはシェイプキーがありません。
その場合は、モディファイアの画面を開いてアーマチュアモディファイア右側にあるプルダウンを押し、一番上の「適用」をクリックします。
そうすると、以下のようにモディファイアのリストから「Armature」が消えました。他にモディファイアがついていないので、アウトライナーのスパナアイコンも消えています。これでこのメッシュはOKです。
2.2 シェイプキーが存在するメッシュの場合
次にシェイプキーが存在するメッシュの場合です。
例えば顔のメッシュ(Body)に先ほどと同じ操作をしてみましょう。
すると「シェイプキーのあるメッシュには適用できません」と怒られてしまいました。
この場合は
①アウトライナーで対象のメッシュを選択して
②「オブジェクト」ボタンを押し
③「Apply All Modifiers (Keep Shapekeys)」をクリックします。
そうすると一瞬「お?フリーズした?」と思うような挙動をした後、モディファイア(スパナアイコン)が消えます。これでOKです。
因みに、この操作をした段階で一度シェイプキーが全て0に戻りますが、正常なので気にしないでください。
この二つの操作を行って、それぞれのメッシュにアーマチュアモディファイアを適用していきます。
適用後の状態が以下の画像です。
3.Blenderに「は?これがデフォなんだが?」と理解らせる
モディファイアの適用を行った関係で、メッシュとボーンが一度切り離されました。
次に、Blenderくんに「は?これがスケール1倍なんだが?」とワカらせます。
まず、ポーズモードに切り替えましょう。
オレンジのArmatureを選ぶのを忘れずに。
赤枠で囲った通り、まだBlenderくんは正気なので「この状態はHipsのスケールがXとZは2倍でYは1.6倍で~」といった感じで認識しています。
なので、左上の「ポーズ」⇒「適用」をクリックして「レストポーズとして適用」をクリックします。これは現在のポーズモードでの状態をデフォルトとして定義するボタンです。
すると位置・回転がそれぞれ0となり、スケールが1となりました。
こうすることでBlenderに「この状態がデフォルトだったわ」と理解してもらえます。
4.メッシュとボーンを再び紐づける
さて、メッシュの形状を確定させ、ボーンのスケール適用も終わりましたが、今の状態だとメッシュとボーンが紐づいていません。
そのため、それぞれのメッシュに再度アーマチュアモディファイアを付ける必要があります。
4.1 アーマチュアモディファイアを追加する
まず、オブジェクトモードの状態で、一覧の中で一番上にあるメッシュを選択します。今回はバッグでした。
次にモディファイアの画面を開き、「モディファイアーを追加」⇒「変形」⇒「アーマチュア」の順にクリックしてアーマチュアモディファイアを付けます。
モディファイアを追加しましたが、追従対象のArmatureがセットされていないので赤色(エラー表示)になっています。
赤枠の部分をクリックして、一覧からArmatureを選びましょう。
これでボーンとメッシュの紐づけが完了しました。
4.2 アーマチュアモディファイアをコピーする
あとはメッシュの数だけこの作業をする必要がありますが、手間がかかるので時短をしましょう。
まずアーマチュアモディファイアをまだ付けていないメッシュを選択します。プロパティはモディファイア画面にしておいてください。
次に、Ctrlキーを押しながらアーマチュアモディファイアがついているメッシュをクリックします。
クリックするとモディファイア画面にアーマチュアモディファイアが出てくるはずです。
次に、アーマチュアモディファイア右側のプルダウンをクリックして「選択にコピー」をクリックします。こうすると先に選択したメッシュに対してアーマチュアモディファイアをコピーできます。
こうすることですべてのメッシュにモディファイアを付けることが出来ました。
4.3 動作確認
ここまでで、ボーンとメッシュの再紐づけが終わりました。
最終確認をします。
再度ポーズモードにして、Hipsのボーンを選んでください。
そしたら、ビューポート(左側の領域)にマウスカーソルを持っていってキーボードのGを押します。
そうするとマウスの動きに合わせてHipsのボーンを動かせます。
すべてのメッシュが付いてきていることを確認しましょう。
確認が終わったらEscキーを押してキャンセルします。
ここまで終わったら上書き保存しておきましょう。
5 破綻箇所の確認と修正
ここまでで体型改変は終わりです。
…としても良いのですが、欲望を思うままにぶつけると辻褄が合わなくなるポイントが何処かしら発生します。
破綻箇所の再確認をしておきましょう。ウルフェリアの場合、下乳やスカート、ベルトが干渉しています。
では、この破綻を修正していきましょう。
5.1 編集モードとシェイプキーについて
破綻箇所を修正するためには、編集モードで頂点や面を移動させる必要があります。この「面や辺、頂点の移動」で使うのが編集モードと呼ばれるモードです。
ただし、この状態で動かすと万が一戻したくなった場合に戻せません。
そのため、まずは破綻修正用のシェイプキーを追加します。
5.2 破綻修正用のシェイプキー作成
オブジェクトモードで修正したいメッシュを選んだ状態でオブジェクトデータプロパティを開きます。
シェイプキーの右側にあるプラスボタンを押して、シェイプキーの追加をしましょう。
このとき、元々シェイプキーがないメッシュだとまず「ベース」という名前のシェイプキーが一覧に現れます。この場合はベースは触らずにもう一度プラスボタンを押して修正用のシェイプキーを作成してください。
シェイプキーを追加すると、「キー○(丸は数字)」というシェイプキーが作成されるので分かりやすい名前に変えましょう。
名前欄をダブルクリックすると名前変更が出来るようになります。
私は毎回「Fix」という名前です。
修正用のシェイプキーを作成したら、以下の通り設定を変更します。
①シェイプキー編集モード(四角が4つ繋がったアイコン)をオン
②シェイプキーの値を1.000にする
Fixのシェイプキーを選択した状態でビューポートにマウスを持っていきます。そのままキーボードのTabキーを押すとシェイプキー編集モードになります。
こうすると「今から行う頂点の移動はFixというシェイプキーに記録してください」という動作になります。
ついでに、Blenderはデフォルトだと左側のツールがアイコンだけの表示のため分かりづらいです。
赤枠の部分をドラッグアンドドロップで広げてツール名が見えるようにしておきましょう。
5.3 頂点操作について
さて、ここから頂点の操作を行いますが、これの説明だけで記事が書けるボリュームなので、以下の記事に丸投げをします。
基本的に移動ツールだけ使用してください。
ポイントとしては、面や辺を動かしてみて、どうしてもダメそうなら頂点を選んで動かすとした方がさらなる破綻を避けやすいです。
あと、面を動かす場合、トランスフォーム座標系を「グローバル」から「ノーマル」に変えるとその面を基準として動かせるので動かしやすいです。
それと、これはなんとなくわかると思うのですが、破綻修正をする場合は内側から外側(下着⇒インナー⇒アウター)の順で修正していった方がスマートです。
基本的に破綻は内側のメッシュが外のメッシュを貫通するパターンが多いので、アウターなどを先に弄ってしまうと、インナーを弄った時にまたアウターを修正して…といった感じで無数に手戻りが発生します。
最後に、どうしても上手くいかなくなったらシェイプキーを削除してやり直しましょう。
5.3.1 周りの君達もサァ、自分で判断していい感じに動けない?(プロポーショナル変形)
面を選択して移動ツールで動かそうとすると、こんな感じで選択した面だけが動いてしまいます。
そんな時に使うのが赤枠のプロポーショナル編集です。
これをONにして同じように動かしてみましょう。
そうすると加減しろ莫迦!ってくらい動きます。これはデフォルトだと効果範囲が広すぎるためです。
…とりあえずCtrl+Zで元に戻しましょう。
元に戻したら、移動ツールの青色の矢印をクリックしたまま、マウスホイールを上方向にぐるぐる回します。
すると灰色の円が出てきました。これがプロポーショナル変形の効果範囲です。
この状態で青色の矢印を動かせば灰色の範囲だけいい感じに動きます。
効果範囲を変えたいときはマウスホイールを上下してみてください。
プロポーショナル変形は便利ですが、どうしても周りの頂点も連動して動いてしまうため「ここだけ動かしたい」って時には不便です。
適度にON/OFFを切り替えて作業しましょう。
5.3.2 左右対称のメッシュを動かしてるんだからさ、君たち左右対称で動いてくれない?(ミラー変形)
たとえばスカートなど左右対称なメッシュがあった場合、左右同時に動いて欲しい時があります。
左右同時に動いて欲しいときはちょうちょのようなアイコンの横にあるX軸ミラーをオンにします。
これをONにしていると、左右対称で変形します。
胸やスカートの尻部分など、左右対称で動かしたい場合に活用しましょう。
5.4 直し続けるのだ…
ここからは己との闘いになります。
ただひたすらに貫通している箇所を修正してください。
その前に、アウトライナー右上のフィルター(漏斗アイコン)をクリックし、カーナビの現在地点表示みたいな奴をクリックします。
次に、アウトライナーで素体や髪の毛など、破綻修正で触ることがないメッシュの赤枠の部分をクリックします。
こうすることで、左側のビューポートでクリックしてもメッシュが選択されなくなります。
私の場合、胸を大きくするシェイプキーを使用するので、胸を大きくしたときの破綻は胸大シェイプキーを編集しています。
ここからは淡々と修正している場面を貼っていきます。
次に素体と下着の胸大シェイプキーをMAXにして確認。
赤丸が貫通しているので直します。
この場合、胸大のシェイプキーを選択した状態で編集モードに入ります。
(Fixのまま編集するとシェイプキーが0の状態でも変形しちゃいます)
スカートに対するベルトの貫通を直したいです。
こういった込み入った場所は透過表示をONにしましょう。
ここまでで破綻修正が終わりました。
次に出力前のおまじないをしましょう。
6.トランスフォームを適用する
破綻修正は終わりましたが、オレンジのArmatureを確認しましょう。
オレンジ枠のスケール表示や回転の数値がおかしくなっているのでこれを修正します。
修正する方法は、以下の通りです。
①オブジェクトモードでオレンジのArmatureから最後のメッシュまで選択
②「オブジェクト」⇒「適用」⇒「全トランスフォーム」の順でクリック
スケールが1.000となり、位置や回転が0となったことを確認します。
7.ファイルを保存する
ここまで終わったらファイルを保存しておきましょう。
体型確定後にそのまま上書きしても良いですが、私は"03_Wolferia_エクスポート用.blend"という名前で別名保存してます。
ここまででBlenderの作業はほぼ終わりです。
次回はFBXの出力とUnity側での作業について説明します。