JD Rigging Tools - Free Addon

Hi there,
I made a Rigging Tools Addon for Blender and its free to whoever wants it :grin:

Introduction

JD Rigging tools is a Blender Addon to do simple rigging actions faster. While Blender has some great auto rigging Addons, such as Rigify and Auto-Rig Pro,
there arenā€™t many to assist creating your own custom rigs. I made this Addon for that reason. With it you can easily make a bone matching the world axis with one click,
rig multiple objects at once each with their own controllers, add a custom object to multiple bones at once from a library of object shapes and more!

Download the Addon and further details here:
Gumroad: https://gum.co/jd_rigging_tools
GitHub: https://github.com/jaldoyle/jd_rigging_tools

Compatible with Blender versions 2.8+.

Some of the tools are very specific to my workflow when rigging in Blender. However, my workflow is primarily based on Pierrick Picautā€™s tutorial course
ā€œThe art of effective rigging in Blenderā€, so anyone who follows the workflow he teaches should understand the bone hierarchies and naming conventions that the Addon creates. I would like to make this Addon useful to as many riggers and animators as possible, so if you have suggestions on how the Addon could assist your workflow better, please let me know and I will try to implement it. I am still relatively new to Python, Addon development and GitHub especially, so please be patient with me if it takes me some time to figure things out. If anyone has edit suggestions to the python files to make it more efficient it would be greatly appreciated.

Please consider rating on Gumroad and leaving a small tip for a coffee/beer, if youā€™re able to :wink:

Installation

In Blender go to Edit > Preferences > Add-ons. Click Install, select JD_rigging_tools.zip and Install Add-on. Do not unzip the file, install wonā€™t work. Then tick the box next to Rigging: JD_Rigging_Tools.

Features

Rig Create Tools

Base Rig

Creates a Base Rig (armature) object with All, main and main_offset CTL bones and TGT_root bone. Sets bones in the hierarchy and creates constraint. Also creates and assigns widget objects, bone layers and bone groups. Widget objects assigned to a hidden collection. Assumes Object mode is active.

World Bones

Creates an edit bone with axis matching the world in the active armature. Depending on which button is used, the bone will or will not have deform active. Head of bone matches 3D cursor position. Assumes Edit mode is active.

Control & Target Bones

Adds CTL and/or TGT bones to selected bones(DEF bones expected, but can be used on other bones). If Both are added, TGT a child of CTL and selected bone constrained to TGT. CTLā€™s parent will be set to the corresponding selected bone parentā€™s CTL. Selected boneā€™s parent will be TGT_root if present or as None. If just CTLs are added, selected bones are constrained to CTLs instead. If just TGTs are added, TGTā€™s parent will be set to the corresponding selected bone parentā€™s TGT. Assumes Edit mode is active and bones selected.

Mechanical Bones & Constraints

Adds MCH as parents of selected bones and MCH_INT as children of the active bone. Then constrains MCH bones to the MCH_INT. This makes an offset constraint, so children of MCH bones retain their original positions, but driven by the MCH_INT parent. Can also toggle the influence of constraints with follow toggles, eg. can have arm inherit torso rotation or not. Assumes Edit mode is active and bones selected with one active.

Constraints

Adds Constraints to selected bones, with active bone as the target.
Assumes Pose mode is active and bones selected with one active.

CTL Each

Adds CTL, TGT and DEF bones at the centre of each selected object. An armature will be created if there is no armature object present in the scene. Otherwise, the bones will be added to an existing armature. Sets bones in the hierarchy and creates constraint. Also creates and/or assigns widget objects, bone layers and bone groups. Widget objects are assigned to a hidden collection. Assumes Object mode is active and mesh objects are selected.

WGT Adder

Assigns a new widget object as selected bonesā€™ Custom Object. If the widget object already exists, the existing object is assigned. Widget shape depends on the panel button used.
Widget objects are assigned to a hidden collection. Widget object creation functions are found in jdr_wgt_library.py. Assumes Pose mode is active and bones are selected.

Add Vertex Group

Adds a vertex group to each selected object. The vertex group name is taken from the text box in the panel. All vertices of the object are assigned to the group. Useful if you want all selected objects weighted to one bone or all objects will have a similar modifier affecting all their vertices, eg. mask modifier. Assumes Object mode is active, text in the text box and mesh objects are selected.

I have ideas for more tools to add for possible future releases.

15 Likes

Thanks Josh, Very generous of you. will give it a try soon.

1 Like

Nice one!

Iā€™m looking a bit more seriously into Blenderā€™s rigging atm, and this one is great!
Thanks for sharing this :slight_smile:

rob

1 Like

Traceback (most recent call last):
File ā€œC:\Program Files\Blender Foundation\Blender 2.90\2.90\scripts\modules\addon_utils.pyā€, line 351, in enable
mod = import(module_name)
ModuleNotFoundError: No module named ā€˜jd_rigging_tools-1ā€™ im using 2.90

1 Like

Thanks for bringing to my attention, havenā€™t tested in 2.9 yet. Will look into it as soon as I can.

I had a look, it seems the Addon is working in 2.9 and I canā€™t seem to re-create the error message youā€™re getting. Did you install it on a previous version of Blender then load the old version settings when starting up 2.9? You may need to remove the add on then reinstall it. Let me know if that helps.

Thanks for the add-on ā†’ the included widget adder is nice! :+1:

As I just installed it and the same error came up:
Itā€™s an issue with the name of the folder, which gets installed.
Downloaded from GitHub: jd_rigging_tools-1.3.zip and installed will create a folder called:
jd_rigging_tools-1.3
But the add-on is looking for a folder named:
jd_rigging_tools-1
So renaming it as such within the installation directory e.g. C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons will fix the issue.

1 Like

Hi there, thanks for bringing this to my attention :slight_smile:

Where are you downloading to get the jd_rigging_tools-1.3.zip file?

On Github I would go to the master branch > Code > Download Zip. This gives a file called jd_rigging_tools-master.zip, which also installs properly.

Well, you are providing official releases, which creates the 1.3 file :wink:

image

1 Like

Ahhh I didnā€™t realise it renames the file in there :sweat_smile:

I Will try to sort that out soon, thanks for letting me know.

1 Like

Ok, I have added a new asset to that release called jd_rigging_tools_1_3_0.zip which will install correctly :+1:

Hi There!

Just a disclaimer, this add-on is currently compatible with Blender versions 2.8-3.6. Not compatible with versions 4.0 onwards, due to bone collections replacing bone layers and groups. I hope to update it in the future but have no timeframe for when it will be ready.

3 Likes

Hi bro, I also watched Pierrick Picautā€™s course and I have been using your plugin again! The plugin is great, Iā€™m already proficient in using it and Iā€™m currently still using version 3.6. Looking forward to your update to version 4.0 soon, Iā€™ll be cheering you on! Thank you!