Football Stadiums
BREAKDOWN - SEATING
BREAKDOWN - MODELLING
These stadiums were built for two separate sports training projects that had different requirements and platforms. The performance ceiling for both were quite low due to the need for at least 22 avatars animating at runtime. A detailed environment was required but performance and optimisation was key.
The first challenge was the seating. Stadium capacities in these projects ranged from 11,000 to 90,000 seats. This would result in extremely high triangle counts and low performance if the seating wasn't optimised.
I opted to use a tileable texture, which I baked onto a plane, with the UVs repeating outside of the 0-1 space mapped to simple quads. Sometimes, if there was no change in seating colour, an entire row of seats would only be 2 triangles.
These stadiums were built for two separate sports training projects that had different requirements and platforms. The performance ceiling for both were quite low due to the need for at least 22 avatars animating at runtime. A detailed environment was required but performance and optimisation was key.
The first challenge was the seating. Stadium capacities in these projects ranged from 11,000 to 90,000 seats. This would result in extremely high triangle counts and low performance if the seating wasn't optimised.
I opted to use a tileable texture, which I baked onto a plane, with the UVs repeating outside of the 0-1 space mapped to simple quads. Sometimes, if there was no change in seating colour, an entire row of seats would only be 2 triangles.
BREAKDOWN - TEXTURES, MATERIALS AND SHADERS
By default the URP and HDRP shaders don't have an option to multiply colour onto an albedo texture with a mask input so I made my own in Shader Graph. It essentially behaves exactly like the standard URP and HDRP Lit shaders but with the added alpha multiply functionality. Although only used on the seating this shader is generic and works with other textures so long as they conform to the same setup.
By default the URP and HDRP shaders don't have an option to multiply colour onto an albedo texture with a mask input so I made my own in Shader Graph. It essentially behaves exactly like the standard URP and HDRP Lit shaders but with the added alpha multiply functionality. Although only used on the seating this shader is generic and works with other textures so long as they conform to the same setup.
Arch Viz Bathroom
BREakdown - GRAZIA Hexagon bathroom tiles
PROCEDURAL TEXTURE BREAKDOWN
Firstly I created the normal, roughness, metallic and ambient occlusion maps for the base tiles in Substance Designer and exported those separately. I then created 4 different patterns that would multiplied across the base tiles.
Firstly I created the normal, roughness, metallic and ambient occlusion maps for the base tiles in Substance Designer and exported those separately. I then created 4 different patterns that would multiplied across the base tiles.
MATERIAL BREAKDOWN
Using one base material I made 5 instances to create the different tiles. I created parameters for the pattern texture, UV tiling and a switch parameter to toggle the pattern visibility. The pattern, when visible, is multiplied over the base tile albedo. The Ambient Occlusion, Roughness and Metallic maps are packed into one Targa file.
Using one base material I made 5 instances to create the different tiles. I created parameters for the pattern texture, UV tiling and a switch parameter to toggle the pattern visibility. The pattern, when visible, is multiplied over the base tile albedo. The Ambient Occlusion, Roughness and Metallic maps are packed into one Targa file.