3.18.4
🚀 Enhancements
multiple render camera supports for 3dsmax #5124
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
Fusion: new creator for image product type #6057
In many DCC render
product type is expected to be sequence of files. This PR adds new explicit creator for image
product type which is focused on single frame image. Workflows for both product types might be a bit different, this gives artists more granularity to choose better workflow.
🐛 Bug fixes
Maya: Account and ignore free image planes. #5993
Free image planes do not have the ->
path separator, so we need to account for that.
Blender: Fix long names for instances #6070
Changed naming for instances to use only final part of the folderPath
.
Traypublisher & Chore: Instance version on follow workfile version #6117
If follow_workfile_version
is enabled but context does not have filled workfile version, a version on instance is used instead.
Substance Painter: Thumbnail errors with PBR Texture Set #6127
When publishing with PBR Metallic Roughness as Output Template, Emissive Map errors out because of the missing channel in the material and the map can't be generated in Substance Painter. This PR is to make sure imagestance.data["publish"] = False
so that the related "empty" texture instance would be skipped to generate the output.
Transcoding: Fix reading image sequences through oiiotool #6129
When transcoding image sequences, the second image onwards includes the invalid xml line of Reading path/to/file.exr
of the oiiotool output.This is most likely not the best solution, but it fixes the issue and illustrates the problem.Error:
ERROR:pyblish.plugin:Traceback (most recent call last):
File "C:\Users\tokejepsen\AppData\Local\Ynput\AYON\dependency_packages\ayon_2310271602_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
runner(*args)
File "C:\Users\tokejepsen\OpenPype\openpype\plugins\publish\extract_color_transcode.py", line 152, in process
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 1136, in convert_colorspace
input_info = get_oiio_info_for_input(input_path, logger=logger)
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 124, in get_oiio_info_for_input
output.append(parse_oiio_xml_output(xml_text, logger=logger))
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 276, in parse_oiio_xml_output
tree = xml.etree.ElementTree.fromstring(xml_string)
File "xml\etree\ElementTree.py", line 1347, in XML
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0
Traceback (most recent call last):
File "C:\Users\tokejepsen\AppData\Local\Ynput\AYON\dependency_packages\ayon_2310271602_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
runner(*args)
File "<string>", line 152, in process
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 1136, in convert_colorspace
input_info = get_oiio_info_for_input(input_path, logger=logger)
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 124, in get_oiio_info_for_input
output.append(parse_oiio_xml_output(xml_text, logger=logger))
File "C:\Users\tokejepsen\OpenPype\openpype\lib\transcoding.py", line 276, in parse_oiio_xml_output
tree = xml.etree.ElementTree.fromstring(xml_string)
File "xml\etree\ElementTree.py", line 1347, in XML
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0
AYON: Remove 'IntegrateHeroVersion' conversion #6130
Remove settings conversion for IntegrateHeroVersion
.
Chore tools: Make sure style object is not garbage collected #6136
Minor fix in tool utils to make sure style C++ object is not garbage collected when not stored into variable.