Skip to content
This repository was archived by the owner on Sep 20, 2024. It is now read-only.

Max: Implementation of Validate Render Passes#6138

Merged
mkolar merged 16 commits intodevelopfrom
enhancement/OP-7074_Validate-Render-Passes
May 3, 2024
Merged

Max: Implementation of Validate Render Passes#6138
mkolar merged 16 commits intodevelopfrom
enhancement/OP-7074_Validate-Render-Passes

Conversation

@moonyuet
Copy link
Copy Markdown
Member

Changelog Description

This PR is to enhance the current validator of checking the render output before deadline publish. It does the following:

  1. The validator Render Output for Deadline would be renamed as Validate Render Passes
  2. The validator would not only check on the invalid render output folder but the invalid filename of render passes.

Additional info

n/a

Testing notes:

  1. Launch Max via Launcher
  2. Open a Renderable Scene
  3. Create Some AOVs in Render Setting
  4. Create Render Instance with your preferred camera(s)
  5. Publish
  6. If the AOVs dont have invalid name or render output folder doesn't match the max scene name, it will error out.
  7. You can perform repair action once you encounter 7.

@ynbot
Copy link
Copy Markdown
Contributor

ynbot commented Jan 16, 2024

Task linked: OP-7074 Validate Render Passes

@ynbot ynbot added type: enhancement Enhancements to existing functionality host: 3dsmax Autodesk 3dsmax module: Deadline AWS Deadline related features size/S Denotes a PR changes 100-499 lines, ignoring general files labels Jan 16, 2024
@moonyuet moonyuet marked this pull request as ready for review January 16, 2024 10:33
@moonyuet moonyuet requested a review from BigRoy January 16, 2024 11:27
@moonyuet moonyuet requested a review from BigRoy January 16, 2024 12:15
@moonyuet moonyuet requested a review from BigRoy January 17, 2024 12:27
@moonyuet moonyuet added target: AYON target: OpenPype sponsored Client endorsed or requested labels Jan 18, 2024
Copy link
Copy Markdown
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.

I did test in max 2023 with arnold render and even tho the Validator works fine for output file path (Im not sure speaking of AOVs names because I kept those at defaults) it errrors out with following error:

image
DEBUG: Response <RestApiResponse [200]>
Traceback (most recent call last):
  File "C:\Users\lbate\AppData\Local\Ynput\AYON\dependency_packages\ayon_2401161802_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
    runner(*args)
  File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.18.5-nightly.3\openpype\hosts\max\plugins\publish\save_scenes_for_cameras.py", line 37, in process
    new_output = RenderSettings().get_batch_render_output(camera)       # noqa
  File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.18.5-nightly.3\openpype\hosts\max\api\lib_rendersettings.py", line 190, in get_batch_render_output
    target_layer = rt.batchRenderMgr.GetView(target_layer_no)
RuntimeError: Unknown MAXScript exception raised.

@moonyuet
Copy link
Copy Markdown
Member Author

I did test in max 2023 with arnold render and even tho the Validator works fine for output file path (Im not sure speaking of AOVs names because I kept those at defaults) it errrors out with following error:

image ``` DEBUG: Response Traceback (most recent call last): File "C:\Users\lbate\AppData\Local\Ynput\AYON\dependency_packages\ayon_2401161802_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process runner(*args) File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.18.5-nightly.3\openpype\hosts\max\plugins\publish\save_scenes_for_cameras.py", line 37, in process new_output = RenderSettings().get_batch_render_output(camera) # noqa File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\openpype_3.18.5-nightly.3\openpype\hosts\max\api\lib_rendersettings.py", line 190, in get_batch_render_output target_layer = rt.batchRenderMgr.GetView(target_layer_no) RuntimeError: Unknown MAXScript exception raised. ```

it is more likely unrelated issue to the implementation of validator, I already created a PR to fix this issue: #6163

@moonyuet moonyuet force-pushed the enhancement/OP-7074_Validate-Render-Passes branch from 71fa50c to 410b111 Compare January 26, 2024 10:28
@moonyuet moonyuet requested a review from LiborBatek January 26, 2024 10:29
@LiborBatek
Copy link
Copy Markdown
Member

I have been testing arnold and redshift with on purpose wrong output file path and the Validator checks correctly and fails. Also Repair action does work and fix the wrong set output file path.

Screenshot 2024-01-26 122126

Whats still mystery to me being AOVs because neither in arnold nor redshift I was not able to produce any (as products) on DL. So only main_beauty being produced.

@moonyuet any insight how it should work or how to setup correctly?

@moonyuet
Copy link
Copy Markdown
Member Author

I have been testing arnold and redshift with on purpose wrong output file path and the Validator checks correctly and fails. Also Repair action does work and fix the wrong set output file path.

Screenshot 2024-01-26 122126 Whats still mystery to me being `AOVs` because neither in `arnold` nor `redshift` I was not able to produce any (as products) on DL. So only `main_beauty` being produced.

@moonyuet any insight how it should work or how to setup correctly?

It's normal case for Arnold not producing beauty as its API limitation doesn't allow to support AOVs temprarily.
But I will check out the issue found from Redshift.

@moonyuet
Copy link
Copy Markdown
Member Author

You need to make sure you turn on separate AOV Files for this case
image

Maybe we can somehow support for user to customize multilayering in different PRs.

@moonyuet
Copy link
Copy Markdown
Member Author

moonyuet commented Feb 2, 2024

@LiborBatek I have created an issue for multilayering support in the settings.
For the current stage, you need to dive into render settings and set separateAovFile to render AOVs in separate files.

Copy link
Copy Markdown
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.

After checking that Separate files for AOVs which took me some time to find (thx @moonyuet ) it works as expected.

My publishing and render being correctly produced.

Copy link
Copy Markdown
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.

I've just quickly went throught the code and it looks fine

@mkolar mkolar merged commit 99a30d1 into develop May 3, 2024
@ynbot ynbot added this to the next-patch milestone May 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

host: 3dsmax Autodesk 3dsmax module: Deadline AWS Deadline related features port to AYON size/S Denotes a PR changes 100-499 lines, ignoring general files sponsored Client endorsed or requested target: AYON target: OpenPype type: enhancement Enhancements to existing functionality

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

6 participants