python 读取glb
·
import glob
import trimesh
import io
import os
import numpy as np
glb_dir = r"E:\project\jihe\aigc_server\res_sha_3\data_o"
paths = glob.glob(os.path.join(glb_dir, "*.glb"))
for messh_file in paths:
# 假设 contents 是 GLB 文件的字节数据
with open(messh_file, "rb") as f:
contents = f.read()
# 方式1:从内存加载
mesh1 = trimesh.load(io.BytesIO(contents), file_type='glb', force='mesh')
# 方式2:从文件路径加载
mesh2 = trimesh.load(messh_file, force="mesh")
print(messh_file)
print(f"顶点数相同: {len(mesh1.vertices) == len(mesh2.vertices)}")
print(f"面数相同: {len(mesh1.faces) == len(mesh2.faces)}")
print(f"边界相同: {np.allclose(mesh1.bounds, mesh2.bounds)}")
更多推荐



所有评论(0)