follow workfile version can only be enabled through the ayon project setting

This commit is contained in:
Kayla Man 2024-06-05 13:18:51 +08:00
parent 7fd7512289
commit 8403e2f218
2 changed files with 11 additions and 21 deletions

View file

@ -313,8 +313,14 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
# Define version
version_number = None
if self.follow_workfile_version or instance.data.get(
"follow_workfile_version", self.follow_workfile_version):
# Allow an instance to force enable or disable the version
# following of the current context
use_context_version = self.follow_workfile_version
if "followWorkfileVersion" in instance.data:
use_context_version = instance.data["followWorkfileVersion"]
if use_context_version:
version_number = context.data("version")
# Even if 'follow_workfile_version' is enabled, it may not be set

View file

@ -30,18 +30,12 @@ class CreateTextures(Creator):
default_variant = "Main"
settings_category = "substancepainter"
channel_mapping = []
follow_workfile_version = False
def apply_settings(self, project_settings):
settings = project_settings["substancepainter"].get("create", []) # noqa
if settings:
self.channel_mapping = settings["CreateTextures"].get(
"channel_mapping", [])
core_setting = project_settings["core"]["publish"].get(
"CollectAnatomyInstanceData", [])
if core_setting:
self.follow_workfile_version = core_setting.get(
"follow_workfile_version", False)
def create(self, product_name, instance_data, pre_create_data):
@ -58,15 +52,11 @@ class CreateTextures(Creator):
"exportPadding",
"exportDilationDistance",
"useCustomExportPreset",
"exportChannel",
"exportChannel"
]:
if key in pre_create_data:
creator_attributes[key] = pre_create_data[key]
if pre_create_data.get("follow_workfile_version"):
instance_data["follow_workfile_version"] = pre_create_data.get(
"follow_workfile_version")
if pre_create_data.get("use_selection"):
stack = substance_painter.textureset.get_active_stack()
@ -244,15 +234,9 @@ class CreateTextures(Creator):
def get_pre_create_attr_defs(self):
# Use same attributes as for instance attributes
attr_defs = []
if substance_painter.application.version_info()[0] >= 10:
if substance_painter.application.version_info()[0] >= 10:
attr_defs.append(
BoolDef("use_selection", label="Use selection",
tooltip="Select Layer Stack(s) for exporting"),
tooltip="Select Layer Stack(s) for exporting")
)
attr_defs.append(BoolDef("follow_workfile_version",
label="Follow Workfile Version",
default=self.follow_workfile_version))
return attr_defs + self.get_instance_attr_defs()