見出し画像

VRC向けアバターのVRM化手順(BeatGather版)

BeatGatherというビートセイバーのバラエティ雑談企画の中で行うVRM化講座の補足記事です。
(5/7(日)20時からTwitchで放送。こちらで配信予定 ※講座のアーカイブは後日公開予定 公開しました!)
アーカイブはこちら
そちらの方では実際にUnityを操作しているので一緒に見るとわかりやすいと思います。

※現在リアルの仕事が立て込んでいてこの記事は最低限の内容で仕上げてあるので仕事が落ち着き次第細かい内容を追記する予定です(順調に行けば5月下旬)

BOOTH等で販売されているVRCHAT向けアバターをVRM形式に変換する方法をまとめておきます。
VRM形式に変換すると対応しているゲームやアプリに読み込むことができます。

※ビートセイバーでアバターを入れて動画を撮る場合はPC版のみ可能です。
quest版、PS版ではできないので気をつけてください。

※ビートセイバーでアバターを表示して録画する方法は時間に余裕ができたらまとめたいと思います。

VRM化の手順

  1. プロジェクト作成、必要ファイルの読み込み

  2. アバターの設定確認

  3. マテリアルをMToonに変更

  4. VRMの仮出力

  5. VRMの設定

  6. スプリングボーンの設定

  7. コライダー設定

  8. VRMファイル出力

  9. ブレンドシェイプの設定

  10. 完成

使うもの

※今回の記事ではかなりぁさんのハオラン君を使います。ほかのアバターをVRM化したい方は適宜そのアバターに読み替えてください。
※UniVRMは ”UniVRM-0.110.0_3f7d.unitypackage" をダウンロードしてください。


1.プロジェクト作成、必要ファイルの読み込み

Unity Hubを開いて新しいプロジェクトを選択


エディターバージョンを2020.3.47f1にして
プロジェクト名、保存場所を自分の環境に合わせて設定し、プロジェクトを作成。
(プロジェクト名はアバター名等わかりやすいものにするといいと思います。)

Unityが起動したら必要ファイルを読み込みます。

UniVRM-0.110.0_3f7d.unitypackage をダブルクリックしてImportを押します。同様にHAOLAN.unitypackageもインポートします。


2.アバターの設定確認

読み込みが終わったUnity

HAOLANの中のPrefabファイルはVRC用にセットアップしたものなので基本的に使いません。
※アバターがピンク色になっていますが後で直すので無視してください。

FBXフォルダの中のHAOLAN.fbxを選択してinspectorのModelを開きます。
Legacy Blend Shape Normalsのチェックを外してBlendShapeNormalsをNoneに変え下の方にあるApplyを押します。

続いてRigを開いてAnimation TypeがHumanoidになっていることを確認
Configureを押して設定を開きます。

赤くなっている部分がないことを確認します。

Headを開いてJawがnoneになっていることを確認、もしなにか入っていたらnoneに変えます。
Doneを押して終了します。


3.マテリアルをMToonに変更

HAOLAN.fbxをHierarchyにドラッグアンドドロップします。

カメラをマウスホイールでズーム、Altキーを押しながら左ドラッグで動かして正面に持っていきます。
Materialsフォルダを開いてShiftキーを使ってピンク色になっているマテリアルを全部選択します。
InspectorのShaderをVRMの中のMToonに変更します。

透過部分があるマテリアルのRendering TypeをTransparentに変えます。

4.VRMの仮出力

そのままだと表情や揺れ物が設定できないので一度VRMに変換します。
まず、スクリーンショット撮影用にカメラを移動します。
HierarchyのMain Cameraを選択してPositionのYを0.8、Zを1、RotationのYを180に設定します。
※PositionのYはカメラ映像を見て顔がちゃんと映る高さに設定します。

次に仮出力するフォルダを作成します。ProjectのHAOLANの中にわかりやすい名前でフォルダを作成します。(ここではVRM)

VRM0 - Export to VRM 0.xの順に選択します。

スクリーンショットを押してサムネイルを保存します。
Title、Version、Authorを入力します。

先程作ったフォルダに保存します。


5.VRMの設定

