There were a few different components at play in this piece.

First was to set up a system to dynamically choose 3 of the 5 possible Driver Benefits, and inject those into the edit per-video.

While the shot picking system was being established, I had to devise a mechanism that could accept any text in any language, and ensure that it fits within the designated area– while preserving animation.

Now, we all know about sourceRectAtTime(), but that falls short in that it can't dynamically inject line breaks between words to better reflow for the layout... I built a system that could.

Zack Lovatt focuses on toolkitting, building custom studio pipelines, expression rigging projects, and creating data-driven animation workflows.