【Unity】VRChat用アバターをVRMに出力したい
こんちゃー、ロタールです。
今回はVRChat用のアバターをに変換する方法の覚え書き。
自分はビートセイバーにアバターを出力するための手続きの1つとしてやることになりました。
事前準備
VRCのUnity用SDKであるUniVRMのダウンロード。
こっからダウンロードしてください。
最新版のUnitypackageをダウンロードしておきます。
導入するアバターの用意。
Boothで購入したアバターを導入したい場合はそのままでOKです。
ちなみに僕はひゅうがなつみかんさんの「京狐」さんを使います。
(京狐さんにはVRMファイルが同梱されていますが、今回は改変したものを出力したいので……)
改変したものを使いたい場合は一度アバターをUnitypackageとして出力しておきましょう。
色々インポート
まずは新しいプロジェクトを作ります。
補足情報として僕はUnity2018.4.20f1のバージョンで作りました。
最新のバージョンだと動かないかもなので注意。
作ったプロジェクトにUniVRMと自分のアバターのUnitypackageをインポート。
インポートが終わったら、アバターのPrefab AssetをHierarchyにドラック&ドロップします。
するとドピンクのアバターが登場!エラーの色ですね……
これは自分で作ったUnitypackageにShaderを入れ忘れた結果です。UTSを使っていたけれど、それをUnitypackageに入れ忘れました……
色々変更する
VRMとして出力するために色々変更しなきゃなのでそれをいじっていきます。
ずっとピンクを見ているのもあれなのでまず、Shaderを変更していきます。
だいたいのアバターならHierarchyにあるファイルを開いて、Armatureの下にあるやつを選択するとShaderの設定が出てきます。
ここのShaderをVRM/MToonを選択します。
ここ変更しとかないとダメみたいです。
あとShader Colorを白に変えとくみたいです。
赤い四角のところを選択したら左側に出てるパレットみたいのが出るので、これを白にすればOKです。
あとはアバターの向きが青(z軸)の矢印の方に向けたり、モデルの位置を原点にするという操作がありますが、それはすでに設定済みなので飛ばします。
エクスポート
そしたら右上にこんなのが出るので、「Title」「Version」「Author」を適当に入力します。
これらを入力すると赤いビックリマークが消えてエクスポートできるはずです。
まだ消えなかったらなんかしら間違っています。黄色のビックリマークは無視してOK
もう一回エクスポート
さっき出力したVRMファイルをUnityのAssetsにドラック&ドロップします。
これでVRMモデルのPrefabが生成されます。
PrefabをHierarchyにドラック&ドロップします。
ここで表情や揺れ物の設定ができますが、今回は置いときます。
ここまで出来たらさっきと同じ方法でエクスポート。
これで作業は終わりです。
絶対難しい!と思って今まで手を付けていませんでしたが、実際にやったのはShaderの変更くらい。思ったよりも簡単でしたね。