【Unity】VRoid Studioで作ったキャラクターをUnityで動かす方法

ゲーム開発

Unityで3Dゲームを作っているとアニメ風のキャラ(特に女の子)の3Dモデルが欲しくなります。しかしアセットストアを探してもアニメ風のキャラは少なく、あってもクオリティの高いものは高額なので気軽に導入できないという状況です。

そこで私が目を付けたのが、Pixivが開発している3Dキャラクターモデリングソフト「VRoid Studio」です。このソフトはなんと完全無料で使えて、作ったモデルもかなり自由に使えるのでとても便利だなと思いました。

そして調べてみるとVRoid Studioで作ったモデルは比較的簡単にUnityにインポートできるとのことだったので、「3Dモデルのエクスポート~Unityで動かすまで」を実際に試してみました。

【この記事で使っているソフトのバージョン】

  • Unity:2021.2
  • VRoid Studio:1.2.0

 VRoid Studioで作ったキャラをUnityで動かすまでの手順

では早速ですが、VRoid Studioで作ったキャラをUnityで動かすまでの主な手順は次の通りです。

  1. VRoid Studioで作ったキャラをエクスポートする
  2. 必要なアセットをUnityのプロジェクトにインポートする
  3. 必要な設定を行う

実際に動かした様子は次のGIFのとおり。

VRoidをUnityで動かした例

(画像クリックでGIF再生)

以下、それぞれの手順を詳しく見ていきましょう。

手順1:VRoid Studioで作ったキャラをエクスポートする

まずはVRoid Studioで作ったキャラクターをVRM形式でエクスポートします。画面右上のアップロードアイコンをクリックして「VRMエクスポート」を選択し(下図)…

VRMエクスポート(1)

「エクスポート」ボタンをクリックして、適当なフォルダにファイルを保存しましょう。

VRMエクスポート(2)

手順2:必要なアセットをUnityプロジェクトにインポートする

次に任意のUnityプロジェクトに以下のアセットをインポートします。

  1. UniVRM
  2. VRoid Studioで作ったキャラクターのVRMファイル
  3. Starter Assets – Third Person Character Controller

UniVRM

まずはUnityでVRM形式の3Dモデルを扱うために「UniVRM」というアセットを下記サイトからダウンロードしてインポートします。

Releases · vrm-c/UniVRM
UniVRM is a gltf-based VRM format implementation for Unity. English is here . 日本語 はこちら - vrm-c/UniVRM

バージョンがいくつかありますが、基本的には一番新しいものを選んでください。

VRoid Studioで作ったキャラクターのVRMファイル

次に、先ほどエクスポートしたVRMファイルをプロジェクト内「Assets」以下の任意のフォルダにインポートします。インポートにはしばらく時間がかかる場合があるので気長に待ちましょう。

おまけ:URPやHDRPでモデルがピンク色になってしまう場合の対処法

なお用意したUnityのプロジェクトがURPHDRPの場合はインポートしたモデルがピンク色になってしまいます。これは(執筆時点では)インポートしたVRoidモデルにデフォルトで設定されている「MToon」というシェーダーがURPやHDRPに対応していないためです。

そこで代わりにBOOTHで「lilToon」という見栄えの良い万能トゥーンシェーダーが無料配布されているので、ありがたく活用させていただきましょう。

【無料】lilToon - lilLab - BOOTH
アバターを用いたサービス(VRChat等)向けに開発したシェーダーで以下のような特徴があります。 ● 簡単(プリセットからワンクリック設定&自作プリセットの保存、色調補正機能による色替え&テクスチャ書き出し) ● 美麗(白飛び防止、水中など...

lilToonをインポートしたら、キャラクターに使用されているマテリアルをすべてlilToonに置き換えてください。ただし、まつ毛と眉毛はそのままでは変な表示になるので、「描画モード」を「カットアウト」に設定してください(その他、瞳などがうまく表示されない場合も設定を調整しましょう)。

ちなみにlilToonの詳しい使い方を以下の記事で説明しているので、興味がある方は併せてご覧いただければと思います。

【Unity】最強の無料トゥーンシェーダー「lilToon」の使い方
Unityで3Dゲームを作っていると、アニメ風の表現ができるトゥーンシェーダーが欲しくなってきますよね。ただアセットストアで探すと高品質なトゥーンシェーダーは高価なので「そんなに高いのは買えないよ…」という方も多いのではないでしょうか。 そ...

Starter Assets – Third Person Character Controller

最後にアセットストアから三人称視点用のキャラクターコントローラーを入手してインポートします。無料のキャラクターコントローラーは色々ありますが、ここではUnity公式の無料アセットを使用することにします。

なおこのアセットをインポートすると動作に必要な公式パッケージ(Input SystemとCinemachine)も一緒にインポートされます。

手順3:キャラクターを動かすために必要な設定を行う

これで下準備ができたので、いよいよキャラクターを動かすための設定を行います。まずはStarter Assetsのサンプルシーン(ThirdPersonController/Scenes)を開き、「PlayerArmature」オブジェクト(メカっぽいキャラクター)があることを確認してください。

そうしたらそのゲームオブジェクトのプレハブ化を解除し、子オブジェクトの

  • Geometry
  • Skeleton

削除します。次に、インポートしたVRMモデルのプレハブをPlayerArmatureオブジェクトにドラッグ&ドロップして、「Animator」コンポーネントの「アバター」を「VrmAvatar」に変更してください(下図)。

アバターの設定

お疲れさまでした。これでゲームを再生するとキャラクターが動くようになるはずです。

おわりに

以上、VRoid Studioで作った3DキャラクターをUnityで動かすための手順をご紹介しました。

VRoid Studioは最近正式版になってゲーム用に使いやすくなったので、今後Unityでのゲーム開発にもかなり役立つと思います。ぜひ今回の内容を参考にしていただき、かわいいキャラクターを自作ゲームに使えるようになって頂ければと思います。

この記事がゲーム開発の参考になれば幸いです。