簡體   English   中英

assimp 找不到 obj。 文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM