diff --git a/openpype/hosts/substancepainter/plugins/create/create_textures.py b/openpype/hosts/substancepainter/plugins/create/create_textures.py index a835e241b7..d295daf73a 100644 --- a/openpype/hosts/substancepainter/plugins/create/create_textures.py +++ b/openpype/hosts/substancepainter/plugins/create/create_textures.py @@ -35,6 +35,7 @@ class CreateTextures(Creator): raise CreatorError("Can't create a Texture Set instance without " "an open project.") # Transfer settings from pre create to instance + creator_attributes = instance_data.setdefault("creator_attributes", dict()) for key in [ "exportPresetUrl", "exportFileFormat", @@ -43,7 +44,7 @@ class CreateTextures(Creator): "exportDilationDistance" ]: if key in pre_create_data: - instance_data[key] = pre_create_data[key] + creator_attributes[key] = pre_create_data[key] instance = self.create_instance_in_context(subset_name, instance_data) diff --git a/openpype/hosts/substancepainter/plugins/publish/collect_textureset_images.py b/openpype/hosts/substancepainter/plugins/publish/collect_textureset_images.py index eb504fafe9..d11abd1019 100644 --- a/openpype/hosts/substancepainter/plugins/publish/collect_textureset_images.py +++ b/openpype/hosts/substancepainter/plugins/publish/collect_textureset_images.py @@ -114,7 +114,7 @@ class CollectTextureSet(pyblish.api.InstancePlugin): # Clone the instance image_instance = context.create_instance(image_subset) image_instance[:] = instance[:] - image_instance.data.update(copy.deepcopy(dict(instance.data))) + image_instance.data.update(copy.deepcopy(instance.data)) image_instance.data["name"] = image_subset image_instance.data["label"] = image_subset image_instance.data["subset"] = image_subset @@ -157,7 +157,9 @@ class CollectTextureSet(pyblish.api.InstancePlugin): dict: Export config """ - preset_url = instance.data["exportPresetUrl"] + + creator_attrs = instance.data["creator_attributes"] + preset_url = creator_attrs["exportPresetUrl"] self.log.debug(f"Exporting using preset: {preset_url}") # See: https://substance3d.adobe.com/documentation/ptpy/api/substance_painter/export # noqa @@ -170,10 +172,10 @@ class CollectTextureSet(pyblish.api.InstancePlugin): "exportParameters": [ { "parameters": { - "fileFormat": instance.data["exportFileFormat"], - "sizeLog2": instance.data["exportSize"], - "paddingAlgorithm": instance.data["exportPadding"], - "dilationDistance": instance.data["exportDilationDistance"] # noqa + "fileFormat": creator_attrs["exportFileFormat"], + "sizeLog2": creator_attrs["exportSize"], + "paddingAlgorithm": creator_attrs["exportPadding"], + "dilationDistance": creator_attrs["exportDilationDistance"] # noqa } } ]