Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gavrilov <angavrilov@gmail.com>2019-10-15 19:21:25 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2019-10-16 13:41:48 +0300
commit358bc43ef460e97239bccc379086f98ef6d95472 (patch)
tree6456ee46d145dd7f8a7269eabeff61dfd686e81f /rigify/rigs/spines/basic_spine.py
parent465f3e3f581f7dc25b299a15c5be6cdc58bbe053 (diff)
Rigify: implement optional custom pivot controls.
- Add an optional custom pivot between torso and the rest of the spine. - Add a custom pivot rig that can be used as a parent of the spine. - Add an optional custom pivot under limb IK controls.
Diffstat (limited to 'rigify/rigs/spines/basic_spine.py')
-rw-r--r--rigify/rigs/spines/basic_spine.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/rigify/rigs/spines/basic_spine.py b/rigify/rigs/spines/basic_spine.py
index 08255bb4..00ba2f4f 100644
--- a/rigify/rigs/spines/basic_spine.py
+++ b/rigify/rigs/spines/basic_spine.py
@@ -80,13 +80,9 @@ class Rig(BaseSpineRig):
####################################################
# Master control bone
- @stage.generate_bones
- def make_master_control(self):
- super().make_master_control()
-
- # Put the main control in the middle of the hip bone
- base_bone = self.get_bone(self.bones.org[0])
- put_bone(self.obj, self.bones.ctrl.master, (base_bone.head + base_bone.tail) / 2)
+ def get_master_control_pos(self, orgs):
+ base_bone = self.get_bone(orgs[0])
+ return (base_bone.head + base_bone.tail) / 2
####################################################
# Main control bones
@@ -112,8 +108,9 @@ class Rig(BaseSpineRig):
@stage.parent_bones
def parent_end_control_bones(self):
ctrl = self.bones.ctrl
- self.set_bone_parent(ctrl.hips, ctrl.master)
- self.set_bone_parent(ctrl.chest, ctrl.master)
+ pivot = self.get_master_control_output()
+ self.set_bone_parent(ctrl.hips, pivot)
+ self.set_bone_parent(ctrl.chest, pivot)
@stage.generate_widgets
def make_end_control_widgets(self):
@@ -247,7 +244,7 @@ class Rig(BaseSpineRig):
@stage.parent_bones
def parent_mch_chain(self):
- master = self.bones.ctrl.master
+ master = self.get_master_control_output()
chain = self.bones.mch.chain
fk = self.fk_result
for child, parent in zip(reversed(chain.hips), [master, *reversed(fk.hips)]):