Skip to content

Render: Add render targets like "Local Render" and "Use Existing Frames" - #383

Merged
BigRoy merged 15 commits into
ynput:developfrom
BigRoy:375-yn-0286-maya-render-add-render-targets-support
Jan 21, 2026
Merged

Render: Add render targets like "Local Render" and "Use Existing Frames"#383
BigRoy merged 15 commits into
ynput:developfrom
BigRoy:375-yn-0286-maya-render-add-render-targets-support

Conversation

@BigRoy

@BigRoy BigRoy commented Dec 11, 2025

Copy link
Copy Markdown
Member

Changelog Description

Render: Add render targets like "Local Render" and "Use Existing Frames".

Additional review information

Fix #375

This has some overlap with ynput/ayon-blender#217 in Blender because I've tried to set up the local render instances in a 'similar' manner using the data from the expectedFiles like the farm jobs would. This way, we can hopefully ensure as much as possible that both flow through the same publishing steps. The end goal would be to unify in such a way that potentially - it could even be shared or inherited from to avoid needing to maintain unique code flows for this between Maya, Blender, etc. and likely we should look into then also matching similar in Fusion, Nuke, Houdini, etc.

Testing notes:

Requires: ynput/ayon-deadline#223

  1. The different Render Targets "Local Render", "Use Existing Frames" and "Farm Render" should work:
    • Local Render
    • Use Existing Frames
    • Farm Render
  2. Should work correctly with multiple renderlayers (it should render the correct layer for each)

The code changes may also affect review playblasts, so also test:

  • "Reviews" (playblasts) still work as intended, with correct publishes and reviews.

@BigRoy BigRoy self-assigned this Dec 11, 2025
@BigRoy BigRoy added type: enhancement Improvement of existing functionality or minor addition sponsored This is directly sponsored by a client or community member labels Dec 11, 2025
Comment thread client/ayon_maya/plugins/publish/validate_render_existing_frames.py Outdated
…es.py

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

@LiborBatek LiborBatek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I can set Local Machine Rendering and start rendering but it never stops and starting over and over from the begining of the rendering time range...in my case 1001-1050 I waited 3x times going over and over but then killed the process as it seemed it wont stop anytime.
It might be better to call the local render shorter so it matches the farm rendering setting too as now its a bit long.

Screenshot 2025-12-16 103825

here my rendered seq and the already rendered frame which get rendered again (see date/time of creation)

I was rendering to multilayered EXR with GPU render mode of Arnold. so just single image sequence should come out.

Screenshot 2025-12-16 104407

@BigRoy

BigRoy commented Jan 13, 2026

Copy link
Copy Markdown
Member Author

@LiborBatek what renderer did you test with. Unfortunately I can't find any other method than mayaBatchRenderProcedure to do a quick local render that is reliable and does all the necessary steps. The only other approach would be to kick off a 'local batch render' in Maya itself, which would still spin off its own maya process but that also makes it slower again for those scenes that can really render relatively quickly.

I can't reproduce the continuously re-rendering the whole thing.. the only thing I get is that it renders into a tmp/ because it's an interactive session and I'm not sure how to avoid it.

Once we have the right means to trigger the actual render, then all the code is there. I just can't find the right command to easily trigger the render.

There is maya.cmds.render() but it doesn't do all the pre mel scripts, post mel scripts, etc. and I really want to avoid writing our own wrapper code triggering all of that, because if maya does change the overall behavior or a particular renderer then suddenly we need to maintain that too. I really just want a Maya command to do it for us. But 🤷‍♂️ can't find it.

@BigRoy
BigRoy requested a review from LiborBatek January 15, 2026 21:41
@BigRoy

BigRoy commented Jan 15, 2026

Copy link
Copy Markdown
Member Author

@LiborBatek can you try again please?

@LiborBatek

LiborBatek commented Jan 16, 2026

Copy link
Copy Markdown
Member

