We made an interactive experience that allowed visitors to the Omega pavilion to race alongside virtual versions of athletes like Noah Lyles and Hannah Cockroft that were displayed on a large LED wall. I and a small team comprising David Richards and Brent Alexander created a packed-out Stade de France in Unreal Engine 5 for these athletes to race in.
Breakdown video created by David Richards
The crowd system that I had originally developed for the Qiddiya City project was used to fill the stands of the stadium. There were around 90,000 moving characters in the stands along with hundreds of waving French flags and a few large flags dotting the stadium all while maintaining a stable framerate. The system uses PCG to place instances of an array of static mesh characters with a world position offset function to give them some movement. Each instance has a deterministic random variation for their movement speed and intensity and their clothing color to reduce the repetitiveness of the relatively small pool of characters. I also made a global controller so the look and movement of all characters could be dialed in easily.
As these characters didn't hold up well enough close to the camera I also set up a system for adding animated skeletal mesh characters in areas that we knew would be close to the camera. This consisted of a blueprint that would allow you to easily assign different skeletal meshes and animations. We were tasked with creating renders that needed to loop seamlessly so I made some logic in the blueprint to ensure that every character animation would loop at the same time that the render sequence would loop regardless of the original length of the character animation.
I have since developed a new and improved version of the crowd system that provides better and more flexible control over the placement of the characters and uses fully animated VAT characters that offer better animation that holds up even close to the camera while being almost as cheap as the old system.
This project also was an opportunity for me to explore UE5's character animation system which I didn't have much experience with at the time. I learned how to retarget, merge, and fix character animations.
I was tasked with modeling and texturing Omega's official Olympic time-keeping equipment that could be used around the track and in the animations such as the starting pistol, starting blocks, scoreboards, and various sensors and cameras.
I was also responsible for creating the virtual versions of Hannah Cockroft and Marcel Hug's racing wheelchairs. I modeled and textured them both before passing them off to the animators.
A printout of a 360 render of the environment looks to have also been used in these photoshoots