見出し画像

【2023.4】VRoidStudioで作った3DモデルをVRChatに持ち込むための覚え書き

はじめに

Vroid Studioで作ったアバターをVRChatに上げようとした時に、先駆者たちが書いてくれた記事は色々あるものの、古い情報も混ざっているし正直初心者には何がなんだかわからなかった。というわけで自分の覚え書きもかねて手順をまとめました。後続の参考になれば幸いです。

Vroid Studioで作った3DモデルをVRCに持ち込むために必要な工程をざっくりと並べると以下の通り。

①必要なソフトを準備する
→②VroidStudioからVRMファイルをエクスポート
→③VRMファイルをUnityに取り込む
→④UnityからVRCにアップする

※そもそもVRCの仕様として、始めたばかりのレベルのユーザー(Visitor)にはアップロード権が付与されていない。まずはトラストレベルをNew Userまで上げておくこと。

①必要なソフトを準備する

Vroid Studioで作成したデータをVRCにアップする上で必要になるソフトは以下の通り。

  • UnityHub

  • Unity

  • VRChat Creator Companion

  • VRM Converter for VRChat

◆Unity Hubをインストールする

Unity Hubは様々なバージョンが出るUnityを管理するためのツール。現在Unity はHubを経由してUnityをダウンロードする形式が推奨されている。

Unityの公式サイトから[Windows用ダウンロード]をクリック。ダウンロードしたUnityHubSetup.exeを展開して指示に沿っていけばOK。

◆Unityをインストールする

まずは現在VRCが対応しているUnityのバージョンを確認する。とりあえず最新バージョンを入れればOK、とはならないので注意。
VRChatのガイドから、現在サポートされているUnityバージョンを確認する。

赤枠の箇所が対応しているバージョン

2023年4月時点では 「Unity 2019.4.31f1が対応している」とあるので同じものを選択しよう。古くない?と思うが対応していないものは仕方ない。
バージョンの箇所はリンクになっているのでクリックして飛ぶとダウンロード選択画面になる。

Unityインストール画面

このバージョンをUnity Hubでインストールするという便利なボタンがあるので押す。「Unity Hubを開きますか?」と確認されたら[開く]を選択。

モジュールのチェックは全て外して[インストール]。
※もしモジュールが必要になった場合も後から追加できるのでひとまずは気にしないでOK。

モジュールはひとまず入れないで良い

Unityのインストールは以上。

◆VCCをインストールする

VRChat Creator Companion(VCC)とはUnityでVRCのコンテンツを作るために必要な開発者ツール、VRChat SDKを配布したりバージョンを管理したりしてくれるツール。かつてはVRCの公式サイトからSDKをインストールしていたが、今はこのVCCを経由してSDKのバージョンを管理できるようになっている。

まずはVCCをインストールしよう。VRCの公式サイトにアクセスする。ホーム画面の[Download]-[Download the Creator Companion]を選択。ダウンロードしたVRChat_CreatorCompanion_Setup.exeを開いて指示に沿ってインストールを進める。

VRC公式からダウンロードできる

ついでにVCC上でUnityの割り当てを行っておこう。
VCCを開いたら左下の[Settings]から、Unity Editorsを確認。
※指定ファイルが対応したバージョンのUnityになっていない場合はそのUnity.exeの場所を指定すること。

Unity Editorsの場所が適切か確認

VCCの準備は以上となる。

◆VRM Converter for VRChatをインストールする

VRMとは3Dモデルを扱うためのファイルフォーマット、らしい。現在は有志がUnityにVRMをさっくり導入するためのツールを公開してくれているのでありがたく使わせてもらおう。

ぽけもり BOOTH支部さんのVRM Converter for VRChatのページから、ダウンロードをクリック。.zipファイルを展開する。
インストールはこれで終了。展開したファイルに含まれている.unitypackageは後でUnityに放り込む。

②VRMファイルをエクスポートする

Vroid StudioからVRMファイルを取り出す。
画面左上のエクスポートボタンから[VRMエクスポート]をクリック。

アバターを軽量化するために色々削減項目が表示される。
あまり重いとunityの方でエラーが出ることもあるので、削減が反映されたアバターを確認しつつ許容できる範囲で削減してみよう。どうしても重すぎて削り切れない場合はblenderと和解する必要があるかもしれない。

・ポリゴンの削減
□髪の断面形状を変更:チェックを外す(デフォルトで外れている)
■透明メッシュを削除する:チェックを入れる
その他、髪などの削減度設定は上から30、15、0、5、5を目安に、妥協できる範囲で数字を大きくするほどモデルが軽くなる。

・マテリアルの削減
品質にこだわるのであればマテリアルは削減しない。
妥協できるのであればマテリアルを2に削減。
※テクスチャを指定した枚数まで集約する作業。数字は少ない方が軽い。

・ボーンの削減
触らなくても良い。

調整が完了したら一番下の[エクスポート]をクリック。
アバター情報を設定する画面が表示される。フォーマットはVRM0.0を選択。
※VRM1.0だと対応しないソフトがあるかもしれないので念のため。

許可範囲などを設定したら下にある[エクスポート]をクリック。VRMファイルのエクスポートが始まるのでしばらく待てばOK。VroidStudio上での作業は以上。

③VRMファイルをUnityに取り込む

