見出し画像

【VRC】改変済みの体形を更に太めにするシェイプキーの作成、並びにそれに伴う服の修正方法(2:体形を更に太めにするシェイプキーを服にも適用する)

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


この記事は前回の記事で作成した体形をさらに太めにするシェイプキーを服にも適用して服との干渉を修正する方法についての手順です。

この記事で、身体を太めにするシェイプキーを服にも作っていきます。



Step2-0:服を着れるようにする…でも手作業だと…

ここからシェイプキーで変形した体形に合うように服にもシェイプキーを追加して、はみ出しているを直していきます。
体形改変時の破綻修正と同様に手作業で直すことも可能です


………が、体形改変時の破綻と違って今回は身体の輪郭が大きく変わるため、修正量もかなり増えるので0から手作業で直そうとするととんでもなく面倒です。

そこで今回は、「gret」というプラグインの「Retarget」という機能を利用し、「身体メッシュのシェイプキーの変形を服メッシュに伝える」ことで修正の手間を可能な限り減らしていきます。

Step2-1:「gret」プラグインの導入

まずは「gret」プラグインをBlenderに導入します。

https://github.com/greisane/gret

プラグインのやり方は調べれば出てくるはずだし、gretのページにも描いてあるのでここでは写真だけで進めていきます。

バージョンについての注意(Blender2.93)

※今回の記事で使用するBlenderは2.93なのでgretの最新版は使えません
自環境で確認した限りでは「v0.3.1」が現状2.93で使える最新版なのでご注意ください

まずはgretをDL


ZipもDLせずにプラグインとな!?(麻呂)



blenderを立ち上げて「プリファレンス」を選択


インストールを選択


さっきDLしたzipファイルを選択


すると勝手に「gret」でフィルターが掛かってこんな感じの見た目になるのでチェックマークを入れる
するとアドオンが有効化される


右側のタブに「gret」が追加されてたら有効化された証

これでプラグインの導入は完了です。

TIP:gretって?Retargetって?


gretはgreisaneさんが作った「A collection of Blender tools I've written for myself over the years.(何年も自分用に書き上げたブレンダー用ツールの詰め合わせ)」です。

詳細は

ゆるして。

今回はgretのうちRetarget機能のみを使いますが…他にもいろいろとモデリングにおいて便利な機能が満載されている感じなので体形改変に使わなくても入れておいて損は無さそうなプラグインです。


Step2-2:「Retarget」を使用して服を直していく

プラグインの導入も終わったので早速服を直していきます。

今回は例として用意したセレスティアちゃんはデフォルト服であり、デフォ服はスカート+袖なしなので今回の体形改変シェイプキーの影響は問題なさそうです。

ただし、「靴」「靴下」と「手袋」がはみ出しているので直していきましょう。


Step2-2-0:はじめに(注意)

※この修正方法並びにgretプラグインの使い方やメモは全て独学です。
 「なんや、コイツこんなこと言ってるけど全然ちゃうやんけ」とか「コイツこんなやり方しとるけどもっとこうしたら楽やんけ…」という手順がある可能性は大いにありますので、「あくまでも月白はこうやって直してる/なんとかやれてるんだな」程度の手順なのでご注意ください。

Step2-2-1:ポーズモード改変を解除して元の体形(もしくはもっと細い体)に


足を太くするシェイプキーが0の状態、まだギリギリ太腿のメッシュは重なっていない


足を太くするシェイプキーが100の状態、太もものメッシュが被っている部分があり、Retargetをするとこの部分が大体グチャグチャになる

「Retarget」プラグインによるシェイプキーの転送は上記画像のように「足と足のメッシュが被る位まで太くなるようなシェイプキー」だとかなりの確率でメッシュが被っている部分の変形がおかしくなるし、何よりメッシュが被りすぎていると破綻修正がめちゃくちゃに面倒です

なのでその対策も兼ねて、Retargetを行う前にポーズモードによる体系改変をリセットしたアーマチュアを作り、それを使って元の体形に戻すことでメッシュの被りを抑える+転送したシェイプキーの手直しを行いやすくします。

