どうも音無サノトです(^^)
今日は『VRoid Studio』で作成したキャラをUnityに入れてみようと思います。
進捗報告
VRoid Studioで作成したオリジナルキャラをUnityで動かすことができました。
作業内容
VRoid Studioでキャラをエクスポート
前回まで制作していたキャラクターをエクスポートしようと思います。
まず、VRoid Studioを起動し、ツールバーにある「撮影・エクスポート」からエクスポートを選択します。
するとVRM設定のウィンドウが出ますので必要な情報を入れていきます。
自分はとりあえず「タイトル」・「作者」・「連絡先」のみ入力して、後はデフォルトのままでOKをクリックしました。
任意のフォルダに名前をつけたファイルをエクスポートします。
VRM形式という見慣れない拡張子だったので調べました。
株式会社ドワンゴさんが提唱している「プラットフォーム非依存の3Dアバターファイルフォーマット」だそうです(参考:「VRM」って何?どんなことができる? - VRM)
3Dモデルは制作したソフトなどで扱える拡張子とかがバラバラだとかは割とあって、これのせいでプラットフォーム間のデータのやり取りでファイルが壊れるなんてことも起きます。それを解決するために作った共通のファイル形式みたいです。
UnityでVRM形式を扱うための「UniVRM」のインポート
VRM形式のモデルをUnityで扱うためには公式で配布されいてるUniVRMのパッケージをインポートする必要があります(参考:UniVRMのインストール - VRM)
まずオープンソースで配布されているUniVRMをダウンロードします。
配布先(Releases · vrm-c/UniVRM · GitHub)にアクセス。
最新のUniVRMを選択します。
UniVRMのパッケージをダウンロードします。
ダウンロードしたらUnityを起動して、パッケージをインストールします。
ツールバーからAssets > Import Package > Custom Package を選択。
ダウンロードしたUniVRMのパッケージを選択します。
するとインポート画面がでますので右下のImportを選択します。
Assetsに以下のフォルダが生成されインポートできました。
なんかめちゃくちゃ警告でてきたけどスルーして大丈夫なのか…?
VRM形式のキャラをUnityにインポート
さて、UniVRMの準備はできたのでVRM形式のキャラをインポートしてみましょう。
Assets内に「Model」という名前のフォルダを作ってVRM形式のファイルをドラッグ&ドロップします。
するとUniVRMが自動でプレハブを作ってくれます。
そのプレハブをゲームシーンにドラッグ&ドロップ。
おおー、ちゃんと表示されました。
テクスチャが貼られていないとか問題起きるかなと思ったのですが大丈夫そうです。
オリジナルキャラを走らせる
ユニティちゃんというUnity用のモデルを走らせたときのプロジェクトをそのまま使用して、キャラクターをオリジナルキャラに変更してみようと思います。
ユニティちゃんを走らせたときの記事はこちらから。
今回はこの記事で書いたプロジェクトの続きからやります。
まずHierarchyウィンドウにあるユニティちゃんのモデルを非アクティブにします。
追加したオリジナルキャラに変更を加えていきます。
まずPositionの変更。
その次にAnimatorのControllerをUnityChanLocomotionsに変更します。
このアニメーターコントローラとはUnityに用意されているアニメーションの描画の遷移を保存しているデータです。
UnityChanLocomotionだとこの様に遷移があらわされています。
これでユニティちゃんと同じアニメーションを再生させるというわけです。
次にRigidbodyを追加します。
オリジナルキャラのInspectorウィンドウの下にあるAdd ComponetからPhysics > Rigidbodyを選択します。
Rigidbodyを以下のように変更。
質量とローカル座標の回転固定をします。
固定しないとモデルがくるくると明後日の方向に回ります。
Rigidodyが何なのかはこちら → Rigidbody - Unity マニュアル
次に衝突判定用のCapsule Colliderを追加します。
Rigidbodyと同じようにAdd Componet > Physics > Capsule Collider を選択。
Y軸とHeightをキャラの大きさに合わせるように変更します。
次にスクリプトを適用します。
UnityChan > Scripts >UnityChanControlScriptWithRigidBody をオリジナルキャラのInspectorウィンドウにドラッグ&ドロップします。
最後に必要なプレハブを子オブジェクトにします。
UnityChan > Prefabs > for Locomotion内にある「CamPos」、「LookAtPos」、「FrontPos」をオリジナルキャラの子オブジェクトにします。
これで準備完了です。
ゲームシーンを再生してみます。
【Unity】VRoid Studioで作成したキャラをユニティちゃんのように走らせる
無事再生できました。
次回予告
次回は以前やった3Dキャラ作成ソフト「セシル変身アプリ」というものも放置状態だったので、そのモデリングとUnityへの導入をやってみようと思います。
本日は以上となります。最後まで読んでいただきありがとうございました!