VRoid Studioで作った3Dモデルをゲーム用に最適化する方法

VRoidをゲーム用に最適化しよう ゲーム開発

今回はVRoid Studioで作ったキャラクターをゲームに使う場合のテクニックに関する話題で、タイトルの通り

をご紹介するという内容になっております。

VRoid Studioはかわいい女の子の3Dモデルをとても簡単に作れるフリーソフトです。作成したモデルは商用利用することができ、例えばアバターとして使ったり、スクリーンショットを撮って画像生成AIの元画像に使ったりするなど様々な用途に活用することができます。

そしてもちろんゲーム開発にも使えるので私はかなり使い倒しているのですが、私が知っている範囲ではまだゲームに使っている方はそれほど多くない印象です。やはりゲーム用途となると描画負荷が気になりますよね。

そこでここではVRoid Studioで作った3Dモデルをゲーム用に最適化する方法について詳しく書いてみます。

VRoidはデフォルトの状態でもゲームに使えるけど…

まずはじめに、VRoid Studioで作った3Dモデルはデフォルトの状態でも十分ゲームに使うことができます。ただし最適化されていない状態では

  • ポリゴン数が多め(作ったモデルにもよるが3万~4万ポリゴン以上)
  • マテリアル数が多い
  • テクスチャの解像度が高い

というような感じになっており描画負荷が高いです。したがって

  • キャラクターをたくさん出したい
  • 低スペックのPC・モバイル端末用のゲームに使いたい

といった場合はそのままでは少々厳しいと思います。

このような場合は後述する方法で3Dモデルの最適化を行いましょう。VRoid Studioには標準で3Dモデルの最適化機能がついているので、UnityなどのゲームエンジンやBlenderなどの3DCGソフトに取り込む前に簡単に最適化を行うことができます。

VRoid Studio内でポリゴン数やマテリアル数を最適化しよう

ではここからVRoid Studioでポリゴン数やマテリアル数などを最適化する方法をご紹介します。

最適化は「VRMエクスポート」画面で行えます。右側のメニューに最適化の項目が表示されています。

VRMエクスポート画面

最適化の項目は次の3種類です。

  • ポリゴンの削減
  • マテリアルの削減
  • ボーンの削減

それぞれ詳しく見ていきましょう。

ポリゴンの削減

まずはポリゴン数の削減です。当然ですがポリゴンが少ない方が描画処理が高速になります。あくまでも目安ですがゲーム用ならだいたい3万ポリゴン以下に収めたいところです。

ポリゴン数削減設定

VRoid Studioで使用できるポリゴン削減機能は次のとおり。

  • 髪の毛の断面形状の変更
  • 透明なメッシュの削除
  • 部位ごとのポリゴン削減量の調整

髪の毛の断面形状の変更

この項目にチェックを入れると、髪の毛の断面形状がポリゴン数が少ないものに変わります。変更すると髪の見た目が少し平べったい感じになってしまいますが、ポリゴンを大幅に削減できる(↑のキャラクターの場合は一気に6000ポリゴンくらい削減)のでゲーム用ならチェックを入れておきたいですね。

透明メッシュの削除

この項目にチェックを入れると、テクスチャが乗っていない透明な部分のメッシュを削除できます。デフォルトでチェックがONになっているのでそのままでOK。透明なメッシュを描画しても無駄なのでチェックを入れておきましょう。

部位ごとのポリゴン削減量の調整

髪や顔・体など部位ごとにどれだけポリゴンを削減するかをスライダーで微調整できます。

ただしここで削減してもポリゴンの削減量はそこまで多くなりませんし、削減の度合いを大きくしすぎると3Dモデルがガタガタになってしまうというデメリットがあります。そのため削減量はせいぜい「20」くらいが限度だと思います。

マテリアルの削減

お次はマテリアル数の削減です。VRoidはそのままだとパーツごとに細かくマテリアルが分かれていると思うのですが、それを結合してマテリアル数を減らすことで描画負荷を抑えることができます。

マテリアル数の削減設定

ここの項目を変更するとモデルの変換処理が走るためしばらく待たされることに注意してください。また、マテリアル数を変更した状態で他の最適化設定を弄るとそのたびにモデルの変換処理が行われてかなり鬱陶しいので、ここの項目は最後に変更するようにしましょう。

マテリアル数

まずマテリアル数のドロップダウンではマテリアルを最小で「2」まで減らすことができます。ゲーム用途なら最小値に設定したいところです。

ただし注意点としてマテリアル数を減らすとバラバラだったテクスチャを結合することになります。そのためそれまで解像度が高かったテクスチャを縮小して1つのテクスチャに収めることになり、結果としてテクスチャが粗くなる可能性があります。

テクスチャアトラス解像度

テクスチャアトラスとは「複数のテクスチャを1つのテクスチャとしてまとめたテクスチャ」のことです。ここではそのテクスチャアトラスの解像度を指定できます。

テクスチャアトラスの解像度が低いほどファイルサイズが小さくなり、メモリ使用量も減りますがその分テクスチャが粗くなります。PCゲーム用なら4096×4096でも大丈夫だと思いますが、もしモバイル向けゲームとかを作るなら解像度を十分落としておいた方が無難です。

ちなみにテクスチャの解像度はUnity等に取り込んだ後でも簡単に変更できますので、ここで無理に解像度を落とす必要はありません。迷ったら高解像度のままにしておきましょう。

ボーンの削減

最後にボーンの削減機能では3Dモデルのボーン(=可動する部分)を減らすことができます。執筆時点では髪のボーンしか削減できないようなので私はほとんど使っていませんが、「髪のボーンが多すぎるから減らしたい」といった場合には役に立つと思います。

おわりに

以上、VRoid Studio内でVRoidモデルをゲーム用に最適化する方法について解説しました。VRoid Studioはかわいい女の子の3Dモデルを手軽に作れて便利なので、ぜひ最適化方法をマスターしてゲーム開発にも活用して頂ければと思います。

ちなみに少し前の記事になってしまいますが、VRoid Studioで作った3DモデルをUnityで動かせるようにするまでの手順の解説記事もありますのでご興味があればそちらも併せてご覧ください。

この記事がゲーム開発のお役に立てば幸いです。