From ab22f503c9542d002d22f162b76489caa7fe90ca Mon Sep 17 00:00:00 2001 From: Toke Stuart Jepsen Date: Wed, 1 Mar 2023 08:06:05 +0000 Subject: [PATCH] Fix panel issues. --- .../maya/plugins/publish/collect_review.py | 3 +++ .../maya/plugins/publish/extract_playblast.py | 24 +++++++++---------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/collect_review.py b/openpype/hosts/maya/plugins/publish/collect_review.py index eb872c2935..65ff7cf0fe 100644 --- a/openpype/hosts/maya/plugins/publish/collect_review.py +++ b/openpype/hosts/maya/plugins/publish/collect_review.py @@ -23,6 +23,9 @@ class CollectReview(pyblish.api.InstancePlugin): task = legacy_io.Session["AVALON_TASK"] + # Get panel. + instance.data["panel"] = cmds.playblast(activeEditor=True) + # get cameras members = instance.data['setMembers'] cameras = cmds.ls(members, long=True, diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 7b9e4214b9..94571ff731 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -118,7 +118,6 @@ class ExtractPlayblast(publish.Extractor): # Need to explicitly enable some viewport changes so the viewport is # refreshed ahead of playblasting. - panel = cmds.getPanel(withFocus=True) or "" keys = [ "useDefaultMaterial", "wireframeOnShaded", @@ -127,13 +126,14 @@ class ExtractPlayblast(publish.Extractor): "backfaceCulling" ] viewport_defaults = {} - if panel and "modelPanel" in panel: - for key in keys: - viewport_defaults[key] = cmds.modelEditor( - panel, query=True, **{key: True} + for key in keys: + viewport_defaults[key] = cmds.modelEditor( + instance.data["panel"], query=True, **{key: True} + ) + if preset["viewport_options"][key]: + cmds.modelEditor( + instance.data["panel"], edit=True, **{key: True} ) - if preset["viewport_options"][key]: - cmds.modelEditor(panel, edit=True, **{key: True}) override_viewport_options = ( capture_presets['Viewport Options']['override_viewport_options'] @@ -148,12 +148,10 @@ class ExtractPlayblast(publish.Extractor): # Update preset with current panel setting # if override_viewport_options is turned off - panel = cmds.getPanel(withFocus=True) or "" - if not override_viewport_options and "modelPanel" in panel: - panel_preset = capture.parse_active_view() + if not override_viewport_options: + panel_preset = capture.parse_view(instance.data["panel"]) panel_preset.pop("camera") preset.update(panel_preset) - cmds.setFocus(panel) self.log.info( "Using preset:\n{}".format( @@ -165,7 +163,9 @@ class ExtractPlayblast(publish.Extractor): # Restoring viewport options. if viewport_defaults: - cmds.modelEditor(panel, edit=True, **viewport_defaults) + cmds.modelEditor( + instance.data["panel"], edit=True, **viewport_defaults + ) cmds.setAttr("{}.panZoomEnabled".format(preset["camera"]), pan_zoom)