Start of MMD Tools

- The idea is to have several buttons which kinda mimic what Cats used to do.
- These are very basic, don't work very well, will improve before Alpha 1.
This commit is contained in:
Yusarina
2024-12-05 15:09:40 +00:00
parent b1631b2868
commit 3e187bd18a
7 changed files with 683 additions and 2 deletions
+76
View File
@@ -166,3 +166,79 @@ resonite_translations = {
'thumb_2_r': "thumb2.R",
'thumb_3_r': "thumb3.R"
}
mmd_bone_renames = {
# Core body
"センター": "Center",
"グルーブ": "Groove",
"": "Waist",
"上半身": "Upper Body",
"上半身2": "Upper Body 2",
"下半身": "Lower Body",
# Head
"": "Neck",
"": "Head",
"両目": "Eyes",
"左目": "Eye_L",
"右目": "Eye_R",
# Arms
"左肩": "Shoulder_L",
"左腕": "Arm_L",
"左ひじ": "Elbow_L",
"左手首": "Wrist_L",
"右肩": "Shoulder_R",
"右腕": "Arm_R",
"右ひじ": "Elbow_R",
"右手首": "Wrist_R",
# Fingers
"左親指1": "Thumb1_L",
"左親指2": "Thumb2_L",
"左人指1": "Index1_L",
"左人指2": "Index2_L",
"左人指3": "Index3_L",
"左中指1": "Middle1_L",
"左中指2": "Middle2_L",
"左中指3": "Middle3_L",
"左薬指1": "Ring1_L",
"左薬指2": "Ring2_L",
"左薬指3": "Ring3_L",
"左小指1": "Pinky1_L",
"左小指2": "Pinky2_L",
"左小指3": "Pinky3_L",
"右親指1": "Thumb1_R",
"右親指2": "Thumb2_R",
"右人指1": "Index1_R",
"右人指2": "Index2_R",
"右人指3": "Index3_R",
"右中指1": "Middle1_R",
"右中指2": "Middle2_R",
"右中指3": "Middle3_R",
"右薬指1": "Ring1_R",
"右薬指2": "Ring2_R",
"右薬指3": "Ring3_R",
"右小指1": "Pinky1_R",
"右小指2": "Pinky2_R",
"右小指3": "Pinky3_R",
# Legs
"左足": "Leg_L",
"左ひざ": "Knee_L",
"左足首": "Ankle_L",
"右足": "Leg_R",
"右ひざ": "Knee_R",
"右足首": "Ankle_R",
# Toes
"左つま先": "Toe_L",
"右つま先": "Toe_R",
# IK bones
"左足IK": "Leg_IK_L",
"右足IK": "Leg_IK_R",
"左つま先IK": "Toe_IK_L",
"右つま先IK": "Toe_IK_R"
}
+26
View File
@@ -116,6 +116,32 @@ class AvatarToolkitSceneProperties(PropertyGroup):
max=1.0
)
mmd_keep_upper_chest: BoolProperty(
name=t("MMDTools.keep_upper_chest"),
description=t("MMDTools.keep_upper_chest_desc"),
default=True
)
mmd_remove_unused_bones: BoolProperty(
name=t("MMDTools.remove_unused"),
description=t("MMDTools.remove_unused_desc"),
default=True
)
mmd_merge_distance: FloatProperty(
name=t("MMDTools.merge_distance"),
description=t("MMDTools.merge_distance_desc"),
default=0.001,
min=0.0001,
max=0.1
)
mmd_cleanup_shapekeys: BoolProperty(
name=t("MMDTools.cleanup_shapekeys"),
description=t("MMDTools.cleanup_shapekeys_desc"),
default=True
)
def register() -> None:
"""Register the Avatar Toolkit property group"""
logger.info("Registering Avatar Toolkit properties")
+1 -1
View File
@@ -76,7 +76,7 @@ class AvatarToolkit_PT_UpdaterPanel(bpy.types.Panel):
bl_region_type = 'UI'
bl_category = CATEGORY_NAME
bl_parent_id = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
bl_order = 3
bl_order = 4
def draw(self, context: bpy.types.Context) -> None:
layout = self.layout