見出し画像

VRCHAT向けアバターのVRM化手順

Booth等で販売されているVRCHAT向けアバターをVRM形式に変換する方法をまとめておきます
あくまで自己流なのでなにかおかしい点もっと改善できる部分もあると思います

VRM化手順

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

  2. アバターの設定確認

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

  4. VRMの仮出力

  5. VRMの設定

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

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

  8. コライダー設定

  9. VRMファイル出力

必要なもの

あると便利なツール

Auto VRMColliderGroupは有料ですがあったほうが作業がかなり楽になります。
VRM Live Viewerは完成したVRMのアバターを動かして揺れ物の動き等を確認するときに便利です。

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

プロジェクト作成画面

Unity Hubを開き新しいプロジェクトを選択
エディターバージョンを確認してプロジェクト名と保存場所は好きなように入力しプロジェクトを作成

“UniVRM-0.104.1_4a9b.unitypackage”とアバターのunitypackageを読み込む
※このとき使うなら「Auto VRMColliderGroup」のunitypackageも読み込む

2.アバターの設定確認

projectの中のassetsからアバターのFBXファイルを探して選択する

inspectorのModelを選択して"Legacy Blend Shape Normals"にチェックがついていた場合は外す
次に"Blend Shape Normals"を"None"に変えApplyを押す(もしアバターの表示がおかしくなったらimportにする)
※初めから画像と同じようになってる場合もある

続いてRigを開いて"Animation Type"がHumanoidになっていることを確認しConfigureを開く

Headを開いてJawに変なボーンが入っていないか確認する(前髪が登録されてることがたまにある)変更した場合はApplyを押してDoneで戻る

最後にMaterialsを開いてLocationがUse Embedded Materialsになっていない場合は変更してApplyを押す

設定が終わったらFBXファイルをHierarchyにD&D
※この時点ではまだマテリアルの設定をしていないのでアバターがピンクになっていることがありますが気にしないでください

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

Assetsの中からマテリアルを探しすべてを選択

Shaderを"VRM/MToon"に変更してEmissionとRimの色が白になっている場合は黒くする

透過部分がある場合はRendering TypeをTransparentにする

髪や服など裏面が表示される場所はCull ModeをOffにする

Cull Mode ”Back"


Cull Mode ”Off"

4.VRM仮出力

そのままだとブレンドシェイプとスプリングボーンが設定できないので一回VRM出力をする

HierarchyのMain Cameraを選択してPositionのZを1、RotationのYを180にする
右下のカメラの映像を見て高さの調整が必要そうならPositionのYを調整する

Assetの中のわかりやすいところに仮出力用のフォルダを作成する
(なにもないところで右クリック-Create-Folder)

Hierarchyのアバターを選択してメニューから"VRM0" - "Export to VRM 0.x"を選択

サムネイル用のスクリーンショットを"スクリーンショットボタン"で撮影
Metaタブの必要項目を入力
※アバターがTポーズになっていない場合は”T-Poseにする”ボタンでTポーズにします

ExportSettingsタブのPose Freezeにチェックが入っているのを確認しExport

先程作ったフォルダを選択する

少し待つと先程作ったフォルダの中にprefabが作成されるのでHierarchyのなかのFBXを一回削除してprefabをHierarchyにD&Dする

5.VRMの基本設定

VRM First Person(script)の中のRenderersを開いて好みで赤枠の中を変更する
※Autoは重いらしいので頭のパーツはThird Person Onlyそれ以外をBothもしくはすべてThird Person Onlyにするといいと思われる?

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

VRM Blend Shape Proxy(Script)のBlendShape(Blend Shape Avatar)をダブルクリック

ここでブレンドシェイプを設定する追加する場合は”Create BlendShapeClip”を押して名前を入れて作成
「VRM表情設定するやつ」(https://booth.pm/ja/items/2152326) を使う場合は、基本の表情だけでいいならそのまま次へ、表情を追加する場合はここで追加だけして表情をつけるのはツールで行う
※個人的にバモキャで使うときはL-1,L-2,R-1,R-2という感じで名前つけて表情追加してます

7.スプリングボーン設定

Hierarchyのアバターを開いてSecondaryを選択

InspectorのVRM Spring BoneのCommentにわかり易い名前を入れRootBoneを開いて登録するボーン数(例:耳のボーンが2つなので2)をいれElementに登録するボーンをD&D
揺れ方の調整はStiffness ForceとDrag Forceで調整する
※アバターによっては”hair_root”のように複数あるボーンを一回まとめてから各ボーンに設定されている場合がありますが、この場合ルートボーンを揺れ物で設定すると動きがおかしくなる可能性が高いですのでルートボーンの下のボーンをそれぞれ登録してあげてください(今回の例のhair_rootの場合はかつらが乗っかってるような動きになることが多いです)

2箇所目以降はAdd Componentを押しVRM Spring Boneを押して追加してく(検索欄にspringboneと入れると楽)

カリンちゃんの場合は全部で7個になった


動きを確認する場合は真ん中上にある再生ボタンを押して
GameタブになるのでSceneタブに切り替え
Hierarchyのアバターを選択して赤丸で囲った矢印を動かすとアバターが動いてゆれものが揺れるので好みの動きになるように調整する
※設定を変えるときは必ず停止ボタン(再生ボタンの横)を押してから変えること、停止した際変更した設定がもとに戻るのでやり直しになる

8.コライダー設定

Auto VRMColliderGroupを使う場合はスキップしてください

Hierarchyからコライダーを追加したボーンを選択してInspectorのAddComponentからVRM Spring Bone Collider Groupを選択

コライダーの数を入れいい感じになるようにOffsetとRadiusを変更する
※0.05変えるといい感じになっている気がする(例ではY軸を0.05変えている)

参考程度にカリンちゃんの左手の設定一覧

LeftShoulder
LeftUpperArm
LeftLowerArm
LeftHand


コライダーを設定したらHierarchyのSecondaryを開いてVRM Spring BoneのCollider Groupsにそれぞれ入れていく

Auto VRMColliderGroupを使う場合

メニューのVRMからAuto VRMColliderGroupを開く

アバターのルートを選択して自動追加を押すと体に合わせて自動にコライダーが設定されます(springboneに登録も自動でやってくれます)

スカート貫通対策を押すと足回りにコライダーが追加されるのでスカートが貫通しにくくなります・・・たぶん

自動設定でコライダーを設定したあと再生ボタンを押すとスカートが開いたり髪が曲がったりすることがある

再生前
再生後
再生前
再生後


干渉している部分の半径を小さくすると解消するので調整する

9.VRMファイルの出力

メニューから"VRM0" - "Export to VRM 0.x" を選択

ExportSettingsのPoseFreezeのチェックを付ける(不要と表示されますが気にしないでつけるらしいです?)

保存先を好きなところにして保存して完成です
※「VRM表情設定するやつ」を使う場合は出力されたVRMを「VRM表情設定するやつ」に読み込ませて表情を設定します
最後にVRM Live Viewerで踊らせてスカートの突き抜けや揺れ物の動きを確認したり自分のアバターを愛でたりするといいと思います。



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