Releases: ynput/OpenPype
3.18.0
🐛 Bug fixes
Chore: Fix subst paths handling #5702
Make sure that source disk ends with \
instead of destination disk.
Ayon General: traypublisher editorial check of hierarchy in wrong data #6047
Editorial publishing is fixed and work as expected.
AYON Editorial: Extract hierarchy does not modifi hierarchyContext #6046
Plugin extract hierarchy to AYON creates copy of hierarchyContext before any processing to avoid changes.
3.17.7
🆕 New features
AYON: Use folder path as unique identifier #5817
Use folder path instead of asset name as unique identifier, with OpenPype compatibility.
Houdini: Farm caching submission to Deadline #4903
Implements functionality to offload instances of the specific families to be processed on Deadline instead of locally. This increases productivity as artist can use local machine could be used for other tasks.Implemented for families:
- ass
- redshift proxy
- ifd
- abc
- bgeo
- vdb
Houdini: Add support to split Deadline render tasks in export + render #5420
This adds initial support in Houdini so when submitting render jobs to Deadline it's not running as a single Houdini task but rather it gets split in two different tasks: Export + Render. This way it's more efficient as we only need a Houdini license during the export step and the render tasks can run exclusively with a render license. Moreover, we aren't wasting all the overhead time of opening the render scene in Houdini for every frame.I have also added the corresponding settings json files so we can set some of the default values for the Houdini deadline submitter.
Wrap: new integration #5823
These modifications are necessary for adding Wrap integration (DCC handling scans and textures) .
AYON: Prepare for 'data' via graphql #5923
AYON server does support to query 'data' field for hierarchy entities (project > ... > representation) using GraphQl since version 0.5.5. Because of this PR in ayon-python-api it is required to modify custom graphql function in openpype.client
to support that option.
Chore AYON: AYON addon class #5937
Introduced base class for AYON addon in openpype modules discovery logic.
Asset Usage Reporter Tool #5946
This adds simple tool for OpenPype mode that will go over all published workfiles and print linked assets and their version:This is created per project and can be exported in csv file or copied to clipboard in "ASCII Human readable form".
Testing: dump_databases flag #5955
This introduces a dump_databases
flag which makes it convenient to output the resulting database of a successful test run. The flag supports two formats; bson
and json
.Due to outputting to the test data folder, when dumping the databases, the test data folder will persist.Split from #5644
SiteSync: implemented in Ayon Loader #5962
Implemented Availability
column in Ayon loader and redo of loaders to ActionItems
in representation window there.
AYON: Workfile template build works #5975
Modified workfile template builder to work, to some degree, in AYON mode.
🚀 Enhancements
Maya: Small Tweaks on Validator for Look Default Shader Connection for Maya 2024 #5957
Resolve #5269
Settings: Changes in default settings #5983
We've made some changes in the default settings as several application versions were obsolete (Maya 18, Nuke 11, PS 2020, etc). Also added tools and changed settings for Blender, Maya, and Blender.
All should work as usual.
Testing: Do not persist data by default in Maya/Deadline. #5987
This is similar to the Maya publishing test.
Max: Validate loaded plugins tweaks #5820
In the current development of 3dsMax, users need to use separate validators to validate if certain plugins being loaded before the extraction. For example, usd extractor in model family, prt/tycache extractor in pointcloud/tycache family.But with the PR where implements optional validate loaded plugin, users just need to put what kind of plugins they want to validate in the settings. They no longer need to go through all the separate plugin validators when publishing, and only one validator would do all the check on the loaded plugins before extraction.
Nuke: Change context label enhancement #5887
Use QAction to change label of context label in Nuke pipeline menu.
Chore: Do not use template data as source for context #5918
Use available information on context to receive context data instead of using "anatomyData"
during publishing.
Houdini: Add python3.10 libs for Houdini 20 startup #5932
Add python3.10 libs for Houdini 20 startup
Ftrack: rewriting component creation to support multiple thumbnails #5939
The creation of Ftrack components needs to allow for multiple thumbnails. This is important in situations where there could be several reviewable streams, like in the case of a nuke intermediate files preset. Customers have asked for unique thumbnails for each data stream.For instance, one stream might contain a baked LUT file along with Display and View. Another stream might only include the baked Display and View. These variations can change the overall look. Thus, we found it necessary to depict these differences via thumbnails.
Nuke: Explicit Thumbnail workflow #5941
Nuke made a shift from using its own plugin to a global one for thumbnail creation. This was because it had to handle several thumbnail workflows for baking intermediate data streams. To manage this, the global plugin had to be upgraded. Now, each baking stream can set a unique tag 'need_thumbnail'. This tag is used to mark representations that need a thumbnail.
Global: extract thumbnail with new settings #5944
Settings are now configurable for the following:
- target size of thumbnail - source or constrained to specific
- where should be frame taken from in sequence or video file
- if thumbnail should be integrated or not
- background color for letter boxes
- added AYON settings
RoyalRender: inject submitter environment to the royal render job #5958
This is an attempt to solve runtime environment injection for render jobs in RoyalRender as there is no easy way to implement something like GlobalJobPreload
logic in Deadline. Idea is to inject OpenPype environments directly to the job itself.
General: Use manual thumbnail if present when publishing #5969
Use manual thumbnail added to the publisher instead of using it from published representation.
AYON: Change of server url should work as expected #5971
Using login action in tray menu to change server url should correctly start new process without issues of missing bundle or previous url.
AYON: make sure the AYON menu bar in 3dsMax is named AYON when AYON launches #5972
Renaming the menu bar in 3dsMax for AYON and some cosmetic fix in the docstring
Hiero: custom tools menu rename
3.17.6
🚀 Enhancements
Testing: Validate Maya Logs #5775
This PR adds testing of the logs within Maya such as Python and Pyblish errors.The reason why we need to touch so many files outside of Maya is because of the pyblish errors below;
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "collect_otio_frame_ranges" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "collect_otio_frame_ranges" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "collect_otio_review" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "collect_otio_review" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "collect_otio_subset_resources" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "collect_otio_subset_resources" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_audio_tracks" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_audio_tracks" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_file" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_file" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_review" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_review" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "extract_otio_trimming_video" (No module named 'opentimelineio')
# Error: pyblish.plugin : Skipped: "extract_otio_trimming_video" (No module named 'opentimelineio') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_blender_deadline" (No module named 'bpy')
# Error: pyblish.plugin : Skipped: "submit_blender_deadline" (No module named 'bpy') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_houdini_remote_publish" (No module named 'hou')
# Error: pyblish.plugin : Skipped: "submit_houdini_remote_publish" (No module named 'hou') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_houdini_render_deadline" (No module named 'hou')
# Error: pyblish.plugin : Skipped: "submit_houdini_render_deadline" (No module named 'hou') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_max_deadline" (No module named 'pymxs')
# Error: pyblish.plugin : Skipped: "submit_max_deadline" (No module named 'pymxs') #
pyblish (ERROR) (line: 1371) pyblish.plugin:
Skipped: "submit_nuke_deadline" (No module named 'nuke')
# Error: pyblish.plugin : Skipped: "submit_nuke_deadline" (No module named 'nuke') #
We also needed to stdout
and stderr
from the launched application to capture the output.Split from #5644.Dependent on #5734
Maya: Render Settings cleanup remove global `RENDER_ATTRS` #5801
Remove global lib.RENDER_ATTRS
and implement a RenderSettings.get_padding_attr(renderer)
method instead.
Testing: Ingest expected files and input workfile #5840
This ingests the Maya workfile from the Drive storage. Have changed the format to MayaAscii so its easier to see what changes are happening in a PR. This meant changing the expected files and database entries as well.
Resolve: Add save current file button + "Save" shortcut when menu is active #5691
Adds a "Save current file" to the OpenPype menu.Also adds a "Save" shortcut key sequence (CTRL+S on Windows) to the button, so that clicking CTRL+S when the menu is active will save the current workfile. However this of course does not work if the menu does not receive the key press event (e.g. when Resolve UI is active instead)Resolves #5684
Reference USD file as maya native geometry #5781
Add MayaUsdReferenceLoader to reference USD as Maya native geometry using mayaUSDImport
file translator.
Max: Bug fix on wrong aspect ratio and viewport not being maximized during context in review family #5839
This PR will fix the bug on wrong aspect ratio and viewport not being maximized when creating preview animationBesides, the support of tga image format and the options for AA quality are implemented in this PR
Blender: Incorporate blender "Collections" into Publish/Load #5841
Allow blendScene
family to include collections.
Max: Allows user preset the setting of preview animation in OP/AYON Setting #5859
Allows user preset the setting of preview animation in OP/AYON Setting for review family.
- Openpype
- AYON
Publisher: Center publisher window on first show #5877
Move publisher window to center of a screen on first show.
Publisher: Instance context changes confirm works #5881
Confirmation of context changes in publisher on existing instances does not cause glitches.
AYON workfiles tools: Revisit workfiles tool #5897
Revisited workfiles tool for AYON mode to reuse common models and widgets.
Nuke: updated colorspace settings #5906
Updating nuke colorspace settings into more convenient way with usage of ocio config roles rather then particular colorspace names. This way we should not have troubles to switch between linear Rec709 or ACES configs without any additional settings changes.
Enhancement: Some publish logs cosmetics #5917
General logging message tweaks:
- Sort some lists of folder/filenames so they appear sorted in the logs
- Fix some grammar / typos
- In some cases provide slightly more information in a log
Blender: Better name of 'asset_name' function #5927
Renamed function asset_name
to prepare_scene_name
.
🐛 Bug fixes
Maya: Bug fix the fbx animation export errored out when the skeletonAnim set is empty #5875
Resolve this bug discordIf the skeletonAnim SET is empty and fbx animation collect, the fbx animation extractor would skip the fbx extraction
Bugfix: fix few typos in houdini's and Maya's Ayon settings #5882
Fixing few typos
- Maya unreal static mesh
- Houdini static mesh
- Houdini collect asset handles
Bugfix: Ayon Deadline env vars + error message on no executable found #5815
Fix some Ayon x Deadline issues as came up in this topic:
- missing Environment Variables issue explained here for
deadlinePlugin.RunProcess
for the AYON extract environments call. - wrong error formatting described here with a
;
between each character like this:Ayon executable was not found in the semicolon separated list "C;:;/;P;r;o;g;r;a;m; ;F;i;l;e;s;/;Y;n;p;u;t;/;A;Y;O;N; ;1;.;0;.;0;-;b;e;t;a;.;5;/;a;y;o;n;_;c;o;n;s;o;l;e;.;e;x;e". The path to the render executable can be configured from the Plugin Configuration in the Deadline Monitor.
AYON: Fix bundles access in settings #5856
Fixed access to bundles data in settings to define correct develop variant.
AYON 3dsMax settings: 'ValidateAttributes' settings converte only if available #5878
Convert ValidateAttributes
settings only if are available in AYON settings.
AYON: Fix TrayPublisher editorial settings #5880
Fixing Traypublisher settings for adding task in simple editorial.
TrayPublisher: editorial frame range check not nee...
3.17.5
🆕 New features
Fusion: Resolution validator #5325
Added a resolution validator.The code is from my old PR (#4921) that I closed because the PR also contained a frame range validator that no longer is needed.
Context Selection tool: Refactor Context tool (for AYON) #5766
Context selection tool has AYON variant.
AYON: Use AYON username for user in template data #5842
Use ayon username for template data in AYON mode.
Testing: app_group flag #5869
app_group
command flag. This is for changing which flavour of the host to launch. In the case of Maya, you can launch Maya and MayaPy, but it can be used for the Nuke family as well.Split from #5644
🚀 Enhancements
Enhancement: Fusion fix saver creation + minor Blender/Fusion logging tweaks #5558
- Blender change logs to
debug
level in preparation for new publisher artist facing reports (note that it currently still uses the old publisher) - Fusion: Create Saver fix redeclaration of default_variants
- Fusion: Fix saver being created in incorrect state without saving directly after create
- Fusion: Allow reset frame range on render family
- Fusion: Tweak logging level for artist-facing report
Resolve: load clip to timeline at set time #5665
It is possible to load clip to correct place on timeline.
Nuke: Optional Deadline workfile dependency. #5732
Adds option to add the workfile as dependency for the Deadline job.Think it used to have something like this, but it disappeared. Usecase is for remote workflow where the Nuke script needs to be synced before the job can start.
Enhancement/houdini rearrange ayon houdini settings files #5748
Rearranging Houdini Settings to be more readable, easier to edit, update settings (include all families/product types)This PR is mainly for Ayon Settings to have more organized files. For Openpype, I'll make sure that each Houdini setting in Ayon has an equivalent in Openpype.
- update Ayon settings, fix typos and remove deprecated settings.
- Sync with Openpype
- Test in Openpype
- Test in Ayon
Max: Implement Validator for Properties/Attributes Value Check #5824
Add optional validator which can check if the property attributes are valid in Max
Nuke: Remove unused 'get_render_path' function #5826
Remove unused function get_render_path
from nuke integration.
Chore: Limit current context template data function #5845
Current implementation of get_current_context_template_data
does return the same values as base template data function get_template_data
.
Max: Make sure Collect Render not ignoring instance asset #5847
- Make sure Collect Render is not always using asset from context.
- Make sure Scene version being collected
- Clean up unnecessary uses of code in the collector.
Ftrack: Events are not processed if project is not available in OpenPype #5853
Events that happened on project which is not in OpenPype is not processed.
Nuke: Add Nuke 11.0 as default setting #5855
Found I needed Nuke 11.0 in the default settings to help with unit testing.
TVPaint: Code cleanup #5857
Removed unused import. Use AYON
label in ayon mode. Removed unused data in publish context "previous_context"
.
AYON settings: Use correct label for follow workfile version #5874
Follow workfile version label was marked as Collect Anatomy Instance Data label.
🐛 Bug fixes
Nuke: Fix workfile template builder so representations get loaded next to each other #5061
Refactor when the cleanup of the placeholder happens for the cases where multiple representations are loaded by a single placeholder.The existing code didn't take into account the case where a template placeholder can load multiple representations so it was trying to do the cleanup of the placeholder node and the re-arrangement of the imported nodes too early. I assume this was designed only for the cases where a single representation can load multiple nodes.
Nuke: Dont update node name on update #5704
When updating Image
containers the code is trying to set the name of the node. This results in a warning message from Nuke shown below;Suggesting to not change the node name when updating.
AYON: Skip kitsu module when creating ayon addons #5828
Create AYON packages is skipping kitsu module in creation of modules/addons and kitsu module is not loaded from modules on start. The addon already has it's repository https://github.com/ynput/ayon-kitsu.
Bugfix: Collect Rendered Files only collecting first instance #5832
Collect all instances from the metadata file - don't return on first instance iteration.
Houdini: set frame range for the created composite ROP #5833
Quick bug fix for created composite ROP, set its frame range to the frame range of the playbar.
Fix registering launcher actions from OpenPypeModules #5843
Fix typo actions_dir
-> path
to fix register launcher actions fromm OpenPypeModule
Bugfix in houdini shelves manager and beautify settings #5844
This PR fixes the problem in this PR #5457 by using the right function to load a pre-made houdini .shelf
fileAlso, it beautifies houdini shelves settings to provide better guidance for users which helps with other issue #5458 , Rather adding default shelf and set names, I'll educate users how to use the tool correctly.Users now are able to select between the two options.| OpenPype | Ayon || -- | -- || | |
Blender: Fix missing Grease Pencils in review #5848
Fix Grease Pencil missing in review when isolating objects.
Bugfix: houdini tab menu working as expected #5850
This PR:Tab menu name changes to Ayon when using ayon get_network_categories is checked in all creator plugins. | Product | Network Category | | -- | -- | | Alembic camera | rop, obj | | Arnold Ass | rop | | Arnold ROP | rop | | Bgeo | rop, sop | | composite sequence | cop2, rop | | hda | obj | | Karma ROP | rop | | Mantra ROP | rop | | ABC | rop, sop | | RS proxy | rop, sop| | RS ROP | rop | | Review | rop | | Static mesh | rop, obj, sop | | USD | lop, rop | | USD Render | rop | | VDB | rop, obj, sop | | V Ray | rop |
</...
3.17.4
🆕 New features
Push to project tool: Prepare push to project tool for AYON #5770
Cloned Push to project tool for AYON and modified it.
🚀 Enhancements
Unreal: Improved error reporting for Sequence Frame Validator #5730
Improved error reporting for Sequence Frame Validator.
Max: Setting tweaks on Review Family #5744
- Bug fix of not being able to publish the preferred visual style when creating preview animation
- Exposes the parameters after creating instance
- Add the Quality settings and viewport texture settings for preview animation
- add use selection for create review
Max: Add families with frame range extractions back to the frame range validator #5757
In 3dsMax, there are some instances which exports the files in frame range but not being added to the optional frame range validator. In this PR, these instances would have the optional frame range validators to allow users to check if frame range aligns with the context data from DB.The following families have been added to have optional frame range validator:
- maxrender
- review
- camera
- redshift proxy
- pointcache
- point cloud(tyFlow PRT)
TimersManager: Use available data to get context info #5804
Get context information from pyblish context data instead of using legacy_io
.
Chore: Removed unused variable from `AbstractCollectRender` #5805
Removed unused _asset
variable from RenderInstance
.
🐛 Bug fixes
Bugfix/houdini: wrong frame calculation with handles #5698
This PR make collect plugins to consider handleStart
and handleEnd
when collecting frame range it affects three parts:
- get frame range in collect plugins
- expected file in render plugins
- submit houdini job deadline plugin
Nuke: ayon server settings improvements #5746
Nuke settings were not aligned with OpenPype settings. Also labels needed to be improved.
Blender: Fix pointcache family and fix alembic extractor #5747
Fixed pointcache
family and fixed behaviour of the alembic extractor.
AYON: Remove 'shotgun_api3' from dependencies #5803
Removed shotgun_api3
dependency from openpype dependencies for AYON launcher. The dependency is already defined in shotgrid addon and change of version causes clashes.
Chore: Create context respects instance changes #5809
Fix issue with unrespected change propagation in CreateContext
. All successfully saved instances are marked as saved so they have no changes. Origin data of an instance are explicitly not handled directly by the object but by the attribute wrappers.
Blender: Fix tools handling in AYON mode #5811
Skip logic in before_window_show
in blender when in AYON mode. Most of the stuff called there happes on show automatically.
Blender: Include Grease Pencil in review and thumbnails #5812
Include Grease Pencil in review and thumbnails.
Workfiles tool AYON: Fix double click of workfile #5813
Fix double click on workfiles in workfiles tool to open the file.
Webpublisher: removal of usage of no_of_frames in error message #5819
If it throws exception, no_of_frames
value wont be available, so it doesn't make sense to log it.
Attribute Defs: Hide multivalue widget in Number by default #5821
Fixed default look of NumberAttrWidget
by hiding its multiselection widget.
Merged pull requests
Corrected a typo in Readme.md (Top -> To) #5800
Photoshop: Removed redundant copy of extension.zxp #5802
extension.zxp
shouldn't be inside of extension folder.
3.17.3
🆕 New features
Maya: Multi-shot Layout Creator #5710
New Multi-shot Layout creator is a way of automating creation of the new Layout instances in Maya, associated with correct shots, frame ranges and Camera Sequencer in Maya.
Colorspace: ociolook file product type workflow #5541
Traypublisher support for publishing of colorspace look files (ociolook) which are json files holding any LUT files. This new product is available for loading in Nuke host at the moment.Added colorspace selector to publisher attribute with better labeling. We are supporting also Roles and Alias (only v2 configs).
Scene Inventory tool: Refactor Scene Inventory tool (for AYON) #5758
Modified scene inventory tool for AYON. The main difference is in how project name is defined and replacement of assets combobox with folders dialog.
🚀 Enhancements
Testing: Ingest Maya userSetup #5734
Suggesting to ingest userSetup.py
startup script for easier collaboration and transparency of testing.
Fusion: Work with pathmaps #5329
Path maps are a big part of our Fusion workflow. We map the project folder to a path map within Fusion so all loaders and savers point to the path map variable. This way any computer on any OS can open any comp no matter where the project folder is located.
Maya: Add Maya 2024 and remove pre 2022. #5674
Adding Maya 2024 as default application variant.Removing Maya 2020 and older, as these are not supported anymore.
Enhancement: Houdini: Allow using template keys in Houdini shelves manager #5727
Allow using Template keys in Houdini shelves manager.
Houdini: Fix Show in usdview loader action #5737
Fix the "Show in USD View" loader to show up in Houdini
Nuke: validator of asset context with repair actions #5749
Instance nodes with different context of asset and task can be now validated and repaired via repair action.
Max: Tweaks on ValidateMaxContents #5759
This PR provides enhancements on ValidateMaxContent as follow:
- Rename
ValidateMaxContents
toValidateContainers
- Add related families which are required to pass the validation(All families except
Render
as the render instance is the one which only allows empty container)
Enhancement: Nuke refactor `SelectInvalidAction` #5762
Refactor SelectInvalidAction
to behave like other action for other host, create SelectInstanceNodeAction
as dedicated action to select the instance node for a failed plugin.
- Note: Selecting Instance Node will still select the instance node even if the user has currently 'fixed' the problem.
Enhancement: Tweak logging for Nuke for artist facing reports #5763
Tweak logs that are not artist-facing to debug level + in some cases clarify what the logged value is.
🐛 Bug fixes
Maya: add colorspace argument to redshiftTextureProcessor #5645
In color managed Maya, texture processing during Look Extraction wasn't passing texture colorspaces set on textures to redshiftTextureProcessor
tool. This in effect caused this tool to produce non-zero exit code (even though the texture was converted into wrong colorspace) and therefor crash of the extractor. This PR is passing colorspace to that tool if color management is enabled.
Maya: don't call `cmds.ogs()` in headless mode #5769
cmds.ogs()
is a call that will crash if Maya is running in headless mode (mayabatch, mayapy). This is handling that case.
Resolve: inventory management fix #5673
Loaded Timeline item containers are now updating correctly and version management is working as it suppose to.
- updating loaded timeline items
- Removing of loaded timeline items
Blender: Remove 'update_hierarchy' #5756
Remove update_hierarchy
function which is causing crashes in scene inventory tool.
Max: bug fix on the settings in pointcloud family #5768
Bug fix on the settings being errored out in validate point cloud(see links:#5759 (review)) and passibly in point cloud extractor.
Fusion: added missing OPENPYPE_VERSION #5776
Fusion submission to Deadline was missing OPENPYPE_VERSION env var when submitting from build (not source code directly). This missing env var might break rendering on DL if path to OP executable (openpype_console.exe) is not set explicitly and might cause an issue when different versions of OP are deployed.This PR adds this environment variable.
Ftrack: Skip tasks when looking for asset equivalent entity #5777
Skip tasks when looking for asset equivalent entity.
Nuke: loading gizmos fixes #5779
Gizmo product is not offered in Loader as plugin. It is also updating as expected.
General: thumbnail extractor as last extractor #5780
Fixing issue with the order of the ExtractOIIOTranscode
and ExtractThumbnail
plugins. The problem was that the ExtractThumbnail
plugin was processed before the ExtractOIIOTranscode
plugin. As a result, the ExtractThumbnail
plugin did not inherit the review
tag into the representation data. This caused the ExtractThumbnail
plugin to fail in processing and creating thumbnails.
Bug: fix key in application json #5787
In PR #5705 maya
was wrongly used instead of mayapy
, breaking AYON defaults in AYON Application Addon.
'NumberAttrWidget' shows 'Multiselection' label on multiselection #5792
Attribute definition widget 'NumberAttrWidget' shows < Multiselection >
label on multiselection.
Publisher: Selection change by enabled checkbox on instance update attributes #5793
Change of instance by clicking on enabled checkbox will actually update attributes on right side to match the selection.
Houdini: Remove `setParms` call since it's responsibility of `self.imprint` to set the values #5796
Revert a recent change made in #5621 due to this comment. However the change is faulty as can be seen mentioned here
AYON loader: Fix SubsetLoader functionality #5799
Fix SubsetLoader plugin processing in AYON loader tool.
Merged pull requests
Houdini: Add self publish button
3.17.2
🆕 New features
Feature: Copy resources when downloading last workfile #4944
When the last published workfile is downloaded as a prelaunch hook, all resource files referenced in the workfile representation are copied to the resources
folder, which is inside the local workfile folder.
Fusion: implement toggle to use Deadline plugin FusionCmd #5678
Fusion 17 doesn't work in DL 10.3, but FusionCmd does. It might be probably better option as headless variant.Fusion plugin seems to be closing and reopening application when worker is running on artist machine, not so with FusionCmdAdded configuration to Project Settings for admin to select appropriate Deadline plugin:
Loader tool: Refactor loader tool (for AYON) #5729
Refactored loader tool to new tool. Separated backend and frontend logic. Refactored logic is AYON-centric and is used only in AYON mode, so it does not affect OpenPype. The tool is also replacing library loader.
🚀 Enhancements
Maya: implement matchmove publishing #5445
Add possibility to export multiple cameras in single matchmove
family instance, both in abc
and ma
.Exposed flag 'Keep image planes' to control export of image planes.
Maya: Add optional Fbx extractors in Rig and Animation family #5589
This PR allows user to export control rigs(optionally with mesh) and animated rig in fbx optionally by attaching the rig objects to the two newly introduced sets.
Maya: Optional Resolution Validator for Render #5693
Adding optional resolution validator for maya in render family, similar to the one in Max.It checks if the resolution in render setting aligns with that in setting from the db.
Use host's node uniqueness for instance id in new publisher #5490
Instead of writing instance_id
as parm or attributes on the publish instances we can, for some hosts, just rely on a unique name or path within the scene to refer to that particular instance. By doing so we fix #4820 because upon duplicating such a publish instance using the host's (DCC) functionality the uniqueness for the duplicate is then already ensured instead of attributes remaining exact same value as where to were duplicated from, making instance_id
a non-unique value.
Max: Implementation of OCIO configuration #5499
Resolve #5473 Implementation of OCIO configuration for Max 2024 regarding to the update of Max 2024
Nuke: Multiple format supports for ExtractReviewDataMov #5623
This PR would fix the bug of the plugin ExtractReviewDataMov
not being able to support extensions other than mov
. The plugin is also renamed to ExtractReviewDataBakingStreams
as i provides multiple format supoort.
Bugfix: houdini switching context doesnt update variables #5651
Allows admins to have a list of vars (e.g. JOB) with (dynamic) values that will be updated on context changes, e.g. when switching to another asset or task.Using template keys is supported but formatting keys capitalization variants is not, e.g. {Asset} and {ASSET} won't workDisabling Update Houdini vars on context change feature will leave all Houdini vars unmanaged and thus no context update changes will occur.Also, this PR adds a new button in menu to update vars on demand.
Publisher: Fix report maker memory leak + optimize lookups using set #5667
Fixes a memory leak where resetting publisher does not clear the stored plugins for the Publish Report Maker.Also changes the stored plugins to a set
to optimize the lookup speeds.
Add openpype_mongo command flag for testing. #5676
Instead of changing the environment, this command flag allows for changing the database.
AYON: Small settings fixes #5699
Small changes/fixes related to AYON settings. All foundry apps variant 13-0
has label 13.0
. Key "ExtractReviewIntermediates"
is not mandatory in settings.
🐛 Bug fixes
Maya: Missing "data" field and enabling of audio #5618
When updating audio containers, the field "data" was missing and the audio node was not enabled on the timeline.
Maya: Bug in validate Plug-in Path Attribute #5687
Overwriting list with string is causing TypeError: string indices must be integers
in subsequent iterations, crashing the validator plugin.
General: Avoid fallback if value is 0 for handle start/end #5652
There's a bug on the pyblish_functions.get_time_data_from_instance_or_context
where if handleStart
or handleEnd
on the instance are set to value 0 it's falling back to grabbing the handles from the instance context. Instead, the logic should be that it only falls back to the instance.context
if the key doesn't exist.This change was only affecting me on the handleStart
/handleEnd
and it's unlikely it could cause issues on frameStart
, frameEnd
or fps
but regardless, the get
logic is wrong.
Fusion: added missing env vars to Deadline submission #5659
Environment variables discerning type of job was missing. Without this injection of environment variables won't start.
Nuke: workfile version synchronization settings fixed #5662
Settings for synchronizing workfile version to published products is fixed.
Blender: Fix remove/update in new layout instance #5679
Fixes an error that occurs when removing or updating an asset in a new layout instance.
AYON Launcher tool: Fix refresh btn #5685
Refresh button does propagate refreshed content properly. Folders and tasks are cached for 60 seconds instead of 10 seconds. Auto-refresh in launcher will refresh only actions and related data which is project and project settings.
Deadline: handle all valid paths in RenderExecutable #5694
This commit enhances the path resolution mechanism in the RenderExecutable function of the Ayon plugin. Previously, the function only considered paths starting with a tilde (~), ignoring other valid paths listed in exe_list. This limitation led to an empty expanded_paths list when none of the paths in exe_list started with a tilde, causing the function to fail in finding the Ayon executable.With this fix, the RenderExecutable function now correctly processes and includes all valid paths from exe_list, improving its reliability and preventing unnecessary errors related to Ayon executable location.
AYON Launcher tool: Fix skip last workfile boolean #5700
Skip last workfile boolean works as expected.
_...
3.17.1
🆕 New features
Houdini: Add Static Mesh product-type (family) #5481
This PR adds support to publish Unreal Static Mesh in Houdini as FBXQuick recap
- Add UE Static Mesh Creator
- Dynamic subset name like in Maya
- Collect Static Mesh Type
- Update collect output node
- Validate FBX output node
- Validate mesh is static
- Validate Unreal Static Mesh Name
- Validate Subset Name
- FBX Extractor
- FBX Loader
- Update OP Settings
- Update AYON Settings
Launcher tool: Refactor launcher tool (for AYON) #5612
Refactored launcher tool to new tool. Separated backend and frontend logic. Refactored logic is AYON-centric and is used only in AYON mode, so it does not affect OpenPype.
🚀 Enhancements
Maya: Use custom staging dir function for Maya renders - OP-5265 #5186
Check for custom staging dir when setting the renders output folder in Maya.
Colorspace: updating file path detection methods #5273
Support for OCIO v2 file rules integrated into the available color management API
Deadline: set PATH environment in deadline jobs by GlobalJobPreLoad #5622
This PR makes GlobalJobPreLoad
to set PATH
environment in deadline jobs so that we don't have to use the full executable path for deadline to launch the dcc app. This trick should save us adding logic to pass houdini patch version and modifying Houdini deadline plugin. This trick should work with other DCCs
nuke: extract review data mov read node with expression #5635
Some productions might have set default values for read nodes, those settings are not colliding anymore now.
🐛 Bug fixes
Maya: Support new publisher for colorsets validation. #5630
Fix validate_color_sets
for the new publisher.In current develop
the repair option does not appear due to wrong error raising.
Houdini: Camera Loader fix mismatch for Maya cameras #5584
This PR adds
- A workaround to match Maya render mask in Houdini
SetCameraResolution
inventory action- set camera resolution when loading or updating camera
Nuke: fix set colorspace on writes #5634
Colorspace is set correctly to any write node created from publisher.
TVPaint: Fix review family extraction #5637
Extractor marks representation of review instance with review tag.
AYON settings: Extract OIIO transcode settings #5639
Output definitions of Extract OIIO transcode have name to match OpenPype settings, and the settings are converted to dictionary in settings conversion.
AYON: Fix task type short name conversion #5641
Convert AYON task type short name for OpenPype correctly.
colorspace: missing `allowed_exts` fix #5646
Colorspace module is not failing due to missing allowed_exts
attribute.
Photoshop: remove trailing underscore in subset name #5647
If {layer} placeholder is at the end of subset name template and not used (for example in auto_image
where separating it by layer doesn't make any sense) trailing '_' was kept. This updates cleaning logic and extracts it as it might be similar in regular image
instance.
traypublisher: missing `assetEntity` in context data #5648
Issue with missing assetEnity
key in context data is not problem anymore.
AYON: Workfiles tool save button works #5653
Fix save as button in workfiles tool.(It is mystery why this stopped to work??)
Max: bug fix delete items from container #5658
Fix the bug shown when clicking "Delete Items from Container" and selecting nothing and press ok.
🔀 Refactored code
Chore: Remove unused functions from Fusion integration #5617
Cleanup unused code from Fusion integration
Merged pull requests
3.17.0
🚀 Enhancements
Chore: Remove schema from OpenPype root #5355
Remove unused schema directory in root of repository which was moved inside openpype/pipeline/schema.
Igniter: Allow custom Qt scale factor rounding policy #5554
Do not force PassThrough
rounding policy if different policy is defined via env variable.
🐛 Bug fixes
Chore: Lower urllib3 to support older OpenSSL #5538
Lowered urllib3
to 1.26.16
to support older OpenSSL.
Chore: Do not try to add schema to zip files #5557
Do not add schema
folder to zip file. This fixes issue cause by #5355 .
Chore: Lower click dependency version #5629
Lower click version to support older versions of python.
Merged pull requests
Bump certifi from 2023.5.7 to 2023.7.22 #5351
Bumps certifi from 2023.5.7 to 2023.7.22.
Commits
You can trigger a rebase of this PR by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
3.16.7
🆕 New features
Maya: Extract active view as thumbnail when no thumbnail set #5426
This sets the Maya instance's thumbnail to the current active view if no thumbnail was set yet.
Maya: Implement USD publish and load using native `mayaUsdPlugin` #5573
Implement Creator and Loaders for extraction and loading of USD files using Maya's own mayaUsdPlugin
.Also adds support to load a usd
file into an Arnold Standin (aiStandin
) and assigning looks to it.
🚀 Enhancements
Maya: Reduce amount of code for Collect Looks #5253
- Refactor
get_file_node_files
because popping frompaths
by index should have been done in reversed order anyway. It's now changed to not need popping at all. - Removed unused
RENDERER_NODE_TYPES
and if-branch which collectednode_attrs
list which was unused + collected members which was also done outside of the if branch and thus generated no extra data. - Collected all materials from look set attributes at once instead of multiple queries
- Collected all file nodes in history from a single query instead of per type
- Restructured assignment of
instance.data["resources"]
to be more readable - Cached
PXR_NODES
only ones (Note: plugin load is checked on discovery of the collect look plugin) instead of querying plugin load and its nodes per file node per attribute - Removed some debug logs or combined some messages
AYON: Mark deprecated settings in Maya #5627
Added deprecated info to docstrings of maya colormanagement settings.Resolves: #5556
Max: switching versions of maxScene maintain parentage/links with the loaders #5424
When using scene inventory to manage or update the version of the loading objects, the linked modifiers or parentage of the objects would be kept.Meanwhile, loaded objects from all loaders no longer parented to the container with OP Data.
3ds max: small tweaks to obj extractor and model publishing flow #5605
There migh be situation where OBJ Extractor passes without failure, but no obj file is produced. This is adding simple check directly into the extractor to catch it earlier then in the integration phase. Also switched Validate USD Plugin
to optional, because it was always run no matter if the Extract USD was enabled or not, hindering testing (and publishing).
Maya: Remove context prompt #5632
More of a plea than a PR, but could we please remove the context prompt in Maya when switching tasks?
General: Create a desktop icon is checked #5636
In OP Installer Create a desktop icon
is checked by default.
🐛 Bug fixes
Maya: Extract look is not AYON compatible - OP-5375 #5341
The textures that would use hardlinking are going through texture processors. Currently all texture processors are hardcoded to copy texture instead of respecting the settings of forcing to copy.The texture processors were last modified 4 months ago, so effectively all clients that are on any pipeline updated in the last 4 months wont be utilizing hardlinking at all, since the hardcoded texture processors will copy texture no matter the OS.This opts for completely disabling the hardlinking feature, while we figure out what to do about it.
Maya: Multiverse USD Override inherit from correct new style creator #5566
Fix Creator for Multiverse USD Override by inheriting from correct new style creator class type
Max: Bug Fix Alembic Loaders with Ornatrix #5434
Bugfix the alembic loader with both ornatrix alembic and max alembic supportsAdd the ornatrix alembic loaders for loading the alembic with Ornatrix-related modifiers.
AYON: Avoid creation of duplicated links #5593
Handle cases when an existing link should be recreated and do not create the same link multitple times during single publishing.
Extract Review: Multilayer specification for ffmpeg #5613
Extract review is specifying layer name when exr is multilayer.
Fussion: added support for Fusion 17 #5614
Fusion 17 still uses Python 3.6 which causes issues with some our delivered libraries. Vendorized necessary set for Python 3.6
Publisher: Fix screenshot widget #5615
Use correct super method name.EDITED:Removed fade animation which is not triggered at some cases, e.g. in Nuke the animation does not start. I do expect that is caused by exec_
on the dialog, which blocks event processing to the animation, even when I've added the window as parent it still didn't trigger registered callback.Modified how the "empty" space is not filled by using paths instead of clear mode on painter. Added render hints to add antialiasing.
Photoshop: auto_images without alpha will not fail #5620
ExtractReview caused issue on auto_image
instance without alpha channel, this fixes it.
Fix - _id key used instead of id in get_last_version_by_subset_name #5626
Just 'id' is not returned because value in fields. Caused KeyError.
Bugfix: create symlinks for ssl libs on Centos 7 #5633
Docker build was missing libssl.1.1.so
and libcrypto.1.1.so
symlinks needed by the executable itself, because Python is now explicitly built with OpenSSL 1.1.1
📃 Documentation
Documentation/local settings #5102
I completed the "Working with local settings" page. I updated the screenshot, wrote an explanation for each empty category, and if available, linked the more detailed pages already existing. I also added the "Environments" category.