gpt4 book ai didi

c++ - ASSIMP 在没有任何更改的情况下导出导入的场景会引发异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:31 29 4
gpt4 key购买 nike

我正在做一个项目,我使用 ASSIMP 库导入一个化身的 3D 网格,更新它并使用同一个 ASSIMP 库再次导出更新后的场景。为此,作为第一步,我编写了一段代码来导入场景,并且在不做任何更改的情况下将引用传递给导出函数。但是,导出功能抛出一个错误。主要功能如下(你可以验证我没有对导入的场景做任何改动):

int main(int argc, char** argv)
{
string filename = "../Content/PinocchioMesh/Model1.obj";

Assimp::Importer Importer;
//Importer.
cout << "\tReading file using ASSIMP" << endl;
const aiScene* aiscene = Importer.ReadFile(filename.c_str(), aiProcess_JoinIdenticalVertices | \
aiProcess_GenSmoothNormals | aiProcess_FlipUVs | aiProcess_SortByPType | aiProcess_Triangulate);

string str = Importer.GetErrorString();

if (!aiscene) {
printf("Error parsing '%s': '%s'\n", filename.c_str(), Importer.GetErrorString());
return false;
}


Assimp::Exporter exporter;
const aiExportFormatDesc* format = exporter.GetExportFormatDescription(0);
int lIndex = filename.find_last_of('/');
//const string path = Filename.substr(0,lIndex+1);
string path = "../Content/PinocchioMesh/";
cout << "\tExport path: " << path << endl;
aiReturn ret = exporter.Export(aiscene, format->id, path, aiscene->mFlags);
cout << exporter.GetErrorString() << endl;

return 0;
}

错误在 Export() 函数中 ans 说:

First-chance exception at 0x1052591B (Assimp32.dll) in ImportRigExport.exe: 0xC0000005: Access violation reading location 0x00000000.

谁用过assimp导出场景,请帮帮我。

最佳答案

路径似乎不包含文件名,只包含目录部分,因此 export() 不太可能创建输出文件。不过,我同意,Assimp 应该处理这个错误案例。

关于c++ - ASSIMP 在没有任何更改的情况下导出导入的场景会引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35620357/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com