VRoidでかんたん!パーフェクトシンク(1/3)VRoidモデルのFBXエクスポート
結論:
— Gogo (@3str6) 2020年7月7日
ViviとSakuradaでは形状, UVマップ, 頂点数に差があるため転送はできませんでした。
ただし以下の条件下であればモーフ転送が可能な場合があります。
・UniVRM→FBXExporter経由でBlenderにインポートする
・VRoid Studioのバージョンが同一である
・VRoidの性別が同一である
____________________________________________________________________________________
!本記事の記載内容は過去の手順となります!
現在、VRoidにパーフェクトシンク対応のBlendShapeを実装するには
くにやんさん @nikutokuni 作の 超かんたんBlendShapeコピーツールがおすすめです
VRoid用の表情データセット同梱(VRoidStudio V0.11.3対応)
Blenderを経由せず、Unityだけで簡単にVRoidモデルのパーフェクトシンク対応ができます
Unity初めてのかたでもわかりやすいように手順書を書きました
____________________________________________________________________________________
本解説で使用しているUnity・Blenderのバージョンは以下の通りです。
Unity:2019.4.0f1
Blender:v2.83.2
1.【Unity】VRMモデルをFBXにエクスポート
1-1.準備
1-2.FBXエクスポート
VRMモデルをプロジェクトに読み込み、Scene上に配置します。
Hierarchy ウィンドウでモデルを右クリックし、FBXエクスポートを行います。
BlenderはASCII形式のFBXファイルをサポートしてないため、Binaryを選ぶ必要があります。
Exportを実行すると、Destinationで指定したディレクトリにFBXファイルが作成されます。デフォルトではプロジェクトのAssetフォルダ直下です。
2.【Blender】FBXモデルのインポートとマテリアル調整
2-1.FBXインポート
[ファイル]→[インポート]→[FBX(.fbx)] でFBXモデルをインポートします。
クリックで展開
2-2.メッシュへのマテリアル再割り当て
編集モードで作業します。
Faceオブジェクトで、以下のメッシュに対してマテリアルを再度割り当てます。
1) 耳
耳のメッシュに「EyeExtra」のマテリアルが当たってしまっています。
メッシュをリンク選択して「Face_00_Skin」のマテリアルを割り当てます。
リンク選択では白目や口内もまとめて選択されてしまうため後で個別に直します(耳だけスマートに選択する方法があったら教えてください)
リンク選択
マテリアルの割り当て
耳のメッシュに顔のマテリアルが適用されます。
2) EyeExtra
後ろから見ると、><の目のメッシュに「FaceMouth」のマテリアルが当たってしまっています。
メッシュを選択して「EyeExtra」のマテリアルを割り当てます。
3) 白目
※EyeExtraのメッシュが邪魔なのでいったん非表示にしています。
メッシュを非表示にする(クリックで展開)
メッシュを選択した状態で、
[メッシュ] > [表示/隠す] > [選択物を隠す] でメッシュを非表示にできます。
[メッシュ] > [表示/隠す] > [隠したものを表示]で再表示されます。
耳のマテリアルを再設定したとき、白目のメッシュに「Face_00_Skin」のマテリアルが当たってしまうのでここで直します。
後ろから見ると、白目のメッシュに「FaceMouth」のマテリアルが当たってしまっています。
メッシュを選択して「EyeWhite」のマテリアルを割り当てます。
白目の裏にある交点を選択し、選択の拡大を2回繰り返すと白目を選択できます。
「EyeWhite」のマテリアルを割り当てます。
4) 口内
耳のマテリアルを再設定したとき、口内のメッシュに「Face_00_Skin」のマテリアルが当たってしまうのでここで直します。
白目と同様、中央の交点を選択し、選択の拡大を4回繰り返して唇の際まで選択します。「FaceMouth」マテリアルを適用します。
完了した状態
この状態で一旦Blenderファイルを保存します。
次の手順で、雛形モデルからBlendShapeをコピーします。
3.【おまけ】Blenderでマテリアル手動調整
当初は下記の通り丁寧にマテリアルを直していたのですが、よく考えたらここで見た目を綺麗にする必要はとくになかった
何かの役に立つかもしれないのでおまけとして残します。
3-1.マテリアルの透過設定
クリックで展開
マテリアルのノードが表示されます。
- 画像テクスチャ(Image Texture)
- テクスチャ座標(Texture Coordinate)
- 透過BSDF(Transparent BSDF)
- ディフューズBSDF(Diffuse BSDF)
- シェーダーミックス(Mix Shader)
- マテリアル出力(Material Output)
画像テクスチャの項目で、対応するテクスチャ画像を割り当てます(ここでは眉)。
3-2.メッシュへのマテリアル割り当て
クリックで展開