Bloodflow VR

Spring 2018 | VR, Unity, computer graphics
[Stanford Daily Article]

I collaborated with Lighthaus Inc. and the Marsden Lab at Stanford to make cardiovascular simulations come alive in VR. Specifically, I created a data pipeline from SimVascular—a cardiovasular blood flow simulator—to Unity, where the timestep results of those simulations can be animated and freely manipulated in VR.

Animated pressure streamlines (videos might not play on mobile).

Medical simulation data is very dense, much denser than data one might typically use in a game engine such as Unity. The files produced by simulators like SimVasular ended up being way too large for Unity to smoothly import, render, and export. I had to find ways to reduce the upfront data footprint, as well as optimize how Unity ingested and rendered the results.

Aggregate timestep files generated for any sufficiently detailed simulation regularly topped dozens of gigabytes. At the time, Unity—despite being a 64-bit engine—was not able to export shared resources exceeding 4gb. In other words, Unity is normally not able to export single scenes that contain more than 4gb of content. Cache trickery was necessary to get around this, in which a series of “dummy” scenes were created and preloaded in chunks of 4gb apiece.