From 62e1ef27109e56fc76fdf2fc0483663a267798cd Mon Sep 17 00:00:00 2001 From: Nick Alberelli Date: Tue, 16 Jan 2024 17:02:15 -0500 Subject: [PATCH 01/10] Add Windows Commands to TD Guide --- docs/td-guide/project-tools-setup.md | 114 +++++++++++++++++++-------- 1 file changed, 82 insertions(+), 32 deletions(-) diff --git a/docs/td-guide/project-tools-setup.md b/docs/td-guide/project-tools-setup.md index 43092ee3..91eb7e32 100644 --- a/docs/td-guide/project-tools-setup.md +++ b/docs/td-guide/project-tools-setup.md @@ -12,33 +12,53 @@ In this guide, you will learn how to setup the Blender Studio Pipeline, the back Running these scripts requires python 3.11+, please ensure python is installed on your system before running blender with the below instructions ::: +## Creating Root Folder +To make this guide simple, we will assume we are working within the system's **homefolder**. To create a new directory in your homefolder please follow the below steps. + +```bash +mkdir ~/data # Linux/Mac +``` +```bash +mkdir %HOMEPATH%\data # Windows +``` + ## Clone Repository -The Blender Studio Pipeline git repository contains many tools and resources used in deploying and managing a Blender Studio Pipeline. To start our pipeline we will need to clone this repository. +The Blender Studio Pipeline git repository contains many tools and resources used in deploying and managing a Blender Studio Pipeline. To start our pipeline we will need to clone this repository. To begin open a terminal/command prompt in your homefolder. ```bash -cd /data # This directory is the root storage that will contain all projects +# Windows & Linux/Mac +cd data # This directory is the root storage that will contain all projects git lfs install # Ensure git-lfs is installed git clone https://projects.blender.org/studio/blender-studio-pipeline.git ``` ## Generate Folder Structure -The first step in deploying the Blender Studio Pipeline is to create the correct folder structure. Many of the tools used in the Blender Studio require the following folder structure on each of your studio workstations. +The first step in deploying the Blender Studio Pipeline is to create the correct folder structure. Many of the tools used in the Blender Studio require the following folder structure on each of your studio workstations. The following commands should be executed from the `data` folder 1. Create project root directory ```bash -mkdir /data/your_project_name +mkdir ~/data/your_project_name # Linux/Mac +``` +```bash +mkdir %HOMEPATH%\data\your_project_name # Windows ``` 2. Navigate to the project-tools folder ```bash -cd /data/blender-studio-pipeline/scripts/project-tools +cd ~/data/blender-studio-pipeline/scripts/project-tools # Linux/Mac +``` +```bash +cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools # Windows ``` -3. Create base folder structure using +3. Create base folder structure using the `init_project_folder_structure` tool, followed by the path to your new project. ```bash -./init_project_folder_structure.py /data/your_project_name +./init_project_folder_structure.py ~/data/your_project_name # Linux/Mac +``` +```bash +python init_project_folder_structure.py %HOMEPATH%\data/your_project_name # Windows ``` @@ -50,7 +70,10 @@ This will create the bones of your production's directories. 3. Create render directory (Optional) ```bash -mkdir /data/your_project_name/render/ +mkdir ~/data/your_project_name/render # Linux/Mac +``` +```bash +mkdir %HOMEPATH%\data\your_project_name\render # Windows ``` This directory is used for the temporary storage of render files generated by Flamenco. This storage must be accessible by all computers using Flamenco for rendering, commonly this is a Network Attached Storage of some kind. In this guide, our renders will live in the root of our project directory. @@ -60,15 +83,21 @@ This directory is used for the temporary storage of render files generated by Fl This is the folder that should be shared over the network. (By using Syncthing, NFS shares, Samba, Dropbox, etc) Connect this folder to your sharing software of choice and create the following folder structure. More details about shared folder structure can be found [here](/naming-conventions/shared-folder-structure.md) #### Initial Directory Set-Up -1. Create your Shared Folder directly in the target directory or symlink it to`/data/your_project_name/shared`. +1. Create your Shared Folder directly in the target directory or symlink it to`data/your_project_name/shared`. 2. Use the following commands to generate the below folder structure. ```bash - cd /data/blender-studio-pipeline/scripts/project-tools - init_project_folder_structure.py /data/your_project_name/shared --json_file folder_structure_shared.json + # Linux/Mac + cd ~/data/blender-studio-pipeline/scripts/project-tools + init_project_folder_structure.py ~/data/your_project_name/shared --json_file folder_structure_shared.json + ``` + ```bash + # Windows + cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools + python init_project_folder_structure.py %HOMEPATH%\data\your_project_name\shared --json_file folder_structure_shared.json ``` #### Add Existing Directory to User Workstation -1. Clone your SVN Folder directly into the target directory `/data/your_project_name/shared`. +1. Clone your SVN Folder directly into the target directory `data/your_project_name/shared`. ```bash shared @@ -89,15 +118,21 @@ shared This is the folder that should contain a version controlled file system to be shared over the network. (By using SVN, GIT-LFS, etc). Connect this folder to your version control software of choice and create the following folder structure. More details about shared folder structure can be found [here](/naming-conventions/svn-folder-structure.md) #### Initial Directory Set-Up -1. Create your SVN Folder directly in the target directory `/data/your_project_name/svn`. +1. Create your SVN Folder directly in the target directory `data/your_project_name/svn`. 2. Use the following commands to generate the below folder structure. ```bash - cd /data/blender-studio-pipeline/scripts/project-tools - init_project_folder_structure.py /data/your_project_name/svn --json_file folder_structure_svn.json + # Linux/Mac + cd ~/data/blender-studio-pipeline/scripts/project-tools + init_project_folder_structure.py ~/data/your_project_name/svn --json_file folder_structure_svn.json + ``` + ```bash + # Windows + cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools + python init_project_folder_structure.py %HOMEPATH%\data\your_project_name\svn --json_file folder_structure_svn.json ``` #### Add Existing Directory to User Workstation -1. Clone your SVN Folder directly into the target directory `/data/your_project_name/svn`. +1. Clone your SVN Folder directly into the target directory `data/your_project_name/svn`. ```bash @@ -139,11 +174,17 @@ The next step is to deploy the required software onto each of the studio's works 1. Download the latest Blender ```bash -cd /data/your_project_name/svn/tools +# Linux/Mac +cd ~/data/your_project_name/svn/tools ./update_blender.py ``` +```bash +# Windows +cd %HOMEPATH%\data\your_project_name\svn\tools +python update_blender.py +``` -This will download the latest blender to `/data/your_project_name/local/blender` +This will download the latest blender to `data/your_project_name/local/blender` ::: info Choosing Branch to Install You can specify a [daily build](https://builder.blender.org/download/daily/) branch to fetch by editing the `BLENDER_BRANCH` variable in the script file. @@ -152,16 +193,22 @@ You can specify a [daily build](https://builder.blender.org/download/daily/) bra ### Install Blender Add-Ons 2. Download required Add-Ons ```bash -mkdir /data/your_project_name/shared/artifacts/addons -cd /data/blender-studio-pipeline/scripts/pipeline-release -./package_local.py /data/your_project_name/shared/artifacts/addons +# Linux/Mac +cd ~/data/blender-studio-pipeline/scripts/pipeline-release +./package_local.py ~/data/your_project_name/shared/artifacts/addons +``` +```bash +# Windows +cd %HOMEPATH%\data\blender-studio-pipeline\scripts\pipeline-release +python package_local.py %HOMEPATH%\data\your_project_name\shared\artifacts\addons ``` ### Install Blender Icon If a desktop icon is preferred to launch blender ```bash -cd /data/your_project_name/svn/tools +# Linux Only +cd ~/data/your_project_name/svn/tools ./install_desktop_file.sh ``` ::: warning Linux only feature @@ -184,12 +231,12 @@ October 19th 2023 -This feature is only available on linux at this time. Mac & W - Password: `{user_password}` - Project Settings - Select Production: Choose the current Production - - Project Root Directory: `/data/your_project_name/svn` + - Project Root Directory: `data/your_project_name/svn` - Animation Tools - - Playblast directory: `/data/your_project_name/shared/editorial/footage/pro/` - - Frames Directory: `/data/your_project_name/shared/editorial/footage/post/` + - Playblast directory: `data/your_project_name/shared/editorial/footage/pro/` + - Frames Directory: `data/your_project_name/shared/editorial/footage/post/` - Editorial Export Directory (Optional) - - `/data/your_project_name/shared/editorial/export/` + - `data/your_project_name/shared/editorial/export/` @@ -200,9 +247,9 @@ TODO Replace Image 2. Search the 'Render Review' and use the checkbox to Enable the Add-On 3. Set the following settings in the add-on preferences - Ensure `Enable Blender Kitsu` is Enabled - - Render Farm: `/data/your_project_name/render/` - - Shot Frames: `/data/your_project_name/shared/editorial/footage/post/` - - Shot Previews: `/data/your_project_name/shared/editorial/footage/pro/` + - Render Farm: `data/your_project_name/render/` + - Shot Frames: `data/your_project_name/shared/editorial/footage/post/` + - Shot Previews: `data/your_project_name/shared/editorial/footage/pro/` ![Render Review Preferences](/media/td-guide/render_review_pref.jpg) +![Blender Kitsu Preferences](/media/td-guide/kitsu_pref.jpg) + +## Render Review Add-On Preferences + 1. Open Blender and Select `Edit>Preferences>Add-Ons` + 2. Search the 'Render Review' and use the checkbox to Enable the Add-On + 3. Set the following settings in the add-on preferences + - Ensure `Enable Blender Kitsu` is Enabled + - Render Farm: `data/your_project_name/render/` + - Shot Frames: `data/your_project_name/shared/editorial/footage/post/` + - Shot Previews: `data/your_project_name/shared/editorial/footage/pro/` + +![Render Review Preferences](/media/td-guide/render_review_pref.jpg) + + +## Flamenco Setup +1. Create Flamenco shared storage directory +```bash +mkdir ~/data/flamenco_storage # Linux/Mac +``` +```bash +mkdir %HOMEPATH%\data\flamenco_storage # Windows +``` +1. Follow the instructions at https://flamenco.blender.org/usage/quickstart/ to setup Flamenco +2. During Flamenco Manager Setup use `data/flamenco_storage` as the shared storage directory +3. During Flamenco Manager Setup use `data/your_project_name/local/blender/{os}/blender` as the Blender Executable Path diff --git a/docs/td-guide/blender_setup.md b/docs/td-guide/blender_setup.md new file mode 100644 index 00000000..2c15f860 --- /dev/null +++ b/docs/td-guide/blender_setup.md @@ -0,0 +1 @@ + diff --git a/docs/td-guide/kitsu_server.md b/docs/td-guide/kitsu_server.md new file mode 100644 index 00000000..73456002 --- /dev/null +++ b/docs/td-guide/kitsu_server.md @@ -0,0 +1,5 @@ +# Kitsu Server Setup +Kitsu is a project management software used by the Blender Studio for task management. The server is used to assign tasks to artists, as well as a track each shot as it moves through production The Kitsu server is required for automatically building shots. + +1. Follow the Official [setup instructions](https://kitsu.cg-wire.com/installation/) for Kitsu Server +2. Upon entering the Kitsu web interface follow the [first production](https://kitsu.cg-wire.com/first_production/) guide \ No newline at end of file diff --git a/docs/td-guide/populating_shared.md b/docs/td-guide/populating_shared.md new file mode 100644 index 00000000..66753531 --- /dev/null +++ b/docs/td-guide/populating_shared.md @@ -0,0 +1,34 @@ +# Populating `shared` +This is the folder that should be shared over the network. (By using Syncthing, NFS shares, Samba, Dropbox, etc) Connect this folder to your sharing software of choice and create the following folder structure. More details about shared folder structure can be found [here](/naming-conventions/shared-folder-structure.md) + +## Initial Directory Set-Up +1. Create your Shared Folder directly in the target directory or symlink it to`data/your_project_name/shared`. +2. Use the following commands to generate the below folder structure. + ```bash + # Linux/Mac + cd ~/data/blender-studio-pipeline/scripts/project-tools + init_project_folder_structure.py ~/data/your_project_name/shared --json_file folder_structure_shared.json + ``` + ```bash + # Windows + cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools + python init_project_folder_structure.py %HOMEPATH%\data\your_project_name\shared --json_file folder_structure_shared.json + ``` + +## Add Existing Directory to User Workstation +1. Clone your SVN Folder directly into the target directory `data/your_project_name/shared`. + +```bash +shared +├── artifacts # Where Global Blender & Add-Ons are stored +└── editorial + ├── audio # Audio + ├── deliver # Delivery for script + ├── export # Renders coming out of edit + │ ├── _archive + └── footage + ├── dev # Early Development + ├── pre # Pre-Production steps like previs + ├── pro # Playblast from Production + └── post # Image Sequences/Final Renders +``` \ No newline at end of file diff --git a/docs/td-guide/populating_svn.md b/docs/td-guide/populating_svn.md new file mode 100644 index 00000000..4254d0ef --- /dev/null +++ b/docs/td-guide/populating_svn.md @@ -0,0 +1,49 @@ +# Populating `SVN` +This is the folder that should contain a version controlled file system to be shared over the network. (By using SVN, GIT-LFS, etc). Connect this folder to your version control software of choice and create the following folder structure. More details about shared folder structure can be found [here](/naming-conventions/svn-folder-structure.md) + +## Initial Directory Set-Up +1. Follow the [SVN-Setup guide](/td-guide/svn-setup.md) to create your SVN repository **before** populating the directory with folders. *(optional)* +2. Use the following commands to generate the below folder structure. + ```bash + # Linux/Mac + cd ~/data/blender-studio-pipeline/scripts/project-tools + init_project_folder_structure.py ~/data/your_project_name/svn --json_file folder_structure_svn.json + ``` + ```bash + # Windows + cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools + python init_project_folder_structure.py %HOMEPATH%\data\your_project_name\svn --json_file folder_structure_svn.json + ``` + +## Add Existing Directory to User Workstation +1. Clone your SVN Folder directly into the target directory `data/your_project_name/svn`. + + +```bash +. +└── svn / + ├── dev / # Anything related to early development or tests + │ ├── boards + │ ├── concepts + │ └── tests + ├── pre/ # For pre-production + │ ├── assets + │ └── shots + ├── edit # Where the editorial .blend file lives + ├── pro/ # All files from the production + │ ├── assets/ # All assets from the production + │ │ ├── cam # Camera rig & setup + │ │ ├── chars # Characters & character variations + │ │ ├── fx # Effects + │ │ ├── lgt # Lighting setups + │ │ ├── lib + │ │ ├── maps # General textures and HDRIs + │ │ ├── nodes # General Node groups + │ │ ├── poses # Pose libraries for animation + │ │ ├── props + │ │ ├── scripts + │ │ └── sets + │ ├── config + │ └── shots #Structured into sequences + └── tools +``` \ No newline at end of file diff --git a/docs/td-guide/project-tools-setup.md b/docs/td-guide/project-tools-setup.md index 49a816ff..9ef373b0 100644 --- a/docs/td-guide/project-tools-setup.md +++ b/docs/td-guide/project-tools-setup.md @@ -1,9 +1,5 @@ # Project Tools Setup -::: warning Linux & Mac Only -The terminal commands on this page are designed to be run on a linux/mac systems. Commands require modifications to file paths to run on Windows. -::: - ## Introduction In this guide, you will learn how to setup the Blender Studio Pipeline, the backbone of [Blender Open Movies](https://studio.blender.org/films/). This workflow relies on Blender, some Blender Add-Ons, and additional services like [Kitsu](https://www.cg-wire.com/kitsu) and [Flamenco](https://flamenco.blender.org/). Wether you are an individual with a single computer or a studio with a full network of workstations, this guide offers a straightforward approach to set up the pipeline, complete with easy-to-follow examples. @@ -20,250 +16,4 @@ mkdir ~/data # Linux/Mac ``` ```bash mkdir %HOMEPATH%\data # Windows -``` - -## Clone Repository -The Blender Studio Pipeline git repository contains many tools and resources used in deploying and managing a Blender Studio Pipeline. To start our pipeline we will need to clone this repository. To begin open a terminal/command prompt in your homefolder. - -```bash -# Windows & Linux/Mac -cd data # This directory is the root storage that will contain all projects -git lfs install # Ensure git-lfs is installed -git clone https://projects.blender.org/studio/blender-studio-pipeline.git -``` - -## Generate Folder Structure -The first step in deploying the Blender Studio Pipeline is to create the correct folder structure. Many of the tools used in the Blender Studio require the following folder structure on each of your studio workstations. The following commands should be executed from the `data` folder - - -1. Create project root directory -```bash -mkdir ~/data/your_project_name # Linux/Mac -``` -```bash -mkdir %HOMEPATH%\data\your_project_name # Windows -``` - - -2. Navigate to the project-tools folder -```bash -cd ~/data/blender-studio-pipeline/scripts/project-tools # Linux/Mac -``` -```bash -cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools # Windows -``` - -3. Create base folder structure using the `init_project_folder_structure` tool, followed by the path to your new project. -```bash -./init_project_folder_structure.py ~/data/your_project_name # Linux/Mac -``` -```bash -python init_project_folder_structure.py %HOMEPATH%\data/your_project_name # Windows -``` - - -This will create the bones of your production's directories. -- `local` This is where the local copy of Blender and the add-ons will be installed. -- `shared` This is the folder that should be shared over the network. -- `svn` This the versioned controlled folder where the `.blend` production files will live. - - -3. Create render directory (Optional) -```bash -mkdir ~/data/your_project_name/render # Linux/Mac -``` -```bash -mkdir %HOMEPATH%\data\your_project_name\render # Windows -``` - -This directory is used for the temporary storage of render files generated by Flamenco. This storage must be accessible by all computers using Flamenco for rendering, commonly this is a Network Attached Storage of some kind. In this guide, our renders will live in the root of our project directory. - - -### Populating `shared` -This is the folder that should be shared over the network. (By using Syncthing, NFS shares, Samba, Dropbox, etc) Connect this folder to your sharing software of choice and create the following folder structure. More details about shared folder structure can be found [here](/naming-conventions/shared-folder-structure.md) - -#### Initial Directory Set-Up -1. Create your Shared Folder directly in the target directory or symlink it to`data/your_project_name/shared`. -2. Use the following commands to generate the below folder structure. - ```bash - # Linux/Mac - cd ~/data/blender-studio-pipeline/scripts/project-tools - init_project_folder_structure.py ~/data/your_project_name/shared --json_file folder_structure_shared.json - ``` - ```bash - # Windows - cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools - python init_project_folder_structure.py %HOMEPATH%\data\your_project_name\shared --json_file folder_structure_shared.json - ``` - -#### Add Existing Directory to User Workstation -1. Clone your SVN Folder directly into the target directory `data/your_project_name/shared`. - -```bash -shared -├── artifacts # Where Global Blender & Add-Ons are stored -└── editorial - ├── audio # Audio - ├── deliver # Delivery for script - ├── export # Renders coming out of edit - │ ├── _archive - └── footage - ├── dev # Early Development - ├── pre # Pre-Production steps like previs - ├── pro # Playblast from Production - └── post # Image Sequences/Final Renders -``` - -### Populating `SVN` -This is the folder that should contain a version controlled file system to be shared over the network. (By using SVN, GIT-LFS, etc). Connect this folder to your version control software of choice and create the following folder structure. More details about shared folder structure can be found [here](/naming-conventions/svn-folder-structure.md) - -#### Initial Directory Set-Up -1. Follow the [SVN-Setup guide](/td-guide/svn-setup.md) to create your SVN repository **before** populating the directory with folders. *(optional)* -2. Use the following commands to generate the below folder structure. - ```bash - # Linux/Mac - cd ~/data/blender-studio-pipeline/scripts/project-tools - init_project_folder_structure.py ~/data/your_project_name/svn --json_file folder_structure_svn.json - ``` - ```bash - # Windows - cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools - python init_project_folder_structure.py %HOMEPATH%\data\your_project_name\svn --json_file folder_structure_svn.json - ``` - -#### Add Existing Directory to User Workstation -1. Clone your SVN Folder directly into the target directory `data/your_project_name/svn`. - - -```bash -. -└── svn / - ├── dev / # Anything related to early development or tests - │ ├── boards - │ ├── concepts - │ └── tests - ├── pre/ # For pre-production - │ ├── assets - │ └── shots - ├── edit # Where the editorial .blend file lives - ├── pro/ # All files from the production - │ ├── assets/ # All assets from the production - │ │ ├── cam # Camera rig & setup - │ │ ├── chars # Characters & character variations - │ │ ├── fx # Effects - │ │ ├── lgt # Lighting setups - │ │ ├── lib - │ │ ├── maps # General textures and HDRIs - │ │ ├── nodes # General Node groups - │ │ ├── poses # Pose libraries for animation - │ │ ├── props - │ │ ├── scripts - │ │ └── sets - │ ├── config - │ └── shots #Structured into sequences - └── tools -``` -## Kitsu Server Setup -Kitsu is a project management software used by the Blender Studio for task management. The server is used to assign tasks to artists, as well as a track each shot as it moves through production The Kitsu server is required for automatically building shots. - -1. Follow the Official [setup instructions](https://kitsu.cg-wire.com/installation/) for Kitsu Server -2. Upon entering the Kitsu web interface follow the [first production](https://kitsu.cg-wire.com/first_production/) guide - -## Blender Setup -The next step is to deploy the required software onto each of the studio's workstations. - -1. Download the latest Blender -```bash -# Linux/Mac -cd ~/data/your_project_name/svn/tools -./update_blender.py -``` -```bash -# Windows -cd %HOMEPATH%\data\your_project_name\svn\tools -python update_blender.py -``` - -This will download the latest blender to `data/your_project_name/local/blender` - -::: info Choosing Branch to Install -You can specify a [daily build](https://builder.blender.org/download/daily/) branch to fetch by editing the `BLENDER_BRANCH` variable in the script file. -::: - -### Install Blender Add-Ons -2. Download required Add-Ons -```bash -# Linux/Mac -cd ~/data/blender-studio-pipeline/scripts/pipeline-release -./package_local.py ~/data/your_project_name/shared/artifacts/addons -``` -```bash -# Windows -cd %HOMEPATH%\data\blender-studio-pipeline\scripts\pipeline-release -python package_local.py %HOMEPATH%\data\your_project_name\shared\artifacts\addons -``` -### Install Blender Icon - -If a desktop icon is preferred to launch blender - -```bash -# Linux Only -cd ~/data/your_project_name/svn/tools -./install_desktop_file.sh -``` -::: warning Linux only feature -October 19th 2023 -This feature is only available on linux at this time. Mac & Windows Users must launch Blender via the terminal. -::: - - -### Setup Blender Add-Ons - - 3. Follow the below instructions to correctly set the preferences of each Add-On - -## Blender Kitsu Add-On Preferences - - 1. Open Blender and Select `Edit>Preferences>Add-Ons` - 2. Search the 'Blender Kitsu' and use the checkbox to Enable the Add-On - 3. Set the following settings in the add-on preferences - - Login - - Host: `{my_kitsu_server_url}` *Set during [Kitsu Server Setup](/td-guide/project-tools-setup.md#kitsu-server-setup)* - - Username: `{username@studio.org}` - - Password: `{user_password}` - - Project Settings - - Select Production: Choose the current Production - - Project Root Directory: `data/your_project_name/svn` - - Animation Tools - - Playblast directory: `data/your_project_name/shared/editorial/footage/pro/` - - Frames Directory: `data/your_project_name/shared/editorial/footage/post/` - - Editorial Export Directory (Optional) - - `data/your_project_name/shared/editorial/export/` - -![Blender Kitsu Preferences](/media/td-guide/kitsu_pref.jpg) - -## Render Review Add-On Preferences - 1. Open Blender and Select `Edit>Preferences>Add-Ons` - 2. Search the 'Render Review' and use the checkbox to Enable the Add-On - 3. Set the following settings in the add-on preferences - - Ensure `Enable Blender Kitsu` is Enabled - - Render Farm: `data/your_project_name/render/` - - Shot Frames: `data/your_project_name/shared/editorial/footage/post/` - - Shot Previews: `data/your_project_name/shared/editorial/footage/pro/` - -![Render Review Preferences](/media/td-guide/render_review_pref.jpg) - - -## Flamenco Setup -1. Create Flamenco shared storage directory -```bash -mkdir ~/data/flamenco_storage # Linux/Mac -``` -```bash -mkdir %HOMEPATH%\data\flamenco_storage # Windows -``` -1. Follow the instructions at https://flamenco.blender.org/usage/quickstart/ to setup Flamenco -2. During Flamenco Manager Setup use `data/flamenco_storage` as the shared storage directory -3. During Flamenco Manager Setup use `data/your_project_name/local/blender/{os}/blender` as the Blender Executable Path +``` \ No newline at end of file diff --git a/docs/td-guide/project_folder_structure.md b/docs/td-guide/project_folder_structure.md new file mode 100644 index 00000000..51cb1f18 --- /dev/null +++ b/docs/td-guide/project_folder_structure.md @@ -0,0 +1,46 @@ +# Project Folder Setup +The first step in deploying the Blender Studio Pipeline is to create the correct folder structure. Many of the tools used in the Blender Studio require the following folder structure on each of your studio workstations. The following commands should be executed from the `data` folder + + +1. Create project root directory +```bash +mkdir ~/data/your_project_name # Linux/Mac +``` +```bash +mkdir %HOMEPATH%\data\your_project_name # Windows +``` + + +2. Navigate to the project-tools folder +```bash +cd ~/data/blender-studio-pipeline/scripts/project-tools # Linux/Mac +``` +```bash +cd %HOMEPATH%\data\blender-studio-pipeline\scripts\project-tools # Windows +``` + +3. Create base folder structure using the `init_project_folder_structure` tool, followed by the path to your new project. +```bash +./init_project_folder_structure.py ~/data/your_project_name # Linux/Mac +``` +```bash +python init_project_folder_structure.py %HOMEPATH%\data/your_project_name # Windows +``` + + +This will create the bones of your production's directories. +- `local` This is where the local copy of Blender and the add-ons will be installed. +- `shared` This is the folder that should be shared over the network. +- `svn` This the versioned controlled folder where the `.blend` production files will live. + + +3. Create render directory (Optional) +```bash +mkdir ~/data/your_project_name/render # Linux/Mac +``` +```bash +mkdir %HOMEPATH%\data\your_project_name\render # Windows +``` + +This directory is used for the temporary storage of render files generated by Flamenco. This storage must be accessible by all computers using Flamenco for rendering, commonly this is a Network Attached Storage of some kind. In this guide, our renders will live in the root of our project directory. + diff --git a/docs/td-guide/repository.md b/docs/td-guide/repository.md new file mode 100644 index 00000000..11480963 --- /dev/null +++ b/docs/td-guide/repository.md @@ -0,0 +1,9 @@ +# Clone Repository +The Blender Studio Pipeline git repository contains many tools and resources used in deploying and managing a Blender Studio Pipeline. To start our pipeline we will need to clone this repository. To begin open a terminal/command prompt in your homefolder. + +```bash +# Windows & Linux/Mac +cd data # This directory is the root storage that will contain all projects +git lfs install # Ensure git-lfs is installed +git clone https://projects.blender.org/studio/blender-studio-pipeline.git +``` \ No newline at end of file diff --git a/docs/td-guide/syncthing-setup.md b/docs/td-guide/syncthing-setup.md index eded3da3..8285ddc8 100644 --- a/docs/td-guide/syncthing-setup.md +++ b/docs/td-guide/syncthing-setup.md @@ -11,7 +11,7 @@ Install the latest Syncthing Packages via the official [Syncthing Repository](ht Get the [latest release](https://github.com/syncthing/syncthing/releases/tag/v1.27.2) for your distribution. ### Windows -Syncthing can be installed on windows with the official [Syncthing Installer](127.0.0.1:8384) by following [this video](https://www.youtube.com/watch?v=2QcO8ikxzxA&ab_channel=UsefulVid) but it is recommended for novice users to use the Community Contributed package [SyncTrayzor](https://github.com/canton7/SyncTrayzor) +Syncthing can be installed on windows with the official [Syncthing Installer](https://github.com/Bill-Stewart/SyncthingWindowsSetup/) by following [this video](https://www.youtube.com/watch?v=2QcO8ikxzxA&ab_channel=UsefulVid) but it is recommended for novice users to use the Community Contributed package [SyncTrayzor](https://github.com/canton7/SyncTrayzor) Download and Install the latest version of [SyncTrazor](https://github.com/canton7/SyncTrayzor#installation) @@ -26,11 +26,13 @@ Download and Install the latest version of [SyncTrazor](https://github.com/canto 2. Select `+ Add Remote Device` and enter the Device ID of the Syncthing Server ![Add Remote Device](/media/td-guide/syncthing_new_device.jpg) -3. On the Server's Syncthing Web GUI, select `+ Add Device` from the "New Device" pop-up +3. On the Server's Web GUI, select `+ Add Device` from the "New Device" pop-up. ![Add Device to Server](/media/td-guide/syncthing_new_device_server.jpg) -4. Return to the Client's Syncthing Web GUI, select `Add` from the "New Folder" pop-up +4. In the "Add Device" pop-up under "Sharing" select the folder(s) to share. + ![Share Folder from Server](/media/td-guide/share_folder_server.jpg) +5. Return to the Client's Web GUI, select `Add` from the "New Folder" pop-up ![Add New Folder from Server](/media/td-guide/add_new_folder.jpg) -5. Enter the following path under **Folder Path** `~/data/your_project_name/shared`. +6. Enter the following path under **Folder Path** `~/data/your_project_name/shared`. ![New Folder Settings](/media/td-guide/new_folder_settings.jpg) *The tilde "~" will be replaced with the home path for your operating system* -6. Select save to being syncing your "Shared" Folder \ No newline at end of file +7. Select save to being syncing your "Shared" Folder \ No newline at end of file diff --git a/docs/user-guide/project_tools/project-blender.md b/docs/user-guide/project_tools/project-blender.md index 42cccd7e..9125fcf9 100644 --- a/docs/user-guide/project_tools/project-blender.md +++ b/docs/user-guide/project_tools/project-blender.md @@ -2,13 +2,33 @@ Project Tools will store a version of Blender within the `shared` directory. This version of Blender is internal to that project. This allows for multiple Blenders to be installed on your system, each with their own preferences tailored specifically to that project. The main advantage to running/managing Blender using the Project Tools scripts is that it will synchronize the Blender version and Shared Add-Ons across for all users contributing the the project. Project Tools also allows you to run a custom build of Blender with the Add-Ons and preferences set for your project. -## Create Blender Shortcut +## Blender Setup +The next step is to deploy the required software onto each of the studio's workstations. + +1. Download the latest Blender +```bash +# Linux/Mac +cd ~/data/your_project_name/svn/tools +./update_blender.py +``` +```bash +# Windows +cd %HOMEPATH%\data\your_project_name\svn\tools +python update_blender.py +``` + +This will download the latest blender to `data/your_project_name/local/blender` + +::: info Choosing Branch to Install +You can specify a [daily build](https://builder.blender.org/download/daily/) branch to fetch by editing the `BLENDER_BRANCH` variable in the script file. +::: +## Create Shortcut Once your project has been setup using the "Project Tools" scripts Blender should be available inside your application's native application launcher. The run Blender script will take the correct blender version for your operating system from `your_project_name/shared/artifacts/blender` and extract it to the local directory. Along with any add-ons in the `your_project_name/shared/artifacts/addons` folder. Your Blender preferences are stored on a per project basis in `{directory-path}` ### Create Linux Shortcut ```bash -cd your_project_name/svn/tools +cd ~/data/your_project_name/svn/tools ./install_desktop_file.sh ``` ::: info Available on Gentoo @@ -32,27 +52,27 @@ TODO Replace Image with Project-Tools version ### Create Windows Shortcut -1. Open the directory `your_project_name/svn/tools` +1. Open the directory `%HOMEPATH%\data\your_project_name\svn\tools` 2. Create a shortcut to `launch_blender_win.bat` on your desktop ### Create Mac Shortcut -1. Open the directory `your_project_name/svn/tools` +1. Open the directory `~/data/your_project_name/svn/tools` 2. In finder, select the `launch_blender_mac.command` and press `ctrl+shift+command+t` to add it to the dock. -## Launch Blender from Terminal +## Launch via Terminal To launch Blender from the terminal, open the tools directory within your project folder, and from the terminal use the run Blender script. ```bash # Linux/Mac -cd your_project_name/svn/tools +cd ~/data/your_project_name/svn/tools ./run_blender.py ``` ```bash # Windows -cd your_project_name\svn\tools +cd %HOMEPATH%\data\your_project_name\svn\tools python run_blender.py ``` @@ -70,12 +90,12 @@ Internally to the Blender Studio only, the blender inside your project is automa ```bash # Linux/Mac -cd your_project_name/svn/tools +cd ~/data/your_project_name/svn/tools ./update_blender.py ``` ```bash # Windows -cd your_project_name\svn\tools +cd %HOMEPATH%\data\your_project_name\svn\tools python update_blender.py ``` ## Rollback Blender @@ -84,12 +104,12 @@ Use `rollback_blender.py` to switch the "current" version hosted in `your_projec ```bash # Linux/Mac -cd your_project_name/svn/tools +cd ~/data/your_project_name/svn/tools ./rollback_blender.py ``` ```bash # Windows -cd your_project_name\svn\tools +cd %HOMEPATH%\data\your_project_name\svn\tools python rollback_blender.py ``` @@ -100,25 +120,25 @@ In some cases users may want to run a previous version of Blender on their machi ```bash # Linux/Mac -cd your_project_name/svn/tools +cd ~/data/your_project_name/svn/tools ./run_blender_previous.py ``` ```bash # Windows -cd your_project_name\svn\tools +cd %HOMEPATH%\your_project_name\svn\tools python rollback_blender_local.py ``` -## Update Blender Add-Ons +## Install/Update Add-Ons Blender Add-ons can be packaged directly from the [Blender Studio Pipeline](https://projects.blender.org/studio/blender-studio-pipeline) repository. Personal Add-Ons can be installed [normally](https://docs.blender.org/manual/en/latest/editors/preferences/addons.html#installing-add-ons). 1. Enter Directory ```bash -cd blender-studio-pipeline/scripts/pipeline-release # Linux/Mac +cd ~/data/blender-studio-pipeline/scripts/pipeline-release # Linux/Mac ``` ```bash -cd blender-studio-pipeline\scripts\pipeline-release # Windows +cd %HOMEPATH%\data\blender-studio-pipeline\scripts\pipeline-release # Windows ``` 2. Update Git @@ -131,10 +151,10 @@ git pull --rebase origin # Pull to update to latest commit 3. Run Package Local Script ```bash -./package_local.py your_project_name/shared/artifacts/addons # Linux/Mac +./package_local.py ~/data/your_project_name/shared/artifacts/addons # Linux/Mac ``` ```bash -python package_local.py your_project_name\shared\artifacts\addons # Windows +python package_local.py %HOMEPATH%\data\your_project_name\shared\artifacts\addons # Windows ``` -- 2.30.2