With the Limitless VR Creative Environment you can animate characters directly in VR.

As principal engineer on this project I lead the user experience design and built the technical foundation for the initial previz animation tools. These tools allow animators to create paths and place animation clips along those paths to tell stories all while remaining in virtual reality. Application is built with Unreal Engine 4.

Other tools for virtual reality characters include the Limitless Character Interaction plugin for the Unreal Engine. Written in C++ this plugin allows designers, writers, and artists to easily create branching narratives based on a player’s gaze, head gestures, and voice commands. This tool was first utilized in the free virtual reality experience Gary the Gull.

Gary the Gull was released on all major VR platforms.


Limitless Lets Artists Create Animations Within Virtual Reality

Limitless VR




Destiny: Rise of Iron introduced the raid Wrath of the Machine. During this raid players board a giant machine nicknamed the Death Zamboni that crashes through two large barrier walls. I created the simulation for these barriers while also developing technology to simplify creation of future destruction animations. I was also instrumental to creating the geometry, shading, and setting up the gameplay systems for these walls.

The Simulation Tool was written in Python for use in Maya. It was intended for organizing complicated nCloth simulations and automatically rigging for use in the Destiny Engine.


Vertex Animation

Vertex animation uses the power of mathematical functions to manipulate vertices on 3D models at the shader level. Using math to drive vertex positions opens up new possibilities for how models can be animated. At GDC 2016 I covered the mathematics behind some of the unique vertex animations found on assets in Bungie's Destiny. Techniques covered included strategies for converting mathematical expressions into animations through a shader node editor and how to leverage vertex color maps to refine shader animation. I also discussed ways in which game engine parameters can be leveraged in shader functions as well as how vertex animation can complement keyframed skeletal animation to give the appearance of more detailed complexity while still remaining efficient at runtime.

View the Presentation




While working on Bungie's Destiny one of my major projects was designing a workflow for creating hair. The hair production pipeline and the custom tool I developed was discussed at SIGGRAPH 2014, Character Heads Creation Pipeline and Rendering in Destiny Course and GDC 2015, Character Cloth and Hair Tech in Bungie’s Destiny. Personal work on the production of hair includes tool development for geometry creation and animation, shader and dye work, and animation. All tools were built with Python for use in Autodesk's Maya.  


Creating hair for Destiny was a challenging task. Hair needed to exist under some interesting constraints: current-gen and next-gen support using the same authored assets, fitting within gameplay budgets for use in non-combat areas while maintaining a high level of quality in cinematics, and creating believable motion without the use of real-time simulation. Destiny is intended to last 10 years, so we aimed to future-proof our workflows to support future next-gen hair developments while still maintaining efficiency with our current, proven techniques. The presentations linked below discuss the creation of a custom Maya tool for artists that simplifies the creation of hair geometry, shading techniques used to create believable hair, and the use of vertex animation as an inexpensive hair simulation.

View the SIGGRAPH presentation

View the GDC Presentation


Art by Bojin Shi and Corinne Scrivens


Why Hair Looks So Good In Destiny

Destiny's Hair Is Fabulous. Step It Up, Other Games.



Maya 3D Fractal Generator

Lindenmayer sytems (commonly known as L-Systems) are a type of fractal that can be used to mathematically describe plant growth.

L-Systems consist of a rule, a seed and a number of generations. For each generation the rule replaces each seed in the algorithm to create a plant like structure. Typically these algorithms are intended to create 2D dimensional images that, although plant like, are very mathematical in appearance and very non-organic due to the similarities between each generation.

My goal for this tool was the creation of three dimensional plant life and vegetation. Due to this specific goal I wanted these L-Systems to seem less formulaic and more organic. To achieve this I followed all rules typical to L-Systems but randomized both the span and segment length not only for each generation but for each created segment.

This tool contains a GUI to allow the user to adjust their L-System as they see fit. The user can also insert their own rule thus allowing for the creation of new types of L-Systems.

This script was written in Python and the GUI was created with PyQt.

Game Ready Muscle Rig

The goal was to create an arm possible for use in current/future gen games that utilizes a full muscle system to include all secondary animation that occurs due to impacts, twisting and general deformation resulting from common animations.

The following shows the final results possible from transferring secondary animation, simulation and deformation created from a Maya Muscle rig fully onto a joints only rig.




All details in this arm are purely due to the geometry and rig, it utilizes only a solid color diffuse without any detail or normal maps.


This same technique can be transferred to any other body portion.


Additional Rigs

The following are examples of several rigs I worked on for Penned. Many features of these rigs are scripted and can be easily duplicated.

Shown below is Finley's rig. It is able to be constructed completely through button presses on a custom shelf and allows for instant adding of mocap data. It has a reverse foot setup, complete hand rig and all secondary animation is automated using Maya hair dynamics. 

animations by Amanda Beaver

Below is the Black Cat rig. It uses a ribbon spine setup for the spine and tail, has paw rotation and spread control, and a full set of face controllers.

animations by Silvia Arana

Below is the face rig used for the Poe busts in Penned.  It is rigged in a stylistic manner with set expression and additional controls to futher exaggerate those or add an offset.  While it is not shown below, the entire bust was also rigged so if Poe got very excited his entire model could move in respond to his expression.



Chameleon shader written in HLSL.

In the video the image behind the chameleon is the image I'm inputing to change the current diffuse and specular textures applied to the chameleon. With the sliders I am adjusting the threshold, which changes how the input texture is sampled, and the level of influence (how much it blends between the new color values and the original).

Original Texture Sheet:

Particle Effects

The goal was to have a collection of visual effects influenced by ink. This would consist of ink splats and sprays, flinging of ink, large gel-like globs and ink that bleeds through parchment.

The two particle effects shown below were made by filming ink as it was splattered onto green cardboard and then using Adobe After Effects to remove individual frames. These frames are then used to create particle sprites.


The particles below were made using RealFlow and then rendered in Maya with a CGFX shader. Adobe After Effects was then used to remove individual frames from the rendered movie to create particle sprites.


The following are images and videos of other particles effects I created for Penned.



3D Navigation Using the Microsoft Kinect


The project goal was to use motion control to navigate a common, everyday computer application. The main focus of which was the creation of a new graphical user interface design for accessing file systems that can be successfully navigated using only the Microsoft Kinect.

There were two main issues presented by this project.

1. How does the ability to perceive depth change current computer navigation structures?

2. How does one use skeletal tracking to perform common computer actions?

The increasing application of motion control for common computer usage creates a whole new set of problems that must be addressed; a new way to organize computer fundamentals in three dimensional space must be developed. Two dimensional programs ignore the major advantage motion control has over the current mouse and trackpad: an ability to understand depth and movement in space. With motion control the desktop environment is truly an environment existing in three dimensions. On a highly abstract level the desktop environment can be thought of as changing from a rectangle to a cube. My specific prototype solves this problem by organizing the file system into a spiral shape with the directory resting in the center.



Natalie Burke