忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

【Lazy Shapekeys】シェイプキーのフォルダ分け・強制転送・個々に別オブジェクト化するアドオン【Blenderアドオン】

Blenderアドオン

更新日:

シェイプキー編集を補助するアドオンを紹介します。
シェイプキーをフォルダー分けしたり、頂点数が合わなくても強制的に形状を転送したり、個々のシェイプキーを別オブジェクト化したりなど細かな機能があります。

■ 主な機能

  • シェイプキーのフォルダ分け
  • 一括処理
  • 全てのシェイプキーごとにオブジェクトを生成
  • 形状を転送(強制)
  • シェイプキーを保持したままモディファイアを適用
  • 別オブジェクトの同名シェイプキー同期
  • シェイプキーを左右に分離
  • 値プリセット

ダウンロード

gumroad

Blender Market

BOOTH

シェイプキーのフォルダ分け機能

シェイプキーを整理するフォルダー機能です。
フォルダー用シェイプキーアイテムを追加することで、シェイプキーを一括管理します。

  • [デフォルト]タブでは、通常のリスト内にフォルダーが表示され、▼ボタンにより折りたたみすることができます。
  • [フォルダー]タブでは、[フォルダーのリスト]と[フォルダー内シェイプキー]の2カラムに分けて表示されます。

簡単なシェイプキー編集の場合は通常の1カラムリストを使用し、複雑な構造のシェイプキーを編集する時は2カラムのフォルダー表示を利用します。

新規グラフエディターウィンドウを開くボタン

シェイプキーのFカーブを調整する新規ウィンドウを表示します。

新規ウィンドウを表示し、シェイプキー名をグラフエディターの検索フィルターに自動追加します。
特定のシェイプキーのアニメーションを詳細に調整したいときに便利です。

  • このウィンドウがすでに表示されている場合は、検索フィルターのみ切り替えます。
    • (検索では、同名のFカーブアイテムも検索結果に表示されるので注意が必要です)
  • 表示時のウィンドウサイズは、実行したエディターのサイズになります。

キーフレーム関連の補助機能

キーフレーム一括挿入・一括削除ボタン

メニューの場所:フォルダータブのリストの上のボタン
フォルダ内の全てのシェイプキーに、キーフレームを一括挿入します。

  • フォルダ内の全てのシェイプキーにカレントフレームのキーフレームが打たれている場合は、全てのカレントフレームのキーを削除します。

シェイプキーフォルダ内の一括値リセットボタン(X)

シェイプキーフォルダ内のアイテムの値を、一括してリセットします。

注意点

フォルダ用シェイプキーは、通常のシェイプキーと同じシェイプキーデータです。
フォルダー用のデータが、頂点グループオプションの中に格納されています。

(シェイプキーにはカスタムプロパティを追加することができない仕様のため、このように実装しています)

リストのフィルターは使用できない

  • リスト下部の検索メニュー内の、[名前順にソート]オプションとフォルダー機能は共存できないので、これを有効化すると折りたたみや並び順は無視されます。

その他

  • フォルダー内の一括移動機能は、アイテム数が多いと重いです。
    • (シェイプキーの並び替えは、標準オペレーターを利用するしかないため)

一括処理

シェイプキーリストのアイコンをクリックすると、チェックアイコンに変わって選択状態になります。

複数選択したシェイプキーに対して、下記のような一括処理が行えます。

  • キーの挿入
    • 対象全てにキーが付いている場合は、キーの除去となります。
  • 値のリセット
  • 一括した値の変更
    • シェイプキーの値
    • 最大
    • 最小
    • 基準の対象
  • 一括フォルダー移動
    • 複数選択中に別 フォルダーへ移動すると、一括移動となります。

メニュー

  • [一括処理]メニューの上部には、左から下記のようにボタンが並んでいます。
    • 一括選択・一括選択解除・値の変更・キー挿入・値のリセット
  • 中央には、[一括処理を行う]ボタンを実行すると反映される値設定メニューが表示されています。
    • 値が設定されていない項目は、暗く表示されます。
    • 値を変更するとすぐさま選択中のアイテムにその値が反映されます。
  • 最下部には、対象となる個数・名前一覧が表示されます。

一括選択・一括選択解除

一括処理用のシェイプキー選択を、すべて選択または選択解除します。
Basisとフォルダー用シェイプキーは無視されます。

一括選択は、フォルダータブの場合はフォルダー内のアイテムを一括選択します。
一括選択解除は、フォルダーに関わらず全てのシェイプキーを選択解除します。

形状を転送(強制)

他選択オブジェクトの形状を転送します。
頂点数が合わなくても、強制的に頂点インデックス同士で転送します。

カーブでも利用できます。

同じ頂点インデックスでなければ正しく変形はしない

あくまで強制的なので遠い頂点同士が転移してしまうため、そのままでは活用しにくいです(頂点インデックスが同じでないと完全に正常な形状には変形はしません)。

そのため、主に後述の機能で分離したシェイプキーオブジェクトを、再度1つのメッシュにまとめるために使える機能です。

その他、パーティクルなどの頂点位置だけが必要なモーショングラフィックスの下地などで利用できます。

均等に配分オプション

ターゲットオブジェクトの頂点数よりソースオブジェクトの頂点数が少ない場合、最後の頂点位置に残りのシェイプキーがまとまらないように、再度インデックスを繰り返します。

全てのシェイプキーごとにオブジェクトを生成

