Animated Crowd Simulation - Detective Dotson The Movie
“Detective Dotson” is a multimedia project featuring an animated movie and a video game. For the movie, I created a digital crowd simulation for rendering in Unreal Engine 5, which involved a mix of Unity C# programming and Blender 3D work. The background crowd was a crucial story and visual element of the climax of the movie, set in a cricket stadium, as the protagonists try to thwart Tapka Sena and Amma’s plans. The crowd created was a collection of 2D pixel art characters that could be viewed from 5 different angles, featuring over 50 unique character variants, each with at least 3-4 animations, such as cheering, crying, and idle. The crowd was featured in more than 30 shots in the movie.
Behind The Scenes:
My role in the project was to take all the base character sprites and animations as image sequences from the 2D Art Team, set them up using my pipeline in Unreal Engine for various shots and then forward them to the Technical Direction team to refine all the shots in terms of cinematography and main character animation.
Firstly, in Unity, I set up 2D Spine characters with their animations and various angles and set up a flat view of a randomly generated crowd. Then, in Blender, I used UV unwrapping to put them on curved planes based on the stadium’s layout. In Unreal Engine, I took the models from Blender and used the movie tools to play video textures. This was a highly optimised rendering approach compared to individually animating thousands of Spine characters in Unreal.
The Unity Shader Graph (below) shows a shader that swaps colours for the sprites to allow for randomisation. Through this palette swapping, I was able to add visual variety in the crowds from a handful of unique characters.
The Unity Editor view (below) shows the parameters I could modify for each section of the crowd, including animations, angles and overall shape. This allowed me to fine-tune each crowd section based on the shot’s angle, the section of the stadium the crowd was in, and the emotion of the crowd for the scene.