ポーズモードによる変形をリセットした様子
これでも太腿は被ってるけどかなりマシになる


まずは「オブジェクトモード」でArmatureを選択します



オブジェクト」メニューを選び、「オブジェクトを複製」を選択


するといきなりマウスカーソルに合わせてコピーしたアーマチュアがくっついてきますので、右クリックでキャンセルします


よくみると「Armature.001」が増えてますね、これでアーマチュアのコピーができました。
解りやすいように「Armature_DefaultSize」と名前を変えておきます。

次にこの「Armature_DefaultSize」ポーズモードの変形をリセットします。

「オブジェクトモード」で「Armature_DefaultSize」を選択し、「ポーズモード」を起動します



ポーズモードが起動したらマウスカーソールをアバターが写ってる画面に置いた状態で「A」キーを押します。
するとすべてのボーンが選択されます

次に「ポーズ」メニューの「トランスフォームをクリア」->「すべて」を押します


こうすることで「Armature_DefaultSize」のポーズモードの変形が全てリセットされます。


次は「オブジェクトモード」に戻り、とりあえずセレスティアちゃんの素体(Selestia_body)を選択します。



素体を選択した状態で右下メニューの「🔧アイコン(モディファイアプロパティ)」を選択し、その中の人型アイコン(アーマチュア)の「オブジェクト」を選択します。

すると選択候補に先程作った「Armature_DefaultSize」があるのでそれを選択します

気が付くと俺は…小さくなっていた!(EDGW)

こうすることで各メッシュをポーズモードの改変が無い状態(デフォルトサイズ)に戻すことができます。



※ポーズモードの改変をした状態に戻したいときは先程の「オブジェクト」を「Armature」に戻せばOKです。

間違ってArmatureの方のトランスフォームをクリアしないように。


では他のメッシュも同様に「オブジェクト」を「Armature_DefaultSize」に切り替えていきましょう。


も ど し た

これでRetargetを使う準備ができました。

Step2-2-1+α:もう少し細目にしておく

デフォルトサイズにしてもシェイプキーの+アバターの元々の太さ具合によってはデフォルトサイズに戻してもメッシュが被るので、その場合は「Armature_DefaultSize」を弄ってしまって対象部分を細くしてしまうのも手だとと思います。

あまり極端に細くしたりするとそれはそれでシェイプキー転送の結果に悪影響が出そうなので程々にしておきましょう

今回作った足を太くするシェイプキー+通常サイズの様子
まぁまぁ被ってしまっている


Armature_DefaultSizeを選択してポーズモード起動


足のX・Zを絞る


0.9でいい感じに隙間が出来たのでこれくらいで

Step2-2-2:Retargetでシェイプキーを転送

Retargetで服メッシュにシェイプキーを転送します。
まずは例として靴下メッシュに素体の「Micchiri_Leg」シェイプキーを転送します

まずは素体側のシェイプキーの値を転送したいMicchiri_Leg「1」に、Micchiri_Leg以外は「0」にしておきます。
靴下メッシュ側はシェイプキーの値を全て0にしておきます。



次に靴下メッシュを選択した状態で「gret」を押します

すると上記のような画面が出てくるので「Retarget Mesh」の四角とスポイトが付いた部分を押します。

するとメッシュ名一覧が表示されるのでその中から素体メッシュ(Selestia_body)を選びます。


次に「→」の右にある四角を選択します


すると素体メッシュのシェイプキー一覧が表示されるのでその中から転送したいシェイプキー(Micchiri_Leg)を選択します


この状態で「To Shape Key」を押すことで靴下メッシュにシェイプキーが転送されます。



作成されたシェイプキーは「Retarget_(転送元のメッシュ名)_(転送したシェイプキー名)」となっています


これで転送完了…と思いきやウワーーーーッッッ

大体上記画像のように変形が不完全+内側部分が片側だけ凹んだりしてしまいます。
これに関しては(多分)どうしようもないので次のステップで手直ししていきます。

Step2-2-2+α:Retargetの設定について

