From b711ee8b8a760818d72c034191193091e2538839 Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Wed, 27 Mar 2019 15:31:22 -0700 Subject: [PATCH 1/4] Fix MaterialBaker not including names in baked multi-materials --- libraries/graphics/src/graphics/Material.h | 1 + .../src/material-networking/MaterialCache.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/libraries/graphics/src/graphics/Material.h b/libraries/graphics/src/graphics/Material.h index d24e906f98..80b247bed0 100755 --- a/libraries/graphics/src/graphics/Material.h +++ b/libraries/graphics/src/graphics/Material.h @@ -318,6 +318,7 @@ public: void setTextureTransforms(const Transform& transform, MaterialMappingMode mode, bool repeat); const std::string& getName() const { return _name; } + void setName(const std::string& name) { _name = name; } const std::string& getModel() const { return _model; } void setModel(const std::string& model) { _model = model; } diff --git a/libraries/material-networking/src/material-networking/MaterialCache.cpp b/libraries/material-networking/src/material-networking/MaterialCache.cpp index 9eef89d5c9..5a5f4ab54b 100644 --- a/libraries/material-networking/src/material-networking/MaterialCache.cpp +++ b/libraries/material-networking/src/material-networking/MaterialCache.cpp @@ -184,6 +184,7 @@ std::pair> NetworkMaterialResource auto nameJSON = materialJSON.value(key); if (nameJSON.isString()) { name = nameJSON.toString().toStdString(); + material->setName(name); } } else if (key == "model") { auto modelJSON = materialJSON.value(key); From 343b853b598c4d11b4ab6dbffc68b392867f42d5 Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Tue, 16 Apr 2019 15:48:42 -0700 Subject: [PATCH 2/4] Fix Interface not loading some baked models correctly --- libraries/fbx/src/FBXSerializer_Mesh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/fbx/src/FBXSerializer_Mesh.cpp b/libraries/fbx/src/FBXSerializer_Mesh.cpp index c34b4678c7..3da08ade7c 100644 --- a/libraries/fbx/src/FBXSerializer_Mesh.cpp +++ b/libraries/fbx/src/FBXSerializer_Mesh.cpp @@ -358,7 +358,7 @@ ExtractedMesh FBXSerializer::extractMesh(const FBXNode& object, unsigned int& me std::vector dracoMaterialList; for (const auto& dracoChild : child.children) { if (dracoChild.name == "FBXDracoMeshVersion") { - if (!dracoChild.children.isEmpty()) { + if (!dracoChild.properties.isEmpty()) { dracoMeshNodeVersion = dracoChild.properties[0].toUInt(); } } else if (dracoChild.name == "MaterialList") { From 53f74abd4928d77f1828c7d0b2d2677aaaac67da Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Wed, 17 Apr 2019 11:33:53 -0700 Subject: [PATCH 3/4] Fix another Interface issue loading baked models --- libraries/fbx/src/FBXSerializer_Mesh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/fbx/src/FBXSerializer_Mesh.cpp b/libraries/fbx/src/FBXSerializer_Mesh.cpp index 3da08ade7c..22e6a0ddb2 100644 --- a/libraries/fbx/src/FBXSerializer_Mesh.cpp +++ b/libraries/fbx/src/FBXSerializer_Mesh.cpp @@ -492,7 +492,7 @@ ExtractedMesh FBXSerializer::extractMesh(const FBXNode& object, unsigned int& me // Figure out what material this part is if (dracoMeshNodeVersion >= 2) { // Define the materialID now - if (dracoMaterialList.size() - 1 <= materialID) { + if (materialID <= dracoMaterialList.size() - 1) { part.materialID = dracoMaterialList[materialID]; } } else { From 693cdabc2cf290478fd823913d5c283d1538d1ad Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Wed, 17 Apr 2019 13:26:19 -0700 Subject: [PATCH 4/4] Small style fix for materialID bounds check in FBXSerializer_Mesh.cpp --- libraries/fbx/src/FBXSerializer_Mesh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/fbx/src/FBXSerializer_Mesh.cpp b/libraries/fbx/src/FBXSerializer_Mesh.cpp index 22e6a0ddb2..802db4b428 100644 --- a/libraries/fbx/src/FBXSerializer_Mesh.cpp +++ b/libraries/fbx/src/FBXSerializer_Mesh.cpp @@ -492,7 +492,7 @@ ExtractedMesh FBXSerializer::extractMesh(const FBXNode& object, unsigned int& me // Figure out what material this part is if (dracoMeshNodeVersion >= 2) { // Define the materialID now - if (materialID <= dracoMaterialList.size() - 1) { + if (materialID < dracoMaterialList.size()) { part.materialID = dracoMaterialList[materialID]; } } else {