VRoidキャラをBlenderに持ち込んでデベソ(意味深)にする
VRoidキャラをデベソ(意味深)にする
VRoidキャラをBlenderに持ち込んでデベソ(意味深)のBlendShapeを作ります。
一度理解すればオヘソ以外のどこでも出っ張らせることができるようになります。
Unityに持ち込んだ後はエディタ上からいじるのはもちろん、スクリプトからいじることも可能です。
- VRoidキャラ自体の作り方、VRoid StudioからのVRMの書き出し方は知っているものとします。
Blender2.80にデータを持ち込む
以下のようなブログが分かりやすいのではないかと思います。
https://hoshimi12.com/?p=20779
Blender 2.80(Ver2.81以降ではうまく行かない) Vroidモデルを読み込む方法【忘備録メモ】古いバージョンのBlenderを新しいバージョンと共存させる方法stockmoneyphoto.wordpress.com
余計なものを隠して視点調整
- ※このBlenderには日本語表示を入れています。
- 操作しづらいので、skeltonとcolliderを隠します。
- そのあとでBody.bakedをクリックして選択します。
こんな感じで、体の周りにオレンジ色の線が出るはずです。
あと、見やすいように視点を動かしたほうがいいと思います。
- マウスのホイール回転で拡大縮小。
- ホイールを押しながら動かすと視点が回転。
- SHIFTとホイールを同時に押しながら動かすと視点が上下左右に動きます。
BlendShape(シェイプキー)を作る
初期設定では右のほうに並んでいるたくさんのアイコンから、緑色の▽を選択します。
シェイプキーを作るため、[+]ボタンを2回押します。
「Basis」と「Key 1」ができ、「Key 1」が選択状態になっています。
初期設定では画面左上にある「オブジェクトモード」というところを押し、「編集モード」に切り替えます。
編集モードの準備
最初は頂点がたくさん選択されてしまっているので、何もないところをクリックして選択を解除します。
大量のオレンジ色の線や点が消えます。
右の方にたくさん並んでいるアイコンから、一番下のピンクの丸のようなアイコンをクリックします。
ナンチャラTops~を選んで、「選択」を押します。
(※なお制服でなくワンピースとかだと違う表示が出ていると思いますが、上半身の服と思われるものを選択してください。)
制服の上半身だけが選択されました。
キーボードの「H」を押します。
制服の上半身が隠されます。
デベソにする最終準備
画面の左上、「編集モード」の右にあるコレをクリックします。
注意深くオヘソをクリックします。
点が1つだけ黄色になります。
失敗したら、何もないとこをクリックしてやりなおしましょう。
画面上あたりにあるこれをクリックして設定します。
デベソにする
[Alt]を押しながら「S」を押します。
- そのままだと周囲のポリゴンどころか体全体が動いてしまいます。
- なのでマウスのホイールをどんどん上に回して下さい。最初は何も起こりませんが、そのうち白い丸が画面に出てきます。
- ちょうどいい小ささになるまで上にホイールを回しましょう。
- そしてマウスを動かすとオヘソが飛び出したり凹んだりします。
ちょっと調整が難しいので、失敗したらまた繰り返して調整しましょう。
FBXとして書き出す
Blenderのメニューの「ファイル」から「エクスポート」→「FBX]を選びます。
設定は大体これで上手くいくはずです。
- 「アーマチュア」をクリック。
- つづけて[SHIFT]を押しながら「メッシュ」をクリック。この2つだけが選択状態になります。
- いちおう「スケールを適用」は「すべてFBX」に。不要かもしれませんが……
- あとは、パソコンの好きな場所に書き出してください。
Unityに読み込む
Unityで適当なプロジェクトを作り、Assetsフォルダに先ほどのFBXをコピーします。
それをドラッグ&ドロップでシーンに配置し、Body.bakedを選択してみるとたしかにBlendShapeができています。
(※初期状態ではBlendShapesが折りたたまれていて見づらいので注意)
スライダーを100にすると、たしかにデベソになっていました。
これでVRMキャラの色々な部位を出っ張らせることができますね!
スクリプトからいじりたいときは?
SkinnedMeshRenderer.SetBlendShapeWeightを使います。
UnityでBlenderのシェイプキーを使う – Unityの使い方|初心者からわかりやすく
Unityに読み込むときの多少の注意
Humanoid用アニメーションを使いたい場合は、Unity上でFBXファイルをクリックし、インスペクタの「Rig」タブから「Humanoid」を選んでから配置する必要があります。
Blend Shape NormalsはNoneのほうがいいようです。