[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2470] trunk/py/scripts/addons/mocap/ retarget.py: Bugfix for location retargeting and fixed some IK errors

Benjy Cook benjycook at hotmail.com
Mon Oct 17 11:06:35 CEST 2011


Revision: 2470
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2470
Author:   benjycook
Date:     2011-10-17 09:06:34 +0000 (Mon, 17 Oct 2011)
Log Message:
-----------
Bugfix for location retargeting and fixed some IK errors

Modified Paths:
--------------
    trunk/py/scripts/addons/mocap/retarget.py

Modified: trunk/py/scripts/addons/mocap/retarget.py
===================================================================
--- trunk/py/scripts/addons/mocap/retarget.py	2011-10-17 08:27:54 UTC (rev 2469)
+++ trunk/py/scripts/addons/mocap/retarget.py	2011-10-17 09:06:34 UTC (rev 2470)
@@ -263,7 +263,6 @@
     # now find the plant frames, where perfFeet don't move much
 
     linearAvg = []
-
     for key in perfFeet:
         for i in range(len(locDict[key]) - 1):
             v = locDeriv(key, i)
@@ -381,12 +380,14 @@
 
 #create (or return if exists) the related IK empty to the bone
 def originalLocationTarget(end_bone, enduser_obj):
-    if not end_bone.name + "IK" in enduser_obj.data.bones:
+    ik_bone = hasIKConstraint(end_bone).subtarget
+    if not ik_bone:
+        print("Adding IK bones for: " + end_bone.name)
         newBone = enduser_obj.data.edit_bones.new(end_bone.name + "IK")
         newBone.head = end_bone.tail
         newBone.tail = end_bone.tail + Vector((0, 0.1, 0))
     else:
-        newBone = enduser_obj.pose.bones[end_bone.name + "IK"]
+        newBone = enduser_obj.pose.bones[ik_bone]
     return newBone
 
 
@@ -500,6 +501,7 @@
     end_arm = enduser_obj.data
     advanced = end_arm.advancedRetarget
     step = end_arm.frameStep
+    enduser_obj.animation_data_create()
 
     try:
         enduser_obj.animation_data.action = bpy.data.actions.new("temp")



More information about the Bf-extensions-cvs mailing list