rj-action-library/Tools/blender/gltf_to_fbx.py

36 lines
844 B
Python
Raw Normal View History

2025-07-03 08:34:35 +00:00
import bpy
import sys
import json
# Parse CLI arguments
argv = sys.argv
input_path = argv[-3]
output_path = argv[-2]
settings_json_path = argv[-1]
print( argv )
print( input_path )
print( output_path )
print( settings_json_path )
# Reset the scene
bpy.ops.wm.read_factory_settings(use_empty=True)
# Import GLTF/GLB
bpy.ops.import_scene.gltf(filepath=input_path)
# Load FBX export settings from JSON file
with open(settings_json_path, 'r') as f:
export_settings = json.load(f)
# Convert certain keys to sets (JSON only allows lists)
for key in ['object_types']:
if key in export_settings and isinstance(export_settings[key], list):
export_settings[key] = set(export_settings[key])
print( export_settings )
# Export to FBX using settings from JSON
bpy.ops.export_scene.fbx(
filepath=output_path,
**export_settings
)