1

我有一个层格式的简单网格(三角形表面)。它非常简单:3 个顶点(xyz,rgb)和 1 个面(顶点索引,文本坐标)。我在 png 文件(parametr_tex_script.png)中也有一个纹理贴图。这是层:

ply
format ascii 1.0
comment VCGLIB generated
comment TextureFile parametr_tex_script.png
element vertex 3
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
element face 1
property list uchar int vertex_indices
property list uchar float texcoord
end_header
0 0 0 255 0 0
1 0 1 255 0 0
2 1 0 255 0 0
3 0 1 2 6 1 1 0 1 0 0

我需要做的是将其转换为带有纹理坐标(vt)的obj格式。我可以使用 MehsLab GUI 使用“导出网格为”来做到这一点,但我需要使用 meshlab 服务器来做到这一点。当我运行这个命令

meshlab.meshlabserver -i parametr_out_ascii.ply -o parametr.obj -m vc fc vt

我收到带有以下错误消息的核心转储:

打开带有扩展层网格 /home/ilya/MeshTests/simplifications/testScript4Triangle/parametr_out_ascii.ply 的文件具有 3 vn 1 fn 输出网格 /home/ilya/MeshTests/simplifications/testScript4Triangle/parametr.obj meshlabserver: ../.. /../../vcglib/vcg/simplex/vertex/component_ocf.h:386: vcg::vertex::TexCoordOcf::TexCoordType& vcg::vertex::TexCoordOcf::T() [with A = vcg:: TexCoord2; TT = vcg::Arity8, vcg::vertex::InfoOcf, vcg::vertex::Coord3m, vcg::vertex::BitFlags, vcg::vertex::Normal3m, vcg::vertex::Qualityf, vcg::顶点::Color4b, vcg::vertex::VFAdjOcf, vcg::vertex::MarkOcf>; vcg::vertex::TexCoordOcf::TexCoordType = vcg::TexCoord2]:断言 `(*this).Base().TexCoordEnabled' 失败。顶点颜色,面颜色,顶点tex坐标,中止(核心转储)

如果我省略 vt(顶点纹理坐标),我不会收到错误,但我显然需要 obj 文件中的 vt 条目。

我正在起诉 Ubuntu 16.04。我不确定如何获取 meshlab 服务器的版本,但这里是 MeshLab gui 的版本:

Meshlab_64bit_fp v2016.12(构建于 2017 年 3 月 7 日)。

有没有人对如何获取带有 vt 条目的 obj 文件有任何建议/解决方法?它是一个 mashlab 服务器错误吗?我可以尝试其他工具吗?

4

1 回答 1

1

请尝试使用wt而不是vt.

于 2018-03-29T04:36:57.120 回答