The Sims 4 で作成したリアルな感じな人物モデルを VRM アバターとして利用することができる。これこそ、まさに換骨奪胎である。
※本稿では人物モデル移植に失敗したが、成功については別記事にある。
- VRoid で作成して Blender でインポートした人物モデルから、ボーン(リグ)だけを残す。つまり肉と皮(メッシュ)は剥いでしまう。
- Sims 4 で作成して TS4Ripper でリップし、Blender にインポートした人物モデルのメッシュに、ボーン(リグ)を割り当て直す。
左が Sims 4 からインポートしたお姉ちゃん、右が Vroid のお兄ちゃん
Sims 4 の見た目のリアル感が高いので、VRoid の人物モデルをそのまま使うのではなく、わざわざ Sims 4 の人物モデルと併合しようと考えた。
- 左の人物モデルは、Sims 4 で適当に生成された人物(シム)を TS4Ripper で開き、Collada (.dae) 形式で出力したものを、Blender 標準のインポート機能で取り込んだ直後の人物モデル
- 右の人物モデルは、VRoid のサンプル SampleAvatar_C を VRM 形式で保存したものを、VRM_IMPORTER アドオンでインポートして取り込んだ直後の人物モデル
見ての通り、VRoid のモデルよりも Sims 4 のモデルの方がリアル感が高い。
体形や衣装の編集を Sims 4 のシム生成機能 CAS で簡単に行えることもメリット。
まあ VRoid の方はポリゴン数をわざと落としたりしているとは思うので、Sims 4 の外観と単純比較するのは適切ではないかもしれないが。
なお Sims 4 のモデルで気になる表面のテカリについては、定番の手順で艶消しすることができ、消した後のモデルは下図のようになる。
Sims 4 (TS4 Ripper) からインポートした直後の人物モデルの構造
前掲の図の左側にいたお姉さんの3Dモデルの構造は以下のとおり
- 光源 Lamp
- 一見すると中身はないポーズ Pose
- 99個以上のボーンを含んでいるらしいリグ rig
エクスポートのさいに個々のメッシュごとに出力する指定をしたので、以下のように細かく分類されたメッシュが出力された。
- 下半身 Bottom、顔 Face、髪 Hair、歯 Head(頭ではない)、上半身 Top
- 耳飾り Earings、眼鏡 Glasses、右指の指輪 RingThirdRight、靴 Shoes、靴下 Socks
以前に Sims 4 から人物をエクスポートして3Dモデリングツールで編集する - そういう、モデルなんです。 において参考にした動画では、
- 光源 Lamp については、即刻削除されていた
- リグについては、指の関節周りを改良した別のものに差し替えていた
ので、Blender でリグのみ換骨奪胎は普通のことであり、可能であると判断した。
Vroid からインポートした直後のモデルの構造
前掲の図の右側にいるお兄ちゃんのモデルの構造は以下のとおり
- 28個の Colliders コレクション
- 一見すると中身はないポーズ Pose
- 99個以上のボーンを含んでいるらしいリグ Armature.001
- 身体 Body、顔 Face、髪 Hair に大別されたモデル
整理整頓のため器として用意した「Vroid インポート直後コレクション」にインポートしたかったが、中に入らず直接展開された。後からコレクション内に移動させたら少しおかしくなり不安だったので、そのままにしてある。
Sims 4 モデルとの明らかな相違点としては、
- 光源 Lamp は存在しないが、たぶん無くて良いものなので支障はない
- ポーズ Pose については両方とも中身がないという点において同じ
部位ごとに出力された Sims 4 人物モデルは VRoid よりもメッシュが細分化されているので、リグを差し替えたときに対応がとれるのかどうかは分からない。
とにかくリグを差し替えてみたらどうなるか試し、うまくいかなければ、
- Sims 4 のモデルを簡単にする
- モデルは変更しないがリグの紐づけだけ、とにかく力作業で頑張る
など、どちらかで対処する。
まず Sims 4 お姉ちゃん人物モデルからリグ(ボーン)をバッサリ削除する
以前 Sims 4 から人物をエクスポートして3Dモデリングツールで編集する - そういう、モデルなんです。 で参考にした動画の12分あたりから、リグ(ボーン)を入れ替えている。
- Blender の追加 Append から、カスタムリグを含んでいる別の Sims 4 モデルのファイルに含まれるリグを選択して取り込む
- リグと一緒にボーンシェイプなるものも取り込まれたので、リグだけ残してボーンシェイプの方は削除
これで換骨奪胎は終わっているが、あくまでも Sim 4 モデルに別の Sims 4 モデルを取り込んだ例である。
動画の手順と同じようにして光源と Sims 4 モデルのリグを削除したところメッシュのみとなった。
次に VRoid お兄ちゃん人物モデルのリグを複写してみたが、失敗だった
リグは VRoid から取り込み済みのお兄ちゃん人物モデル SampleAvatar_C のリグ Armature.001 を複写 Copy してみた。しかし参考動画のやり方とは違って、Sims 4 のファイルからの追加 Append ではないやり方だったので失敗した。
Vroid お兄ちゃん人物モデルを一旦削除し、追加で取り込み直してみる
いったんお兄ちゃんモデルだけを取り込んだ別の Blender ファイルを用意し、リグだけを追加 Append することを試してみる必要がありそうだ。
- 28個の Colliders コレクションの全階層を削除 Delete Hierarcy
- 99個以上のボーンを含んでいるらしいリグ Armature.001 も全階層を削除
- 元々空っぽだった「Vroidインポート直後コレクション」も削除
この Blender ファイルからは、いったんお兄ちゃん人物モデルは消えた。
Sims4お姉ちゃん人物モデルはリグをバッサリ削除されているので、新たにVRoid VRM お兄ちゃんのリグを追加 Append してみて、身体の中にすぽっとリグが埋め込まれるかどうか試す。
追加 Append を行って Vroid お兄ちゃんモデル のリグを取り込み
冒頭で別ファイルに保存してあった VRoid VRM お兄ちゃん人物モデルのファイルの中から、ボーン(リグ)を特定して取り込む。
Sims 4 お姉ちゃん人物モデルに直接、追加したボーン(リグ)が自動的に紐づけられたり、埋め込まれたりまではしないようだ。完全に別物扱いである。
どのようにして紐づけるか?
メッシュを指定してボーン(リグ)を埋め込むというのが Blender での通常の手順だが、おそらく同じ手順を踏まないといけないのだろう。
また別々の2つの人物モデルから取り込まれたモデルを並べて眺めていると、今更だが、いろいろと相違点に気付いてきた。
- Sims4 お姉ちゃん人物モデルのメッシュはAポーズ、VRoid VRM お兄ちゃん人物モデルのリグはTポーズと違っているので合わせづらい
- VRoid お兄ちゃん人物モデルから抽出したボーン(リグ)には何故か顔面(能面)が付属している
- VRoid お兄ちゃん人物モデルから抽出したボーン(リグ)にはコライダー Collidar も付属している
とりあえず手動で合わせていく
生産性は低いが、まずは手動で合わせられるかどうかを確認する。
まずコライダー Collidar を非表示にして、ボーンを操作しやすくする。
次に、ズレているボーンを特定する。
幸いにも、一番重要な腰の位置は正しいようだ。
しかし胸のボーンの位置は低すぎて、肩の位置は合っていない。
オブジェクト Object モードにして、能面(顔面)を姉ちゃんメッシュの方に横 X軸 [g][x] 移動させて高さを合わせる
編集 Edit モードにして、J_Bip_C_Neck 以下の部位を全て階層展開して選択し、移動させる
頭と首の Collidar は非表示だが、追従して自動的に移動されたようだ。
起点 Root を含む下半身も移動させる
ズレている肩を移動させ、高さを合わせる
メッシュに埋まってボーンが見づらいときは、メッシュをY軸方向に少し後退 [g][y] させて見やすくしてから移動させるとよい。
左右両方とも行う。
TポーズをAポーズに変更する。
肘の位置があっていないはずなので、編集 Edit モードにして肘の位置を合わせる
左右両方とも行う。
手首より先のボーンを全て選択し、手首の位置を合わせる
手首を回転させて傾きを同じにする
折角あわせた手首の位置がズレてしまったので次で補正する。
手首より先のボーンを全て選択し、手首の位置を合わせる
これで正面から見た場合の位置合わせは完了した。
メッシュをY軸方向に少し後退させて見やすくしていた場合には、前に移動させて戻す。
他の方向から見た場合の位置合わせを行う。
能面がはみ出ていたり、肘のズレていたり...
ほどほど合わせたので、この辺で完成とする。
モデルを選択した後、アーマチュアと自動で関連づけ
[Ctrl]+[P] でメッシュを親ペアレント設定して関連づける。ポーズ Pose モードでリグを動かしてみたら、それなりには動いたので、やり方としては間違ってはいないだろう。
ボーン(リグ)が埋まったので、VRM 形式で出力してテストする
作業開始のさいに Blender に追加したアドオン VRM_IMPORTER では、エキスポートはできないようだった。
調べてみると VRM形式でエキスポートとインポート両方行えるアドオン VRM Add-on for Blender というものがあるらしい。以下は参考になったサイト:
BlenderでVRMのキャラクターを作ろう! | 電ch! – 大阪電気通信大学チャンネル
このアドオンをインストールした結果、VRMインポートの方も VRM_IMPORTER から VRM Add-on for Blender に置換されたかもしれないが見た目では分からない。
エクスポートして戻す前に Tポーズにしておく
Aポーズのままだったが、念のため Tポーズにしておく。
顔面がメタルKの怖い時モードになっており、服がテカっているのは今は直さない。
元 Sims 4 お姉ちゃん人物モデルを選択して VRM に出力した。
さあ VRoid に読み込むぞ...できない...
VRM アバターをテストするため、VRoid で開こうとしたが VRM 形式を読み込めるわけではなく .vroid 形式でしか開けないようだった。
本来の目的に立ち返ると、別に VRoid に読み込み直す要件は無かった
手段に溺れてしばしば目的を忘れることが多いが、もともと、やりたいことは下記3点だった:
デスクトップにアバターを出す VMagicMirror を過去に動作確認しており、これは VRM 形式のアバターを受け入れるはずなので、これで試す。
VMagicMirror で読み込んでみる
一旦、さくらだふみりや君でロードしたが、彼は罷免してお姉ちゃんを新規採用するので「PC上のファイルをロード」を選ぶ。
ライセンスの情報は作っていないせいか、既定のライセンス情報のようなものが表示された。どこかにお兄さんの情報が残存しているらしく、名前・作者はユニコード変換に失敗しているらしい。
この点は後日対策を確認したところ、
という方法で修正できると判明したが、修正しなくても手許(ローカル)での確認はできるので今回は対策しない。
人物モデルがズレて、上半身がどこにあるか分からない
読み込んでみたが、ゴムゴムの実を食べたらしく、位置がズレており胴体と顔が見えなかった。左側がどうなっているか想像するだに恐ろしい。
Blender からエクスポートしたさいに、座標を原点に戻さなかったため、その影響でこうなった。
起点 root のボーンを原点に合わせて、VRM形式で再度エクスポート。
人物モデルの位置は治った、動作もほぼ問題ないが、顔は全然ダメ
これは行ける!
ただし見ての通り顔面を一切編集していないのでメタルK、怖っ:
- やっぱり顔面(能面)はそのまま表示されてしまっているので、修正が必要
- 眼鏡がサングラスのままなので、目元が見えない。これも補正が必要
ついでに、表情モーションがどのように影響するのかテストしておく。
- 万歳 wave や良し good の全身運動は機能していた。
- その他の感情系モーションについてはグラサンが邪魔で良く確認できなかったが、能面上の眉毛やら目玉やらが反応していたので、何らか顔面のメッシュと対応を取りさえすれば機能する。
能面(顔面)をどうすればよいのか調べる
この VRoid VRM 人物モデル由来の能面(顔面)は、おそらく表情モーフを表現するために、ボーン(リグ)と一緒に出力されたもの。
これが VRoid 独自の仕様なのか、VRMの仕様なのかは確認した方がよさそう。
お姉ちゃんの顔面に差し替えるにしても、仕様通りに対応させないと期待した結果にはならないだろうから。
表情については VRM の仕様らしきものがあった。
BlendShape Setting - VRM documentation
別段 Vroid 独自の仕様というわけではないようだ。
前回のテストではサングラスや顔面メッシュとの重なりが邪魔で、能面(顔面)の動きがよく確認できなかったが正確に確認していく。
サングラスを削除し、能面を少し前面に出してテスト
VMagicMirror では、マウスカーソルのある位置に目線が追従するよう設定してあるのだが、VRoid VRM 由来の能面上の目玉は丁度そのように動作していた。
怒っている angry にすると眉毛の角度が変わるので、このあたりも何らか対応付けが必要になりそうだ。
この能面に仕込まれたシェイプキー Shape Keys を確認する
上記の動作から想像すると、能面には感情ごとのシェイプキーが仕込まれているはずなので、Blender で能面をリバースエンジニアリングする。
シェイプキーは50個くらいあるようだ。
能面の大きさやマテリアルを調整してモデルに合わせる方が楽?
Face.006 が VRoid から取り込んだ人物モデルに含まれていた能面(顔面)である。
下三角マークとなっているので、これはリグ(ボーン)ではなくメッシュである。
対して Sims 4 が生成したモデル(メッシュ)のうち、顔面に相当するものは頭 Head.001 であり、Face.001 は名前と違って意外にも歯である。Sims 4 では髪は頭と一体化しており、別メッシュとして出力されない。
Sims 4 の頭メッシュ Head を直すか、VRoid の能面メッシュ Face を直すかの二択
VRoid 人物モデル由来の能面メッシュの方が
- マテリアルの種類が多い
- シェイプキーは50個くらい割り当てられている
と複雑である。
これを真似して Sims 4 が生成した頭メッシュを改造するよりも、Sims 4 の画面のマテリアルの値を頑張って VRoid の能面メッシュに複写するとか、能面のメッシュそれ自体を直すとかして編集し、Sims 4 頭メッシュに蒸着させる方が手番が少なそうだ。
しかし調べてみると1年半前にやっている人がいました。
上記の記事では3日がかりで相当にしんどいらしい。やめておこう。
Sims 4 人物モデルの頭メッシュにシェイプキーを全て設定した方が楽?
Sims 4 人物モデルの頭メッシュに対して、VRoid 人物モデルの能面メッシュと同じシェイプキーを設定し、能面の仕様を移植しても手間は同じかもしれない。
グラサン外したら意外と浅黒・丸顔だった Sims 4 お姉さんモデル。
この雰囲気を忠実に移行するためにも、Sims 4 頭メッシュを活かす形で表情モーフを作りこんで行った方が妥当だ。
Sims 4 のアニメーションとやらを取り込めるらしいぞ...(適用できない)
表情モーフを作り込む手間すらも省きたいので、少し調査した。
Sims 4 のアニメーションを Blender に取り込むという趣旨の動画を見てみると、方法はポーズの取り込み方と同じだといっていた。
但し、
- これは人物の全身(ポーズ)を変更するものであり、表情の変更をするものではなかった
- この方は普段からものすごい数のポーズを蒐集しており、それを適用しているらしかったが自分の手許には何も内
- アニメーションやポーズはリグ(ボーン)を動かすものだが、シェイプキーはメッシュそれ自体を変形させるものなので、この方法は適用できない
ので、顔面整形の参考にはならない。
メッシュを直接編集して変形させるのも、慣れが必要そうだ
眉毛などは難しくなさそうだが、目玉と瞼の分離、上唇と下唇の分離などは、メッシュを選択するだけでもかなりしんどそう。
全く同じ感想を述べている人がいました。
どうもこれを見ると、最初にバッサリ削ってしまった Sims 4 標準のリグを残しておけば、顎のリグを動かすだけで口が空いたりする(つまり口のメッシュの変形が行われる)ので、簡単に顔面整形できるように思えた。
この動画を含むプレイリストはモデルを Blender にインポートし、Sims 4 のリグを使って編集し、ポーズを作る方法を全操作字幕で説明していたのでかなり参考になった。
メッシュの面や点を編集して表情を作るのは面倒なので、Sims 4 人物モデルでメッシュと一緒にインポートされたリグ(ボーン)をうまく使う
フルスクラッチで人物モデルと表情モーフを作り込む場合や、VRoid 人物モデルの能面を編集して表情モーフを作り込む場合には、編集モードでメッシュの面やら点やらを必死に変形させないと表情が制作できない。これには時間がかかる。
しかしインポートされた Sims 4 人物モデルには、もともとの Sims 4 向けのリグ(ボーン)もあるので、メッシュの変形を面・頂点編集で行うのではなく、これらのリグ(ボーン)の操作で行うことで省力化できる。
Sims 4 の顔面周りのリグ(ボーン)を活用するため、再び Sims 4 人物モデルをインポートし直す
冒頭で VRoid VRM 人物モデルからボーン(リグ)をインポートしたさいに、もう Sims 4 人物モデルのリグ(ボーン)もさっさと削除してしまった。
もう一度、Sims 4 お姉ちゃんモデルをインポートし直し、Sims 4 のリグ(ボーン)をうまくつかって表情を調整できるようにした。慣れは必要だが、動画と同様にリグで表情を作ることができるので、はるかに楽である。