VRChatにアバターをアップロードする方法

VRChatで自分で作ったオリジナルのモデルをアップロードする方法を備忘録的にメモしておきます。 今回はVRoidStudioで作ったVRM形式の自作のモデルをVRChatにアップロードしていきます。
目次
- VRChatにアバターをアップロードする方法
必要なもの
- VRChatのTrust rank(信用ランク)が「New User」以上のアカウント
- VRMモデル
- Unity2018
- VRCSDK2
- VRM Converter for VRChat
- uniVRM
VRChatのTrust rank(信用ランク)が「New User」以上のアカウント
VRChatに自作アバターをアップロードするには「New User」以上のVRChatのアカウントが必要です。 また、VRChatはSteamのアカウントでもプレイできますが、アバターのアップロードにはVRChatのアカウントが必要なので、VRChatのアカウントを使ってください。
Trust rank(信用ランク)の確認方法
VRChatを開いて、「Social」の画面を開いてください。

「In Room」のところに自身のアカウントが表示されているのでそれをクリックします。

Trust Level の欄が自分の信用ランクになります。 ここの値が信用ランクになります。
信用ランクには下記の5つがあります。
- Visitor
- New User
- User
- Known User
- Trusted User
はじめはVisitorから始まり、 遊んだり、フレンドを増やすことで、New User => User など段々と信用度が上がっていきます。
アバターをアップロードに必要になるのは「New User」以上ですので、まだVisitorの方はNew Userになることを目指す必要があります。
信用ランクの上げ方
Trust Level はどうやって上げれば良いでしょうか? 実はこれは公開されていないようなのですが、下記の要素が関係あるのではないかと思います。
- フレンド数
- 回ったワールド数
- プレイ時間
参考に自分がNew Userになったときのことを参考に記載しておきます。
- フレンド数:
- New User: 3人
- User: 1人
- Known User: 1人
- 回ったワールド数
- 8くらい?
- プレイ時間
- 8時間ほど
なんとなくですが、すでにNew User以上のフレンドを増やして、ある程度遊んでいればVisitorから卒業できるように思えました。
VRMモデルの用意
VRMモデルは今回はVRoidStudioからエクスポートしたものを使います。 VRChatではアップロードできるモデルのポリゴン数に制限があるので、意識する必要があります。
上限は70000ポリゴンのようですが、Oculus Quest対応のモデルでは7500ポリゴンまでの制限があります。 PC版でも、設定によっては、重いモデルは表示しない設定などもできるので、基本的にはアバターはポリゴン数などはできるだけ減らして軽いモデルをアップロードするほうが良いかと思います。
もしくは、ポリゴン少なめのモデルと、ポリゴンが多いモデル両方作っておいてVRChatにあげておいて使い分けるという方法も良いかと思います。
VRoidStudioでエクスポート
VRoidStudioの最新版(バージョン0.9.5)ではエクスポート時に、ポリゴン数の削減を行う機能があります。

見た目に影響があまりない範囲で、ポリゴン数とマテリアル数を減らしてエクスポートしましょう。 エクスポートしたファイルは任意のフォルダに保存しておいてください。
Unityの準備
Unity Hubの導入とUnityのインストール
Unity Hubのインストール
今回はUnityを導入するのにUnity Hubを使います。 Unity Hub はUnityのプロジェクトや、Unityの各バージョン毎管理ができるツールです。
Download - Unity 今回はUnity Hub を使ってダウンロードします。 上記のページからUnity Hub をダウンロードしてインストールしてください。
Unity 2018のインストール
VRChatのアバターを上げるためにはUnity2018を使います。
VRChatのSDKに対応したバージョンのUnityを入れる必要があります。 2020/06/08時点では対応バージョンはunity 2018.4.20f1になっています。 変わっている可能性もあるので、公式サイトから確認して指定のバージョンを入れてください Current Unity Version
下記のリンクをクリックしてunity 2018.4.20f1をインストールしてください。 unityhub://2018.4.20f1/008688490035
unityhubがインストールされていれば、リンクをクリックすると自動的にUnity Hubが立ち上がります。 そのままインストールをクリックしてください。

必要なパッケージのダウンロード
VRChatにあばたーをアップロードするために必要な下記のUnityパッケージをダウンロードして準備しておきます。
- uniVRM
- VRChatSDK2
- VRM Converter for VRChat
uniVRMのダウンロード
uniVRMは下記からダウンロードできます。 Releases · vrm-c/UniVRM

