[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2074] trunk/py/scripts/addons/rigify/ generate.py: Rigify: fixed bug where generating failed on metarig with no animation data.
Nathan Vegdahl
cessen at cessen.com
Wed Jun 29 00:47:45 CEST 2011
Revision: 2074
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2074
Author: cessen
Date: 2011-06-28 22:47:44 +0000 (Tue, 28 Jun 2011)
Log Message:
-----------
Rigify: fixed bug where generating failed on metarig with no animation data.
Modified Paths:
--------------
trunk/py/scripts/addons/rigify/generate.py
Modified: trunk/py/scripts/addons/rigify/generate.py
===================================================================
--- trunk/py/scripts/addons/rigify/generate.py 2011-06-28 20:00:43 UTC (rev 2073)
+++ trunk/py/scripts/addons/rigify/generate.py 2011-06-28 22:47:44 UTC (rev 2074)
@@ -168,45 +168,46 @@
con2.target = obj
# Copy drivers
- for d1 in metarig.animation_data.drivers:
- d2 = obj.driver_add(d1.data_path)
- copy_attributes(d1, d2)
- copy_attributes(d1.driver, d2.driver)
+ if metarig.animation_data:
+ for d1 in metarig.animation_data.drivers:
+ d2 = obj.driver_add(d1.data_path)
+ copy_attributes(d1, d2)
+ copy_attributes(d1.driver, d2.driver)
- # Remove default modifiers, variables, etc.
- for m in d2.modifiers:
- d2.modifiers.remove(m)
- for v in d2.driver.variables:
- d2.driver.variables.remove(v)
+ # Remove default modifiers, variables, etc.
+ for m in d2.modifiers:
+ d2.modifiers.remove(m)
+ for v in d2.driver.variables:
+ d2.driver.variables.remove(v)
- # Copy modifiers
- for m1 in d1.modifiers:
- m2 = d2.modifiers.new(type=m1.type)
- copy_attributes(m1, m2)
+ # Copy modifiers
+ for m1 in d1.modifiers:
+ m2 = d2.modifiers.new(type=m1.type)
+ copy_attributes(m1, m2)
- # Copy variables
- for v1 in d1.driver.variables:
- v2 = d2.driver.variables.new()
- copy_attributes(v1, v2)
- for i in range(len(v1.targets)):
- copy_attributes(v1.targets[i], v2.targets[i])
- # Switch metarig targets to rig targets
- if v2.targets[i].id == metarig:
- v2.targets[i].id = obj
+ # Copy variables
+ for v1 in d1.driver.variables:
+ v2 = d2.driver.variables.new()
+ copy_attributes(v1, v2)
+ for i in range(len(v1.targets)):
+ copy_attributes(v1.targets[i], v2.targets[i])
+ # Switch metarig targets to rig targets
+ if v2.targets[i].id == metarig:
+ v2.targets[i].id = obj
- # Mark targets that may need to be altered after rig generation
- tar = v2.targets[i]
- # If a custom property
- if v2.type == 'SINGLE_PROP' \
- and re.match('^pose.bones\["[^"\]]*"\]\["[^"\]]*"\]$', tar.data_path):
- tar.data_path = "RIGIFY-" + tar.data_path
+ # Mark targets that may need to be altered after rig generation
+ tar = v2.targets[i]
+ # If a custom property
+ if v2.type == 'SINGLE_PROP' \
+ and re.match('^pose.bones\["[^"\]]*"\]\["[^"\]]*"\]$', tar.data_path):
+ tar.data_path = "RIGIFY-" + tar.data_path
- # Copy key frames
- for i in range(len(d1.keyframe_points)):
- d2.keyframe_points.add()
- k1 = d1.keyframe_points[i]
- k2 = d2.keyframe_points[i]
- copy_attributes(k1, k2)
+ # Copy key frames
+ for i in range(len(d1.keyframe_points)):
+ d2.keyframe_points.add()
+ k1 = d1.keyframe_points[i]
+ k2 = d2.keyframe_points[i]
+ copy_attributes(k1, k2)
t.tick("Duplicate rig: ")
#----------------------------------
More information about the Bf-extensions-cvs
mailing list