Skip to content
Snippets Groups Projects
  • Alexander Gavrilov's avatar
    eed6d6cc
    Rigify: support generating mirrored linked duplicate widgets. · eed6d6cc
    Alexander Gavrilov authored
    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.
    eed6d6cc
    History
    Rigify: support generating mirrored linked duplicate widgets.
    Alexander Gavrilov authored
    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.