Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maya: Ability to set resolution for playblasts from asset, and override through review instance. #3360

Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions openpype/hosts/maya/plugins/create/create_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ class CreateReview(plugin.Creator):
keepImages = False
isolate = False
imagePlane = True
resolutionWidth = 0
resolutionHeight = 0
transparency = [
"preset",
"simple",
Expand All @@ -33,6 +35,8 @@ def __init__(self, *args, **kwargs):
for key, value in animation_data.items():
data[key] = value

data["resolutionWidth"] = self.resolutionWidth
data["resolutionHeight"] = self.resolutionHeight
data["isolate"] = self.isolate
data["keepImages"] = self.keepImages
data["imagePlane"] = self.imagePlane
Expand Down
2 changes: 2 additions & 0 deletions openpype/hosts/maya/plugins/publish/collect_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ def process(self, instance):
data['handles'] = instance.data.get('handles', None)
data['step'] = instance.data['step']
data['fps'] = instance.data['fps']
data['resolutionWidth'] = instance.data['resolutionWidth']
data['resolutionHeight'] = instance.data['resolutionHeight']
data["isolate"] = instance.data["isolate"]
cmds.setAttr(str(instance) + '.active', 1)
self.log.debug('data {}'.format(instance.context[i].data))
Expand Down
24 changes: 23 additions & 1 deletion openpype/hosts/maya/plugins/publish/extract_playblast.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,30 @@ def process(self, instance):
['override_viewport_options']
)
preset = lib.load_capture_preset(data=self.capture_preset)

# Grab capture presets from the project settings
capture_presets = self.capture_preset
# Set resolution variables from capture presets
width_preset = capture_presets["Resolution"]["width"]
height_preset = capture_presets["Resolution"]["height"]
# Set resolution variables from instance values
instance_width = instance.data.get("resolutionWidth")
instance_height = instance.data.get("resolutionHeight")
preset['camera'] = camera

# Tests if instance resolution width is set,
# if it is a value other than zero, that value is
# used, if not then the project settings resolution is
# used
if instance_width != 0:
preset['width'] = instance.data.get("resolutionWidth")
else:
preset["width"] = width_preset

if instance_height != 0:
preset['height'] = instance.data.get("resolutionHeight")
else:
preset['height'] = height_preset

preset['start_frame'] = start
preset['end_frame'] = end
camera_option = preset.get("camera_option", {})
Expand Down