Warning
This repository is deprecated, you should take a look at Cloud VFX Server
Quick tutorial to setup a Google Drive Server for multiple machines access, and VFX Pipeline on Windows, macOS and Linux.
If you're using Linux, you will need to use a third-party software to emulate Google Drive File Stream, such as Rclone or Insync, unless you're running on Gnome: the last Nautilus version has a default Online Accounts option. In this case, your
$PIPELINE_ROOT
will be something likegoogle-drive://yourmail@gmail.com/My Drive
I'll be using Windows for explanatory purposes, but the steps are the same on macOS and Linux
In order to make your life easier when defining environment variables in macOS, I highly recommend using this great tool: EnvPane
- Install Google Drive File Stream and assign the virtual disk the letter
Z:
It's important to assign a similar letter on every machine at every Google Drive File Stream fresh install, otherwise directories will be broken
- Tick
Stream Files
(Default Option) - Copy the
.config
folder toZ:/My Drive/
and make it Available offline by Right Cliking,Offline access
->Available offline
to ensure an access to the files even if the machine is not connected to internet
- Run
Z:/My Drive/.config/environment/environment_source_windows.bat
to setup all the environment variables, or follow instructions under. You can edit the content of theenvironment_source_windows.bat
file to adapt it to your needs. Note that you'll still have to configure Python, Substance to use a shared materials library, and run an independant script for After Effects (Detailed in Manual section)
For example, if you decided to use the letter
F:
(Not recommended) for your Google Drive virtual disk, you'll need to edit the first line fromsetx PIPELINE_ROOT "Z:/My Drive"
tosetx PIPELINE_ROOT "F:/My Drive"
before executing the file
- Install Python on
Z:/My Drive/.config/pipeline/python/Python$PYTHON_VERSION
and click "Add to Path" while doing so. Your Python libraries will now stay up to date on all machines
Example of the Path environment variable (System variables) after install:
Z:/My Drive/.config/pipeline/python/Python310/Scripts/
Z:/My Drive/.config/pipeline/python/Python310/
- Define a new environment variable for User called MAYA_APP_DIR. Give this new variable the value of the folder containing the usual scripts, prefs folders and so on. This variable needs to be assigned before Maya is started, so writing it in the Maya.env won't work
Variable should be
MAYA_APP_DIR
Z:/My Drive/.config/pipeline/maya
- Define a new environment variable for User called SUBSTANCE_PAINTER_PLUGINS_PATH. Give this new variable the value of the folder containing the python folder. This variable needs to be assigned before Substance Painter is started
Variable should be
SUBSTANCE_PAINTER_PLUGINS_PATH
Z:/My Drive/.config/pipeline/substance_painter/python
- Open Substance Painter, then open
Modify
>Settings
. In the new window, go to theLibrary
section. In name, typepipeline_assets
and add the following path:Z:/My Drive/.config/pipeline/substance_painter/assets
. Click the+
and restart Substance Painter. Return inModify
->Settings
->Library
and select the freshly created Library as the default one
- Define a new environment variable for User called HSITE. Give this new variable the value of the parent folder containing the houdini.major.minor folder, which contains itself the usual otls, packages folders and so on. This variable needs to be assigned before Houdini is started, so writing it in the houdini.env won't work
Variable should be
HSITE
Z:/My Drive/.config/pipeline/houdini
- Packages contains a
drive_server.json
file that's specifically dedicated to optimizing the space used on the Google Drive Server if yourPROJECT
folder is there: 10 maximum backup files for each file, and buffered save is activated at the expense of memory when saving
Packages used by Houdini should be there
Z:/My Drive/.config/pipeline/houdini/houdini$HOUDINI_VERSION/packages
- Define a new environment variable for User called NUKE_PATH. Give this new variable the value of the folder containing the usual gizmos, python folders and so on. This variable needs to be assigned before Nuke is started
Variable should be
NUKE_PATH
Z:/My Drive/.config/pipeline/nuke
- You'll need to either manually move the files for After Effects, maybe create a symbolic link (You can use Link Sell Extension to do so) between the
$PIPELINE_ROOT/.config/pipeline/after_effects/Support Files
content and yourC:/Program Files/Adobe/Adobe After Effects $AFTER_EFFECTS_VERSION/Support Files
folder, or use this Python script to do it automatically
Using the Python script, the
Plug-ins
andScripts
will only copy in the most recent Adobe After Effects installation folder
- With that method, you can either place your
PROJECTS
folder on the Google Drive Server freshly created, or leave it anywhere locally - Here is an example of my
$PIPELINE_ROOT
:
- Google Drive will allow you to limit the bandwidth for upload/download directly in the app, which could be useful if the
PROJECTS
folder is saved on the server
- Houdini Packages for levels
Studio
,Project
,User
- Automatic copy of After Effects plug-ins
- MOPS - Used in the
.config
- JZTREE - Used in the
.config
- AeLib - Used in the
.config
- qLib - Used in the
.config
- egMatLib - Used in the
.config
- Houdini Expression Editor - Used in the
.config
- Nuke Survivor Toolkit - Used in the
.config
- Megascans - Used in the
.config
- HSITE
- Packages
Project Link: Google Drive VFX Server