Insulin Crystal
Inner Space @USC World Building Media Lab
Unity HDRP
Procedural Content Generation, Rigging, Animation

The Ask
We are building a 1:1, scientifically accurate, model of the Pancreatic Beta Cell to better understand how insulin is produced so that we can develop better drugs for diabetes. To do this we need a suite of custom tools to build cellular structures at scale while adhering to real-time rendering constraints of an RTX 2080 Super.
One of the centerpieces of the experience is being able to simulate and render insulin crystals in real time.
Original Solution
In an earlier phase of the project, due to rendering constraints, the insulin crystal was abstracted, as shown in the image below. Tetrahedrons were used to represent the mass of constituents rather than their amino acids.

Procedural Content Generation
To make these assets more useful to scientists we begun to systematically and algorithmically construct the proteins based on the atomic coordinates.
The video below demonstrates how we translate the atomic coordinates to our tetrahedron visual language which represents each amino acid as one tetrahedron.

Below is a technical drawing for an insulin hexamer (made up of three dimers and six monomers) which are the foundational building block for the insulin crystal. The first prototype was done manually by an architect in Rhino, afterwards we created a custom python plugin in ChimeraX to do this programmatically.

To build out the full crystal, I worked with the structural biologists on our team to identify the pattern in which they grow. We discovered that they can be abstracted into hexagonal prisms that recursively grow in a honeycomb pattern.


With the pattern identified I wrote a recursive algorithm to build out the crystal in Unity.


Early experiments programming behavior to visualize insulin formation.



With GPU instancing we can scale up this crystal to 20,000 hexamers.

Rigging and Animation
To showcase this project outside of a VR headset, we made an in-engine cinematic video that showcases an insulin crystal being formed and released into the blood stream.

To build the hero shot of a monomer, dimer, and hexamer binding together I created a custom rig in Blender and keyframe animated the sequence.

Putting it all together I mixed together Blender keyframe animations, runtime-simulated programmed behavior, and GPU instancing.
