[英]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.