Age | Commit message (Collapse) | Author |
|
Introduce a method to annotate types and names of entries in the
`bones` container of rig components and apply it, and other type
annotations, to a number of not very complex rig classes.
- Introduce BaseRigMixin as a typed base class for mixins intended
for use in rig classes (using BaseRig as a parent causes issues).
- Introduce TypedBoneDict that does not suppress the unknown attribute
analysis in PyCharm, and use it in a system of subclasses to
annotate the bones in various rigs. BaseBoneDict is necessary
because the annotation affects all subclasses, so TypedBoneDict
cannot inherit from BoneDict with the annotation.
- Add or adjust other type annotations of rig methods and utilities.
- Fix other warnings, e.g. undeclared attributes, excessively long
lines, whitespace style issues and typos.
|
|
This is no longer necessary, see: T98554.
|
|
For backward compatibility the option technically defaults to
old behavior, but all metarigs are changed to the new mode.
|
|
For IK controls that move freely in space without being tied to
a parent it makes sense to align the location channels to world
(or root), while keeping rotation channels aligned to the limb
end orientation.
Blender already has a Local Location parenting option for this
very use case, but Rigify wasn't using it. This adjusts the
switchable parent mechanism so that the option works as intended,
and provides a Rigify option that controls its value for IK controls.
Note that now it is possible to enable the Local Location option
directly on the control bones after generation and it will work
correctly - it is not required to enable IK Local Location.
|
|
See T95597
|
|
- Clear the IK toe control animation in the relevant operator.
- Allow changing the euler order of finger master control via metarig.
|
|
|
|
- Don't try to add an update callback to CollectionProperty.
- Restore exact alignment of the super_finger master control to 1st bone.
- Add an option to run a sub-object after all methods of the parent.
- Fix wrong identifier in SideZ.from_parts.
|
|
Also fix metarig Inherit Scale support in limbs.super_finger.
|
|
It has been long enough since 2.82 when Swing was added to use this.
|
|
Just removing some unused imports.
I tested generating every built-in metarig to make sure I didn't remove any imports that were actually used. I also tested installing and using a feature-set.
Reviewed By: angavrilov
Differential Revision: https://developer.blender.org/D8026
|
|
Basic IK support in fingers could be useful for easily
avoiding fingertips sliding when animating minor movement
between the hand and an object it is holding.
As there are 10 fingers, to limit the performance impact the
IK itself is implemented using just one extra control, one
constraint, and one driver. The parent switch adds one more
bone, constraint and driver.
This simple implementation requires applying IK as a correction
on top of the FK shape to share the FK controls for precisely
defining the shape, which means that stretch can't be implemented
without giving up on exact IK<->FK snapping. This also means
that unlike limbs this IK is not indended for independent use,
and must always be used as a local anti-slide fix on top of
primarily FK animation.
The parent switch is designed to work with the extra wrist
control and/or a held object pivot, demonstrating the tag
feature of SwitchParentBuilder.
|
|
For better compatibility, support the Tweak layer assignment
in super_finger for the detail controls, and allow changing
the B-Bone resolution.
|
|
Spine is split into parts. Limbs and tentacles simply converted.
Differential Revision: https://developer.blender.org/D4624
|
|
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.
|
|
|
|
|
|
|
|
|
|
|