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: aov filtering #4083

Merged
merged 11 commits into from Nov 22, 2022
Merged

Conversation

moonyuet
Copy link
Member

@moonyuet moonyuet commented Nov 9, 2022

Brief description

fixing the bug for the regex filter not excluding the aov in RedShift
See(#4057)

Description

Multipart boolean option of the renderers (RedShift and Arnold) is broken in lib_renderproduct.py, which submits a wrong information to collect_render.py(i.e. multipart is always True even when it is being turned off..), This cause the review option not working with regex filters, which depends on whether multipart is on /off.

For this fix,
if “force combine beauty and AOVs into single file” or “multipart EXR” in Redshift Render Setting is off, it will filter out the renderpass according to the regex filter set in the Openpype Setting. (I set .([Bb]eauty). as filter)
image

If either one is on, it will show both beauty and Cryptomatte pass.

image

If mergeAOVs or multipart in Arnold Render Setting is off, it will filter out the renderpass in regards to the regex filter set in the Openpype setting. .

image

If multipart is on, it will render all the passes for the multipart option (I am not sure if it’s a good idea. so let me know if you also want the filter option included here.)
image

while it will just only render beauty pass for mergeAOVs
image

Additional info

No Additional Info

Testing Notes

  1. check if you have disable the "multipart" or "force combine beauty and AOVs" in Redshift Render Setting OR
    check if you have disable the "mutlipart" or "Merge AOVs" in Arnold Render Setting.
    image
    image

  2. set your regex filter in deadline setting
    image

  3. add the AOV maps
    image

  4. Create the render instance and run the publisher

@github-actions github-actions bot added this to the next-patch milestone Nov 9, 2022
@moonyuet moonyuet self-assigned this Nov 9, 2022
@m-u-r-p-h-y m-u-r-p-h-y added the type: bug Something isn't working label Nov 9, 2022
@m-u-r-p-h-y
Copy link
Member

the render settings under project_settings/maya/RenderSettings should only be used as render presets, not for evaluation during rendering. We should always take the settings from the render scene itself.

@jakubjezek001 jakubjezek001 removed this from the next-patch milestone Nov 10, 2022
@moonyuet
Copy link
Member Author

the render settings under project_settings/maya/RenderSettings should only be used as render presets, not for evaluation during rendering. We should always take the settings from the render scene itself.

I find out that the boolean of multipart in collect_render.py doesn't align with that of multipart in lib_renderproduct.py, I have edited the lib_renderproduct.py so that the multipart works properly in Redshift. For Arnold, I still want to see if you guys want to have the filtering even if the multipart is on as it seems that it still renders all passes when the multipart is on.

@antirotor antirotor changed the title bugfix/aov filtering OP-4341 bugfix/aov filtering Nov 16, 2022
@ynbot
Copy link
Contributor

ynbot commented Nov 16, 2022

Task linked: OP-4341 aov filtering

@LiborBatek
Copy link
Member

LiborBatek commented Nov 16, 2022

I have tested it for maya2022 with Arnold and everything works correctly. All render layers published ok and only Beauty has review movie file and the rest of the AOVs are without review movie.

However I have encountered problems when testing with Redshift I cant publish render because of file name prefix issue.
See pic
image
Also the repair action do not fix it (seems like the logic is wrong for redshift).

Repair action sets prefixes like this: <Scene>/<RenderLayer>/<RenderLayer> however when Multipart EXR and or Force Combine Beauty and AOVs into single file are off there should be set file name prefix like
<Scene>/<RenderLayer>/<RenderLayer>_<RenderPass>

I guess this should been already addressed in this PR #3880

Copy link
Member

@m-u-r-p-h-y m-u-r-p-h-y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested the redshift and there is a problem with the code which was taking care of Redshift change of Beauty name to BeautyAux

image

you can see actually rendered files and the content of the JSON file with the wrong expected files

@mkolar mkolar changed the title OP-4341 bugfix/aov filtering Maya: aov filtering Nov 21, 2022
Copy link
Member

@LiborBatek LiborBatek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So now it works also in Redshift. Seems ok to me. Not spotted any problems.

Copy link
Member

@antirotor antirotor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some minor cosmetic changes

Comment on lines 1055 to 1057
# Any AOVs that still get processed, like Cryptomatte
# by themselves are not multipart files.
aov_multipart = not multipart
# aov_multipart = not multipart
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would just remove this

if instance_data.get("multipartExr"):
preview = True

self.log.info("preview:{}".format(preview))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.log.info("preview:{}".format(preview))
self.log.debug("preview:{}".format(preview))

@@ -542,7 +543,7 @@ def _create_instances_for_aov(self, instance_data, exp_files):
if new_instance.get("extendFrames", False):
self._copy_extend_frames(new_instance, rep)
instances.append(new_instance)

self.log.info("instances:{}".format(instances))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.log.info("instances:{}".format(instances))
self.log.debug("instances:{}".format(instances))

@antirotor antirotor dismissed m-u-r-p-h-y’s stale review November 22, 2022 11:33

tested and reviewed by others

@antirotor antirotor merged commit 10b2c2b into ynput:develop Nov 22, 2022
@github-actions github-actions bot added this to the next-patch milestone Nov 22, 2022
@moonyuet moonyuet deleted the bugfix/OP-4341aov-filtering branch December 13, 2022 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
host: Maya type: bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants