for index, offset in zip(s.indices, s.pos_list):
try:
- vertex_index=base.indices[index]
+ vertex_index=vertex_map[base.indices[index]]
bl.shapeKeyAssign(new_shape_key, vertex_index,
mesh.verts[vertex_index].co+
bl.createVector(*convert_coord(offset)))
def __build(armature, b, p, parent):
name=englishmap.getEnglishBoneName(b.getName())
if not name:
- name=b.getName().encode(bl.INTERNAL_ENCODING)
+ name=b.getName()
bone=bl.createArmatureBone(armature, name)
for ik in l.ik_list:
target=l.bones[ik.target]
name = englishmap.getEnglishBoneName(target.getName())
+ if not name:
+ name=target.getName()
p_bone = pose.bones[name]
if not p_bone:
print('not found', name)
material=bl.createPmdMaterial(m)
texture_name=m.getTexture()
- #tex_file=re.compile('\*.*.spa$').sub('', m.getTexture())
- #tex_path = os.path.join(tex_dir, tex_file).encode(
- # bl.INTERNAL_ENCODING)
if texture_name!='':
if texture_name in textureMap:
texture=textureMap[texture_name]
face_map, tex_dir)
# enter Edit Mode
- bl.enterEditMode()
+ #bl.enterEditMode()
# crete shape key
__importShape(meshObject, io, vertex_map)
# exit Edit Mode
- bl.exitEditMode()
+ #bl.exitEditMode()
mesh.update()
material_offset+=16
progress_set('loaded %s' % filename, 0.1)
# create root object
- root=bl.createEmptyObject(scene,
- io.english_name if len(io.english_name)>0 else io.getName().encode(bl.INTERNAL_ENCODING))
+ model_name=io.getEnglishName()
+ if len(model_name)==0:
+ model_name=io.getName()
+ root=bl.createEmptyObject(scene, model_name)
# import mesh
mesh_objects=__importMesh(scene, io, os.path.dirname(filename))