

Client: Budweiser
Studio: Framestore
Role: FX Artist (full crowd system)
Budweiser Thunderstruck was an incredible spot to get to work on at Framesore. On this spot I was responsible for the entire CG crowd which was a massive undertaking. I worked closely with the lookdev artist early on in the process to make sure our crowd shader was working well and giving us both the randomization but also control we would need later on such as choosing team colors and distributing different levels of color variation.
I built the crowd system in Houdini using its robust crowd features. This allowed me to use attributes maps over the crowd to drive which agents would use which animations. I was even able to transition agents from one motion clip to another in certain shots. I used similar methodology taking advantage of attribute maps to populate props including giant flags that I added a vellum cloth sim to.
Passing this crowd to lighting for rendering in Arnold was not so straight forward though. When you have over a hundred thousand agents in some shots you can't just cache them out as a single geometry cache and expect that to work. Even if the cache did complete Arnold would never be able to load that much geometry in. So I developed a dynamic caching system where I diced the crowd into around 80 blocks. and cache each one out as a separate Arnold procedural. Then I created a custom tool in Houdini that would allow the lighters to dynamically load in each block as a render instance as it appeared within the camera's Frustum. This workflow not only sped up our renders dramatically, but also made the job possible as a whole.