正直どれが一番いいのかまだ分かってないッス…
シェイプキーを作るだけ故やりなおしは効くので色々な設定でやってみてください
ただ、基本的にThinPlateとかはどの状態でもうまくいかない印象…

Retargetの設定については正直、どれが一番きれいにできるかはまだ分かってない状態です。(どの設定でもうまく行く時はうまくいくし、うまく行く時はいかない感じなので…)

ですので出力設定については各自色々試してみて「これが一番マシかなぁ」というものを選んでください。シェイプキーを作るだけなのでやりなおしは効くので…

ただ、「Only Vertex Selecton」は選ぶ必要が(多分)無いのと、「高品質」は多分使わない方が良いです

「高品質」をONにするととんでもなく処理が重くなって転送に10~20分以上かかります。
私は10数分待った位で諦めたので正直20分程度で終わるかどうかすら怪しい位異様に時間がかかります。
どこまで綺麗に転送してくれるか不明だしどうせ手直しは必要になる可能性が高いので

「X軸ミラー」は…転送先のメッシュが対称ならONでもいいと思います
非対称のメッシュ(例えば長さが違う靴下など)である場合は多分OFFにした方が良いです。

それなりのPC(i9-9900K+RTX2080)のハズなのに終わらんので相当っス


Step2-2-3:転送したシェイプキーを直す


転送を行っても箇所によっては(特に太腿部分)は上記画像みたいな感じでハミ出す事が多いです。
これに関してはどうしようもないので頂点編集で自力で直していきます。

ここからは直し方のコツを紹介しつつ、実際に靴下メッシュのシェイプキーを直していきます。

Step2-2-3-TIP:直し方のコツ1:プロポージョナル編集と「トポロジーによるミラー反転」を使って強制的に左右対称に直す


上記赤丸部分のように「片方だけ」大きく凹んだ部分は自力で直すのは面倒です。
そこで、プロポージョナル編集+編集オプションの「トポロジーによるミラー反転」を利用して左右のどちらかに強制的に左右対称にさせることで修正の手間を減らします。

「トポロジーによるミラー反転」は左右対称のメッシュじゃないと高確率で失敗します。


まずはシェイプキーの編集モードを起動し

レンチとドライバーのアイコン(アクティブツールとワークスペースの設定)」を選択し、「ミラー」の「X」と「トポロジーによるミラー反転」を選択


画面右上の◎みたいなアイコン(プロポージョナル編集)をクリックしてONに


形が綺麗な方(基準にしたい方)のメッシュのどこかの頂点を適当に選びます

その状態で「頂点移動(G)」キーを押す+マウスを動かさずに「ENTER」を押すと…





(不完全ではあるけど)形がある程度左右対称に戻りました。
これで多少作業が減りますね。

※なお、先ほども言ったように形が左右非対称だったり、左右対称だったとしてもモデルの作り方によっては「トポロジーによるミラー反転」を行っても変形しない+変形はするけどなんだか形がとんでもない事になることがあるので、もしそうなった場合は…諦めて自力で直すしかないです。

トポロジーによるミラー反転を使うとぶっ壊れる例
意外と解りづらいところがぶっ壊れたりするので使い処には気を付けて


Step2-2-4:後は自力で直す

現状使えるコツはこれくらいです、あとはプロポージョナル編集や前記事で習得した「法線に沿った拡大」などを利用して地道に直していきます。

あれこれ頑張って


できました。


試しにアーマチュアを「Armature」に戻してみたり、他の併用するシェイプキー(食い込み等)をONにしてみても問題ないか確認してみましょう

大丈夫そう。

Step2-2-5:他の部分も直していく


他の部分も同様に直していきましょう。


これが


こうなる


これも


こうなる


Step2-2-6:アーマチュアを元に戻す

修正が終わったら「アーマチュア」を全部元の「Armature」に戻すことも忘れないように。



Step2-3:修正完了!

随分…鍛え直したな

これで体を太くするシェイプキーの作成、および衣服への対応が完了しました。

あとは前記事(2.93を使った体形改変)とかに沿ってアレコレして出力してUnityに持っていけば………


できました。
お疲れ様でした。

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