"""Convert the completed Studio/bake mesh to project Y-up FBX without touching its UVs.""" import sys,json,shutil,hashlib from pathlib import Path import bpy import numpy as np sys.path.insert(0,str(Path(__file__).resolve().parent)) from bl_decimate import prepare_game_export,export_fbx_source_yup argv=sys.argv[sys.argv.index('--')+1:] folder=Path(argv[0]).resolve() # Optional output actor name; GreatHornStudio keeps the original trial invocation working. name=argv[1] if len(argv)>1 else 'GreatHornStudio' out=folder/'static';out.mkdir(parents=True,exist_ok=True) bpy.ops.wm.read_factory_settings(use_empty=True) bpy.ops.import_scene.gltf(filepath=str(folder/'model_ex.glb')) meshes=[o for o in bpy.context.scene.objects if o.type=='MESH'] assert len(meshes)==1,'Expected one final Studio mesh' low=meshes[0] def uv_hash():return hashlib.sha256(np.array([tuple(v.uv) for v in low.data.uv_layers.active.data],dtype='