From b6e849bc73a073d27133b3ae7f3f0d1e20dbd98a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Samohel?= <33513211+antirotor@users.noreply.github.com> Date: Fri, 13 Jan 2023 15:06:46 +0100 Subject: [PATCH 1/2] :bug: fix animation family contamination --- .../hosts/maya/plugins/publish/extract_multiverse_usd.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py b/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py index 27f676e86c..0af748f7b6 100644 --- a/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py +++ b/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py @@ -156,6 +156,14 @@ class ExtractMultiverseUsd(publish.Extractor): return members def process(self, instance): + # check if there is "usd" in families because of + # `ExtractMultiverseUsdAnim` that inherits this and should + # run on animation family too. + families = set(instance.data["families"]) + families.add(instance.data["family"]) + if "usd" not in families: + return + # Load plugin first cmds.loadPlugin("MultiverseForMaya", quiet=True) From 8db210fce0b0e34988c386239f51b79d2b949072 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Mon, 16 Jan 2023 10:45:18 +0100 Subject: [PATCH 2/2] :recycle: use pyblish matching --- .../maya/plugins/publish/extract_multiverse_usd.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py b/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py index 0af748f7b6..4399eacda1 100644 --- a/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py +++ b/openpype/hosts/maya/plugins/publish/extract_multiverse_usd.py @@ -4,6 +4,7 @@ import six from maya import cmds from maya import mel +import pyblish.api from openpype.pipeline import publish from openpype.hosts.maya.api.lib import maintained_selection @@ -156,13 +157,6 @@ class ExtractMultiverseUsd(publish.Extractor): return members def process(self, instance): - # check if there is "usd" in families because of - # `ExtractMultiverseUsdAnim` that inherits this and should - # run on animation family too. - families = set(instance.data["families"]) - families.add(instance.data["family"]) - if "usd" not in families: - return # Load plugin first cmds.loadPlugin("MultiverseForMaya", quiet=True) @@ -262,7 +256,8 @@ class ExtractMultiverseUsdAnim(ExtractMultiverseUsd): Upon publish a .usd sparse cache will be written. """ label = "Extract Multiverse USD Animation Sparse Cache" - families = ["animation"] + families = ["animation", "usd"] + match = pyblish.api.Subset def get_default_options(self): anim_options = self.default_options