タグ: blender-manual

  • Blender : Add-on取説 ~ KJ Shape Key Current Value Tools ~ 現在の全Shape Key状態を1つのshape keyに詰め込む

    Blender : Add-on取説 ~ KJ Shape Key Current Value Tools ~ 現在の全Shape Key状態を1つのshape keyに詰め込む

    概要

    KJ Shape Key Current Value Tools (Add-on)は、現在のShape Key状態を新しくに作ったshape keyに詰め込むAdd-onです。

    Blender標準のShape Key操作では、選択Shape KeyをBasis化したり、Basisへ反映したりできますが、Value=1.0以外の状態を反映することはできません.そこで,どのような状態のshape (0<Value <1.0)であっても1つのshape keyに収める(下表No.3の機能)ためのAdd-onです。

    このAdd-onでは、次のような処理ができます。

    Image
    Image
    Image
    Image
    No.機能内容
    1選択Shape Keyの現在Valueを新規Shape Key化Value=0.3や0.6など、現在値の形を新しいShape Key(自動生成)にする
    2選択Shape Keyの現在ValueをBasisへ反映Value=1.0ではなく、現在Value分だけBasisへ焼き込む
    3全Shape Keyの現在状態を1つに統合複数Shape Keyの現在Valueを1つの新しいShape Keyに押し込める
    4元Valueの記録(補助機能)統合前に、どのShape KeyがどのValueだったか記録する
    5元Valueの復元(補助機能)統合後でも、元のShape Key Value状態へ戻して再調整できる

    Blender公式マニュアルでは、Shape Keyはオブジェクトを別形状へ変形するための機能であり、Morph TargetやBlend Shapeとも呼ばれると説明されています。また、BasisはShape Keyの基準形状として扱われます。


    対応環境

    項目内容
    Add-on名KJ Shape Key Current Value Tools
    バージョンv0.1.2
    作者KenJin
    対応想定Blender 5.1
    対象Mesh Object
    表示場所3D Viewport > N Menu > KJ Shape

    インストール方法

    1. Blenderを起動します。
    2. 上部メニューから Edit > Preferences を開きます。
    3. Add-ons を選択します。
    4. 右上の Install を押します。
    5. kj_shape_key_current_value_tools.py を選択します。
    6. Add-on一覧で KJ Shape Key Current Value Tools にチェックを入れます。
    7. 3D Viewportで Nキー を押します。
    8. サイドバーに KJ Shape タブが表示されれば準備完了です。

    基本的な考え方

    通常のShape Key

    Shape Keyは、Basisを基準として別の形状を記録する仕組みです。

    例:

    Shape Key(名)内容
    Basis通常の顔
    Smile笑顔
    Blinkまばたき
    Eye_Adjust目の補正

    各Shape KeyにはValueがあります。

    Smile = 0.40
    Blink = 0.25
    Eye_Adjust = 0.60
    

    この場合、画面に表示される形は、これらのShape Keyが現在Valueで合成された状態です。


    このAdd-onでできること

    1. Active Current Value -> New Shape Key (No.1機能)

    選択中のShape Keyの現在Value状態を、新しいShape Keyとして保存します。

    たとえば、Smile のValueが 0.40 のときに実行すると、Smileの40%分だけ変形した形が新しいShape Keyになります。

    使用例

    操作前内容
    Active Shape KeySmile
    Smile Value0.40

    実行後、新しいShape Keyとして Current_Value などが作成されます。

    この新しいShape Keyは、Smileの100%変形ではなく、Smile 0.40相当の形です。

    使いどころ

    • 変形が強すぎるShape Keyから中間形状を作りたい場合
    • Value=1.0ではなく、現在表示されている程度の変形を保存したい場合
    • 顔の表情、まぶた、口、黒目位置などの中間状態をShape Key化したい場合

    2. Active Current Value -> Basis / Keep Residual (No.2機能)

    選択中Shape Keyの現在Value分をBasisへ反映します。
    ただし、元のShape Keyは削除せず残します。

    使用例

    操作前内容
    Active Shape KeyEye_Adjust
    Eye_Adjust Value0.60

    この状態で実行すると、Eye_Adjustの60%分だけBasisへ反映されます。
    その後、Eye_Adjust自体は残ります。

    使いどころ

    • 基本形状を少しだけ補正したい場合
    • ただし、元Shape Keyは削除せず後で再調整したい場合
    • 作業の安全性を優先したい場合

    3. Active Current Value -> Basis / Delete Active (補助機能)

    選択中Shape Keyの現在Value分をBasisへ反映し、そのShape Keyを削除します。

    使用例

    操作前内容
    Active Shape KeyFace_Correction
    Face_Correction Value0.50

    実行すると、Face_Correctionの50%分がBasisへ反映され、Face_Correctionは削除されます。

    使いどころ

    • 補正用Shape Keyを恒久的にBasisへ取り込みたい場合
    • そのShape Keyをもうスライダーとして使わない場合

    注意

    削除すると元に戻しにくくなるため、通常は先に Keep Residual を使う方が安全です。


    4. Current Mix -> New Shape Key (No.3機能)

    現在の全Shape Key Valueの合成状態を、新しいShape Keyとして作成します。

    ただし、この機能では元Shape KeyのValueはリセットしません(表示は合成させることになる)。
    そのため、新しく作ったShape KeyをValue=1.0にすると、元のShape Keyと重なって二重変形になる。

    使いどころ

    • 現在の見た目だけを新しいShape Keyとして保存したい場合
    • 元のShape Key Valueはそのまま残したい場合

    5. Pack All Current Values -> New Shape Key (No.3機能)

    このAdd-onの中心機能です。

    現在存在する全Shape KeyのValue状態を、1つの新しいShape Keyに統合します。
    同時に、元になったShape Key名とValueを記録します。

    操作前:

    Shape KeyValue
    Smile0.40
    Blink0.25
    Eye_Adjust0.60
    Mouth_Correction0.30

    この状態で Pack All Current Values -> New Shape Key を押すと、これら全ての現在状態が Packed_Current_All などの新しいShape Keyに統合されます。

    推奨設定では、実行後は次のようになります。

    Shape KeyValue
    Smile0.00
    Blink0.00
    Eye_Adjust0.00
    Mouth_Correction0.00
    Packed_Current_All1.00

    この状態でも、見た目はPack前と同じになります。
    つまり、複数Shape Keyの現在状態を、1つのShape Keyだけで再現できます。


    Pack All Current Valuesの設定

    Packed Key Name

    新しく作る統合Shape Keyの名前です。

    初期値:

    Packed_Current_All
    

    必要に応じて、次のような名前に変更できます。

    Face_A_Expression
    Eye_Adjust_Final
    Smile_Blink_Mix
    

    Reset Source Values

    Pack後に、元Shape KeyのValueを0に戻す設定です。

    設定意味
    ON元Shape KeyのValueを0に戻す
    OFF元Shape KeyのValueをそのまま残す

    通常は ON推奨 です。

    ONにすると、新しく作ったPacked Shape Keyだけで形を再現できます。


    Set New Key Value to 1.0

    Pack後に、新しく作ったPacked Shape KeyのValueを1.0にする設定です。

    設定意味
    ON新しいPacked Shape Keyを有効にする
    OFF新しいPacked Shape Keyを0のままにする

    通常は ON推奨 です。

    ただし、Reset Source ValuesをOFFにした場合、元Shape KeyのValueが残ったままになるため、新しいShape Keyまで1.0にすると二重変形になる可能性があります。


    元Shape Key Valueの記録

    Pack実行時、このAdd-onは元になったShape Key名とValueを記録します。

    例:

    Packed Key: Packed_Current_All
    Source Shape Key Values:
    - Smile: 0.400000
    - Blink: 0.250000
    - Eye_Adjust: 0.600000
    - Mouth_Correction: 0.300000
    

    この記録により、後で再調整したい場合に、元のShape Key Value状態へ戻すことができます。


    Restore Source Values from Active Packed Key

    選択中のPacked Shape Keyに保存されている記録を使って、元Shape KeyのValueを復元します。

    操作の意味

    実行すると、基本的には次の状態になります。

    Shape KeyValue
    Packed_Current_All0.00
    Smile0.40
    Blink0.25
    Eye_Adjust0.60
    Mouth_Correction0.30

    つまり、Pack後に1つにまとめた状態から、再び元のShape Key群で調整できる状態に戻せます。


    Restore機能の設定

    Zero All Values Before Restore

    復元前に、全てのShape KeyのValueを0にする設定です。

    設定意味
    ONいったん全Shape Keyを0にしてから記録値を復元
    OFF現在値を残したまま、記録されたShape Keyだけ復元

    通常は ON推奨 です。

    ONにすると、余計なShape Key Valueが残ることを防げます。


    Set Active Packed Key to 0.0

    復元時に、選択中のPacked Shape KeyのValueを0にする設定です。

    設定意味
    ONPacked Shape Keyを0にする
    OFFPacked Shape KeyのValueを維持する

    通常は ON推奨 です。

    ONにすることで、Packed Shape Keyと元Shape Key群が同時に効いて二重変形になることを防げます。


    Copy Stored Source Values

    選択中のPacked Shape Keyに保存されている元Shape Key名とValueをクリップボードにコピーします。

    使いどころ

    • 作業記録として残したい場合
    • ブログやメモに貼りたい場合
    • どのShape Keyが関与していたか確認したい場合
    • 手動で値を見ながら再調整したい場合

    推奨ワークフロー

    複数Shape Keyを1つにまとめたい場合

    1. 対象メッシュを選択します。
    2. Smile、Blink、Eye_AdjustなどのValueを調整します。
    3. 現在の見た目を確認します。
    4. Nメニュー > KJ Shape > KJ Shape Key Current を開きます。
    5. Packed Key Name に名前を入力します。
    6. Reset Source Values をONにします。
    7. Set New Key Value to 1.0 をONにします。
    8. Pack All Current Values -> New Shape Key を押します。

    これで、複数Shape Keyの現在状態が1つのShape Keyに統合されます。


    Pack後に再調整したい場合

    1. Packed Shape Keyを選択します。
    2. Zero All Values Before Restore をONにします。
    3. Set Active Packed Key to 0.0 をONにします。
    4. Restore Source Values from Active Packed Key を押します。
    5. 元のShape Key Valueが復元されます。
    6. 必要なShape KeyだけValueを微調整します。
    7. 必要であれば、再度Packします。

    操作例

    例:顔の表情を1つにまとめる

    Pack前

    Shape KeyValue
    Smile0.35
    Eye_Close_L0.20
    Eye_Close_R0.20
    Mouth_Open0.15

    この状態でPackすると、現在の顔の表情が1つのShape Keyになります。

    Pack後

    Shape KeyValue
    Smile0.00
    Eye_Close_L0.00
    Eye_Close_R0.00
    Mouth_Open0.00
    Packed_Current_All1.00

    この状態では、Packed_Current_Allだけで元の表情を再現します。

    再調整時

    Restoreを実行すると、次の状態に戻せます。

    Shape KeyValue
    Smile0.35
    Eye_Close_L0.20
    Eye_Close_R0.20
    Mouth_Open0.15
    Packed_Current_All0.00

    ここから、たとえばSmileだけ0.45に変更して、再度Packできます。


    注意点

    1. Shape Key名を変更すると復元できない場合がある

    復元記録はShape Key名で管理しています。
    そのため、Pack後に元Shape Keyの名前を変更すると、Restore時に見つけられない場合があります。

    2. 元Shape Keyを削除すると復元できない

    記録されるのはShape KeyのValueです。
    Shape Keyそのものを削除した場合、そのShape Keyは復元できません。

    3. Shape Keyの形状自体を編集した場合、完全復元にはならない

    このAdd-onが記録するのはValueです。
    頂点座標の完全バックアップではありません。

    そのため、Pack後に元Shape Keyの形状自体を編集した場合、Valueを戻してもPack前と完全に同じ見た目にならない可能性があります。

    4. Packed Shape Keyと元Shape Keyを同時に有効にすると二重変形になる

    Pack後に元Shape KeyのValueを戻し、さらにPacked Shape Keyも1.0のままにすると、変形が二重にかかります。

    再調整時は、通常次の状態にします。

    Packed Shape Key = 0.0
    元Shape Key群 = 記録されたValue
    

    5. 頂点数が変わる編集には注意

    Shape Keyは同じ頂点構造を前提に動作します。
    Shape Key作成後に頂点追加・削除などを行うと、Shape Keyの整合性が崩れる可能性があります。


    ボタン一覧

    ボタン機能
    Active Current Value -> New Shape Key選択Shape Keyの現在Value状態を新規Shape Key化
    Active Current Value -> Basis / Keep Residual選択Shape Keyの現在Value分をBasisへ反映し、元Keyは残す
    Active Current Value -> Basis / Delete Active選択Shape Keyの現在Value分をBasisへ反映し、元Keyを削除
    Current Mix -> New Shape Key全Shape Keyの現在ミックス状態を新規Shape Key化
    Pack All Current Values -> New Shape Key全Shape Keyの現在Value状態を1つの新Shape Keyに統合し、元Valueを記録
    Restore Source Values from Active Packed Key選択Packed Keyに保存された元Valueを復元
    Copy Stored Source Values保存された元Shape Key名とValueをクリップボードへコピー

    まとめ

    KJ Shape Key Current Value Toolsは、Shape Keyの現在Value状態を柔軟に扱うためのAdd-onです。

    特に重要なのは、全Shape Keyの現在状態を1つの新しいShape Keyに統合し、さらに元のValue状態も記録・復元できる点です。

    これにより、次のような作業がしやすくなります。

    • 複数Shape Keyを組み合わせた表情を1つのShape Keyにまとめる
    • Pack後に元Shape KeyのValueを忘れずに再調整する
    • 中間ValueのShape Keyを新規作成する
    • Value=1.0では強すぎる変形を、現在ValueのままBasisへ反映する
    • 作業履歴として、どのShape Keyがどの程度使われていたか確認する

    Shape Keyを多用する顔モデリング、まぶた調整、口形状、黒目スクリーン、補正Shape Key管理などで有用です。


    参考文献・出典