環境
Unity 2019 4.38f
Blender 2.91.2
VRoid Studio 1.19.0 製品版(ベータ版でも同じだと思う)
概要
- VRoid Studio ( https://vroid.com/studio ) で3Dモデルを作成、.vrmファイルとしてエクスポート
- Blenderでモデルとテクスチャ改修
- Unityへインポート
この流れで作業をやりたかった話。
誰かの解決策になればいいなと思って書き記します。
VRoid Studioって
VRoid Studioとは、ヒト型アバターを手軽に作成できる無償で商用・非商用利用できる非常にありがたいソフトです。
これはモデル制作の面でとても楽なのですが、エクスポートの種類が .vrmエクスポート、VRoid Hubへアップロード、3Dプリント向けエクスポートの3種類しかありません。(おそらく)
Blenderでポリゴンやテクスチャをいじるにはちょっと優しくないです。
VRoidからBlenderへモデルを移植
まず、Blenderで.vrmファイルを扱えるように、Blenderへアドオンをインストールします。
VRM Addon for Blender: https://github.com/saturday06/VRM-Addon-for-Blender
ver2.83以降のBlenderに対応しています。
これをインストールすると、Blenderのファイル>インポートにVRMの項目が出ますので、そこからVRoid Studioでエクスポートした.vrmファイルを読み込めます。
3Dモデルを編集したい人向けの話
VRoid Studioで制作したモデルをそのままUnityで使用したい人はここを読み飛ばしても大丈夫かと思います。
VRoid Studioからそのままインポートした3Dモデルには、問題点がいくつかあります。
-
パーツすべてがひとつなぎのオブジェクトとしてまとめられてしまっている
このままでは編集できないので、オブジェクトを分離します。- 分離したいオブジェクトを選択、編集モードへ
- Pキーを押してマテリアルで分割
VRoid Studioから持ってき3Dモデルには既にマテリアルが割り当てられているので、マテリアルから分割するのが楽です。
-
重複頂点がある
VRoid Studioから持ってきた3Dモデルにはいくつか重複頂点と呼ばれるものがあり、見かけ上は面がつながっているように見えても実は……ということがよくあります。
VRoid Studioでテクスチャの切れ目になっている部分にこれがよく見られると思います。- Aキーでオブジェクトを全選択
- Mキーを押して距離でマージ、もしくは上タブのメッシュ>クリーンアップ>距離でマージ
正直これをやっても変な頂点は存在するので、根気よくやっていくことが大事。
BlenderからUnityへモデルを移植
ここでも、Unity上で.vrmファイルを使用できるように、Unityへパッケージをインポートします。
UniVRM: https://github.com/vrm-c/UniVRM/releases
ver2020.3 LTS以降のUnityに入応しています。
Blender上で.vrm形式としてエクスポートし、それをUnityにインポートします。
.fbxファイルでエクスポートしてからUnityへ流すのを紹介しているサイトをよく見かけましたが、そうするとそもそもテクスチャ情報が内包されていなかったり、Unity側でテクスチャ(マテリアル)の再設定が必要と非常に面倒でした。
おわり
正直、自分が確認していないだけで.vrmファイルにも不都合な点があるかもしれません。
特に、自分はアーマチュアや表情を使用しないモデルの使い方をしていたので、そのあたりはバッサリカットしています。
テクスチャ・マテリアル周りの非常に面倒な設定をすっ飛ばしてモデルを使用できるのでとても楽でした、というお話。