class Bone(object):
- def __init__(self, bone):
- self.name=bone.name
- pos=bone.head['ARMATURESPACE']
+ def __init__(self, name, pos):
+ self.name=name
self.pos=[pos.x, pos.y, pos.z]
self.parent_index=None
self.tail_index=None
+ self.type=0
def __str__(self):
return "<Bone %s>" % self.name
for b in armature.bones.values():
if not b.parent:
# root bone
- bone=Bone(b)
+ bone=Bone(b.name, b.head['ARMATURESPACE'])
self.addBone(bone)
self.getBone(bone, b)
def getBone(self, parent, b):
if len(b.children)==0:
+ # 末端の非表示ボーン
+ bone=Bone(b.name+'_tail', b.tail['ARMATURESPACE'])
+ bone.type=7
+ self.addBone(bone)
+ assert(parent)
+ bone.parent_index=parent.index
+ parent.tail_index=bone.index
return
for i, c in enumerate(b.children):
- bone=Bone(c)
+ bone=Bone(c.name, c.head['ARMATURESPACE'])
self.addBone(bone)
if parent:
bone.parent_index=parent.index
for b in builder.bones:
bone=io.addBone()
bone.name=b.name
- bone.type=0
+ bone.type=b.type
bone.parent_index=b.parent_index if b.parent_index!=None else 0xFFFF
- bone.tail_index=b.tail_index if b.tail_index!=None else 0xFFFF
+ bone.tail_index=b.tail_index if b.tail_index!=None else 0
# ToDo
bone.ik_index=0xFFFF
# convert right-handed z-up to left-handed y-up
return k
if sys.version_info[0]<3:
- print('convert boneMap and skinMap to unicode')
+ print 'convert boneMap and skinMap to unicode...',
# python2.x
# unicodeに変換
for k in boneMap.keys():
boneMap[k]=boneMap[k].decode('utf-8')
for k in skinMap.keys():
skinMap[k]=skinMap[k].decode('utf-8')
+ print('done')
'blender24/mqo_import.py',
'blender24/pmd_import.py',
'blender24/vmd_import.py',
+ 'blender24/mqo_export.py',
+ 'blender24/pmd_export.py',
])
]
for i in range(len(ext_modules)+1):
try:
setup(name="meshio",
- version='0.1',
+ version='0.2',
description='polygon mesh io utilities',
author='ousttrue',
author_email='ousttrue@gmail.com',