UnityだけでBlendShapeを削除,整理,合成をしよう
UnityでBlendShapeを整理したくない…?
BlendShapeを追加,削除,リネームとかしたいと思ったことはありませんか?
僕の場合はFaceTracking用のBlendShape調整中の時に必要になるんですが、しかし調べると「Blenderで作業しよう!」みたいな話が多い…。
確かに3DモデルをUnityだけでどうにかしようとするのはVRChatterの悪いところなんだけど、それでもUnityでBlendShapeいじります。
UnityだけでBlendShapeを編集できるツール「BlendShapeEditor」
ということで、今回はUnityだけでBlendShapeを変更できるツール「BlendShapeEditor」を使っていきます。
シンプルで使いやすいです。
実際に使ってみる
一つ一つが非常に強力な機能なので、順を追って解説していきます。
まずは上部メニューを見ていきましょう。
① SkinnedMeshRendrerに編集したいメッシュを入れる。(InspectorにあるBodyとかHairですね)
② モードを選ぶ。
モードには、それぞれSort,Blend,Separateの合計3つがあります。順を追って見てみましょう!
Sortタブ - BlendShapeの管理画面です
Soetタブでは、BlendShapeの並び替え,名前変更,削除を行える機能です。
① 名前を変更できます。順番を入れ替えも可能。
② BlendShapeの削除が行えます。
③ Applyを押して編集確定します。
これだけでも便利なのですが、新しくBlendShapeを作る機能も用意されています。それがBlendです。
Blendタブ - 新しいBlendShapeを作成しよう
既存のBlendShapeをベースにして、新しいBlendShapeを作成できる非常に強力な機能です。
使い方は、
① BlendShapeを選んで、お好みのウェイトを入力します。複数選択可。
② 新しいBlendShapeの名前を決める。
③ どれかを押す
これで既存を元に新しいBlendShapeが追加されます。
③の各ボタンを押すとどう変化するのか、検証gifと一緒に詳しく説明します。
Blendタブがどういう動きをするのか見てみよう
まず、ボタンの違いを確認するために、検証用の表情をBlendShapeEditorに登録しました。上記の画像の通りです。
今回は[まばたき]と[vrc.v_aa](以下略[aa])の二つを100%にしたBlendShapeを選択しました。
この状態で、③のボタンを押して生成されたBlendShapeを比較していきます。動作は以下の通りでした。
最後に今一度使用シーンをまとめると、
Blend BlendShapeを一つにまとめたい時に使う。
Inverse 真逆に動くBlendShapeを作りたい時に使う。
Connect 別々のBlendShapeを1つのまとめて順々に再生したい時に。
Blend & Connect 別々のBlendShapeを乗算で再生したい時に。
Apply Base Shape デフォルト表情を変更したい時に。
といった感じ。便利!
Separateタブ - BlendShapeをX軸で左右分割できる
Separateタブでは、1つのBlendShapeを左右別々に自動作成してくれる機能。
① BLendShapeを選択する。
② 境界部分のぼかし設定(後述)する。
③ ボタンを押す
すると、左右に分割されたBlendShape生成されます。
Separateタブがどういう動きをするのか見てみよう
アバターによっては左右分かれてないBlendShapeがありますので、そういう時に間違いなくとても便利ですね!
次に、先ほど後述するとした「SmoothRange」の動きを確認してみます。
Separateタブの使い方はいかがでしたか?
X軸で左右にBlendShapeを分けることができるのは、もうハイテクの極みのような感じがします。
【余談】BlendShape限界突破をしてみる
便利なツールですが、BlendShape限界突破できるかどうか気になります。
実際にやってみます。
メッシュ保存先
作成されたメッシュはAssets > BodyMorphToolの中に自動的に作成されます。作業を途中まで巻き戻す際などに参照しよう。
本ページに登場してる3Dモデル
VRCDeveloperTool でもBlendShapeの調整はできますが、今回はBlendShapeEditorの説明をさせていただきました。
もしこの記事が役に立ったらいいねボタンで反応してくれると嬉しいです。(Noteに未登録でもできるらしいです。)