From 0a97f2535b1bd915a6b73c89d5ad2265aaa3bcb0 Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Fri, 6 Sep 2019 17:46:59 -0700 Subject: [PATCH 1/3] Fix missing return on handling TextureBaker error --- libraries/baking/src/TextureBaker.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/baking/src/TextureBaker.cpp b/libraries/baking/src/TextureBaker.cpp index e4b0abcef6..182caf7fc6 100644 --- a/libraries/baking/src/TextureBaker.cpp +++ b/libraries/baking/src/TextureBaker.cpp @@ -250,6 +250,7 @@ void TextureBaker::processTexture() { QFile file { _metaTextureFileName }; if (!file.open(QIODevice::WriteOnly) || file.write(data) == -1) { handleError("Could not write meta texture for " + _textureURL.toString()); + return; } else { _outputFiles.push_back(_metaTextureFileName); } From 94e1707ab93a597e893ed0ebeb3d13bef945ca7a Mon Sep 17 00:00:00 2001 From: luiscuenca Date: Mon, 9 Sep 2019 10:33:51 -0700 Subject: [PATCH 2/3] Fix avatars with rotation offsets --- libraries/model-baker/src/model-baker/PrepareJointsTask.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/model-baker/src/model-baker/PrepareJointsTask.cpp b/libraries/model-baker/src/model-baker/PrepareJointsTask.cpp index cd27f8ba0b..662d5f36dc 100644 --- a/libraries/model-baker/src/model-baker/PrepareJointsTask.cpp +++ b/libraries/model-baker/src/model-baker/PrepareJointsTask.cpp @@ -107,7 +107,6 @@ void PrepareJointsTask::run(const baker::BakeContextPointer& context, const Inpu glm::quat rotationOffset = itr.value(); jointRotationOffsets.insert(jointIndex, rotationOffset); qCDebug(model_baker) << "Joint Rotation Offset added to Rig._jointRotationOffsets : " << " jointName: " << jointName << " jointIndex: " << jointIndex << " rotation offset: " << rotationOffset; - break; } } } From 01b29c3aac71030c39ac4c392212a0cfc947bcab Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Mon, 9 Sep 2019 10:42:04 -0700 Subject: [PATCH 3/3] Fix DomainBaker not finishing when Re-bake originals checked and .baked.fbx present --- libraries/baking/src/ModelBaker.cpp | 1 + libraries/baking/src/ModelBaker.h | 2 ++ tools/oven/src/DomainBaker.cpp | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libraries/baking/src/ModelBaker.cpp b/libraries/baking/src/ModelBaker.cpp index 9de32158c5..9d6a368e1c 100644 --- a/libraries/baking/src/ModelBaker.cpp +++ b/libraries/baking/src/ModelBaker.cpp @@ -45,6 +45,7 @@ #include ModelBaker::ModelBaker(const QUrl& inputModelURL, const QString& bakedOutputDirectory, const QString& originalOutputDirectory, bool hasBeenBaked) : + _originalInputModelURL(inputModelURL), _modelURL(inputModelURL), _bakedOutputDir(bakedOutputDirectory), _originalOutputDir(originalOutputDirectory), diff --git a/libraries/baking/src/ModelBaker.h b/libraries/baking/src/ModelBaker.h index b98d9716e1..991cbc25bf 100644 --- a/libraries/baking/src/ModelBaker.h +++ b/libraries/baking/src/ModelBaker.h @@ -51,6 +51,7 @@ public: virtual void setWasAborted(bool wasAborted) override; QUrl getModelURL() const { return _modelURL; } + QUrl getOriginalInputModelURL() const { return _originalInputModelURL; } virtual QUrl getFullOutputMappingURL() const; QUrl getBakedModelURL() const { return _bakedModelURL; } @@ -67,6 +68,7 @@ protected: void exportScene(); FBXNode _rootNode; + QUrl _originalInputModelURL; QUrl _modelURL; QUrl _outputURLSuffix; QUrl _mappingURL; diff --git a/tools/oven/src/DomainBaker.cpp b/tools/oven/src/DomainBaker.cpp index c52803956c..0853b41872 100644 --- a/tools/oven/src/DomainBaker.cpp +++ b/tools/oven/src/DomainBaker.cpp @@ -445,7 +445,7 @@ void DomainBaker::handleFinishedModelBaker() { // enumerate the QJsonRef values for the URL of this model from our multi hash of // entity objects needing a URL re-write - for (auto propertyEntityPair : _entitiesNeedingRewrite.values(baker->getModelURL())) { + for (auto propertyEntityPair : _entitiesNeedingRewrite.values(baker->getOriginalInputModelURL())) { QString property = propertyEntityPair.first; // convert the entity QJsonValueRef to a QJsonObject so we can modify its URL auto entity = propertyEntityPair.second.toObject(); @@ -485,10 +485,10 @@ void DomainBaker::handleFinishedModelBaker() { } // remove the baked URL from the multi hash of entities needing a re-write - _entitiesNeedingRewrite.remove(baker->getModelURL()); + _entitiesNeedingRewrite.remove(baker->getOriginalInputModelURL()); // drop our shared pointer to this baker so that it gets cleaned up - _modelBakers.remove(baker->getModelURL()); + _modelBakers.remove(baker->getOriginalInputModelURL()); // emit progress to tell listeners how many models we have baked emit bakeProgress(++_completedSubBakes, _totalNumberOfSubBakes);