diff options
author | Demeter Dzadik <Mets> | 2021-08-18 20:23:01 +0300 |
---|---|---|
committer | Demeter Dzadik <demeter@blender.studio> | 2021-08-18 20:36:02 +0300 |
commit | 9a7afcbcae91978db8173e205f0ec73f1d6ad440 (patch) | |
tree | 4988c90ccd139ac3f3998bab1ffb0c101e4da6c7 /rigify/__init__.py | |
parent | 9ffc56b3b7fbc1b76ff50d32ab791d27f28b2d2b (diff) |
Rigify: Clean up "Rigify Buttons" panel UX
The UX for this panel felt like it could use a facelift. It was extremely ugly to look at, nothing about it was done the correct way and it broke every possible modern Blender UI convention it could.
Before/After:
{F10135475}
{F10159077}
After generating a rig:
{F10159078}
- Removed the "overwrite/new" enum.
- If there is a target rig object, we overwrite. If not, we create. I think that's intuitive behaviour without the extra UI element.
- 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.
- Renamed the panel from "Rigify Buttons" to "Rigify Generation" in pose/object mode and "Rigify Samples" in edit mode.
- Changed the "Advanced Options" into a sub-panel instead.
- Single column layout.
- Added an info message to show the name of the successfully generated rig:
{F10159079}
Feedback welcome.
Differential Revision: https://developer.blender.org/D11356
Diffstat (limited to 'rigify/__init__.py')
-rw-r--r-- | rigify/__init__.py | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/rigify/__init__.py b/rigify/__init__.py index 1bb633f6..1eac52ae 100644 --- a/rigify/__init__.py +++ b/rigify/__init__.py @@ -507,20 +507,6 @@ def register(): IDStore.rigify_types = CollectionProperty(type=RigifyName) IDStore.rigify_active_type = IntProperty(name="Rigify Active Type", description="The selected rig type") - bpy.types.Armature.rigify_advanced_generation = BoolProperty(name="Advanced Options", - description="Enables/disables advanced options for Rigify rig generation", - default=False) - - def update_mode(self, context): - if self.rigify_generate_mode == 'new': - self.rigify_force_widget_update = False - - bpy.types.Armature.rigify_generate_mode = EnumProperty(name="Rigify Generate Rig Mode", - description="'Generate Rig' mode. In 'overwrite' mode the features of the target rig will be updated as defined by the metarig. In 'new' mode a new rig will be created as defined by the metarig. Current mode", - update=update_mode, - items=( ('overwrite', 'overwrite', ''), - ('new', 'new', ''))) - bpy.types.Armature.rigify_force_widget_update = BoolProperty(name="Force Widget Update", description="Forces Rigify to delete and rebuild all the rig widgets. if unset, only missing widgets will be created", default=False) @@ -579,8 +565,6 @@ def unregister(): del ArmStore.rigify_colors_index del ArmStore.rigify_colors_lock del ArmStore.rigify_theme_to_add - del ArmStore.rigify_advanced_generation - del ArmStore.rigify_generate_mode del ArmStore.rigify_force_widget_update del ArmStore.rigify_target_rig del ArmStore.rigify_rig_ui |