From 041ce3e5d11122dc264633b446241934dc2282f1 Mon Sep 17 00:00:00 2001 From: Yusarina Date: Mon, 22 Jul 2024 02:24:33 +0100 Subject: [PATCH] Added FBX Export --- ui/quick_access.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ui/quick_access.py b/ui/quick_access.py index dca6bcf..9ceee62 100644 --- a/ui/quick_access.py +++ b/ui/quick_access.py @@ -49,12 +49,15 @@ class AVATAR_TOOLKIT_OT_import_menu(bpy.types.Operator): layout.operator("avatar_toolkit.import_pmd", text="Import PMD") layout.operator("avatar_toolkit.import_fbx", text="Import FBX") - @register_wrap class AVATAR_TOOLKIT_OT_export_menu(bpy.types.Operator): bl_idname = "avatar_toolkit.export_menu" bl_label = "Export Menu" + @classmethod + def poll(cls, context): + return any(obj.type == 'MESH' for obj in context.scene.objects) + def execute(self, context: Context): return {'FINISHED'} @@ -66,6 +69,7 @@ class AVATAR_TOOLKIT_OT_export_menu(bpy.types.Operator): layout = self.layout layout.label(text="Select Export Method") layout.operator("avatar_toolkit.export_resonite", text="Export Resonite") + layout.operator("avatar_toolkit.export_fbx", text="Export FBX") @register_wrap class AVATAR_TOOLKIT_OT_import_pmx(bpy.types.Operator): @@ -111,3 +115,16 @@ class AVATAR_TOOLKIT_OT_import_fbx(bpy.types.Operator): def invoke(self, context, event): context.window_manager.fileselect_add(self) return {'RUNNING_MODAL'} + +@register_wrap +class AVATAR_TOOLKIT_OT_export_fbx(bpy.types.Operator): + bl_idname = 'avatar_toolkit.export_fbx' + bl_label = "Export FBX" + bl_description = "Export the model as FBX" + bl_options = {'REGISTER', 'UNDO', 'INTERNAL'} + + def execute(self, context): + bpy.ops.export_scene.fbx('INVOKE_DEFAULT') + return {'FINISHED'} + +