Creating Environments efficiently through Iterations and Trim Sheets

Article / 16 May 2019

Introduction

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.


Concept

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.


Modular Pieces

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.


Trim Sheets

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.


Without shifting:

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.

If you connect the alpha from the Lerp-Node with a Vertex Color Node (right click and search for "vertex"), you can actually paint this blending onto your mesh. Simply use the output of the Vertex Color (e.g. the Red Channel) and connect it to the Lerp-Alpha. 

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:


Final 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)


Conclusion

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.

Website - The Mentor Coalition

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. 

Youtube Channel - Polygon Academy

The Throne Room (Workflow)

Making Of / 04 March 2019

Finding a Style


Since I didn’t have a concept art for the whole scene and I am not the best painter, I created a certain style for my first props and then was trying to stick to this style throughout the project. I blocked out the low poly version of these pottery in Maya using reference photos.





As I’ve finished the UV’s for these pots I imported them into ZBrush to give them little details like cracks and edge wear. I left a little space in my UV map for the falcon head since I knew that I go from high poly to low poly on that one and after doing the low poly retopology I would need to lay out the UV’s for the head.



So after sculpting the falcon head I put it into TopoGun to do the retopology. For my past projects I almost did just hard surface stuff and mostly went from Low Poly to High Poly. If I had to do a retopology I used ZBrush’s ZRemesher to get down to a lower polycount. But on this one I wanted to try TopoGun for the first time and do a retopology on my own. It worked out pretty well (even if this might not be the best topology for animation, but it works actually for a static object).

So, after doing the retopolgy (for one half) I sent it back to Maya to mirror it onto the other side, merge it together and to do some clean up and the final UV’s for my whole UV Maps.



Baking worked out pretty well at the first try (sometimes I need to tweak the models a little bit, changing the distance between high and low poly meshes to get rid of little baking errors or intersections with other meshes). But baking with Toolbag is pretty awesome. I like setting up Baking Groups to avoid meshes intersect with one other. You are also able to change distances (Front Cage/Rear Cage) for every single Baking Group.



So after baking I sent my Maps (AO, WorldSpace, Normal, Curvature) into Substance Painter.


Maybe some final tweaks at the end when the whole scene is brought together, but so far I liked it and got ready for the next step.


 

Blocking out the Scene


1. Creating a rough blockout

2. Exporting to Toolbag

3. Setting up light and see how to composition will work

4. Go back to Maya, do some tweaks and export into Toolbag again.

5. Repeating until the block-out will work


Finally I came up with this Mesh in Maya.



For the basic block-out of the scene I used small (2x2m) and bigger blocks (4x4m). As a scale reference I put in a cylinder with 0.5m width and 1.8m height to be a place holder for a human.

The rest was just laying out those blocks, trying to get a nice composition (the pillars on the side which should frame the throne, the platform in the middle where people might stand and look up to the throne), the stairs in middle should lead the eye up directly to the throne. Having some height information like the platform which is at the bottom, the catwalks on the side are a little bit higher and the throne itself at the highest point. That gives the scene more interest I think and also it would fit way more into a story of an ancient throne room.

I though about a throne room of an ancient queen and to show her power and strength, she definately needs "to have the high ground" 😉


I created those wall piece which tiles horizontally. For some variation i pulled out some of those little blocks and pushed some of them inside the main piece. I deleted the side planes, created the UV Map for this piece and combined all single blocks to one mesh. After that I duplicated it and moved them to tile along the wall.



Later I used "bevel" on the edges left and right (as you can see in the screenshot) since this piece can't be this long, I think they needed to use more of those separate pieces to build those side patterns. It just felt more real.



Scene Details and finishing every prop


For now, the scene looks very "chunky" and simplified. So I needed to go into detail for every prop. I basically used the same workflow for every props:

- Exporting a prop (e.g. the flag) with its UV's

- Sculpting the High Poly Mesh (ZBrush)

- Baking the Texture Maps like Curvature, AO, Normal (Toolbag)

- Texturing (Substance Painter)


Then I had every single prop in my "Meshes"-Folder (e.g. flag.fbx) and my texture Maps (Albedo, Roughness, Metalness, AO, Normal) in my "Textures"-Folder ready to put them together in the engine (in this case I used Toolbag to render the scene).


Here are some ZBrush-High Poly Meshes:





For the cubes and blocks (picture above, left corner at the bottom) I decided to texture and sculpt every side. Meaning, slightly different colors and scratches on every side, that way I just needed to turn around one block to get some variation in the whole scene.


I sent the whole Maya scene to Toolbag, did a basic lighting set-up and assigned the materials to the meshes to get a good look at the scene with lights and textures (if you look at the screenshot below, you will recognize that not all UV's are done at this point but I just wanted to check colors and composition).



During the texturing for the props I constantly switched between Maya and Toolbag as soon as I changed stuff in the Maya scene. Toolbag is pretty awesome for LookDev. After I did the sketch at the beginning of the project, I had a particular mood of the scene in my head. I thought that this would be the best possible mood for the scene but as I used different lighting set-ups in Toolbag i discovered a even better mood. So i decided to do a night scene (kind of blue-ish for the main lighting) and fire bowls should light up the interior. (I didn’t do the fire, I am not a VFX Artist and I didn’t just want to put planes with alphas into the scene, I tried to focus on the environment props and mood).



So after texturing every prop I finally had every asset in my Toolbag scene. Then I did the lighting and I set up cameras (post effects and cam animation for a little teaser).


This is what I finally came up with:





Here is a different lighting set up, using daylight on the scene:


Final teaser for this project:



Conclusion


So far, I am happy with the end result. As I said, at the beginning it was hard to really get started, since I had no concept art or illustration I was able to use as reference. The key here was to tackle every part of this project step-by-step. It wasn't like knowing exactly what the final scene should look like. It was more like developing the scene during the project. And the sketch at the beginning was my starting point. That was actually everything I needed to start, just a simple idea..... and now I have to refer to one of my favorite movies ;-)



Hope you like this stylized project and if you have questions don't hesitate to ask me (info@markuspichler.at)