FaceRig

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

facerig-import-3dmodel

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

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

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

公式ドキュメントの場所

https://facerig.com/docs/facerig-studio-docs/creating-a-custom-avatar-for-facerig/

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

インポート方法(公式ドキュメント)
https://drive.google.com/file/d/0B0ciRKrWV2vsN25yUlRJdHExd0E/view

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

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

サンプルデータのインポート

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

https://drive.google.com/file/d/0B8KlsC2kpc7nTW5YNzFWNDBqb0k/view

yexampleの中身は

  • モデル(.DAE)
  • テクスチャ(.tga)
  • ファイシャル(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_CustomData\Objects\avataryexample

にデータが生成されていることを確認したら、FaceRigを起動。

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

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

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

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

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

画像編集ソフトで(.ong)から(.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でアルファチャンネルを作る方法

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

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

モデルのセットアップ

やることは単純です。

  • 3Dソフトで先に検証したサンプルデータを開きます。

  • VRoid(.vrm)のデータをインポートします。参考:https://www.cg-method.com/entry/blender-import-vrm/

  • テクスチャを変換してTGAに差し替えます

  • ブレンドシェイプのモデルとヒストリーをすべて削除します。

  • サンプルモデルとだいたい大きさを合わせます。骨も動かして大体の位置にあわせます。

  • サンプルモデルの骨とメッシュをバインド。

  • 最後にモデルをエクスポート(.DAE)、先の検証用のデータをコピーして上書きします(yexampleGeometry.DAE)

FaceRigへのインポート

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

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

  • DAEのモデルデータはキャラ名+Geometry.DAEとしておくこと。Data Folderのパスを指定した後の処理で自動でマテリアルが表示されます。

  • Avatar Nameは好きな名前に変更しておくこと。

  • アルファなしのマテリアルはOpaque(Skin no blended normals)、アルファ付きは値は1にすればOK Opaque(Skin no blended normals)に設定

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

  • カメラ位置用のNull(ロケーター)をモデルに入れていないとインポートできない。

  • Animations idle1を設定しないとインポートできない。

  • マテリアルを設定しないとインポートできない。

  • キャラの骨が1個だけだとインポートできない。(おそらく)いくつかの必須の骨を仕込まないとインポートできない。

追記 コンバートテスト

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

まとめ

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

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

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

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

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

参考

FaceRigに自作3Dモデルを入れる方法を学ぶ

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

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

  • VRMを変換後、ブレンドシェイプの設定とオブジェクトは削除テクスチャはTGAに差し替え

  • 最上位のノード(ロケーター)のスケールを100→1に変更、さらにRotateYを180度に(正面が背中を向ける様に)、頭の位置を原点に(Translate Y-14.3)

※この方向にしないとFaceRigの上下のカメラ操作が逆になってしまう

  • カメラは階層にいれないRotateYを-180度に、始めはキャラとだいぶ離しておく(Translate Z-80)

階層内にいれると初期カメラの方向がおかしくなる

まとめ2

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

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

Mayaの参考紹介

参考記事

  • Mayaに関連するまとめ記事23選!
  • 参考書籍

    キャラモデリングの書籍です。

    背景を作成する時に一読すべき書籍です。

    リグを組む時に一読すべき書籍です。

    ABOUT ME
    すいみん
    東京在住。デザイナー寄りのテクニカルデザイナー。 ブログは技術検証の備忘録として書いています。