import trimesh import numpy as np def load_obj_with_materials(obj_filename): scene = trimesh.load(obj_filename, file_type='obj') return scene def simplify_mesh(mesh, target_faces): simplified_mesh = mesh.simplify_quadratic_decimation(target_faces) return simplified_mesh def save_obj_with_materials(scene, output_filename): scene.export(output_filename, file_type='obj') def main(): input_obj = 'Mont.obj' output_obj = 'Mont_6.obj' target_faces = 5000 # Número desejado de faces após simplificação # Carregar a cena do arquivo OBJ scene = load_obj_with_materials(input_obj) # Simplificar cada malha na cena for name, mesh in scene.geometry.items(): simplified_mesh = simplify_mesh(mesh, target_faces) scene.geometry[name] = simplified_mesh # Salvar a cena simplificada mantendo as referências aos materiais save_obj_with_materials(scene, output_obj) if __name__ == "__main__": main()