X-Git-Url: http://git.osdn.net/view?p=meshio%2Fpymeshio.git;a=blobdiff_plain;f=blender26-meshio%2Fimport_pmx.py;fp=blender26-meshio%2Fimport_pmx.py;h=e29f3a06428a60c789d4607c0027bb54472107d9;hp=db2c3d7188ac35ab0439afad9b094ad16c8d569f;hb=f4ab30fd28a4cb62ba6f7dd5fc7023182b8a2371;hpb=d30e520bc5ef07dcc85f70ccc010f5f26c5bfd6e diff --git a/blender26-meshio/import_pmx.py b/blender26-meshio/import_pmx.py index db2c3d7..e29f3a0 100644 --- a/blender26-meshio/import_pmx.py +++ b/blender26-meshio/import_pmx.py @@ -178,7 +178,7 @@ def _execute(filepath): print("%s(%d)" % (name, letter_count)) return name for i, m in enumerate(model.materials): - print(m.name) + #print(m.name) # material作成 material=__create_a_material(m, m.name, textures_and_images) # object名はutf-8で21byteまで @@ -235,5 +235,23 @@ def _execute(filepath): else: raise Exception("unknown deform: %s" % v.deform) + # set shape_key pin + bl.object.pinShape(mesh_object, True) + # create base key + baseShapeBlock=bl.object.addShapeKey(mesh_object, bl.BASE_SHAPE_NAME) + mesh.update() + for m in model.morphs: + new_shape_key=bl.object.addShapeKey(mesh_object, m.name) + for o in m.offsets: + if isinstance(o, pmx.VertexMorphOffset): + bl.shapekey.assign(new_shape_key, + o.vertex_index, + mesh.vertices[o.vertex_index].co+ + bl.createVector(*convert_coord(o.position_offset))) + else: + raise Exception("unknown morph type: %s" % o) + # select base shape + bl.object.setActivateShapeKey(mesh_object, 0) + return {'FINISHED'}