Merge remote-tracking branch 'origin/develop' into feature/OP-3553_update-to-python-39

This commit is contained in:
Ondřej Samohel 2022-09-12 11:32:17 +02:00
commit c1a9d5392a
No known key found for this signature in database
GPG key ID: 02376E18990A97C6
336 changed files with 6928 additions and 4624 deletions

View file

@ -20,17 +20,17 @@ It defines:
- Colour Management
- File Formats
Anatomy is the only configuration that is always saved as project override. This is to make sure, that any updates to OpenPype or Studio default values, don't affect currently running productions.
Anatomy is the only configuration that is always saved as an project override. This is to make sure that any updates to OpenPype or Studio default values, don't affect currently running productions.
![anatomy_01](assets/settings/anatomy_01.png)
## Roots
Roots define where files are stored with path to shared folder. It is required to set root path for each platform you are using in studio. All paths must point to same folder!
Roots define where files are stored with path to a shared folder. It is required to set the root path for each platform you are using in the studio. All paths must point to the same folder!
![roots01](assets/settings/anatomy_roots01.png)
It is possible to set multiple roots when necessary. That may be handy when you need to store specific type of data on another disk.
It is possible to set multiple roots when necessary. That may be handy when you need to store a specific type of data on another disk.
![roots02](assets/settings/anatomy_roots02.png)
@ -40,7 +40,7 @@ Note how multiple roots are used here, to push different types of files to diffe
## Templates
Templates define project's folder structure and filenames.
Templates define the project's folder structure and filenames.
We have a few required anatomy templates for OpenPype to work properly, however we keep adding more when needed.
@ -100,14 +100,36 @@ We have a few required anatomy templates for OpenPype to work properly, however
</div>
</div>
### Anatomy reference keys
Anatomy templates have the ability to use "referenced keys". Best example is `path` in publish or work templates which just contains references to `folder` and `file` (`{@folder}/{@file}`). Any changes in folder or file template are propagated to the path template. The another example is simplification of version and frame formatting with paddings. You can notice that keys `{@version}` or `{@frame}` are used in default templates. They are referencing `Anatomy` -> `Templates` -> `Version` or `Frame` which handle version and frame formatting with padding.
So if you set `project_anatomy/templates/defaults/version_padding` to `5` the `{@version}` key will be transformed to `v{version:0>5}` automatically and version number in paths will have 5 numbers -> `v00001`.
### Optional keys
In some cases of template formatting not all keys are available and should be just ignored. For example `{frame}` should be available only for sequences but we have single publish template. To handle these cases it is possible to use special characters to mark segment of template which should be ignored, if it can't be filled because of missing keys. To mark these segments use `<` and `>`.
.
Template `{project[code]}_{asset}_{subset}<_{output}><.{@frame}>.{ext}` can handle all 4 possible situations when `output` and `frame` keys are available or not. The optional segments can contain additional text, like in the example dot (`.`) for frame and underscore (`_`) for output, those are also ignored if the keys are not available. Optional segments without formatting keys are kept untouched: `<br/>` -> stays as `<br/>`. It is possible to nest optional segments inside optional segments `<{asset}<.{@frame}><br/>>` which may result in empty string if `asset` key is not available.
## Attributes
Project attributes are used as default values for new assets created under project, except `Applications` and `Active project` which are project specific. Values of attributes that are **not** project specific are always used from assets. So if `tools` are not loading as expected it is because the assets have different values.
![anatomy_attributes](assets/settings/anatomy_attributes.png)
**Most of attributes don't need detailed explanation.**
| Attribute | Description |
| --- | --- |
| `Applications` | List of applications that can be used in the project. At the moment used only as a possible filter of applications. |
| `Tools` | List of application tools. This value can be overridden per asset. |
| `Active project` | Project won't be visible in tools if enabled.<br/> - To revert check `Show Inactive projects` checkbox in project settings. |
## Task Types
Current state of default Task descriptors.
Available task types on a project. Each task on an asset is referencing a task type on the project which allows access to additional task type attributes. At this moment only `short_name` is available (can be used in templates as `{task[short_name]}`).
![tasks](assets/settings/anatomy_tasks.png)

View file

@ -202,3 +202,67 @@ This video shows a way to publish shot look as effect from Hiero to Nuke.
### Assembling edit from published shot versions
<iframe width="512px" height="288px" src="https://www.youtube.com/embed/5Wd6X-71vbg" frameborder="0" modestbranding="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="1"></iframe>
# Nuke Build Workfile
This is a tool of Node Graph initialisation using a pre-created template.
### Add a profile
The path to the template that will be used in the initialisation must be added as a profile on Project Settings.
![Create menu](assets/nuke_addProfile.png)
### Create Place Holder
![Create menu](assets/nuke_createPlaceHolder.png)
This tool creates a Place Holder, which is a node that will be replaced by published instances.
![Create menu](assets/nuke_placeHolderNode.png)
#### Result
- Create a red node called `PLACEHOLDER` which can be manipulated as wanted by using it in Node Graph.
![Create menu](assets/nuke_placeholder.png)
:::note
All published instances that will replace the place holder must contain unique input and output nodes in case they will not be imported as a single node.
:::
![Create menu](assets/nuke_publishedinstance.png)
The informations about these objects are given by the user by filling the extra attributes of the Place Holder
![Create menu](assets/nuke_fillingExtraAttributes.png)
### Update Place Holder
This tool alows the user to change the information provided in the extra attributes of the selected Place Holder.
![Create menu](assets/nuke_updatePlaceHolder.png)
### Build Workfile from template
This tool imports the template used and replaces the existed PlaceHolders with the corresponding published objects (which can contain Place Holders too). In case there is no published items with the description given, the place holder will remain in the node graph.
![Create menu](assets/nuke_buildWorfileFromTemplate.png)
#### Result
- Replace `PLACEHOLDER` node in the template with the published instance corresponding to the informations provided in extra attributes of the Place Holder
![Create menu](assets/nuke_buildworkfile.png)
:::note
In case the instance that will replace the Place holder **A** contains another Place Holder **B** that points to many published elements, all the nodes that were imported with **A** except **B** will be duplicated for each element that will replace **B**
:::
### Update Workfile
This tool can be used to check if some instances were published after the last build, so they will be imported.
![Create menu](assets/nuke_updateWorkfile.png)
:::note
Imported instances must not be deleted because they contain extra attributes that will be used to update the workfile since the place holder is been deleted.
:::

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB