Hi, I saw at some point that there was a Gaffer integration semi-implemented, am I right? if so, what can I do to use it?
There is currently a draft pull request on Github for the Gaffer Integration.
If you want to try this out the easiest way is pull in that branch and run from the source code. It depends on your expertise with Git and the OpenPype tools how easy that is for you. There are no ready to use builds/releases so you will have to start from the source code using the branch.
Running an OpenPype pull request branch from source code
A decent starting guide to build and run OpenPype from source is the OpenPype.io dev build introduction documentation.
Here’s a quick overview of roughly the relevant steps with additional linked documentation to do so:
- Git clone the OpenPype repository
-
Git checkout the Pull Request branch - the branch is Gaffer Integration with id
4267
. -
Create the required python environment, fetch third party binaries. In essence in the cloned repository:
- Run
tools/create_env
- Run
tools/fetch_thirdparty_libs
- Run
-
Run from OpenPype source code (or [create a build to run] but I would not recommend that):
- Run
tools/run_tray
- Run
Quick start snippets for Windows
Here’s an example snippet .bat
I use on Windows to quickly start from a freshly cloned repository:
set PATH=C:\Users\Roy\AppData\Local\Programs\Python\Python39;%PATH%
set PATH=C:\Program Files\Git\bin;%PATH%
cd /d S:\openpype\OpenPype
.\tools\create_env.ps1
.\tools\fetch_thirdparty_libs.ps1
.\tools\run_tray.ps1
Depending on how strict your powershell execution policy is set and with some extra “comments” to explain things:
:: Set the path to your OpenPype git directory
set OPENPYPE_SOURCE_ROOT=S:\openpype\OpenPype
:: Ensure Python 3.9 is available
set PATH=%LOCALAPPDATA%\Programs\Python\Python39;%PATH%
:: Ensure Git executable is available
set PATH=C:\Program Files\Git\bin;%PATH%
cd /d %OPENPYPE_SOURCE_ROOT%
PowerShell.exe -ExecutionPolicy Bypass -File .\tools\create_env.ps1
PowerShell.exe -ExecutionPolicy Bypass -File .\tools\fetch_thirdparty_libs.ps1
PowerShell.exe -ExecutionPolicy Bypass -File .\tools\run_tray.ps1
These are commands you should be able to run in Windows Command Prompt (cmd.exe
) or you could save it in a .bat
file to easily run it using cmd.exe
.
Once you are succesfully “running tray” you should see the OpenPype tray as usual but now running from source. Good job!
Enabling the gaffer application on you project.
Once you’ve launched OpenPype tray from source using that Gaffer Integration branch you should be able to start launching Gaffer. However, please keep in mind that you’ll need to set up the Gaffer executable paths and enable it for the current project. I’ve recently written a brief guide about why you might not see an application (like Gaffer) in the launcher yet and how to enable it.
Hi Roy
I’m no developer or skilled programmer but I’m running ayon and I’m wondering if there is any plans on the horizons to have gaffer packacked as an ayon addon? And for how it could be used with ayon, at least the way I see it for lighting. I would create in gaffer, ayon root context variables, start end handles clip resolution aspect fps paths(sourceplate, next outputpath, lutpath, etc). Gaffer has a spreadsheet node thad could then be used to query ayon db and fill in all the information. Artists could first select which shots to work on and then a build / update button into spreadsheet. This sounds very rough and basic but I think it could be a great start. Then it’s up to the pipeline TD’s how best to build setups using those context root variables. Great to hear some thoughts and if this direction could possibly work.
Thanks,
R
+1 for gaffer integration.
The task automation part of gaffer should interest the Ayon developers.
Its basically Houdinis distributed task system (TOPs) but in a free an opensource package. Its phenomenal.
Since like your interest is outside of the realm of rendering. Do you have any feature requests Gaffer integration should need?
I’ve recently tested the draft Gaffer Integration PR again with the latest OpenPype and Gaffer and it appeared to still work fine. So it should be usable at the core to load a few things and save workfiles, etc.
Having said that it’s barebones really because there haven’t really been users testing the OpenPype x Gaffer integration and thus no input to move it forward. I’d love for someone to pick up the development from where it is now. Shouldn’t be too hard for someone knowledgeable with Python coding and Gaffer experience.
Hi Roy,
No not at this point, I need to do some more testing with AYON in general, but I wanted to voice my appreciation for including Gaffer into the mix.
We’re in the processes of rebuilding our pipe from scratch and are considering Gaffer as a central hub for process management, including farm dispatching since it deals with dependencies in such an artist-friendly way.
Hey Folks, I am interested in testing the Gaffer addon in Ayon. What steps should I follow fo implementing it?
Cheers!
Should be along these lines: Gaffer integration - #2 by BigRoy
There was also this Gaffer thread some time ago on Ynput discord - where some others at the time were testing as well.
Thank you @BigRoy.
Excuse my ignorance.
I don’t seem to find the Gaffer Integration via “git checkout …” Im sure Im doing something wrong.
Also don’t find the procedure to make the addon available to Ayon.
I have manage to checkout the pr branch. Also found the docs for porting OP addons to Ayon.
For whom it may concern, Find ayon-gaffer
integration here. created by RVX Studio
Hey there,
Any chance for official Gaffer → Ayon integration?
Hi @Xaia
Interesting question! @sjt Is using Gaffer but I’m not entirely sure whether he ended up fully converting from OpenPype to AYON.
His repository is here: GitHub - RVXStudio/ayon-gaffer: Gaffer Ayon integration (as shared above too)
It does show some commits have been made about a month ago - so it doesn’t appear dead.
It came to be with some initial community effort on OpenPype, initially here:
- Gaffer Integration by BigRoy · Pull Request #4267 · ynput/OpenPype · GitHub
- Gaffer tweaks for ayon-gaffer by sjt-rvx · Pull Request #6254 · ynput/OpenPype · GitHub
The development on this would be community-driven currently since there are no Ynput clients on active support requesting the need for Gaffer in their pipeline.
There has been some other community interest regarding Gaffer. For example in this Ynput community discord thread: #Gaffer
Yup, we are still using gaffer extensively and the integration still lives - although, as you might guess, I haven’t had proper time to get it up to speed properly. It works with the latest version of ayon-core
, but there are still some changes that need to be made to the ayon-core
addon for the gaffer integration to work (most of it is adding "gaffer"
to lists of hosts in various places), and there is a bit of custom stuff to the publish job submissions I made - I need to revisit those changes since they were originally made in the openpype
days and I guess that I can remove them.
@Xaia feel free to shoot questions my way about it.
@sjt For now we are just browsing and evaluating our options. Rendering in Maya is not ideal and Gaffer seems like a move in the right direction. I will definitely shoot some questions in the future