2025-01-02 21:35:55 -06:00
2024-12-26 02:55:04 -06:00
2024-12-28 04:13:34 -06:00
2024-12-27 15:18:48 -06:00
2024-12-28 04:13:34 -06:00
2025-01-02 21:30:58 -06:00

Damn Simple Pose Library

In Blender 3.x, a new Asset-based Pose system was introduced. That's fine and dandy, but it was not (and still is not as of Jan 2025) ready to replace the old Action-based Pose Library system.

The former Pose Library was deprecated and gutted rapidly during Blender 3.x, leaving legacy users high and dry. This addon brings the feature back as best as it can in a modern panel. Most, if not all existing Pose Libraries should work without any modifications, little new is introduced outside of string suffixes and mitigations (read further).

Features

  • Supports Blender 3.3 - 4.3 (4.1 recommended).
  • New panel interface for interacting with pose libraries, inspired by gret's Actions Panel feature.
    • The older Pose Library list layout is provided as option.
  • Operators and data property that were removed in 3.5 are ported from C to Python:
    • dspl.apply_pose
    • dspl.browse_poses
    • dspl.create_pose_library
    • dspl.convert_pose_library
    • dspl.add_pose
    • dspl.move_pose
    • dspl.remove_pose
    • dspl.rename_pose
    • dspl.unlink_pose_library
    • Object.pose_library

Installation

  1. Download the repository as a zip, or otherwise clone the repository.
  2. Install as an Add-on in Blender via Install -> Zip, and enable.
  3. Optionally configure the suffix strings to fit your workflow, and whether the orhpan checker should run at startup.

Usage

  1. Open Sidebar (N), and choose the Pose tab.
  2. Select existing Pose Library from drop-down, or create a new library.

Hotkeys:

  • Shift + L - Add/Replace Pose
  • Alt + L - Browse Poses with Arrow Keys

Menu Controls

  • Single click - Apply Pose
  • Shift + Click - Rename Pose
  • Ctrl + Click - Remove Pose
  • Choose Edit for fast Move/Rename/Removal

Considerations

  • Opening older scenes will cause existing Pose Libraries to unlink from their former targets and fall into orphan state. They can be re-linked and will retain their link when saved afterwards, but would otherwise disappear if saved without linking or protecting the datablock.

    • This is due to the core DNA type poselib having been removed, so objects will drop the data. There is no way to prevent this as Python ID properties cannot be present at program runtime, only once the add-on is initialized.
    • To mitgate, an operator is provided to protect orphaned pose libraries: dspl.protect_orphan_pose_library.
  • This add-on was made much easier by the pose_markers property being retained for converting old pose libraries to the new asset system. If they decide to remove that property as well, there will be a need to improvise an index-based lookup.

Description
No description provided
Readme 321 KiB
Languages
Python 100%