As a Technical Artist at Black Rock Studio, I worked on tools to improve artist workflows and quality. Here’s an overview of some of those tools.
An important part of the toolset was to have a reliable way of delivering updates to the team without any effort on their part. A tool called Pluto made sure the local scripts and tools were up to date before launching the DCC application. It focused on Maya, but eventually more applications could be added (like Photoshop for shared brush sets).
I made it completely frictionless for the artist. Pluto associated with common files, so that when those files were opened, it synced up a Perforce repository to the latest versions and then launched the actual application. It can also be configured per project, allowing for different workspace setups on each ongoing project in the studio.
Pluto is written in C# and uses WPF with a custom dark skin theme I created. Each DCC application managed under Pluto has a separate wrapper application, which communicates with Pluto using WCF. The wrapper application is used to associate with the appropriate files and tells Pluto to launch the application.
What happens in the background can be described like this:
.mb -> MayaLauncher.exe -> Pluto.SyncAndLaunch(...) -> maya.exe
.psd -> PhotoshopLauncher.exe -> Pluto.SyncAndLaunch(...) -> Photoshop.exe
On the Maya side, I wrote a bunch of other tools (all in Python, using QT) with a strong focus on usability.
- ExportManager: Export tool for static meshes, characters, animations
- AssetValidation: An asset validation framework for tests that run on the asset right before export.
- PerforceUtility: Small perforce client in maya. Great for quick edits on a file
- DebugConsole: A proper logging console with channels. All tools had heavy logging, which made it easier to find out where something went wrong.
- Rigging Utilities: Helped out other TA’s on rigging tools.