diff --git a/rigify/generate.py b/rigify/generate.py index 9c861d97712edcbc434b91a2deb4e27eaceb494d..e1fd29b8f51762ea2ff405331a1f10a549af70c8 100644 --- a/rigify/generate.py +++ b/rigify/generate.py @@ -30,6 +30,7 @@ from .utils.widgets import WGT_PREFIX from .utils.widgets_special import create_root_widget from .utils.misc import gamma_correct, select_object from .utils.collections import ensure_widget_collection, list_layer_collections, filter_layer_collections_by_object +from .utils.rig import get_rigify_type from . import base_generate from . import rig_ui_template @@ -198,9 +199,12 @@ class Generator(base_generate.BaseGenerator): # Add the ORG_PREFIX to the original bones. for i in range(0, len(original_bones)): - new_name = make_original_name(original_bones[i]) - obj.data.bones[original_bones[i]].name = new_name - original_bones[i] = new_name + bone = obj.pose.bones[original_bones[i]] + + # This rig type is special in that it preserves the name of the bone. + if get_rigify_type(bone) != 'basic.raw_copy': + bone.name = make_original_name(original_bones[i]) + original_bones[i] = bone.name self.original_bones = original_bones diff --git a/rigify/rigs/basic/raw_copy.py b/rigify/rigs/basic/raw_copy.py index 7d6d693eec0c42744137f2953d08f8fa87082c32..077deaa6979902d2f448f4a25341eec7331ddbbe 100644 --- a/rigify/rigs/basic/raw_copy.py +++ b/rigify/rigs/basic/raw_copy.py @@ -27,6 +27,8 @@ from ...base_generate import SubstitutionRig from itertools import repeat +''' +Due to T80764, bone name handling for 'limbs.raw_copy' was hard-coded in generate.py class Rig(SubstitutionRig): """ A raw copy rig, preserving the metarig bone as is, without the ORG prefix. """ @@ -37,7 +39,7 @@ class Rig(SubstitutionRig): new_name = self.generator.rename_org_bone(self.base_bone, new_name) return [ self.instantiate_rig(InstanceRig, new_name) ] - +''' class RelinkConstraintsMixin: """ Utilities for constraint relinking. """ @@ -122,7 +124,7 @@ class RelinkConstraintsMixin: layout.label(text="Constraint names have special meanings.", icon='ERROR') -class InstanceRig(BaseRig, RelinkConstraintsMixin): +class Rig(BaseRig, RelinkConstraintsMixin): def find_org_bones(self, pose_bone): return pose_bone.name @@ -148,8 +150,8 @@ class InstanceRig(BaseRig, RelinkConstraintsMixin): self.add_relink_constraints_ui(layout, params) -add_parameters = InstanceRig.add_parameters -parameters_ui = InstanceRig.parameters_ui +#add_parameters = InstanceRig.add_parameters +#parameters_ui = InstanceRig.parameters_ui def create_sample(obj):