メニュー

【VRoid】3Dモデル(.vrm)をFaceRigにインポートする方法

vroid-facerig-import

VRoidの3DモデルをFaceRigで表示できたら最高じゃないか!と思いついたので挑戦!

後述しておりますがフェイシャルの作り方が違うので、ちゃんとした移植は結構な手間がかかります。

海外でフリーランスをしているテクニカルアーティスト
ゲーム開発・映像制作・WEB制作等を請け負っています。
当ブログは作業効率化のための技術ブログです。

目次

[検証1]公式サンプル3DモデルをFaceRigにインポート

VRoidのキャラクターをFaceRigに取り込む方法を解説していきます。

FaceRigの公式ドキュメントの場所

モデルデータの作成方法(公式ドキュメント)
https://drive.google.com/file/d/0B9A2HzJCWwFWYnN6SFRPbW1mRWM/view

FaceRigを導入後、C:\Program Files (x86)\Steam\steamapps\common\FaceRig\Bin\Tools\Docsにも公式ドキュメントが格納されています。

  1. 3Dモデル/テクスチャのインポート関連(ImporterV2_FacerigModelAndTextureDocumentation.pdf)
  2. 3Dモデル/テクスチャのインポート関連(旧式。obsolete_FacerigModelAndTextureDocumentation_15.pdf)
  3. ノーマルマップ生成関連(GenerateNormalMapsForFacerig.pdf)
  4. Live2D関連(3.0も対応。Live2D_Facerig_Avatars_Documentation.pdf)

サンプル3DデータをFaceRigへインポート

下記から公式のサンプルデータをダウンロード。

yexampleの中身は

  1. モデル(.DAE)
  2. テクスチャ(.tga)
  3. ファイシャル(animフォルダの中身)

で構成されています。

C:\Program Files (x86)\Steam\steamapps\common\FaceRig\Bin\Tools\ImportWizardNew\ImportWizard.exeを起動して、Model Importerを選択。

ウインドウ(FaceRig Model Importer)が表示されます、まずはそのままImportボタンをクリック。

バッチ処理が始まるので、完了するまで数分待ちます。

C:\Program Files (x86)\Steam\steamapps\common\FaceRig\Mod\VP\PC_Common\Objects\avatar\yexampleにデータが生成されていることを確認したら、FaceRigを起動。

アバターギャラリー>Workshop and Custom Avatarsに?のサムネイルが表示されているのでクリック。

初回はしばらくローディングするので待てば、女性のモデルが表示されます!

[検証2]Vroidのモデルデータ(.vrm)をFaceRigにインポートする方法

プリミティブ(立体)から、まずは自作データを表示させようと試みしましたが、エラーばかりで全然進めなかったので、サンプルモデルデータからモデルを差し替えて表示させてみました。

テクスチャを(.tga)に変換

画像編集ソフトで(.png)から(.tga)に変換します。
ついでに名前も変更します。

dがディフューズ、bがノーマル、sがスペキュラーですが、変換はdだけでも良いです。ここだけ命名をちゃんとしておくと、あとでインポートする時の割当が簡単になります。

Targa(24bit)
* F00_000_Body_00.png → neko_body_d.tga
* F00_000_Body_00_nml.png → neko_body_b.tga
* F00_000_EyeWhite_00.png → neko_eyewhite_d.tga
* F00_000_Face_00.nml.png → neko_face_b.tga
* F00_000_Face_00.png →  neko_face_d.tga
* F00_000_FaceMouth_00.png → neko_facemouth_d.tga
* F00_000_Hair_00_nml.png → neko_hair_b.tga
* F00_000_Hair_00_spe.png → neko_hair_s.tga
* F00_000_HairBack_00_nml.png → neko_hairback_b.tga
* F00_001_Accessory_01.png → neko_accessory_d.tga
* F00_001_Bottoms_01.png → neko_bottoms_d.tga
* F00_001_Shoes_01.png → neko_shoes_d.tga
* F00_001_Tops_01.png → neko_tops_d.tga

Targa(32bit)
* F00_000_EyeExtra_01.png → neko_eyeextra_d.tga
* F00_000_EyeHighlight_00 → neko_eyehighlight_d.tga
* F00_000_EyeIris_00.png → neko_eyeiris_d.tga
* F00_000_FaceBrow_00.png →  neko_facebrow_d.tga
* F00_000_FaceEyelash_00.png → neko_faceeyelash_d.tga
* F00_000_FaceEyeline_00.png → neko_faceeyeline_d.tga
* F00_000_Hair_00.png →  neko_hair_d.tga
* F00_000_HairBack_00.png → neko_hairback_d.tga

