VRoid Studioで作ったアバターをVRChatへ連れて行く

あまりやらない作業なので忘れてしまうことだからメモ。

細かい必要なはずのもの一覧

必要に応じて必要なもの(ほぼ必須だけど)一覧

  • MeshDeleterWithTexture(上のキセテネで服の位置を調整してもはみ出してしまうような体の部位をメッシュごと消し去って見た目を問題ないようにするもの)
  • Missing Remover(上のMeshDeleterで削除するとMissingエラーが発生することがあってそれを自動的にMissingエラーが発生しないようにしてくれるツール)

VRoid Studio

まずはアバターを作る。主に体と顔の造形を頑張る。ここで悩ましいのはVRoidの衣装のみでアバターを作るなら衣装も着せて保存。もしUnityで非対応の服を着せるなら下着のみ着せて保存。
Unityに読み込ませるために画面右上のエクスポートボタンからVRMエクスポートを選ぶ。

エクスポート画面が表示されたらマテリアル数を8に設定する。少ない方が軽くなるらしい。
もし下着だけならポリゴンの削減から衣装を100にしてもいいかもしれない。

最後にエクスポートボタンを押してVRMファイルとして保存する。

VCC(VRChat Creator Companion)(だけど実際はUnityの作業)

まずVCCが何かという話をすると本来はUnityにアドインを沢山つめこんでVRChatにアップロードしたりVRChatに必要な情報をアバターに追加する必要があるみたい。準備が大変だったらしいけど今はVRChat公式でそういう環境を用意したUnityを導入できるツールがこのVCC。

VCCにさらに機能を拡張する方法としては2種類あってManage Packagesからパッケージとしてインストールするものと、prefabという部品として塊になっているものをアバターと同じようにアセットに追加するものがある。必要に応じてどっちの導入方法かを選ぶのだけど、基本的にManage Packagesが前提になっていることが多いと思う。(Manage Packagesで追加するModular Avatarを使うGoGo Locoはprefab)

2022のAvatarプロジェクトを作成してManage Packagesのところで下記2点を追加。(右端川のプラスに○マークをクリック)。

  • VRM Converter for VRChat
  • Modular Avatar(メニューを作らないなら不要)

Open Projectをクリックしてプロジェクトを開いたらlilToonをD&D(ドラッグアンドドロップ)。

次にVRMをD&Dして、選択した後にVRM0からDuplicate and Convert for VRChatをクリック。肩の高さを0.02にして 複製して変換 をクリック。

変換が終了すると画面下部のアセット欄にアバターが2人出てくるけどファイル名に(VRChat)って入っている方がUnity用。これをヒエラルキーに持っていくとアバターが表示される。

次に好きなお洋服を追加してヒエラルキーに追加。キセテネを使って位置を調整する。腰回りと首の位置があうように拡大縮小を頑張って調整する。お腹周りに余裕がないとVRChatでお辞儀した時にお腹がはみ出たりしちゃう。結構大変。

何回かテストしてお腹がはみ出たり腕がはみ出る場合はMeshDeleterで該当部分を全部消してしまう手もある。これは外から肌が見えない衣装でないと使えない。半透明のドレスなどは透けて見えなくなってしまうので諦めるしかないのです。

程よく問題なくなったらヒエラルキーのBodyを選択してシェーダーをMToonからliltoonに変えていく。目とか服まわりはliltoonに設定すると余計な黒い部分が増えてしまう。半透明部分があると黒くなってしまうので選んだliltoonの下の設定で「カットアウト」を選択。肌はお好みでプリセットを選んでもいいかもしれない。

Quest3でフルトラエミュレーションをしているとそのままは動かないんだけどGoGo Locoを追加して座ったり横たわったりできるようにするためにGoGo Locoとそれ用のprefabを追加する。ゲーム中に座るポーズが動くようにするにはゲーム内で設定メニューを表示して設定のしたーの方にある[フルトラッキングを許可]をオフにするとGoGo Locoメニューで座ったり横たわったりできるようになります。GoGo Loco関係はprefab側の説明を見て追加した方がいいと思う。

今のところの大事なことはこんなところ。思いついたらまた別の機会に。

Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です