More stuff

This commit is contained in:
raccoon
2025-01-28 07:02:01 +05:00
parent 0f37a5a02c
commit 8f6a83b86f
2 changed files with 84 additions and 73 deletions

View File

@@ -40,9 +40,7 @@ def fbx_export(context: Context) -> None:
""" """
print("[%s] Batch FBX export begin" % datetime.now()) print("[%s] Batch FBX export begin" % datetime.now())
def exporter_ascii(context: Context, filepath: str): settings_ascii = dict(
bpy.ops.export_scene.fbx(
context,
version='ASCII6100', version='ASCII6100',
use_selection=True, use_selection=True,
global_scale=1.0, global_scale=1.0,
@@ -58,17 +56,14 @@ def fbx_export(context: Context) -> None:
primary_bone_axis='Y', primary_bone_axis='Y',
secondary_bone_axis='X', secondary_bone_axis='X',
armature_nodetype='NULL', armature_nodetype='NULL',
use_anim=True, use_anim=context.scene.fbx_use_anim,
use_default_take=False, use_default_take=False,
path_mode='RELATIVE', path_mode='RELATIVE',
batch_mode='OFF', batch_mode='OFF',
use_batch_own_dir=False, use_batch_own_dir=False,
filepath=filepath,
) )
def exporter_binary(context: Context, filepath: str): settings_binary = dict(
bpy.ops.export_scene.fbx(
context,
# Common # Common
version='BIN7400', version='BIN7400',
axis_forward='-Z', axis_forward='-Z',
@@ -92,7 +87,7 @@ def fbx_export(context: Context) -> None:
use_armature_deform_only=False, use_armature_deform_only=False,
armature_nodetype='NULL', armature_nodetype='NULL',
# Animation # Animation
bake_anim = False, bake_anim=context.scene.fbx_use_anim,
bake_anim_use_all_bones=True, bake_anim_use_all_bones=True,
bake_anim_use_all_actions=True, bake_anim_use_all_actions=True,
bake_anim_use_nla_strips=True, bake_anim_use_nla_strips=True,
@@ -100,13 +95,14 @@ def fbx_export(context: Context) -> None:
bake_anim_step=1.0, bake_anim_step=1.0,
bake_anim_simplify_factor=1.0, bake_anim_simplify_factor=1.0,
# File # File
filepath=filepath,
path_mode='RELATIVE', path_mode='RELATIVE',
embed_textures=False, embed_textures=False,
batch_mode='OFF', batch_mode='OFF',
) )
exporter = exporter_binary if _FUTURE else exporter_ascii settings = settings_binary if _FUTURE or context.scene.fbx_force_binary else settings_ascii
if _FUTURE:
settings.pop('version')
rootpath = os.path.normpath(bpy.path.abspath(context.scene.fbx_export_dir)) rootpath = os.path.normpath(bpy.path.abspath(context.scene.fbx_export_dir))
groups = bpy.data.collections if _FUTURE else bpy.data.groups groups = bpy.data.collections if _FUTURE else bpy.data.groups
override = context.copy() override = context.copy()
@@ -123,8 +119,13 @@ def fbx_export(context: Context) -> None:
"selected_objects": group.objects "selected_objects": group.objects
} }
) )
settings.update(
{
"filepath": filepath
}
)
exporter(override, filepath) bpy.ops.export_scene.fbx(override, **settings)
print("\n[%s] Batch FBX export end." % datetime.now()) print("\n[%s] Batch FBX export end." % datetime.now())
@@ -174,10 +175,15 @@ class SCENE_PT_fbx_autoexport(Panel):
col.separator() col.separator()
sub = col.row() if _FUTURE:
sub.alignment = 'CENTER' col.use_property_split = True
sub.prop(scene, "fbx_on_save") col.use_property_decorate = False
sub.prop(scene, "fbx_force_binary") col.prop(scene, "fbx_on_save")
col.prop(scene, "fbx_use_anim")
if not _FUTURE:
col.prop(scene, "fbx_force_binary")
col.separator()
col.prop(scene, "fbx_export_dir") col.prop(scene, "fbx_export_dir")
col.operator(FBX_OT_ManualExport.bl_idname) col.operator(FBX_OT_ManualExport.bl_idname)
@@ -233,10 +239,15 @@ def register() -> None:
) )
Scene.fbx_group_index = IntProperty(default=0) Scene.fbx_group_index = IntProperty(default=0)
Scene.fbx_force_binary = BoolProperty( Scene.fbx_force_binary = BoolProperty(
name="Binary format", name="Binary Format",
description="Force export FBX file as binary", description="Force export FBX file as binary",
default=False default=False
) )
Scene.fbx_use_anim = BoolProperty(
name="Include Animation",
description="Export baked keyframe animation",
default=False
)
Group.fbx_exportable = BoolProperty( Group.fbx_exportable = BoolProperty(
name="Export Group", name="Export Group",
description="Mark group as FBX exportable", description="Mark group as FBX exportable",