お布団宇宙ねこ

にゃーん

VRoidの3DモデルでVRChatの世界に入ったよ

先日ようやくVRChatのアップロード制限が解除されたので、今回は前回の記事で作ったVRoidの3Dモデルを使ってVRChatの世界に入ろうと思います。

こちらの記事を参考にさせていただきました。ありがとうございました。
VRoidで作成したモデルをVRChatの世界に送り出す方法 - あたまのたいそう

下準備

事前に用意するものがいくつかあるので、まずは下準備からです。
順番に説明していきます。

  • 3Dモデルのポリゴン数を2万以内に収める
  • VRoidから作成した3DモデルをVRM形式でエクスポートする
  • 必要なソフトウェアやファイルを揃える

3Dモデルのポリゴン数を2万以内に収める

VRChatに持ち込める3Dモデルはポリゴン数が2万までと制限されているため、この閾値を超えないように3Dモデルを作っておく必要があります。VRoidでは意識せずにアバターを作っていると軽く閾値を超えてしまうため注意が必要です。

ポリゴン数を削減する方法については前回の記事で紹介しているのでここでは触れません。

また、Simplygonを利用してポリゴン数を削減できるようですが、自分の場合はこの方法ではうまくいかなかったのでやめました。(テクスチャが参照できないみたいなエラーが発生してしまった)

VRoidから作成した3DモデルをVRM形式でエクスポートする

ポリゴン数が閾値以下で収まったら、VRM形式でエクスポートしましょう。

VRoidの上部タブの [撮影・エクスポート] から左メニューの [エクスポート] を選択、エクスポートに必要なアバターの情報を入力して [エクスポート] を押下するだけです。

必要なソフトウェアやパッケージを揃える

最後の下準備として、今後の作業に必要なソフトウェアとパッケージを用意しましょう。必要なものは以下です。

Unityはダウンロード後にインストールまで行ってください。複数バージョンインストールするのでインストールするディレクトリをそれぞれ区別できるように変更してください。

https://docs.unity3d.com/jp/460/Manual/InstallingMultipleVersionsofUnity.html

Unity Packageはこの時点ではダウンロードのみでOKです。

Unityで2バージョン必要なのは、前者の 2.3f1 をVRM形式をFBX形式にコンバートするために利用し、後者の 5.6.3p1 をVRChatへアップロードするために利用するからです。

VRCSDKはVRChatにログインして、CONTENT CREATIONの [DOWNLOAD SDK] からダウンロードできます。

CubedsShadersはシェーダーなので必要のない人はスキップしてください。

以上で下準備は完了です。


やること

ここからようやく作業に入ります。やることは以下です。

  • VRM形式の3DモデルをFBX形式にコンバートする
  • VRChat用に3Dモデルを整える
  • VRChatにアップロードする

VRM形式の3DモデルをFBX形式にコンバートする

Unity 2.3f1を起動してプロジェクトを新規作成します。

作成できたらVRM形式のファイルを読み込めるようにするためにUniVRMをインポートします。

[Assets] -> [Import Package] -> [Custom Package] から、UniVRM-0.40.unitypackageを選択してください。

パッケージのインポートが終わったらVRMファイルを下の画像の枠線内にドラック&ドロップで渡すと読み込んでくれます。

f:id:ku00:20180816235634p:plain

読み込みが完了するとprefabファイルとそれに付属するテクスチャなどのディレクトリがプロジェクトのAssetsディレクトリ以下に作成されます。


次に読み込んだVRMファイルをFBX形式にコンバートします。

コンバートにはFBX ExporterというAsset Packageを利用します。
FBX ExporterはAsset Store経由でインポートすることができます。

真ん中の画面の上部タブから [Asset Store] を押下し、そこからストアにアクセスできます。

f:id:ku00:20180816235638p:plain

パッケージのインポートが完了したら、先ほど読み込んだVRMファイル、正確には.prefabという拡張子が付いているファイルを左側のHierarchyにドラック&ドロップします。

