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:
authorLucio Rossi <lucio.rossi75@gmail.com>2016-09-12 19:32:28 +0300
committerLucio Rossi <lucio.rossi75@gmail.com>2016-09-12 19:32:28 +0300
commitfecd5c9f566e0075e91d6d5830ccc0a622932736 (patch)
tree4169118e454c7ab4006cddfa28dfb467c905837c /rigify/generate.py
parentff11927e8e07a46c8199d9681af639be52b6b1af (diff)
Pitchipoy: remove root parenting from ctrls with IK_follow and child_of
Diffstat (limited to 'rigify/generate.py')
-rw-r--r--rigify/generate.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/rigify/generate.py b/rigify/generate.py
index 0536377e..e519c13b 100644
--- a/rigify/generate.py
+++ b/rigify/generate.py
@@ -300,12 +300,21 @@ def generate_rig(context, metarig):
# Get a list of all the bones in the armature
bones = [bone.name for bone in obj.data.bones]
- # Parent any free-floating bones to the root.
+ # Parent any free-floating bones to the root excluding bones with child of constraint.
+ pbones = obj.pose.bones
+ noparent_bones = []
+ for bone in bones:
+ if 'IK_follow' in pbones[bone].keys():
+ noparent_bones += [bone]
+
bpy.ops.object.mode_set(mode='EDIT')
for bone in bones:
- if obj.data.edit_bones[bone].parent is None:
+ if bone in noparent_bones:
+ continue
+ elif obj.data.edit_bones[bone].parent is None:
obj.data.edit_bones[bone].use_connect = False
obj.data.edit_bones[bone].parent = obj.data.edit_bones[root_bone]
+
bpy.ops.object.mode_set(mode='OBJECT')
# Lock transforms on all non-control bones