Changeset View
Changeset View
Standalone View
Standalone View
rigify/rigs/spines/spine_rigs.py
| Show First 20 Lines • Show All 123 Lines • ▼ Show 20 Lines | class BaseSpineRig(TweakChainRig): | ||||
| @stage.generate_widgets | @stage.generate_widgets | ||||
| def make_master_control_widget(self): | def make_master_control_widget(self): | ||||
| master = self.bones.ctrl.master | master = self.bones.ctrl.master | ||||
| set_bone_widget_transform(self.obj, master, self.get_master_control_output()) | set_bone_widget_transform(self.obj, master, self.get_master_control_output()) | ||||
| create_cube_widget(self.obj, master, radius=0.5) | create_cube_widget(self.obj, master, radius=0.5) | ||||
| #################################################### | #################################################### | ||||
| # ORG bones | |||||
| @stage.parent_bones | |||||
| def parent_org_chain(self): | |||||
| ctrl = self.bones.ctrl | |||||
| org = self.bones.org | |||||
| for tweak, org in zip(ctrl.tweak, org): | |||||
| self.set_bone_parent(org, tweak) | |||||
| def rig_org_bone(self, i, org, tweak, next_tweak): | |||||
| # For spine rigs, these constraints go on the deform bones. See T74483#902192. | |||||
| pass | |||||
| #################################################### | |||||
| # Tweak bones | # Tweak bones | ||||
| @stage.configure_bones | @stage.configure_bones | ||||
| def configure_tweak_chain(self): | def configure_tweak_chain(self): | ||||
| super().configure_tweak_chain() | super().configure_tweak_chain() | ||||
| ControlLayersOption.TWEAK.assign(self.params, self.obj, self.bones.ctrl.tweak) | ControlLayersOption.TWEAK.assign(self.params, self.obj, self.bones.ctrl.tweak) | ||||
| #################################################### | #################################################### | ||||
| # Deform bones | # Deform bones | ||||
| @stage.rig_bones | |||||
| def rig_deform_chain(self): | |||||
| tweaks = self.bones.ctrl.tweak | |||||
| for args in zip(count(0), self.bones.deform, tweaks, tweaks[1:]): | |||||
| self.rig_deform_bone(*args) | |||||
| def rig_deform_bone(self, i, deform, tweak, next_tweak): | |||||
| self.make_constraint(deform, 'COPY_TRANSFORMS', tweak) | |||||
| if next_tweak: | |||||
| self.make_constraint(deform, 'DAMPED_TRACK', next_tweak) | |||||
| self.make_constraint(deform, 'STRETCH_TO', next_tweak) | |||||
| @stage.configure_bones | @stage.configure_bones | ||||
| def configure_bbone_chain(self): | def configure_bbone_chain(self): | ||||
| self.get_bone(self.bones.deform[0]).bone.bbone_easein = 0.0 | self.get_bone(self.bones.deform[0]).bone.bbone_easein = 0.0 | ||||
| #################################################### | #################################################### | ||||
| # SETTINGS | # SETTINGS | ||||
| @classmethod | @classmethod | ||||
| ▲ Show 20 Lines • Show All 112 Lines • Show Last 20 Lines | |||||