f:id:ku00:20180816235641p:plain

それができたら右クリックメニューから [Export To FBX] を選択します。

Export Optionsはデフォルトのままで [Export] を押下します。

エクスポートが完了するとAssetsディレクトリ以下に.fbxのファイルが作成されているはずです。

Unity 2.3f1の役目はここで終わりなので終了してください。

VRChat用に3Dモデルを整える

ここからはUnity 5.6.3p1を使います。

別バージョンのUnityなので、プロジェクトは先ほどのを使いまわすのではなく新規作成してください。

作成できたらコンバートのときと同じ要領で以下のパッケージをインポートします。

  • UniVRM
  • VRCSDK
  • CubedsShaders

インポートが完了したらVRMファイルとFBXファイルの順番でAssetsにドラック&ドロップします。なぜコンバートしたのにVRMファイルも一緒に読み込むのかというと、FBXファイルにはテクスチャの情報が付属しないためVRMのものを参照する必要があるからです。

その後、FBXファイルを左側の Hierarchy にドラック&ドロップすることで3Dモデルを整える準備が完了します。


まずHierarchyに追加したFBXの階層からUMARendererを選択します。

f:id:ku00:20180817012352p:plain

選択すると右側の [Inspector] にマテリアルの情報が出るので、ここから各マテリアルのシェーダーを CubedsShaders のに変更します。CubedsShaders にも種類があり自分は Flat Lit Toon にしました。

f:id:ku00:20180817012402p:plain

FBXファイルをインポートした時点ではマテリアルの一部が意図せず黒くなって表示されることがありますが、これは Rendering Mode を [Transparent] などに変更すると直ります。

f:id:ku00:20180817012417p:plain

なんかパンダみたいになる..

f:id:ku00:20180817012409p:plain

直った!

f:id:ku00:20180817012652p:plain


次はボーンの設定です。

Assets内のFBXファイルを選択し、右側の [Inspector] -> [Rig] の Animation Type を [Humanoid] に変更し、 [Apply] を押下します。

f:id:ku00:20180817022453p:plain

先ほどと同じく右側の [Inspector] -> [Rig] の Avatar Definition の [Configure] を押下します。

ボーン設定に遷移するので、Bodyを以下のように変更します。

  • Chest: [J_Bip_C_UpperChest]
  • UpperChest: [None]

f:id:ku00:20180817022506p:plain

変更したら [Apply] 、[Done] の順で押下したら完了です。 これでモデルデータが人型(Humanoid)として認識されます。


左側のHierarchyのモデルの [Inspector] から [Add Component] を押下して [Scripts] -> [VRCSDK2] -> [VRC Avatar Descriptor] を選択します。

[Inspector] に VRC_Avatar Descriptor が追加されるので、まずは Default Animation Set を [Famale] に変更します。

次に View Position を変更します。これはアバターを使用したときの利用者の目線を表しています。[Scene] の画面にグレー色の球体がデフォルトだとモデルの真上くらいに表示されるので、これを目と目の間にめり込むくらいの位置に調整します。

f:id:ku00:20180817022519p:plain

参考までに自分の設定はこちらになります。

f:id:ku00:20180817022533p:plain

VRC_Avatar Descriptorの詳細な設定についてはVRChat 日本wikiにも書かれているのでそちらも参考までに。

ここまでくればあとはVRChatにアップロードするだけです。

VRChatにアップロードする

まず先に上部メニューの [VRChatSDK] -> [Settings] からVRChatにログインします。

次に [VRChatSDK] -> [Show Build Control Panel] から [Build & Publish] を押下します。

処理が完了すると真ん中の画面にVRChatのアップロード画面が表示されるので、各項目を入力してから[Upload]ボタンを押下すれば完了です。

f:id:ku00:20180817024324p:plain

あとはVRChatを起動して設定画面の [AVATAR] にアップロードしたアバターが表示されていればOKです。

お疲れさまでした。

(目のハイライトが消えてしまったのであとで直す..)