[英]assimp fail to find the obj. file
我尝试使用 Assimp::Importer.ReadFile() 加载我的 obj.file,但事实证明 assimp 无法正确找到该文件。
这是一个简单的测试
#include<string>
#include<assimp/scene.h>
#include <assimp/Importer.hpp>
#include <assimp/postprocess.h>
using namespace std;
int main(){
Assimp::Importer importer;
string modelPath = "D:\\素材\\nanosuit\\nanosuit.obj";
const aiScene* scene = importer.ReadFile(modelPath, aiProcess_Triangulate | aiProcess_FlipUVs );
if (!scene || scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) {
cout << "ERROR::ASSIMP::" << importer.GetErrorString() << endl;
}
else cout << scene;
和 output 是以下文字
ERROR::ASSIMP::Unable to open file "D:\素材\nanosuit\nanosuit.obj".
我曾尝试加载不同的 obj.file,但它也不起作用
这是 unicode 名称的问题。 您需要使用解决方法来解决此问题。 使用 Wi32-API-Call
SetCurrentDirectory(L"D:\\素材\\nanosuit\\");
打开文件夹并在之后导入资产:
const aiScene* scene = importer.ReadFile(L"nanosuit.obj", aiProcess_Triangulate | aiProcess_FlipUVs );
Asset-Importer-Lib 中存在设计错误。 导入的名称将用于命名资产,资产名称使用 ASCII。 所以 unicode 名称将被解释为 ASCII 名称,这将导致您的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.