【VRC】Blenderを使用した体形改変のやり方(後編2:改変の適用・破綻の修正)
-----この記事について-----
この記事はUnity上で行うと破綻が目立つレベルの比較的大規模な体形改変をBlender(2.79)で行う方法のまとめです。
-----注意書き-----
1:この記事は後編第2弾です
2:先に後編1を読んでからこの記事を読んでください、いいね?
----------体型を変える作業の流れ----------
Step1:ポーズモードを利用して体形改変+破綻箇所の把握->COMPLETED
Step2:ポーズモードでイジったボーンなどの情報(モディファイア)をオブジェクトに適用
Step3:改変したボーンをデフォルトに設定する
Step4:各オブジェクトにアーマチュアを再設定
Step5:破綻の調整
Step6:Unity(テラ)へ…
の6ステップです。
後編2ではStep2~Step6を説明します。
----------------------------------------------------------
Step2:ポーズモードでイジったボーンなどの情報ry--------------------
後半1の記事でここまでは進みました。
ただしこの姿はあくまでもポーズモード上の一時的な姿に過ぎないので、これを「は?これがデフォルトなんだが?」とBlenderにワカらせる必要があります。
Step2-1:
その前に今の作業ファイルを「Blenderにワカらせた後」用のファイルにするために別名保存をしましょう。
私の場合は「Unapplied(ワカらせる前)」と「Applied(ワカらせた後)」で分けて命名してます。
Step2-2:
保存が終わったらまずはデバッグ等のために非表示にしていたオブジェクトをすべて表示しましょう、あとは一番上の「Armature」も。
Step2-3:
解りやすくするために上から順番にやっていきます。
・一番上のオブジェクトをクリックし、その下にあるレンチみたいなマークをクリック
するとこんな感じの大の字人間アイコンの奴が出てきます。
Step2-4:
・大の字アイコンの欄の「適用」をクリックする
そこに無ければ無いd…ではなく成功です。
Step2-5:
・次のオブジェクトを選択し、同じように「適用」を押していきます、しかし…
Step2-6:Blenderに怒られて適用できない
このエラーはシェイプキーを含むオブジェクト(顔等)で必ず起きるエラーです。
ここで、シェイプキーを含むオブジェクトに適用させるために前編で紹介した「Apply Modifier」を利用します。
Step2-7:
・Blenderに怒られたオブジェクトを選択
・左下の「オブジェクト」を選択し、その中にある「適用」を選ぶ
・「Apply Selected Modifier」をクリック
・こんな感じの画面が出てくるので「アーマチュア(Armature)」を選択し、「OK」を押す
これでシェイプキー付きのオブジェクトが適用できました。
残りのオブジェクトも同じ要領で適用していきましょう。
:
注意1:
「OK」を押すと処理が入るのですが、「そのオブジェクトのシェイプキーの数」が多ければ多いほど長い間Blenderが固まります。
要はBody(顔)オブジェクトだと場合によってはかなりの間フリーズします。
タスクバーを見ながら「CPU君頑張ってんなぁ」とか考えつつお茶でも飲んで待ってください。
注意2:
偶に大の字アイコン以外の何かが入ってるオブジェクトがありますがそこは無視をしてください。
・シェイプキーが無いオブジェクトの場合
赤丸の部分だけでOKです
・シェイプキーがあるオブジェクトの場合(Apply Modifierを使う場合)
赤丸の部分にだけチェックを入れて「OK」
一番最後のオブジェクトが適用出来たらStep2は完了です。
Step3:改変したボーンをデフォルトに設定する--------------------
Blenderに「は?これが普通なんだが?」とワカらせます。
・「ポーズ」をクリックして「ポーズモード」を起動
左下の「ポーズ」から「適用」、その中にある「デフォルトのポーズに適用」を押します。
注意:
Armatureが非表示だと左下が「ポーズ」になってくれませんのでちゃんと表示させておいてください。
先程数値を弄ったはずの「Hips」ボーンなどの倍率が全てデフォルト倍率(1.0)になっていたら成功です。
Blenderはこれが普通なんだと刷り込まれます。
「アッハイ、ワルイキツネ=サンは実際豊満です」
Step4:各オブジェクトにアーマチュアを再設定--------------------
先程適用で消し飛ばした大の字アイコンの奴は「お前はあのArmatureに沿って動くんだぞ」という指令書みたいなものなのでアレが無い状態だとモデルは動きません。よって付け直します。
・レンチアイコンをクリックしてその下にある「追加」を押す
・一覧の中にある「アーマチュア」をクリック
・「オブジェクト」欄をクリック
・「Armature」を選択
赤くなくなったらOKです。
そのまますべてのオブジェクトに同じようにやっていきましょう。
全てのモディファイアを追加し終わったら念のために動作確認をしましょう
・「ポーズ」一覧の「Hips」をクリックしてポーズモードへ
・そのままモデル画面にカーソールを置いて「G」キー
・適当にグリグリしてちゃんと全部ついてきたら成功
ついてこないオブジェクトが有ったら設定忘れorそもそも元からウェイトが塗られていないオブジェクトの可能性があります。
後者の場合は潔く諦めて削除するか、なんかこう頑張ってください(適当)
Step5:破綻の調整--------------------
凄まじい改変をすればするほど代償としてモデルは大体破綻します。
特に破綻は構造が複雑になりやすく、「そこまで大きくするとは思わなんだわ」ということが起こりやすい胸部周辺や関節付近などの可動部で良く起きます。
と言う事で一つずつコツコツ直していきましょう。
まずは肌に近い服から順番に直していきましょう。
Step5-1:修正箇所の捜索
適用する前に洗いだしたはずなのに…あれ、こんなところにも…というのはザラによくあることです。直すことには変わらないのでやっていきましょう。
Step5-2:直す
直す方法として私は「修正用のシェイプキーを作る」方法で対処しています。
そのままシェイプキーを作らずに編集するのも手ですが、シェイプキーにしておけば「アッ!ミスった!」という事態に陥ってもシェイプキーを無かったことにするだけで被害は済むので。
・修正対称のオブジェクトを選択して▽マークをクリック
・「シェイプキー」欄の「+」マークを押してシェイプキーを作る
なお、なにもシェイプキーが無いオブジェクトで「+」を押すと、「Basis」という「わしがシェイプキー適応前の基準値である!」というシェイプキーっぽい何かが生まれますので、これは気にせずもう一度「+」を押して「Key1 0.000」みたいなちゃんとしたシェイプキーを作ります。
・名前をわかりやすくしておく
・修正結果を解りやすくするためにシェイプキーを1.0(MAX)にしておく。
・カーソールをモデル画面にやり、「TAB」キー(または左下の「オブジェクトモード」をクリックして「編集モード」を立ち上げる
これで「シェイプキーを適用している時のモデル」の頂点の様子が見えるようになります。
そしてここから頂点や辺をちぎっては投げちぎっては投げ…という感じでシェイプキーを直していくわけです。
頂点の動かし方とかは…そこはもっとわかりやすい記事が色んな所にあるので各自でご調査願います…(そこまで書き始めるときりがないので割愛します、ゴメンナサイ)
ただ投げっぱなしだとあまりに不親切なので、修正する際に特に役に立つ各種をここに乗せます。
編集のコツ1:「俺(頂点)はこうやって動くからさ、お前らも各自判断で動いてくれよ(プロポージョナル編集)」
通常状態だと頂点を1個選んだだけでは選ばれたものしか動かないので凄く不便です、これで服などの曲線を動かそうとすると余りにもしんどいです。
そこで「プロポージョナル編集」という技術を使います。
これは凄く簡単に言うと「選んだ頂点(辺)を基準点にして指定範囲もイイ感じに補完して動かす」機能です。
上記のように1個しか頂点を選んでいないのに、まるで布を摘まんで引っ張ったかのような感覚で頂点を弄れます。
これが有ればジャケットなどの複雑なメッシュでもかなり綺麗に弄ることができるのです。
解りやすい修正例として胸部分のブラのハミ出しを直してみましょう。
・下の「⦿」みたいなボタンをクリック
色々ありますが今回はひとまず「有効化」でOKです。
この状態で「G」を押し、頂点を動かしてみてください
あ"!?
…となるのは大体初めての人が通る道です。これは単に初期の編集適用範囲が広すぎて全部持ってこうとしているだけです。
しばしマウスを上にスクロールしてみてください。
段々と動く範囲が狭くなり、最終的に灰色の円が現れます。これがプロポージョナル編集の目安になる円です。
この円の範囲をホイールで程よく調整し、良い感じに頂点を動かしていきましょう。
違和感なくハミ出しを消すことができました。
TIPS:
プロポージョナル編集を「接続」や「投影」に変えることで変形の範囲の適応のされ方を変えることができます。
・普通のプロポージョナル変形(有効化):
選択した頂点の指定した範囲内の頂点を引っ張るように動かしてくれます
・選択した頂点と構造的に繋がってるところしか変形させません(接続):
選択した頂点の指定した範囲内かつ、その頂点と構造的に繋がってる箇所(編集モード時に表示される青線等参照)の頂点だけを引っ張るように動かしてくれます。
正直私も挙動はよくわかっていませんが、「動かしたくない場所が構造的に繋がってない」時にちょっと使えるワザです。
・見た目の通り円に入ってたら情け無用で動かすよ(接続(2D)):
よくわからん。
ただ触った限り、「画面上の円の中に入ってたら変形の対象とする」感じみたいです。使いどころに困る。
編集のコツ2:「右の奴らはああやって動いてるんだし、君(左)たちも右に倣わんといかんのちゃう?(Xミラー編集)」
弄っているモデルが左右対称である場合にできるワザです。
例えば右のある頂点を動かすと、左にある同じ場所の頂点も同じように動く文字通りの「ミラー」機能です。
左右で同じように破綻してて同じように直さなきゃならないときに手間が省けます。
左のメニューから「オプション」を選び、「Xミラー」にチェックを入れることで適用されます。
ただしこの機能、「デザイン上は左右対称でも頂点的には若干違う」タイプのモデルだと機能しないor場合によっては一部だけ動いてむしろムチャクチャになることが有るのでまずはチェックを入れて適当なところを摘まんで動かして同じように動くことを確認してから使いましょう。
注意:Xその下にある「トポロジーによる…」を使うと上記のような場合でもちゃんと動いたりしてくれるけど、別の頂点の位置が勝手に置き換えられて形が崩れる挙動を何回か見たことが有るのであんまりお勧めできません。
左右が同じように破綻してるのでXミラーとプロポージョナル編集を利用して直してみましょう。
この2つのワザをうまく使いこなせば大体の破綻は直していけるはずです。
Step5-3:直し続けるのだ…
ここではサンプルとしてわるいきつねさんの改変で起きた破綻を直していきます。
さっきの2つの手法フル活用で治してます。
カラテだ、カラテあるのみ。
↑これは破綻ではありませんが、純粋に手首は太い方が好きなのでイジりました
これで修正は完了です。
******「さあ出力だ!」「まて、まだすべきことがある」*****
これで出力…の前にまずはやっておくべきことをやっておきましょう。
選択肢A:CATプラグインを利用してボーン等をフルトラッキング向けに調整してもらう
CATプラグインの「Fix Model」機能を使うことでボーンの命名や構成などをVRChat(Unity)に最適化させることができます。
「フルトラッキングをすると腰がちょっと横を向いちゃう…」というアバターの場合、この「Fix Model」をすることで直ることがあります。
メリット:一部の腰が曲がりやすいアバター等の腰がまっすぐになったりする
副作用:ボーンの命名などが変わるのでUnity上でダイナミックボーンなどのコピーが煩雑になる
・左メニューの「CATS」タブを開いて「Fix Model」横のアイコンをクリック
ひとまず上記のチェックは全部外しておいてOKです。
重要:ここでバックアップを取ってください、偶に次の工程でバグるのでBlender再起動が必要になります。
・「OK」を押したら「Fix Model」をクリック
長時間Blenderを弄ってる状態でFix Modelを押すと上記のようになんかブァっとエラーが出ます。
これはよくわかりませんがBlenderを開きなおしてもう一度同じ設定でFix Modelを押すと治るのでそういうものと思ってください。
Fixが成功するとモデルがShadelessのような見た目になり、Armatureが黒枠のスケスケになります。
この状態で「Show More Option」を押し、一番下にある「Full Body Tracking Fix」を押します。
押そうとすると「オイ!こんなFixはもうVRCに必要ねーぞ!」という警告が飛びますがむしろこのFixのおかげで腰のねじれが治ったりするアバターも割といたので私はスルーしています。
ボタンを押して上に「Successfully...」が出たり、両足ボーンの上に上向きのボーンがくっついてたら成功です。
このFixを行った場合、もうアバターにすることは無いですのでFBX出力(一番下へ続く)を行いましょう。
選択肢B:CATプラグインを使わずにそのまま出力
プラグインを使わずそのまま出力することでUnity上でのリセッティングや設定の使い回しが行いやすくなります。
体の比率(手足の長さ)を大きく変えてない、かつ、デフォルトで腰が曲がったりしない+フルトラ適性が高いのならこちらの選択肢でもOKでしょう。
メリット:Unity上で設定の使い回しがしやすい
デメリット:スケールや位置がズレていた場合、下記作業でちょっと手間がかかる
「オブジェクトモード」の状態で「Armature」をクリックし、「位置」「回転」「拡大縮小」がデフォルト数値(位置・回転は全て0,拡大縮小は全て1.000)であるかチェックしてください。
もしこうなっていた場合は直す必要があります。
注意:下記作業でエラーが起きる場合があるので、バックアップを取って再起動しておくなどをお勧めします。
左下の「オブジェクト」を選択し、「適用」から「回転と位置」をクリックします。
左に「位置」「回転」「拡大縮小」のチェックマークが出るので全てチェックを入れてください。
先程の奴がデフォルト数値に戻っていればOKです。
以上の作業をすべてのオブジェクトに行って、位置・回転・拡大縮小がデフォルト数値になっていることを確認してください。
TIPS:もしArmature「のみ」デフォルト数値になってなくてオブジェクトは問題ない場合、Armatureに「適用」をするとすべてのオブジェクトが同様に「ズレ」るので修正が必要になります。要はArmatureがズレてたら全修正確定です。
「Armature」欄と全てのオブジェクトがデフォルト数値になっていればOKです。
*****「さあ、出力だ!」「最後の注意も忘れるなよ」*****
全てのオブジェクトを選択し、最後に「ダンベルを持ってるアイコンの方」の「Armature」を選択します。
これでエクスポートができます。
注意:インポートする際には特に設定は不要でしたが、エクスポートの際は設定が必要です。
これでFBXの出力が完了しました。
*****「錨を下せ!新天地、Unityだ!」*****
Unityを開き、FBXを置きたい箇所をProjectで開いてそこに出力したFBXをドラッグします。
FBXをクリックし、右側に出てくるタブの「Model」をクリックし、「Blend Shape Normals」のチェックを外します。
次は「Rig」の「Animation Type」を「Humanoid」に設定し、「Apply」を押します。
チェックマークが出たりエラーで怒られたりしますがひとまず「Configure」を押して内訳をみてみましょう。
ボーン名を変えてないならデフォルトのFBXのConfigureを参照にして同じように設定すると良いでしょう。
十中八九Jawが前髪に割り当てられて喋る前髪が爆誕するのでNoneに戻しておきましょう。
TIPS:アイトラッキングをしない(仕様の)アバターはLeftEye RightEyeの欄もNoneにしておくといいでしょう
そして画面をよく見ると…おやおや
床の上まで持ち上げたはずの足が勝手に下がってます。
「Hips」を選択して上に引っ張り、Blender上と同じ感じにしましょう。
終わったら「Apply」を押して「Done」を押しましょう
画面が戻ってきたらFBXを左にドラッグ&ドロップして…
ついにUnity上に改変済みのアバターが出現しました。
あとはデフォルトアバターのPrefabの「Materials」を参考にマテリアルを当てていきましょう
マテリアル設定が終わったら先程作った破綻回避シェイプキーをONにしていきます
で き ま し た
あとはダイナミックボーンをコピーしたりあれこれをアレしたりしたら…
完成です。
よいVRC・ムチムチ・ライフを過ごしましょう。
この記事が気に入ったらサポートをしてみませんか?