Glenn Donaldson showed in great detail how great 3d spaces are being made, covering modeling, low poly versions, texturing, baking, and render tests.
My name is Glenn Donaldson I currently live and work in England but I grew up in a small beach side town Warner Beach in South Africa, I left there when I was 20 to pursue an education and career in digital arts in the UK. I went to the University of Gloucestershire and then went on to work in marketing and advertising using my 3D art skills. I was determined to work in the game industry and I joined a local mobile games company Neon Play in 2010. Now over 7 years later I have helped release over 30 titles which have gathered more than 60 million downloads in total.
A few months ago I was asked if I would like to do a talk at the University of Gloucestershire for a video games exhibition they run called Gamex. I thought it would be interesting for the students to see how high-quality game environments are created from start to finish. I decided to make something simple and modular and document the process for the students benefit and settled on the idea of an art nouveau inspired train carriage interior. My wife and I had recently visited Vienna and I was really impressed by all the incredible art nouveau architecture and art on display there and that is why I choose that particular style. I gathered reference on google and even went to a charity shop and bought a cheap book on art nouvea as it had some interesting images of furniture in it. At this stage, I had enough reference that I could see some shapes and styles and themes that I wanted to emulate and I drew a quick concept art sketch. Of course, usually in a studio environment, the concept is supplied but I actually kind of enjoy doing my own concepts when I get the chance. I added flat colors to the concept so that I could start planning the materials and think about how the assets should be divided up and constructed.
I started with a very simple blockout of the modular shapes in Maya, ensuring that everything was to scale. I just used a cube around 1.8m tall and 1m wide as a pretend person and got my perspective camera down to that level to make sure the scene would make sense and be to scale from a first person view. I then flipped and duplicated this modular blockout mesh a lot to check that it tiled seamlessly. Already I could tell whether it had the right feel for a train or if it was too wide or had seats that looked too long etc and I fixed these issues before adding any details or wasting any time.
From there it was straight on to the high poly mesh which I created in Maya using smooth mesh preview mode a lot. I used my blockout as a basic guideline and once my high poly was definitely looking like it fit the blockout well I would hide the blockout models. I then proceeded to polish the high poly shapes and details, keeping in mind that most of the smaller details would be added later in Substance Painter. I try to keep my edges slightly soft even on very hard edged objects as I find this results in nicer normal maps. I was also often thinking about how to contain my shapes and details nicely so that the low poly game ready version could be more efficient and faster to make. The high poly cage mesh models were then used as a base to start the low poly, removing unnecessary loops and adding others to approximate the high poly shapes better.
I was always aiming for this to look like something out of a big budget PS4 title so the low poly ended up being 10644 triangles per modular section. The meshes were split into 3,1 for the chair and 1 for the carriage wall, floor, and ceiling and 1 for the pillar. This meant that I could define the texture resolution of the chair and pillar independently of the rest of the carriage modular section and get a better balance of high pixel density across the scene without having to have huge textures. I set up my high poly model for baking an ID map in Substance Painter by applying a vertex color per material type.
I created all the materials and textures in Substance Painter, the baked vertex color ID map made the process very fast and easy. I used a lot of built-in materials and smart materials but often significantly edited them or added to them. I find that using folders with masks on them is a great way to break apart the procedural looking results you can sometimes get using standard tools and materials and help me approximate a real material better. The drop down menu in the top left of the layers menu is also massively useful when trying to really nail down the look of a particular material, especially when the standard roughness values of a material look odd. The result was 1 set of 2048×2048 PBR textures for the wall ceiling and floor as these occupy most of the users’ viewport, 1 set of 1024×1024 PBR textures for the chair and 1 set of 1024×1024 PBR textures for the pillar.
These assets would work well in any PBR game engine as they are, especially on consoles or PC. I didn’t pack the textures for this portfolio project but I could have easily output the greyscale textures from Substance Painter, roughness, ambient occlusion and metalness and packed them into the RGB channels of one image to save on the number of textures being used in the engine. LOD meshes were not created either but it would have been quite simple to just remove any edge loops I could be based on the required camera distance and if necessary rebake textures. I tested halving the resolution of the textures on the wall mesh and the difference was noticeable but certainly still acceptable so that is another easy way this scene could be optimized for less powerful devices. Once I had created all the necessary modular low poly meshes I flipped and duplicated them multiple times to create the full-length train carriage which could be exported to Marmoset Toolbag 3.
The lighting set up was a fun challenge, I really wanted to use the voxel-based global illumination in Marmoset Toolbag 3. Once all my assets are imported into Toolbag 3 I usually turn off the background sky and start with a completely dark scene. I begin to add my lights one by one starting with the most dominant light source. I wanted to create 3 lighting setups for this scene, night time – lit by the trains own lamps, daytime – lit mostly by the sun and spooky – a more horror style scene lit from a spotlight placed nearby the camera simulating a torch. I also set up my camera post process settings for each of these themes.
I love how light and composition can tell a story in a scene! I purposefully pulled some of the chairs away from their perfect positions to give the train a disused and broken look as if it had been looted or searched. I wanted it to feel like the train was put out of use many years ago and yet it still holds most of its former beauty even in its brokenness. The Toolbag 3 global illumination was awesome, it really helped bounce the light around in spectacular ways. It’s worth taking the time to set it up for your scene size and brightness as it can be really helpful!
At one point I found I was getting light leaking through the edges of my modular meshes, I created a shadow box object that encompassed my whole scene in order to cast shadows that block any unnecessary light. This is a common workaround but there may have been a way to create capped models that do not let in the light so that is something I still want to investigate. Finally, I used Toolbag 3’s video capture and image capture tools to get extra high quality captures.
One of the biggest challenges I faced with this project was just having time to make it on top of my normal work week. When I first showed this scene for my talk at the University of Gloucestershire it was incomplete, I just didn’t have the time to make the pillars yet and some of the scenes did not meet my standards of quality yet. I nonetheless had enough to communicate what was necessary to the students which was a relief. In total it must have taken around 8 days of solid work from concept to final polished scene.
Thanks for reading about the creation of this environment! I love creating environments and characters for games and I hope that I can help others find the joy in it that I do. Here are some of the final images of the environment plus a very short fly-through video.