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
path: root/rigify
AgeCommit message (Collapse)Author
2021-03-02Fix error in rigify property generationCampbell Barton
37af7e130b99865575f1fa2315ef806f815b0f42 missed this change.
2021-02-22Rigidy: update for internal changes to deferred property registrationCampbell Barton
2021-02-12Rigify: revert D8801 to restore dots marking layers of the active bone.Alexander Gavrilov
The built-in layer button UI only draws dots if the property belongs to an Armature, as a special behavior hard-coded in C. This returns to drawing the UI from Python but using cleaner code.
2021-02-12Rigify version bump.Alexander Gavrilov
2021-01-25Cleanup: strip trailing spaceCampbell Barton
2021-01-18Rigify: fix incorrect locks on the neck bend control.Alexander Gavrilov
2021-01-18Rigify: make properties overridable when copying.Alexander Gavrilov
Normally properties are copied to controls and made accessible in the rig UI, so they should be overridable. Properties created via make_property are already marked as such.
2021-01-18Rigify: fix the ORG bone rename affecting objects dependent on the rig.Alexander Gavrilov
The issue is that if a different object has a constraint or driver targeting a control of the rig, renaming the bone after join when re-generating the rig would change that target to the ORG bone. To fix this, apply the renames to the temporary copy of the metarig before joining it to the rig armature object. This also requires moving the driver freeze to this stage.
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-21Rigify: display which rig on which bone is legacy.Alexander Gavrilov
2020-12-09Rigify: fix errors when no feature sets are installed.Alexander Gavrilov
Exceptions when the list is empty, and failing to clear the list.
2020-12-09Rigify: when using a widget from the metarig, create a linked duplicate.Alexander Gavrilov
This preserves the standard widget naming even with custom 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: include widgets in generated metarig code.Alexander Gavrilov
Since rigs like super_copy already support using widgets assigned directly to metarig bones, implement adding them with the metarig.
2020-12-07Rigify: use separate widget collection for each generated rig.Alexander Gavrilov
As pointed out in comments to T73114, using the same name has downsides. In addition, remove the widget parent object that was inherited from the old pre-collection way Rigify worked and has no other purpose than grouping objects like the collection already does. Rename the widgets and the collection when renaming the rig. Finally as an aside add a couple of options to create_widget.
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-02Rigify: support lazy bone names in utils/mechanism.py tools.Alexander Gavrilov
This is for convenience of more complex utilities, since the functions themselves immediately force the closures.
2020-12-01Rigify: internal API enhancements.Alexander Gavrilov
Add a LazyRigComponent class that has to be explicitly enabled to start receiving callbacks. Support calling GeneratorPlugin instance callbacks in the same stage they were created.
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-10Merge branch 'blender-v2.91-release'Alexander Gavrilov
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-11-08Rigify: Addon Prefs & Feature Sets UIDemeter Dzadik
This patch removes the two drop-down menus from the Rigify addon preferences, replacing it with a checkbox and a UIList. Before: {F8766280} After: {F8791382} There is also a small bit of new functionality. The following keys are now recognized in the rigify_info dictionary, similar to Blender addons: `'link', 'doc_url', 'tracker_url', 'description', 'author', 'version', 'warning'.` They will be displayed underneath the UIList when the feature set is the active one in the list. **Ideas for future** I think this UI better enables us to do some cool things in the future: - Disable feature sets without uninstalling them. - Have a base set of feature sets in the list that aren't actually installed. Instead, selecting them would just reveal a button that opens their repository URL. This could be used for officially supported but external feature sets, such as what Legacy should be. Feedback welcome. Reviewed By: angavrilov Differential Revision: https://developer.blender.org/D8519
2020-11-05Rigify: allow passing Armature "targets" as a kwarg for make_constraint.Demeter Dzadik
It seems like the make_constraint() function was designed to allow fully defining a constraint with a single call, but currently when creating Armature constraints, its targets have to be created separately after the make_constraint() call. This patch addresses this, allowing you to pass a "targets" dictionary. Armature constraint targets only have three properties, which are "target", "subtarget" and "weight". For convenience, since 99.99% of the times the "target" will be the rig, that doesn't have to be specified, but it can be. Differential Revision: https://developer.blender.org/D9092
2020-11-04Rigify: Turn Rotation Mode converter into single operatorDemeter Dzadik
This operator used to demand a huge chunk for itself as the sole inhabitant of the Rigify panel in the sidebar with a bunch of options that are only relevant when the operator is actually ran. Also for some reason it was split up to two separate operators for the sake of having "convert all actions" vs "convert current action" buttons. So, I removed that UI from the sidebar entirely, turned all the options into parameters on a SINGLE operator which asks for those options when ran using invoke() and draw(). This operator now lives in the Pose drop-down menu, which is where you would expect to find it. This is also searchable with the new search menu, unlike the sidebar. Also note that this operator has precisely //nothing// to do with Rigify, and should be a separate addon. I would split it out in a separate patch. Reviewed By: angavrilov Differential Revision: https://developer.blender.org/D9096
2020-11-04Rigify: Remove pass_index driver hack in favor of Custom Property to attach ↵Demeter Dzadik
rig script In days of old, Custom Properties couldn't store datablock pointers, so a driver variable was used to reference the script datablock, thereby keeping it attached to the rig when the rig is linked or appended. This can now be achieved much more elegantly with one short line of code. Reviewed By: angavrilov Differential Revision: https://developer.blender.org/D9082
2020-10-19Rigify: suppress module load order list mismatch errors.Alexander Gavrilov
It seems the order changed, maybe because of a Python version upgrade. To fix, ignore the position of the 'utils' module.
2020-09-13Rigify: make sure to disable Mirror X when generating.Alexander Gavrilov
Otherwise this can break generation of deliberately asymmetric rigs.
2020-09-07Rigify: Code cleanup: create_selection_sets()Demeter Dzadik
This function seemed to be doing a lot of unneccessary stuff, including mode switching, so it seemed worthwhile to optimize a bit. No functional changes. Reviewed By: sybren Differential Revision: https://developer.blender.org/D8514
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: Use 'LAYER' BoolVectorProperty subtypeDemeter Dzadik
Instead of implementing the 2 rows of layer boolean toggles, we can just use the 'LAYER' subtype on the BoolVectorProperty. No functional changes. Reviewed By: sybren Differential Revision: https://developer.blender.org/D8801
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-07-28Rigify: remove an extraneous 'self' reference.Alexander Gavrilov
2020-07-15Rigify: make sure not to copy certain properties in copy_custom_properties.Alexander Gavrilov
2020-07-02Rigify: add a few utilities for working with existing custom properties.Alexander Gavrilov
2020-07-01Rigify: don't complain about poll functions in property definitions.Alexander Gavrilov
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-27Rigify: use user-friendly feature set names in the filter dropdown.Alexander Gavrilov
2020-06-25Rigify: support other keyword options in make_property.Alexander Gavrilov
Currently there is 'subtype', but allow everything to future proof.
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-24Rigify: support register and unregister functions in feature sets.Alexander Gavrilov
Allow feature sets to register their own operators, in case e.g. they want to add a button to the metarig UI panel.
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