[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25239] trunk/blender/release/scripts/ modules/rigify: - use the bone that the type was set for automatic assigned blending property (when blending 2 chains)

Campbell Barton ideasman42 at gmail.com
Wed Dec 9 13:36:13 CET 2009


Revision: 25239
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25239
Author:   campbellbarton
Date:     2009-12-09 13:36:13 +0100 (Wed, 09 Dec 2009)

Log Message:
-----------
- use the bone that the type was set for automatic assigned blending property (when blending 2 chains)
- delete the type property from the generated rig so running again wont confuse things

Modified Paths:
--------------
    trunk/blender/release/scripts/modules/rigify/__init__.py
    trunk/blender/release/scripts/modules/rigify/arm.py
    trunk/blender/release/scripts/modules/rigify/leg.py

Modified: trunk/blender/release/scripts/modules/rigify/__init__.py
===================================================================
--- trunk/blender/release/scripts/modules/rigify/__init__.py	2009-12-09 12:00:28 UTC (rev 25238)
+++ trunk/blender/release/scripts/modules/rigify/__init__.py	2009-12-09 12:36:13 UTC (rev 25239)
@@ -429,10 +429,17 @@
     # inspect all bones and assign their definitions before modifying
     for pbone in obj.pose.bones:
         bone_name = pbone.name
-        bone_type = obj.pose.bones[bone_name].get("type", "")
-        bone_type_list = [bt for bt in bone_type.replace(",", " ").split()]
+        bone_type = pbone.get("type", "")
+        if bone_type:
+            bone_type_list = [bt for bt in bone_type.replace(",", " ").split()]
+            
+            # not essential but means running autorig again wont do anything
+            del pbone["type"]
+        else:
+            bone_type_list = []
 
         for bone_type in bone_type_list:
+            
             type_pair = bone_type.split(".")
 
             # 'leg.ik' will look for an ik function in the leg module
@@ -500,7 +507,7 @@
             definition = bone_def_dict[submod_name]
 
             if len(result_submod) == 2:
-                blend_bone_list(obj, definition, result_submod[0], result_submod[1])
+                blend_bone_list(obj, definition, result_submod[0], result_submod[1], target_bone=bone_name)
 
 
     if META_DEF:

Modified: trunk/blender/release/scripts/modules/rigify/arm.py
===================================================================
--- trunk/blender/release/scripts/modules/rigify/arm.py	2009-12-09 12:00:28 UTC (rev 25238)
+++ trunk/blender/release/scripts/modules/rigify/arm.py	2009-12-09 12:36:13 UTC (rev 25239)
@@ -245,4 +245,4 @@
     bones_fk = fk(obj, bone_definition, base_names)
 
     bpy.ops.object.mode_set(mode='OBJECT')
-    blend_bone_list(obj, bone_definition, bones_ik, bones_fk)
+    blend_bone_list(obj, bone_definition, bones_ik, bones_fk, target_bone=bone_definition[1])

Modified: trunk/blender/release/scripts/modules/rigify/leg.py
===================================================================
--- trunk/blender/release/scripts/modules/rigify/leg.py	2009-12-09 12:00:28 UTC (rev 25238)
+++ trunk/blender/release/scripts/modules/rigify/leg.py	2009-12-09 12:36:13 UTC (rev 25239)
@@ -338,4 +338,4 @@
     bones_fk = fk(obj, bone_definition, base_names)
 
     bpy.ops.object.mode_set(mode='OBJECT')
-    blend_bone_list(obj, bone_definition, bones_ik, bones_fk)
+    blend_bone_list(obj, bone_definition, bones_ik, bones_fk, target_bone=bone_definition[1])





More information about the Bf-blender-cvs mailing list