Skip to content

Transform a Google Drive server into a VFX pipeline ready server.

Notifications You must be signed in to change notification settings

healkeiser/google_drive_vfx_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Batchfile Compatible with Windows Compatible with macOS Compatible with Linux

Warning
This repository is deprecated, you should take a look at Cloud VFX Server


Logo

Google Drive VFX Server

VFX Pipeline


Table of Contents

About

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 like google-drive://yourmail@gmail.com/My Drive

Setup Server

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

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 to Z:/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

Software

Automatic

  • 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 the environment_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 from setx PIPELINE_ROOT "Z:/My Drive" to setx PIPELINE_ROOT "F:/My Drive" before executing the file

Manual

Python Python

  • 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/

Maya Maya

  • 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

Substance Substance Painter

  • 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 the Library section. In name, type pipeline_assets and add the following path: Z:/My Drive/.config/pipeline/substance_painter/assets. Click the + and restart Substance Painter. Return in Modify -> Settings -> Library and select the freshly created Library as the default one

google-Drive-VFXServer-substance-01.jpg

Houdini Houdini

  • 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 your PROJECT 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

Nuke Nuke

  • 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

After Effects After Effects

  • 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 your C:/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 and Scripts will only copy in the most recent Adobe After Effects installation folder

Tips

  • 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-VFXServer-01.jpg

  • 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

Roadmap

  • Houdini Packages for levels Studio, Project, User
  • Automatic copy of After Effects plug-ins

Useful Resources and Tools

Contact

Project Link: Google Drive VFX Server

LinkedIn Behance Twitter Instagram

"Buy Me A Coffee"