Zpy Various/Miscellaneous Addons

I make a lot of “addons” for myself that often just sit on my computer.
Since I spend so much time making them, I decided to put them up for sale to try to validate my time and efforts.

My addons are generally intertwined while also separate.
Since there are so many, I’m making this thread is a hub for my stuff.

This thread is for general addon collections that I didn’t bother separating into isolated addons, tweaks to other people’s addons, and placeholders for the other addons I will post.

Prerequisite to using addons in this thread

To use these addons, you first place the zpy.py file into a modules folder

How to find modules

C:\Users\[username]\AppData\Roaming\Blender Foundation\Blender\[blender version#]\scripts\modules

There likely isn’t a modules folder here already. Just go to the scripts folder, create a new folder and name it modules

Alternatively you can use the modules folder in your Blender executable folder
C:\Program Files\Blender Foundation\Blender\[blender version#]\scripts\modules

but if you use Blender from a different folder or install/extra with a new folder, the module won’t load, so neither will the addons.

What is Zpy?

Bpy is used all around blender’s python and at some point I found that I could add functions/variables to it to send code between files/addons but I believe it’s best to “not” do this.
I found that I would re-use a lot of code to do the same tasks around my addons and when Blender’s Python API changes (like 2.7 to 2.8 but often smaller), I would have to update and replace code multiple times.

So, I decided to create a container for code to be re-used.

Z is because I just prefer to sort my addons at the bottom of the file list.

zpy (github)

Modifications to other addons:

These are copies of other addons but with various or minor changes/fixes by me.
If you don’t want any of these addons/tweaks, just tweak my tweaks, or remove the file or folder.
zpy__mods (github)

boneWidget Quickly create custom shapes for bones
driver_constraint_addon Quickly add drivers to things
system_reboot Restart Blender with one button
animation_keyframetools.py Ease/Flatten/Exaggerate Graph Editor keyframes
cs_change_frame.py Frame slider (with subframes); for analyzing animation
rigify_copy_parameters.py (requires Rigify enabled) Copy rigify parameters of active bone to selected
shapenonsense.py Transfer shapekeys to meshes with different topology
spacingsculptor.py Tweak animation curves from viewport (instead of the actual curve)
system_project_folder.py Open the folder of your current blender file

Various addons (github):

Pose Tools
Animation Tools
General Tools
Wait for Input
User Interface and Hotkeys

Note: These addons include other things, I just either didn’t feel they were worth mentioning, or I forgot.

Pose Tools
  • Pose
    • Quick annotation to Pose
    • Add bones from pose mode
    • Assign Automatic weights from pose mode
      • Mention bone heat failure fix/bypass
    • BBone UI panel in pose mode, displaying edit bone
    • Attach/Detach BBones for selected
    • Fill bone gaps
    • Merge vertex groups (keep/remove bones)
    • Parent bones from pose mode
    • Reload properties of proxy rigs
    • Select Grouped (tweak):
      • Pseudo Layers
      • In Object
      • Group (selects the group of the bone then members)
    • Weight Paint Isolate
      • Lock all vertex groups except of selected bones
General Tools
  • General:
    • Better panel for custom properties (bones)
    • Shapekey Stuff:
      • Apply masks to shapekeys
      • Disable all shapekeys
      • Duplicate shapekeys
      • Remove unused Shapekeys
      • New driver+custom prop with bone
    • Camera/Viewport Focal adjust
    • New Camera from viewport
    • Decompact/Autosort node tree
    • Incremental Save
    • Make Proxy/Override
    • Set Movieclip Framerate
    • Sequencer:
      • Set to scene Aspect Ratio
      • Set to scene Framerate
Animation Tools
  • Animation:
    • Frame Navigation:
      • Frame stepping with adjustable digit
      • Keyframe Jumping/skipping
      • Marker Jumping/skipping
    • Convert Annotation to Grease Pencil object
    • Motion Path hotkey and UI
    • Tween:
      • Breakdowner like internal
      • Works with objects
      • Works with NLA
      • Alternate mode for NLA to compare the pose
        • (instead of the keyframes)
    • Apply FCurve modifiers
    • Duplicate key loops (Alt+D)
    • Markers from selected keyframes
    • Reset Transforms from NLA or Default
    • Select keyframes by type
    • Set Preview Range hotkey
    • Transform Dynamic (Elastic/Back) keyframes
General UI and Keymaps
  • UI:
    • Remove unused Fcurves
    • Set global interpolation type
    • Custom fcurve smooth
    • General animation editor tweaks
    • Rename multiple markers
    • Split/Merge windows hotkey
    • Toggle XRay for objects hotkey
    • Toggle active window type hotkey
    • Viewport navigation
      • tweaks to control viewport from mouse
    • Button in header for toggling object xray and armature
Wait for Input
  • Animation Wait for input
    • Stop loop (Stop animation playback looping)
    • Slowmo (like real time animation)

Addons with their own threads:
Unlimited (Pseudo) Bone Layers

Placeholder Addons

These are my notes for the other addon folders I plan to upload.
Written to remind myself what to explain, posted here for you to have an idea of what I plan to post.

Paid Addons
Animation Baking to Cache
  • Bake Cache:
    • Highlights:
      • Transfer bake data
      • View animation during cache
      • Bake to different blend types
      • Smart Bake (only keyframed)
      • Rebake whenever
      • Multiple caches
      • Choose which properties to bake
      • Quick Cache/Bake
Snap 3D Cursor to Bone
  • Bone Cursor:
    • Highlights:
      • Snap to tail (operator)
      • Automatic snap
      • Adjustable snap position
      • Center of Mass (sort of)
Add Constraints (macros/auto-setup)
  • Constraints:
    • Highlights:
      • Add constraints to/from multiple items
      • Add Child Of with auto inverse
      • Add other constraints with auto defaults
      • Generate bones
        • Generate bones with widgets
      • Generate empties/meshes
      • Link constraints to the original
      • Delete constraints
      • Toggle constraints
      • Spline IK generation
      • Preset Constraints
      • Macro Constraints
    • Bonus:
      • Separate version to include Bake Cache
Levels of Detail (swap object datas)
  • Levels of Detail:
    • Highlights:
      • Animate LoD (change the actual mesh)
      • Use with other data types
      • My use example (empties for characters)
      • Note:
      • Hide collection from viewport
        • Operator to hide collections when they’re
        • proxy, because the actual property is locked
Transform-like operators
  • Modal Transforms:
    • Highlights:
      • Pose mode Proportional
      • Toggle Inherit Rot/Scale
      • Adjustable IK
      • Damped Track based rotation
Various NLA interface-tweaks/tools
  • NLA Tools:
    • Highlights:
      • Name strips names already used
      • Rename Multiple strips
      • Select multiple strips (between objects)
      • Modal loop strips (set strip repeat)
      • Enter tweak mode and still select strips
        • The weird thing I demonstrated to likkez
      • Duplicate strips (same name)
      • Duplicate strips (loop)
      • Modal Blend in/out
      • Set Blend type with button
SlowMo (play animation slow and smooth)
  • Slowmo:
    • Highlights:
      • Preview slowmotion without altering data
      • Set speed to allow editing
Breakdown Sync
  • Sync Breakdown:
    • Highlights:
      • Edit animation, blended from markers
      • Edit animation, based on selected markers
      • Edit animation, based on key types
      • Move keyframes, and have breakdown
        • keys, stay aligned
    • Note:
      • Separate version to include keyframe navigation
      • Mention button to set default key type
My custom Keyingset
  • Variant Keyingset:
    • Highlights:
      • keyframe whole character with autokeying
      • key only unlocked values
      • adjustable parameters to keyframe to