In April I did the World Building Mentorship at "The Mentor Coalition". My Mentor Billy Matjiunis guided me through the whole process from Concept to Final Scene in Unreal Engine 4.
At this point, thanks to Billy and the Mentor Coalition and also to Polygon Academy, Tim Simpson released a video about Trim Sheets, in which he talks about the importance of trim sheets and how to use them.
Billy asked me what kind of environment I would like to do. I decided to do a Mayan/Aztec Tomb (Uncharted, Tomb Raider). I started gathering Reference Images and to blockout a simple scene in Maya, which I rendered in Toolbag and used as base to do a paint over in Photoshop. Even this is not the most fancy concept art, it still gave us the idea how it needed to look like and what kind of props i need to create.
Blockout in Maya and Lighting in Toolbag:
Paintover in Photoshop:
Greyboxing and Lighting
First I blocked out the level to just get a feel of size, proportion and composition. I just used BSP brushes inside Unreal and did a little landscape sculpt. I placed a few cameras around the scene and always checked if proportions are correct and composition looks good. I added lighting and fog to the scene. The scene already had a mood, it was playable and felt the way it should feel.
Next step was to think about which objects I would need to create. So I created this modular set of props which will be used over and over to populate the scene. This set (image below) represents just the base meshes, they were refined later.
I gave every prop a quick "automatic unwrap" to be able to assign a simple material inside Unreal (basically just a color with some roughness/spec information) to get a first look of the scene with colors. Later I left some of the bigger blocks away and used the big "balcony" mesh instead, so I left number 3 and number 2 and used 1 instead.
I've actually covered about 80 percent of the scene by just using 3 trims. As I've experienced it by creating this scene, trim textures are a huge time saver. I did this scene in about one month and week... but thinking about sculpting, modeling, creating unique unwraps, texture map bakes and textures for all props made my brain explode.
So, Billy said that trims will help a lot. You probably get away with better quality when you are focusing on every asset on it's own, doing unique unwraps and giving them unique textures. But when you need to save time and work towards a deadline, trims will do the trick. When I finished the concept I pretty much doubt that I could create this in a month, and when I did the block out in Unreal I got a feeling of the scene's size and I thought it will take me months to finish that scene.
Trims also have the advantage that your scene will get a cohesive look. Your scene won't get too noisy, with...let's say, too many different patterns or variations of brick walls. And a cohesive look will help to get the feeling that everything in the scene was built with a specific purpose in a particular way. Let's say, if you'll need to build a Nordic-Viking-scene, it won't be a mistake, if you got runes engraved in stone on your trim sheets which you'll be able to use over and over again.
A little disadvantage about trims may be a repetitive look in your scene on bigger shapes. But inside Unreal I used decals and material blending (vertex painting) to break this repetition.
But first things first, the trim needs to be built.
Trim Sheet No. 1
First, I used Maya to block out simple brick patterns which were snapping to the grid (actually a plane that is placed underneath the bricks) and tile when I moved the whole thing horizontally. As you can see below, I've shifted the blocks either 0, 1 or 2 units (plane with 10 subdivision) left or right. That way you can get rid of a seam that will show off when you tile this texture.
Next step is just a personal preference, but before I export it out as an obj. and bring it into ZBrush for sculpting, I selected all bricks and combined them to one mesh. This way I didn't have about 40 individual subtools inside ZBrush. I just had one and I just needed to subdivide (or Dynamesh) one subtool. But I still had the oportunity to sculpt on them individually by going to Polygroups>Auto Groups.
Now all meshes (not connected meshes) have their own polygroup and by holding Ctrl+Shift+LMB (left mouse button) I can isolate one polygroup and sculpt every single brick individually.
After I gave the texture a base sculpt, I duplicated the subtool and moved it to the right that it tiled. So, if you want to create a tiling texture in ZBrush and haven't done that before next steps can be a little bit tricky:
1. Hide the bricks subtool and show the plane.
2. Move the plane to the right, doesn't matter how much you move it but it needs to cover all of the bricks, there should not be a spot where there are no bricks, if that makes sense.
3. Hit F to focus on the square plane (make sure that nothing else is visible just the plane)
4. Hide the plane and make the bricks visible again.
5. At this point you should not move the camera again. Just give the bricks the "Normal-Material" which you can download from the Pixologic website.
6. Go to "A" Render then deactivate "B" Shadows, after that click on "C" BPR to render the image and then click on "D" Shaded to save your render.
In Substance Painter I baked a Curvature, World Space Normals, Position and an AO map which I used for texturing with generators inside Painter. I used the sculpt from ZBrush just as a base, I also added a stone/rock material to it, painted a little moss inside the cracks and gave the bricks a subtle color variation. After texturing I exported out my Albedo, Roughness, Metallic, AO and Normal. That was Trim sheet No. 1, for the 2nd trim I used a different workflow.
Trim No. 2
I created the second trim sheet with focus on the bridge-mesh I modeled. So I put wood and ropes on that one. But I used a different workflow to create that. I wanted to use Substances latest software release "Alchemist". First I created just the albedo information inside Photoshop. I looked up for photos on the internet and "textures.com" and found some rotten wood and bridge pictures I used for this material. Inside Alchemist I played around with dirt generators and made the photo tile-able. Alchemist gave me Roughness, AO and the Normal map to complete my texture set on that second trim sheet.
Trim No. 3
The third trim sheet I used was actually little bit more unique (I just used it for the big relief. So actually this is not a hotizontal/vertical tile-able trim sheet, it's more a circular texture pattern. But to get this one i used another workflow.
First, I found this mayan/aztec black and white pattern on the internet which I used as a height map inside Substance Designer.
I added some edge wear on top and noise. So inside of Designer I just added normal information, exported it out and used this normal map (as in Trim Sheet No. 1) to bake my AO and my Curvature for the texture creation inside Substance Painter.
Adding height to a flat surface
Basically I would model something, create UV's, thinking about Highpoly/Lowpoly baking and start texturing. For the models on which I used the trim sheets I started actually with the texturing (Trim Sheets) and based on that texture I modeled in Maya the basic shapes for the meshes. So instead of just adding the trims to a surface I added a little height information to the mesh itself too (Multi-Cut/Edge-Loop Tool and Extruding).
Trims also have this advantage that you can make changes on the fly by just moving the UV shells around, so you can make quick changes whenever needed. And the whole scene creation was very iterative. When I had my mesh (with UV's) inside Unreal and also added a material (Trim Sheet) to it, I got a feeling of how it looks like when I started the level and walked around. So if anything just felt not the way I liked it, I just did a few tweaks on my UV Shells inside Maya, exported it and imported it again in Unreal.
Breaking the repetition
At this stage, the scene looked cohesive, but still repetitive. By having large pieces (balconies on the side and walls) tile-able textures can look quite repetitive, so I created decals (blood, dirt) and vertex painting shaders (moss, dirt) to make my textures look more unique.
When you've connected the Red Channel Output from your "Vertex"-Node, make sure that you choose the red channel as your painting color as seen in the image above.
In the image below, the edge loops in the middle will look unnecessary, because it won't affect the shape. But because the more vertices on bigger shapes, the better the texture blending will work.
Iterations and final polishing
The whole project was based on doing iterations and going into detail more and more as the scene evolved. After I've created the modular kit, I knew that in the final scene will be foliage as well, but I didn't focus on that first. Adding grass, vines and ivy was meant to be in the polishing stage for this project. Also, when I created my first trim (actually just the normal map out of ZBrush), I imported it into Unreal and just created a simple shader (Roughness 0.8 - Metallic 0.0 - Albedo "Vertex Color") to get a first look inside the engine. Later I refined the texture with Substance Painter.
But doing the grey box block out and thinking about where I will hang my vines and modeling them would have been a mistake and a waste of time. But when I had my textures and my meshes finished it was time to think about that things. My vines actually have the Trim No. 2 assigned (actually just placed the wood texture of this trim to the vines) because in the polishing stage I knew how the lighting was going to be and they kind of just hang in darker spots.
If I had started with sculpting and texturing vines for three or four days in the beginning of the project and had gone crazy with details, it would have been a complete waste of time, since in the end, you can barely see the vines, or at least you just see the silhouette and the player will never get too close to them.
Iterations on the scene:
(The music in the video is from Shadow of the Tomb Raider - All rights belongs to their respective owners. Music composed by Brian D'Oliveira)
Now that the scene is finished I can say that this project and the mentoring helped me a lot to get a better artist, not just from an artistic perspective, but I can also create environments more efficiently, from Concept to final Game Ready Environment, since it needs a strategy to tackle stuff on that scale.
I want to say thank you to the Mentor Coalition and Billy, I can recommend the courses on the mentor coalition to everyone who wants to get a better artist.
And also thank you to Polygon Academy and Tim Simpson! Polygon Academy has a lot of great videos, especially for beginners, mid-level-artist and people who want to break into industry.