Skip to content

Releases: ynput/OpenPype

3.18.0

12 Dec 16:45
b8e18f0
Compare
Choose a tag to compare

Full Changelog

🐛 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

12 Dec 20:32
bd9ecf2
Compare
Choose a tag to compare

Full Changelog

🆕 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


General: Use colorspace data when creating thumbnail #5938

Thumbnails with applied colormanagement.


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.


Chore: PySide6 tree view style #5940

Define solid color for background of branch in QTreeView.


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


Resolve: renaming menu to AYON #5974

Resolve in Ayon is now having aligned name.


Hiero: custom tools menu rename
Read more

3.17.6

16 Nov 12:45
Compare
Choose a tag to compare

Full Changelog

🚀 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.


Chore: Create plugin auto-apply settings #5908

Create plugins can auto-apply settings.


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.


Blender: Refactor to new publisher #5910

Refactor Blender integration to use the new publisher


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...
Read more

3.17.5

07 Nov 13:47
Compare
Choose a tag to compare

Full Changelog

🆕 New features

Fusion: Add USD loader #4896

Add an OpenPype managed USD loader (uLoader) for Fusion.


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

Chore: updating create ayon addon script #5822

Adding developers environment options.


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.


UIDefLabel can be unique #5827

UILabelDef have implemented comparison and uniqueness.


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.


Blender: Fix Render Settings in Ayon #5849

Fix Render Settings in Ayon for Blender.


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 |


</...

Read more

3.17.4

26 Oct 12:26
Compare
Choose a tag to compare

Full Changelog

🆕 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

Max: tycache family support #5624

Tycache family supports for Tyflow Plugin in Max


Unreal: Changed behaviour for updating assets #5670

Changed how assets are updated in Unreal.


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: Fix typo in filename #5807

Move content of contants.py into constants.py.


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

19 Oct 13:00
Compare
Choose a tag to compare

Full Changelog

🆕 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.


AYON: Support dev bundles #5783

Modules can be loaded in AYON dev mode from different location.


🚀 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.


AYON: Tools enhancements #5753

Few enhancements and tweaks of AYON related tools.


Max: Tweaks on ValidateMaxContents #5759

This PR provides enhancements on ValidateMaxContent as follow:

  • Rename ValidateMaxContents to ValidateContainers
  • 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.


AYON Settings: Disk mapping #5786

Added disk mapping settings to core addon settings.


🐛 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.


AYON settings: Fix default factory of tools #5773

Fix default factory of application tools.


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
Read more

3.17.2

12 Oct 12:47
Compare
Choose a tag to compare

Full Changelog

🆕 New features

Maya: Add MayaPy application. #5705

This adds mayapy to the application to be launched from a task.


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.


Blender: Deadline support #5438

Add Deadline support for Blender.


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.


Nuke: minor docstring and code tweaks for ExtractReviewMov #5695

Code and docstring tweaks on #5623


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.


Blender: Alembic Animation loader #5711

Implemented loading Alembic Animations in Blender.


🐛 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.


AYON Workfiles Tool: Open workfile changes context #5671

Change context when workfile is opened.


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.

_...

Read more

3.17.1

28 Sep 09:31
Compare
Choose a tag to compare

Full Changelog

🆕 New features

Unreal: Yeti support #5643

Implemented Yeti support for Unreal.


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


Chore: add default isort config #5572

Add default configuration for isort tool


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

Increase timout for deadline test #5654

DL picks up jobs quite slow, so bump up delay.


3.17.0

19 Sep 16:01
Compare
Choose a tag to compare

Full Changelog

🚀 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

Dependabot compatibility score

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

19 Sep 15:32
Compare
Choose a tag to compare

Full Changelog

🆕 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.


AYON: Ignore separated modules #5619

Do not load already separated modules from default directory.


🚀 Enhancements

Maya: Reduce amount of code for Collect Looks #5253
  • Refactor get_file_node_files because popping from paths 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 collected node_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).


TVPaint: Plugin can be reopened #5610

TVPaint plugin can be reopened.


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.