-
- def get_tail_position(b):
- return common.Vector3()
- def get_tail_index(b):
- if isinstance(b, pmd.Bone_Rolling):
- return -1
- return b.tail_index
- def get_ik(b):
- return None
- def get_layer(b):
- return 0
- dst.bones=[
- pmx.Bone(
- name=b.name.decode('cp932'),
- english_name=b.english_name.decode('cp932'),
- position=b.pos,
- parent_index=b.parent_index if b.parent_index!=65535 else -1,
- layer=get_layer(b),
- flag=get_bone_flag(b),
- tail_position=get_tail_position(b),
- tail_index=get_tail_index(b),
- effect_index=-1,
- effect_factor=0.0,
- fixed_axis=common.Vector3(),
- local_x_vector=common.Vector3(),
- local_z_vector=common.Vector3(),
- external_key=-1,
- ik=get_ik(b),
+ for i, m in enumerate(src.morphs) if m.name!=b"base"]
+ # display_slots
+ dst.display_slots=[
+ pmx.DisplaySlot(u('Root'), u('Root'), 1),
+ pmx.DisplaySlot(u('表情'), u('Exp'), 1)]+[
+ pmx.DisplaySlot(
+ name=g.name.strip().decode('cp932'),
+ english_name=g.english_name.strip().decode('cp932'),
+ special_flag=0)
+ for i, g in enumerate(src.bone_group_list)]
+ # rigidbodies
+ dst.rigidbodies=[
+ pmx.RigidBody(
+ name=r.name.decode("cp932"),
+ english_name=u(""),
+ bone_index=r.bone_index,
+ collision_group=r.collision_group,
+ no_collision_group=r.no_collision_group,
+ shape_type=r.shape_type,
+ shape_size=r.shape_size,
+ shape_position=r.shape_position,
+ shape_rotation=r.shape_rotation,
+ mass=r.mass,
+ linear_damping=r.linear_damping,
+ angular_damping=r.angular_damping,
+ restitution=r.restitution,
+ friction=r.friction,
+ mode=r.mode