Page MenuHome

Rigify: Fix displaying multiple rig layer panel with older blend file. Blender 2.8
Open, NormalPublic

Description

When openning other blend file that contains other rigify rig, Rigify's Rig Layers Panel & Rigify Main Properties Panel are displayed multiple like berow:

It causes rig ui script has no unique bl_idname if script file name is same like "rig_ui.py" and making bl_idnames with file local variable "rig_id".

This patch fix it by define bl_idname as literal string.

Details

Type
Patch

Event Timeline

Don't touch that code, it's going to be rewritten in the next version of rigify, whenever it happens.

Month-long delays in reviewing and accepting major changes to the core systems, as well as keeping things in a relatively unknown separate repository, get in the way of fixing issues the longer that goes on. This patch will be impossible to merge with the refactorings that are going on, and has to be rejected. However, the issue also can't be fixed in the new branch, because reviews are completely stalled.

Brendon Murphy (meta-androcto) renamed this task from Rigify: Fix displaying wrong multiple rig layer panel when openning other blend file. to Rigify: Fix displaying multiple rig layer panel with older blend file. Blender 2.8.Feb 15 2019, 12:05 AM
Brendon Murphy (meta-androcto) triaged this task as Normal priority.

@Brendon Murphy (meta-androcto)
2.8 is a release with big change in critical areas.
Python rig-uis should be deprecated in next rigify major update in my opinion.
Still is not clear how/if/when armature system is going to get a redesign. We discussed with the foundation several option of pickers and ui implementations for armatures. All those required ui hacking to work in the viewport (2.79) and we abandoned the project. After some tests i know @Paolo Acampora (pkrime) made an ui picker with pyside QT that's working with 2.8. Until armature plans for 2.8x are more clear i'd put on hold any big effort in changing something is going to be abandoned anyway.
i'll try to have a deeper look on what happens here in the next days anyway.

edit:
naming multiple rigs just "rig" is something should be avoided anyway. That's why we implemented the 'advanced options" panel under generate button. Each rig should be named accordingly to the character. This way issues like this can be easily avoided (and would also help proxies creation/handling when animating multiple linked characters).
the easiest fix is for this is to define an unique rig name (for example "DUDE_rig" instead of "rig") under the "advanced options" panel. Already generated rigs can be easily fixed too. Just use overwrite option specifying a new name in te 'Rig Name' field. The code will take care of the rest.

Thanks for the quick reply, I'll leave this open here for a look at when you guys are ready.