VRoidの体の付け替えは位置をぴったり揃えて親子関係を構築するのが大事って本当?
Blenderでプラグインを使いレイヤーを分けて作業していけば楽って本当?
テクスチャ構成やウェイトの設定をしっかりチェックしないと曲がる原因になりやすいって本当?
こんな疑問に答えます。
僕はVRoidで漫画が作れるiPhoneアプリComicamを開発して公開中、自作の3Dモデルは400DL以上されています。
そんな僕が解説していきます。
VRoidの体の付け替えを解説【位置をぴったり揃えて親子関係を構築する】
VRoidの基本の作り方はこちらで解説しています。
» VRoidの完全マップ【入門・基礎・中級・上級を徹底解説】
元になるVRoidを用意する
今回は例として左側の筋肉マッチョの体に付け替えていきます。
右側の元となるVRoidは顔や髪の毛をしっかり完成させておきます。
VRoidの短髪の作り方はこちらの記事で解説しています。
» VRoidの短髪の作り方【パーツごとに分けて隙間なく重ねていく】
BlenderでCats Blender Pluginを使いVRoidを編集しやすくする
マテリアル以外の最適化をしておく
Blenderを起動してVRMをインポートしCats Blender PluginでVRoidの最適化を一通り完了させます。
(Fix、アイトラッキング、リップシンク)
こちらの記事通りにボタンを押していくだけなので一瞬でできます。
» Cats Blender Pluginの使い方【1ボタンで最適化・詳細設定も可能】
ただしマテリアルの統合はまだしないでおきます。
VRoidのレイヤーをマテリアルごとに分離する
CatsのModel Optionsのタブを開きSeparate byのMaterialsを押します。
これでVRMファイルがパーツごとにレイヤーに別れてくれます。
これでパーツごとに編集しやすくなりました。
使用しない顔や髪のレイヤーは矢印ボタンを押して選択不可能にしておくと便利です。
今回は体のパーツの「M00_001_01_Body_00_SKIN」の部分だけを編集していきます。
体の素材をインポートする
VRoidに合わせたい体の素材を別ファイルで用意します。
体の素材を用意・編集する方法はこちらの記事で書きました。
» BlenderでVRoid用の体を用意する方法【お手本に合わせて変形する】
体の素材をアペンド機能でインポートする
ファイル>アペンドと進み、該当の素材ファイルを選び、その中のObjectフォルダの中の該当パーツ名をクリックします。
陰影なしにチェック
マテリアル>シェーディングの陰影なしにチェックを入れると、プレビュー画面でもテクスチャが綺麗に表示されます。
体の素材をVRoidの親子関係に入れる
今入れた体の素材をドラッグしてVRoidのモデル部分にドロップして親子関係を作ります。
ペアレント対象の設定で「自動のウェイトで」を選ぶ
この時にペアレント対象をどうするかを聞かれます。
この時の設定はかなり試行錯誤した結果「自動のウェイトで」が一番マシかもです。
ここは超重要なわりに言葉がわかりにくいので、調べて僕なりにまとめてみました。
(表)親子関係を作る時に聞かれるペアレント対象の意味
ペアレント対象 | 意味 | 今回の結果 |
オブジェクトで親子にする | 最も一般的な形式で親子化する ボーンに対応する頂点グループがない部分は特に何もしない |
元が完璧ならOK |
アーマチュア変形 空のグループで親子にする |
すべての頂点グループにウェイトを設定している場合はこれを選ぶ ボーンに対応する頂点グループがない部分は空の状態で追加で作成される |
元が完璧ならOK (少しのミスも許されない) |
アーマチュア変形 エンベロープのウェイトで親子にする |
ボーンエンベロープという数値が設定されている場合、それを読み取る | 全体的に大幅に狂う |
アーマチュア変形 自動のウェイトで親子にする |
設定していてもいてなくても、ボーンまでの距離でとりあえず自動で全部ウェイトを埋める | 自動なので簡単 (失敗したらやり直せばいい) |
ボーンで親子にする | 特定のボーンだけを親子関係にしたい時に使う | アクティブボーンがありません |
参考:https://easyblend.org/html/editors/3dview/object/relationships/parents.html、https://docs.blender.org/manual/en/latest/rigging/armatures/skinning/parenting.html?highlight=parent
こんな感じだと思いますが、かなり難しかったので僕の理解が間違ってるかもしれません。
自動のウェイトできちんとハマるまでなんどもやり直す
結論から言うと「自動のウェイト」を使う方が楽だと思います。
まず「自動のウェイト」でやってみて狂ったら、一度解除してボーンの位置などにメッシュを綺麗に揃えてからもう一度親子関係にします。
手の部分は狂いやすいですが「自動」ならちょっとズレてるくらいの妥協点状態にしやすいです。
空のグループで親子にするとミスの訂正が大変
僕は最初は「空のグループ」を選んで親子にしました。
用意した体のモデルはウェイトがきちんと塗ってあったのできちんと動きました。
ただモデルを少しでもいじった後に「空のグループ」で親子関係にするとがウェイトが自動で修正されないので直すのが大変でした。
手が滑ってウェイトが塗ってしまった・なぜかウェイトがズレているなどの細かいエラーは頻繁にありえます。
どこがウェイトをミスってるか人間の目で探すのも困難なんで、もう自動の方で乗り切るのがいいかなと思います。
体の素材の大元のウェイトがしっかり反映されているか確認する
念の為、体のウェイトが反映されているか確認します。
体のレイヤーを選び、オブジェクトデータのタブを選び、頂点グループでパーツ1つ1つクリックしていきます。
ウェイトペイントモードにするとウェイトが色で表示されます。
特に手の指がきちんと塗り分けられているか確認しておきましょう。
体のパーツをボーンの位置ぴったりに移動する
元のVRoidのボーンとぴったり合うように体のモデルの位置を最終調整します。
(Gキー+X/Y/Z+ドラッグで移動)
少しズレてるくらいなら動きにそこまで支障はないですが、手の先や足の先は綺麗に揃えた方がいいです。
もし大幅に長さが合わないズレを発見したら体のモデルの編集作業に戻って修正しましょう。
服はこのタイミングできちんと揃える
必要ならこの時点で服やズボンも体の大きさや位置に合わせて組み込んでおきましょう。
詳しくはこちらの記事に書きました。
» VRoidの着せ替えの方法を解説【他ソフトでの利用も可能です】
VRoidの元の服のパーツを変形していって合わせるのも面倒そうですができないことはないと思います。
もしくはパンツやタンクトップなら、肌のテクスチャに直接描いてしまうのもいいと思います。
体のレイヤーの詳細設定をする
まずレイヤー名を揃える
体のレイヤーのレイヤー名を「M00_001_01_Body_00_SKIN」という本来の体の名前にしておきます。
レイヤーをダブルクリックで改名できます。
必要なテクスチャが揃っているか確認
元の体のレイヤーや顔のレイヤーと見比べながら真似して設定していきましょう。
テクスチャ一覧には自分で描いたテクスチャ、ノーマルマップのテクスチャ、Matcap_RImなどが入ってるか確認します。
透過にチェックが入っていたら外す
ここまで設定すると途中で体が透明になってしまうことがありました。
透過のチェックを外します。
メッシュを統合する
まず使わない服・ズボン・靴・古いレイヤーなどは消しておきます。
その後、Cats Blender Pluginの「Join Meshes」を押します。
これでレイヤーが再びすべて統合されます。
最後にマテリアルを統合する
編集がすべて完了したらCats Blender Pluginでマテリアルを統合します。
現状、Macではできないので注意です。
» VRChatのアバターのマテリアルを解説【統合して1つにします】
僕の場合、ここで統合に何度も失敗して顔と髪しか描かれていないテクスチャが出来上がったりすることが多かったです。
先ほど書いたように、体のマテリアル・テクスチャの構成が顔や目などの他のパーツと似たようになっているか再度確認しましょう。
体のテクスチャのサイズやファイル名もオリジナルと揃えました。
それでもどうしても上手くいかない場合も多いです。
プラグインが原因のような気もします。
その場合は少し面倒ですがUnityで1枚1枚設定しても大丈夫です。
FBX形式でエクスポートする
これで体を付け替えた状態のFBXファイルが出力されます。
FBXファイルとテクスチャを全部同じフォルダに入れてフォルダごとUnityにドラッグしましょう。
Unityでボーンのセッティングをする
Unityでのボーンセッティングの基本はこちらの記事で書きました。
» VRChatのボーンを解説【数カ所入力するだけ・やり直し可能】
ボーンの設定は上手く体のパーツの名前が変更できていれば舌の部分だけ訂正すればいいはずです。
エラーが出るパーツは頂点グループの名前の書き換えにミスがないか、ボーンの位置があまりにズレていないかもう一度確認しましょう。
Unityに取り込む際はBlenderファイルとテクスチャ類を同じフォルダに入れてフォルダことインポートしましょう。
そうすればマテリアルを選ぶときにExtract Materialsのボタンで綺麗にマテリアル・テクスチャを拾ってくれます。
その後、テクスチャをCutoutに直していけばいいです。
髪の毛や眉毛のテクスチャをVRoidデフォルトの白ベースのままにしているとUnityで色の調整を行う羽目になりVRChatでも光の加減で色が変わりやすいです。
できれば色付きのテクスチャでしっかり設定しておいたほうがいいです。
ポーズプレビューで上手く曲がるか確認
設定画面の「Muscle & Settings」の画面で気軽にポーズプレビュー確認できます。
そもそもポーズプレビューの画面にも移れないよっていう場合は、大幅なボーンのズレや足りないパーツをまず訂正しましょう。
手を開くとグニャッと変形してしまう問題はウェイトが原因
手の指のボーンが大幅にずれていたり、ウェイトペイントがきちんと塗り分けられていないとグニャっとなります。
手のひらや指一本一本のウェイトをかなり細かくチェックしていく必要がありますがしんどいです。
なので、先ほど述べたように親子関係を選ぶときにウェイトを「自動で」を選ぶのがおすすめです。
その他、VRChatで使う場合はUnity側でもアイポジションやリップシンクなどの設定も行います。
» Cats Blender Pluginの使い方【1ボタンで最適化・詳細設定も可能】
これで完成です。
VRoidの体を理解した後に知っておきたいこと【理想の姿で動いたり漫画素材にしてみよう】
VRoid Studioのパラメーターで体の変形ではできることが限定されている
VRoid Studioでも体の変形は可能です。
パラメーターで足の長さや手の長さなどが簡単に調整できます。
用意した体の素材に合わせるためにVRoid側でボーンの長さを調整できるので便利です。
ただ今回のように水泳体型やラグビー体型などの具体的な理想の筋肉マッチョにする時のシルエットの変形は現時点では難しいです。
オリジナルの体のVRoidをエクスポートして利用しよう
理想の体になったところでさっそく使っていきましょう。
FBXで書き出してクリスタで漫画を描くのに利用する
» VroidモデルをCLIP STUDIOにインポートする方法【VRM/FBX】
VRMで書き出してVRoid Hubにアップする
» VRoid Hubでアップロードする方法【モデルの追加の仕方も説明】
VRChatにアップロードしてアバターとして利用する
» Cats Blender Pluginの使い方【1ボタンで最適化・詳細設定も可能】
» VRoidモデルをVRChatでアバターとして追加する方法【アップロード】
というわけで今回は以上です。
自分の理想の体でVR上で動くとマジで感動します。