Re-do 3rd attempt I hate MMD stuff

This commit is contained in:
Yusarina
2024-12-13 01:59:28 +00:00
parent c39f77d6d5
commit 1e0fe403aa
4 changed files with 473 additions and 577 deletions
+7 -30
View File
@@ -1,46 +1,23 @@
import bpy
from typing import Set
from bpy.types import Panel, Context, UILayout, Operator
from bpy.types import Panel, Context, UILayout
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
from ..core.translations import t
class AvatarToolKit_PT_MMDPanel(Panel):
"""Panel containing MMD conversion and optimization tools"""
"""Panel containing MMD bone standardization tools"""
bl_label = t("MMD.label")
bl_idname = "OBJECT_PT_avatar_toolkit_mmd"
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = CATEGORY_NAME
bl_parent_id = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
bl_order = 2
bl_order = 3
def draw(self, context: Context) -> None:
layout: UILayout = self.layout
toolkit = context.scene.avatar_toolkit
# Bone Standardization Box
bone_box: UILayout = layout.box()
col: UILayout = bone_box.column(align=True)
col.label(text=t("MMD.bone_standardization"), icon='ARMATURE_DATA')
col.separator(factor=0.5)
col.operator("avatar_toolkit.mmd_standardize_bones", icon='BONE_DATA')
# Weight Processing Box
weight_box: UILayout = layout.box()
col = weight_box.column(align=True)
col.label(text=t("MMD.weight_processing"), icon='GROUP_VERTEX')
col.separator(factor=0.5)
col.operator("avatar_toolkit.mmd_process_weights", icon='WPAINT_HLT')
# Hierarchy Box
hierarchy_box: UILayout = layout.box()
col = hierarchy_box.column(align=True)
col.label(text=t("MMD.hierarchy"), icon='OUTLINER')
col.separator(factor=0.5)
col.operator("avatar_toolkit.mmd_fix_hierarchy", icon='CONSTRAINT_BONE')
# Cleanup Box
cleanup_box: UILayout = layout.box()
col = cleanup_box.column(align=True)
col.label(text=t("MMD.cleanup"), icon='BRUSH_DATA')
col.separator(factor=0.5)
col.operator("avatar_toolkit.mmd_cleanup_armature", icon='MODIFIER')
# Add merge twist bones option
layout.prop(toolkit, "keep_twist_bones")
layout.operator("avatar_toolkit.standardize_mmd", icon='BONE_DATA')