1

我想加载一个网格文件 (.obj),然后想使用 trimesh.sample.sample_surface_even() 函数在表面上获取一些点,将结果点转回网格并将它们保存为 .obj 文件.

我的问题是,我不知道如何将样本转回可以保存的网格。有人可以告诉我我应该逐步做些什么来实现这个目标吗?

到目前为止,这是我的代码:

import numpy as np
import trimesh

mesh = trimesh.load_mesh('mesh10.obj')
sampledmesh= trimesh.sample.sample_surface_even(mesh,500)

#? How to turn sampledmesh back into a mesh?
sampledmesh.export('mesh10_export.obj')
4

1 回答 1

0

您可以对采样的人脸索引使用submesh函数,这是返回的元组中的第二个元素:

sampledmesh = trimesh.sample.sample_surface_even(mesh,500)
sampled_submesh = mesh.submesh([sampledmesh[1]])[0]

submesh返回一个网格数组,但这里我们只有一个,所以我们取第一个网格。

于 2020-06-18T02:50:48.900 回答