python - obj 文件作为 Scene 对象而不是 Trimesh 对象加载
问题描述
我正在尝试使用 Trimesh 从 .obj 文件(来自 ShapeNet 数据集)加载网格,然后使用该repair.fix_winding(mesh)
函数。
但是当我加载网格时,通过
trimesh.load('/path/to/file.obj')
或trimesh.load_mesh('/path/to/file.obj')
,
返回的对象类为 Scene,与 不兼容repair.fix_winding(mesh)
,只接受 Trimesh 对象。
如何强制它加载并返回 Trimesh 对象或将 Scene 对象解析为 Trimesh 对象?或者任何其他方法来修复三角形的缠绕?
使用:
蟒蛇 3.6.5
Trimesh 3.0.14
macOS 10.14.5
解决方案
load_mesh 有一个选项作为 Trimesh 构造函数传递,如文档中所述。
https://trimsh.org/trimesh.html?highlight=load_mesh#trimesh.load_mesh
这是一个示例代码
mesh= t.load_mesh('./test.stl',process=False)
mesh.is_watertight
第二行“.is_watertight”是 Trimesh 的一个属性,所以如果它作为 Trimesh 成功导入,您将得到 True。
推荐阅读
- python - Python - 如何从连续列表中获取时间差
- shell - 测试 grep 输出
- laravel - 在 VueJS 中创建可点击的行表
- java - 获取在线玩家大小的 bukkit 错误
- php - 未捕获的错误函数名称必须是字符串,登录表单
- powershell-4.0 - 斐波那契数列的这个方程如何使用 powershell 工作?
- sql-server - Visual Studio 2019“打开方式...”BimlExpress 文件错误“参数不正确”
- html - 如何处理不同的显示器宽高比问题?
- curl - 没有正文的 cURL POST 请求无
- python - f.write('string') 在 python 中只写一次 while true 循环