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-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-14Rigify: Clean up "Rigify Buttons" panel UXDemeter Dzadik
The overall goal of this patch is to improve the UI/UX of the panel previously known as "Rigify Buttons" which presumably takes its name from the old "Buttons Panel" which is now known as the Properties Editor. Before: {F10511640} After: {F10511624} - Make Rigify less reliant on name matching when it comes to maintaining the link between the metarig, the UI script, the generated rig, and the widgets collection. (Use pointers only, names shouldn't matter!) - Change the "Advanced" toggle button into a real sub-panel. - Split up the "Rigify Buttons" panels into "Rigify Generation" and "Rigify Samples" panels in non-edit and edit mode respectively, to better describe what the user will find there. Changes in the Rigify Buttons panel: - Removed the "overwrite/new" enum. - If there is a target rig object, it will be overwritten. If not, it will be created. - If a rig object with the desired name already existed, but wasn't selected as the target rig, the "overwrite" option still overwrote that rig. I don't agree with that because this meant messing with data without indicating that that data is going to be messed with. Unaware users could lose data/work. With these changes, the worst thing that can happen is that your rig ends up with a .001 suffix. - Removed the "rig name" text input field. Before this patch, this would always rename your rig object and your rig script text datablock, which I think is more frustrating than useful. Now you can simply rename them after generation yourself, and the names will be kept in subsequent generations. - Single-column layout - Changed the "Advanced Options" into a sub-panel instead. On request: - Added an info message to show the name of the successfully generated rig: {F10159079} Feedback welcome. Reviewed By: angavrilov Differential Revision: https://developer.blender.org/D11356
2021-12-01Cleanup: trailing space & tabs to spacesCampbell Barton
2021-11-25Rigify: add options to change the layer for the finger IK control.Alexander Gavrilov
2021-11-05Fix T92530: Rigify is trying to copy addon propertiesDemeter Dzadik
The copy_custom_properties() function needs to check if a property is actually a custom property created by the user, or a property defined by an addon. I think we don't want to copy addon-defined properties here, since that's not what is usually meant by "custom property". Reviewed By: angavrilov Maniphest Tasks: T92530 Differential Revision: https://developer.blender.org/D13084
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-27Update addons for D9697 "_RNA_UI" removalHans Goudey
This is a followup patch for D9697 which applies the changes to the addon reporistory. Almost all of the changes are in rigify, but there is one change in "curve_tools" and two trivial changes in IO addons. Differential Revision: https://developer.blender.org/D9919
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-07-20Rigify: clear driver errors after generation.Alexander Gavrilov
In the process of re-generating a rig, drivers that reference it from other objects can temporarily become invalid. This sets an error flag in the driver, stopping its evaluation, so the error doesn't clear out even when it becomes valid again. To fix stuck drivers, loop over all objects in the file after generation and refresh their drivers by fake modification.
2021-07-16Rigify: add utilities for working with rig instance parent chains.Alexander Gavrilov
2021-07-11Rigify: add more utility code for the upcoming face rig.Alexander Gavrilov
Move widget and driver utilities from the feature set and rewrite create_circle_widget. Also increase the line length for autopep8.
2021-07-06Rigify: add utility and operator classes for the upcoming face rigs.Alexander Gavrilov
- LazyRef utility class that provides a hashable field reference. - NodeMerger plugin for grouping abstract points by distance. - pose.rigify_copy_single_parameter operator for copying a single property to all selected rigs that inherit from a specific class (intended to be used via property panel buttons).
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-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-11Fix addons to use PoseBone.custom_shape_scale_xyz.Alexander Gavrilov
Use new properties introduced in rBfc5bf09fd88c33.
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-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-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-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: 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-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-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-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: 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-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-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: support other keyword options in make_property.Alexander Gavrilov
Currently there is 'subtype', but allow everything to future proof.
2020-03-05Cleanup: tabs -> spacesCampbell Barton
2019-12-16Rigify: add utilities for handling top/bottom side markers in names.Alexander Gavrilov
This will likely be useful in the upcoming new face rigs. Also fix a bug in the bones module.
2019-11-02Rigify: support switchable parents in the basic.pivot rig.Alexander Gavrilov
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).
2019-11-02Rigify: implement an optional IK palm pivot control in the arm rig.Alexander Gavrilov
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.
2019-10-25Rigify: assign a more reasonable B-Bone display size in metarigs too.Alexander Gavrilov
2019-10-23Rigify: support tags in SwitchParentBuilder for default selection.Alexander Gavrilov
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.
2019-10-23Rigify: make the generic FK to IK snap operator even more generic.Alexander Gavrilov
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.
2019-10-22Rigify: clear custom pivots in IK->FK snap and use in widget placement.Alexander Gavrilov