VRoidで作成したモデルをVRChatの世界に送り出す方法

どうもmayoです。
ばばばーっと書いてるので誤字脱字あるかもしれませんが、大目にみてください・・・

 

VRoidという簡単にモデルが作れていろんなことに利用していいよっていう神ツールのベータ版で遊んでいました。
VRChatとかにも使えるんだろうな~なんて思っていましたが、VRM形式という割と最近できた形式を採用しているらしく、そのままではできないな~というツイートが散見されました。
blenderなどのツールをうまく利用して実現している方もいましたが、自分はあまりblenderに詳しくないので避けました。

なんとかしてVRChatの世界に送り出す方法はないかと色々情報を集めてなんとなく実現できたのでご紹介します。

 

はじめに幾つか注意点を挙げさせていただきます。


・VRoid(作ったことがある)、Unityの使い方はある程度(VRChatへのモデルのアップロードくらい)分かっている方向けです。
・VRoidは結構ポリゴン数が多いです。複雑かつ、たくさんの髪の毛オブジェクトを使用しているとこの方法は最終的に好ましくない見た目(顔がつぶれたり)になる可能性があります。(なるべくVRoidの時点で少ないパーツで構成されることをおすすめします)
・VRChatは最近になってモデルのアップロードに制限ができたはずです。今からすぐに登録してアップロード作業はできません。
たしかフレンドを2人登録するか、24時間以上のプレイのどちらかを満たすとできたはずです。

 

そもそもポリゴン数を抑える方法ないのか!?って方に朗報です→https://mobile.twitter.com/m_sigepon/status/1026521737221922816

髪の毛に滑らかさを下げると大幅にポリゴンを削減できるみたいです!それでも2万超えてしまった!という場合はこの記事を参考に減らしてみてください。

 

崩れを避けるためにポリゴン数は2万ギリギリを攻めることをおすすめします・・・

 

この作業に必要なソフトウェアは以下の通りです。

・VRoid

vroid.pixiv.net

・Unity 2018.2.2f1(VRM→FBX用)と5.6.3p1(VRChatにアップロード用)

unity3d.com

Unityはインストール時に名前を変えるなどして両方のバージョンを使えるようにしてください。

最新版というよりFBX ExporterというAssetが使えるバージョンが必要です。

・Simplygon

simplygon.com

こちらのソフトのみ入手手順をご紹介します。

1.上記ページにアクセスすると「Get Simplygon」というボタンがあるのでクリック

2.無償版と有償版が選択できるので無償版を選択

3.するとSDK Downloadsというページに遷移しますが、画面左のメニューから「License」を選択します

4.MicroSoftアカウントの情報を入力するよう言われるのでします、するとMy Portalという画面に遷移するので画面右端にあるライセンス発行ボタンを押下し、ライセンスナンバーを得ます。

5.コピーしたライセンスナンバーを画面左のメニューのDownloadsの画面に表示されているテキストボックスにペーストしてSubmitを押します。

6.SDK「SimplygonSDK~」となっているファイルがDLできるのでします。

7.インストールは適当に・・・

画像なしですいません・・・1から画面を撮るのが大変なため文章のみです・・・どこかに参考になるサイト様があれば教えていただきたいです!!→あったぞ!

インストール手順は同じでいけますが、DLの対象、Unity上での作業からの手順は今回とは違うので読み替えて行ってください!

このSimplygonのUnityPackageは2018年現在存在しないみたいなんですよね・・・なので別のソフトとして起動して同じことをしているということなんです。

matatabi-ux.hateblo.jp

 

次に必要なSDKです。

・UniVRM-0.40.unitypackage

 (UnityにVRM形式ファイルを読み込むためのもの)

最新バージョンを使用するとFBXexporterで失敗するという報告があります!

0.40を使用するようにしてください!

0.41のアップデート内容にボーンのnullチェックが強化されたとある→univrmでnullの箇所はボーンが設定されなくなった?→FBXexporterで引っかかる?という感じかなと思っています。

