Turns out this is harder than you’d think, as classical architecture usually operates on the golden ratio of 1:1.61. Instead, I broke everything down into a 12 grid, since 12 is divisible by 2, 4, 3, and 6, it was the optimal number. Floor tiles became 6x6m, and walls could be broken down into any arrangement of 2s, 3s, and 4s which allowed me to round as close to the classical proportions as I could get.
All of the assets were designed with optimized topology in mind. The final project file even with over 100 4k textures ended up being only 3GB, and if i downscaled all the textures to 1k, I could get the final package size down to only a couple hundred megabytes. It was important that I designed assets with detail that was capable of cinematic quality, but that could still run on a mobile game.
I tried to do my best to create a diverse enough pool of props on a limited timeframe. I eventually migrated all of their materials over to my own powerful master material. All of my materials ran fast as lightning on shader optimization, with the power and flexibility to tint any of the colors. For some, I rendered splat maps with color masks so the individual colors on the objects could be tinted separately.
I wanted to design using the principles of classical architecture, combining what I new about the corinthian order with a fixed modular grid structure where everything snaps to a meter scale.
My process mainly involved modeling and UV unwrapping the low poly models in Cinema 4D first, before sending them off to Zbrush to detail the highpoly and then bake and texture it in substance painter. I had an ever growing library of ornamentals I could kitbash with. Meyers Handbook of Ornament was invaluable in the development process. It gave me some of the best reference I’ve ever used.
Motivated lighting was a big must. As soon as I added the lighting it transformed my scene. I built a set of candles inspired by House of the Dragon. Some gorgeous candlelit cinematography in that show, and when using simple color correction and Unreal Engine’s convolution bloom as a halation filter, you can achieve a similar result.
