Procedural sports stadium generator, based on the "SoFi Stadium" in Inglewood, CA, USA.
This has been an 8 week project to improve my procedural asset workflow, including implementation in Unreal Engine 5.
The final asset breaks down mostly into instances and a few pieces of unique geometry. Chairs, walls, floors, lights, pillars and beams are all instantiated and can be populated with assets in Unreal, giving the final output different-looking results based on the chosen instances.
The size of the stadium is determined via a "Capacity" parameter, which is used to estimate the amount of seat-rows needed to approach the target capacity. The final result is roughly within 10% of the target value.
The resulting output can be played inside of Unreal Engine with proper collisions. All stories are connected via hallways and staircases in the back, meaning that it is possible to get from any seat to any other in the level.
One personal goal of mine was to try and optimize the generation as much as possible. I tried to use wrangle nodes in houdini and avoided loop blocks to increase the speed. Costly operations like booleans, VDB conversions and simulations are also avoided. In the end, the generation takes up to 2 seconds. At that point, loading the data into Unreal Engine using HoudiniEngine becomes the bottleneck.