サークル獏の佐藤敏 Unityとか備忘録

サークル獏の佐藤敏 Unityとか備忘録

サークル獏の佐藤敏がUnityとかで知ったTipsを書いておく備忘録です。

VRoidキャラをBlenderに持ち込んでデベソ(意味深)にする

VRoidキャラをデベソ(意味深)にする

VRoidキャラをBlenderに持ち込んでデベソ(意味深)のBlendShapeを作ります。
一度理解すればオヘソ以外のどこでも出っ張らせることができるようになります。
Unityに持ち込んだ後はエディタ上からいじるのはもちろん、スクリプトからいじることも可能です。
f:id:VinSatoo:20200825124846p:plain

  • VRoidキャラ自体の作り方、VRoid StudioからのVRMの書き出し方は知っているものとします。

Blender2.80にデータを持ち込む

  • BlenderVRM Importerを導入します。
  • そしてVRoid Studioから書き出したVRMを読み込みます。

以下のようなブログが分かりやすいのではないかと思います。
https://hoshimi12.com/?p=20779

Blender 2.80(Ver2.81以降ではうまく行かない) Vroidモデルを読み込む方法【忘備録メモ】古いバージョンのBlenderを新しいバージョンと共存させる方法stockmoneyphoto.wordpress.com

余計なものを隠して視点調整

  • ※このBlenderには日本語表示を入れています。
  • 操作しづらいので、skeltonとcolliderを隠します
  • そのあとでBody.bakedをクリックして選択します。

f:id:VinSatoo:20200825121633p:plain

こんな感じで、体の周りにオレンジ色の線が出るはずです。
f:id:VinSatoo:20200825121838p:plain:w360
あと、見やすいように視点を動かしたほうがいいと思います。

  • マウスのホイール回転で拡大縮小。
  • ホイールを押しながら動かすと視点が回転。
  • SHIFTとホイールを同時に押しながら動かすと視点が上下左右に動きます。

BlendShape(シェイプキー)を作る

初期設定では右のほうに並んでいるたくさんのアイコンから、緑色の▽を選択します。
f:id:VinSatoo:20200825122537p:plain
シェイプキーを作るため、[+]ボタンを2回押します。
「Basis」と「Key 1」ができ、「Key 1」が選択状態になっています。
f:id:VinSatoo:20200825122651p:plain
初期設定では画面左上にある「オブジェクトモード」というところを押し、「編集モード」に切り替えます。
f:id:VinSatoo:20200825122746p:plain

編集モードの準備

最初は頂点がたくさん選択されてしまっているので、何もないところをクリックして選択を解除します。
f:id:VinSatoo:20200825122953p:plain:w360
大量のオレンジ色の線や点が消えます。
f:id:VinSatoo:20200825124055p:plain
右の方にたくさん並んでいるアイコンから、一番下のピンクの丸のようなアイコンをクリックします。
f:id:VinSatoo:20200825123214p:plain:w360
ナンチャラTops~を選んで、「選択」を押します。
(※なお制服でなくワンピースとかだと違う表示が出ていると思いますが、上半身の服と思われるものを選択してください。)
f:id:VinSatoo:20200825123405p:plain:w360
制服の上半身だけが選択されました。
f:id:VinSatoo:20200825123542p:plain
キーボードの「H」を押します。
制服の上半身が隠されます。
f:id:VinSatoo:20200825123721p:plain

デベソにする最終準備

画面の左上、「編集モード」の右にあるコレをクリックします。
f:id:VinSatoo:20200825124257p:plain
注意深くオヘソをクリックします。
点が1つだけ黄色になります。
失敗したら、何もないとこをクリックしてやりなおしましょう。
f:id:VinSatoo:20200825124338p:plain
画面上あたりにあるこれをクリックして設定します。
f:id:VinSatoo:20200825124658p:plain

デベソにする

[Alt]を押しながら「S」を押します。

  • そのままだと周囲のポリゴンどころか体全体が動いてしまいます。
  • なのでマウスのホイールをどんどん上に回して下さい。最初は何も起こりませんが、そのうち白い丸が画面に出てきます。
  • ちょうどいい小ささになるまで上にホイールを回しましょう。
  • そしてマウスを動かすとオヘソが飛び出したり凹んだりします。

ちょっと調整が難しいので、失敗したらまた繰り返して調整しましょう。
f:id:VinSatoo:20200825124846p:plain

FBXとして書き出す

Blenderのメニューの「ファイル」から「エクスポート」→「FBX]を選びます。
f:id:VinSatoo:20200825124902p:plain
設定は大体これで上手くいくはずです。
f:id:VinSatoo:20200825125013p:plain:w360

  • 「アーマチュアをクリック。
  • つづけて[SHIFT]を押しながら「メッシュ」をクリック。この2つだけが選択状態になります。
  • いちおう「スケールを適用」は「すべてFBX」に。不要かもしれませんが……
  • あとは、パソコンの好きな場所に書き出してください。

Unityに読み込む

Unityで適当なプロジェクトを作り、Assetsフォルダに先ほどのFBXをコピーします。
それをドラッグ&ドロップでシーンに配置し、Body.bakedを選択してみるとたしかにBlendShapeができています。
(※初期状態ではBlendShapesが折りたたまれていて見づらいので注意)
f:id:VinSatoo:20200825125335p:plain:h360
スライダーを100にすると、たしかにデベソになっていました。
f:id:VinSatoo:20200825125417p:plain
これでVRMキャラの色々な部位を出っ張らせることができますね!

スクリプトからいじりたいときは?

SkinnedMeshRenderer.SetBlendShapeWeightを使います。
UnityでBlenderのシェイプキーを使う – Unityの使い方|初心者からわかりやすく

Unityに読み込むときの多少の注意

Humanoid用アニメーションを使いたい場合は、Unity上でFBXファイルをクリックし、インスペクタの「Rig」タブから「Humanoid」を選んでから配置する必要があります。
f:id:VinSatoo:20200825125447p:plain
Blend Shape NormalsはNoneのほうがいいようです。
f:id:VinSatoo:20200825125621p:plain:w360