Once triggering the local render of my render instance Im getting this error (but there is shown frame buffer poping up for each frame of the sequence but empty and following traceback in maya console:

// Traceback (most recent call last):
//   File "C:\Users\lbate\AppData\Local\Ynput\AYON\dependency_packages\ayon_2510271030_windows.zip\dependencies\pyblish\plugin.py", line 528, in __explicit_process
//     runner(*args)
//   File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\maya_0.5.1+dev\ayon_maya\plugins\publish\extract_render.py", line 76, in process
//     with contextlib.ExitStack() as stack:
//   File "C:\Program Files\Autodesk\Maya2026\Python\Lib\contextlib.py", line 601, in __exit__
//     raise exc_details[1]
//   File "C:\Program Files\Autodesk\Maya2026\Python\Lib\contextlib.py", line 586, in __exit__
//     if cb(*exc_details):
//        ^^^^^^^^^^^^^^^^
//   File "C:\Program Files\Autodesk\Maya2026\Python\Lib\contextlib.py", line 144, in __exit__
//     next(self.gen)
//   File "C:\Users\lbate\AppData\Local\Ynput\AYON\addons\maya_0.5.1+dev\ayon_maya\plugins\publish\extract_render.py", line 28, in hidden_render_view
//     cmds.deleteUI("renderViewWindow", window=True)
// RuntimeError: Object 'renderViewWindow' not found.

@BigRoy

BigRoy commented Jan 19, 2026

Copy link
Copy Markdown
Member Author

@LiborBatek can you try again now? I wonder why it didn't initialize that UI for you with that command though. 🤔 Anyway, it should pass that now.

@LiborBatek LiborBatek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Still not working sry...

I have send you a vid capture to your discord...

Here you have a publish report JSON:

Maya-Local-render-publish-report-260120-11-42.json.txt

…the only reliable thing with Arnold.

However, Maya Software and Maya Hardware still seem to inconsistently generating image outputs.
@BigRoy

BigRoy commented Jan 20, 2026

Copy link
Copy Markdown
Member Author

I tested now with Arnold, and was able to reproduce. I went back to the function that Deadline uses - which seems to work. Please try it again. :)

@LiborBatek
LiborBatek self-requested a review January 20, 2026 13:20

@LiborBatek LiborBatek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I was able to render locally and my render job finnished ok and got integrated to Ayon too!

Screenshot 2026-01-20 142014

The only drawback currently is missing reviewables (thumb + mp4) ...not sure if connected tho (could be my ayon-maya / ayon-core settings??)

Here is my version integrated but without any reviewables:

Screenshot 2026-01-20 141823

Enclosing also the Publish report JSON:
maya-local-render-publish-report-260120-14-17.json.txt

@BigRoy

BigRoy commented Jan 20, 2026

Copy link
Copy Markdown
Member Author

@LiborBatek I've made some changes to support the review.

It may affect a few things. So, can you make sure to test:

  • Farm render still work as intended
  • Local renders now work as intended with reviews
  • "Reviews" (playblasts) still work as intended, with correct publishes and reviews.

Comment thread client/ayon_maya/plugins/publish/extract_render.py
Comment thread client/ayon_maya/plugins/publish/extract_render.py
@LiborBatek
LiborBatek self-requested a review January 21, 2026 10:49

@LiborBatek LiborBatek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In essence now both Farm render and Local Render been working and also Review still working as expected too...

I was able to produce render products in both scenarios...

There is a some folder naming inconsistency when speaking about staging aka work render folders as seen here

when using Local render its different than when in Farm render mode (pointed in green)
image

Not sure whether its an issue or not but it def. adds some unnecessary clutter into folders imho.

I was also trying to test out the Local Use existing frames feature but was not able to succeed as it seems it expect some existing rendered frames but it targets the following version folder which obviously do not exists yet... again not sure the intended workflow here but its not usable atm.

Here are my existing folders before trying to use such render publish
image

and when hitting the issue while trying to publish:

image

Still can be approved as it is working in essence... speaking of those main Farm and Local renders...

@BigRoy

BigRoy commented Jan 21, 2026

Copy link
Copy Markdown
Member Author

Not sure whether its an issue or not but it def. adds some unnecessary clutter into folders imho.

This is due to one rendering from the published workfile, and the other from the source workfile and both rendering with the <Scene> token, so it is to be expected.

I was also trying to test out the Local Use existing frames feature but was not able to succeed as it seems it expect some existing rendered frames but it targets the following version folder which obviously do not exists yet... again not sure the intended workflow here but its not usable atm.

The intended workflow I understood from client was if they'd have triggered the Render Sequence or alike manually. Not seeing many users do, but that's what it's for. 🤷‍♂️

So the validation is again, correct.
I'll merge this since the feature set is there and we'll have to await client feedback to see if it matches their workflow enough after.

@BigRoy
BigRoy merged commit 9e1854c into ynput:develop Jan 21, 2026
3 checks passed
@BigRoy
BigRoy deleted the 375-yn-0286-maya-render-add-render-targets-support branch January 21, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sponsored This is directly sponsored by a client or community member type: enhancement Improvement of existing functionality or minor addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

YN-0286: Maya render add Render Targets support

4 participants