Vera for Maya (2017 - 2018)

Vera is an interactive content creation pipeline that bridges the gap between 3D modeling software and game engines. Starting with any 3D modeling software, a user could use a template to apply functionality to their 3D models. The resulting file could be imported into any game engine to produce a consistent, functional, interactive asset that is ready to use. Vera aimed to capture and reuse common code to reduce the need for back-and-forth within teams, decrease time spent rebuilding assets, and to enable both artists and programmers to prototype beyond their own domains. Customized for a specific team or project, complex templates could be used to replicate entire workflows.

The first version of Vera was designed to be accessed through plugins native to each supported application. We chose to start with Maya and Unity.

User Interfaces in Maya (Python with PySide2 and PyQt5, MEL)

As our company shifted from content creation towards software development, I stepped into the role of UI Designer for the Maya plugin thanks to my prior experience with MEL and Python interfaces in Maya.

  • Produced UI prototypes that tested new features as they emerged and were requested. Early prototypes were written in Python using Maya’s native interface blocks before switching to Qt.

  • Researched and learned to use both Qt modules for Python: PySide2 and PyQt5. Wrote documentation to inform other programmers on the team and allow them to learn the same modules faster when they had time.

  • Designed procedural UI prompts to accept each type of expected input data, allowing the interface to request any element needed by a given template.

  • Worked together with our programming team to ensure my code worked safely and communicated efficiently with back-end code from the rest of the team. My code stayed within its specified domain to prevent overlapping responsibilities.

Templates and Assets (Vera, Maya, Unity, Custom JSON Editor)

Vera connects artistry with functionality by means of templates. Within each template, functionality was introduced by modules. While our other programmers worked to develop more modules, I worked to develop the templates that made use of them and inspired them.

  • Conceptualized and organized possible templates in order to help predict the most appropriate direction for Vera to grow, identify gaps in expected functionality, and to single out archetypal assets for each feature we introduced.

  • Produced and tested a large number of templates using an in-house template editor. I curated the team’s list of completed templates that were tested and up-to-date.

  • Produced a number of stylized 3D models to test new features and to help present Vera for marketing and investment.

An example asset being run through Vera