[3D网格模型(.obj)通过vcglib导入导致断言0失败的问题

问题描述 投票:-1回答:1

我正在尝试使用以下代码通过VCG库导入OBJ格式的3D网格文件

vcg::tri::io::Importer<MyMesh>::Open(vcgMesh, path)

/ wrap / io_trimesh / import.h标头支持的几乎所有3D网格格式都可以正常工作。 (STL,PLY甚至是OBJ!)但是只有某些特定的OBJ文件会导致错误并使应用程序完全崩溃。例如,我从此链接获得的OBJ文件https://free3d.com/3d-model/wwi-plane-pfalz-diii-a-90772.html

这是我得到的错误消息

/vcg/simplex/edge/component.h:46: typename T::VertexType*& vcg::edge::EmptyCore<T>::V(int) [with T = MyUsedTypes; typename T::VertexType = MyVertex]: Assertion `0' failed [1]    24708 abort (core dumped)

事情是我什至无法抓住错误。而且我找不到任何解决方案来防止我的应用程序崩溃。我试图在Blender和MeshLab中打开文件。这些应用程序导入OBJ文件没有任何问题。这是一些相关问题,但没有解决方案针对此案例。Failed to to simplify 3D models with vcglib, Assertion `0' failed Assertion Failure when using vcglib examples

有什么办法解决这个问题?即使这是vcglib本身的问题,并且很难修复,但如果我能够捕获到错误并防止我的应用程序崩溃,那将是很好的。请帮忙!先感谢您。

c++ 3d meshlab wavefront vcg
1个回答
0
投票

我尝试在Blender和MeshLab中打开文件。这些应用导入OBJ文件没有任何问题。

真的吗?您的obj文件无效,meshlab或Blender不可能处理以下行的.obj文件:

vt 0.349751 0.599421
vt 0.351053 0.607569
vt 0.369663 0.673393
vt nan nan
vt nan nan
vt nan nan

此外,某些纹理具有绝对路径,例如

map_Kd /C:/Documents and Settings/Jean-Marie/Mes documents/....
© www.soinside.com 2019 - 2024. All rights reserved.