Home Artists Posts Import Register

Videos

  • Movement Test Breast and Butt V1.mp4
  • Movement Test Face V1.mp4
  • Movement Test Genitals V1.mp4
  • Movement Test Hand and Foot V1.mp4
  • Movement Test Penetrators V1.mp4
  • Penetrator Modification Original.mp4
  • Custom Properties Editing Original.mp4
  • Action Editing Original.mp4
  • Shapekey Editing Original.mp4

Downloads

Content

Intro

Hey there, it's been quite a while, hasn't it? But you'll be happy to know that I haven't been doing nothing in the meantime. I've been hard at work creating a new rigging system for my characters! 

Previously I've mostly been using Blenrig5 for my characters, and this new system is heavily inspired by it. However, Blenrig5 has quite a few limitations. 

  • It's made for regular human characters. So, no support for tails, wings, etc.
  • Creating new bones is quite difficult as the framework it uses is very complex to understand. In fact, I used a big chunk of the time I spent working on this project just analyzing different rigs and their components.
  • It's not made for extreme deformations, or really for any characters that have any topology that's more involved than very cartoony
  • Especially the facial bones were a nightmare to get behaving correctly, and I never really got it working to the full extent that it would give a human face. That's because muzzles and the like are different enough that the set up actions no longer made sense.

In general, I had to rely on a great bit of corrective smoothing and careful camera angles to get the renders I wanted or was at least happy with. So, one big goal for this new system was to be able to get any pose I wanted without having to fear that it looked wrong. And I'm happy to say that this has become the case! 

As a quick summary. The new rig is

  • Faster
  • More robust
  • Adaptable
  • Cleaner in structure
  • And has far more functions


Generic Modules

As a quick aside first. 

A lot of the time was also spent developing a set of python modules that made development of those tools and future ones a lot easier. With previous tools I never really invested the time to make the functions truly reusable. But with this one I hope to achieve this, and I've already tested it on a few smaller scripts that took a lot less time to write with the new modules.

They are for the most part a series of wrapper classes around existing bpy objects that add pointers back to the holding structures and add a bunch of frequently used functions.


Rig


System Specific

  • Dependency Cycles are no more
  • Increase in performance


  • Shapekeys for all objects driven either by controllers or transformation change of another bone


  • Adjustability
  • More shapekeys and controllers can be created with relative ease
  • Custom properties allow easy change for most limits and map ranges


  • Quick and easy editing of shapekeys and actions


  • Reprojection of armatures
  • Allows for quick reusability for new characters


  • Adaptability for new features
  • Writing of modules helped with making the process of adding new features much quicker


  • Cleanup of unchanging shapekeys and armature constraints as well as custom properties
  • Performance increase


  • Support for automatic parenting
  • Either via weights or with closest individual bone


  • BBone use for all outer skin deformation
  • Resulting in smoother deformation


  • Higher dependency on shapekeys means more control and less dependency on slow corrective smoothing


Rig Specific


  • Automatic shoulder movement
  • Up, Front/Back


  • Finger/Toe drumming
  • Constant rotation of controller allows for limitless repetition of the same drumming action in one direction.


  • Tail switch between tentacle and spline control system
  • Applies to all tail setups, including tail, ears and tongue


  • Actual good mouth closing


  • Lip actions
  • Rolling, side to side, up/down, in/out


  • Nostril actions
  • open, close


  • Claw Actions
  • Big, small


  • Support for digitigrade characters


  • Foot roll
  • Back Forward, Side to side


  • Breast and butt shrinking and growing


  • Support for any number of fingers and any amount of phalanges


  • Better deformation when spreading and moving legs



Workflow

The process starts by setting up a metarig with the Rigify structure. We also set up the controller bones at this stage.

Once the metarig is done, the objects can be prepared. The first step is to assign the collections holding all parts that should be rigged to body parts. There we can decide which bones should be responsible for parenting. We can also decide if the contained objects should be rigged with vertex weights, or directly to the bones. 

The metarig is then refined by the script into a version that cleans up problematic areas and adds loads of features and additional controls. It uses the previously set up body parts to distribute the shapekeys for later. The nice thing about the refinement step is that it doesn't reset any changes the rigger made on a previous attempt. For pretty much everything it checks if the property already exists, and if it does, it only adjusts the values if it makes sense.

Once the rig has been created, the objects should be parented to it. The parenting panel will do the first step with automatic rigging, which for most areas should be almost perfect already, though some like the upper legs require some cleanup. 

After that, the actions need to be set up, and following that, the shapekeys.

Once everything is looking good, the rigger has the option to apply a lot of the custom properties to make the rig evaluate faster, at the cost of losing a bit of freedom to change a few things later.



Optimized workflow

A few things can be done quicker if a previous version exists. If a somewhat compatible metarig exists, the rigger can create a reprojected rig that can easily be transformed in pose mode before the changes are then applied to the original back in edit mode, allowing the rigger to adjust proportions to a new character. 

Furthermore, actions can be reused, however I need to write a system that adjusts for proportional differences still.


Caveats

The rigging system needs to be run in Blender 3.0, as new matrix multiplications and Rigify presets have been introduced there, courtesy of Alexander Gavrilov https://github.com/angavrilov

Since it is currently in alpha and the official release has unfortunately been delayed a few months, the alpha build will have to be used until then.


Plans for the future

I want and need to adjust the rig system in the future to allow it to work for differently structured characters. That means I need to add wing support and the ability to use multiple body part of the same kind: Multiple heads, arms, legs, etc. to name a few things.

Also, I want to increase the functionality and design of existing parts. While I'm happy with for example the face for now, I do want to make improvements in the future. A long time was spent just testing out different bone meshes to fit the face and test out which controllers work, because there is virtually no reference for this kind of thing out there, unless we are counting the Disney and DreamWorks characters. But those are not disclosed to the public, and generally set up not in blender which would make compatibility questionable. So, I just had to see what works. And I'm sure in the future I'll come across better concepts and implement those in the system as well.


Closing thoughts

As this system is now in a somewhat completed state, I will be getting back to sculpting my next two characters and then rig them with this system. 

Files

Comments

Kaitoukitsune

Hot diggity dayum son! one of these days ima have to corner you and pick your brain for l, like, hours my dude!

Kaitoukitsune

I just started getting good with rigify and this is the kinda stuff i wanted to find to push the envelope of my rigs to make them really robust. I was almost at the point of putting money down for maya

Schism

my goodness! <3