OSDN Git Service

update version.
[meshio/meshio.git] / swig / blender24 / pmd_import.py
index 5af4cec..3c85823 100644 (file)
@@ -7,7 +7,7 @@
  Tooltip: 'Import PMD file for MikuMikuDance.'
 """
 __author__= ["ousttrue"]
-__version__= "0.8"
+__version__= "1.0"
 __url__=()
 __bpydoc__="""
 0.1: 20091126
@@ -18,6 +18,7 @@ __bpydoc__="""
 0.6: 20100416 fix fornt face. texture load fail safe. add progress.
 0.7: 20100506 C extension.
 0.8: 20100521 add shape_key group.
+1.0: 20100530 add invisilbe bone tail(armature layer 2).
 """
 import Blender
 from Blender import Mathutils
@@ -367,6 +368,8 @@ class Builder(object):
             if bone.name=="center_t":
                 # センターボーンは(0, 1, 0)の方向を向いていないと具合が悪い
                 parent.tail=parent.head+Mathutils.Vector(0, 1, 0)
+                bone.head=parent.tail
+                bone.tail=bone.head+Mathutils.Vector(0, 1, 0)
             else:
                 assert(parent.tail==bone.head)
             bone.options=[Blender.Armature.CONNECTED]
@@ -432,8 +435,9 @@ def importArmature(scene, l):
             continue
         # IK solver
         ik_solver = p_bone.constraints.append(Blender.Constraint.Type.IKSOLVER)
-        ik_solver[cSetting.CHAINLEN] = len(ik.children)
-        ik_solver[cSetting.TARGET] = armature_object
+        ik_solver[cSetting.CHAINLEN]=len(ik.children)
+        ik_solver[cSetting.TARGET]=armature_object
+        ik_solver[cSetting.USETIP]=False
 
         effector_name=englishmap.getEnglishBoneName(
                 l.bones[ik.index].getName())
@@ -442,7 +446,9 @@ def importArmature(scene, l):
 
         ik_solver[cSetting.BONE]=effector_name
         #ik_solver.influence=ik.weight
-        ik_solver[cSetting.USETIP]=False
+        # not used. place folder when export.
+        ik_solver[cSetting.ROTWEIGHT]=ik.weight
+        ik_solver[cSetting.ITERATIONS]=ik.iterations * 10
 
     armature.makeEditable()
     armature.update()