Merge branch 'substance_painter_ocio' into substance_integration
|
|
@ -17,10 +17,12 @@ Distribution consists of two parts
|
|||
It is self contained (frozen) software that also includes all of the OpenPype codebase with the version
|
||||
from the time of the build.
|
||||
|
||||
Igniter package is around 500MB and preparing an updated version requires you to re-build pype. That would be
|
||||
Igniter package is around 1Gb and preparing an updated version requires you to re-build pype. That would be
|
||||
inconvenient for regular and quick distribution of production updates and fixes. So you can distribute those
|
||||
independently, without requiring you artists to re-install every time.
|
||||
|
||||
You can have multiple versions installed at the same time.
|
||||
|
||||
### 2. OpenPype Codebase
|
||||
|
||||
When you upgrade your studio pype deployment to a new version or make any local code changes, you can distribute
|
||||
|
|
@ -52,14 +54,10 @@ The default locations are:
|
|||
|
||||
|
||||
### Staging vs. Production
|
||||
You can have version of OpenPype with experimental features you want to try somewhere but you
|
||||
don't want to disrupt your production. You can tag version as **staging** simply by appending `+staging`
|
||||
to its name.
|
||||
You can have version of OpenPype with experimental features you want to try somewhere, but you
|
||||
don't want to disrupt your production. You can set such version in th Settings.
|
||||
|
||||
So if you have OpenPype version like `OpenPype-v3.0.0.zip` just name it `OpenPype-v3.0.0+staging.zip`.
|
||||
When both these versions are present, production one will always take precedence over staging.
|
||||
|
||||
You can run OpenPype with `--use-staging` argument to add use staging versions.
|
||||
You can run OpenPype with `--use-staging` argument to use staging version specified in the Settings.
|
||||
|
||||
:::note
|
||||
Running staging version is identified by orange **P** icon in system tray.
|
||||
|
|
@ -77,4 +75,6 @@ For example OpenPype will consider the versions in this order: `3.8.0-nightly` <
|
|||
|
||||
See https://semver.org/ for more details.
|
||||
|
||||
For studios customizing the source code of OpenPype, a practical approach could be to build by adding a name and a number after the PATCH and not to deploy 3.8.0 from original OpenPype repository. For example, your builds will be: `3.8.0-yourstudio.1` < `3.8.0-yourstudio.2` < `3.8.1-yourstudio.1`.
|
||||
For studios customizing the source code of OpenPype, a practical approach could be to build by adding a name and a number after the PATCH and not to deploy 3.8.0 from original OpenPype repository. For example, your builds will be: `3.8.0-yourstudio.1` < `3.8.0-yourstudio.2` < `3.8.1-yourstudio.1`.
|
||||
|
||||
Versions of Igniter and those coming in zips are compatible if they match major and minor version - `3.13.4` is compatible with `3.13.1` but not with `3.12.2` or `3.14.0`.
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ openpype_console --use-version=3.0.0-foo+bar
|
|||
|
||||
`--use-staging` - to use staging versions of OpenPype.
|
||||
|
||||
`--list-versions [--use-staging]` - to list available versions.
|
||||
`--list-versions` - to list available versions.
|
||||
|
||||
`--validate-version` - to validate integrity of given version
|
||||
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@ You can use following command line arguments:
|
|||
openpype_console --use-version=3.0.1
|
||||
```
|
||||
|
||||
`--use-staging` - to specify you prefer staging version. In that case it will be used
|
||||
(if found) instead of production one.
|
||||
`--use-staging` - to specify you prefer staging version. In that case it will be used instead of production one.
|
||||
|
||||
:::tip List available versions
|
||||
To list all available versions, use:
|
||||
|
|
@ -52,8 +51,6 @@ To list all available versions, use:
|
|||
```shell
|
||||
openpype_console --list-versions
|
||||
```
|
||||
|
||||
You can add `--use-staging` to list staging versions.
|
||||
:::
|
||||
|
||||
If you want to validate integrity of some available version, you can use:
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@ sidebar_label: AfterEffects
|
|||
<!-- based on PS implementation, same principle and menu -->
|
||||
## Available Tools
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Manage](artist_tools.md#inventory)
|
||||
- [Subset Manager](artist_tools.md#subset-manager)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Manage](artist_tools_inventory)
|
||||
- [Subset Manager](artist_tools_subset_manager)
|
||||
|
||||
## Setup
|
||||
|
||||
|
|
@ -38,34 +38,67 @@ In AfterEffects you'll find the tools in the `OpenPype` extension:
|
|||
|
||||
You can show the extension panel by going to `Window` > `Extensions` > `OpenPype`.
|
||||
|
||||
### Create
|
||||
|
||||
When you have created an composition you want to publish, you will need to tag existing composition. To do this open the `Creator` through the extensions `Create` button.
|
||||
|
||||

|
||||
|
||||
Because of current rendering limitations, it is expected that only single composition will be marked for publishing!
|
||||
|
||||
After Creator is successfully triggered on selected composition, it will be marked with an icon and its color
|
||||
will be changed.
|
||||
|
||||

|
||||
|
||||
### Publish
|
||||
|
||||
When you are ready to share some work, you will need to publish it. This is done by opening the `Publisher` through the `Publish...` button.
|
||||
|
||||
There is always instance for workfile created automatically (see 'workfileCompositing' item in `Subsets to publish` column.) This allows to publish (and therefore backup)
|
||||
workfile which is used to produce another publishable elements (as `image` and `review` items).
|
||||
|
||||
Main publishable item in AfterEffects will be of `render` family. Result of this item (instance) is picture sequence that could be a final delivery product or loaded and used in another DCCs.
|
||||
|
||||
First select existing composition and then press `Create >>>` in middle column of `Publisher`.
|
||||
|
||||
After this process you should have something like this:
|
||||
|
||||

|
||||
|
||||
Name of publishable instance (eg. subset name) could be configured with a template in `project_settings/global/tools/creator/subset_name_profiles`.
|
||||
(This must be configured by admin who has access to Openpype Settings.)
|
||||
|
||||
Trash icon under the list of instances allows to delete any selected `render` instance.
|
||||
|
||||
Workfile instance will be automatically recreated though. If you do not want to publish it, use pill toggle on the instance item.
|
||||
|
||||
If you would like to modify publishable instance, click on `Publish` tab at the top. This would allow you to change name of publishable
|
||||
instances, disable them from publishing, change their task etc.
|
||||
|
||||
Publisher allows publishing into different context, just click on any instance, update `Variant`, `Asset` or `Task` in the form in the middle and don't forget to click on the 'Confirm' button.
|
||||
|
||||
#### RenderQueue
|
||||
|
||||
AE's Render Queue is required for publishing locally or on a farm. Artist needs to configure expected result format (extension, resolution) in the Render Queue in an Output module. Currently its expected to have only single render item and single output module in the Render Queue.
|
||||
AE's Render Queue is required for publishing locally or on a farm. Artist needs to configure expected result format (extension, resolution) in the Render Queue in an Output module.
|
||||
Currently its expected to have only single render item per composition in the Render Queue.
|
||||
|
||||
|
||||
AE might throw some warning windows during publishing locally, so please pay attention to them in a case publishing seems to be stuck in a `Extract Local Render`.
|
||||
|
||||
When you are ready to share your work, you will need to publish it. This is done by opening the `Publish` by clicking the corresponding button in the OpenPype Panel.
|
||||
#### Repair Validation Issues
|
||||
|
||||

|
||||
If you would like to run validation rules set by your Studio, click on funnel icon at the bottom right. This will run through all
|
||||
enabled instances, you could see more information after clicking on `Details` tab.
|
||||
|
||||
This tool will run through checks to make sure the contents you are publishing is correct. Hit the "Play" button to start publishing.
|
||||
If there is some issue in validator phase, you will receive something like this:
|
||||

|
||||
|
||||
You may encounter issues with publishing which will be indicated with red squares. If these issues are within the validation section, then you can fix the issue. If there are issues outside of validation section, please let the OpenPype team know. For More details have a look at the general [Publish](artist_tools.md#publisher) documentation.
|
||||
All validators will give some description about what the issue is. You can inspect this by clicking on items in the left column.
|
||||
|
||||
If there is an option of automatic repair, there will be `Repair` button on the right. In other case you need to fix the issue manually.
|
||||
(By deleting and recreating instance, changing workfile setting etc.)
|
||||
|
||||
#### Render instance options
|
||||
|
||||
There are currently 2 options of `render` item:
|
||||
- Render of farm - allows offload rendering and publishing to Deadline - requires Deadline module being enabled
|
||||
- Validate Scene Settings - enables validation plugin which controls setting in DB (or asset control system like Ftrak) and scene itself
|
||||
|
||||

|
||||
|
||||
#### Buttons on the bottom right are for:
|
||||
- `Refresh publishing` - set publishing process to starting position - useful if previous publish failed, or you changed configuration of a publish
|
||||
- `Stop/pause publishing` - if you would like to pause publishing process at any time
|
||||
- `Validate` - if you would like to run only collecting and validating phases (nothing will be published yet)
|
||||
- `Publish` - standard way how to kick off full publishing process
|
||||
|
||||
### Load
|
||||
|
||||
|
|
@ -102,12 +135,19 @@ You can switch to a previous version of the image or update to the latest.
|
|||

|
||||

|
||||
|
||||
### Subset Manager
|
||||
#### Support help
|
||||
If you would like to ask for help admin or support, you could use any of the three options on the `Note` button on bottom left:
|
||||
- `Go to details` - switches into a more detailed list of published instances and plugins.
|
||||
- `Copy report` - stash full publishing log to a clipboard
|
||||
- `Export report` - save log into a file for sending it via mail or any communication tool
|
||||
|
||||

|
||||
If you are able to fix the workfile yourself, use the first button on the right to set the UI to initial state before publish. (Click the `Publish` button to start again.)
|
||||
|
||||
All created compositions will be shown in a simple list. If user decides, that this composition shouldn't be
|
||||
published after all, right click on that item in the list and select 'Remove instance'
|
||||
#### Legacy instances
|
||||
|
||||
Removing composition directly in the AE would result to worfile contain phantom metadata which could result in
|
||||
errors during publishing!
|
||||
All screenshots from Publish are from updated dialog, before publishing was being done by regular `Pyblish` tool.
|
||||
New publishing process should be backward compatible, eg. if you have a workfile with instances created in the previous publishing approach, they will be translated automatically and
|
||||
could be used right away.
|
||||
|
||||
If you hit on unexpected behaviour with old instances, contact support first, then you could try to delete and recreate instances from scratch.
|
||||
Nuclear option is to purge workfile metadata in `Window > Metadata > Basic > Label`. This is only for most determined daredevils though!
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ sidebar_label: Blender
|
|||
|
||||
## OpenPype global tools
|
||||
|
||||
- [Set Context](artist_tools.md#set-context)
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Library Loader](artist_tools.md#library-loader)
|
||||
- [Set Context](artist_tools_context_manager)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Library Loader](artist_tools_library_loader)
|
||||
|
||||
## Working with OpenPype in Blender
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ low resolution stuff. See [Subset](artist_concepts.md#subset).
|
|||
<!-- :::note LOD support
|
||||
By changing subset name you can take advantage of _LOD support_ in OpenPype. Your
|
||||
asset can contain various resolution defined by different subsets. You can then
|
||||
switch between them very easy using [Inventory (Manage)](artist_tools.md#inventory).
|
||||
switch between them very easy using [Inventory (Manage)](artist_tools_inventory).
|
||||
There LODs are conveniently grouped so they don't clutter Inventory view.
|
||||
|
||||
Name your subset like `main_LOD1`. Important part is that `_LOD1`. You can have as many LODs as you need.
|
||||
|
|
@ -96,7 +96,7 @@ Now let's publish it. Go **OpenPype → Publish...**. You will be presented with
|
|||

|
||||
|
||||
Note that content of this window can differs by your pipeline configuration.
|
||||
For more detail see [Publisher](artist_tools.md#publisher).
|
||||
For more detail see [Publisher](artist_tools_publisher).
|
||||
|
||||
Items in left column are instances you will be publishing. You can disable them
|
||||
by clicking on square next to them. White filled square indicate they are ready for
|
||||
|
|
@ -150,12 +150,12 @@ it can take a while. You should end up with everything green and message
|
|||
**Finished successfully ...** You can now close publisher window.
|
||||
|
||||
To check for yourself that model is published, open
|
||||
[Asset Loader](artist_tools.md#loader) - **OpenPype → Load...**.
|
||||
[Asset Loader](artist_tools_loader) - **OpenPype → Load...**.
|
||||
There you should see your model, named `modelDefault`.
|
||||
|
||||
### Loading models
|
||||
|
||||
You can load model with [Loader](artist_tools.md#loader). Go **OpenPype → Load...**,
|
||||
You can load model with [Loader](artist_tools_loader). Go **OpenPype → Load...**,
|
||||
select your rig, right click on it and click **Link model (blend)**.
|
||||
|
||||
## Creating Rigs
|
||||
|
|
@ -195,11 +195,11 @@ this:
|
|||
### Publishing rigs
|
||||
|
||||
Publishing rig is done in same way as publishing everything else. Save your scene
|
||||
and go **OpenPype → Publish**. For more detail see [Publisher](artist_tools.md#publisher).
|
||||
and go **OpenPype → Publish**. For more detail see [Publisher](artist_tools_publisher).
|
||||
|
||||
### Loading rigs
|
||||
|
||||
You can load rig with [Loader](artist_tools.md#loader). Go **OpenPype → Load...**,
|
||||
You can load rig with [Loader](artist_tools_loader). Go **OpenPype → Load...**,
|
||||
select your rig, right click on it and click **Link rig (blend)**.
|
||||
|
||||
## Layouts in Blender
|
||||
|
|
@ -210,7 +210,7 @@ and manage those sets.
|
|||
### Publishing a layout
|
||||
|
||||
Working with Layout is easy. Just load your assets into scene with
|
||||
[Loader](artist_tools.md#loader) (**OpenPype → Load...**). Populate your scene as
|
||||
[Loader](artist_tools_loader) (**OpenPype → Load...**). Populate your scene as
|
||||
you wish, translate each piece to fit your need. When ready, select all imported
|
||||
stuff and go **OpenPype → Create...** and select **Layout**. When selecting rigs,
|
||||
you need to select only the armature, the geometry will automatically be included.
|
||||
|
|
@ -220,7 +220,7 @@ Now you can publish is with **OpenPype → Publish**.
|
|||
|
||||
### Loading layouts
|
||||
|
||||
You can load a Layout using [Loader](artist_tools.md#loader)
|
||||
You can load a Layout using [Loader](artist_tools_loader)
|
||||
(**OpenPype → Load...**). Select your layout, right click on it and
|
||||
select **Link Layout (blend)**. This will populate your scene with all those
|
||||
models you've put into layout.
|
||||
models you've put into layout.
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ sidebar_label: Harmony
|
|||
|
||||
## Available Tools
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Manage](artist_tools.md#inventory)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Manage](artist_tools_inventory)
|
||||
|
||||
:::note
|
||||
Only one tool can be open at a time. If you open a tool while another tool is open, it will wait in queue for the existing tool to be closed. Once the existing tool is closed, the new tool will open.
|
||||
|
|
@ -62,7 +62,7 @@ When you `Use selection` on creation, the last selected node will be connected t
|
|||
|
||||
`OpenPype > Publish`
|
||||
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
|
||||
This tool will run through checks to make sure the contents you are publishing is correct. Hit the "Play" button to start publishing.
|
||||
|
||||
|
|
@ -72,25 +72,25 @@ You may encounter issues with publishing which will be indicated with red square
|
|||
|
||||
All validators will give some description about what the issue is. You can inspect this by going into the validator through the arrow:
|
||||
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
|
||||
You can expand the errors by clicking on them for more details:
|
||||
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
|
||||
Some validator have repair actions, which will fix the issue. If you can identify validators with actions by the circle icon with an "A":
|
||||
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
|
||||
To access the actions, you right click on the validator. If an action runs successfully, the actions icon will turn green. Once all issues are fixed, you can just hit the "Refresh" button and try to publish again.
|
||||
|
||||
 <!-- gif has to be changed (Harmony needed) -->
|
||||
 <!-- gif has to be changed (Harmony needed) -->
|
||||
|
||||
### Load
|
||||
|
||||
`OpenPype > Load`
|
||||
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
|
||||
The supported families for Harmony are:
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ Loading templates or workfiles will import the contents into scene. Referencing
|
|||
|
||||
`OpenPype > Manage`
|
||||
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
 <!-- picture has to be changed (Harmony needed) -->
|
||||
|
||||
You can switch to a previous version of the image or update to the latest.
|
||||
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ All the information also applies to **_Nuke Studio_**(NKS), but for simplicity w
|
|||
|
||||
## OpenPype global tools
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
|
||||
|
||||
## Hiero specific tools
|
||||
|
|
@ -265,4 +265,4 @@ This tool can be used to check if some instances were published after the last b
|
|||
|
||||
:::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.
|
||||
:::
|
||||
:::
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@ sidebar_label: Houdini
|
|||
|
||||
## OpenPype global tools
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Library Loader](artist_tools.md#library-loader)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Library Loader](artist_tools_library-loader)
|
||||
|
||||
## Publishing Alembic Cameras
|
||||
You can publish baked camera in Alembic format. Select your camera and go **OpenPype -> Create** and select **Camera (abc)**.
|
||||
|
|
@ -100,4 +100,4 @@ switch versions between different hda types.
|
|||
## Loading HDA
|
||||
|
||||
When you load hda, it will install its type in your hip file and add published version as its definition file. When
|
||||
you switch version via Scene Manager, it will add its definition and set it as preferred.
|
||||
you switch version via Scene Manager, it will add its definition and set it as preferred.
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ sidebar_label: Maya
|
|||
|
||||
## OpenPype global tools
|
||||
|
||||
- [Set Context](artist_tools.md#set-context)
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Library Loader](artist_tools.md#library-loader)
|
||||
- [Set Context](artist_tools_context_manager)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Library Loader](artist_tools_library_loader)
|
||||
|
||||
## Working with OpenPype in Maya
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ low resolution stuff. See [Subset](artist_concepts.md#subset).
|
|||
:::note LOD support
|
||||
By changing subset name you can take advantage of _LOD support_ in OpenPype. Your
|
||||
asset can contain various resolution defined by different subsets. You can then
|
||||
switch between them very easy using [Inventory (Manage)](artist_tools.md#inventory).
|
||||
switch between them very easy using [Inventory (Manage)](artist_tools_inventory).
|
||||
There LODs are conveniently grouped so they don't clutter Inventory view.
|
||||
|
||||
Name your subset like `main_LOD1`. Important part is that `_LOD1`. You can have as many LODs as you need.
|
||||
|
|
@ -85,7 +85,7 @@ Now let's publish it. Go **OpenPype → Publish...**. You will be presented with
|
|||

|
||||
|
||||
Note that content of this window can differs by your pipeline configuration.
|
||||
For more detail see [Publisher](artist_tools.md#publisher).
|
||||
For more detail see [Publisher](artist_tools_publisher).
|
||||
|
||||
Items in left column are instances you will be publishing. You can disable them
|
||||
by clicking on square next to them. Green square indicate they are ready for
|
||||
|
|
@ -139,7 +139,7 @@ it can take a while. You should end up with everything green and message
|
|||
**Finished successfully ...** You can now close publisher window.
|
||||
|
||||
To check for yourself that model is published, open
|
||||
[Asset Loader](artist_tools.md#loader) - **OpenPype → Load...**.
|
||||
[Asset Loader](artist_tools_loader) - **OpenPype → Load...**.
|
||||
There you should see your model, named `modelMain`.
|
||||
|
||||
## Look development
|
||||
|
|
@ -200,8 +200,8 @@ there are few yellow icons in left shelf:
|
|||
|
||||

|
||||
|
||||
Those are shortcuts for **Look Manager**, [Work Files](artist_tools.md#workfiles),
|
||||
[Load](artist_tools.md#loader), and [Manage (Inventory)](artist_tools.md#inventory).
|
||||
Those are shortcuts for **Look Manager**, [Work Files](artist_tools_workfiles),
|
||||
[Load](artist_tools_loader), and [Manage (Inventory)](artist_tools_inventory).
|
||||
|
||||
Those can be found even in top menu, but that depends on your studio setup.
|
||||
|
||||
|
|
@ -294,7 +294,7 @@ have any missing dependencies.
|
|||
|
||||
### Loading rigs
|
||||
|
||||
You can load rig with [Loader](artist_tools.md#loader). Go **OpenPype → Load...**,
|
||||
You can load rig with [Loader](artist_tools_loader). Go **OpenPype → Load...**,
|
||||
select your rig, right click on it and **Reference** it.
|
||||
|
||||
## Point caches
|
||||
|
|
@ -332,7 +332,7 @@ OpenPype allows to version and manage those sets.
|
|||
### Publishing Set dress / Layout
|
||||
|
||||
Working with Set dresses is very easy. Just load your assets into scene with
|
||||
[Loader](artist_tools.md#loader) (**OpenPype → Load...**). Populate your scene as
|
||||
[Loader](artist_tools_loader) (**OpenPype → Load...**). Populate your scene as
|
||||
you wish, translate each piece to fit your need. When ready, select all imported
|
||||
stuff and go **OpenPype → Create...** and select **Set Dress** or **Layout**.
|
||||
This will create set containing your selection and marking it for publishing.
|
||||
|
|
@ -345,7 +345,7 @@ Now you can publish is with **OpenPype → Publish**.
|
|||
|
||||
### Loading Set dress / Layout
|
||||
|
||||
You can load Set dress / Layout using [Loader](artist_tools.md#loader)
|
||||
You can load Set dress / Layout using [Loader](artist_tools_loader)
|
||||
(**OpenPype → Load...**). Select you layout or set dress, right click on it and
|
||||
select **Reference Maya Ascii (ma)**. This will populate your scene with all those
|
||||
models you've put into layout.
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ OpenPype supports Nuke version **`11.0`** and above.
|
|||
|
||||
## OpenPype global tools
|
||||
|
||||
- [Set Context](artist_tools.md#set-context)
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Library Loader](artist_tools.md#library-loader)
|
||||
- [Set Context](artist_tools_context_manager)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Library Loader](artist_tools_library_loader)
|
||||
|
||||
## Nuke specific tools
|
||||
|
||||
|
|
@ -186,7 +186,7 @@ The Next Available Version checks the work folder for already used versions and
|
|||
|
||||
Subversion can be used to distinguish or name versions. For example used to add shortened artist name.
|
||||
|
||||
More about [workfiles](artist_tools.md#workfiles).
|
||||
More about [workfiles](artist_tools_workfiles).
|
||||
|
||||
|
||||
:::tip Admin Tips
|
||||
|
|
@ -214,7 +214,7 @@ Note that the Read node created by OpenPype is green. Green color indicates the
|
|||
|
||||

|
||||
|
||||
More about [Asset loader](artist_tools.md#loader).
|
||||
More about [Asset loader](artist_tools_loader).
|
||||
|
||||
### Create Write Node
|
||||
To create OpenPype managed Write node, select the Read node you just created, from OpenPype menu, pick Create.
|
||||
|
|
@ -273,7 +273,7 @@ Pyblish Dialog tries to pack a lot of info in a small area. One of the more tric
|
|||
|
||||
If you run the publish and decide to not publish the Nuke script, you can turn it off right in the Pyblish dialog by clicking on the checkbox. If you decide to render and publish the shot in lower resolution to speed up the turnaround, you have to turn off the Write Resolution validator. If you want to use an older version of the asset (older version of the plate...), you have to turn off the Validate containers, and so on.
|
||||
|
||||
More info about [Using Pyblish](artist_tools.md#publisher)
|
||||
More info about [Using Pyblish](artist_tools_publisher)
|
||||
|
||||
:::tip Admin Tip - Configuring validators
|
||||
You can configure Nuke validators like Output Resolution in **Studio Settings → Project → Nuke → Publish plugins**
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ sidebar_label: Photoshop
|
|||
|
||||
## Available Tools
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Manage](artist_tools.md#inventory)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Manage](artist_tools_inventory)
|
||||
|
||||
## Setup
|
||||
|
||||
|
|
@ -22,32 +22,75 @@ When you launch Photoshop you will be met with the Workfiles app. If dont have a
|
|||
|
||||
In Photoshop you can find the tools in the `OpenPype` extension:
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
You can show the extension panel by going to `Window` > `Extensions` > `OpenPype`.
|
||||
|
||||
### Create
|
||||
### Publish
|
||||
|
||||
When you have created an image you want to publish, you will need to create special groups or tag existing groups. To do this open the `Creator` through the extensions `Create` button.
|
||||
When you are ready to share some work, you will need to publish. This is done by opening the `Publisher` through the `Publish...` button.
|
||||
|
||||

|
||||

|
||||
|
||||
With the `Creator` you have a variety of options to create:
|
||||
There is always instance for workfile created automatically (see 'workfileArt' item in `Subsets to publish` column.) This allows to publish (and therefore backup)
|
||||
workfile which is used to produce another publishable elements (as `image` and `review` items).
|
||||
|
||||
- Check `Use selection` (A dialog will ask whether you want to create one image per selected layer).
|
||||
- Yes.
|
||||
- No selection.
|
||||
- This will create a single group named after the `Subset` in the `Creator`.
|
||||
- Single selected layer.
|
||||
- The selected layer will be grouped under a single group named after the selected layer.
|
||||
- Single selected group.
|
||||
- The selected group will be tagged for publishing.
|
||||
- Multiple selected items.
|
||||
- Each selected group will be tagged for publishing and each layer will be grouped individually.
|
||||
- No.
|
||||
- All selected layers will be grouped under a single group named after the `Subset` in the `Creator`.
|
||||
- Uncheck `Use selection`.
|
||||
- This will create a single group named after the `Subset` in the `Creator`.
|
||||
#### Create
|
||||
|
||||
Main publishable item in Photoshop will be of `image` family. Result of this item (instance) is picture that could be loaded and used in another DCCs (for example as
|
||||
single layer in composition in AfterEffects, reference in Maya etc).
|
||||
|
||||
There are couple of options what to publish:
|
||||
- separate image per layer (or group of layers)
|
||||
- all visible layers (groups) flattened into single image
|
||||
|
||||
In most cases you would like to keep `Create only for selected` toggled on and select what you would like to publish. Toggling this off
|
||||
will allow you to create instance(s) for all visible layers without a need to select them explicitly.
|
||||
|
||||
For separate layers option keep `Create separate instance for each selected` toggled, select multiple layers and hit `Create >>>` button in the middle column.
|
||||
|
||||
This will result in:
|
||||
|
||||

|
||||
|
||||
(In Photoshop's `Layers` tab standard layers will be wrapped into group and enriched with ℗ symbol to denote publishable instance. With `Create separate instance for each selected` toggled off
|
||||
it will create only single publishable instance which will wrap all visible layers.)
|
||||
|
||||
Name of publishable instance (eg. subset name) could be configured with a template in `project_settings/global/tools/creator/subset_name_profiles`.
|
||||
(This must be configured by admin who has access to Openpype Settings.)
|
||||
|
||||
Trash icon under the list of instances allows to delete any selected `image` instance.
|
||||
|
||||
Workfile instance will be automatically recreated though. If you do not want to publish it, use pill toggle on the instance item.
|
||||
|
||||
If you would like to modify publishable instance, click on `Publish` tab at the top. This would allow you to change name of publishable
|
||||
instances, disable them from publishing, change their task etc.
|
||||
|
||||
Publisher allows publishing into different context, just click on any instance, update `Variant`, `Asset` or `Task` in the form in the middle and don't forget to click on the 'Confirm' button.
|
||||
|
||||
#### Validate
|
||||
|
||||
If you would like to run validation rules set by your Studio, click on funnel icon at the bottom right. This will run through all
|
||||
enabled instances, you could see more information after clicking on `Details` tab.
|
||||
|
||||

|
||||
|
||||
In this dialog you could see publishable instances in left colummn, triggered plugins in the middle and logs in the right column.
|
||||
|
||||
In left column you could see that `review` instance was created automatically. This instance flattens all publishable instances or
|
||||
all visible layers if no publishable instances were created into single image which could serve as a single reviewable element (for example in Ftrack).
|
||||
|
||||
Creation of Review could be disabled in `project_settings/photoshop/publish/CollectReview`.
|
||||
|
||||
If you are satisfied with results of validation phase (and there are no errors there), you might hit `Publish` button at bottom right.
|
||||
This will run through extraction phase (it physically creates images from `image` instances, creates `review` etc) and publishes them
|
||||
(eg. stores files into their final destination and stores metadata about them into DB).
|
||||
This part might take a while depending on amount of layers in the workfile, amount of available memory and performance of your machine.
|
||||
|
||||
You may encounter issues with publishing which will be indicated with red squares. If these issues are within the validation section, then you can fix the issue. If there are issues outside of validation section, please let the OpenPype team know.
|
||||
|
||||
You can always start new publish run with a circle arrow button at the bottom right. You might also want to move between phases (Create, Update etc)
|
||||
by clicking on available tabs at the top of the dialog.
|
||||
|
||||
#### Simplified publish
|
||||
|
||||
|
|
@ -55,39 +98,28 @@ There is a simplified workflow for simple use case where only single image shoul
|
|||
No image instances must be present in a workfile and `project_settings/photoshop/publish/CollectInstances/flatten_subset_template` must be filled in Settings.
|
||||
Then artists just need to hit 'Publish' button in menu.
|
||||
|
||||
### Publish
|
||||
|
||||
When you are ready to share some work, you will need to publish. This is done by opening the `Pyblish` through the extensions `Publish` button.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
This tool will run through checks to make sure the contents you are publishing is correct. Hit the "Play" button to start publishing.
|
||||
|
||||
You may encounter issues with publishing which will be indicated with red squares. If these issues are within the validation section, then you can fix the issue. If there are issues outside of validation section, please let the OpenPype team know.
|
||||
|
||||
#### Repair Validation Issues
|
||||
|
||||
All validators will give some description about what the issue is. You can inspect this by going into the validator through the arrow:
|
||||
If there is some issue in validator phase, you will receive something like this:
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||

|
||||
|
||||
You can expand the errors by clicking on them for more details:
|
||||
All validators will give some description about what the issue is. You can inspect this by clicking on items in the left column.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
If there is an option of automatic repair, there will be `Repair` button on the right. In other case you need to fix the issue manually.
|
||||
(By deleting and recreating instance etc.)
|
||||
|
||||
Some validator have repair actions, which will fix the issue. If you can identify validators with actions by the circle icon with an "A":
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
To access the actions, you right click on the validator. If an action runs successfully, the actions icon will turn green. Once all issues are fixed, you can just hit the "Refresh" button and try to publish again.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
#### Buttons on the bottom right are for:
|
||||
- `Refresh publishing` - set publishing process to starting position - useful if previous publish failed, or you changed configuration of a publish
|
||||
- `Stop/pause publishing` - if you would like to pause publishing process at any time
|
||||
- `Validate` - if you would like to run only collecting and validating phases (nothing will be published yet)
|
||||
- `Publish` - standard way how to kick off full publishing process
|
||||
|
||||
### Load
|
||||
|
||||
When you want to load existing published work, you can load in smart layers through the `Loader`. You can reach the `Loader` through the extension's `Load` button.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
The supported families for Photoshop are:
|
||||
|
||||
|
|
@ -105,7 +137,7 @@ Now that we have some images loaded, we can manage which version is loaded. This
|
|||
Loaded images has to stay as smart layers in order to be updated. If you rasterize the layer, you cannot update it to a different version.
|
||||
:::
|
||||
|
||||

|
||||

|
||||
|
||||
You can switch to a previous version of the image or update to the latest.
|
||||
|
||||
|
|
@ -113,65 +145,19 @@ You can switch to a previous version of the image or update to the latest.
|
|||

|
||||
|
||||
|
||||
### New Publisher
|
||||
|
||||
All previous screenshot came from regular [pyblish](https://pyblish.com/) process, there is also a different UI available. This process extends existing implementation and adds new functionalities.
|
||||
|
||||
To test this in Photoshop, the artist needs first to enable experimental `New publisher` in Settings. (Tray > Settings > Experimental tools)
|
||||

|
||||
|
||||
New dialog opens after clicking on `Experimental tools` button in Openpype extension menu.
|
||||

|
||||
|
||||
After you click on this button, this dialog will show up.
|
||||
|
||||

|
||||
|
||||
You can see the first instance, called `workfileYourTaskName`. (Name depends on studio naming convention for Photoshop's workfiles.). This instance is so called "automatic",
|
||||
it was created without instigation by the artist. You shouldn't delete this instance as it might hold necessary values for future publishing, but you can choose to skip it
|
||||
from publishing (by toggling the pill button inside of the rectangular object denoting instance).
|
||||
|
||||
New publisher allows publishing into different context, just click on a workfile instance, update `Variant`, `Asset` or `Task` in the form in the middle and don't forget to click on the 'Confirm' button.
|
||||
|
||||
Similarly to the old publishing approach, you need to create instances for everything you want to publish. You will initiate by clicking on the '+' sign in the bottom left corner.
|
||||
|
||||

|
||||
|
||||
In this dialog you can select the family for the published layer or group. Currently only 'image' is implemented.
|
||||
|
||||
On right hand side you can see creator attributes:
|
||||
- `Create only for selected` - mimics `Use selected` option of regular publish
|
||||
- `Create separate instance for each selected` - if separate instance should be created for each layer if multiple selected
|
||||
|
||||

|
||||
|
||||
Here you can see a newly created instance of image family. (Name depends on studio naming convention for image family.) You can disable instance from publishing in the same fashion as a workfile instance.
|
||||
You could also decide delete instance by selecting it and clicking on a trashcan icon (next to plus button on left button)
|
||||
|
||||
Buttons on the bottom right are for:
|
||||
- `Refresh publishing` - set publishing process to starting position - useful if previous publish failed, or you changed configuration of a publish
|
||||
- `Stop/pause publishing` - if you would like to pause publishing process at any time
|
||||
- `Validate` - if you would like to run only collecting and validating phases (nothing will be published yet)
|
||||
- `Publish` - standard way how to kick off full publishing process
|
||||
|
||||
In the unfortunate case of some error during publishing, you would receive this kind of error dialog.
|
||||
|
||||

|
||||
|
||||
In this case there is an issue that you are publishing two or more instances with the same subset name ('imageMaing'). If the error is recoverable by the artist, you should
|
||||
see helpful information in a `How to repair?` section or fix it automatically by clicking on a 'Wrench' button on the right if present.
|
||||
|
||||
If you would like to ask for help admin or support, you could use any of the three buttons on bottom left:
|
||||
#### Support help
|
||||
If you would like to ask for help admin or support, you could use any of the three options on the `Note` button on bottom left:
|
||||
- `Go to details` - switches into a more detailed list of published instances and plugins.
|
||||
- `Copy report` - stash full publishing log to a clipboard
|
||||
- `Export and save report` - save log into a file for sending it via mail or any communication tool
|
||||
- `Show details` - switches into a more detailed list of published instances and plugins. Similar to the old pyblish list.
|
||||
- `Export report` - save log into a file for sending it via mail or any communication tool
|
||||
|
||||
If you are able to fix the workfile yourself, use the first button on the right to set the UI to initial state before publish. (Click the `Publish` button to start again.)
|
||||
|
||||
#### Legacy instances
|
||||
|
||||
All screenshots from Publish are from updated dialog, before publishing was being done by regular `Pyblish` tool.
|
||||
New publishing process should be backward compatible, eg. if you have a workfile with instances created in the previous publishing approach, they will be translated automatically and
|
||||
could be used right away.
|
||||
|
||||
If you would create instances in a new publisher, you cannot use them in the old approach though!
|
||||
|
||||
If you would hit on unexpected behaviour with old instances, contact support first, then you could try some steps to recover your publish. Delete instances in New publisher UI, or try `Subset manager` in the extension menu.
|
||||
If you hit on unexpected behaviour with old instances, contact support first, then you could try to delete and recreate instances from scratch.
|
||||
Nuclear option is to purge workfile metadata in `File > File Info > Origin > Headline`. This is only for most determined daredevils though!
|
||||
|
|
|
|||
|
|
@ -16,18 +16,18 @@ Before you are able to start with OpenPype tools in DaVinci Resolve, installatio
|
|||
|
||||
## OpenPype global tools
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
|
||||
|
||||
<div class="row markdown">
|
||||
|
||||
## Creating Shots from timeline items
|
||||
|
||||
Before a clip can be published with [Publisher](artist_tools.md#publisher) timeline item has to be marked with OpenPype metadata markers. This way it is converted to a publishable subset.
|
||||
Before a clip can be published with [Publisher](artist_tools_publisher) timeline item has to be marked with OpenPype metadata markers. This way it is converted to a publishable subset.
|
||||
|
||||
Lets do it step by step.
|
||||
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ title: TVPaint
|
|||
sidebar_label: TVPaint
|
||||
---
|
||||
|
||||
- [Work Files](artist_tools.md#workfiles)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Subset Manager](artist_tools.md#subset-manager)
|
||||
- [Scene Inventory](artist_tools.md#scene-inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Library](artist_tools.md#library)
|
||||
- [Work Files](artist_tools_workfiles)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Subset Manager](artist_tools_subset_manager)
|
||||
- [Scene Inventory](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Library](artist_tools_library)
|
||||
|
||||
|
||||
## Setup
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@ OpenPype global tools can be found in Unreal's toolbar and in the *Tools* main m
|
|||
|
||||

|
||||
|
||||
- [Create](artist_tools.md#creator)
|
||||
- [Load](artist_tools.md#loader)
|
||||
- [Manage (Inventory)](artist_tools.md#inventory)
|
||||
- [Publish](artist_tools.md#publisher)
|
||||
- [Library Loader](artist_tools.md#library-loader)
|
||||
- [Create](artist_tools_creator)
|
||||
- [Load](artist_tools_loader)
|
||||
- [Manage (Inventory)](artist_tools_inventory)
|
||||
- [Publish](artist_tools_publisher)
|
||||
- [Library Loader](artist_tools_library_loader)
|
||||
|
||||
## Static Mesh
|
||||
|
||||
|
|
|
|||
|
|
@ -4,483 +4,18 @@ title: Tools
|
|||
sidebar_label: Tools
|
||||
---
|
||||
|
||||
## Set Context
|
||||
# Tools
|
||||
|
||||
OpenPype offers a collection of core tools in tandem with the Integrations:
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
- [Context Manager](artist_tools_context_manager)
|
||||
- [Creator](artist_tools_creator)
|
||||
- [Loader](artist_tools_loader)
|
||||
- [Library Loader](artist_tools_library_loader)
|
||||
- [Publisher](artist_tools_publisher)
|
||||
- [Inventory](artist_tools_inventory)
|
||||
- [Workfiles](artist_tools_workfiles)
|
||||
- [Look Assigner](artist_tools_look_assigner)
|
||||
- [Subset Manager](artist_tools_subset_manager)
|
||||
- [Sync Queue](artist_tools_sync_queue)
|
||||
|
||||
Any time your host app is open in defined context it can be changed to different hierarchy, asset or task within a project. This will allow you to change your opened session to any other asset, shot and tasks within the same project. This is useful particularly in cases where your host takes long time to start.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
:::note
|
||||
|
||||
Notice that the window doesn't close after hitting `Accept` and confirming the change of context. This behaviour let's you keep the window open and change the context multiple times in a row.
|
||||
:::
|
||||
|
||||
## Creator
|
||||
|
||||
### Details
|
||||
|
||||
Despite the name, Creator isn't for making new content in your scene, but rather taking what's already in it and creating all the metadata your content needs to be published.
|
||||
|
||||
In Maya this means creating a set with everything you want to publish and assigning custom attributes to it so it gets picked up during publishing stage.
|
||||
|
||||
In Nuke it's either converting an existing write node to a publishable one, or simply creating a write node with all the correct settings and outputs already set.
|
||||
|
||||
### Usage
|
||||
|
||||
1. select what you want to publish from your scenes
|
||||
2. Open *Creator* from OpenPype menu
|
||||
3. Choose what family (data type) you need to export
|
||||
4. Type the name for you export. This name is how others are going to be able to refer to this particular subset when loading it into their scenes. Every assets should have a Main subset, but can have any number of other variants.
|
||||
5. Click on *Create*
|
||||
|
||||
* * *
|
||||
|
||||
## Loader
|
||||
Loader loads published subsets into your current scene or script.
|
||||
|
||||
### Usage
|
||||
1. open *Loader* from OpenPype menu
|
||||
2. select the asset where the subset you want to load is published
|
||||
3. from subset list select the subset you want
|
||||
4. right-click the subset
|
||||
5. from action menu select what you want to do *(load, reference, ...)*
|
||||
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
### Refresh data
|
||||
Data are not auto-refreshed to avoid database issues. To refresh assets or subsets press refresh button.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### Load another version
|
||||
Loader by default load last version, but you can of course load another versions. Double-click on the subset in the version column to expose the drop down, choose version you want to load and continue from point 4 of the [Usage](#usage-1).
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
### Filtering
|
||||
|
||||
#### Filter Assets and Subsets by name
|
||||
To filter assets/subsets by name just type name or part of name to filter text input. Only assets/subsets containing the entered string remain.
|
||||
|
||||
- **Assets filtering example** *(it works the same for subsets)*:
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
#### Filter Subsets by Family
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
To filter [subsets](artist_concepts.md#subset) by their [families](artist_publish.md#families) you can use families list where you can check families you want to see or uncheck families you are not interested in.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
### Subset groups
|
||||
Subsets may be grouped which can help to make the subset list more transparent. You can toggle visibility of groups with `Enable Grouping` checkbox.
|
||||
|
||||

|
||||
|
||||
|
||||
#### Add to group or change current group
|
||||
You can set group of selected subsets with shortcut `Ctrl + G`.
|
||||
|
||||

|
||||
|
||||
|
||||
:::warning
|
||||
You'll set the group in Avalon database so your changes will take effect for all users.
|
||||
:::
|
||||
|
||||
### Site Sync support
|
||||
|
||||
If **Site Sync** is enabled additional widget is shown in right bottom corner.
|
||||
It contains list of all representations of selected version(s). It also shows availability of representation files
|
||||
on particular site (*active* - mine, *remote* - theirs).
|
||||
|
||||

|
||||
|
||||
On this picture you see that representation files are available only on remote site (could be GDrive or other).
|
||||
If artist wants to work with the file(s) they need to be downloaded first. That could be done by right mouse click on
|
||||
particular representation (or multiselect all) and select *Download*.
|
||||
|
||||
This will mark representation to be download which will happen in the background if OpenPype Tray is running.
|
||||
|
||||
For more details of progress, state or possible error details artist should open **[Sync Queue](#Sync-Queue)** item in Tray app.
|
||||
|
||||
Work in progress...
|
||||
|
||||
## Library Loader
|
||||
|
||||
Library loader is extended [loader](#loader) which allows to load published subsets from Library projects. Controls are same but library loader has extra Combo Box which allows you to choose project you want to load from.
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### Delivery Action ###
|
||||
|
||||
Library Loader contains functionality to export any selected asset, subsets and their version to configurable folder.
|
||||
Delivery follows structure based on defined template, this template must be configured first by Admin in the Settings.
|
||||
|
||||

|
||||
|
||||
* Usage
|
||||
- Select all required subsets for export (you can change theirs versions by double clicking on 'Version' value)
|
||||
- Right click and select **Deliver Versions** from context menu
|
||||
- Select predefined Delivery template (must be configured by Admin system or project wide)
|
||||
- Fill value for root folder (folder will be created if it doesn't exist)
|
||||
- Filter out type of representation you are not interested in
|
||||
- Push **Deliver** button
|
||||
- Dialog must be kept open until export is finished
|
||||
- In a case of problems with any of the representation, that one will be skipped, description of error will be provided in the dialog
|
||||
* * *
|
||||
|
||||
## Publisher
|
||||
|
||||
> Use publish to share your work with others. It collects, validates and exports the data in standardized way.
|
||||
|
||||
### Details
|
||||
|
||||
When you run pyblish, the UI is made of 2 main parts. On the left, you see all the items pyblish will be working with (called instances), and on the right a list of actions that are going to process these items.
|
||||
Even though every task type has some pre-defined settings of what should be collected from the scene and what items will be published by default. You can technically publish any output type from any task type.
|
||||
Each item is passed through multiple plugins, each doing a small piece of work. These are organized into 4 areas and run in sequence.
|
||||
|
||||
### Using Pyblish
|
||||
|
||||
In the best case scenario, you open pyblish from the Avalon menu, press play, wait for it to finish, and you’re done.
|
||||
These are the steps in detail, for cases, where the default settings don’t work for you or you know that the task you’re working on, requires a different treatment.
|
||||
|
||||
#### Collect
|
||||
|
||||
Finds all the important data in the scene and makes it ready for publishing
|
||||
|
||||
#### Validate
|
||||
|
||||
Each validator makes sure your output complies to one particular condition. This could be anything from naming conventions, scene setting, to plugin usage. An item can only be published if all validators pass.
|
||||
|
||||
#### Extract
|
||||
|
||||
Extractor takes the item and saves it to the disk. Usually to temporary location. Each extractor represents one file format and there can be multiple file formats exported for each item.
|
||||
|
||||
#### Integrate
|
||||
|
||||
Integrator takes the extracted files, categorizes and moves them to a correct location on the disk or on the server.
|
||||
|
||||
* * *
|
||||
|
||||
## Inventory
|
||||
|
||||
With Scene Inventory, you can browse, update and change subsets loaded with [Loader](#loader) into your scene or script.
|
||||
|
||||
:::note
|
||||
You should first understand [Key concepts](artist_concepts) to understand how you can use this tool.
|
||||
:::
|
||||
|
||||
### Details
|
||||
<!-- This part may be in Maya description? -->
|
||||
|
||||
Once a subset is loaded, it turns into a container within a scene. This containerization allows us to have a good overview of everything in the scene, but also makes it possible to change versions, notify user if something is outdated, replace one asset for another, etc.
|
||||
<!-- END HERE -->
|
||||
|
||||
The scene manager has a simple GUI focused on efficiency. You can see everything that has been previously loaded into the scene, how many time it's been loaded, what version and a lot of other information. Loaded assets are grouped by their asset name, subset name and representation. This grouping gives ability to apply changes for all instances of the loaded asset *(e.g. when __tree__ is loaded 20 times you can easily update version for all of them)*.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
To interact with any container, you need to right click it and you'll see a drop down with possible actions. The key actions for production are already implemented, but more will be added over time.
|
||||
|
||||

|
||||
|
||||
### Usage
|
||||
|
||||
#### Change version
|
||||
You can change versions of loaded subsets with scene inventory tool. Version of loaded assets is colored to red when newer version is available.
|
||||
|
||||
|
||||

|
||||
|
||||
##### Update to the latest version
|
||||
Select containers or subsets you want to update, right-click selection and press `Update to latest`.
|
||||
|
||||
##### Change to specific version
|
||||
Select containers or subsets you want to change, right-click selection, press `Set version`, select from dropdown version you want change to and press `OK` button to confirm.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
#### Switch Asset
|
||||
It's tool in Scene inventory tool that gives ability to switch asset, subset and representation of loaded assets.
|
||||
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
|
||||
Because loaded asset is in fact representation of version published in asset's subset it is possible to switch each of this part *(representation, version, subset and asset)*, but with limitations. Limitations are obvious as you can imagine when you have loaded `.ma` representation of `modelMain` subset from `car` asset it is not possible to switch subset to `modelHD` and keep same representation if `modelHD` does not have published `.ma` representation. It is possible to switch multiple loaded assets at once that makes this tool very powerful helper if all published assets contain same subsets and representations.
|
||||
|
||||
Switch tool won't let you cross the border of limitations and inform you when you have to specify more if impossible combination occurs *(It is also possible that there will be no possible combination for selected assets)*. Border is colored to red and confirm button is not enabled when specification is required.
|
||||
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
|
||||
Possible switches:
|
||||
- switch **representation** (`.ma` to `.abc`, `.exr` to `.dpx`, etc.)
|
||||
- switch **subset** (`modelMain` to `modelHD`, etc.)
|
||||
- `AND` keep same **representation** *(with limitations)*
|
||||
- `AND` switch **representation** *(with limitations)*
|
||||
- switch **asset** (`oak` to `elm`, etc.)
|
||||
- `AND` keep same **subset** and **representation** *(with limitations)*
|
||||
- `AND` keep same **subset** and switch **representation** *(with limitations)*
|
||||
- `AND` switch **subset** and keep same **representation** *(with limitations)*
|
||||
- `AND` switch **subset** and **representation** *(with limitations)*
|
||||
|
||||
We added one more switch layer above subset for LOD (Level Of Depth). That requires to have published subsets with name ending with **"_LOD{number}"** where number represents level (e.g. modelMain_LOD1). Has the same limitations as mentioned above. This is handy when you want to change only subset but keep same LOD or keep same subset but change LOD for multiple assets. This option is hidden if you didn't select subset that have published subset with LODs.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
### Filtering
|
||||
|
||||
#### Filter by name
|
||||
|
||||
There is a search bar on the top for cases when you have a complex scene with many assets and need to find a specific one.
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
#### Filter with Cherry-pick selection
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
To keep only selected subsets right-click selection and press `Cherry-Pick (Hierarchy)` *(Border of subset list change to **orange** color when Cherry-pick filtering is set so you know filter is applied).*
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
To return to original state right-click anywhere in subsets list and press `Back to Full-View`.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
:::tip
|
||||
You can Cherry-pick from Cherry-picked subsets.
|
||||
:::
|
||||
|
||||
* * *
|
||||
|
||||
## Workfiles
|
||||
|
||||
Save new working scenes or scripts, or open the ones you previously worked on.
|
||||
|
||||
### Details
|
||||
|
||||
Instead of digging through your software native file browser, you can simply open the workfiles app and see all the files for the asset or shot you're currently working with. The app takes care of all the naming and the location of your work files.
|
||||
|
||||
When saving a scene you can also add a comment. It is completely up to you how you use this, however we recommend using it for subversion within your current working version.
|
||||
|
||||
Let's say that the last version of the comp you published was v003 and now you're working on the file prj_sh010_compositing_v004.nk if you want to keep snapshots of your work, but not iterate on the main version because the supervisor is expecting next publish to be v004, you can use the comment to do this, so you can save the file under the name prj_sh010_compositing_v004_001 , prj_sh010_compositing_v004_002. the main version is automatically iterated every time you publish something.
|
||||
|
||||
### Usage
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
#### To open existing file:
|
||||
|
||||
1. Open Workfiles tool from OpenPype menu
|
||||
2. Select file from list - the latest version is the highest *(descendent ordering)*
|
||||
3. Press `Open` button
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
#### To save new workfile
|
||||
1. Open Workfiles tool from OpenPype menu
|
||||
2. Press `Save As` button
|
||||
3. You can add optional comment to the filename, that will be appended at the end
|
||||
4. Press `OK`
|
||||
|
||||
:::note
|
||||
You can manually override the workfile version by unticking next available version and using the version menu to choose your own.
|
||||
:::
|
||||
|
||||
## Look Assigner
|
||||
|
||||
> The Look Manager takes care of assigning published looks to the correct model in the scene.
|
||||
|
||||
### Details
|
||||
|
||||
When a look is published it also stores the information about what shading networks need to be assigned to which models, but it also stores all the render attributes on the mesh necessary for a successful render.
|
||||
|
||||
### Usage
|
||||
|
||||
Look Assigner has GUI is made of two parts. On the left you will see the list of all the available models in the scene and on the right side, all the looks that can be associate with them. To assign a look to a model you just need to:
|
||||
|
||||
1. Click on "load all subsets"
|
||||
2. Choose a subset from the menu on the left
|
||||
3. Right click on a look from the list on the right
|
||||
4. Choose "Assign"
|
||||
|
||||
At this point you should have a model with all it's shaders applied correctly. The tool automatically loads the latest look available.
|
||||
|
||||
|
||||
## Subset Manager
|
||||
|
||||
> Subset Manager lists all items which are meant for publishig and will be published if Publish is triggered
|
||||
|
||||
### Details
|
||||
|
||||
One or more items (instances) could be published any time Publish process is started. Each this publishable
|
||||
item must be created by Creator tool previously. Subset Manager provides easy way how to check which items,
|
||||
and how many, will be published.
|
||||
|
||||
It also provides clean and preferable way how to remove unwanted item from publishing.
|
||||
|
||||
### Usage
|
||||
|
||||
Subset Manager has GUI is made of two parts. On the left you will see the list of all the available publishable items in the scene and on the right side, details about these items.
|
||||
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
|
||||
Any time new item is Created, it will show up here.
|
||||
|
||||
Currently there is only single action, 'Remove instance' which cleans workfile file from publishable item metadata.
|
||||
This might not remove underlying host item, it depends on host and implementation!
|
||||
|
||||
It might also happen that user deletes underlying host item(for example layer in Photoshop) directly in the host, but metadata will stay.
|
||||
This could result in phantom issues during publishing. Use Subset Manager to purge workfile from abandoned items.
|
||||
|
||||
Please check behaviour in host of your choice.
|
||||
|
||||
## Sync Queue
|
||||
|
||||
### Details
|
||||
|
||||
If **Site Sync** is configured for a project, each asset is marked to be synchronized to a remote site during publishing.
|
||||
Each artist's OpenPype Tray application handles synchronization in background, it looks for all representation which
|
||||
are marked with the site of the user (unique site name per artist) and remote site.
|
||||
|
||||
Artists then can see progress of synchronization via **Sync Queue** link in the Tray application.
|
||||
|
||||
Artists can see all synced representation in this dialog with helpful information such as when representation was created, when it was synched,
|
||||
status of synchronization (OK or Fail) etc.
|
||||
|
||||
### Usage
|
||||
|
||||
With this app artists can modify synchronized representation, for example mark failed representation for re-sync etc.
|
||||
|
||||

|
||||
|
||||
Actions accessible by context menu on single (or multiple representations):
|
||||
- *Open in Explorer* - if site is locally accessible, open folder with it with OS based explorer
|
||||
- *Re-sync Active Site* - mark artist own side for re-download (repre must be accessible on remote side)
|
||||
- *Re-sync Remote Site* - mark representation for re-upload
|
||||
- *Completely remove from local* - removes tag of synchronization to artist's local site, removes files from disk (available only for personal sites)
|
||||
- *Change priority* - mark representations with higher priority for faster synchronization run
|
||||
|
||||
Double click on any of the representation open Detail dialog with information about all files for particular representation.
|
||||
In this dialog error details could be accessed in the context menu.
|
||||
|
||||
#### Context menu on project name
|
||||
Artists can also Pause whole server or specific project for synchronization. In that state no download/upload is being run.
|
||||
This might be helpful if the artist is not interested in a particular project for a while or wants to save bandwidth data limit for a bit.
|
||||
|
||||
Another option is `Validate files on active site`. This option triggers process where all representation of the selected project are looped through, file paths are resolved for active site and
|
||||
if paths point to local system, paths are physically checked if files are existing. If file exists and representation is not marked to be present on 'active_site' in DB, DB is updated
|
||||
to follow that.
|
||||
|
||||
This might be useful if artist has representation files that Site Sync doesn't know about (newly attached external drive with representations from studio).
|
||||
This project might take a while!
|
||||
17
website/docs/artist_tools_context_manager.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
id: artist_tools_context_manager
|
||||
title: Context Manager
|
||||
sidebar_label: Context Manager
|
||||
description: A tool to manage the context within a host app.
|
||||
---
|
||||
|
||||
# Context Manager
|
||||
|
||||
Any time your host app is open in a defined context it can be changed to different hierarchy, asset or task within a project. This will allow you to change your opened session to any other asset, shot and tasks within the same project. This is useful particularly in cases where your host takes long time to start.
|
||||
|
||||

|
||||
|
||||
|
||||
:::note
|
||||
Notice that the window doesn't close after hitting `Accept` and confirming the change of context. This behaviour let's you keep the window open and change the context multiple times in a row.
|
||||
:::
|
||||
25
website/docs/artist_tools_creator.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
id: artist_tools_creator
|
||||
title: Creator
|
||||
sidebar_label: Creator
|
||||
description: A tool to generate metadata for asset publishing.
|
||||
---
|
||||
|
||||
# Creator
|
||||
|
||||
## Details
|
||||
|
||||
Despite the name, Creator isn't for making new content in your scene, but rather taking what's already in it and creating all the metadata your content needs to be published.
|
||||
|
||||
In Maya this means creating a set with everything you want to publish and assigning custom attributes to it so it gets picked up during publishing stage.
|
||||
|
||||
In Nuke it's either converting an existing write node to a publishable one, or simply creating a write node with all the correct settings and outputs already set.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Select what you want to publish from your scenes.
|
||||
2. Open *Creator* from OpenPype menu.
|
||||
3. Choose what family (data type) you need to export.
|
||||
4. Type the name for you export. This name is how others are going to be able to refer to this particular subset when loading it into their scenes. Every assets should have a Main subset, but can have any number of other variants.
|
||||
5. Click on *Create*.
|
||||
|
||||
129
website/docs/artist_tools_inventory.md
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
---
|
||||
id: artist_tools_inventory
|
||||
title: Inventory
|
||||
sidebar_label: Inventory
|
||||
description: Manage already loaded subsets.
|
||||
---
|
||||
|
||||
# Inventory
|
||||
|
||||
With Scene Inventory, you can browse, update and change subsets loaded with [Loader](artist_tools_loader) into your scene or script.
|
||||
|
||||
:::note
|
||||
You should first understand [Key concepts](artist_concepts) to understand how you can use this tool.
|
||||
:::
|
||||
|
||||
## Details
|
||||
<!-- This part may be in Maya description? -->
|
||||
|
||||
Once a subset is loaded, it turns into a container within a scene. This containerization allows us to have a good overview of everything in the scene, but also makes it possible to change versions, notify user if something is outdated, replace one asset for another, etc.
|
||||
<!-- END HERE -->
|
||||
|
||||
The scene manager has a simple GUI focused on efficiency. You can see everything that has been previously loaded into the scene, how many time it's been loaded, what version and a lot of other information. Loaded assets are grouped by their asset name, subset name and representation. This grouping gives ability to apply changes for all instances of the loaded asset *(e.g. when __tree__ is loaded 20 times you can easily update version for all of them)*.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
To interact with any container, you need to right click it and you'll see a drop down with possible actions. The key actions for production are already implemented, but more will be added over time.
|
||||
|
||||

|
||||
|
||||
## Usage
|
||||
|
||||
### Change version
|
||||
You can change versions of loaded subsets with scene inventory tool. Version of loaded assets is colored to red when newer version is available.
|
||||
|
||||
|
||||

|
||||
|
||||
#### Update to the latest version
|
||||
Select containers or subsets you want to update, right-click selection and press `Update to latest`.
|
||||
|
||||
#### Change to specific version
|
||||
Select containers or subsets you want to change, right-click selection, press `Set version`, select from dropdown version you want change to and press `OK` button to confirm.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
### Switch Asset
|
||||
It's tool in Scene inventory tool that gives ability to switch asset, subset and representation of loaded assets.
|
||||
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
|
||||
Because loaded asset is in fact representation of version published in asset's subset it is possible to switch each of this part *(representation, version, subset and asset)*, but with limitations. Limitations are obvious as you can imagine when you have loaded `.ma` representation of `modelMain` subset from `car` asset it is not possible to switch subset to `modelHD` and keep same representation if `modelHD` does not have published `.ma` representation. It is possible to switch multiple loaded assets at once that makes this tool very powerful helper if all published assets contain same subsets and representations.
|
||||
|
||||
Switch tool won't let you cross the border of limitations and inform you when you have to specify more if impossible combination occurs *(It is also possible that there will be no possible combination for selected assets)*. Border is colored to red and confirm button is not enabled when specification is required.
|
||||
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
|
||||
Possible switches:
|
||||
- switch **representation** (`.ma` to `.abc`, `.exr` to `.dpx`, etc.)
|
||||
- switch **subset** (`modelMain` to `modelHD`, etc.)
|
||||
- `AND` keep same **representation** *(with limitations)*
|
||||
- `AND` switch **representation** *(with limitations)*
|
||||
- switch **asset** (`oak` to `elm`, etc.)
|
||||
- `AND` keep same **subset** and **representation** *(with limitations)*
|
||||
- `AND` keep same **subset** and switch **representation** *(with limitations)*
|
||||
- `AND` switch **subset** and keep same **representation** *(with limitations)*
|
||||
- `AND` switch **subset** and **representation** *(with limitations)*
|
||||
|
||||
We added one more switch layer above subset for LOD (Level Of Depth). That requires to have published subsets with name ending with **"_LOD{number}"** where number represents level (e.g. modelMain_LOD1). Has the same limitations as mentioned above. This is handy when you want to change only subset but keep same LOD or keep same subset but change LOD for multiple assets. This option is hidden if you didn't select subset that have published subset with LODs.
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
## Filtering
|
||||
|
||||
### Filter by name
|
||||
|
||||
There is a search bar on the top for cases when you have a complex scene with many assets and need to find a specific one.
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
### Filter with Cherry-pick selection
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
To keep only selected subsets right-click selection and press `Cherry-Pick (Hierarchy)` *(Border of subset list change to **orange** color when Cherry-pick filtering is set so you know filter is applied).*
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
To return to original state right-click anywhere in subsets list and press `Back to Full-View`.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
:::tip
|
||||
You can Cherry-pick from Cherry-picked subsets.
|
||||
:::
|
||||
42
website/docs/artist_tools_library_loader.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
id: artist_tools_library_loader
|
||||
title: Library Loader
|
||||
sidebar_label: Library Loader
|
||||
description: Allows loading published subsets from projects of type "Library".
|
||||
---
|
||||
|
||||
# Library Loader
|
||||
|
||||
Library loader is extended [loader](artist_tools_loader) which allows to load published subsets from Library projects. Controls are same but library loader has extra Combo Box which allows you to choose project you want to load from.
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Delivery Action
|
||||
|
||||
Library Loader contains functionality to export any selected asset, subsets and their version to configurable folder.
|
||||
Delivery follows structure based on defined template, this template must be configured first by Admin in the Settings.
|
||||
|
||||

|
||||
|
||||
* Usage
|
||||
- Select all required subsets for export (you can change theirs versions by double clicking on 'Version' value)
|
||||
- Right click and select **Deliver Versions** from context menu
|
||||
- Select predefined Delivery template (must be configured by Admin system or project wide)
|
||||
- Fill value for root folder (folder will be created if it doesn't exist)
|
||||
- Filter out type of representation you are not interested in
|
||||
- Push **Deliver** button
|
||||
- Dialog must be kept open until export is finished
|
||||
- In a case of problems with any of the representation, that one will be skipped, description of error will be provided in the dialog
|
||||
|
||||
|
||||
121
website/docs/artist_tools_loader.md
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
---
|
||||
id: artist_tools_loader
|
||||
title: Loader
|
||||
sidebar_label: Loader
|
||||
description: Allows loading published subsets from the same project.
|
||||
---
|
||||
|
||||
# Loader
|
||||
Loader loads published subsets into your current scene or script.
|
||||
|
||||
## Usage
|
||||
1. Open *Loader* from OpenPype menu.
|
||||
2. Select the asset where the subset you want to load is published.
|
||||
3. From subset list select the subset you want.
|
||||
4. Right-click the subset.
|
||||
5. From action menu select what you want to do *(load, reference, ...)*.
|
||||
|
||||
|
||||
 <!-- picture needs to be changed -->
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
## Refresh data
|
||||
Data are not auto-refreshed to avoid database issues. To refresh assets or subsets press refresh button.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
## Load another version
|
||||
Loader by default load last version, but you can of course load another versions. Double-click on the subset in the version column to expose the drop down, choose version you want to load and continue from point 4 of the [Usage](#usage-1).
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
## Filtering
|
||||
|
||||
### Filter Assets and Subsets by name
|
||||
To filter assets/subsets by name just type name or part of name to filter text input. Only assets/subsets containing the entered string remain.
|
||||
|
||||
- **Assets filtering example** *(it works the same for subsets)*:
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
### Filter Subsets by Family
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
To filter [subsets](artist_concepts.md#subset) by their [families](artist_publish.md#families) you can use families list where you can check families you want to see or uncheck families you are not interested in.
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
## Subset groups
|
||||
Subsets may be grouped which can help to make the subset list more transparent. You can toggle visibility of groups with `Enable Grouping` checkbox.
|
||||
|
||||

|
||||
|
||||
|
||||
### Add to group or change current group
|
||||
You can set group of selected subsets with shortcut `Ctrl + G`.
|
||||
|
||||

|
||||
|
||||
|
||||
:::warning
|
||||
You'll set the group in Avalon database so your changes will take effect for all users.
|
||||
:::
|
||||
|
||||
## Site Sync support
|
||||
|
||||
If **Site Sync** is enabled additional widget is shown in right bottom corner.
|
||||
It contains list of all representations of selected version(s). It also shows availability of representation files
|
||||
on particular site (*active* - mine, *remote* - theirs).
|
||||
|
||||

|
||||
|
||||
On this picture you see that representation files are available only on remote site (could be GDrive or other).
|
||||
If artist wants to work with the file(s) they need to be downloaded first. That could be done by right mouse click on
|
||||
particular representation (or multiselect all) and select *Download*.
|
||||
|
||||
This will mark representation to be download which will happen in the background if OpenPype Tray is running.
|
||||
|
||||
For more details of progress, state or possible error details artist should open **[Sync Queue](#Sync-Queue)** item in Tray app.
|
||||
|
||||
Work in progress...
|
||||
|
||||
26
website/docs/artist_tools_look_assigner.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
id: artist_tools_look_assigner
|
||||
title: Look Assigner
|
||||
sidebar_label: Look Assigner
|
||||
description: Manage published looks to their respective model(s).
|
||||
---
|
||||
|
||||
# Look Assigner
|
||||
|
||||
The Look Manager takes care of assigning published looks to the correct model in the scene.
|
||||
|
||||
## Details
|
||||
|
||||
When a look is published it also stores the information about what shading networks need to be assigned to which models, but it also stores all the render attributes on the mesh necessary for a successful render.
|
||||
|
||||
## Usage
|
||||
|
||||
Look Assigner has GUI is made of two parts. On the left you will see the list of all the available models in the scene and on the right side, all the looks that can be associate with them. To assign a look to a model you just need to:
|
||||
|
||||
1. Click on "load all subsets".
|
||||
2. Choose a subset from the menu on the left.
|
||||
3. Right click on a look from the list on the right.
|
||||
4. Choose "Assign".
|
||||
|
||||
At this point you should have a model with all it's shaders applied correctly. The tool automatically loads the latest look available.
|
||||
|
||||
38
website/docs/artist_tools_publisher.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
id: artist_tools_publisher
|
||||
title: Publisher
|
||||
sidebar_label: Publisher
|
||||
description: Publish versioned work progress into the project.
|
||||
---
|
||||
|
||||
# Publisher
|
||||
|
||||
Use publish to share your work with others. It collects, validates and exports the data in standardized way.
|
||||
|
||||
## Details
|
||||
|
||||
When you run pyblish, the UI is made of 2 main parts. On the left, you see all the items pyblish will be working with (called instances), and on the right a list of actions that are going to process these items.
|
||||
Even though every task type has some pre-defined settings of what should be collected from the scene and what items will be published by default. You can technically publish any output type from any task type.
|
||||
Each item is passed through multiple plugins, each doing a small piece of work. These are organized into 4 areas and run in sequence.
|
||||
|
||||
## Using Pyblish
|
||||
|
||||
In the best case scenario, you open pyblish from the Avalon menu, press play, wait for it to finish, and you’re done.
|
||||
These are the steps in detail, for cases, where the default settings don’t work for you or you know that the task you’re working on, requires a different treatment.
|
||||
|
||||
### Collect
|
||||
|
||||
Finds all the important data in the scene and makes it ready for publishing
|
||||
|
||||
### Validate
|
||||
|
||||
Each validator makes sure your output complies to one particular condition. This could be anything from naming conventions, scene setting, to plugin usage. An item can only be published if all validators pass.
|
||||
|
||||
### Extract
|
||||
|
||||
Extractor takes the item and saves it to the disk. Usually to temporary location. Each extractor represents one file format and there can be multiple file formats exported for each item.
|
||||
|
||||
### Integrate
|
||||
|
||||
Integrator takes the extracted files, categorizes and moves them to a correct location on the disk or on the server.
|
||||
|
||||
38
website/docs/artist_tools_subset_manager.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
id: artist_tools_subset_manager
|
||||
title: Subset Manager
|
||||
sidebar_label: Subset Manager
|
||||
description: Manage all the publish-able elements.
|
||||
---
|
||||
|
||||
# Subset Manager
|
||||
|
||||
Subset Manager lists all items which are meant for publishig and will be published if Publish is triggered
|
||||
|
||||
## Details
|
||||
|
||||
One or more items (instances) could be published any time Publish process is started. Each this publishable
|
||||
item must be created by Creator tool previously. Subset Manager provides easy way how to check which items,
|
||||
and how many, will be published.
|
||||
|
||||
It also provides clean and preferable way how to remove unwanted item from publishing.
|
||||
|
||||
## Usage
|
||||
|
||||
Subset Manager has GUI is made of two parts. On the left you will see the list of all the available publishable items in the scene and on the right side, details about these items.
|
||||
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
</div>
|
||||
|
||||
Any time new item is Created, it will show up here.
|
||||
|
||||
Currently there is only single action, 'Remove instance' which cleans workfile file from publishable item metadata.
|
||||
This might not remove underlying host item, it depends on host and implementation!
|
||||
|
||||
It might also happen that user deletes underlying host item(for example layer in Photoshop) directly in the host, but metadata will stay.
|
||||
This could result in phantom issues during publishing. Use Subset Manager to purge workfile from abandoned items.
|
||||
|
||||
Please check behaviour in host of your choice.
|
||||
|
||||
46
website/docs/artist_tools_sync_queu.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
id: artist_tools_sync_queue
|
||||
title: Sync Queue
|
||||
sidebar_label: Sync Queue
|
||||
description: Track sites syncronization progress.
|
||||
---
|
||||
|
||||
# Sync Queue
|
||||
|
||||
## Details
|
||||
|
||||
If **Site Sync** is configured for a project, each asset is marked to be synchronized to a remote site during publishing.
|
||||
Each artist's OpenPype Tray application handles synchronization in background, it looks for all representation which
|
||||
are marked with the site of the user (unique site name per artist) and remote site.
|
||||
|
||||
Artists then can see progress of synchronization via **Sync Queue** link in the Tray application.
|
||||
|
||||
Artists can see all synced representation in this dialog with helpful information such as when representation was created, when it was synched,
|
||||
status of synchronization (OK or Fail) etc.
|
||||
|
||||
## Usage
|
||||
|
||||
With this app artists can modify synchronized representation, for example mark failed representation for re-sync etc.
|
||||
|
||||

|
||||
|
||||
Actions accessible by context menu on single (or multiple representations):
|
||||
- *Open in Explorer* - if site is locally accessible, open folder with it with OS based explorer
|
||||
- *Re-sync Active Site* - mark artist own side for re-download (repre must be accessible on remote side)
|
||||
- *Re-sync Remote Site* - mark representation for re-upload
|
||||
- *Completely remove from local* - removes tag of synchronization to artist's local site, removes files from disk (available only for personal sites)
|
||||
- *Change priority* - mark representations with higher priority for faster synchronization run
|
||||
|
||||
Double click on any of the representation open Detail dialog with information about all files for particular representation.
|
||||
In this dialog error details could be accessed in the context menu.
|
||||
|
||||
#### Context menu on project name
|
||||
Artists can also Pause whole server or specific project for synchronization. In that state no download/upload is being run.
|
||||
This might be helpful if the artist is not interested in a particular project for a while or wants to save bandwidth data limit for a bit.
|
||||
|
||||
Another option is `Validate files on active site`. This option triggers process where all representation of the selected project are looped through, file paths are resolved for active site and
|
||||
if paths point to local system, paths are physically checked if files are existing. If file exists and representation is not marked to be present on 'active_site' in DB, DB is updated
|
||||
to follow that.
|
||||
|
||||
This might be useful if artist has representation files that Site Sync doesn't know about (newly attached external drive with representations from studio).
|
||||
This project might take a while!
|
||||
49
website/docs/artist_tools_workfiles.md
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
id: artist_tools_workfiles
|
||||
title: Workfiles
|
||||
sidebar_label: Workfiles
|
||||
description: Save versioned progress files.
|
||||
---
|
||||
|
||||
# Workfiles
|
||||
|
||||
Save new working scenes or scripts, or open the ones you previously worked on.
|
||||
|
||||
## Details
|
||||
|
||||
Instead of digging through your software native file browser, you can simply open the workfiles app and see all the files for the asset or shot you're currently working with. The app takes care of all the naming and the location of your work files.
|
||||
|
||||
When saving a scene you can also add a comment. It is completely up to you how you use this, however we recommend using it for subversion within your current working version.
|
||||
|
||||
Let's say that the last version of the comp you published was v003 and now you're working on the file prj_sh010_compositing_v004.nk if you want to keep snapshots of your work, but not iterate on the main version because the supervisor is expecting next publish to be v004, you can use the comment to do this, so you can save the file under the name prj_sh010_compositing_v004_001 , prj_sh010_compositing_v004_002. the main version is automatically iterated every time you publish something.
|
||||
|
||||
## Usage
|
||||
|
||||
<div class="row markdown">
|
||||
<div class="col col--6 markdown">
|
||||
|
||||
### To open existing file:
|
||||
|
||||
1. Open Workfiles tool from OpenPype menu
|
||||
2. Select file from list - the latest version is the highest *(descendent ordering)*
|
||||
3. Press `Open` button
|
||||
|
||||
</div>
|
||||
<div class="col col--6 markdown">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
### To save new workfile
|
||||
1. Open Workfiles tool from OpenPype menu
|
||||
2. Press `Save As` button
|
||||
3. You can add optional comment to the filename, that will be appended at the end
|
||||
4. Press `OK`
|
||||
|
||||
:::note
|
||||
You can manually override the workfile version by unticking next available version and using the version menu to choose your own.
|
||||
:::
|
||||
|
||||
BIN
website/docs/assets/aftereffects_publish_failed.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
website/docs/assets/aftereffects_publish_instance.png
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
website/docs/assets/aftereffects_render_instance.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 937 KiB After Width: | Height: | Size: 937 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
BIN
website/docs/assets/photoshop_extension.png
Normal file
|
After Width: | Height: | Size: 8 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
BIN
website/docs/assets/photoshop_publish.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
website/docs/assets/photoshop_publish_failed.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
website/docs/assets/photoshop_publish_images.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
website/docs/assets/photoshop_publish_validations.png
Normal file
|
After Width: | Height: | Size: 305 KiB |
|
|
@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem';
|
|||
|
||||
To build Pype you currently need (on all platforms):
|
||||
|
||||
- **[Python 3.7](https://www.python.org/downloads/)** as we are following [vfx platform](https://vfxplatform.com).
|
||||
- **[Python 3.9](https://www.python.org/downloads/)** as we are following [vfx platform CY2022](https://vfxplatform.com).
|
||||
- **[git](https://git-scm.com/downloads)**
|
||||
|
||||
We use [CX_Freeze](https://cx-freeze.readthedocs.io/en/latest) to freeze the code and all dependencies and
|
||||
|
|
@ -116,8 +116,8 @@ To build OpenPype on Linux you will need:
|
|||
- **[curl](https://curl.se)** on systems that doesn't have one preinstalled.
|
||||
- **bzip2**, **readline**, **sqlite3** and other libraries.
|
||||
|
||||
Because some Linux distros come with newer Python version pre-installed, you might
|
||||
need to install **3.7** version and make use of it explicitly.
|
||||
Because some Linux distros come with older Python version pre-installed, you might
|
||||
need to install **3.9** version and make use of it explicitly.
|
||||
Your best bet is probably using [pyenv](https://github.com/pyenv/pyenv).
|
||||
|
||||
You can use your package manager to install **git** and other packages to your build
|
||||
|
|
@ -138,16 +138,16 @@ $ eval "$(pyenv virtualenv-init -)"
|
|||
# reload shell
|
||||
$ exec $SHELL
|
||||
|
||||
# install Python 3.7.10
|
||||
# install Python 3.9.6
|
||||
# python will be downloaded and build so please make sure
|
||||
# you have all necessary requirements installed (see below).
|
||||
$ pyenv install -v 3.7.10
|
||||
$ pyenv install -v 3.9.6
|
||||
|
||||
# change path to pype 3
|
||||
$ cd /path/to/pype-3
|
||||
|
||||
# set local python version
|
||||
$ pyenv local 3.7.10
|
||||
$ pyenv local 3.9.6
|
||||
```
|
||||
:::note Install build requirements for **Ubuntu**
|
||||
|
||||
|
|
@ -222,19 +222,19 @@ $ exec "$SHELL"
|
|||
$ PATH=$(pyenv root)/shims:$PATH
|
||||
```
|
||||
|
||||
4) Pull in required Python version 3.7.x
|
||||
4) Pull in required Python version 3.9.x
|
||||
```shell
|
||||
# install Python build dependences
|
||||
$ brew install openssl readline sqlite3 xz zlib
|
||||
|
||||
# replace with up-to-date 3.7.x version
|
||||
$ pyenv install 3.7.9
|
||||
# replace with up-to-date 3.9.x version
|
||||
$ pyenv install 3.9.6
|
||||
```
|
||||
|
||||
5) Set local Python version
|
||||
```shell
|
||||
# switch to Pype source directory
|
||||
$ pyenv local 3.7.9
|
||||
$ pyenv local 3.9.6
|
||||
```
|
||||
|
||||
6) Install `create-dmg`
|
||||
|
|
@ -258,7 +258,7 @@ to `pyproject.toml` to `[tool.poetry.dependencies]` section.
|
|||
|
||||
```toml title="/pyproject.toml"
|
||||
[tool.poetry.dependencies]
|
||||
python = "3.7.*"
|
||||
python = "3.9.*"
|
||||
aiohttp = "^3.7"
|
||||
aiohttp_json_rpc = "*" # TVPaint server
|
||||
acre = { git = "https://github.com/pypeclub/acre.git" }
|
||||
|
|
|
|||
120
website/docs/dev_colorspace.md
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
---
|
||||
id: dev_colorspace
|
||||
title: Colorspace Management and Distribution
|
||||
sidebar_label: Colorspace
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## Introduction
|
||||
Defines the distribution of colors and OCIO config during publishing. Once colorspace data are captured and integrated into representation loaders could use them for loading image and video data with correct colorspace.
|
||||
|
||||
:::warning Color Management (ImageIO)
|
||||
Adding the `imagio` settings schema is required for any host or module which is processing pixel data.
|
||||
:::
|
||||
|
||||
## Data model
|
||||
Published representations that are extracted with color managed data store a **colorspaceData** entry in its data: `representation_doc["data"]["colorspaceData"]`.
|
||||
|
||||
It's up to the Host implementation to pre-configure the application or workfile to have the correct OCIO config applied.
|
||||
It's up to the Extractors to set these values for the representation during publishing.
|
||||
It's up to the Loaders to read these values and apply the correct expected color space.
|
||||
|
||||
### Keys
|
||||
- **colorspace** - string value used in other publish plugins and loaders
|
||||
- **config** - storing two versions of path.
|
||||
- **path** - is formated and with baked platform root. It is used for posible need to find out where we were sourcing color config during publishing.
|
||||
- **template** - unformated tempate resolved from settings. It is used for other plugins targeted to remote publish which could be processed at different platform.
|
||||
|
||||
### Example
|
||||
{
|
||||
"colorspace": "linear",
|
||||
"config": {
|
||||
"path": "/abs/path/to/config.ocio",
|
||||
"template": "{project[root]}/path/to/config.ocio"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## How to integrate it into a host
|
||||
1. The settings for a host should add the `imagio` schema. Ideally near the top of all categories in its `/settings/entities/schemas/system_scheams/host_settings/schema_{host}.json` so it matches the settings layout other hosts.
|
||||
```json
|
||||
{
|
||||
"key": "imageio",
|
||||
"type": "dict",
|
||||
"label": "Color Management (ImageIO)",
|
||||
"is_group": true,
|
||||
"children": [
|
||||
{
|
||||
"type": "schema",
|
||||
"name": "schema_imageio_config"
|
||||
},
|
||||
{
|
||||
"type": "schema",
|
||||
"name": "schema_imageio_file_rules"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
2. Set the OCIO config path for the host to the path returned from `openpype.pipeline.colorspace.get_imageio_config`, for example:
|
||||
- set the `OCIO` environment variable before launching the host via a prelaunch hook
|
||||
- or (if the host allows) to set the workfile OCIO config path using the host's API
|
||||
|
||||
3. Each Extractor exporting pixel data (e.g. image or video) has to use parent class `openpype.pipeline.publish.publish_plugins.ExtractorColormanaged` and use `self.set_representation_colorspace` on the representations to be integrated.
|
||||
|
||||
The **set_representation_colorspace** method adds `colorspaceData` to the representation. If the `colorspace` passed is not `None` then it is added directly to the representation with resolved config path otherwise a color space is assumed using the configured file rules. If no file rule matches the `colorspaceData` is **not** added to the representation.
|
||||
|
||||
An example implementation can be found here: `openpype\hosts\nuke\plugins\publish\extract_render_local.py`
|
||||
|
||||
|
||||
4. The Loader plug-ins should take into account the `colorspaceData` in the published representation's data to allow the DCC to read in the expected color space.
|
||||
```python
|
||||
from openpype.pipeline.colorspace import (
|
||||
get_imageio_colorspace_from_filepath,
|
||||
get_imageio_config,
|
||||
get_imageio_file_rules
|
||||
)
|
||||
|
||||
class YourLoader(api.Loader):
|
||||
def load(self, context, name=None, namespace=None, options=None):
|
||||
path = self.fname
|
||||
colorspace_data = context["representation"]["data"].get("colorspaceData", {})
|
||||
colorspace = (
|
||||
colorspace_data.get("colorspace")
|
||||
# try to match colorspace from file rules
|
||||
or self.get_colorspace_from_file_rules(path, context)
|
||||
)
|
||||
|
||||
# pseudocode
|
||||
load_file(path, colorspace=colorspace)
|
||||
|
||||
def get_colorspace_from_file_rules(self, path, context)
|
||||
project_name = context.data["projectName"]
|
||||
host_name = context.data["hostName"]
|
||||
anatomy_data = context.data["anatomyData"]
|
||||
project_settings_ = context.data["project_settings"]
|
||||
|
||||
config_data = get_imageio_config(
|
||||
project_name, host_name,
|
||||
project_settings=project_settings_,
|
||||
anatomy_data=anatomy_data
|
||||
)
|
||||
file_rules = get_imageio_file_rules(
|
||||
project_name, host_name,
|
||||
project_settings=project_settings_
|
||||
)
|
||||
# get matching colorspace from rules
|
||||
colorspace = get_imageio_colorspace_from_filepath(
|
||||
path, host_name, project_name,
|
||||
config_data=config_data,
|
||||
file_rules=file_rules,
|
||||
project_settings=project_settings
|
||||
)
|
||||
```
|
||||
|
||||
:::warning Loading
|
||||
A custom OCIO config can be set per asset/shot and thus it can happen the current session you are loading into uses a different config than the original context's **colorspaceData** was published with. It's up the loader's implementation to take that into account and decide what to do if the colorspace differs and or might not exist.
|
||||
:::
|
||||
|
|
@ -14,7 +14,7 @@ The main things you will need to run and build pype are:
|
|||
- **Terminal** in your OS
|
||||
- PowerShell 5.0+ (Windows)
|
||||
- Bash (Linux)
|
||||
- [**Python 3.7.9**](#python) or higher
|
||||
- [**Python 3.9.x**](#python)
|
||||
- [**MongoDB**](#database)
|
||||
|
||||
|
||||
|
|
@ -55,13 +55,14 @@ To run mongoDB on server, use your server distribution tools to set it up (on Li
|
|||
|
||||
## Python
|
||||
|
||||
**Python 3.7.9** is the recommended version to use (as per [VFX platform CY2021](https://vfxplatform.com/)).
|
||||
**Python 3.9.x** is the recommended version to use (as per [VFX platform CY2022](https://vfxplatform.com/)).
|
||||
**Note**: We do not support 3.9.0 because of [this bug](https://github.com/python/cpython/pull/22670). Please, use higher versions of 3.9.x.
|
||||
|
||||
If you're planning to run openPYPE on workstations from built executables (highly recommended), you will only need python for building and development, however, if you'd like to run from source centrally, every user will need python installed.
|
||||
If you're planning to run openPYPE on workstations from built executables (highly recommended), you will only need python for building and development, however, if you'd like to run from source centrally, every user will need python installed.
|
||||
|
||||
## Hardware
|
||||
|
||||
openPYPE should be installed on all workstations that need to use it, the same as any other application.
|
||||
openPYPE should be installed on all workstations that need to use it, the same as any other application.
|
||||
|
||||
There are no specific requirements for the hardware. If the workstation can run
|
||||
the major DCCs, it most probably can run openPYPE.
|
||||
|
|
|
|||
|
|
@ -14,6 +14,11 @@ But many tests should yet be created!
|
|||
- installed DCC you want to test
|
||||
- `mongorestore` on a PATH
|
||||
|
||||
You could check that `mongorestore` is available by running this in console (or cmd), it shouldn't fail and you should see version of utility:
|
||||
```commandline
|
||||
mongorestore --version
|
||||
```
|
||||
|
||||
If you would like just to experiment with provided integration tests, and have particular DCC installed on your machine, you could run test for this host by:
|
||||
|
||||
- From source:
|
||||
|
|
@ -23,7 +28,7 @@ If you would like just to experiment with provided integration tests, and have p
|
|||
```
|
||||
- From build:
|
||||
```
|
||||
- ${OPENPYPE_BUILD}/openpype_console run {ABSOLUTE_PATH_OPENPYPE_ROOT}/tests/integration/hosts/nuke`
|
||||
- ${OPENPYPE_BUILD}/openpype_console runtests {ABSOLUTE_PATH_OPENPYPE_ROOT}/tests/integration/hosts/nuke`
|
||||
```
|
||||
Modify tests path argument to limit which tests should be run (`../tests/integration` will run all implemented integration tests).
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,39 @@ Project settings can have project specific values. Each new project is using stu
|
|||
Projects always use default project values unless they have [project override](../admin_settings#project-overrides) (orage colour). Any changes in default project may affect all existing projects.
|
||||
:::
|
||||
|
||||
## Color Management (ImageIO)
|
||||
|
||||
:::info Default OCIO config
|
||||
OpenPype distributes its own OCIO configs. Those can be found in `{openpype install dir}/{version}/vendor/bin/ocioconfig/OpenColorIOConfigs`. Windows example: `C:\Program Files (x86)\OpenPype\3.14.0\vendor\bin\ocioconfig\OpenColorIOConfigs`
|
||||
:::
|
||||
|
||||
### Using OCIO config
|
||||
Global config path is set by default to OpenPype distributed configs. At the moment there are only two - **aces_1.2** and **nuke-default**. Since this path input is not platform specific it is required to use at least an environment variable do platform specific config root directory. Order of paths matter so first path found and existing first served.
|
||||
|
||||
Each OCIO config path input supports formatting using environment variables and [anatomy template keys](../admin_settings_project_anatomy#available-template-keys). The default global OCIO config path is `{OPENPYPE_ROOT}/vendor/bin/ocioconfig/OpenColorIOConfigs/aces_1.2/config.ocio`.
|
||||
|
||||
If the project settings for a particular host has its own OCIO config **enabled** and set to at least one path and the path exists, it overrides the global OCIO config for that host.
|
||||
|
||||
**For example**
|
||||
|
||||
Project nuke-specific OCIO config: `project_settings/nuke/imageio/ocio_config`
|
||||
|
||||
If config path is defined to particular shot target with following path inputs:
|
||||
1. `{root[work]}/{project[name]}/{hierarchy}/{asset}/config/aces.ocio`
|
||||
2. `{root[work]}/{project[name]}/{hierarchy}/config/aces.ocio`
|
||||
|
||||
Procedure of resolving path (from above example) will look first into path 1st and if the path is not existing then it will try 2nd and if even that is not existing then it will fall back to global default.
|
||||
|
||||
### Using File rules
|
||||
File rules are inspired by [OCIO v2 configuration]((https://opencolorio.readthedocs.io/en/latest/guides/authoring/rules.html)). Each rule has a unique name which can be overridden by host-specific _File rules_ (example: `project_settings/nuke/imageio/file_rules/rules`).
|
||||
|
||||
The _input pattern_ matching uses REGEX expression syntax (try [regexr.com](https://regexr.com/)). Matching rules procedure's intention is to be used during publishing or loading of representation. Since the publishing procedure is run before integrator formate publish template path, make sure the pattern is working or any work render path.
|
||||
|
||||
:::warning Colorspace name input
|
||||
The **colorspace name** value is a raw string input and no validation is run after saving project settings. We recommend to open the specified `config.ocio` file and copy pasting the exact colorspace names.
|
||||
:::
|
||||
|
||||
|
||||
## Profile filters
|
||||
|
||||
Many of the settings are using a concept of **Profile filters**
|
||||
|
|
@ -162,7 +195,7 @@ Applicable context filters:
|
|||
|
||||
#### Subset grouping profiles
|
||||
|
||||
Published subsets might be grouped together for cleaner and easier selection in **[Loader](artist_tools.md#subset-groups)**
|
||||
Published subsets might be grouped together for cleaner and easier selection in the **[Subset Manager](artist_tools_subset_manager)**
|
||||
|
||||
Group name is chosen with use of [profile filtering](#profile-filters)
|
||||
|
||||
|
|
@ -179,7 +212,7 @@ Applicable context filters:
|
|||
Settings for OpenPype tools.
|
||||
|
||||
## Creator
|
||||
Settings related to [Creator tool](artist_tools.md#details).
|
||||
Settings related to [Creator tool](artist_tools_creator).
|
||||
|
||||
### Subset name profiles
|
||||

|
||||
|
|
@ -217,4 +250,4 @@ All settings related to Workfile tool.
|
|||
### Open last workfile at launch
|
||||
This feature allows you to define a rule for each task/host or toggle the feature globally to all tasks as they are visible in the picture.
|
||||
|
||||

|
||||

|
||||
|
|
|
|||
|
|
@ -8,7 +8,24 @@ module.exports = {
|
|||
"artist_getting_started",
|
||||
"artist_concepts",
|
||||
"artist_publish",
|
||||
"artist_tools",
|
||||
{
|
||||
type: "category",
|
||||
collapsed: true,
|
||||
label: "Tools",
|
||||
link: {type: 'doc', id: 'artist_tools'},
|
||||
items: [
|
||||
"artist_tools_context_manager",
|
||||
"artist_tools_creator",
|
||||
"artist_tools_loader",
|
||||
"artist_tools_library_loader",
|
||||
"artist_tools_publisher",
|
||||
"artist_tools_inventory",
|
||||
"artist_tools_workfiles",
|
||||
"artist_tools_look_assigner",
|
||||
"artist_tools_subset_manager",
|
||||
"artist_tools_sync_queue"
|
||||
],
|
||||
},
|
||||
"artist_install"
|
||||
],
|
||||
},
|
||||
|
|
@ -158,6 +175,7 @@ module.exports = {
|
|||
"dev_publishing"
|
||||
]
|
||||
},
|
||||
"dev_deadline"
|
||||
"dev_deadline",
|
||||
"dev_colorspace"
|
||||
]
|
||||
};
|
||||
|
|
|
|||
|
|
@ -15,32 +15,32 @@ const key_features = [
|
|||
label: "Workfiles",
|
||||
description:
|
||||
"Save and load workfiles in progress. Change the context inside of the application.",
|
||||
docs: "/docs/artist_tools#workfiles",
|
||||
docs: "/docs/artist_tools_workfiles",
|
||||
},
|
||||
{
|
||||
label: "Creator",
|
||||
description:
|
||||
"Universal GUI for defining content for publishing from your DCC app.",
|
||||
docs: "/docs/artist_tools#creator",
|
||||
docs: "/docs/artist_tools_creator",
|
||||
},
|
||||
{
|
||||
label: "Loader",
|
||||
description:
|
||||
"Universal GUI for loading published assets into your DCC app.",
|
||||
docs: "/docs/artist_tools#loader",
|
||||
docs: "/docs/artist_tools_loader",
|
||||
},
|
||||
{
|
||||
label: "Publisher",
|
||||
description:
|
||||
"Universal GUI for validating and publishng content from your DCC app.",
|
||||
image: "",
|
||||
docs: "/docs/artist_tools#publisher",
|
||||
docs: "/docs/artist_tools_publisher",
|
||||
},
|
||||
{
|
||||
label: "Scene manager",
|
||||
description:
|
||||
"Universal GUI for managing versions of assets loaded into your working scene.",
|
||||
docs: "docs/artist_tools#inventory",
|
||||
docs: "docs/artist_tools_inventory",
|
||||
},
|
||||
{
|
||||
label: "Project manager",
|
||||
|
|
@ -52,7 +52,7 @@ const key_features = [
|
|||
label: "Library Loader",
|
||||
description:
|
||||
"A loader GUI that allows yo to load content from dedicated cross project asset library",
|
||||
docs: "docs/artist_tools#library-loader",
|
||||
docs: "docs/artist_tool_library_loader",
|
||||
image: "",
|
||||
},
|
||||
{
|
||||
|
|
|
|||