最新版はv0.55.0です(2020/06/08時点) 「UniVRM-0.55.0_ce1c.unitypackage」をクリックしてダウンロードして任意のフォルダに置いておいてください。
VRChat SDK2のダウンロード
VRCHAT SDK 2 は下記からダウンロードできます。(VRChatアカウントでログインが必要) VRChat - Home
アバターをアップロードするときは VRCHAT SDK 2 の方を選択してください。 VRCHAT SDK 3 というのもありますが現時点ではアバターのアップロードには対応していません。(2020/06/08時点)

ダウンロードしたunity packageは任意のフォルダに保存しておいてください。
VRM Converter for VRChat のダウンロード
VRM Converter for VRChatは下記サイトからダウンロードできます。
【¥0】 VRM Converter for VRChat - ぽけもり BOOTH支部 - BOOTH
v21.0.0 をダウンロードしてください。
ダウンロードしたファイルはzip形式ですので、展開して任意のフォルダに保存しておいてください。
Unityを使ってVRChatアバターをアップロードする
必要なファイルは揃ったので、次はUnityを使ってVRChatにアバターをアップロードしていきます。
Unityプロジェクトの作成


Unity パッケージのインポート
VRChat SDK 2 のUnityパッケージのインポート
まず先に VRChat SDK 2 をインポートします。 パッケージのインポートはAssets以下にドラッグすればOKです。 「VRCSDK2-2020.05.12.10.37_Public.unitypackage」をUnityのAssetsフォルダ内にドラッグしてください。

次のような画面が出てきますが、そのまま import をクリックすればインポートできます。

UniVRM のUnityパッケージのインポート
同じ要領で「UniVRM-0.55.0_ce1c.unitypackage」をAssetsフォルダ内にドラッグしてインポートしてください。
VRM Converter for VRChat のUnityパッケージのインポート
こちらも同じ要領でインポートします。 「VRM Converter for VRChat-21.0.0.unitypackage」をAssetsフォルダ内にドラッグしてインポートしてください。
インポート後の構成
Assets内にインポートされてディレクトリが作成されていることを確認してください。 3つのunitypackageをインポートすると下図のような構成になります。

VRMのインポート
次にVRMファイルをインポートします。 こちらも同様に、VRMファイルをAssets内にドラッグしてください。 ドラッグアンドドロップすると、自動的に変換が行われます。

VRChat用に変換
VRChat用に変換を行っていきます。 作成されたprefabを選択した状態で、 メニューから 「VRM」 => 「Duplicate and Convert for VRChat」をクリックします。

下図の画面が出てきますが、そのまま「複製して置換」をクリックします。

VRoidのモデルの場合なで肩になりすぎる場合があるので、変換時に「肩の高さ」のパラメータを若干大きくしておくと自然になるかもしれません。 ここは各自で調整してください。
これでVRChatにアップロードするモデルの作成は完了です。
VRChatへアップロード
VRChat SDKにログイン
メニューの「VRChat SDK」 => 「Show Control Panel」をクリックします

アカウント入力画面が出てくるので、UsernameとPasswordを入力してSign In してください。 ここで入力するアカウントはVRChatのアカウントになります。

モデルをアップロードする
VRCHAT SDKの画面で、「Builder」タブに移動します。

このまま 「Build & Publish for Windows」をクリックします。 ここでUnityが操作を受け付けなくなって止まったような動作になるかもしれませんが、処理中なのでしばらく待機します。 スペックが低いPCとかですと5分以上かかったりするので、十分な時間待ってください。
処理が終わるとUnityのGameウィンドウに次のような画面が表示されます。

Avatar Name入れ、 SharingのPrivateにチェックが付いていることを確認します。
The above information is accurate and I have the rights to upload this content to VRChat.
上記の確認をチェックするとUploadボタンが押せるようになります。 問題なければ「Upload」をクリックしてアップロードしてください
Error updating content. Unity package upload failed.Failed to optimize file fo upload.
もし上記のようなエラーが出てアップロードができない場合は、 VRChat SDKのSettingタブ内にある 「Publish」=> 「Future Proof Publish」のチェックを外して見てください

次のようなメッセージが出ればアップロードは成功です。

VRChatで確認
VRChatに入ってAvatarの画面を開きます。
My Creationsのところに自分がアップロードしたアバターがあることを確認してください。 アバターを選択して、Changeすれば実際にAvatarを使えるようになります。
