BlendShape Filter【シェイプキー検索ツール】










説明
BlendShape Filter(シェイプキー検索ツール)
「Mouth_A、どこだっけ」を、検索一発で。
アバターのシェイプキーは、多いものだと500個以上。 表情をひとつ調整したいだけなのに、Inspectorのリストを延々スクロールして目的の1個を探している——その時間、けっこう馬鹿になりません。
BlendShape Filter は、SkinnedMeshRenderer のシェイプキーを「検索」「部位で絞り込み」「並べ替え」して、そのままWeightを触れる Unity エディタ拡張です。
■ 無料版と支援版について
無料版と支援版の内容は同一です。 無料版で全ての機能をご利用いただけます。 本ツールを気に入っていただけた方や、今後の開発・アップデートを応援していただける方は「支援版」を選んでいただけると嬉しいです。
■ こんな人に
・表情調整のたびにシェイプキーを探している ・素体や衣装ごとに命名規則が違って、毎回どれがどれだか分からなくなる ・いま0以外になっているシェイプキーだけを確認したい ・よく使うシェイプキーに一瞬で戻りたい
■ できること
◇ 名前で検索 部分一致・大文字小文字を区別しない検索。「mou」と打てば Mouth 系だけが残ります。
◇ 顔の部位でワンクリック絞り込み シェイプキー名から Eye / Brow / Mouth / Tongue / Teeth / Nose / Cheek / Jaw / Ear / Other の10分類を推定し、ボタンひとつで絞り込みます。ボタンには件数も表示。そのMeshに存在しない部位のボタンは、そもそも出しません。
Eye と Mouth はさらに小分類へ。 Eye … Eyelid / Iris / Lash / Gaze / Shape Mouth … Viseme / Lip / Corner / Shape
◇ 部位ごとのグループ表示 部位の見出しを付けてまとめて表示。折りたたみもできます。
◇ 「Weightが0以外だけ」「★お気に入りだけ」 検索や部位フィルタと重ねて使えます。お気に入りは登録したまま残るので、よく触るシェイプキーへすぐ戻れます。
◇ 並べ替え 元の順番 / 名前の昇順・降順 / 値の昇順・降順。
◇ その場でWeight編集 スライダーも数値入力もUndo対応。個別Reset、全体Reset に加えて、いま画面に出ているシェイプキーだけをまとめて0に戻す「Reset Visible」も用意しています。
■ Meshは壊しません
Mesh Asset には一切書き込みません。 変更するのは指定した SkinnedMeshRenderer の BlendShape Weight だけで、シェイプキーの index・名前・頂点データは常に読み取り専用です。 部位分類もあくまで表示上の整理で、Meshの中身は変わりません。
■ 動作環境
・Unity 2019.4 以降 ・Editor拡張のみ。ビルド成果物には含まれません ・VRChat SDK などの外部パッケージに依存しません(VRChat以外のプロジェクトでも動作します)
■ 導入方法(3通りあります・どれか1つでOK)
どの方法で導入しても機能は同じです。複数の方法を同じプロジェクトに重ねて入れないようご注意ください。
◇ 方法A:このページから.unitypackageをダウンロード(おすすめ)
このページの unitypackage をダウンロード 対象のUnityプロジェクトにドラッグ&ドロップ、またはAssetsメニューからImport Package
◇ 方法B:VCC / ALCOMで自動アップデートしたい方向け
VCC または ALCOM を開く Settings > Packages > Add Repository から、以下のVPMリポジトリURLを追加 https://raw.githubusercontent.com/roasunda/blendshapefilter-vpm/main/index.json 対象プロジェクトの Manage Project から BlendShape Filter を追加
(ワンクリックで追加したい場合はこちら → https://roasunda.github.io/blendshapefilter-vpm/ )
導入後、どの方法でも Unityメニューの Tools > BlendShape Filter から起動します。
VCC/ALCOM経由でも動作は完全に同じですが、もしよろしければ方法Aからのダウンロードにご協力いただけると、今後の開発の励みになります🙏
■ 使い方
Tools > BlendShape Filter でウィンドウを開く Target に対象の SkinnedMeshRenderer を指定(Hierarchyで選択して「Use Selected」でもOK) あとは検索・部位ボタンで絞り込み、スライダーでWeightを調整するだけ
■ 紹介動画のアバターについて
使い方紹介動画内のアバターは、DOLOS 様のオリジナル3Dモデル「ミルティナ」(VN3ライセンス)をお借りして撮影しています。 https://booth.pm/ja/items/6538026
■ ライセンス
MIT License
■ 注意事項
・本ツールの使用によって生じた不具合・データの破損等について、作者は責任を負いかねます。作業前のバックアップを推奨します。 ・改変・再配布は MIT License の範囲でご自由にどうぞ。