Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-04Fix T96748: split IK toe control does not respect stretch limit.Alexander Gavrilov
Split the parent mch bone and its rigging together with the control.
2022-02-14File headers: use SPDX license identifiersCampbell Barton
Some files needed to be changed manually.
2022-02-11Rigify: make world orientation the default for IK control location.Alexander Gavrilov
For backward compatibility the option technically defaults to old behavior, but all metarigs are changed to the new mode.
2022-02-11Rigify: allow aligning IK control location channels to world space.Alexander Gavrilov
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.
2022-02-11Merge branch 'blender-v3.1-release'Alexander Gavrilov
2022-02-11Rigify: fix crash with short front/rear paws after split toe.Alexander Gavrilov
2022-02-11Merge branch 'blender-v3.1-release'Alexander Gavrilov
2022-02-11Fix T95648: Rigify: use eye axis in computing the eyelid tracking weights.Alexander Gavrilov
If the coordinate space of the eyelids is computed only from the eye rotation center points and corners, it fails if the center is close or in front of the line connecting the corners. Instead, compute the space based on the main eye axis plus the line between corners, which only slightly changes the result compared to the previous method, but is more robust.
2022-02-11File headers: use SPDX license identifiersCampbell Barton
See T95597
2022-01-14Rigify: minor tweaks.Alexander Gavrilov
- Clear the IK toe control animation in the relevant operator. - Allow changing the euler order of finger master control via metarig.
2022-01-11Rigify: refactor leg to make modifying the foot roll mechanism easier.Alexander Gavrilov
2022-01-09Rigify: enable the split toe option by default in metarigs and samples.Alexander Gavrilov
2022-01-09Rigify: support separate IK and FK controls for the toe.Alexander Gavrilov
Currently the leg rig tries to share one control between IK and FK modes, which looks as a nice optimization at first, but makes it impossible to IK/FK snap correctly if the IK foot is rolled forward. This commit adds an option to generate separate toe controls.
2022-01-05Cleanup: fix typos in source codeBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D5801
2022-01-03Rigify: use Aligned inherit scale in the limb FK chain.Alexander Gavrilov
2022-01-03Rigify: support uniform scaling of limbs via the master control.Alexander Gavrilov
Existing IK & FK controls only allowed squash and stretch scaling.
2021-12-01Cleanup: quiet character escape warningsCampbell Barton
2021-11-25Rigify: add options to change the layer for the finger IK control.Alexander Gavrilov
2021-10-27Rigify: fix two cases limb motion in rest pose.Alexander Gavrilov
The master control rotated to match the limb rest roll, because for an unknown reason the roll was reset in edit pose. Inner tweaks could rotate if roll of master tweaks wasn't matched. To fix this, compute and apply the interpolated roll.
2021-10-27Rigify: rework limb IK stretch limit and add a manual swing structure.Alexander Gavrilov
After introduction of the Custom space it is possible to easily use Limit Distance within rigs while accounting for rig scale. This allows replacing the Stretch To + Limit Scale mechanism used for the IK stretch switch in rigify. Instead, use the freed bone to manually handle limb swing before allowing the actual IK solver to handle limb contraction. This improves stability in marginal cases of limbs nearly straight in the rest pose, because previously the solver could destroy the slight knee bend in the process of swinging the limb forward, causing a flip.
2021-09-20Rigify: support generating mirrored linked duplicate widgets.Alexander Gavrilov
After the custom shape scale property was split into an XYZ vector, it is possible to generate truly mirrored widgets using the same mesh for the left and right side. The widgets Rigify generates are originally symmetrical, but in practice they usually need to be tweaked to fit the character better, and proper mirroring matters. This commit implements widget mirroring and enables it by default. When reusing widgets left from a previous generation the code tries to detect whether they were actually originally mirrored by checking object scale to avoid flipping in pre-existing rigs. As an aside, reusing pre-existing widgets is made more robust to random name changes by building a table via scanning the old generated rig before overwriting it.
2021-08-18Rigify: extract skin parent mechanism mixing into a generator class.Alexander Gavrilov
This allows cleanly avoiding reparent propagation between mirror siblings, which causes weird deformation in chains.
2021-08-15Rigify: add an operator to upgrade the old face rig to modular face.Alexander Gavrilov
Converted from the script originally included in the feature set. This operator aims to preserve compatibility with the existing weight painting, but not animations, since the latter is impossible anyway due to major differences in the rig chains.
2021-08-14Rigify: call request_reparent from build_parent to simplify skin API.Alexander Gavrilov
Realized this can be simplified while writing wiki dev docs...
2021-08-10Rigify: move new face rig components from the experimental feature set.Alexander Gavrilov
Apart from imports the files are identical to the latest version. Ref T89808
2021-01-18Rigify: fix incorrect locks on the neck bend control.Alexander Gavrilov
2021-01-04Rigify: move drivers together with constraints and code improvement.Alexander Gavrilov
2020-12-21Rigify: generate UI script for custom properties from metarig.Alexander Gavrilov
Improve auto-generated UI naming and update basic.pivot, basic.raw_copy and basic.super_copy. Also allow raw_copy to generate builtin widgets.
2020-12-08Rigify: add the jaw and teeth widgets to the registered list.Alexander Gavrilov
2020-12-08Rigify: move constraints to control and deform bones in super_copy.Alexander Gavrilov
Use DEF: or CTRL: prefix on constraint names to move them during relink.
2020-12-08Rigify: support choosing widgets out of a list in super_copy and pivot.Alexander Gavrilov
Register the most generic widgets in the list and add a few more. Use it to assign a nicer looking shoulder widget in human metarigs.
2020-12-07Rigify: keep custom widgets already assigned in metarig.Alexander Gavrilov
Also make error handling more robust and extend constraint relink mixin.
2020-12-05Rigify: a number of small fixes.Alexander Gavrilov
- 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.
2020-12-01Rigify: add an option to generate controls for each of the palm bones.Alexander Gavrilov
2020-11-25Rigify: Fix T80764: handling of bones with ORG prefix in raw_copy.Alexander Gavrilov
Originally the raw_copy rig used a standard API of rigify to rename the bone after generate already added an ORG prefix. However, if the bone already had that prefix, generate didn't add the second one to avoid 'ORG-ORG', and thus raw_copy removed the only remaining prefix. As the simplest solution, hard-code handling of this rig in generate. This isn't that bad, because this rig is special by definition, and the special handling consists in doing nothing. The original API based code is kept commented out as an example.
2020-11-25Rigify: support including Inherit Scale and constraints in metarig.Alexander Gavrilov
Also fix metarig Inherit Scale support in limbs.super_finger.
2020-11-24Rigify: Fix T78463: better support unguligrade animals (horse) setup.Demeter Dzadik
Add support for 5 bone chains to the limbs.paw rig. Implement a new limbs.rear_paw rig, which provides a three bone IK mechanism designed to keep the first and third bones nearly parallel by default (based on a YouTube video by @Pieriko as suggested by @icappiello). Implement a limbs.front_paw rig with automation that aims to keep the angle between second and third bones mostly stable by default (has influence option), as suitable for front paws. The horse and wolf metarigs are updated to use these new rig types, with the horse rig further overhauled by @icappiello. Maniphest Tasks: T78463 Differential Revision: https://developer.blender.org/D8496
2020-11-17Rigify: replace the Damped Track + Stretch To idiom with the Swing mode.Alexander Gavrilov
It has been long enough since 2.82 when Swing was added to use this.
2020-11-10Rigify: fix raw_copy not being able to find bones produced by legacy rigs.Alexander Gavrilov
In 2.90 derived bone lookup was tightened to fix certain issues when bone names use the .001 suffixes by using explicit data about which bone is derived from which one. Unfortunately, legacy rigs don't provide that info, so add a special case using matching by name. Also fix incorrect error reporting method name.
2020-09-07Rigify: Code Cleanup: Use ControlLayersOption classDemeter Dzadik
This class exists specifically for the purpose of defining and drawing the UI for bone layer assignment parameters, as seen in other rig types like super_chain, limb_rigs, simple_tentacle, etc. Only super_face was missing it for some reason. Although the way it is used may be questionable, it's consistent with the rest of the codebase. No functional changes. Note for future: I would also like to use the ControlLayersOption class in even more places, and also maybe rename it and make improvements to it as needed. This would also be part of a bigger design of how Rigify handles bone organization, which I should write down. Reviewed By: sybren Differential Revision: https://developer.blender.org/D8802
2020-09-04Rigify: Code Cleanup: Remove redundant def & fileDemeter Dzadik
Just removes an empty file and redundant function definition. No functional changes. Reviewed By: sybren Differential Revision: https://developer.blender.org/D8804
2020-06-29Rigify: small fixes.Alexander Gavrilov
2020-06-29Fix T78193 (Rigify): use bone history tracking to find derived DEF bones.Alexander Gavrilov
It is not really safe to assume that by swapping ORG to DEF you will get a deform bone derived from the given ORG bone. The new base rig API already tracks copying of bones, so polish it up and use here. Note however that this tracking doesn't work with bones created without self.copy_bone, e.g. by legacy rigs.
2020-06-25Rigify: Clean up importsDemeter Dzadik
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
2020-06-10Fix T74483: Rigify Meta-Human Neck Bone stretching.Demeter Dzadik
This implements Ivan's suggestion: all the constraints on spine bones have to be moved from ORG to its DEF bone. All the spine ORG-bones have to be unconnected-children of their corresponding tweak. This is actually how chain rigs work in my own Rigify feature set, so as far as I'm concerned this is a tried and viable solution. The result is that, if you want to parent something to your chain rig, you can do it in two ways: If you parent it to the ORG bone (ie. by default), it will not inherit any squash and stretch induced by the "tweak" bones. If you parent it to the DEF bone however, it will behave the same as before. This raises a backwards compatibility concern; If you want the old behavior, you have to express that in your metarig explicitly, by parenting your bone to the DEF bone in some way. This patch also only affects the spine rig, which makes it inconsistent with other chain rigs in Rigify in this regard. Maniphest Tasks: T74483 Differential Revision: https://developer.blender.org/D7801
2020-04-16Fix T75285 (Rigify): allow single bone spines.super_head rigs.Alexander Gavrilov
2020-03-07Rigify: fix logical error from 3ef6ed4773e8Damien Picard
The expression {'y' or '-y'} was reduced to {'y'}
2020-03-05Fix incorrect identity comparison and logical error with 'or'Campbell Barton
2019-12-22Rigify: replace Rename To Deform with a new basic.raw_copy rig.Alexander Gavrilov
Add a separate rig aimed at transferring bones from the metarig completely verbatim without the ORG prefix, and remove the hacky copy_chain/super_copy option for renaming ORG to DEF. Share the constraint retargeting feature between super_copy and raw_copy.
2019-12-16Rigify: add optional primitive IK in limbs.super_finger.Alexander Gavrilov
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.