BCS Tools

Initial Centralized VFX Pipeline

DESCRIPTION

A centralized pipeline was set up to unify all the tools and make them accessible across every workstation in the studio.

Main benefits of a centralized pipeline include:
  • Network-based tool access: Tools are accessible directly over the network, eliminating the need for local installations. This greatly simplifies maintenance and updates. Local installations can still be supported in cases where performance is a priority.
  • Centralized environment management: Project-specific configurations and user role-based settings (naming conventions, tool preferences, etc.) can be easily managed and applied studio-wide.
  • Seamless tool integration: Both in-house and third-party tools are automatically integrated into the environment, either as command-line utilities (batch scripts) or directly within DCCs.

The core pipeline tools consisted of:

  • DCC Launchers: The pipeline supports the studio's most commonly used DCC applications (Maya, 3ds Max, Nuke, and Houdini) launched with project-specific environments and preconfigured settings.
  • Maya Asset Tools: A suite of tools focused on asset management, including import/export and publishing. The original tools were refactored to use the new pipeline framework.
  • Maya Advanced Tools: Specialized tools automating or streamlining common tedious tasks.
  • Mangrove Framework: An open-source graph-based automation system integrated into the pipeline, allowing to visually build and manage production workflows.
  • Utility Scripts: A wide range of scripts used across departments (modeling, lookdev, animation, etc.) to convert, clean, archive, and deliver asset and shot data.

ROLE

To streamline and standardize tool development across the studio, I designed and implemented a Python-based development framework.

The framework provided:
  • Common utility modules for file I/O, environment handling, UI building, version control, logging, etc.
  • Tool templates composed of abstract base classes, designed to accelerate the development of new tools (tailored for different DCCs or standalone execution).

New tools could rapidly and easily be implemented from templates, composed of a core module (holding the logic), and optional UI or batch modules (or both) depending on the usage context. Additionally, they could directly use the utility modules to access common pipeline operations.

Existing tools were refactored to adopt the new framework, improving consistency, maintainability, and scalability.

In addition to development, I was responsible for the ongoing maintenance and support of the pipeline, ensuring environments and configurations remained up to date, and integrating new in-house or third-party tools as needed.