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-06-27Fix T89394: update for mandatory keyword argument in Python API.Alexander Gavrilov
The line was missed when updating in rBA448eeb681 after rBf29a738e2. Also remove an unneeded import.
2021-06-23Rigify: Remove Legacy ModeDemeter Dzadik
This patch removes the Legacy Mode checkbox from the addon preferences and all associated code. Ability to convert old legacy metarigs is not removed. LegacyRig wrapper class is not removed. Various legacy-only functions and imports were not removed, with the reasoning that they are still used by [this unmaintained feature set](https://github.com/cessen/cessen_rigify_ext). Initially discussed in T88711, let's put any further discussion here, since that thread has many topics. Reviewed By: angavrilov Differential Revision: https://developer.blender.org/D11516
2021-06-18Rigify: update to follow B-Bone property changes in D9870.Alexander Gavrilov
2021-06-08Update for changes in the Python API using keyword only argumentsCampbell Barton
2021-05-31Rigify: Make operators searchable by adding a Rigify header drop-downDemeter Dzadik
This or something like this is necessary because the new search menu doesn't search the sidebar nor the properties panel for UI buttons. I think the ability to run Add Sample and Generate from the search menu is useful, so being able to do it without having Developer Extras enabled is important. I would also like to propose some new operators in the future, and this patch sets up a nice spot for them to go into. I didn't remove any buttons in this patch, but would like to do in future, so these things will once again only exist in one place (which would be the header). Reviewed By: angavrilov Differential Revision: https://developer.blender.org/D9094
2021-05-11Fix addons to use PoseBone.custom_shape_scale_xyz.Alexander Gavrilov
Use new properties introduced in rBfc5bf09fd88c33.
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