◆Unityの作業ファイルを作成する

まずは作業用のファイルを作成しよう。
VCCの右上にある[Create New Project]をクリック。[Avatars]を選択し、Project Name(ファイル名)とProject Location(ファイルの保存場所)を指定する。ファイル名は後から変更できないので慎重に決めること。
[Create Project]をクリックするとプラグイン選択画面に移行する。

プラグインは後からでも追加できるので一旦はそのまま進めてOK。良ければ[Open Project]をクリック、Unityが開かれる。

ここで自動的にSDKが導入されていることがわかる

まっさらなUnityが開かれる。

Unityの画面と主要な部位の名称

◆VRM Converter for VRChatを導入する

一番最後にダウンロードしたVRM Converter for VRChatをUnityに取り込む。
VRM Converter for VRChat Installer.unitypackageをUnity画面下のProjectにドラッグ&ドロップする。

インポート画面

VRMをVRC用に変換するためのツール一式が表示されるので[Import]をクリック。インストール完了をしばらく待つ。

VRM0が追加されていれば成功

画面上部のメニューに[VRM0]が追加されていればOK。Package Managerの画面は閉じて良い。
※もしVRM0が表示されていない場合はUnityを再起動してみよう。

◆VRMデータを取り込む

上部メニューの[VRM]-[Import from VRM 0.x]をクリック。②でエクスポートしたVRMファイルを選択して開く。

VRMを取り込む

成功していれば[Project]のAssetsフォルダ内にVRMが追加されている。
※フォルダが大量にできるので気になる人はAssets内に収納用のフォルダを作ってドラッグ&ドロップで入れるのも有り。

Assets内に3Dモデルが追加されている

◆VRMアバターをVRC用に変換する

取り込んだVRMをクリックして選択した状態で上部メニューの[VRM0]-[Duplicate and Convert for VRChat]をクリック。
まずはそのまま[複製して変換]してみる。VRC用に変換された.prefabファイルを任意の場所に保存する。

「変換が完了しました。」と表示されたら[OK]。画面中央の[Scene]上に追加したい3Dモデルが増えていれば成功。
※画面左上の[Hierarchy]を確認し、先ほど作成した(VRChat)バージョンの3Dモデルの名前が無ければ[Project]からドラッグ&ドロップする。基本的には自動生成されているはずなのでこの工程はいらない。

◇Sceneの視点操作メモ

  • Hierarchyの3Dモデルをダブルクリック→モデルを中央にして全体を映す

  • マウスホイール→拡大縮小(粗い)

  • Alt+右クリック→拡大縮小(精密)

  • 右クリック→自分の位置を固定したまま視線を移動する

  • マウスホイール押し込み→自分の位置を移動させる

◆アバターの目線を調整する

VRCに持ち込んだ時に目線をいい感じにする調整を行う。
まずは調整しやすいので3Dモデルが0地点にいるか確認しておこう。3Dモデルを選択した状態で右側の窓[Inspector]を確認する。[Transform]-[Position]のXYZが全て0になっていればOK。

改めて目線を調整する。[Inspector]の[View]-[View Position]のZの値を変更し、XYZの値をいじって球が目と目の間に位置するようにする。

球が目と目の間に位置するように調整

今回使用したモデルの場合はX:0、Y:1.35、Z:0.08くらいになった。ここはモデルの体格次第なので各自で調整して欲しい。

◆目の動きを抑える設定をする

デフォルト設定のままVRCにアップロードすると、アバターの動きに合わせて目がキョロキョロと勝手に動いてしまう。これを防ぐための設定を行う。

[Inspector]-[VRC Avatar Descriptor (Script)]-[Eye Look]-[Rotation States]を開く。この中にあるXYZの値を全て0にして[Return]でOK。

※簡易化のために全て0にしてあるが、この辺りは設定次第で「近くに寄ってきた人を見る」といったことも可能になる。こだわる場合は微調整してみよう。

④VRCにアップロードする

◆SDKを使ってアップロードする

上部のメニューから[VRChat SDK]-[Show Control Panel]をクリック。

SDKを開く

ログイン画面が表示されたらVRCのIDとパスワードを入力して[Sign In]。

[Builder]タブを選択する。色々と警告文が表示されているが一旦無視して[Build & Publish for Windows]をクリック。
保存先を確認されるので任意の場所を選択して保存。

無視してビルドを開始

しばらくするとUnity上のGame画面にアップロード画面が表示される。
アバターの名前を入力し、利用規約にチェックを入れる。
準備ができたら[Upload]をクリックするとVRCへのアップロードが開始される。

完了画面

アップデートの終了を告げる画面が表示されればOK。

◆確認してみよう

VRCを起動してちゃんとアップロードされたか確認してみよう。
ログインできたら[Esc]-[Avatars]-[Upload]をクリック。アップロードしたアバターを選択して[Change Into Avatar]。

※何かを修正して再アップロードする場合、既に着ているアバターは自動更新されないので一度別のアバターに着替えてから再度着直してみよう。

それでは良いVRCライフを!

この記事を書く上で大変お世話になりました。
【3DCG】VRMファイルをVRChatにアップロードする方法【VRoid/自作アバター】 しぐにゃもブログ様


この記事が気に入ったらサポートをしてみませんか?