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まで
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'}
english_name=m.english_name.decode('cp932'),
panel=get_panel(m),
morph_type=1,
- offsets=[pmx.VerexMorphOffset(base.indices[i], pos)
+ offsets=[pmx.VertexMorphOffset(base.indices[i], pos)
for i, pos in zip(m.indices, m.pos_list)]
)
for i, m in enumerate(src.morphs) if m.name!=b"base"]
def __init__(self, bone_index, limit_angle, limit_min=None, limit_max=None):\r
self.bone_index=bone_index\r
self.limit_angle=limit_angle\r
- self.limit_min=limit_min or common.Vector3\r
- self.limit_max=limit_max or common.Vector3\r
+ self.limit_min=limit_min or common.Vector3()\r
+ self.limit_max=limit_max or common.Vector3()\r
\r
def __eq__(self, rhs):\r
return (\r
self.parent_index=parent_index\r
self.layer=layer\r
self.flag=flag\r
- self.tail_position=tail_position or common.Vector3\r
+ self.tail_position=tail_position or common.Vector3()\r
self.tail_index=tail_index\r
self.effect_index=effect_index\r
self.effect_factor=effect_factor\r
- self.fixed_axis=fixed_axis or common.Vector3\r
- self.local_x_vector=local_x_vector or common.Vector3\r
- self.local_z_vector=local_z_vector or common.Vector3\r
+ self.fixed_axis=fixed_axis or common.Vector3()\r
+ self.local_x_vector=local_x_vector or common.Vector3()\r
+ self.local_z_vector=local_z_vector or common.Vector3()\r
self.external_key=external_key\r
self.ik=ik\r
\r
self._diff_array(rhs, 'offsets')\r
\r
\r
-class VerexMorphOffset(Diff):\r
+class VertexMorphOffset(Diff):\r
"""pmx vertex morph offset\r
\r
Attributes:\r
"unknown morph type: {0}".format(morph_type))\r
\r
def read_vertex_morph_offset(self):\r
- return pmx.VerexMorphOffset(\r
+ return pmx.VertexMorphOffset(\r
self.read_vertex_index(), self.read_vector3())\r
\r
def read_display_slot(self):\r