Hi,
Feature Request!
Something that would be most useful (and I’ve been asked about several times internally!) is the ability to run a tile assembler job BUT with an incomplete set of tiles, thereby allowing an artist to run a tile network render job but only render the tiles they ‘really’ need and get them stitched together correctly.
Looking at the present Tile Assembler STDOUT, ALL the tiles are checked that they exist before attempting to stitch, so I thinking of something like the following in the future:
- Ignore if some of the tiles are missing. Perhaps have an override facility for custom tile jobs? Do you really need to know if some of the tile are missing in this new setup below? [Just skip…if not present…type of thing]
- Taking any 1 tile in the ‘potential’ set, you could workout using the “tile” naming convention the number of tiles that ‘might’ be present in that directory path, what size the overall image should be when constructed and because ALL tiles in Deadline are presently, always the same size, then you can calculate the exact x,y position of each tile within the final assembled image.
- Again, any overlapping pixels / cropping could be handled by the options input at tile assembly job submission time and backwards calculated to ensure they are positioned/cropped correctly.
- It would make sense for the ‘intentionally’ missing tiles to result in just an alphed out / transparent tile areas within the final image to make comp’ing / masking in Photoshop/Nuke easy.
- Finally, for the icing on the cake, compile if for x64bit, pixel-by-pixel level (which I think it already does…?) for better memory management and also make it multi-threaded so its super quick!
However, would multi-channel EXR’s play nice with this setup? An alternative to all this would be to write 2 scripts; a Photoshop JSX and a Nuke py script to carry out these operations within their respective packages, but I kind of like the idea of handling the whole process within Deadline as it off-loads it from a workstation/artist mistakes and can be automated via a job dependency just like the 3dsMax - Tile Assembly Job dependency system presently works.
Just to take this to its ultimate silly level, you could then look at building a basic 2D tracker within SMTD during submission, which scans a selected object/s for their 2D space within the camera view, works out how many tiles are needed to fully cover this selected object/s area (you could let the artist decide what the potential default tile size should be) within the camera view for that particular frame and then submit a custom 3D render & tile job for that frame and then move onto the next frame in the sequence. The Tile Assembler would then assemble the custom tiles for each frame after rendering.
Of course, this particular setup would work better for simple camera moves, where the objects in the scene don’t move about too much, OR where the objects are always in one particular area of the frame as the camera moves around.
Right, well if you could get this all developed by the time I get back from lunch that would be great!
Thanks,
Mike