OpenPype icon indicating copy to clipboard operation
OpenPype copied to clipboard

Max: Implementation of Validate Render Passes

Open moonyuet opened this issue 1 year ago • 6 comments

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.

moonyuet avatar Jan 16 '24 10:01 moonyuet

Task linked: OP-7074 Validate Render Passes

ynbot avatar Jan 16 '24 10:01 ynbot

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: https://github.com/ynput/OpenPype/pull/6163

moonyuet avatar Jan 25 '24 08:01 moonyuet

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?

LiborBatek avatar Jan 26 '24 12:01 LiborBatek

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 avatar Jan 29 '24 07:01 moonyuet

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 avatar Jan 29 '24 08:01 moonyuet

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

moonyuet avatar Feb 02 '24 08:02 moonyuet