元々vroidには後述のupperchestがないのですが、univrmを噛ませる際に無理やり設定されていたため使わないように設定する必要がありました。

もしかしたらupperchestがちゃんと設定されなくなったおかげでそういう事象が発生しているのかもしれません。憶測ですが。

github.com

上記ページにアクセスし、「UniVRM-0.40.unitypackage」をDLして適当な所に配置してください。

・VRCSDK-2018.06.21.13.02_Public.unitypackage

 (VRChatにモデルをアップロードするためのもの)

このSDKはVRChatにユーザ登録すると、ブラウザのユーザHomeページでDLできます。(CONTENT CREATIONのあたり)

f:id:p894c9dfd7753rE05SE265:20180805144229p:plain

まじでフレンドいないじゃんって思っただろ

(このあとプレイしてフレンド3人できました嬉)

・Cubed's Unity Shaders(これはVRChatと親和性の高いShaderなので使いたいひとは)

github.com

使い方はこちら

vrchatjp.playing.wiki

 

ここまで用意が出来たらようやく作業開始です!

まずは最新版のUnityでプロジェクトを作成します。

f:id:p894c9dfd7753rE05SE265:20180805144854p:plainプロジェクトが作成出来たらUniVRM~のunitypackageをダブルクリックしてUnityにImportしてください。

Importが終わるとVRM形式のモデルがUnityで読み込めるようになります。

VRoidで作ったモデルデータをD&DでUnityに渡すと読み込み始めます・・・。

途中なんかTextureが~みたいなメッセージが出た場合はFix NowでOKです。

f:id:p894c9dfd7753rE05SE265:20180805145217p:plain

ここまでの作業が終わるとこんな感じになるはずです。

 

次はFBX形式にします。

f:id:p894c9dfd7753rE05SE265:20180808081148j:image

メニューからWindow→Asset Storeを押下し、「FBX Exporter」を検索し、無料でインポートします。(要Unityアカウントログイン)

先ほど同様インポートして少し待つとFBX形式で吐き出せるようになります。

モデルデータをHierarchyに追加して右クリックからExport To FBXを選択

f:id:p894c9dfd7753rE05SE265:20180805145646p:plain

特に変更せずExportを実施するとAssetにFBX形式のモデルが追加されます。

元のVRMと同じ個所に吐かれていればOKです。

f:id:p894c9dfd7753rE05SE265:20180805145807p:plain

最新版Unityの出番は終了です。

一旦Unityは閉じます!!

続いてポリゴンの削減作業をします。スタートメニューなどからSimplygonUIを起動してください。

f:id:p894c9dfd7753rE05SE265:20180805145941p:plain

こんなが面が出るのでLocalのStart選択。

左上のFile→Import→Sceneから先ほどのFBX形式のモデルを読み込みます。

選択して出てくる画面の設定は特に変えずにImportを押下。

f:id:p894c9dfd7753rE05SE265:20180805150142p:plain

成功するとこんな感じです。左上のTrianglesが2万切るようにしていきます。

f:id:p894c9dfd7753rE05SE265:20180805150241p:plain

右のメニューのREDUCTIONの「%」を2万切るような値に設定し、右下の黄色い物体をクリックすると変換が始まります。

この時左の変換ステータスが「Queud」で止まってしまった場合は再度SimplygonUIを立ち上げなおしてみてください。自分はPCの再起動なんかで直りました。(いまいち原因がわからない)

 

f:id:p894c9dfd7753rE05SE265:20180805151900p:plain

変換が終わると左下のステータスからDLとImportが可能になるので行います。

完了すると真っ白(問題ないです)なモデルが表示され、Trianglesが2万切っていることを確認します。画面スクロールを念のため一番下の青い箇所まで下げないと変換後のモデルが見られないことに注意してください。

そうしましたら、File→Export→Sceneを選択し、形式をFBXに選択した上で適当な場所に保存してください。

このとき保存先に指定した名前のフォルダ+LOD1という名前のフォルダが出来るまでSimplygonUIを閉じないでください。(閉じるときは保存とかしなくていいです。)

 

