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)}")

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