「原神」よりフィッシュルの配布モデルを使用

シェイプキーごとにその形状の新規オブジェクトを作成します。

全シェイプキーを一覧表示したり、一度別オブジェクト化して個々に編集した後、再度シェイプキーとして結合するような使い方に便利です。

オプション

作成されたシェイプキーのオブジェクトは、X軸に並びます。

シェイプキーが多すぎて作成オブジェクトの並びが長くなる場合は、Z軸に数値を入れると行数ごとに折り返して並べることができます。

上画像のように顔のみを表示させたい場合は、事前にマスクモディファイアで身体を非表示にしてからこの機能を実行すると、表情だけ見やすく並べることができます。

仕様

この機能は、対象のシェイプキーと参照している基本のシェイプキーのみを有効状態にしてから新規シェイプキーを作り、最後にシェイプキーを除去することで形状を固定化しています。

参照しているシェイプキーを再帰的に有効状態にするため、基本のシェイプキーがBasis以外でもいくつも基本の形状表示が必要なシェイプキーでも別オブジェクトとして書き出すことができます。

モディファイアを適用(シェイプキー保持)

シェイプキーがあってもモディファイアを適用します。
各シェイプキーごとの複製を作って、[シェイプキーとして結合]を実行します。
この機能では、シェイプキーの各値やドライバーも保持されます

  • 適用後に、各シェイプキーの形状ごとに頂点数が変わってしまうモディファイアは適用できません。
    • 例えば、ベベルモディファイアの制限方法:[角度]では、形状によってベベル箇所が増減して頂点数が変わってしまう場合があるため、適用に失敗します。

仕様

一時的に各シェイプキーごとのオブジェクトを作成して、全てに同じモディファイアを適用、[シェイプキーとして結合]を実行して再度1つのオブジェクトに戻すことでモディファイアを適用しています。
ちなみに同じ方法をやればアドオンなしでもモディファイアを適用できます。

  1. シェイプキーごとに、オブジェクトを複製する。
  2. 対象のシェイプキーの値を1、その他の値を0にして、シェイプキーを全て削除する。
  3. 複製した全てのオブジェクトに、同じモディファイアを適用して選択する。
  4. ベースオブジェクトをアクティブ選択し、[シェイプキーとして結合]を実行する。
  5. 他の複製オブジェクトの形状をシェイプキーとして追加することができる。

別オブジェクトの同名シェイプキー同期

画像は[原神]キャラ(モナ)のモデルを使用

指定した同じコレクションの中にある別オブジェクトの、同名のシェイプキーを一括操作します。
目・まつげ・眉毛など、オブジェクト分けされている同じシェイプキーをまるごと操作するのに便利です。

  • メニューの場所
    3Dビュー > サイドメニュー > Addons > Lazy Shapekeys

対象コレクション内のオブジェクトの同名シェイプキーブロックのリストを作って、一括操作できるメニューを作ります。

顔・目・眉などパーツ分けされたモデルのシェイプキーを一括調整するのにも活用できます。

  • アップデート時に全ての値を一括同期したくない場合は、シェイプキーを持つアクティブオブジェクトを選択しないで実行します。
    または、実行後に3Dビュー左下のメニューから、[アクティブオブジェクトの値を設定] オプションをオフにします。

参考

GitHub - mio3io/Mio3ShapekeySync

[シェイプキーを左右に分離]機能

原点を中心に、シェイプキーを分離します。
元のシェイプキーの値を0.0にし、変形を左右に分離した.L / .R シェイプキーを2つ新規作成します。

3Dビューから実行した場合、中心となるXYZ軸を変更できます。

極まれにBlenderがクラッシュする場合があるようです。

  • シェイプキー > その他のメニュー内

値プリセット

シェイプキーの値をプリセットとして保存・ロードします。
よく使う表情のプリセットを保存して使いまわしすることができます。

値プリセットのデータはシーン設定に保存されます。

機能

  • 追加
    • アクティブオブジェクトのシェイプキーの値を、プリセットとして保存します。
  • ロード
    • プリセットを全ての選択オブジェクトにロードします。
    • 選択されているシェイプキーがある場合、選択されているシェイプキーのみ値をロードします。
  • 削除
    • シェイプキープリセットを削除します。
  • 移動
    • プリセットアイテムを並び替えます。

その他

  • 書き出し
    • シェイプキー名と値データの辞書を、json形式のファイルに書き出します。
  • 読み込み
    • json形式のデータファイルをインポートします。

ロードオプション

  • ミュートを無視
    • ミュートされているシェイプキーを無視します。
  • ロックを無視
    • ロックされているシェイプキーを無視します。

影響頂点の選択・選択頂点の形状のリセット

部分的にシェイプキーの形状をリセットしやすくなる機能です。
意図しない頂点の移動も探しやすくなります。

  • シェイプキーが影響している頂点を選択
  • 選択頂点のシェイプをBasisにリセット

その他メニュー

メニュー幅調整

フォルダーリストの間とシェイプキーのリスト内にて、左右にドラッグするとメニュー幅を変更できるバーを追加しました。

フォルダーリストの名前が見やすいように広げたい時や、シェイプキーリストだけ広くして作業したい時に便利です。
(シェイプキーリスト内の方は、マウスホバーしないと見えないようになっています)

アップデート履歴

アドオンの制作依頼はこちら

-Blenderアドオン
-

Copyright© 忘却まとめ , 2025 All Rights Reserved Powered by STINGER.