Open DCC Pipeline management tools
DCC's (Digital Content Creation tools) have similar needs in a pipeline. They typically contain a Python API, allow for custom tools/plugins, and need to interact by passing data to eachother. These similar functions have been abstracted into a suite of tools in a virtual environment which can be deployed in film, game and VFX pipelines.
We created dccpipe with the intention of being cross-platform, compatible and easy for collaboration. We are attempting to adhere to style standards we have observed in other open-source repositories, and would appreciate feedback in that regard.
To install all development packages, execute the following in a bash terminal:
git clone https://github.com/byu-animation/dccpipe
cd dccpipe
source config/unix/fedora/install.sh --dev
To activate and test the virtual environment:
source launch/unix/env.sh
python
>>import PySide2
>>import pipe.tools
git clone https://github.com/byu-animation/dccpipe
cd dccpipe
source config/unix/fedora/install.sh --clean
Installs all development packages
source config/unix/fedora/install.sh --dev
Cleans the previous installation by deleting .venv folder
source config/unix/fedora/install.sh --clean
Installs missing packages with pip/yum. Note: if you are missing an rpm, you must run this as root. If you are only missing pip packages, you can run this as a normal user.
sudo config/unix/fedora/install.sh --installmissing
- run project initialization script: python create_project.py nameOfProject nicknameOfProject
- Check that application launching icons were created (Maya, Houdini, Substance Painter, Nuke)
- Check that production directory was created with several subdirectories inside
- If 2 and 3 look right, you're good to go!
This project was inspired by previous BYU Animation pipeline repositories, such as BYU Animation Tools and BYU Pipeline Tools. Therefore, it is created with a very specific use case. However, the pipeline is built in such a way that other distros/operating systems could be supported in a future release.
Requirements | Description |
---|---|
Fedora 27/RHEL | The current Linux distro at BYU. (RHEL distros should be supported.) |
Python 2.7.5 | Most DCCs depend on Python 2.7 for the time being, so by extension, so does DCCPipe |
pip* | Required for pipenv |
pipenv* | Virtualenv manager for python dependencies |
qt-qtbase-devel* | Required for PySide2 |
libxml2-devel* | Required for PySide2 |
* Will be automatically installed using the --installmissing/-im
flag.
DCC | Version | Module |
---|---|---|
Autodesk Maya | 2019 | pipe.tools.maya |
SideFX Houdini | 18.0 | pipe.tools.hou |
Foundry Nuke | 11.3 | pipe.tools.nuke |
Allegorithmic Substance Painter | 2018.3 | pipe.tools.sbs |
Note: All packages will be installed in the project's directory in the .venv folder.
Pipenv Package | --dev only |
---|---|
pyside2* | no |
shiboken2* | no |
qt-py | no |
termgraph | yes |
loguru | yes |
pytest | yes |
sphinx | yes |
* Due to a virtualenv limitation, pyside2 and shiboken2 will be installed to user, and then copied into the project directory. The script that handles this is config/unix/fedora/install_pyside.sh