忘却まとめ

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

【Lazy Shapekeys】形状の強制転送・個々のシェイプキーを別オブジェクト化するアドオン【Blenderアドオン】

Blenderアドオン

更新日:

頂点数が合わなくても強制的に形状を転送したり、個々のシェイプキーを別オブジェクト化するアドオンを紹介します。

■ 主な機能

  • 全てのシェイプキーごとにオブジェクトを生成
  • 形状を転送(強制)
  • モディファイアを適用(シェイプキー保持)
  • 同名別オブジェクトのシェイプキー同期

ダウンロード

gumroad

Blender Market

メニュー

  • プロパティ > メッシュデータ > シェイプキー > 細かなメニュー内

形状を転送(強制)

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

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

あくまで強制的なので遠い頂点同士が転移してしまうため、そのままでは活用しにくいです。
パーティクルなどの頂点位置だけが必要なモーショングラフィックスの下地などで利用できます。

均等に配分オプション

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

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

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

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

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

オプション

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

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

体と顔が一体化したメッシュで体を表示させたくない場合は、事前にマスクモディファイアで頭部のみ表示してからこの機能を実行すると、表情だけ見やすく並べることができます。

仕様

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

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

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

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

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

仕様

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

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

同名別オブジェクトのシェイプキー同期機能を追加

画像は[原神]キャラ(香菱/フィッシュル)のモデルを使用

同名別オブジェクトのシェイプキーを同期して、一括操作できる機能を追加しました。

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

対象コレクション内のオブジェクトの同名シェイプキーブロックのリストを作って、一括操作できるメニューを作ります。
オブジェクト分けされている同じシェイプキーをまるごと操作するのに便利です。

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

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

参考

GitHub - mio3io/Mio3ShapekeySync: このアドオンはBlender3.0以降には対応していません。今の所対応予定はありません。

[リストメニューでフォルダー分割を使用]オプションを追加

名前の行頭に「@」が付くシェイプキーブロックを、フォルダーにします。
シェイプキーのリストメニューに段差を付けて、分類しやすくします。

アドオン設定から有効化できます。
開発途中のためデフォルトでオフです。

アップデート履歴

ver1.0.2

2022-02-02

  • モディファイアを適用(シェイプキー保持)機能を追加しました。
  • 同名別オブジェクトのシェイプキー同期機能を追加しました。

ver1.0.1

2021-04-21

  • 形状の転送(強制)機能
    • 利用できない問題を修正しました。
    • カーブのシェイプキーにも対応しました。
  • 全てのシェイプキーごとにオブジェクトを生成機能
    • 新規オブジェクト名オプションを追加しました。{obj_name}は複製元のオブジェクト名、{sk_name}はシェイプキー名に置換されます。

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

-Blenderアドオン
-

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