Project: Microsoft Avatars




Since February of 2015, I've been a member of the Avatars team at Microsoft.

While I was brought in with the primary role of building internal prototype demos for a new generation of Avatars, I have also periodically been called on to share my Technical Art expertise with the team building current-generation Avatars as well. Due to the many target platforms for this project, I've had to draw on all of my previous development experiences. While I still can't share details, I'll do my best to describe the various aspects of my work below.


Technical Art
With the goal of making the new avatars look as amazing as possible, building and exploring many approaches has been vital. Be it the latest shader lighting models, blendshapes, runtime IK, or physics systems - it was necessary to shine a little light on everything in order to prune it down to something still beautiful, but more feasible.

Additionally, I had to work with prototype content artists to build and maintain intuitive pipelines, ensuring that things were properly set up for the features being evaluated.

Technical Art work has included:

  • UI/UX Automation Tools & Construction
  • Animation
    • Pipelines
    • Tools
    • Importers
    • Masking
    • Skinning/Weighting
  • Runtime IK Rigging
  • Shader Creation
    • PBR
    • Effects
  • Documentation
    • Asset Guidelines
    • Pipelines
    • Runtime Systems & Requirements
  • Physics
    • Joint-Chains
    • Cloth
  • Lighting
    • Enlighten Realtime GI
    • Light Probes
    • Realtime

Building the next generation of Microsoft's Avatars has been a very enjoyable experience, one which presented interesting technical challenges due to the very tightly restricted spaces in which they must appear and the wide variety of platforms being targeted. The Xbox in particular is much tighter on resources when building content to run without disrupting the performance of primary applications, like games.

As the only engineer on these internal prototypes, I've handled many different tasks, including:

  • UI/UX Functionality
  • Avatar Instantiation/Construction/Customization
  • Custom Camera Rigs
  • Animation States and Logic
  • Custom Runtime BlendShape Systems
  • Controller Input