Photoshopでアルファチャンネルを作る方法

選択で、選択範囲を囲ってアルファチャンネルを作成してもよいのですが、

イメージ>演算でチャンネルを透明部分にしてあげると、機械的にアルファチャンネルが作成できます。

VRoidモデルのセットアップ

やることは単純です。

  1. 3Dソフトで先に検証したサンプルデータを開きます。
  2. VRoid(.vrm)のデータをインポートします。参考
  3. テクスチャを変換してTGAに差し替えます
  4. ブレンドシェイプのモデルとヒストリーをすべて削除します。
  1. サンプルモデルとだいたい大きさを合わせます。骨も動かして大体の位置にあわせます。
  2. サンプルモデルの骨とメッシュをバインド。
  3. 最後にモデルをエクスポート(.DAE)、先の検証用のデータをコピーして上書きします(yexampleGeometry.DAE)

FaceRigへのVroidのモデルデータ(.vrm)のインポート

検証の時と同じ手順です。

注意点を書いておきます。

  1. DAEのモデルデータはキャラ名+Geometry.DAEとしておくこと。Data Folderのパスを指定した後の処理で自動でマテリアルが表示されます。
  2. Avatar Nameは好きな名前に変更しておくこと。
  3. アルファなしのマテリアルはOpaque(Skin no blended normals)、アルファ付きは値は1にすればOK Opaque(Skin no blended normals)に設定

自作データで試した時のメモ

  1. カメラ位置用のNull(ロケーター)をモデルに入れていないとインポートできない。
  2. Animations idle1を設定しないとインポートできない。
  3. マテリアルを設定しないとインポートできない。
  4. キャラの骨が1個だけだとインポートできない。(おそらく)いくつかの必須の骨を仕込まないとインポートできない。

Vroidモデルデータ(.vrm)のFaceRigへのコンバートテスト

  1. VRoidの階層データのままでもFaceRigにて表示可能でした。
  2. GlobalでZ-180回転したり、スケール変えたり調整
  3. 原点に頭がくるようにPosition調整。そこを起点にカメラが回転する
  4. 腰骨と同階層にCameraを置く。スケールが小さい場合は原点においてもOK

[検証3]VRoidをFaceRigへコンバートする設定

Mayaでいろいろ検証して、落ち着いたモデルデータの設定。

  1. VRMを変換後、ブレンドシェイプの設定とオブジェクトは削除テクスチャはTGAに差し替え
  2. 最上位のノード(ロケーター)のスケールを100→1に変更、さらにRotateYを180度に(正面が背中を向ける様に)、頭の位置を原点に(Translate Y-14.3)
    ※この方向にしないとFaceRigの上下のカメラ操作が逆になってしまう
  3. VRMを変換後、ブレンドシェイプの設定とオブジェクトは削除テクスチャはTGAに差し替え
  4. 最上位のノード(ロケーター)のスケールを100→1に変更、さらにRotateYを180度に(正面が背中を向ける様に)、頭の位置を原点に(Translate Y-14.3)
  5. ※この方向にしないとFaceRigの上下のカメラ操作が逆になってしまう

気をつけることはこれだけと思うかもしれないですが、スケールやカメラ方向などを余計な操作をすると沼にハマります。

最低限の箇所だけいじることで、次のフェーズにスムーズに移れます。

Vカツモデルデータ(.vrm)のFaceRigへのコンバート

VRoidと同様の手順です。

VRMのデータを3DソフトでFaceRigの仕様に合わせてセットアップしなおして、コンバートします。

3Dモデル(.vrm)をFaceRigにインポートする方法まとめ

なんとか3DモデルをFaceRigに入れることができました。

あとは骨の位置を修正し、ウェイトをちゃんとつけて、可動範囲のアニメーションを作成し、マテリアルを調整すれば実用に耐えうるFaceRigモデルができると思います。

ブレンドシェイプベースからボーンベースのフェイシャルに変更しないといけないので、作り直しのコストが非常に大きいです。

あとはコンバート処理が時間が数分かかるのとエラーを潰すのが大変なので、もうすこしまとまった時間が必要だと思います。

今回はざっくり表示することろまでにとどめておきます。

全記事一覧

  • URLをコピーしました!
目次