Fix panel issues.

This commit is contained in:
Toke Stuart Jepsen 2023-03-01 08:06:05 +00:00
parent 6885357c75
commit ab22f503c9
2 changed files with 15 additions and 12 deletions

View file

@ -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,

View file

@ -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)