瀏覽代碼

Assimp checks against lowercase extensions, so we force the extension of the file to lower before fetching the importer.
Also adds sanity check that the importer was actually found before we try and use it.

Areloch 3 年之前
父節點
當前提交
04b0883a31
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      Engine/source/ts/assimp/assimpShapeLoader.cpp

+ 3 - 2
Engine/source/ts/assimp/assimpShapeLoader.cpp

@@ -178,8 +178,9 @@ void AssimpShapeLoader::enumerateScene()
       // Setup default units for shape format
       String importFormat;
 
-      const aiImporterDesc* importerDescription = aiGetImporterDesc(shapePath.getExtension().c_str());
-      if (StringTable->insert(importerDescription->mName) == StringTable->insert("Autodesk FBX Importer"))
+      String fileExt = String::ToLower(shapePath.getExtension());
+      const aiImporterDesc* importerDescription = aiGetImporterDesc(fileExt.c_str());
+      if (importerDescription && StringTable->insert(importerDescription->mName) == StringTable->insert("Autodesk FBX Importer"))
       {
          ColladaUtils::getOptions().formatScaleFactor = 0.01f;
       }