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

multiple render camera supports for 3dsmax #5124

Merged
merged 68 commits into from
Jan 15, 2024

Conversation

moonyuet
Copy link
Member

@moonyuet moonyuet commented Jun 9, 2023

Changelog Description

Supports for rendering with multiple cameras in 3dsmax

  • Add Batch Render Layers functions
  • Rewrite lib.rendersetting and lib.renderproduct
  • Add multi-camera options in creator.
  • Collector with batch render-layer when multi-camera enabled.
  • Add instance plugin for saving scene files with different cameras respectively by using subprocess
  • Refactor submit_max_deadline
  • Check with metadata.json in submit publish job

Additional info

  • If we raise the errors differently for running subprocesses to 3dsmaxbatch.exe or 3dsmax.exe, it will error out. So currently the way to find the error is different from what we did in maya.
  • User won't use published workfile to render but instead they use the camera scene files stored in the {project}/{project_name} folder
  • The temp camera scene files are not supported yet.

Testing notes:

  1. Create Render Instance with multiple cameras selection enabled
    image

  2. Add the camera you wanted to render into container
    image

  3. Publish

  4. It will creates different camera files and submit to the deadline with multiple job and plugin infos.

  5. Once the rendering is finished, it will include videos with different cameras.

@jakubjezek001
Copy link
Member

Task linked: OP-5751 render multiple cameras

@ynbot ynbot added size/XS Denotes a PR changes 0-99 lines, ignoring general files host: 3dsmax Autodesk 3dsmax type: enhancement Enhancements to existing functionality module: Deadline AWS Deadline related features labels Jun 9, 2023
@moonyuet moonyuet requested a review from antirotor June 9, 2023 10:05
@LiborBatek LiborBatek added the sponsored Client endorsed or requested label Jun 16, 2023
@moonyuet moonyuet self-assigned this Jul 12, 2023
@moonyuet
Copy link
Member Author

@LiborBatek I restored the code with the original subset name setup, can you please check again?
If it is not working, I guess it could be some other issues regarding to the submit publish job update.

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.

Unfortunately still broken...when inspecting the Publish folder for sequences...

Note the weird name of the publish folder (highlighted one)
image
and actual files
image

Secondary render camera completely missing in publish too...

Even tho the work renders are ok and done:
image

@moonyuet
Copy link
Member Author

moonyuet commented Nov 1, 2023

@LiborBatek can you test this again if you have time to do so? It seems working in my side now where publish folders have shown the folders and outputs correctly.
image

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.

All working now! I have tested with Arnold and everything working perfectly...

two rendered sequences produced from Camera01 and Camera02 both correctly published into publish folders and with proper naming.

image
image
And published rendered sequences in correct locations:

image

@LiborBatek
Copy link
Member

LiborBatek commented Nov 3, 2023

I can also say that I have successfully tested also in Redshift for max. So it works well in both renderers without any issues!

And both for max2023 and max2024

Overall great news!!

@moonyuet
Copy link
Member Author

moonyuet commented Nov 6, 2023

@antirotor can you take a look at the code again? I didn't use the loop function you suggested as I tested it with Maya, and the subset name doesn't include the AOVs as expected. Thanks!

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.

I've started rewritting few things to f-string as a suggestions here but then I've realized it is on more places. I know, cosmetics, but at least with the longer strings like:

renderlayer.outputFilename = "{0}_{1}..{2}".format(
    output, cam, img_fmt)

it is much more easy to read:

renderlayer.outputFilename = f"{output}_{cam}..{img_fmt}"

Otherwise it looks good!

@m-u-r-p-h-y m-u-r-p-h-y assigned antirotor and unassigned moonyuet Jan 15, 2024
@antirotor antirotor merged commit 837acf9 into develop Jan 15, 2024
8 checks passed
@antirotor antirotor deleted the enhancement/OP-5751_render-multiple-cameras branch January 15, 2024 10:54
@ynbot ynbot added this to the next-patch milestone Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
host: 3dsmax Autodesk 3dsmax module: Deadline AWS Deadline related features size/XS Denotes a PR changes 0-99 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.

None yet

6 participants