Pose Shape Keys: Major Update #321

Merged
Demeter Dzadik merged 10 commits from pose-shape-keys-extension into main 2024-07-03 14:50:58 +02:00
Member
  • Convert to an Extension.
  • Re-organized UI for a more top->bottom workflow and improve UI strings.
  • Add poll messages for all failure cases of all operators.
  • Re-organize code for a more standard add-on structure, format with Black.
  • Improved operators for adding Pose Shape Keys and Shape Keys:
    • Now prompt you to enter a name instead of having to do it as a separate action.
    • Can choose to create new or select existing shape key / vertex group mask.
    • Removing a shape key slot removes the shape key itself, unless you hold Shift.
    • Removing a shape key removes its drivers.
  • Implement automatic Driver set-up
    • A lot of people seem to struggle with this, and it will be a significant speed boost for me as well. It scans (and displays) which channels are posed, creates corresponding driver variables, then multiplies them together. You can do this on a per-shapekey basis, or not do it at all.
    • Supports Loc/Rot/Scale. Scale is special-handled correctly. All rotation modes are converted to Euler under the hood, then interpreted as Swing+Y Twist, because that allows mixing shape keys for multiple axes of rotations without weird transitions between poses.
    • Implementation assumes that the posed bones should be the driving bones, which is not always true. For face rigs though, it usually is.
- Convert to an Extension. - Re-organized UI for a more top->bottom workflow and improve UI strings. - Add poll messages for all failure cases of all operators. - Re-organize code for a more standard add-on structure, format with Black. - Improved operators for adding Pose Shape Keys and Shape Keys: - Now prompt you to enter a name instead of having to do it as a separate action. - Can choose to create new or select existing shape key / vertex group mask. - Removing a shape key slot removes the shape key itself, unless you hold Shift. - Removing a shape key removes its drivers. - Implement automatic Driver set-up - A lot of people seem to struggle with this, and it will be a significant speed boost for me as well. It scans (and displays) which channels are posed, creates corresponding driver variables, then multiplies them together. You can do this on a per-shapekey basis, or not do it at all. - Supports Loc/Rot/Scale. Scale is special-handled correctly. All rotation modes are converted to Euler under the hood, then interpreted as Swing+Y Twist, because that allows mixing shape keys for multiple axes of rotations without weird transitions between poses. - Implementation assumes that the posed bones should be the driving bones, which is not always true. For face rigs though, it usually is.
Demeter Dzadik added 9 commits 2024-07-02 19:55:50 +02:00
- Add extension .toml file.
- Remove changelog.md.
- Cleanup short variable names.
- Add poll messages.
- Replace reset_rig.py with reset_rig() from cloudrig.py.
- Use PEP 585 for typing where there was any typing.
- Adding both Pose Keys and Shape Keys now prompts to enter a name, rather than having to do it as a separate action.
- Adding Shape Keys also prompts Vertex Groups. You can also choose to either create new or browse existing Shape Key and Vertex Group.
- Removing a Shape Key Slot also removes the corresponding shape key and all of its drivers, unless Shift is held, which is mentioned in the tooltip.
This detects which bones are posed in the pose associated with the Pose Key, creates driver variables for all posed channels, and multiplies them together.

Should work with scaling.
Uses Swing and Y twist for rotations.
Displays in a pretty and compact fashion in advance which transforms will be used for the driver.
Demeter Dzadik added 1 commit 2024-07-02 20:12:08 +02:00
Demeter Dzadik merged commit 10d58532fe into main 2024-07-03 14:50:58 +02:00
Demeter Dzadik deleted branch pose-shape-keys-extension 2024-07-03 14:50:59 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: studio/blender-studio-tools#321
No description provided.