From 35194a6f495be318fcef1737cfb134d90056ad2a Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 5 May 2021 16:48:56 +0200 Subject: [PATCH] resolve: updating documentation --- website/docs/artist_hosts_resolve.md | 256 +++++++++++------- website/docs/assets/resolve_fusion_menu.png | Bin 0 -> 5829 bytes .../assets/resolve_fusion_script_settings.png | Bin 0 -> 20332 bytes website/docs/assets/resolve_fusion_tab.png | Bin 0 -> 6997 bytes 4 files changed, 157 insertions(+), 99 deletions(-) create mode 100644 website/docs/assets/resolve_fusion_menu.png create mode 100644 website/docs/assets/resolve_fusion_script_settings.png create mode 100644 website/docs/assets/resolve_fusion_tab.png diff --git a/website/docs/artist_hosts_resolve.md b/website/docs/artist_hosts_resolve.md index 015ed2d9c1..56136cfd01 100644 --- a/website/docs/artist_hosts_resolve.md +++ b/website/docs/artist_hosts_resolve.md @@ -23,123 +23,156 @@ Before you will be able to start with OpenPype tools in Blackmagic DaVinci Resol - [Publish](artist_tools.md#publisher) +
+ ## Creating Instances from timeline items + Before any clip can be published with [Publisher](artist_tools.md#publisher) timeline items has to be marked with OpenPype specific marker with metadata. This way it is converted to publishable instance. Lets do it step by step. -### Color clips before Create -Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for instance creation. - - -## Publishing Shots - +
-With OpenPype, you can use Hiero/NKS as a starting point for creating a project's **shots** as *assets* from timeline clips with its *hierarchycal parents* like **episodes**, **sequences**, **folders**, and its child **tasks**. Most importantly it will create **versions** of plate *subsets*, with or without **reference video**. Publishig is naturally creating clip's **thumbnails** and assigns it to shot *asset*. Hiero is also publishing **audio** *subset* and various **soft-effects** either as retiming component as part of published plates or **color-tranformations**, that will be evailable later on for compositor artists to use either as *viewport input-process* or *loaded nodes* in graph editor. +### Color clips before opening Create + + +Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for instance creation. + + +
+ +![Create menu](assets/resolve_select_clips_timeline_chocolate.png) + +
+
+ + +### Rename timeline track names + +
+ + +
+ +To be able to work with dynamic subset name, which is based on track names it is recomended to rename those tracks to some logical names. Recomended names are as such `main`, `review`, `fg01` or `fg02`, also `bg`; or with nubers like `bg01`, atc. So for example clip is on track **element** and subset family is set to **plate** then the resulting subset name will be **plateElement** + +

+
+ +
+ +![Create menu](assets/resolve_creator_subset_name.png) +So the resulting *subset* metadata in created **OpenPypeData** marker will by as such.



+
-### Preparing timeline for conversion to instances -Because we don't support on-fly data conversion so in case of working with raw camera sources or some other formats which need to be converted for 2D/3D work. We suggest to convert those before and reconform the timeline. Before any clips in timeline could be converted to publishable instances we recomend following. -1. Merge all tracks which supposed to be one and they are multipy only because of editor's style -2. Rename tracks to follow basic structure > if only one layer then `main` in case of multiple layer (elements) for one shot then `main`, and other elements for example: `bg`, `greenscreen`, `fg01`, `fg02`, `display01`, etc. please avoid using [-/_.,%&*] or spaces. These names will be later used in *subset* name creation as `{family}{trackName}` so for example **plateMain** or **plateFg01** -3. Define correct `Set Media Color Transform` at all clips as those will be also published to metadata and used for later loading with correct color transformation. -4. Reviewable video material which you wish to be used as preview videos on any supported Projec manager platform (Ftrack) has to be added ideally to track named **review**. This can be offline edit used as reference video for 2D/3D artists. This video material can be edited to fit length of **main** timeline track or it cand be one long video clip under all clips in **main** track, because OpenPype will trim this to appropriate length with use of FFMPEG. Please be avare we only support MP4(h264) or JPG sequence at the moment. +
+![Create menu](assets/resolve_remame_track_names.png) +Single track setup where we are using only `main` and `review` track names. + +
+
+ +![Create menu](assets/resolve_create_vertical_rename_timeline.png) +An example of used track names. The yellow frame is highlighting vertically alligned clips - which are going to be renamed and grouped togeter under one asset (shot) name, but the concept of vertical renaming will be explained later in [Vertical Synchronization of Subset Attributes](#vertical-synchronization-of-subset-attributes). + +
+
+ + +### Open Create ... + +
+
+ +After all clips which are inteded to be converted to publishable instances are colored to `Chockolate` color then open OpenPype menu. + +
+
+ +![Create menu](assets/resolve_menu_openpype.png) + +
+
+ +After the menu widget is opend (it can take while so be patient please :). + +Hit `Create ...` and then set **Use selection** to active and select the family to **Create Publishable Clips**. + +The Subset name could stay as it is - it is not going to be used. + +
+
+ +![Create menu](assets/resolve_create_clips.png) + +
+
+ +In the new window *OpenPype publish attributes creator* set Rename clips to active if you wish to use different names of assets (shots) in pipeline then the original clip names conformed from EDL/XML. + +The sequencial renaming attributes can be defined by **Count sequence from** for starting of sequencial numbering. Then **Stepping number** will define gaps in sequences. + +As you can see in *Shot Template Keywords* section in `{shot}` key the renaming shot template name can be defined here and number of hashes will effect padding of the number in sequence. + +
+
+ +![Create menu](assets/resolve_create_renaming_clips.png) + +
+
+ +Notice the relationship of following sections. Keys from **Shot Template Keywords** sections will be used for formating of template strings in **Shot Hierarchy And Rename Settings** section. + +**Shot parent hierarchy** will be forming parents of the asset (shot) *the hidden root for this is project folder*. So for example of this template we will get resulging string `shots/sq01` + +**Clip name template** in context of clip sitting on track name `main` in second position `mainsq01sh020`. This is due track key is hosting `{_track_}` which is inheriting name form timeline track name. Other allowed namespases are: +- `{_sequence_}`: timeline name +- `{_clip_}`: clip name +- `{_trackIndex_}`: position of track on timeline from bottom +- `{_clipIndex_}`: clip positon on timeline from left + +
+
+ +![Create menu](assets/resolve_create_template_filling.png) + +
+
+ +### Vertical synchronization of subset attributes + +
-![Create menu](assets/hiero_timelinePrep.png) +In case you are only working with two track on timeline setup with `main` track which is going to be used as plates for compositors or other and `review` for publishing h264 mp4 clips with offlines and web preview. The **Enable vertical sync** can be deactivated. -
+The multiple tracks scenario - as it had been mentioned [here](#rename-timeline-track-names) - is recomanded to activate **Enable vertical sync** and define the hero (driving) track to *main* - -### Converting timeline clips to instances - -Every clip on timeline which is inteded to be published has to be converted to publishable instance. - -
- -In OpenPype it is done by tagging a clip with our own metadata. Select all clips you wish to convert and `menu > OpenPype > Create`. -



- -
- -
- -![Create menu](assets/hiero_menuCreate.png) - -
- -
- -Then chose `Create Publishable Clip` in **Instance Creator** dialogue. -

- -Then you can alter Subset name, but this will be changed dynamically and replaces with timeline's track name. -

- -Keep **Use selection** on. -

- -Hit **Create**

-![Instance Creator](assets/hiero_instanceCreator.png) +![Create menu](assets/resolve_create_single_track_rename_hero_track.png)
-Dialogue `Pype publish attributes creator` will open. Here you can define instance properties. If you wish to rename clips dynamically during creation then Keep **Rename clips** ticked. -

- -In case you wish to use *multiple elements of shots* workflow then keep **Enamble vertical sync** ticked on and define correct hero track which is holding main plates, this is usually the **main** track. -
- -
- -![Create menu](assets/hiero_createUIRename.png) - -
-
- -Subset name is created dynamically if `` is selected on **Subset name**. -

- -I case you wish to publish reviewable video as explained above then find the appropriate track from drop down menu **Use review track**. Usually named `review` -

- -Hover above each input field for help. -

- -Handles can be defined here to. In case you wish to have individual clip set differently we recomend to set here the default value and later change those in the created OpenPype tag's metadata under `handleStart` and `handleEnd` properties (look bellow for details) -
- -
- -![Create menu](assets/hiero_createUIFrames.png) - -
-
- -After you hit **Ok** tags are added to selected clips (except clips in **review** tracks). -

- -If you wish to change any individual propertie of the shot then you are able to do it here. In this example we can change `handleStart` and `handleEnd` to some other values. -
- -
- -![Create menu](assets/hiero_tagHandles.png) +![Create menu](assets/resolve_create_vertical_rename_creator_ui.png)
+## Publishing Shots + + ## Installation of Python and PySide ### Installing Resolve's own python 3.6 interpreter. BMDVR uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. @@ -155,7 +188,7 @@ BMDVR uses a hardcoded method to look for the python executable path. All of tho -`{LOCALAPPDATA}/Programs/Python/Python36` +`%LOCALAPPDATA%\Programs\Python\Python36` @@ -171,12 +204,9 @@ BMDVR uses a hardcoded method to look for the python executable path. All of tho -### Installing PySide2 into python 3.6 for correct gui work: +### Installing PySide2 into python 3.6 for correct gui work -OpenPype is using own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). Follow this step-by-step: -open terminal > windows menu > type cmd -paste this to terminal > %LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 -after installation finished then all is done +OpenPype is using own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). -1. Open Windows menu and search for terminal: type cmd -2. then paste this to the terminal `%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2` +paste to any terminal of your choice + +```bash +%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 +``` -`/opt/Python/3.6/bin` +paste to any terminal of your choice + +```bash +/opt/Python/3.6/bin/python -m pip install PySide2 +``` -`~/Library/Python/3.6/bin` +paste to any terminal of your choice + +```bash +~/Library/Python/3.6/bin/python -m pip install PySide2 +``` -### Set Resolve's Fusion settings for Python 3.6 interpereter: -As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 \ No newline at end of file +
+ +### Set Resolve's Fusion settings for Python 3.6 interpereter + +
+ + +As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 + +
+ +
+ +![Create menu](assets/resolve_fusion_tab.png) +![Create menu](assets/resolve_fusion_menu.png) +![Create menu](assets/resolve_fusion_script_settings.png) + +
+
\ No newline at end of file diff --git a/website/docs/assets/resolve_fusion_menu.png b/website/docs/assets/resolve_fusion_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1939690cbfb3b188bdca9e971d521f77606574 GIT binary patch literal 5829 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_fusion_script_settings.png b/website/docs/assets/resolve_fusion_script_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6d903b3ef4cd4d31646b4f6914857ac1a0671f47 GIT binary patch literal 20332 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 literal 0 HcmV?d00001