【Unityのみ】Vroidの髪をほかのモデルに移植する
下記の手順を自動でやるツールを作成したので、そちらを使うと楽です。
↓以下は残しておきますが、古い記事になります。
VroidのヘアスタイルをVroid以外のアバターに移植する方法の説明です。
Unityのみで大丈夫。
Vroid用ヘアプリセットとして配布、販売されている髪型がどんなアバターでも使えちゃいます。
説明動画も作成しました!
- 必要なソフト
- 1. ほしいヘアスタイルのVRMファイルをエクスポートする
- 2.ヘアスタイルのみ取り出す
- 2-3. 髪以外のボーンを削除する
- 取り出し完了!
- おまけ1:Boothで配布されているファイルをVroidStudioに入れる方法
- おまけ:モデルにヘアスタイルを合わせる
- おまけ3 VroidStudioでつぶれて見える頭を修正する
必要なソフト
Vroid Studio
エクスポート機能のみ使用します
UniVRM
VRMをUnityで扱うためのパッケージです。
MeshDeleterWithTexture
Unityでいらないパーツを削除できる神ツール。
ver0.6で追加された機能を使うのでそれ以降のバージョンを使用してください
1. ほしいヘアスタイルのVRMファイルをエクスポートする
1-1.アバターを素体にする
VroidStudioでほしい髪型のアバターを表示します。
- 上の「衣装編集」タブを選択
- 左の「プリセット」メニューから「素体」を選択
1-2. アバターのVRMをエクスポートする
- 上の「撮影・エクスポート」メニューを選択
- 左の「エクスポート」を選択
- 右の「エクスポート」ボタンを押す
保存時の設定は何も変更せずに、適当な保存場所を選んでOK
VroidStudioでの作業はこれで終わりです
2.ヘアスタイルのみ取り出す
2-1. VRMファイルのインポート
UniVRMとMeshDeleterのインポートされているUnityのプロジェクトを用意します。
Projectの中にエクスポートしたVRMをD&Dすると、モデルが読み込まれ、テクスチャなどのフォルダが勝手に作成されます。
Project内にできたPrefabをHierarcyにD&Dして、画面上にモデルを出します。
hierarcyのDarkness_Shibuの上で右クリックして、Unpackします
Darkness_Shibuをクリックした状態でInspectorを確認すると、いろいろコンポーネントがついているので、右上の歯車マークから「RemoveComponent」を選択してTransform以外すべて削除します。
2-2. 髪以外のメッシュを削除する
髪以外の体や顔などのメッシュを削除していきます。
まず、FaceとSecondaryを選択→右クリック→Deleteします
ベースヘアー(生え際)がBodyにくっついてしまっているので、まるごと削除はせず、不要な素体の部分だけを削除します。
Unityの上のメニューから「Gato Tool」→「MeshDeleter」を起動します
MeshDeleterのWindowsの一番上にある「Rendeler」のところに、BodyをD&Dします
MeshDeleterのウィンドウで、まずTextureがBodyになっていることを確認します
真ん中あたりの「Inverse FillArea」を押すと、青枠の中が真っ黒になります(全部削除する設定)
下のDeleteMeshボタンを押したら完了なので、右上の×を押して閉じます
2-3. 髪以外のボーンを削除する
Armatureではなく、Rootの下にあるのがボーンになります。 全身分あるので、髪に使用しないボーンを削除していきます。
まず、Rootの下をたどって、Neckを探します。
NeckボーンをRootの直下に移動してから、Hipsボーンを削除します
Neck→Headとたどり、FaceEyeボーンを削除します。
NeckとHeadを選択してInspectorを見ると、VRM Spring Boneというのがあるので、RemoveComponentします。
取り出し完了!
ここまででヘアスタイルの取り出しは完了です。
あとは通常の手順でモデルに髪をくっつければOKです。
headボーンの下のhairJointというのが髪用のボーンなので、これにDynamicBornを適用すれば揺らすこともできます。
おまけ1:Boothで配布されているファイルをVroidStudioに入れる方法
●Vroidファイル
VroidStudioを一度起動すると、マイドキュメントの中にvroidフォルダが作成されます。
その中のavatarsフォルダの中にvroidファイルを入れると、VroidStudio起動時の画面で選択できるようになります。
● ヘアプリセット
VroidStudioを一度起動すると、下記の場所にVRoidStudioフォルダが作成されます。
\Users[Windowユーザー名]\AppData\LocalLow\pixiv\VRoidStudio
その中のhair_presetsフォルダの中に配布されていたヘアプリセットを入れてください。
おまけ:モデルにヘアスタイルを合わせる
せっかくなので、取り出したヘアスタイルをモデルにくっつけるところもやります。
着用モデルはU10ちゃんです。
まず、元の髪のメッシュを削除
なんとなく位置合わせします。
ちょっと大きい。
Neckボーンを調整して細かく合わせていきます。 調整に使うのはこの三つで、左から、移動、回転、拡縮です。
移動と拡縮で調整するとこんなかんじ
U10ちゃんのオブジェクト下にDarkness_Shibuを丸ごと移動
U10ちゃんのNeckの下にヘアスタイルのNeckボーンを、Headの下にヘアスタイルのHeadボーンを入れます
おまけ3 VroidStudioでつぶれて見える頭を修正する
ヘアスタイルを移植しようとしたときに、位置とサイズはいいのに、なんとなく頭が潰れて見える・・・ということがたまにあります。
VroidモデルはVRCでよくあるアバターより頭頂部が低めなので起こる現象なのですが、エクスポートする前にちょっとだけ修正しておくと回避できます。
顔編集→顔の輪郭→頭頂部を上げるの値を「3」に
スライダーだと1までしか増えないので、数字を直接入力します。
以下、VroidStudioの不具合に合わせた対応です。 そのうち修正される不具合かもしれませんが、Ver0.91現在直ってないです。
髪型編集→ツールが一番上の矢印になっていることを確認
へアーリストから項目を選択→髪の周りに出てきた点のどこでもいいので一か所をクリック
クリックした瞬間に、髪全体がひゅっと変形します。 ずれてしまったように見えますが、へアーリストのすべての項目(グループ単位で大丈夫です)に対して同じように点をクリックしていくと、伸びた頭頂部に合わせてヘアスタイルも縦長になります。