VRoidStudioでVRM形式のモデルを作る【髪の毛を利用した小物編】

こんにちは。
SHOWROOM xR Labインターン生のはいえろです。
今回は、前回VRoid Studioで製作したモデルに髪の毛を利用してアクセサリーやしっぽを作ろうと思います。

髪で髪以外のものを作ってみる

髪を描く際に設定した「手描きガイド」ですが、あれをうまく設定すると髪以外のものを作ることができます。
今回はユニコーンということで「つの」と「みみ」。

「みみ」はガイドを上にひっくり返るまで緑いろの点を移動させます。
image.png (294.3 kB)
髪は「ガイドの上」にしか描くことができないので、この場合、ガイドの「内側」から髪を描くことになります。

耳の形はこう↓
image.png (15.3 kB)
底なし三角形を使用することで耳の丸みをだし、先端がきゅっと窄まるかたちに設定しています。

続いて「つの」。
これも「みみ」同様にガイドを変形させ、一部分に線をひきます。
image.png (578.2 kB)
その後、具合を見ながらパラメーターの「ひねり(強さ)」を設定します。
image.png (6.7 kB)
また、滑らかな「つの」になるよう、「滑らかさ」も大きめに設定します。
image.png (5.1 kB)

すると、ユニコーンらしいくるくるとした「つの」ができました!
image.png (512.1 kB)

他にも、
こんなお花のヘアアクセサリーや
image.png (103.5 kB)

ピアスも作ることができます!
image.png (246.2 kB)

しっぽを作る

外部ツールのBlenderとUnityを使用することで、「しっぽ」を作ることができます

1. 「髪の毛」でしっぽを作る

髪の毛を描くときに使用した「手描きガイド」を腰の位置まで下げ、そこにしっぽを描きます。
image.png (366.2 kB)
ここで揺れものボーンも設定します

▼しかしこの状態で、揺れものボーンをつけると、「髪の根本(描き始め部分)は頭のボーンに追従する」ため、キャラクターを動かすと頭の動きと連動してしまいます。
image.png (449.8 kB)
そのため、一度エクスポートをしてBlenderで調整します。

2. Blenderでウェイトを塗りなおす

VRoid StudioからVRM形式でエクスポートしたら、Blenderへインポートします。
▼BlenderへVRMをインポートするにはアドオンが必要になりひと手間かかるのですが、こちらの記事が大変わかりやすいです

https://www.cg-method.com/entry/blender-import-vrm/

Blenderへインポートできたら、
・しっぽの付け根(髪の毛の描き始め部分)にのっているHeadのウェイトを消す
・しっぽの付け根(髪の毛の描き始め部分)にSpineのウェイトを塗る
をします!

この後VRMでエクスポートしたいのですが、2019年2月現在だとおそらくエラーがでてしまいます。
そのため一度FBXでエクスポートし、Unityでさらに設定しましょう!

3. Unityで再設定する

UniVRMがインポートされたUnityに、BlenderからFBX形式でエクスポートした3Dモデルを読み込みます。
読み込んだFBXデータをSceneのHierarchyにもっていくと、元の見た目と異なっているでしょう。
image.png (162.9 kB)  

マテリアルや情報がすべて抜けてしまっているからです。
なので、まずはマテリアルを元に戻しましょう。

マテリアルは「VRMのマテリアルをFBXに割り当てる」ことになります。
まずはBlenderで編集していない「VRoid StudioからエクスポートしたVRMモデル」をUnityへインポートします。
VRMモデルがあるフォルダを開くと、中にマテリアルフォルダがあります。
今回の場合は「unicornchan3.Materials」です。
image.png (5.8 kB)

FBXデータをクリックするとInspectorビューに色々と表示されるので、「Materials」のタブに移動します。
「unicornchan3.Materials」の中にあるマテリアルをFBXデータの「Remapped Materials」の同じ名前のところへドラッグ&ドロップしていきましょう。
image (1).png (103.6 kB)

すべていれたら右下の「Apply」をクリック。
するとマテリアルが元に戻りました!

image.png (193.4 kB)

最後にしっぽのボーンを腰のボーンの子にして終了です。
しっぽのボーンは髪として作っているため、「skelton」の中の「J_Bip_C_Head」の中にあります。
その中からしっぽにあたるボーンを探して、「J_Bip_C_Spine」にドラッグ&ドロップで子にしましょう。
image (3)-01.png (44.2 kB)
  

一度VRMでエクスポートします。
UnityからVRM形式でエクスポートする方法は以下のページを参考にしてください。 UniVRMというUnitypackageをUnityへインポートしておく必要があります。

dwango.github.io

ちなみに、インポートするUniVRMのバージョンは、2019/2/9現在だと 現行のVRoid Studioから生成されるVRMと同じバージョンであるver0.44だと安全です。

次に、エクスポートしたVRMデータを再びUnityへインポートします。
もう一度Unityに読み込むという作業がポイントです。
VRMSpringBoneの設定などが抜けてしまっていないかを確認して完成です!

これで製作方法に関しての話は終わりです。
次回で最後ですが、モデルデータ軽量化について書いてみようと思います。