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
2019-10-15Merge branch 'blender-v2.81-release'Alexander Gavrilov
2019-10-15Rigify: implement FK controls for basic_spine with an option to disable.Alexander Gavrilov
All metarigs are updated to use split spine components, as super_spine is deprecated and won't generate FK controls for backward compatibility.
2019-10-15Rigify: fix T70841 - bad bone placement when the metarig object is moved.Alexander Gavrilov
Match object orientations during join, as suggested by @pioverfour.
2019-10-15Rigify: fix incorrect layer assignment for tweak bones in the cat metarig.Alexander Gavrilov
The layer selection for the spine tweaks happens to be the default value, so simply copying the data does not overwrite non-default garbage values remaining in some of the bones. To fix it's necessary to clear params.
2019-10-15Rigify: store advanced options in armature instead of window manager.Damien Picard
By storing the Rigify advanced generation options (name, target rig, target ui script) in the armature data instead of the window manager as before, multiple rigs can have different options. Additionally, these options are stored in the blend file, and not lost when reloading. Also, the rig name is not automatically suffixed with `_rig`, which doesn't make sense as far as I can tell. Differential Revision: https://developer.blender.org/D5675
2019-10-01Rigify: add more parent switching and 2.81 inherit scale features.Alexander Gavrilov
- Add a parent switch to the main spine control, to allow using the key baking operator to convert between moving and fixed root bone. - Add hips, chest and head as parents for children of the spine. - Use 'Fix Shear' Inherit Scale and 'Make Uniform' Copy Scale in limbs. - Switch code to use the new inherit_scale parameter of set_bone_parent. - Allow local matrices in adjust_widget_transform_mesh.
2019-09-29Rigify: implement a deformed circle widget for main spine controls.Alexander Gavrilov
The idea is inspired by similar shapes in other rigs like BlenRig. The actual used shape is simply a circle deformed into a parabolic shape when viewed from the side, added to create_circle_widget. Using the new shape for the main controls allows adding extra FK controls to the spine without visual confusion. As an aside, fix a minor issue in handling bone_transform_name, and remove redundant bone_transform_name=None parameters.
2019-09-29Rigify: implement priorities to add toes to the FK bone group.Alexander Gavrilov
Toes behave as FK, but are needed both in IK and FK mode.
2019-09-29Rigify: various additions to bone, mechanism and widget utilities.Alexander Gavrilov
Support easier setting of bone orientation via matrix, inherit_scale, invert_x/y/z constraint properties, computing a matrix from two axis vectors, adjusting widget positions, and add a pivot widget.
2019-09-29Rigify: implement a new reload process to support Reload Scripts properly.Alexander Gavrilov
Due to dynamically loaded rig modules, Rigify has to implement reload by purging all non-core modules from memory, or class inheritance checks won't work right after reload.
2019-09-28Rigify: support new 2.81 features of constraints and drivers in utils.Alexander Gavrilov
Allow easily inserting constraints and support rotation mode.
2019-09-15Rigify: convert the palm rig and support controls for both sides.Alexander Gavrilov
2019-09-15Rigify: replace deprecated use_inherit_scale and use_offset properties.Alexander Gavrilov
2019-09-14Rigify: allow add_parameters to be missing from legacy rig modules.Alexander Gavrilov
2019-09-14Rigify: add a generic callback for all rig parameters.Alexander Gavrilov
This may be useful for things like mirroring. Since the parameter name space is shared by all rigs, it would be inappropriate for individual rigs to add their specific callbacks to properties. Differential Revision: https://developer.blender.org/D4624
2019-09-14Rigify: only show the Rigify Animation Tools panel for old rigs.Alexander Gavrilov
New rigs provide the same buttons in their generated script UI, and aren't compatible with the old panel code. To distinguish rigs, remove old snap operators from the script. Differential Revision: https://developer.blender.org/D4624
2019-09-14Rigify: replace rigs with new implementations using the new base rig.Alexander Gavrilov
Spine is split into parts. Limbs and tentacles simply converted. Differential Revision: https://developer.blender.org/D4624
2019-09-14Rigify: update super_chain from the latest 2.79 version by MAD.Alexander Gavrilov
Differential Revision: https://developer.blender.org/D4624
2019-09-14Rigify: redesign generate.py and introduce a base rig class.Alexander Gavrilov
The main goals are to provide an official way for rigs to interact in a structured way, and to remove mode switching within rigs. This involves introducing a base class for rigs that holds rig-to-rig and rig-to-bone references, converting the main generator into a class and passing it to rigs, and splitting the single generate method into multiple passes. For backward compatibility, old rigs are automatically handled via a wrapper that translates between old and new API. In addition, a way to create objects that receive the generate callbacks that aren't rigs is introduced via the GeneratorPlugin class. The UI script generation code is converted into a plugin. Making generic rig 'template' classes that are intended to be subclassed in specific rigs involves splitting operations done in each stage into multiple methods that can be overridden separately. The main callback thus ends up simply calling a sequence of other methods. To make such code cleaner it's better to allow registering those methods as new callbacks that would be automatically called by the system. This can be done via decorators. A new metaclass used for all rig and generate plugin classes builds and validates a table of all decorated methods, and allows calling them all together with the main callback. A new way to switch parents for IK bones based on the new features is introduced, and used in the existing limb rigs. Reviewers: icappiello campbellbarton Differential Revision: https://developer.blender.org/D4624
2019-09-08Fix T69313: rigify crashes on custom properties without UI metadata.Alexander Gavrilov
Patch suggested by @pioverfour.
2019-09-08Fix T68856: rigify adds widgets to the wrong collection.Alexander Gavrilov
Patch suggested by @pioverfour.
2019-07-31Spelling fixes in comments and descriptions, patch by luzpazBrecht Van Lommel
Differential Revision: https://developer.blender.org/D5240
2019-06-28Fix rigify Python errors when there is no active objectBrecht Van Lommel
2019-06-20Fix T65949: rigify error when generating rigBrecht Van Lommel
Only objects in the current view layer can be deselected, this would throw an error when there exist objects not in the current view layer.
2019-05-29Rigify: force reloading rigs to prune the last deleted feature set.Alexander Gavrilov
2019-05-29Rigify: refactor feature sets to avoid modifying global path.Alexander Gavrilov
Instead of adding the feature set installation directory to the global path, and thus inserting the modules into the top level namespace, add an empty rigify.feature_sets package and use __path__ to redirect the module loader to read its sub-modules from the feature set directory. Now feature set modules are effectively installed into that package and loaded as 'rigify.feature_sets.foo'. As an aside, clean up loading code to avoid weird path manipulations, add more safety checks when installing sets, and add a way for sets to expose a user-friendly name.
2019-05-27Fix T63624: Rigify Quaternion/Euler conversion errors (2.8 compat fix).Alexander Gavrilov
2019-05-22Rigify: fix the use_global_undo change and fix driver creation for 2.8.Alexander Gavrilov
Using obj.animation_data.drivers[-1] in driver creation is very bad and error prone. After recent change in Blender, that won't even work for drivers on Bone, so fix all such uses.
2019-05-22Rigify: update super_chain to 2.8 and hide most operators from search.Alexander Gavrilov
2019-05-22Add-ons: remove temporary disabling of use_global_undoBrecht Van Lommel
This can cause bugs where if the operator throws an exception, undo is not properly enabled again. There have been maybe a dozen Blender bug reports related to this. This could get worse now that we are autosaving preferences. Some add-ons guard against this, but turning off undo should not be needed in the first place. If the operator is set to do an undo push, any operators it calls will automatically not do any undo pushes. If this fail in some cases, it should be reported as a bug in Blender. I could not find issues or a performance impact testing a few add-ons though. Differential Revision: https://developer.blender.org/D4908
2019-05-16Rigify: replace the use of the now removed scene.update()Alexander Gavrilov
2019-05-14Rigify: clear the Armature animation data in addition to the Object.Alexander Gavrilov
After the change in PoseBone.bone behavior, drivers will be added there.
2019-05-09Rigify: change the first variable name for var0 to var in make_driver.Alexander Gavrilov
Only my own branch and feature sets use this, so should be safe to change. This naming is more similar to what blender UI does when adding vars.
2019-05-09Rigify: fix encoding metarig.Damien Picard
The `Encode Metarig to Python` operator was broken as there was some leftover code from the UI template system I made last year. Differential Revision: https://developer.blender.org/D4827
2019-05-07Rigify: improve widget placement, widget generation and make_driver.Alexander Gavrilov
- Take into account the custom shape settings of the bone when creating and placing the custom widget object. - Change write_widget to wrap the generated list text and fix undefined variable errors if there are no verts/edges/faces. - Automatically look up string to bone in self.make_driver().
2019-05-05Rigify: new utilities for bone naming and driver creation, and some fixes.Alexander Gavrilov
- Added a utility for creating Transform Channel driver variables. - Added a utility for deriving one bone name from another with suffix. The bone name utility is inspired by get_bone_name from limb_utils.py
2019-05-05Rigify: move the generated panels to the Item tab.Alexander Gavrilov
Since they are specific to the selected armature/bone, they match that tab better, and the animator would want to have them next to the built-in transforms and custom properties.
2019-05-03Rigify: re-register rig parameters after installing a feature set package.Alexander Gavrilov
Otherwise the rig properties may not work correctly until blender restart.
2019-05-03Rigify: improve robustness with bad feature set packages.Alexander Gavrilov
Verify the basic expected directory structure inside the ZIP archive before installing it, and catch exceptions when loading the already installed packages.
2019-04-16Rigify: change make_property to wrap the official rna_idprop_ui_create.Alexander Gavrilov
Also add keyword-only argument markers for clarity.
2019-03-26Fix T62976: Rigify itself and its generated scripts fail to load.Alexander Gavrilov
Panel identifier naming restrictions are now enforced more strictly.
2019-03-26Rigify: partial revert "Update for changes to Blender"Alexander Gavrilov
This reverts unnecessary renaming from b2b015a396372.
2019-03-24Rigify: properly set custom property defaults and overridable flags.Alexander Gavrilov
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.
2019-03-24Rigify: fix generation if a hidden collection is selected.Alexander Gavrilov
Only visible and selectable collections can be used for temporary objects during generation due to the way operators work.
2019-03-14Rigify: add support for user-defined rig packages and related utilities.Alexander Gavrilov
As suggested by @icappielo, and after discussion with @meta-androcto, I start a public request to commit third-party contributions already accepted to https://github.com/eigen-value/rigify/tree/rigify_0.6_beta Specifically, this includes: * User-defined rig package (feature set) support by @pioverfour. This allows users to install pre-packaged rig sets via zip files, which become accessible together with built-in rigs, as discussed in T52758. https://github.com/eigen-value/rigify/pull/1 * Modularization of python script generation, allowing rigs to add their own utility functions and operators to the generated script. This is critical to make custom rig support really useful. https://github.com/eigen-value/rigify/pull/5 * The utils.py file is split into multiple modules with a backward compatibility proxy for old functions. * Automatic verification that different rigs don't try to create different rig settings with the same name to alleviate increased risk of namespace conflicts with custom rigs. https://github.com/eigen-value/rigify/pull/7 * New utility class that implements bone layer selection UI. https://github.com/eigen-value/rigify/pull/6 * New utilities to replace copy & pasted boilerplate code for creating custom properties, constraints and drivers. https://github.com/eigen-value/rigify/pull/11 Some other random changes by MAD have likely slipped through. These changes have already been extensively discussed and accepted into the branch by @luciorossi, so I see no reason not to commit them to the official repository to be tested during 2.8 beta. Reviewers: icappiello Differential Revision: https://developer.blender.org/D4364
2019-03-12Update for changes to BlenderCampbell Barton
2019-03-07Rigify: experimental super chain cleanupLucio Rossi
2019-02-21super limb fixesLucio Rossi
2019-02-19Fix T61711: Rigify fails to complete generate if no rigs create drivers.Alexander Gavrilov
The code attaching the UI script to the rig didn't check that animation_data exists before accessing it.
2018-12-21Rename user_preferences -> preferencesCampbell Barton