Files
Avatar-Toolkit/ui/mmd_panel.py
T
2024-12-08 06:52:05 +00:00

47 lines
1.8 KiB
Python

import bpy
from typing import Set
from bpy.types import Panel, Context, UILayout, Operator
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"""
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
def draw(self, context: Context) -> None:
layout: UILayout = self.layout
# 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')