さぁ後はShaderとHumanoidの設定をしてアップロードです!!もう少しです・・・

 

Unityですが、今度は5.6.3p1の方を起動して適当にプロジェクトを作成してください。

f:id:p894c9dfd7753rE05SE265:20180805152607p:plain

プロジェクトが作成できたら先ほどの要領でUniVRM、VRCSDKをImportしてください。先にVRM形式のモデルを読み込みます。(先ほど作成したFBX形式にはテクスチャがないためVRMをImportすることで用意でき、代用できます)

その後FBX形式をD&Dで読み込み、Hierarchyに追加すると目元が黒いモデルが読み込まれます。(この後直します)

f:id:p894c9dfd7753rE05SE265:20180805153152p:plain

ここまで終わるとこんな感じです。

 

続いて描くMaterialsのShaderの設定を行います。

f:id:p894c9dfd7753rE05SE265:20180805153316p:plain

 CudedsShadersがおすすめなのでこれも同様にDLし、Importしましょう。

f:id:p894c9dfd7753rE05SE265:20180805153625p:plain

ImportできたらAssetsの方のFBX形式モデルの矢印を展開し、素体っぽいのを選択し、Inspectorを開いて先ほどのShaderをすべてに適用していきます。おすすめは「Flat Lit Toon」です。

f:id:p894c9dfd7753rE05SE265:20180805153855p:plain

黒くなってしまっているMaterialはRendering ModeからTransparentなどを選択すると表示に問題がなくなります。

 

次はVRChat向けの設定です。

FBX形式のモデルを選択し、InspectorからRig→Animation TypeをHumanoidに設定し、Configureを押下します。(この時なんか出たらApplyでOK)

f:id:p894c9dfd7753rE05SE265:20180805154133p:plain

するとBone設定の画面になるのでBodyのUpperChestをNoneに、代わりにChestに「J_Bip_C_UpperChest」を設定してください。

f:id:p894c9dfd7753rE05SE265:20180805154206p:plain

f:id:p894c9dfd7753rE05SE265:20180805154329p:plain

これでApply→Doneをして元画面に戻ります。

 

Hierarchyにあるモデルを選択し、Add ComponentからScripts→VRCSDK2→VRC Avatar Descriptorを選択します。

f:id:p894c9dfd7753rE05SE265:20180805154415p:plain

この辺のことはVRChatの日本Wikiにも載っているので、ViewPointや性別の設定をFemaleに変えるなどを行い、アップロードを行ってください。

f:id:p894c9dfd7753rE05SE265:20180805154729p:plain

根暗ちゃんはこんな感じ設定しました。

 

あとはメニューのVRChatSDK→Settingからログインを行い、その後VRChatSDK→Show Build Control PanelからBuild&Publishでアップロード!

途中処理が止まって停止ボタンが有効になった場合は解除しようとすれば進みます(いいのか?)

f:id:p894c9dfd7753rE05SE265:20180805154955p:plain

この状態になったら「||」みたいなのをクリック

f:id:p894c9dfd7753rE05SE265:20180805155039p:plain

諸情報を入力して規約に同意でUpload押したら終わるまで待ちます。

 

f:id:p894c9dfd7753rE05SE265:20180805155407p:plain

 

いざVRChatへ・・・

f:id:p894c9dfd7753rE05SE265:20180805155655j:plain

鏡のあるお部屋に行きアップロードしたものを選択すれば・・・

f:id:p894c9dfd7753rE05SE265:20180805155738j:plain

バ美肉完了!!!

 

もしVRChatに行くと目が真っ白とか顔廻りの表示がおかしくなった場合はMaterialのRendering ModeをTransparentからCutOutにするなど、色々試してみてください。

 

あと、VRChatに来たらワールド検索で1619を検索して出てくるワールドに行けば会話を楽しむ日本の方がいますので、初心者やフレンドが欲しい方なんかはそちらを訪れてみてはいかがでしょうか。

 

お疲れ様でした。VR機器欲しい。(デスクトップモード民)