diff --git a/libraries/model-baking/src/FBXBaker.cpp b/libraries/model-baking/src/FBXBaker.cpp index 589e74ab77..0ff6b39704 100644 --- a/libraries/model-baking/src/FBXBaker.cpp +++ b/libraries/model-baking/src/FBXBaker.cpp @@ -148,7 +148,7 @@ void FBXBaker::bake() { // (4) enumerate the collected texture paths and bake the textures // a failure at any step along the way stops the chain - importScene() && rewriteAndCollectSceneTextures() && exportScene() && bakeTextures(); + importScene() && rewriteAndCollectSceneTextures() && exportScene() && bakeTextures() && removeEmbeddedMediaFolder(); // emit a signal saying that we are done, with whatever errors were produced emit finished(); @@ -316,3 +316,12 @@ bool FBXBaker::bakeTextures() { return true; } + +bool FBXBaker::removeEmbeddedMediaFolder() { + // now that the bake is complete, remove the embedded media folder produced by the FBX SDK when it imports an FBX + auto embeddedMediaFolderName = _fbxURL.fileName().replace(".fbx", ".fbm"); + QDir(_uniqueOutputPath + ORIGINAL_OUTPUT_SUBFOLDER + embeddedMediaFolderName).removeRecursively(); + + // we always return true because a failure to delete the embedded media folder is not a failure of the bake + return true; +} diff --git a/libraries/model-baking/src/FBXBaker.h b/libraries/model-baking/src/FBXBaker.h index da1bf10d34..a6cf64ebaf 100644 --- a/libraries/model-baking/src/FBXBaker.h +++ b/libraries/model-baking/src/FBXBaker.h @@ -49,6 +49,7 @@ private: bool exportScene(); bool bakeTextures(); bool bakeTexture(); + bool removeEmbeddedMediaFolder(); QString pathToCopyOfOriginal() const;