Age | Commit message (Collapse) | Author |
|
|
|
|
|
The name palm is already associated with another control in Rigify.
|
|
|
|
Allow replacing the parent bone and constraint targets after all
bones have been generated. When enabled, constraints with a '@bone'
notation in their name will have their target bone replaced with
the one from the name. Using just 'MCH' or 'DEF' will replace the
prefix of the existing target. The parent bone can be replaced via
a string input field in rig options.
Tested by wrapping the simple muscle system of MB-Lab.
|
|
Implement options to generate a parent switch mechanism for the
main pivot control, and to register the pivot as a parent for other
rigs to use (including support for one level parent injection).
|
|
The control itself is simply a pivot around the end of the hand
bone, similar to those in the foot and paw. However, the main
point of it is that it allows future finger IK to use the IK
control as the parent, while still allowing the wrist to be moved
relative to it.
|
|
For better compatibility, support the Tweak layer assignment
in super_finger for the detail controls, and allow changing
the B-Bone resolution.
|
|
|
|
This is necessary to fully preserve complex custom rigging
(especially with B-Bones) included directly in the metarig.
Doing this otherwise would require implementing correct
copying of all possible constraints and bone settings.
|
|
Allow tagging parents with arbitrary strings to be later used
in selecting the best default parent for a child control.
Also add a tagged parent point at the limb IK control.
|
|
The operator itself simply snaps a chain of bones to a different
chain, so nothing in it in fact is specific to IK or FK. To make
this even more explicit, rename the operator and add some extra
options to control the tooltip and which properties are changed.
Also include some other minor enhancements in the script utilities.
|
|
|
|
Allow switching the foot IK control between pivoting around
the base of the toe as before, around the ankle, or ankle with
additional toe pivot. Also rewrite the foot roll mechanism to
use correct Euler orders that match the actual bone hierarchy.
|
|
|
|
- Add an optional custom pivot between torso and the rest of the spine.
- Add a custom pivot rig that can be used as a parent of the spine.
- Add an optional custom pivot under limb IK controls.
|
|
|
|
All metarigs are updated to use split spine components, as super_spine
is deprecated and won't generate FK controls for backward compatibility.
|
|
The layer selection for the spine tweaks happens to be the default value,
so simply copying the data does not overwrite non-default garbage values
remaining in some of the bones. To fix it's necessary to clear params.
|
|
- Add a parent switch to the main spine control, to allow using the
key baking operator to convert between moving and fixed root bone.
- Add hips, chest and head as parents for children of the spine.
- Use 'Fix Shear' Inherit Scale and 'Make Uniform' Copy Scale in limbs.
- Switch code to use the new inherit_scale parameter of set_bone_parent.
- Allow local matrices in adjust_widget_transform_mesh.
|
|
The idea is inspired by similar shapes in other rigs like BlenRig.
The actual used shape is simply a circle deformed into a parabolic
shape when viewed from the side, added to create_circle_widget.
Using the new shape for the main controls allows adding extra FK
controls to the spine without visual confusion.
As an aside, fix a minor issue in handling bone_transform_name,
and remove redundant bone_transform_name=None parameters.
|
|
Toes behave as FK, but are needed both in IK and FK mode.
|
|
Due to dynamically loaded rig modules, Rigify has to implement
reload by purging all non-core modules from memory, or class
inheritance checks won't work right after reload.
|
|
|
|
|
|
Spine is split into parts. Limbs and tentacles simply converted.
Differential Revision: https://developer.blender.org/D4624
|
|
Differential Revision: https://developer.blender.org/D4624
|
|
The main goals are to provide an official way for rigs to
interact in a structured way, and to remove mode switching
within rigs.
This involves introducing a base class for rigs that holds
rig-to-rig and rig-to-bone references, converting the main
generator into a class and passing it to rigs, and splitting
the single generate method into multiple passes.
For backward compatibility, old rigs are automatically handled
via a wrapper that translates between old and new API.
In addition, a way to create objects that receive the generate
callbacks that aren't rigs is introduced via the GeneratorPlugin
class. The UI script generation code is converted into a plugin.
Making generic rig 'template' classes that are intended to be
subclassed in specific rigs involves splitting operations done
in each stage into multiple methods that can be overridden
separately. The main callback thus ends up simply calling a
sequence of other methods.
To make such code cleaner it's better to allow registering
those methods as new callbacks that would be automatically
called by the system. This can be done via decorators.
A new metaclass used for all rig and generate plugin classes
builds and validates a table of all decorated methods, and
allows calling them all together with the main callback.
A new way to switch parents for IK bones based on the new
features is introduced, and used in the existing limb rigs.
Reviewers: icappiello campbellbarton
Differential Revision: https://developer.blender.org/D4624
|
|
Using obj.animation_data.drivers[-1] in driver creation is very
bad and error prone. After recent change in Blender, that won't
even work for drivers on Bone, so fix all such uses.
|
|
|
|
This reverts unnecessary renaming from b2b015a396372.
|
|
Refactor rigs to use the new make_property utility function,
and implement new 2.8 specific settings using it.
The default value is now important for NLA evaluation, and the
override flag will be used by the upcoming static override feature.
Default can be backported to 2.79 for 2.8 forward compatibility.
|
|
As suggested by @icappielo, and after discussion with @meta-androcto,
I start a public request to commit third-party contributions already
accepted to https://github.com/eigen-value/rigify/tree/rigify_0.6_beta
Specifically, this includes:
* User-defined rig package (feature set) support by @pioverfour.
This allows users to install pre-packaged rig sets via zip
files, which become accessible together with built-in rigs,
as discussed in T52758.
https://github.com/eigen-value/rigify/pull/1
* Modularization of python script generation, allowing rigs to
add their own utility functions and operators to the generated
script. This is critical to make custom rig support really
useful.
https://github.com/eigen-value/rigify/pull/5
* The utils.py file is split into multiple modules with a backward
compatibility proxy for old functions.
* Automatic verification that different rigs don't try to create
different rig settings with the same name to alleviate increased
risk of namespace conflicts with custom rigs.
https://github.com/eigen-value/rigify/pull/7
* New utility class that implements bone layer selection UI.
https://github.com/eigen-value/rigify/pull/6
* New utilities to replace copy & pasted boilerplate code for
creating custom properties, constraints and drivers.
https://github.com/eigen-value/rigify/pull/11
Some other random changes by MAD have likely slipped through.
These changes have already been extensively discussed and accepted
into the branch by @luciorossi, so I see no reason not to commit
them to the official repository to be tested during 2.8 beta.
Reviewers: icappiello
Differential Revision: https://developer.blender.org/D4364
|
|
|
|
|
|
|
|
In 2.8 depsgraph prints a lot of error messages if constraints try to
reference non-existant bones, which slows things down if nothing else.
|
|
Now all the widget elements are in the Widgets collection.
And the collection is hidden for the viewport.
There is one thing still not fully working, but it is a bug in Blender I
believe. Basically not all the custom bones are shown until you go to an
object that has its mesh and toggle in and out of edit mode.
|
|
With those changes the addon is working in some functional state.
Thus I'm bumping its version to 2.80.
TODOS:
* Handle collections (put all the new objects in a collection).
* We should also replace the old WGT_LAYERS with subcollections.
* Move toolshelf operators out of there (make tools or move to sidebar).
|
|
This fix an error introduced on fe90ef2b4.
|
|
|
|
Differential Revision: https://developer.blender.org/D3746
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
small fixes & UI improvements
|