しばらくすると書き出しと読み込みが終わるので読み込みが終わったらHierarchyの中の先程書き出したHAOLANは使わないのでDeleteキーで削除します。
次にVRMフォルダの中のHAOLANをHierarchyにドラッグアンドドロップします。

今回はUnityでは表情を設定しないのでスルーしますがUnityで表情を設定する場合はHierarchyのHAOLANを選択してBlend Shape Avatarの
BlendShapeをダブルクリックしてBlendshapeの設定に入ります。

それぞれお好みで設定します。

VR上で使用する場合HMDに映すかどうかの設定を行います。
VRM First Persionの中のRendersをそれぞれ設定します。
Autoは重くなるそうなので基本は頭のメッシュはThirt Parson Onlyそれ以外はBothに設定します。
HMDに表示しない場合は全部Third Parson Onlyでもいいかもしれないです。

6.スプリングボーン(揺れ物)の設定

揺れもの(髪の毛やスカートなど)を設定します。

Hierarchyの直下にあるsecondaryを選択します。
次にInspectorの右にあるロックボタンを押します。

Commentはわかりやすいように入力します。(画像は耳なのでear)
耳のボーンをRootBonesにドラッグアンドドロップします。

揺れ方の調整はStiffness Force、Drag Forceを調整します。
好みの問題もあると思いますが自分の場合、髪や服のように柔らかく動いてほしいものはStiffness Forceを気持ち下げて、ジッパーみたいに硬いものはそのままにするとそれっぽく動く気がします。

次の部位を設定するのでAdd Componentを押し検索欄にvrm spくらいまで入力するとVRM Spring Boneが出てくるのでそれを選択します。

同様の手順で、髪、襟、ジッパー、服を設定します。

すべて設定が終わったらロックボタンをもう一度押してロックを解除します。


7.コライダー設定

そのままだと揺れたときに体を突き抜けるのでコライダーを設定します。
コライダーを入れるボーンを選択してAdd Componentを押しVRM SpringBone Collider Groupを追加します。

Collidersを開いてElemnt 0を開きます。X,Y,ZとRadiusを調整しコライダーを設定します。

足のように複数置く場合は+ボタンで数を増やします。

足や手のように左右対称に置く場合は右のメニューボタンを押しCopy Componentを押してコピーします

逆の足にPaste Component As Newを押して追加します。

最後に作成したコライダーをスプリングボーンに設定します。
secondaryを選択してロックボタンを押しコライダーを反映したい部分のCollider Groupsにドラッグアンドドロップします。

設定が終わったら再生ボタンを押して動作を確認します。
再生を押すとGameタブになるのでSceneタブに戻しHierarchyのHAOLONを選択して下の矢印で体を動かして揺れ具合を確認します。
終わったあとは必ず再生ボタンをもう一度押して通常モードに戻します。

コライダーが大きすぎるとその部分が広がってしまうのでおかしい部分があった場合はコライダーの大きさや位置を見直します。
※設定を変える時は必ず再生モードから通常モードに戻してから変えてください。


8.VRMファイル出力

問題がないのを確認したらHierarchyのHAOLANを選択しVRM0 - Export to VRM 0.xを選択します。

今度はそのままExportを押します。

今度は本出力なのでプロジェクトフォルダの外の好きなところに保存します。

9.ブレンドシェイプ(表情など)の設定

VRM表情設定するやつを開いて出来上がったVRMファイルをドラッグアンドドロップします。
VRMの情報が出てくるのでLoadを押します。

設定したい表情を選択してお好みで表情をつけていきます。

全部の表情を設定したらExport(Normal)を押します。

基本的にはそのまま上書きします。
このときに一緒にcsvファイルが出力されるので次以降はこのcsvファイルをアバターを読み込んだあとにドラッグアンドドロップすれば表情の設定が完了します。
またきせかえ等でブレンドシェイプが増えた場合もcsvファイルの該当部分を書き換えれば同じ表情の設定ができます。

10.完成

最後に完成したVRMをVRM Live Viewerにドラッグアンドドロップして動かして確認します。
基本的には髪等揺れ物の動きや突き抜けをチェックして問題がなければ完成です。

髪等の動きがおかしい場合はスプリングボーン、コライダーの設定を調整します。
突き抜けに関しては原因によって対処方法が変わるので後日追記します。



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