Course overview Course overview
Create beautiful environments with UE4
In this course, students will be taught how to break down reference and develop a list of reusable assets. With this list, students will then use both Maya and the Unreal Engine to create a fully realized environment with portfolio screenshots. The class will cover: - Unreal Engine 4, Maya, Substance Painter, Quixel Suite, Photoshop, Marmoset, Mightbake
UE4 Modular Environments WHAT YOU’LL LEARN
The more you know, the better.
Bringing out the best in talent
Clinton is currently a principal artist at Midwinter Entertainment. Formerly a senior look development artist at Microsoft Studios: The Coalition located in Vancouver, BC, working on the Gears of War franchise. Clinton is also the founder and owner of Dekogon Studios, an artist collaborative studio. Previously an artist at Bethesda's Battlecry Studios, KIXEYE, Army Game Studio, and various other contract projects with independent studios. Clinton’s primary focuses are environment art, shader development, and art direction. In 2016 he released a textbook with Sam's Publishing with a focus on game art development for Unreal engine.
UE4 Modular Environments Student gallery
spring TERM Registration
Feb 10, 2020 - Apr 18, 2020
I really like Clinton's style of teaching. He explains any topic in a way that's very accessible and detailed. I would love to have gone through another course with such a great teacher.
Clinton was a great instructor providing excellent feedback great tips and techniques. He also provided extra material relating to each week's theme or area. This adds more value to course, providing tutorials and documents to continue study.
Clinton is amazing; I would absolutely take another class with him in a second. Very personable and active in the forums, great with specific feedback examples, and he clearly knows his technical stuff.
He was great. Love that he found documentations on each subject that we were learning to help us further our education.
He was really clear during the lectures and has incredible patience. Never received late a feedback or email. Definitely an incredible teacher and artist!
Clinton is a very good teacher. He explains things well and is easy to understand. He went above and beyond the class material and explained other things too, and answered our questions about the industry.
Virendra Pratap Singh
This course was an amazing experience. Clinton is simply outstanding both in his knowledge and the way he teaches.
Companies that hire our students
environment design Benefits
What makes this learning experience unique?
Receive personal individual feedback on all submitted assignments from the industries best artist.
1+ Year Access
Enjoy over 365 days of full course access. This includes all lectures, feedback, and Live Q&A recordings.
Certificate of Completion
Earn a Certificate of Completion when you complete and turn in 80% of course assignments.
Learn anywhere, anytime, and at your own pace with our online courses.
Speak to an advisor
Need guidance or course recommendations? Let us help!
Show us your skills
Not sure if you have the skills, or are you proving you do? Show us.
Understanding Modular Environment Design
Interview with Vitaly Zhdanov
Vitaly Zhdanov did a breakdown of his recent Soviet Warehouse environment.
Hi everyone! My name is Vitaly Zhdanov and I am working as 3D Environment Artist at Anvio VR in Moscow. I graduated from Graphic Design Faculty of International Academy of Business and Management. After the graduation I have been working as a graphic/web-designer for 7 years. But 3 years ago driven by the long-held dream I decided to move over to the game industry and enrolled at the Game Art faculty in Scream School in Moscow. After a year of education, I found my first job in game industry.
In order to move forward and keep learning, I entered the CGMA class: UE4 Modular Environments from Clinton Crumpler, where I learned lots of interesting techniques and approaches which I will speak of below.
At the first week of the class I had to define the theme of my future scene, which hasn’t had to be massive but at the same time not an easy one for 2 months class. I started with searching the ideas and references in Google and Pinterest and I was lucky to find those nice photos of abandoned soviet bunker\warehouse.
In these references I got exactly what I was looking for: relatively small scene, modular elements, interesting lighting and gloomy atmosphere of abandonment.
I began to decompose the references and this approach helped me to decide which objects I need and how many of them I need as well as it helped me to plan the modularity.
I made my Trello Board to collect different references of objects for the scene, textures, decals and materials, which I wanted to create. With help of Trello I was able to follow the progress and control the amount of work to be done.
Checking my references I made the basic blockout of large and medium objects to quickly fill the space of the whole scene. I used Maya for modeling and compiling the draft blockout where I can easily check the connectivity of modular assets between each other.
After that I imported these objects into Unreal Engine 4 and made a blockout in engine. At this stage I realized that I can make my scene even more interesting with adding the second floor which required some additional modular elements. During this blockout stage I also positioned the cameras for future beauty shots.
At that time I didn’t concentrate my efforts on lighting too much but I still placed several local light sources to better understand the overall look.
Modeling & Texturing
After I was satisfied with the blockout I began model low polys and high polys of other objects and unwrap UVs. I tried to use trim sheets where it was possible to avoid a great number of unqiue textures.
For most textures I used Substance Painter and as far as I had quite strict deadlines I used tile textures made from photos and Substance Share content. I was trying not to be very obsessive with high texturing quality of each and every object because the prime goal for me was the quality of overall look of the whole scene. That is why it was a relatively fast stage of the project for me and that is what I get:
I imported objects and textures into the scene and replaced the block meshes with them.
At a certain point I understood that the scene lacks some kind of main object which would draw enough attention. I got back to references in Pinterest and searched out an interesting wall drawing. It was a big luck to find the photo with high enough resolution to make a decal from it.
With this drawing my scene started to look more living and sharp.
Lighting and Post-process
When the major part of the objects were ready I began setting up the light and spent about two days for lighting process. First I added a subtle fog to give some depth and atmosphere. After experimenting with a few variants I realized that the light looks quite simple with any of them. So, once again I returned to my references to inspect them closely with regard to the lights and shadows and this time I detected this purple (violet) hint in the shadow color. That was a good starting point for adjusting the skylight and exponential height fog parameters.
I have always tried to check the overall look from different cameras and different camera angles. As written before my main view was determined at the beginning and so I could have made some experiments with light sources to enforce the visual impression. I was just moving the point light behind the door and noticed an interesting shadow of the chain-link on the column. Even though I understood that such effect would be unrealistic, I have still decided to leave it at that because it brings more artistic interest to the composition.
After all the lights had been established I moved to post process set up. At the end I opened the screenshot of the scene in Photoshop where I finally tonemapped it for the desired look and imported the LUT texture into post process.
Details and polishing
I continued to detail the scene. At the end of the class my scene looked like this:
It looked quite nice but it still lacked some additional details and there were still plenty things to work on. That is why I decided to spend two weeks more to carry the work to the final quality completion. During the first week I fixed certain bugs and problems with lightmaps, made a few new objects such as cloth, mines, gas masks, bullets, holders for wires and etc. Below is my final result:
The second week was to prepare the work for publication on Artstation. I made several beauty shots and set up camera flythrough for future video.
With help of guide by Clinton Crumpler I also made some 360 screenshots.
The whole project took me about two and a half months. I have usually worked on it after the working hours on weekdays and full time on the weekends.
Apart from lots of new interesting approaches and techniques of modular assets creation that I learned, this class gave me the opportunity to make a full-fledged scene for my portfolio in a limited period of time with deadlines each week. I’d like to thank Clinton Crumpler for his feedbacks, advice and Q&A sessions.
For this moment I have also completed two other classes from CGMA, which are Vegetation and Plants for Games by Jeremy Huxley and Texturing and Shading for Games by Kurt Kupser. I really enjoyed these classes also and soon you could see the result of my work on my Artstation profile.
Wolfenstein Inspired Environment Creation in UE4
Interview with Sergei Panin
We’ve talked to Sergei Panin about his environment created during his CGMA course
Choosing the Topic
I wanted to create something in this style a long time ago. I really like Wolfenstein and I’m a huge fan of Red Alert style. When I had ended my previous location for the ArtStation challenge, I knew I had a few free weeks before my CGMA course. So, at first, I took a vacation and then spent another week sketching.
First, I wanted to create a Castle base assault (like in the intro of Wolfenstein: The New Order) in Wolfenstein setting, but for USSR faction. In my opinion, it’s really interesting to hear this part of the story from Machinegames guys. What happened? Where is Stalin? I think recreating Red Alert in the world of the new Wolfenstein is a great idea. Here are my sketches and the concept that I created for myself.
I am not very good at 2d, but I’m trying to make some rough sketches like this before I start working. It helps me understand what I want my scene to be like and create good pool of references.
I started from a location that requires 4-5 months of work, I think :D And every new iteration gave me a better understanding of not just what I wanted but what I could really do. After a week of work on the location I changed it of course and reduced the size. After all, having your work finished is much more important than making a huge scene you can’t complete.
First location blockout was bigger, but I had drop most of the ideas from the start (even before the release of Wolfenstein II: The New Colossus)
I’m a big fan of this design. I like these forms. I don’t know why, but I’m not a huge fan of typical sci-fi look. I’m more into something like StarCraft, Warhammer 40k, Red Alert, Wolfenstein – oh, they’re just awesome! Also, I’m that kind of person with a passion for industrial machines. I have been studying manufacturing for 6 years and I honestly like industrial design lathes, engines and all that stuff. And I think, that’s why it’s pretty easy for me to work with this. I know why it requires so many bolts or why this frame has these stiffeners.
I tried different pipelines in this project. One of the biggest parts – trim sheets. I took many of screenshots in Wolfenstein, looked through a lot of references and chose the forms that looked cool and not too noisy. This formed my trim sheets, which I used for planes, meshes.
Also, I have a practice of making only a part of the asset. For example, my steam device has very big pipes and a lot of small elements. So, I created only 1 unique meter of the pipe and then just rotated it. More than that, I took it apart and reused the parts later in the scene.
I think the GDC session from Fallout guys helped me here. They said that they created a big kitbash for a modular environment and used it to build different generators and machines. I did same, but in another way.
And the last thing – I tried to use Epic Games pipeline from Paragon. I did not take any texture assets – instead I assigned material functions and played with tiling. For some assets, simple material can look very cool. Their pipeline is much more logical, but using material functions and blending them with BW mask gave me a pretty nice result. I think I will practice this pipeline much more – you can greatly increase resolution of your textures.
Another example of how a “not trim sheet” was used many times because of its great form. Simple metal lines, painted elements, cool panels – all of that was separated and used in the scene as individual elements.
First week after blockout
Preparing the trims
Trims are tileable textures that are tileable in only one way. Or you can say that it’s a tileable atlas. Trims require a little bit more planning than other way of work, but they let you work very quickly. I created my trims in 2 ways – standard high poly – low poly. And some were created in Substance Designer. Also, I like using atlas maker node in Substance Designer just for packing textures sometimes. It gives me flexibility in planning if I don’t know proper dimensions and what final texture density I will have.
Trim sheets help you in different aspects. First, you save time by not repeating the same work. You just play with UV’s. Second, you save texture memory. Third, you have consistency in design. And last – if you don’t know what you want to see in the scene, just open your trim sheet. You can try different designs and understand what will look better.
First trim sheet
Working with shaders
Shaders in Unreal were one the main reasons why I wanted to visit this CGMA course. Really, my way of work totally changed after getting a better understanding of what you can do with materials in Unreal. I still use one master material with many controls for a lot of meshes, but I do more specific things more and more often. For example, World Align node – it’s really something great. I saw how it was used in Infiltration demo and realized how ingenious it was. It brought about a fantastic result with my tileable texture. I know that this node is expensive, but I used some tileables so often, that breaking it with World Align dirt gave a fantastic result. Speaking about precomputed AO. If you understand how this stuff works, you can create perfect art by just using nodes in material editor. I’m sure that I want to learn more about that magic. I’m still not very good at that trick with camera distance or Vertex normals. If you want to understand how powerful this can be, just take a look at the last stream from Epic games about shaders. Totally incredible.
I took this idea from Infiltrator demo and current pipeline in Paragon. You do not texture your assets, but you create material functions and work in Unreal Engine like in Substance Painter – you assign material functions and use masks. For example, here you can see one of materials of metals with a few controls. That lets me reduce texture sizes but get good texture quality. One day I hope to create a system like in Paragon and use it in my workflow. More about that pipeline – https://youtu.be/Q15ieH8ZWio
Truth be told, I don’t know how this did not end in a mess! From the start I understood that I wanted to take color theme from Batman Arkham Knight – fantastic works from Ronan Mahon were my references. But then I decided that it was pretty reasonable to have one warm location and another one cold and from that point every play with light was a challenge. All my lights are static, but in this project, I used volumetric fog, which game some cool effects. I think this ended good only because of references and friends feedback. Maybe a little bit of experience from last location from ArtStation challenge also helped – I still think that lighting scenario was really complicated.
I think my location had 2 separate scenarios – tunnel and final hall. For the tunnel I used one blueprint assemble with columns, pipes and side panels.
Base blueprint assemble
I haven’t added some elements like roads because their sizes were not very good for that. For example, this tunnel length is 8 m, but my base road tile is 6 meters, so added it later in the scene. I don’t think this is very logical, but that was not a very important moment for work.
Then I added a lot of meshes from this list. First, I started from big ones, like boxes and generators and then added small ones, like bullets, wires and small ammo boxes.
Tileable textures and trims saved me when I worked on the big hall. In my opinion, in terms of modularity, my second part of the location is much better. For whole second floor, I used 1 door, 2-3 tiles, 2 trims and small details. And decals, of course.
My trim for panels is not perfect, but still was very useful
World align dirt significantly changed feeling of the tile floor.
Magic function of wetness from Infiltrator demo with small changes. If you haven’t seen this – download it now! One of the best scene I have seen.
I’m a self-taught artist and after that course I realized that I was going the right way. When you have learned for more than 2 years that’s a really important thing to know. QA sessions with Clinton were really important to me, because it was a fantastic opportunity to ask questions about serious projects from a man with a solid production background.
Second, that planning plays a very big role and on what moments I should focus more. With modular workflow you always have to choose – what will be your base. For example, you are building city – what will be in your building kit? Houses, walls or bricks and planks? It’s always a complicated question and you need to have a good understanding of workflow to choose the right one.
And, of course, I learned the most common and efficient tricks in the work – trims and shaders. Also, during this course I tried different pipelines and that also gave me a good understanding of modular workflow. As a result, a nice scene, which I happy to add to my portfolio. And now I am ready to start a new one.
Setting Modular Environments
Interview with Cohen Brawley
CGMA’s “UE4 Modular Environments” taught by Clinton Crumpler is a 10-week course. In the planning phase of my “Urban Warfare” Environment, I wanted to create a scene that would draw the viewer in and give a feeling of being there. The setting would be an unknown city in Iraq. I really wanted to work a lot with modularity and vertex painting, as I did not have much experience with either one. I felt it was important to make sure the helicopter and vehicles were accounted for in the environment, so the scene wouldn’t feel empty and making sure the crash site would feel plausible and practical.
I used the Landscape Spline to create the path of the sidewalk, but I wasn’t able to vertex paint on the sidewalk as it was a Landscape Spline. To solve the problem, I created a blueprint spline that allowed me to vertex paint onto it.
One thing I learned during Clinton’s course, is the importance of having a set Time, Place and Story to the environment. To plan the environment and answer questions like: Why did this happen? When did it happen? Where did it happen? Is it sad or happy? This really helped me set the foundation for the overall scene. I made a Trello board to plan what type of props, decals, and textures I would need for the environment. I also made a Pinterest board to gather reference images. After planning and gathering everything I needed, I began to block out of the buildings and environment.
Thinking of a Story
Before I put a lot of thought concerning the layout of the city, I began concentrating on the type of helicopter I would use for the crash. First thought was maybe a Black Hawk, but I really wanted a very large helicopter that would be more thought provoking, as to how something so massive could have come down. I came across the CH-47 Chinook on the web and knew that was the one.
Next, I began thinking about how the helicopter crashed. A helicopter this size can’t just come down with a shot from a rifle. So I knew it needed to be a missile or rocket of some sort. I was considering an RPG – (Rocket Propelled Grenade), but a helicopter this size would not cruise at an altitude that an RPG could reach. So I went with the idea that the back right engine was struck by a heat guided missile. The reason for thinking out such details, is so I would account for the damage needed while modeling and texturing the helicopter. The story also assists with planning the crash landing portion of the scene.
I then consider as to what condition it would be in? I didn’t want the helicopter to be completely disintegrated but yet I didn’t want it to look like it had an easy landing. If the helicopter skid a great distance when it crashed, it would allow me to play a lot more with how it affected the whole street and scene. So that is what I went with.
After considering the details of the helicopter, I began planning the layout of the city as to where the helicopter crash would be resting. I decided I wanted the helicopter crash to be resting at an intersection, to give more of a focal point for the environment.
After figuring out the information about the helicopter and city layout, I started creating the block out of the buildings in Maya. I knew I didn’t have enough time to make every individual building separate modular sets. So I made sure they would be able to share the same walls, doors, and windows. I also made several window and balcony variations to help hide the modularity feel.
With how large I saw this environment was evolving, I became a bit concerned with the timeframe of 10 weeks. So my focus was to model the helicopter as fast as I could, without affecting the quality of the helicopter. As I worked on the helicopter, I also worked on the buildings in the scene. I wanted to make sure that if I was not able to complete the helicopter in time, at least I would have the urban city finished.
Using a lot of textures from Textures.com really helped with the tight time frame I had. I also made sure I was taking advantage of Substance Designer as well. When creating the asphalt road debris I used 3ds Max but wasn’t happy with the results I was getting. I knew it would need to be sculpted to get the look I wanted. So I found some basic videos of ZBrush on the web and learned a little bit of ZBrush. I then created the asphalt high poly in ZBrush and decimated it to make the low poly. Then I textured the asphalt pieces in Substance Painter and was much more satisfied with the results.
Clinton Crumplers “UE4 Modular Environments” course was such an awesome experience. I began his course with very little knowledge of environment building. Clinton was very patient and helpful with my large scale environment. The weekly feedback from Clinton helped me to learn and enhance skills. It took around 300 hours to complete the environment for the course. Scale and time frame is probably one of the biggest lessons I have learned here. With Clinton’s feedback, lots of work and little sleep. I was able to successfully complete my “Urban Warfare” Environment with the results I hoped for. I had so much fun working on every individual Model, Texture, and Material. An environment this size probably shouldn’t have been attempted in 10 weeks by one individual, but as they say “Go Big or Go Home”!
I have become a big fan of CGMA and the classes offered. It’s such an awesome opportunity to be taught by industry professionals who know their stuff. The confidence of knowing that the information and skills I am taught are of AAA standards is flat-out priceless.
Building a Library Environment in UE4
Interview with Peter Nicolai
Peter Nicolai did a breakdown of his colossal library environment, talking about the creation of books, materials, the use of scale and the production of this crazy staircase.
Hi, my name is Peter Nicolai. A few months ago, I was a student in Clinton Crumpler’s UE4 Modular Environments class at CGMA. I’ve always loved computer graphics and I’ve worked alongside visual effects and games artists for many years. However, I have always been in the production department dealing with schedules and budgets and people. My art interest has always been practiced at night and on the weekends as a long-term hobby. This class was my first attempt to make something much larger and follow some more specific rules and guidelines as opposed to just tinkering at home. I’m really proud of the work I was able to do during the class and the feedback and critique from everyone has been very encouraging.
I have learned a ton from so many other artists who have shared their work or taken the time to make tutorials. I hope something in here will be helpful or useful to others out there.
As the class started I had no idea what I was going to build. I was initially thinking of places of a much more modest scale. One of the first assignments was to simply pick your environment, decide what you’re going to build and start gathering reference for it. I was looking for something that would suit my skill set and the fact that this was quite literally the first thing I was going to try to build. I didn’t have, honestly, a ton of confidence going into this so I figured smaller and contained would be smarter.
I went to Google and Pinterest and started searching for interior spaces just looking for something that would keep my interest across the class. I wanted a space that offered up enough to work on in terms of both big shapes and small little elements and props. I started looking at random keywords to generate ideas: airplane cabins, castles, libraries, museums, offices, kitchens and any room that seemed both full of details but was also fairly contained.
Anyway, in this shotgun search I found some pictures of the Livraria Lello in Porto, Portugal.
That staircase popped up and obviously caught my eye. I investigated it a bit more. The more I looked at it the more complex it was; the more intricate details I kept seeing. It actually put me off the idea for several days. I kept looking for other things but the idea just wouldn’t go away. It was just such a cool space and everything else I looked at was not nearly as interesting to me.
So I went back to it. I was a little terrified of how much i was attempting (so much for smaller and contained) but decided to start building it anyways just to see how bad it might be.
I built a Pinterest board and started collecting as many images I could find. I wanted to try and get a sense of the space and figure out what I actually need to build. To understand the bones of the space I wound up doing a handful of construction pencil sketches on the side to try to establish the layout in my mind and to understand how things were arranged in space in relation to each other.
Once the ref was assembled there was nothing to do but build a quick block out version of the space to help me decide if I could actually use this location.
The goal was to simply match the reality of what I saw as best I could. I wasn’t trying to put any “post apocalyptic” spin on the space.
Blockout & Structure
Armed with the reference and Pinterest board I started looking at both the interior and exterior photos again to try to establish some kind of size and scale. At one point, I was online trying to find if there were any public records that would even describe the size of the lot or dimensions of the building. In the end I never found a single measurement that I could rely on. I had to eyeball everything and make some educated guesses about expected standards for retail counter tops and doors. I used the heights of human beings and other “known” objects to establish some metrics.
By extending this and just building up layers of these slightly informed guesses I was able to flesh out two stories worth of building: doors, height of each story, height of ceiling, width of overall store, heights of railings etc. I found photos where I could count the number of floorboards all the way across the floor and then made an assumptions that each board was say 4 or 5 inches wide and derived an overall width for the floor. I kept piecing things together in that fashion. I’m sure I got it wrong in a number of areas. It seems to hold together as a believable scale. (Towards the end of the project, I had posted a few pictures online and got a great bit of feedback from an actual patron of the store. He felt that it looked right and he thought that I’d captured the space pretty well. So my measurements are likely shaky but not too far off from reality.)
Once I had those measurements in hand it all boiled down to just building a bunch of boxes in Maya and seeing how it felt. I’d review these again and again against how it looked with any of the human ref were standing next to these objects. Did the hallways look wide enough? Were the railings tall enough? There was a lot of back and forth here. If a basic assumption changed (one that had informed the other assumptions), it was a lot of work to tweak, a house of cards of guesswork.
In the end, one of the most valuable things that I found buried amongst my ref was from a site that had gone to the bookstore and actually captured a bunch of 360 photos from six or seven locations. That bit of reference was a godsend. It really helped put a lot of the other ref in context. I had a lot of vacation photos, wildly varying lighting conditions, pics that were nearly but not quite framed on the detail I wanted to see etc. The project would’ve been a lot harder if I hadn’t been able to find these additional reference pictures.
It was also during this block out phase that I started to understand how I would actually build this place in a modular fashion. When I had first seen the photos I responded to the cool shapes and architectural detail scattered throughout. It wasn’t until I really *looked* at it with more patient eyes that I could start to peel back some of the visually dense layers and start seeing the kind repeating building blocks just underneath. Once I started seeing that, I was surprised at how modular the space already was. It was actually an excellent experiment to try and build a large space using a smaller number of repeatable parts.
In Maya, First (l) and Second (r) Floor WIP blockout.
It was all very low rez (primitive boxes) and so there was no nothing precious about it. I would rip things out, break them up, recombine them. This block out phase directly informed the breakdown between modular, hero and crazy ornate detail pieces I would need to build.
During this phase, I was also implicitly trying to do some visual editing. There was just so much detail with lots of little carvings and specific patterns all over the place. I would try to keep the visual density or business but I wanted to reuse as much as possible and build as little as possible.
As the modeling was in progress, I would start moving pieces between these three tiers. It would also help me define the kind of blueprints that I wanted to build in engine. To make set up that much simpler, I would start assembling these pieces into blueprints that would make the level layout that much more straightforward. For example, the upstairs and downstairs bookshelves were combinations of anywhere from 3 to 7 other little meshes.
In UE, The original bookshelf mesh, the additional pieces and the two BPs placed in the level.
The halogen lighting downstairs is another blueprint. It contains the cable, the light housing, and the light itself. On that one I exposed a couple parameters to allow free rotation of each light along with color, intensity, fall off and a matching bounce light. It is pretty basic stuff but it was still was wildly effective when it came to those subtle little things that let your eye relax to the point where it doesn’t see the repeating pattern and takes in the whole picture.
In UE, The halogen lighting rig. Each BP runs the length of four halogen lights.
In UE, a quick drop in test for the base wood material.
I was doing my texturing largely in Substance Painter. Photoshop was used every once in a while just to get some quick fixes finished. Most texturing was based off of the stock materials that Allegorithmic delivers. I modified them enough to suit my needs in terms of colors, scale, or how visible the wooden ring patterns were. I was putting together my own saved custom materials against a bunch of the materials that I saw in the photos. Once I got one that was looking good I quite frankly duplicated it and made a quick color tint so that it would look different enough that the difference would read and then saved it out. I wanted to get those base materials in there and playing against the lighting and as quickly as possible to see how the whole thing was sitting together.
As I mentioned I have worked around other computer graphics artists for a long time now and one of things that I’m used to doing in art reviews is the ability to A/B new versions of an asset. I tried to bring a very little bit of that process to this environment build. I set myself up with a bunch of saved camera positions that showed off the space and also covered the lighting conditions and different materials. It gave me a place to go back to to understand my current changes and whether I liked the direction they were going.
The modeling workflow is pretty straightforward. I don’t have any grand insights to offer anyone here. I’m not a good enough modeler to have reinvented the wheel or come up with any new tips or tricks. My modeling process is fairly basic with a heavy dose of trial and error on some of the more flowy shapes (i.e. the central staircase). Basically I would take the lo-res shapes from the block out and treat that like the bounding box. I knew that I could model whatever I needed as long as it fit inside that shape. If there were specific connection points to maintain I made note of those as well. Most everything was done in Maya. Occasionally I would jump over to Modo for a few pieces as little experiments. The goal was to get a rough pass of everything in pretty quick.
My plan was to drop in early temp lighting as soon as possible. I wanted something that would be representative of the cubbyholes and negative spaces to get a read on how the whole thing was looking. Because of the size of the space it helped keep me from getting too wrapped up in details too early on in any one piece. (I wasn’t always successful here but some things are just fun to model and the time just slips away.) I swept through front to back and top to bottom looking at the whole thing and trying to get a sense of where there were bare spots. I was constantly discovering pieces that had no block out shape or could be recombined or split up differently. It was a very cyclical and organic process. Sometimes it felt like it would never end but it was just a lot of pretty fundamental basics to get all the shapes together.
The one thing that did continue to evolve as I was modeling was another key aspect of the class. The goal was to was to get you to understand what was a hero piece, what was a modular piece and what details or shapes could be captured in trim sheets. I was building trim sheets in parallel to see the detail that the technique captures. It was really interesting to see the levels of high-frequency visual detail and decorative carvings show up really well when I got it in engine. I was pretty excited by the results.
This was my first exposure to proper trim sheets. I did not understand just how far you could push them. The class and the information Clinton shared was a real eye opener for me. I started allocating space in a sheet for various patterns I wanted to capture. They were all modeled in Maya. The bakes happened in substance. In the end I cut the sheet in half which is what made it into the engine. The removed elements were promoted to their own assets with a different texturing solution. I’m sure I didn’t take enough advantage of the technique in this build; they were still so new to me. I’ll need to go back with fresh eyes to see where else I can put them to best use.
Photoshop planning for trim sheet and the WIP tiling geo in Maya.
In UE, flat plane testing with trim sheet texture applied.
The books are a huge influence on the sense of the space. It was a shift in the blockout phase to get those things in there even as simple white boxes; they take up a lot of screen space.
There’s actually just one book. It’s a very basic model with two materials on it. One for the “cover” the other for the “pages”. It may sound weird but I actually didn’t want to call specific attention to them. They are everywhere but they aren’t the point, if that makes sense. I don’t want a viewer to notice “a” book but rather “books”; they should just think “that’s a ton of books” then their eye should let go of it and take in the store as a whole.
In UE, Single book. Then three BP groups of books.
I only ever modeled the one and then set up a number of blueprints with books of varying configurations. I made a variety of stacks of books and then a couple leaning to left and right. Each book in a group had some built in scale, position and rotational offset to make them look a bit more “messy” and realistic. (“You’re right. No human being would stack books like this.”) These small arrangements were used to build up the bookcase patterns. The bookcase patterns themselves were then repeated throughout. I was trying to reuse as much as possible. As long as my eyes couldn’t “feel” the stamped repeating pattern then it was fine.
For all the colors, I built a basic material with two color ramps based on the world space position of the individual book. Each ramp was multiplied together to get a color and variation for each book. Some additional params were set up for saturation and brightness. As you move whole stack, front to back of the store and then up and down the shelves, they would all change their color and value. All that visual detail and color variation is for “free”.
The staircase is definitely impressive as you look at the photos and it’s the centerpiece of the building in my opinion. When I was first looking at whether I would even do this space, a lot of it hinged on whether I thought I could actually build that staircase.
It was the first thing I tried blocking out. In the end I think I blocked it in and rebuilt it possibly four or five times just to try to understand the form, then how I would break it down based on construction methodology, reusability, UVs etc. I started with some basic circles and top down views to establish some nice elegant curves. The side elevations were a bit more constrained in that I had my overall building proportions and a set number of stairs with which to work.
I experimented a lot with how to build the pieces and where to break them. My first version of it was just a box that I modeled out and then threw some quick subdivision and smoothing on. It looks like a ramp out of a sci-fi movie but it gave me a placeholder. It also gave me some poly curves that I could then extract and extrude along or loft and that’s what started me on the process towards building up the pieces. I extruded profiles along that curve. Slowly I’ve got railings, now I’ve got that decorative wrap and so on. I just went through a series of experiments again and again. These experiments would change as the pieces and their cut points changed. Later I would build different pieces “straight” then bend them to match the curves. It was the a mix of both construction and grouping tests. It was very challenging for me.
A rough dev timeline for the staircase from L to R.
On the left, a few of the measuring tools (stair heights, important join/split points along the stairs, radius reminders) and shape guides I used to figure out how this would all fit together. On the R, a temp section of modular railing.
One of the testing scenes. A mix of curve, bend and wire tests to see how to achieve the shapes for the railings, banisters etc.
I wound up taking what had been the full staircase and carving it up into three main sections (the top stairs coming down to that “V” landing, the circular pattern in the middle, and then last row of stairs hitting the ground floor). Each of those sections is made up of multiple pieces of the stairs themselves: railings, posts, trim detail, stairs, decorative baseboards.
In UE, Individual pieces exploded (l) and assembled (r).
Photobashed ref of the real stairs (you can see my note on certain stairs where I started to consider splitting things).
In UE, WIP red stair textures trying to match the wear and scuffing.
The stained-glass ceiling is a total cheat. It is just one big flat card with a texture. All the ceiling and molding around it is geometry that I’ve built.
Retouched/Patched stained glass window image
I found photos of the stained-glass window so I grabbed the best one I could get and went into Photoshop. I did some editing there to build what I needed and then just dealt with it all in the shader. I turned it into a translucent material so that all my exterior lighting would shine through that space. It was another big element to get looking right. The stained-glass and the central staircase really serve as the central focal point for this space.
In UE, early stained glass lighting test.
In UE, early lighting test.
The first tests when I saw some actual colored light coming through that thing were pretty exciting to see. It was a straightforward set up I grabbed out of the UE4 documentation for putting the shader together. The rest of it was iteration on the lighting and integrating it with the rest of the environment. I knew i wanted the stained glass window itself to be bright and back lit; I knew I needed it to flood the surrounding vertical ceiling pieces with light and then have a nice falloff across the horizontal ceiling as you moved into shadow. That all boiled down to repeated bakes and massaging of numbers till it looked “right”.
I knew for me that the lighting was going to be a challenge. I had the glass windows on one side of the building, the big skylight up above with the stained-glass window, all the localized halogens downstairs, the bookcase lights upstairs etc. It was a lot for me to balance with all the various subtleties from these sources.
Once I had the block in meshes together I started running several lighting “wedges” for my own edification. Since I’d not tried building a space like this before I wanted to make sure that I understood what to expect visually when I was operating at different lighting quality bakes. I wanted to understand when I saw a certain kind of artifact or result that I was familiar with what would go away at a higher quality bake versus what might be an actual bug or issues to track down. It felt like a good use of time to take a couple days up front and run these tests.
A ref comp of my lighting test frames. the “direct” and “indirect” were my named light sets.
I ran individual wedges of each of those lighting passes at several different bake qualities. This let me get familiar with what shows up from what light “set” at each level. I also got in the habit of screen capturing all 10 saved camera positions in a variety of view settings (lighting, detail lighting, lit) after most bakes. This gave me a pretty good living record of what was happening and helped get my eye used to “reading” the scene. My goal was to use these images as touch points so that every time I improve a model, changed lighting, updated a texture I would have something to A/B against. Is my change better or worse? Did I fix something upstairs only to break something downstairs? When the heck did that lamp turn purple? It served as a way for me to sanity check myself while working.
As I would do better and better bakes later in the process it was always nice to have that growing ref to go back to. You could really picked out the evolution of any one particular camera position and understand what elements were working or what you may have lost and wanted to bring back.
As the bakes progressed I also cheated in bounce and fill lights as necessary. It became easier to add additional lights and tweak their color and intensity to achieve the effect I wanted as opposed to continually poking at lightmass settings.
I was very happy with the match I got upstairs. When I saw this comparison, I felt pretty relieved that I was on the right track. This happened on my way to trying to finalize the lighting. The color variations were forgivable and a lot easier to tweak and tune later. But I was pretty happy with the overall feel of the light from screen R. There is still plenty to tweak and adjust (other lights to activate screen L) but this moment was a big confidence booster. I still couldn’t tell you if I built it all “well” or as efficiently or as intelligently as possible but that will come with time and experience I suppose.
Photo ref against UE viewport
The idea of a one stop shop lighting scenario that works for the whole space is still something that is elusive to me. I don’t think I was able to successfully balance the darkest parts of the first floor to get them to work with the brightest parts of the second. The lower floor still looks wrong to me, muddy and ‘off’ somehow. Perhaps I’ll make a second lighting scenario and let one “sell” the top floor while the other supports the lower floor.
Post-processing we kept to a minimum till the very end. I worked with the eye adaptation turned off and locked in at a neutral exposure.
Overall, the class ran for 10 weeks. If you carve off the first week as the reference gathering and deciding what you’re going to build and carve off the last week for making last-minute lighting tweaks and final bakes you have about eight solid weeks for production (blockout, model, UV, texture, light, post process, cameras etc). It is a fair bit of time if used wisely but it can sneak by you in a heartbeat if you aren’t careful. Figuring out some sort of schedule, milestones or pacing markers for yourself is critical (and that is not *just* the producer in me speaking).
You have to do what you can to make sure it is something you are engaged and interested in. You may not be able to do that everyday at work but this is your project so do something that really inspires you because there is a lot of (really fun) work ahead. For all the times when I was slowed or stuck trying to figure out some problem, I was happy to be doing it since I happened to pick this fun place to build.
What I took away from the class wasn’t about specific modeling and texturing techniques, though those are covered in the forums and in the feedback sessions if you need them. The critical takeaway for me was more about ways to think about how to treat different elements in the scene: the categorization of hero, modular, trim etc. That was something that I didn’t have in my mental toolkit beforehand. The ability to be in the middle of building an object, change my mind as to its importance or on how I’m going to build it, and have a roadmap in mind of how to execute that new plan is a big confidence booster for me. It definitely helps me understand how the more seasoned professionals can look at concept art or ref and come up with a plan of attack on on how to build things efficiently in putting these beautiful scenes together.
As for quality, I just wanted everything to look consistent. I can think of a few things that may have helped me keep the quality bar consistent while working relatively quickly and across all the assets. I think the tools that I used helped dramatically. As I mentioned my modeling was pretty straightforward in Maya and I used Substance for 99% of the textures. Changes made later could be quickly pushed to assets or texture sheets when I was ready for that. I also think the consistent review cameras helped me keep my head above water when all the pieces were in flight.
Overall, the enviro still needs work to bring it to truly “final” but the class was finished. I’d bitten off a bit too much to get done in the alloted time but I’m happy with how far I was able to push it. The remaining polish will happen on my own time. Overall, the class was a great experience and a ton of fun.
Thanks for reading!
Minimalistic Scenes in UE4
Interview with Vladimir Lepotic
Vladimir Lepotic was kind enough to share a detailed breakdown of his Beton scene in UE4, providing tons of tricks on setting up the final look with lighting and additional effects.
Hello, good people of 80 level. I am Vladimir Lepotic, a 3D Artist from Serbia.
The path that led me to my current position of 3D artist was a mixture of different interests and searching for the right one, which, I believe, I found. That mix was also beneficial to me because I learned different skills from different areas and trained my eye to understand things from various points of view.
I studied architecture at the University of Belgrade. After college, I worked as a graphic designer for Fnatic, one of the biggest names in competitive gaming. At that time I also knew a couple of things about 3D so I got the opportunity to work on my first 3D model for the game. I worked with my friend and colleague on the “hero set” for the Dota 2 which was imported into a game. Afterward, I was totally into 3D and gaming industry in general and started to pave my path in that direction. Since then I worked as a 3D artist for a couple of other independent studios and contract projects and recently started to work at Art Bully studio here in Belgrade.
The main idea was to apply the concept “less is more” to the project. My starting point was to think about the kind of emotion I would like to get. I also wanted to test myself and my current knowledge of UE4. This scene wasn’t so demanding from the modeling point of view, therefore it was a perfect choice for the task.
The inspiration for all of that came when I was looking for some architecture projects and stumbled upon a project by Quang Le and Lien Hoang Phuong.
It was a very clear and strong concept and their project was a winner of INNATUR 3 propose fresh ideas of blending architecture and nature. I realized that I wanted to make a similar thing in UE4 and bring that scene to life with some extra touch and few ideas of my own, of course, to make it look more abandoned or maybe even post-apocalyptic.
The idea behind this project was to make the scene that is simple from a modeling point of view but also readable and a good base to make most out of the lighting.
The first stage was to make the modular cubes (walls) and to block out the scene. I pretty much used only one mesh cube for the blockout phase so that part wasn’t so time-consuming.
Blockout of the scene
At that stage, I used textures that were still WIP just to have some rough impresion of how things work together. After that, I added a couple of decals in the building for the labels. I also placed directional lights to have some starting point and something to work with.
Base lighting of the scene
Texturing for this scene was pretty simple since it’s mostly about concrete. So it was about making good tileable textures of concrete. I used images from the internet and Substance Painter for extra touches. After that, I made 2 or 3 variations so I can use it for vertex painting in UE4. Also, the texturing is one of the most important aspects of any scene because small tweaks define a realistic look. I always pay attention here and tilt the sliders until I am satisfied with the results.
The key thing when working with minimalistic scenes is to make the most of what you have. Generally, you are overexposed when you are working with minimalistic stuff (that is also noticeable in graphic design, for example) and you just can’t hide things. In an overcrowded scene, you can hide some stuff that doesn’t really work, because the eyes are overwhelmed by all the information. When you work with minimalistic scenes it is even more important that things just work together as they should. The important part for any scene, for minimalistic especially, is lightning. It can elevate the scene up to the next level or totally ruin it.
Therefore, I would suggest paying extra attention to it, because if there are no interesting assets, lightning turns out to be of the highest importance. It sets the atmosphere of the whole scenario and brings it to life.
Next part I was working on was the foliage. For the lianas, I used one texture atlas from the Megascans library. For the foliage placement, I used UE4 tool and tweaked some details.
Another important part of making a good-looking foliage was to set up materials properly, and by that I mean to add parameters for the color variation, subsampling, and wind movement. It is all about subtle touches but it makes the final model look more realistic.
Foliage movement parameters
One trick that helps make foliage look better and more realistic is to pump a bit the intensity of a normal map. To do that, we have to make a 3vector with AppendVector and use the intensity control for only Red and Green channels and set the Blue one to 1.
Normal map parameters
There is no big secret here, just tweaking and testing until the results look good. I have to add that even if I always tend to stay with the “game-ready” scene as much as possible, for this particular one it would still need work and optimisation to really be one and to drop FPS to more enjoyable levels for a player. Hence, I went for the more cinematic approach with this scene.
For the scene lighting, I used dynamic lights to speed up the process (movable lights in UE4) so there wasn’t any light-bake involved. I decided to choose one directional light. Beside directional light, I also used sky light, reflection capture spheres, and exponential height fog.
Some of the settings and parameters for the scene
Also, I turned on “generate mesh distance fields” in UE4 “project settings” to boost up the shadows. It really helps to ground everything together and to boost the scene and make it more believable. It is necessary to restart the project before the effect appears.
Mesh distance fields
Since the whole project was kind of a playground to test different things, I tried “Light propagation volumes” or LPV. To enable the feature, the command “r.LightPropagationVolume = 1” has to be put in “ConsoleVariables.ini” file because it can’t be changed at runtime. The file is located in Program Files\Epic Games\UE_”version”\Engine\Config and again the engine has to be restarted to see the effect. It is a bit tricky to get good results with it and I didn’t feel like I have much of a control over it, which is understandable since LPV is an experimental feature in UE4. From my experience, it is more of random tries and errors until you get something that looks good. Nevertheless, it can give you that additional boost for the lighting and occlusion of the scene. I would say it is more like a cherry on top of the cake and it can easily go without it. Here is a more in-depth explanation of LPV in UE4 documentation.
Also, there are some things that I really wanted to be visible but it just couldn’t be achieved with only one directional light. By that, I mean visible rays that come through windows and bounce a little bit on the surface border of the hole. That was the main challenge and finally, I decided to fake that effect with spot and point lights placed outside of the windows to boost the lighting coming through them.
Settings for the spot and point lights
An important thing for the spot-light is to set the outer cone angle to larger numbers to be less focused and to get more light scattering so it can better mimic the sun light. For the point lights, I turned off casting shadows because I used them just for boosting light in certain areas
I also paid attention to how to properly place the directional light to make the most of it and to get as many interesting shadows as I could.
I also used particle systems for the dust and falling leaves. It is barely noticeable, but it gives the scene a bit of dynamism, since without it, the whole scenery would be completely static. There are many good tutorials on YouTube that give a great explanation on how to make simple particle systems as these, so you can check that out if you want.
picture 1: dust particles; picture 2: leaves particles; picture 3: images that I used for particles
Dust and Leaves particle effects
One more important thing that I want to mention is the post-process. I use it as a final touch to make the image even more believable and to play with colors a bit more. It is pretty much the same process as the adjustments that are done on the images in Photoshop, for example. I placed one post-process volume box in the scene, set to unbound and adjusted parameters until I was satisfied with the final result. It all goes down to good using of color correction and “eye-balling” until the scene looks more pleasing.
Post-process parameters for the scene
As you can see in the previous image I used Look Up Tables (LUT) to achieve the desired colors because I find it to be the easiest way to achieve good results, at least for me. It is as simple as taking a screenshot of the scene and color correcting it in some program that you are most familiar with, then using the same adjustments for the LUT image and after that going back with that LUT and placing it in UE4 post-process volume.
I would also mention the sound as another important component. It is well known that visual and sound parts are always a good combination and goes hand in hand together so I always tend to find good music that will suit my scene and also enhance the emotion and feeling that I try to present.
Melody in the background for this particular scene is “Among Trees” made by – Krale. It is a beautiful music and it blended very well with the scene.
A hard thing for me was to understand when to stop because I can always find something that can be better even now when I look at this project.
So I would suggest thinking that it is really okay not to be 100% satisfied with the result and to place the bar a little lower. In that case, if you work on something, you won’t end up in some never ending loop and going through a despair of not finishing anything completely.
Final shot from Unreal 4
At the end, I would also like to add that I learned a lot of new things about the environment art during a course at CGMA Academy where I was mentored by Clinton Crumpler. He is a really talented artist and a great guy in general and I would like to take this opportunity and thank him for his awesome teaching. I need to mention that I also learned a lot of new things from the internet, from guys like Koola and 51Daedalus (he has great UE4 lighting tutorials on Youtube) and I would like to thank them too for sharing their knowledge about UE4 and being an inspiration for me to learn more.
Thanks for reading!
Ancient Ruins in Unreal Engine 4
Interview with Daniel Cangini
3d Artist Daniel Cangini discusses the way we’re working with the production of beautiful environments.
Ancient Ruins in UE4
Hello everyone! My name is Daniel Cangini and I am an environmental artist who currently works as a graphic designer in Rome, Italy.
In 2012, I obtained a Bachelor’s Degree in the University of Rome “La Sapienza” in the Graphic and Multimedia Project focused on “3D Digital Art & Design”.
After graduating in 2012 I worked in Direct2Brain as Modeling Artist, it was an incredible experience where I met and worked with so many talented and dedicated artists.
During July 2012, I went to Montreal, where I attended a class of meetings on “3D environments and resources for video games” for the creation of gaming environments with UDK3.
Following my passion for building real-time environments for Games and pushing myself to pursue my career as an environmental artist, I decided to subscribe to Clinton Crumpler’s CGMA environment class, where he provided me with a solid program focused on the process to build an environment from start to finish.
My main goal was to learn the process of creating environments in Unreal.
I had established a quick Trello board to organize my thoughts and I began examining ruins images to understand how they were built and where I can break the modular repetition.
I started by gathering multiple references to have a solid compositional ideas, find things that make the location unique and how to breaking up the textures into main textures, secondary, and decals.
After analyze the Images collected, I started to work on a style guide. I focused on the main design, what assets would be built inspired on the Uncharted Temples environments.
When I started the scene blockout, I concentrated on the proportions and scale of the asset, this was the best way to test the composition and scale of assets in 3D space and make quick changes before creating the final pieces.
Once I created the shapes for the modular pieces and large props that I liked, I then continued to block out the assets on details.
Then I exported each piece individually and assembled my meshes in UE4.
Assets and Materials
The Temple was a compositional element integration with strong emphasis placed on harmony between architecture and striking natural surroundings.
I kept the main meshes simple and flexible by using the modular modeling and tiling textures for re-usable assets.
I used painter and designer to develop my materials. With Substance Designer I began by creating the Height map.
My workflow for the texturing involved finding a lot of images and reference to work from, design the main shapes or patterns, develop the color variations.
Once I was satisfied with my base material I would move towards building the damage by adding secondary details before finishing the textures.
Adapting Textures to Games
A first challenge was to create the shader in Unreal. Because I wanted this material to be scalable and have the same texel density.
I began setting up a master material for props with appropriately shader system.
From a Master Material I create the Instances Material.
I like to use and play with The Material Instances because they are useful to make changes in real time.
Keeping in mind the amount of vegetation to be included, I started hand modeling with planes in 3ds max and positioning them until I had the main shapes desired.
For the texture process, I used CG Textures, and Substance B2M to get the Normal Roughness and A.O info from my Albedo textures.
Next, I exported the channel packing textures into Unreal. To simulate the subsurface scattering, I created a master foliage shader with two sided foliage. Then I implemented the (Subsurface amount parameter) and plugged it into my master material.
I used this same method for all of my plants, trees and canopies.
I started creating the terrain master material to use the vertex paint, modulate that blending and add features such as parallax and wetness.
With the use of the Vertex painting I decided areas where the mud, grass and leaves would appear or add and remove the puddles.
I used vertex paint in combination with additional mix maps and masks to add puddles.
Layer 1: Mud
Layer 2: Chips & Grass
Layer 3: Leaf
My scene is lit with one dominant directional light, a skylight to give a nice Green/Blue ambient light in contraposition of the temple warm light, plus an HDR map. One benefit of this is being flexible to constantly change the lighting angle and the time-of-day.
After I putted on the background the fog to emphasized the sense of depth.
Inside the Temple to achieve the mystical lighting I used the Yellow god rays Lighting, I started from a cone shaped modeled in Max and then I assigned the god ray-material into Unreal.
Regarding the particle systems, I found several interesting tutorials on the web where I understood the basics setting to create the different fire particle system for the candles and torches, in Unreal 4
Inside Unreal 4 Modular Environments course, I had the opportunity to realized a fully realized environment for my portfolio screenshots. I’d like to thank Clinton Crumpler for the help and his feedbacks.
In this last year I have also completed two other courses from CGMA, which are Intro to Environment Art with Andres Rodriguez and Texturing and Shading for Games with Kurt Kupser. From these courses I learned the foundation about the environment pipeline to create high quality assets, and how to create materials and textures for video games in Unreal Engine 4. Soon I will post the result of my work on my Artstation profile.
Creating a Sci-Fi Office with UE4 and Maya
Interview with Zach Bush
Zach Bush did a short overview of the way he builds very tight interiors with a lot of little details.
Hi, my name is Zach Bush and I currently live in Southwest Virginia, USA. In 2008, I received my B.F.A. in graphic design at Radford University. Upon graduating, I worked for the government for about 6 years which I quickly realized was not for me but I needed to pay off school loans so I stuck it out. I decided to change things up and went back to school to get my masters in 3d environmental design from Virginia Tech. After that, I still felt that I needed to learn a better pipeline for how to create environments for games so I signed up for the CGMA class UE4 Modular Environments taught by Clinton Crumpler. This class was exactly what I needed and was a great learning experience for me. I feel much more confident and well equipped with the tools and knowledge for creating game environments. I am now currently searching for a full time job as an environment artist.
The main goals were to learn how to create modular pieces as well as unique and tileable textures for my environment. I didn’t want the space to feel empty when the project was complete but rather to feel like it had been lived in. After working on this project for about a week, I decided that it was time to switch over from using Cinema 4d to Maya since Maya is one of the industry standard programs for creating games. It didn’t take long to get used to the layout since I had used it before but not consistently. Most 3d packages contain the same tools, so my main challenge was just figuring out where the tools were located.
Before opening up Maya or Unreal, I needed to come up with my concept. I decided to create a fictional space called a Light Lab. Here’s my backstory: In this post-apocalyptic, overly polluted world, natural sunlight has become scarce, and artificial light is becoming a commodity. In an effort to garner control, the corrupted government officials have outlawed light farms and require citizens to obtain their light from them, at huge markups of course. The Light Lab is a hidden light farm, creating synthetic sunlight outside of the government’s watchful eye. Engineers and scientist have gone underground to fight the suppression. Right now they’re only focusing on creating a functioning machine and getting the captured sunlight to people who desperately need it. The work is dangerous and hurried, but someone’s gotta do it.
My main reference was the office my wife and I share in our house. The format of this room was the room I wanted to create. I took a few pictures of it and quickly laid out where I wanted things to be located.
I created a Pinterest board for much of my inspiration and reference images of what I wanted the style of the room to look like and all the props I wanted to incorporate. This way it could all be in one place that I could quickly access while working.
Before switching over to Maya, I blocked out the modular pieces that made up the room in Cinema 4d. Then I looked through my reference imagery and blocked out a lot of my larger props: desks, chairs, file cabinets, tvs, etc., that I knew were going to be in the room.
The class as a whole was 10 weeks long and each week we had milestones to hit so we wouldn’t fall behind. After the block out, I worked in Maya and got started on developing the props by adding more detail to each one. I would place each model into Unreal once I had created it to help me figure out if and when I needed to create more pieces to help fill up the room.
I baked my maps in Mightybake. For a lot of the props I created I used Quixel’s DDO and NDO for my texturing. There were a lot of different props so I couldn’t go into a ton of detailing with each one but wanted to have enough to make the entire room work as a whole together.
For the sake of time, I took a seamless texture, from textures.com, of some seamless wood planks and created a normal and ambient occlusion map out of it. Then I placed all of these maps into Unreal to create the texture for my floors. The cracked plaster on the walls came from taking a masked texture of damaged plaster and I created a decal material in Unreal. That way I could place it anywhere on the walls I felt was necessary. I did this same technique for some of the trash on the floor and the stains in the ceiling tiles.
I kept the lighting pretty simple. I started out with a couple of point lights for the glowing energy ball, a spotlight for the one fluorescent light that still works, an Exponential Height Fog, and worked my way out from there. I only used a Sky Light and a few more smaller spotlights for the screens. What really allowed me to set up the mood I was going for was using LUTs (Look Up Tables). I had never used them before but during one of the lessons, Clinton showed us how to create them using Photoshop and placing them into the Post Process Volume in Unreal. This was a game-changer for me, it really helped speed things up and quickly gave an overall look and feel for what the lighting needed to be without having to individually tweak each light.
Clinton showed us a great way of how to plan everything out before jumping into the project which was very helpful because he went into detail about ways to go about it so you wouldn’t fall behind when working with a deadline. Also, learning how to correctly create modular pieces using the grid was something I always wanted to learned but never knew if I was doing it right or not. Clinton did a great job of teaching us how to use many different types of materials in Unreal which was a huge help in making changes to my textures without having to leave Unreal to do so. The best thing I would say I learned was getting clarity of whether I was had been doing something right, wrong, somewhere in between when creating environments. Getting feedback from a professional in the field was invaluable and I am very grateful to have taken the class. I would definitely recommend this class to anyone interested in learning industry standard practices.
Creating 19th-Century Setting with UE4
Interview with Grigoriy Karmatskiy
Check out Grigoriy Karmatskiy talk about the amazing things he learned about the production of game environments
My name is Grigoriy Karmatskiy and I’m a 3d artist currently living in Saint-Petersburg, Russia.
I’ve been working professionally in the video game industry for about 6 years in various outsourcing companies and I specialize in hard-surface modeling and environment art.
Currently, I’m working on my own projects and portfolio. Tram Depot is my latest work I developed during Clinton Crumpler’s course on CGMA.
My main goals were to create a scene in late 19th-century setting which could be interesting to make and challenging at the same time. Also, I wanted to learn more about Unreal Engine 4 and the lighting and I decided that Clinton’s class fits the best for that.
I started by gathering reference for the scene. Up until the end of the first week of the class, I was choosing between tram depot and a different scene based on existing concept.
The first iteration was bigger than the final scene and looked more like a train station with several levels and huge spaces. Ever after big shrinking the depot seemed to be too big to be made in 10 weeks but I was already in love with the idea so I decided to risk and make it anyway.
I was inspired by “The Day the Wires Came Down” by Benjamin Carre and Black Wall Yards warehouse environment from The Order 1886 by Nestor Carpintero. Also, I would use as reference some concepts from Bioshock Infinite by Ben Lo and various photos of existing depots, workshops, railroads of that era and so on.
I started to think of modularity and how to make it the most rational way possible. I made a Trello board with all the assets and modules I needed. I think it’s very important to have such board or list, it helps to understand the scale a make correct estimations for a project.
When the list had been made I started making modules of the building and made several blockouts inside 3ds Max. It’s a good idea to set proper size for each module and make sure everything connects to each other properly early in the development.
Quickly after that, I switched to trams and I made them as modules as well. Each tram was made of pieces which could be used for making passenger\cargo variations and as individual props as well (tanks/pipes/engines).
Once I’d finished trams I continued creating small props and added them to the prototype. As a result, I had around 110 individual assets including 40 building modules and 14 tram parts.
At that stage, it was the best time to check the scale and make sure that all the objects, as well as the scene itself, looks good.
Most of the building parts, steel beams, railings, balconies, bridges were made using face weighted normals. I would use it for shelves, tables, frames and many small props as well. My plan was to replace some of them with uniquely made props later if I have time.
For High poly modeling, I used 3ds Max. Some of them were polished in ZBrush to add small dents and details. I tried Marmoset Toolbag 3 for baking and really liked it. It is fast, intuitive and it allows you to paint normal direction on top of the model.
Having so many assets was not an easy thing for the texturing. I decided to use tiling and trim materials with color tints as often as possible. Texel density for the most props is 1024px per square meter and I didn’t use textures bigger than 2048×2048.
Bricks and floor material is a blend of 2 texture sets via mask and vertex color + parallax occlusion mapping for extra volume.
Tram is a good example of using several types of materials. I used a few color-tinted trim sets (interior, exterior, painted metal, wooden trim for doors), several unique textures for bigger parts and texture atlas for smaller details.
Tiling and most of the trim textures were made in Substance Designer while for uniques I used Painter. I made smart material for Painter which had all basic surfaces such as metal, rust, wood, paint, rubber, dirt with proper values and I applied it to all unique props. If time is limited its necessary to have something like this.
Also, I used Quixel Suite to make a few wooden textures which helped to achieve realistic yet very quick result and Photoshop for decals and posters.
Another important part was adding storytelling elements, sings and various imperfections to make it more believable. I made various posters, newspapers, broken pipes. I placed instrument which was forgotten by some of the mechanics, puddles, wires lying on top of the metal beams, accidentally spilled paint and so on. Things of that nature bring more life to the environment.
Lighting was the most challenging thing for me and it took me a lot of time to find the recipe and right settings.
I wanted to make it relatively bright to show most of the environment and keep depot mood at the same time. This was one of the reasons why I chose ceiling with windows. It creates interesting volumetric effect and shadows and brings more light to the scene.
I used directional sunlight + skylight as the main source with several artificial lamps to light up dark corners and highlight the tram. I made just a few fake lights and most of the time I would adjust reflection sphere intensity if some corner or place looked too dark.
Even though in real life noon sunlight has a temperature of 5500 kelvins I made it a bit closer to orange color (4900 k) as well as I increased blue color intensity for the skylight.
An indirect lighting intensity was also increased (sun – 2, skylight – 5, lamps – from 1 to 1.5).
I had troubles with the way UE4 renders indirect lighting and many wall/floor modules had weird seems on the corners regardless of lighting quality. At the moment the only solution I found is to make bigger pieces. I hope it will be fixed in the future updates.
Volumetric light and Exponential Height Fog made a huge impact on the way environment looks and feels. I changed Volumetric lightmap density from 200 to 25 to achieve higher quality. The scene is relatively small so it didn’t affect memory and render time that much. An intensity value for the fog is 0.1 and 1.25 for scattering. Scattering for sunlight was also increased. In addition, I made a few movable red lights to increase a volumetric effect of railway signals.
Also, I added Planar reflection for the floor and Convolution bloom to make final result a bit more realistic. The last step was using various particles from UE4 starter packs such as dust, steam, and smoke.
My overall experience with the class was very positive. The class atmosphere and strict deadlines helped me to finish the whole scene within 11 weeks which was also very important for me. During the course, I’ve learned a lot about the engine and got familiar with many small things about the production in UE4. Also, each weekly lesson had a lot of additional information about the topic.
Thanks a lot to Clinton Crumpler and everyone who helped me with advice.
Grigoriy Karmatskiy, 3D artist
Creating a Cryo Lab in UE4
Interview with Adam Idris
In my spare time, I’m constantly working on small personal projects and recently have begun delving into game dev as I feel it would be rewarding to be able to explore, bring life and interaction to the environments I’ve created.
The Importance of a Design Brief
I should begin by stating that establishing a brief before jumping into any project I work on. It helps prevent scope creep and not become bogged down on arbitrary details.
Concept & Break Out of a Comfort Zone
I’m very passionate about sci-fi and cyberpunk visuals and because of that tend to lean towards creating scenes or models from that universe. Previously I had made stylized ancient ruins and an alien environment. I decided that this time I wanted to challenge myself in creating a dieselpunk inspired environment.
Part of the challenge was to emphasize mood and convey the story through visuals in a cinematic way. With that in mind, I needed to source for references.
Notable references were Guillermo Del Toro’s Shape of Water, Bioshock, and the industrial revolution.
In this phase, I took note of vintage architecture right down to lighting, fixtures, fittings, and surfaces that would be part of the environment.
To create a more cohesive and plausible environment, I tried to deconstruct what materials were used for walls, pipes, and windows during the 50s.
Before building modular parts for my environment it was important to establish a scale. The approach for this was to introduce an average scaled mannequin model and setup Maya’s units to match UE4. 1 UE4 unit = 1 meter.
Maya viewport, block in phase before exporting meshes into UE4
From here I have a grid that I built on and started to block in the major masses such as the walls, ceiling, and floors. By implementing the grid and a strict unit guideline I could ensure my assets would snap together as needed and always be on the grid. If I needed smaller incremental changes I would divide my grid by halves, quarters and eighths.
Just like painting, establishing the broad strokes gets you a sense of scale earlier on. Next was populating the scene with secondary and tertiary details. I spent most of my time in Maya and used a mass FBX exporter to get blocked in parts into the scene. This little script saved me a lot of time on the iterative process and automated the exporting process.
The following scripts were used for mass FBX exporting:
In UE4, early placement and blockout of environment
Medium Poly & Face Weighted Normals
After becoming aware of the production methodologies used on Star Citizen and Alien Isolation, I became interested in medium poly models and implementing face weighted normals into my asset workflow. This Reddit post was a handy overview.
For larger scaled assets such as the cryo chambers and bubble chambers, I added in extra subdivisions to account for the geometry appearing blocky and then applied Bnormal script to it. 1 to 2 bevels was sufficient to make a difference in the edges of my meshes. Here is the Bnormal script that was used for face weighted normals.
Texturing & Trim Sheets
With most of my geometry being either low poly or medium poly with face weighted normals, I was able to skip the high to low poly process altogether to focus on texturing.
To produce sharp normals for my trim sheet I opted to use Marmoset Toolbag. These normals were later thrown into Substance Painter to generate my materials.
High to low poly bake for trim sheets. Normals and AO done in Marmoset (Previewing in Painter)
To ensure that my textures for my trim sheet were given enough texel density, I set my trim sheet up to 2k bearing in mind that would be 4m thus dividing the geometry up to scale with assets in my scene. A peer, Dave, mentioned that he put his trim sheet next to his mannequin to better gauge scale comparison.
|Trim sheets in Substance Painter|
I needed to have a cryo chamber that was destroyed. The purpose of this was to create tension, suspense, mystery and to encourage the viewer to questions like “What was in this chamber? Where has it gone? Is it hostile?”. Not being particularly satisfied with the outcome in Maya’s Create Shatter a peer of mine recalled that UE4 had a mesh destruction simulation. I was able to quickly do this with UE4’s destructible mesh and a simple blueprint that ‘woke’ up the rigid body solver upon playing or simulating the scene. Still being relatively new to blueprints, I will admit, I stumbled my way through this part.
Destructible mesh simulation:
|Destructible mesh blueprint|
Films are notably the best point of reference for dramatic lighting. Early in my project, I knew that I wanted to invoke a mysterious but not horrific environment with a dense atmosphere.
I wanted to get a better grasp of how lightmass operated in UE4. As result, this part of the pipeline did require additional research. The following video proved to be very helpful in ascertaining the correct properties and settings to manipulate when building light:
To fake light bulbs, emissives became very handy for making convincing lights.
|My lightmass settings|
Lighting and reflection probe placement
Master Materials & Instances
With necessary key project management methods employed earlier on, it was important to be able to manage the project as efficiently as possible. It was important to note that instances based on master materials updated quickly which allowed for rapid iteration.
Water is always a tricky one to execute properly. I arrived at a solution whereby I plugged a ‘simple grass wind’ node into the world position offset of the material. This was only applied only the meshes that were inside the cryo chamber.
|Turn wind into the water? Just a simple grass wind node plugged into world position offset|
During the post-processing, I focused primarily on accentuating a contrast between warm (yellow) and cool colors (green and blue) and paid particularly close attention to how it was affecting the mood. When in doubt, I regularly referred back my images.
|Color grading settings|
Creating a Teen Room Interior
Interview with Mateusz Kozłowski
Mateusz Kozłowski created an interior of the 80s-90s room that perfectly tells a story about a boy who had big dreams and once left the house to make them come true.
My name is Mateusz Kozłowski and I am an environment artist currently working at Immersion in Warsaw Poland. The first time I had contact with 3D was in high school with 3ds Max. After 2 years of graduation from my school, I started learning new stuff at home to get better in 3D. Following that decision, I got my first job, and I’m in this industry for about 4 years.
Though work keeps me busy most of the time, I really love to learn new things. This led me to enroll in the CGMA class UE4 Modular Environments with Clinton Crumpler. I’m glad to share a little bit of what I made in this course.
The main key that I wanted to learn was modularity. I’ve never worked with modular pieces, grid system, texture trims, so these were the main things that I decided to learn.
Start of the Scene & References
In the first week of the class, I had to define the theme of my future scene. Clinton told us to not make a large scene and rather focus on something relatively small. I obeyed him and decided to make a tenement house with an attic interior based on years 1985-95. I started to gather references on my Pureref board. Using Pureref is super easy, you have access to all reference that you gather plus adding comments is also a nice thing to have.
Once I had enough references, I started working on the blockout mesh in Modo. Blockout stage is very important in the environment production and has a couple of purposes. General view of the form and scale is one thing. The second one is connected with changing things because it’s much easier to alter something when we have rough shapes, so it’s better to implement major alterations of your scene at the beginning.
First thing in making modular environments is to make modular meshes. Here are the modular floors and walls I made. Everything is based on the grid so they will snap one to another in the engine.
Blockout mesh in Modo:
When I was happy with the initial effect I started to add more and more elements:
I imported my blockout to Unreal Engine 4 to see how it looks. In Affinity Photo, I painted things that are modular in green. Red color means normal assets and the yellow color is hero assets that will tell the story of this environment.
Further Modeling & Texturing
After I was satisfied with the blockout I began modeling high poly and baking them into low poly after unwrapping UVs. For the modular meshes, I tried to use texture trim to avoid a great number of unique textures. Here is a simple example, I decided to add a rough comment for myself to not get lost in what is what.
For most of the textures, I used Substance Painter. Tile textures are made from photos and Substance Share content. As for Substance Designer, it is a great tool to make tiling textures, and it’s a thing that I need to learn. There are people like Daniel Thiger, Enrico Tammekand, Javier Perez and other who make outstanding stuff in it. But my prime goal is quality of the overall look of the whole scene.
Setting up the lights was not an easy task. Two times I had to throw out my settings and start again because I was not happy with them. I was able to achieve nice looking shadows by increasing Source Radius in Point Lights. It’s also a good idea to increase lightmap resolution. In general, lightmap density should be “green”, and sometimes if it’s necessary to achieve the desired look it can be increased. For modular meshes, the cost of the lightmap is really low, so it doesn’t hurt to set up lightmap resolution for 256 or even 512 for specific meshes.
I made two Master Materials, one for assets and one for tiling meshes. From them, I made material instances. Master materials are great, they give extra flexibility on instances, so I definitely recommend to use them. Here is a quick example of the tiling material. Static switch parameter is also a nice thing to have in it.
I know that I could improve the scene in a few ways, especially in terms of lighting which is the key. I still need to learn more about it and practice. Decent lighting can help the project look much better.
The biggest challenge of the scene was the number of props. I know that in my next production I’m going to refine fewer elements. Making 174 meshes for a modular environment is quite too much, and it’s hard to control the quality of every asset when there are so many of them. That’s why I’d advise to make fewer assets but polish them better.
Creating Jewelry Store Scene
Interview with OweN Kiayias
Owen Kiayias reviewed how he created a very detailed Jewelry Store Robbery scene with Substance and Maya. Inspired by PAYDAY!
Hi, my name is Owen Kiayias, I am from Wollongong, Australia. I’m a graduate with an advanced diploma in Game Art and currently working on my environment art portfolio for employment.
One of the main aims of the project was to make a modern-day interior scene where I could visually tell a story of a recent event and gain a better understanding of lighting within UE4. I initially wanted to create a bank robbery scene, but then decided to choose a jewelry store. A lot of the inspiration came from the game PAYDAY, reference sources for design mainly came from Artco Group portfolio which is a store planner and designer company. They designed a variety of jewelry stores, and I gained good ideas for my own design.
Firstly I started with a basic block-out in Maya with the major structural shapes of the scene. As the final output was in UE4 and it was a realistic environment, I worked in centimeters and built the block-out according to the real-world scale, rounding off all assets to the nearest 5 cm, and then separating the structural meshes into modular pieces and making sure they would snap together on the grid. Door manufacturing and display fixture websites, as well as Google images, helped to study real-world dimensions.
After creating the block-out in Maya I then thought about the asset approach: whether I would use a tileable/trim sheet or make a unique asset. I exported the block-out meshes into UE4 to get a feeling of the space in the engine. Trello helped me a lot with the asset management. Everything I planned for the scene was broken down into modular and unique meshes, textures, materials, props, decals, design reference, a mood of the scene, etc. It was all listed in Trello, along with reference images of each asset for its visual look.
I worked on the structural aspects of the jewelry store first and started with those elements that had a dramatic impact such as walls, floors, ceilings, display fixtures, wall fixtures, ceiling lights, doors. Most of these assets are modular and were modeled in Maya. They had tileable textures or trim sheets which were then textured in Substance Painter or created entirely in Substance Designer.
At this stage, I was also working out what texel density I was going to use so that all future assets are felt as parts of the same world, and not out of place. Working on these large assets helped me to tackle any scaling and design issues early on.
Next, I worked on the smaller assets such as props such as the furniture, picture frames, cash registers, exit signs, and jewelry. These assets were all modeled and then textured in Substance Painter/Photoshop. Amazon helped a lot with the dimension references.
After creating the general space of the jewelry store I then moved to the story-telling aspect of the scene. I ended up drawing a quick top-down flow map to organize the series of the events that took place in the store to express the story of a robbery. I created such assets as broken displays, heist equipment, footprint decals, and dropped cash. I also went back readjusting certain assets that were already in the scene such as the busts and mirrors and tipped over stools. After completing the interior I moved on to creating an exterior to make the scene a part of the world instead of an empty void.
When creating the textures for PBR, I ran into some problems with the wood textures on the display meshes, as the albedo was too dark and couldn’t be read in the engine properly. So I went back and adjusted the albedo to be lighter.
Roughness plays a key role in defining readability of the environment and what the material is. Roughness variation in assets will bring believability to the scene. You can visualize your scene’s roughness in the buffer visualization.
A lot of the textures used RMA texture packing, which made it easier to manage the scene in the engine and also allowed me to use less texture memory with one import, compared to using three. I packed textures either in Photoshop or in Substance Painter using RMA preset.
RMA Texture Packing
I mostly created master materials with different parameters and then transferred them into Material Instances. It made the scene perform smoother and allowed me to adjust parameter groups on the spot such as tinting over the base color and readjusting the roughness values to avoid going back and re-authoring certain textures. The master materials consisted of a unique, tileable, and decal materials and one for foliage.
Read more about the master material production here.
Working with the glass material I kept it very simple at the start and came back to it later. Based on the scene lighting and the meshes that included glass material (broken or not) I ended up using vertex color information where I could paint in certain aspects such as the glass cracks, the frosted edges and dusty/dirty stained glass.
Each display fixture glass mesh that was damaged had its own unique mask and normal information maps, and I used vertex paint on them to get control of the appearance.
Mask and normal map
One of the problems I encountered was the readability of the cracks. I was not able to get the result until I ended up adding the masks to the emissive output and a small value to give it more pop, so it could be read from a distance.
Lighting and post process
Lighting is always a challenge for me and it varies from scene to scene. I wanted to convey a natural sunset lighting outside with a bright natural lighting inside typical for a jewelry store with a lot of reflective elements.
The lights were broken down into the following groups to ease the balancing and management based on their location within the scene.
- Ceiling panel Lights (green). Lights along the ceiling panels were all static spotlights with the same values for each. They have mainly placed over the display fixtures and along the walls.
- Main Lights (red). These were the lights behind the actual counters and the storage area. They were set as static spotlights, but at larger angles with a higher intensity and softer fall-off with shadow casting. Lights with a very low intensity were also placed just below main ones to give a little glow and bounce back onto the ceiling with no shadow casting.
- Display Fixture Lights (pink)/Center Display lights (yellow). The main display fixture lights were static and only covered the area of each display, accompanied by another point light filling in the center of the displays with a low intensity and no shadow casting.
- Side Display Lights (turquoise). I used static spotlights for these areas and with a very low intensity and soft fall-off.
- Chandelier (blue). The Chandelier consisted of 1 stationary spotlight just below it with an angle to what I wanted it to influence and 4 point lights above each globe to get shadows of the chandelier casting back onto the ceiling.
During the process, I also added about 6 spotlights facing directly to the ceiling throughout the interior to gain more lighting information as it was too dark.
As with lighting, post process in UE4 can transform a scene from nice to stunning and let you achieve a look you were going for. Lookup table is an awesome feature that can help with this. I took a screenshot of the scene in UE4 after lighting was baked then moved it into Photoshop and made adjustments such as levels, exposure, highlights, midtones, and shadows. Then I brought the adjusted image back into UE4 as a lookup table and got the look of the scene I wanted to achieve.
Creating an environment takes time, that’s why start the projects that are manageable and do not go overboard. Spend as much time planning as possible before diving in as it will save time in the long run during the project. Collect feedback: the places like Polycount or Jeremy Estrellado (Dinusty) discord are great places for this goal. Finally, make things that inspire you as it will motivate you no matter what the project is.
I personally want to say a big thanks to Clinton Crumpler for his feedback during the project.
Final images of the scene
Owen Kiayias, Environment Artist
Environment Production: Grid, Modular Assets, Decals
Interview with Pedro C. Prieto
Pedro C. Prieto showed how he worked on the amazing UE4-environment inspired by Helder Pinto‘s Arbor Vitae.
Hello, my name is Pedro C. Prieto and I am an extremely passionate artist who is always striving to produce the highest quality work. I was born in Lima Peru but moved to California at the of on 11. I went to the Academy of Art University in San Francisco, and have lately been taking classes online with CG Masters Academy. I live in San Francisco, and I am actively looking for an opportunity to work as an environment artist in the gaming industry. When creating an environment, my main focus includes lighting, composition, color values, and storytelling. Storytelling is the most important piece when creating immersive worlds for the player to get lost in, and I am a strong believer that environment art and design play a huge role in the narrative of the game.
Hello, my name is Pedro C. Prieto and I am an extremely passionate artist who is always striving to produce the highest quality work. I was born in Lima Peru but moved to California at the of on 11. I went to the Academy of Art University in San Francisco, and have lately been taking classes online with CG Masters Academy. I live in San Francisco, and I am actively looking for an opportunity to work as an environment artist in the gaming industry. When creating an environment, my main focus includes lighting, composition, color values, and storytelling. Storytelling is the most important piece when creating immersive worlds for the player to get lost in, and I am a strong believer that environment art and design play a huge role in the narrative of the game.
Ever since I saw Helder Pinto show off Arbor Vitae in a presentation with Gnomon back in 2016, I’d been wanting to recreate my own Arbor Vitae-like version. Its vibrant colors, beautiful lighting, intricate sci-fi designs, and most importantly the narrative behind its creation, made me fall in love with the scene, and it’s what inspired me to attempt creating an environment of that caliber. However, I knew the time to take on this type of project was not right for me, since I was still learning about the use of multiple tools (Substance, UE4, Maya, etc). So, I waited and kept polishing my skills when working on different personal projects.
My first step was to set up my grid in Maya. I made sure that everything would snap to each other, and would follow grid measurements. I knew this was going to be a big project, so re-usability was one of my main pillars. My Maya file was set up to centimeters, and I used this guy as a human height reference. He is about 180 centimeters, so my main blockout piece master guide would be 200 centimeters by 200 centimeters. Then I made sure Maya UV editor would also follow my grid guideline, by defining a 20×20 X and Y length. Then I made different blockout variation pieces, a 200×100 piece, 100×100, 400×400, and some corner pieces. I was technically building a lego set that I would later assemble in UE4.
Once I had imported all my blockout piece into UE4, I started creating the space of my scene. I tried to avoid making my scene feel “blocky” by making it as interesting as I could with these simple pieces. As I started building my blockout, I realized that if I needed new pieces, I would go back to Maya to create them immediately. I ended up with 9 pieces by the end of my blockout phase. Since all my pieces snaped to each other and followed the “grid”, it was quite simple to get creative and come up with different layout variations. However, for my taste, this layout was complete and ready to go. Later on, when I started importing my final walls, floors, and ceiling pieces, I would just quickly swap my blockout pieces, since all of them respected the grid measurements.
Right from the get-go, I knew that I wanted to integrate a hero piece into my scene. So, during my blockout phase, I made sure to leave some space for this unique piece. I wanted this project to be all about speed, so I made a trim sheet dedicated to the hero prop only. I quickly made some rough drafts to eliminate the bad ideas. Unfortunately, I can’t show those models anymore, because I no longer have them. I didn’t want to completely rip off Helder Pinto’s hero piece, so I decided that the bottom piece would be a completely different shape than Arbor Vitae’s. Once I was happy with the basic shape, I took it a step further by adding bevels on the edges, and some additional details on the mesh itself. Lastly, I finalized the hero trim sheet and tested it in Maya before importing it into UE4.
Once I had my walls, floors, and ceiling placed with the Normal and AO maps, I moved into adding color. Since the very beginning of the project, I chose my color palette and stuck to it, with orange as my accent color, and black, white, and silver as supporting colors. I baked my Normal, ID masks, and AO maps using MightyBake, and used substance painter for the rest of the maps (color, roughness, metalness, and emissive). For sci-fi environments, I figured emissive lights play an important role, having them flicker, fade in and out, and on and off. So, I made sure to have a few extra parameters and switches that would handle my emissive maps in my master material.
Here is a picture of my master material, I added a few parameter nodes for value tweaking, especially for my emissive maps, but overall it’s pretty simple. I made one master material in UE4, and all materials with the exception of a few (water, terrain, fog, decals, etc.) inherit from this master mat. I also made a Decal master Mat. Decals were essential for breaking up the modularity repetition and adding sci-fi signs or such.
My main texturing software was the Substance suite. However, I did use some Quixel’s NDO for map conversion on assets that were at a distance from my main focus like the terrain and tree textures. I grabbed these textures from texture.com and converted them using NDO. For the rest of my assets, I used Substance Painter. I created a smart material for each color (orange, white, black, and metal/silver) that would save material values such as color values, rough values, and metal mask. So each time I brought in a new mesh, I would just place the smart material in the corresponding ID color. This technique saved me a lot of time since I was going to paint a lot of meshes for my scene.
The key assets for my scene were definitely my trims and my hero prop. Since the trims were going to be scattered throughout the map, they needed to be high quality. Therefore, I spent extra time polishing them. I made sure I came up with interesting sci-fi shapes for my trim sheet, this was a process that took me quite a few iterations. I ended up with two trim sheets, a horizontal and vertical one. For the hero prop, I made sure that I polished it and made it look as interesting as much as I could since it was going to be the centerpiece and the only unique piece of its kind. It took me 4 tries to come up with the final design, and a total of 2 weeks to have it up and running in UE4. Then my goal was to keep a uniform theme throughout my assets, from the color palette to vision of my scene. I made sure that all my assets felt like they belonged in the same environment, by using the same level of quality and stylization. And last, but definitely not least, I finished up my lighting.
I didn’t touch the lighting until all my assets were placed in the right location with their corresponding textures and materials. I wanted the main room where the hero prop is located to have a warm feeling and a blue-ish tone for the dark areas. I made sure the sunlight was hitting the hero prop to make it stand out. I added artificial lights on some walls, back door, and other assets to make them pop as well, but leaving the backside darker with a blue-tone was key in making the main room stand out. Lastly, I added a little bit of fog on my lights by using the new volumetric fog feature UE4 now provides for a more filmic look. Emissive lights also played an important role during this process, making sure they were evenly distributed, with their proper tones and values.
The project took me around 6 months to complete, it was my first time attempting to create a true game environment where the player could walk around and feel immersed (at least I hope so!). The hardest part was coming up with interesting sci-fi shapes for my normal baking. It was a process that took me several iterations to make it feel like a terraforming machine on the planet. Once I got my shapes ready, everything else developed organically.
Pedro C. Prieto, Environment Artist
Gothic Library in UE4
Interview with Eugen Canic
Hi, my name is Eugen Čanić, I am a 3D artist from Croatia. I studied architecture in Zagreb, Croatia and I’ve chosen to specialize in Environment art and Level design for video games. During my college years, I started learning 3D modeling aimed at architecture with software like Sketchup, Rhino, Revit. Only after my 3rd year of college did I discover the wonderful world of programs that make game production a reality. I started experimenting and working in 3ds Max, Maya, Substance Suite, ZBrush and so on… and could not stop myself. I decided I wanted to pursue a career in game development. Since then I worked with a few local indie teams on several games and worked at various studios as a 3D modeler. The project for CGMA class was just a stepping stone for my portfolio with which I aim to enter the games industry.
A friend of mine recommended CGMA classes to me last year during the IFCC festival in Zagreb. I have been doing Props and Environment Assets in 3D for some time now and wanted to take my art to the next level. I knew I wanted to specialize in Environment art and Level design so when I found the UE4 Modular Environments class by Clinton Crumpler I thought it to be the best option. Before that, I had just been starting to use the incredible Unreal Engine 4 and thought this course could also help me improve my UE4 knowledge and skills. But most importantly I wanted to make a game ready scene that could be used in a game level and go through all of the production phases needed to achieve such a goal. With this project, I wanted to create a coherent environment that is intriguing and mystical but also explorable and could be fun to play.
References & Blocking
At the time I was playing Bloodborne feverishly on PS4. It is a really inspiring and meticulously crafted game. The environment art and levels are beyond exceptional. I have always had a thing for libraries, so naturally, the Cainhurst area really stuck with me, especially its grandiose library. I knew I wanted to do something with the elements of gothic, medieval, and fantasy. We had a defined time frame in which the scene should be produced so I opted for a smaller scene which could be completed in a few months.
I started by collecting images and references for the project, looking for anything ranging from gothic and medieval architecture to video games with fantasy and medieval atmosphere and design. I stumbled upon a small medieval library in Manchester – the Chetham’s library – which seemed perfect for the job. It has been preserved almost intact since the time it was built and had a dark and gloomy gothic vibe about it. Further research led me to a lot of other pieces of English Gothic architecture which I later used for some of the details in the scene. I used the Manchester library as the basis of the scene layout but added some elements and details from other examples I found, like the Gloucester cloister and the Oxford college hallways. I started making a blockout with some basic meshes just to get a feel for space. After a few iterations, I was satisfied with the layout and the scene I would be working on. The final layout was a combination of the real Manchester library with the addition of some custom spaces from various inspirations.
One of the first tasks I had concerning the library was breaking down the interior into sizeable modules. I went through all the images of the Manchester library I could find on the internet, also using archive footage and several documentaries online to see a video walk through the interior. Video footage helps even better to see and feel the chunks, nooks, and crannies of an architectural space that you just can not see in one image. I listed and defined all of the possible modules, their respective materials, and details. This whole process was backed up with paying attention to gothic architecture references. Besides the modules that come directly from the Manchester library, I also used some pieces from other examples of English Gothic architecture, using vaults, corners and some window details from other period pieces.
This was the first time for me, making gothic architecture and ornaments for detailed models. I started by collecting a lot of old architectural illustrations depicting gothic details and even construction references. This way I was able to mimic the process it would take to make the arches and vaults in real life. Using the same mathematical principles and going through the same steps you would take to make them in physical form I achieved it in the digital medium.
The key feature of all the modules was to make them reusable in different situations, being able to rehash them in any way and still get a decent gothic library level.
The meshes and asset packs were determined by the aforementioned reference list. The assets were divided into several groups: modular assets, unique assets, and hybrid assets. The modular assets had shared textures and were generally lighter on the poly count. The unique assets were all of the little details like the books, candles, chairs and so on that had a separate texture set and a very simple material setup. The hybrid assets are something in between the two previous types, having joined textures but being more polygon heavy. Those were mostly the trim sheets used around the environment. Most time was put into unique assets simply because they required most of the technical work – making a low-poly, then a high-poly asset, combining them in baked textures and placing them in the engine. Biggest challenges surrounding the import of said assets were preparing them beforehand. Making sure the UVs were correct and not overlapping, the lightmaps that the Unreal engine creates were OK, and that the mesh hasn’t got too many polygons.
Since the planning phase, I wanted to make the books procedurally. Not only would it make the book placement more interesting and organical, but it gave me a chance to learn more about the Unreal’s Blueprints. For inspiration, I looked at various UE4 projects that did the same thing with books and similar props. In the end, I was most influenced by Aiko Shinohara’s Oxford Library project in UE4 which was also a stylistic inspiration from the beginning. The books are actually randomized from one single mesh that had 2 to 3 texture variations mapped in the material editor. It was essential to get the size, the tilt, the color variation and the length of the book row defined by the single blueprint. This way I could place a stack of books anywhere in the scene and then adjust them to the needed situation. The result was getting a randomized row of books for the various shelves in the library but it also gave me a possibility to place them freely around the place – giving way to a more organic scene which could feel as if it was used by the old librarians.
Lighting in the scene went through a lot of iterations. I knew from the start that I wanted the place to be dark and gloomy but to also have highlights of candlelight that catch the viewers attention. First came a light blue directional light which was to mimic the moonlight. The interior was made very dark from the start with individual point light being added gradually to liven up the scene. The point lights are combined with several light meshes. The individual candles, candelabra and wall lights all got a light source of its own in their own separate blueprints. This time I used blueprints to have more control over the whole scene, changing simultaneously the properties of light in all of the linked assets. The light assets were then scattered around the scene to not only highlight the architecture but also to get a sense of place being used. The candles were completely made in polygons, with the fire being animated and textured through the material editor. The flame flickering was achieved using the vertex world displacement with mathematical nodes in the editor like a sine wave and the panner. To finish things up, volumetric fog and dust particles were added to give the place the feel of an old dusty library.
This course has been a great experience for me. Not only did I get a chance to learn from the industry professional like Clinton Crumpler, but also to communicate with other artists during the course, get their feedback and share experiences and knowledge. I am glad I participated because of all the new stuff I learned concerning the level and environment production through all of the phases – from start to finish. I am proud to start my portfolio with this piece and hope to make it one of many in the upcoming years.
Eugen Čanić, 3D Artist
Interview conducted by Kirill Tokarev
Postwar Environment in UE4
Interview with Adrián Scolari
My name is Adrián Scolari, I’m from Argentina and I moved to Spain 18 years ago with one goal in mind: to work as a 3D artist for games. Over the years, I have worked on several projects for PC and mobile games like Asphalt 8, Asphalt Xtreme, War Leaders, and many others.
Goodbye, Soldier: Start of the Project
The scene Goodbye, Soldier is inspired by a short comic story called War III written by Ricardo Barreiro and Juan Giménez‘s art. When I first read it, I was 11 years old. The story tells us about a group of 6 soldiers patrolling the streets of ruined Paris after the blast of several neutron bombs. The city should be empty but suddenly they are under attack of a sniper who never fails.
Since then I wanted to make a short film with it but, to be honest, it’s too much work for one guy. So I decided to create only a part of it in UE4 to practice and improve my skills in lighting, composition inside the engine, and texturing with Substance Designer.
My main goal was the reproduction of the entire floor like in the comic but using the same pipeline and limitations used in any AAA game. I started working on the big assets I knew I would need, like the gun turret, generator, audio recorder, ammo boxes, garbage, debris, etc. The list was very long and took me several months of work to finish them all. In between, I started Clinton Crumpler‘s UE4 Modular Environments course where I had to choose an environment to do. I thought this project would fit perfectly for this so I continued working on it during the ten weeks of the course and a couple of months after that.
References & Blocking
I collected thousands of pictures of ruined and abandoned building interiors, peeled walls, wooden painted doors, frames, and so on.
I started setting up 3ds Max grid to match with the grid in UE4 (10cm grid spacing). Based on my measurement research in the real world I created modules for the walls, floors, and ceilings. Blocking out in Max helped me to correct the measures for each module pretty fast before start working in UE4.
I decided to create the wall for the hallway with both sides, one facing the hallway and the other facing the room interior. Both sides would be different and would have different IDs to allow me to use more than one material later in UE4. The other wall’s assets are just boxes with 2 UV IDs.
Sniper Turret & Other Props
The most challenging prop I made was the gun. In the beginning, I tried to keep the original design from the comic but the shapes looked too simple and the 4 legs were too big. I started modeling several mechanical pieces using references. The first prototype kept the original idea but looked too sci-fi to me. Due to the size of the main gun and the distance to the window, the legs had to be huge occupying too much space. Reducing the leg size couldn’t work because it would look weak at the bottom compared with the upper part.
So I started from scratch using the Browning M2 50-Cal and the remote sniper gun used in The Jackal movie as references. Once the high poly model was ready I started the retopology process in 3ds Max. The final polycount for this asset was 72K triangles including the ammo belt. I used UVLayout for the mapping process and it took me a few days of work due to the number of pieces. I created 3 textures sets baked and painted with Substance Painter, 2 for the turret and another small one atlas with the tileable stuff like the ammo belt, cables, and connectors. With NDO I added a lot of extra details like the patterns on the scope cylinder, screws, etc.
Materials & Textures
I’m not an expert in Substance Designer and this project gave me the opportunity to improve my skills. Most of the tileable textures were done with it.
In SD, I couldn’t get what I wanted for the peeling wallpaper texture, so I decided to use another method. First I created 2 different wallpaper patterns, clean with no damage or dirt on it. Then I used Photoshop to paint 2 different masks with the damaged areas. Using NDO, I created the normal, AO and roughness maps for each mask.
Once in UE4, I created a Master material using the mask to show the concrete or painted wall under the wallpaper. Converting specific nodes to parameters allowed me to change all I wanted in the instance materials.
Debris & Damage Decals
Using ZBrush and Photoshop I created sets of alpha-blended decals to add damage variation on the walls, pillars and concrete borders with one tileable texture.
The main room was the key location in the scene so first I wanted to set up the direction and angle for the source light facing the windows. To get the horizontal blind light pattern shadows on the wall I added one spotlight for each window outside with the same angle as the source light (I had to increase the lightmap size for those walls to make them visible). Inside the room, I added another two spotlights very close to the windows with a wide open cone angle to fake the light amount inside but with the cast shadows option deactivated. Then I added several point lights around to fake the bounces and get some light in darker areas. Along the hallway, I added more point lights at a very low intensity that cast no shadows.
To improve the lighting and the mood I added some planes following the angle of the source light with an animated material. It simulated the light passing through the gaps of the broken blinds.
Cinematic & Cameras
Since the beginning, my idea was to create a walkthrough video animation to show the entire scene. I started placing several Cine Camera Actors. The good thing about this type of cameras is that you can change the post process parameters for each one if you want to. I added eight cameras (4 animated, 4 still). Animating cameras is a very simple process using Sequencer in UE4. This tool is a multi-track editor where you can create animations for your cameras and add sound, transitions and some other things.
I got a problem outputting the animations as a sequence of jpg frames. The whole movie looked choppy. I tried many things and the only solution I found was to outputting the animations as uncompressed video files. I think the hard disk space or writing speed has something to do with this issue. Anyway, once I had all the rendered video sequences I used Adobe Premiere to cut, add transitions and music. My first video was blocked by YouTube due to the song copyrights. So I created the second one using a masterpiece by my favorite composer.
The biggest challenge in this project was to get the mood and lightning I wanted. I must say the entire process was hard and I learned a lot. I had a lot of fun, too. I can’t say exactly how long it took me to finish it but no less than 8 months.
Modular Gun Deck
Interview with Melisa Cetinalp
My name is Melisa Cetinalp and I’m a 3D Environment artist in Toronto, Canada. I grew up in a large family with many brothers and we spent the bulk of our childhood huddled around the TV playing with the Nintendo64. I knew since I was young that I wanted to be a part of the field that had such a huge impact on my childhood. This has led me to pursue studies in Game Art at George Brown College, as well as taking CGMA courses to supplement my knowledge. In my free time, I am either browsing Polycount, 80 Level, or Artstation. Having just recently graduated, I’m eager and excited to make the transition from a student to a professional in this field.
Alongside my studies, I took Clinton Crumpler’s CGMA course to further understand the modular workflow in Unreal Engine. In the past, I often shied away from the technical aspects of the 3d modeling pipeline as I found it hard to understand. With this project, I wanted to challenge myself to fully understand the modular workflow that is standard in the field, while still creating an environment that felt organic and had a story.
The course ran for ten weeks in which our first week was spent gathering references and pinpointing a specific scene to work on. I’ve always been interested in stories revolving around pirates and sailing and played with the idea of creating a submarine or ship interior. I decided to go with the gun deck of a ship as I found it had many repeating elements that would perfectly suit the assignment.
Pinterest has a vast resource library that allows for quick reference gathering. Rather than coming up with the asset list myself, I was inspired through images found on the site. I was even able to find an example of a well-documented gun deck on a ship called the HMS Victory.
We were urged to think of the story or idea we wanted to tell through our scene. Although my reference material was of a recently built ship, I wanted to tell the story of a crew that lived in the 18th century.
Creating a block out was quick and easy. Things to look out for was scale, so having a reference dummy to compare against different areas and props was handy. It’s better to keep things very simple and blocky as we are just trying to get a sense of how the objects will fit each other and occupy the space in the scene. In 3DS Max my grid spacing settings were set to 10 cm to match unreal engines default settings.
I created ceiling capstones and pillars separately, however, I was later advised by Clinton to group objects that would repeat together. This would cut down on texturing many separate objects, as well as the time it would take to place things individually.
Trim sheets are a staple to the modular workflow as they allow us to pack small details into a single texture atlas that is recycled throughout the scene. Things such as the edge of a window, or a row of vents are great to pack onto a trim sheet. Since I worked with a large wooden area, there were fewer options. However, I was able to use trims for larger objects such as the cannonball sockets, and bolts in the ceiling.
If you have a material that appears on various objects in the scene, such as rubber, you can have a strip of rubber in your texture atlas and UV unwrap the object to that area. This came in handy when I added in hooks and bolts to my scene, as I was able to flatten these objects into the cannon holder area of my texture atlas that shares the same metallic properties. It is better to reuse these areas of my trim sheet since they are small enough not to draw attention
When it came to texturing objects, I learned about the importance of using gradients. A good prop, no matter how new, should always have some sort of weathering to it. Gradients help lead the eye to a focal point. We learned that noise should populate as a gradient from macro to micro detail, rather than uniformly around an object.
I also incorporated this idea in the coloring process, transitioning from a darker to a lighter shade in the walls, masts, benches, etc.
The floorboard was redone many times in Substance Designer. At first, I had the wooden slates tile at a high value. However, these looked noisy and didn’t match the scene. I received a lot of feedback from my teacher Jamie Richards, who helped me breakdown my reference material and advised me to create long wooden strips rather than separate boards flushed together. This looked much more pleasing and natural in the scene. It can be frustrating when the asset you’re working on doesn’t look the way you envision it to, which is why constantly consulting your reference is important.
We worked with master materials in which all of our inputs were converted to parameters. The actual materials used are instances from which we replaced textures and moved some values around when needed.
At the end of the ten weeks, I was nowhere near where I wanted my scene to be. I reached out to my professors Billy Matjiunis, and Jamie, who both advised me to redo many of the assets in my scene. It can be frustrating having to once again start an asset from scratch, but looking back, I’m glad I did.
I got about to recreating many assets. The stools were too small and distracting so I changed them to benches.
Billy told me that straight lines such as those on tables and benches stood out too much and that I should use more geometry to break up the silhouette of such assets. Adding a few extra edge loops, and scaling and moving vertices around read much better to the eye.
Another way to break up symmetry and repetition is to simply mirror objects in Unreal Engine. When building props I made sure all sides looked polished so that mirroring objects over would allow for reusability.
My favorite part of the scene was creating and placing decals everywhere. Creating decal sheets is a good way to take a break from larger tasks in the scene. Decals can be relatively cheap and can really help with the storytelling aspect of a scene, as well as breaking up large areas into smaller areas in a natural way.
Since my floorboards were now giant strips, I was advised to create the ends of the floorboard as decals and manually place them. This allowed me control of where I could break up repetition, as well as framing the scene in a way that created lines for the eye to follow. I also created blobs of tars that matched my reference and placed them sparingly to add to the overall cohesion.
I used flour decals to mess up the floor, and many dirt decals populated along the edges of props where dirt would naturally collect.
Compared to my reference of a newly built and kept ship, decals allowed me to push the storytelling aspect of my scene to one that feels lived in.
Lighting is integral to making a scene. It contributes to the mood and overall ambiance of a scene and goes a long way in telling a story. Different colors can evoke different responses in people. For my scene, I wanted a warm wash over the room. I chose orange hues and a sunset vibe that complimented the browns of the wood. I also contrasted this color by using purple hues for the shadows. The slight fog helped the space feel dusty and old, further contributing to the story.
I recently attended GDC for the first time as part of a school trip. It was a great experience and I received a lot of feedback on this scene. It was suggested that I take another pass on my lighting and to improve a few assets.
Areas such as the rope net are a time-consuming prop as the ropes are knotted together. Initially, I just had the ropes overlapping, but through closer inspection, this became very apparent. I decided to create little knots, as well as frayed tassels to polish of any rope assets. Although my screenshots do not necessarily focus on these areas, spending time on these small details helps to sell the overall look.
Although there are many areas I could spend time further improving, I am ready to call this piece done and am eager to apply my newfound skills onto new projects.
This scene really pushed my knowledge not just in the modular workflow, but also in my overall knowledge of what makes assets and scenes read nicely, as well as different functionalities in Unreal Engine. I had tried a modular scene in the past but struggled to fully understand the process. Under Clinton Crumpler’s thorough guidance, I feel my knowledge of modularity, and the overall game creation pipeline has improved immensely.
Thank you to CGMA and 80 Level for allowing me to be the best artist I can be, and for giving me the opportunity to share my work. If you have some time, please take look at my Artstation! I’d love any feedback moving forward!
Thank you for reading!
Modular Scene in UE4: Blockout, Vertex Paint, Decals
Interview with Jason Cheung Yi Kai
Hi, my name is Jason Cheung Yi Kai, I’m from Hong Kong. Let’s talk about how I got into the 3D world and why I joined CGMA. Feel free to skip this part to the breakdown highlighted below if you just want to know more about my environment made at CGMA.
I started to work in the game industry around 7 years ago, starting as a programmer, moving on to make my own indie game, then becoming a 2D freelance artist, and after that – a full-time Lead artist. I work in the Asia mobile game industry drawing kawaii anime girls, gotcha machines, lots of FTP UI / particle systems. What I want to say is that I think it happens to a lot of us after graduation where we want to do so many things but still can’t find one thing that we want to stick to. Time flies by as we keep searching for what we truly want to do with our career. And I think that’s ok, and it’s normal. There is always something new and exciting to try. But one thing that never changes is that I always end up working on games. To be more specific, I always dream about making atmospheric environments for my friends to explore in video games. Last year in December, I decided once again to quit my job to self-learn all the new 3D software solutions and get back on track focusing on 3D environments.
In these 7 months, I started googling and watching lots of free YouTube tutorials, then I started buying tutorials from Gumroad and Cubebrush. One of my favorite tutorials is by Simon Fuchs – Military Radio tutorial. It teaches the basic workflow of modern 3D props, starting from a blockout to high poly, then baking to low poly. It was all new to me since the last time I learned 3D was over 7 years ago back at the university. The tutorial also shows some basic Substance Painter techniques, such as creating edge wear, mixing grunge masks to build interesting roughness for the 3D meshes, etc. It can be a bit challenging for a beginner but definitely worth the pain to finish it all the way. You will feel rewarded when you see your first industry-ready product. One thing I enjoyed the most is how the tutorial video didn’t cut out all the trial and error, so we can all witness how Simon solved the problems in real-time and listen to his thoughts on how he produces high standard assets.
After a lot of online tutorials, I wanted to make my own 3D environment. I tried to follow the tips and tricks learned to make modular pieces and trim sheets, but I still felt a bit lost. It is hard to understand if I’m on the right track or not and at the same time, it is difficult for me to find any informative critique or feedback online. That is when I decided to join the 10-weeks Modular Environment course at CGMA and learn from Clinton Crumpler.
The course is perfect for people like me who want to learn from professionals overseas. There are heaps of learning material and video tutorials provided by Clinton all in one place. But the best part is the Live Q&A section and weekly feedback, where you can feel no shame in asking any 3D related questions. Clinton is a very knowledgeable professional environment artist who can give you useful personal feedback and push your work to the next level. Another cool thing is that I can also learn from other classmate’s assignments through feedback provided by Clinton. Because this is a group learning course, we can take this opportunity to motivate each other toward the same goal and grow together. Anytime that I got stuck during the course, the classmates and Clinton were willing to help in the Discord group which saves you a lot of time otherwise spent on figuring out solutions all by yourself. All in all, my goal for this course was very simple – a great 3D environment piece for my portfolio. And after 11 weeks I achieved it! Although my final product may not be a masterpiece, it helped me improve so much compared to my old work. And now I’m here to share my process. Hopefully, you will find something useful!
Detroit Become Human in Hong Kong Fan Art: Breakdown
Reference & Planning
The first step before starting most projects is referencing. Gather as many references as you can to get a better idea of what kind of objects you will need and how they will look – a great tool for this is Pinterest. It is very tempting to start the project straight away without any references but this will likely cause more unnecessary work down the line unless you are a high-end industry professional who has a massive visual library inside your head. I always suggest having lots of references for every single project you start.
When you are searching for reference, remember that not everything must look exactly the same as what’s on your mind, because you don’t want to waste too much time searching for that one image. Also, it is a good opportunity to accept cool new ideas to spice up your scene. For example, while I was searching for lots of old traditional Hong Kong cafe furniture I accidentally found a fancy red couch on Pinterest. The red couch inspired me to make it one of the focal points: this is where a leader would sit to impose his/her authority in the space.
I also like to create another Pinterest board focusing on finding lighting and color references for my scene. It helps to get a better idea of the mood, drama and lighting composition. That is when I got the idea to add lots of window blinds on the side of my 3D environment and red neon lights shining from the outside illuminating the gloomy green room. You can search for Cinematography references to get lots of atmospheric shots. Mine scene was inspired by Christopher Doyle.
Lastly, before you finish referencing, scroll through the board again and get rid of the unnecessary pins, try to only stick to one or two color schemes and one or two settings. Don’t let your board get too messy. The bad thing about personal projects is that you can have so much freedom that it’s easy to lose your direction. Therefore, references can help narrow down your target.
After referencing, I always like to do a very rough sketch or photo bash to see if all elements match together. This can be a very ugly sketch but it doesn’t matter as long as you get the whole picture in your head and feel confident to move on to the next step. It is always good to sketch the ideas out than just imagine them in your head because our imagination always shows things far prettier than they are in reality. This rough sketch can also guide you later in the project. We don’t want to keep changing ideas in the middle of a 10-week project. Commit to it!
The next step is blockout. During the blockout stage, we will need to make sure everything snaps well together and scales properly. Therefore, I always start from importing a human.fbx as my scale reference – all other blockout assets will be based on it. After that, we will need to make sure to set up our grid in the 3D software to match with Unreal editor. You can follow this tutorial to set it up properly.
After that, we can start building our blockout. Remember that all blockout shapes should be extremely simple, don’t invest too much time into complex shapes yet. All we need to focus on right now is the overall silhouette, scale, and snapping it nicely to the grid. Another thing to keep in mind is to always start from the larger meshes like a wall, floor or pillar and skip the small assets like a bottle, books, etc. Just like in real life, you don’t put furniture in before all the walls and ceiling are properly built.
Export Assets into Unreal Engine
After most of our blockout is finished, I usually do an auto UV in Maya and set up the pivot point at the bottom left corner, so that the pieces can snap easily together like lego pieces. When exporting my modular piece, I like to use the Game Exporter in Maya – remember to check Move To Origin and set up the export path. It can save a lot of time when moving your modular pieces to the center. Freeze transformation every time you want to export. Also, you only need to set up the export path once and it will be saved for your next export.
After we export the assets into Unreal we can start building our scene. During this stage, we can do as many changes or rescaling as we want. It is recommended to spend some extra time going back and forward to make sure the scene looks interesting in different camera angles and all modular pieces snap together without any gap in-between.
I also like to set up some very basic lighting early on to get a better understanding of my scene composition. However, you don’t have to do this if you’ve never baked lighting in Unreal before. Lighting can be very time-consuming, so don’t waste too much time on it and just use the default directional light – all the lights will be modified anyway after the whole scene is set up.
Usually, one problem we will encounter during the blockout stage in Unreal is the light shining through some of the modular pieces which create a lot of ugly light bleeds after the light bake. What we need to do is build a light blocker to get rid of all of that light bleeding. A light blocker is a single mesh that covers up the whole room, so the light won’t shine through it. You can see it in the image below. Keep it in low poly, with no textures and UVs because no one is supposed to see it unless the game is bugged. The light blocker will be placed outside your scene like this.
Tileable Trim Sheet
Once we are happy with our blockout, we can move on to texturing! Again, always start from the big assets first.
Before we jump into Substance or Photoshop we should go back to our references and analyze what can put into the trim, like in the image below. Try to observe any repetitive patterns or textures that can be used all over your scene.
Here is a great video by Tim Simpson explaining in detail how to use trims: https://www.youtube.com/watch?v=IziIY674NAw
Another thing we need to be careful about when creating a trim sheet is to make sure each trim snaps nicely to the UV grid. Before CGMA, I used to create different ratios of trims in Photoshop and ended up having a hard time UV mapping and making them look seamless later on. Therefore, remember to keep everything snapped onto a grid either 1×1, 0.5×0.5 or 0.25×0.25. I usually start by making a Trim Sheet plan in Photoshop, using the grid and ruler tool to plan my trim sheet ratio.
Lastly, let’s talk about UV mapping using the trim sheet method. It is ok to create some extra edge loops to match our trim.
For example, in the wall shown in the image below, I added one edge loop at the top part and UV mapped it to match my beveled wall trim. I also added a few edge loops in the highlighted area, so that I could match it with my flourish pattern trim. Then, the rest of the mesh will be assigned to another tileable material.
Another example is the pillar in my scene: I added some extra edge loops shown in the image below just to match grout and mosaic tiles. It can be vertical, horizontal or curved.
One more example is the window blinds – they all use the same trim sheet.
There are three types of textures: unique bake, tileable and hybrid. Unique bake will always look the best. However, learning to be an environment artist will definitely involve using more tileable techniques, such as the trim sheet. It can save up texture size and reduce time.
Environmental storytelling is always one of my favorite subjects to research where the story can be told through the placement of each object, the type of object, movement, lighting and more. You can learn more from the article by Harvey Smith and Matthias Worch if you want to know more about it.
I decided to make a scene combining the rA9 backstory of “Detroit: Become Human” with an urban Hong Kong theme. It was originally planned to make just a Hong Kong hideout, however, my plan slowly evolved into this new idea influenced by Hong Kong anti-extradition bill protests in June 2019. I embedded this theme into my scene to give the audience an opportunity to choose how they want to feel – similarly to Detroit: Become Human where people can choose to view the story from different perspectives and support different opinions.
Following this, I want to talk about three things that can increase environmental storytelling in your scene:
- Decal and Vertex Paint
- Lighting and Atmospheric fog
Decal and Vertex paint
The decals and vertex paint play a big role in environmental storytelling. For example, the dirt and leakage on the wall are all vertex paint. It not only helps to break the repetition of a tileable texture but also makes it less plain and tells a better story about the place. The viewer can understand that it hasn’t been clean for a long time and the people who live there might be too focused on something else than cleanliness. Here is an example of before and after vertex paint:
Vertex paint works by blending two sets of materials using a custom painted mask in Unreal. However, if we are just using the default Unreal brush, the vertex paint will blend poorly and look fake. A tip to make your vertex paint blend more naturally is to add an extra mask into your Vertex Paint Material. Here is my material setup:
As you can see, we blend two materials by using MatLayerBlend_Standard, and its alpha input will be our Vertex paint mixed with our grunge mask. I used HeightLerp to mix the vertex paint with our grunge mask and also added some parameters to adjust later such as the height contrast.
You can experiment with a different black and white mask to create various blend results.
My wall tiles are also using vertex paint. The image below shows what it looks like in the vertex paint mode. The awkward green and black tile at the center is the Unreal vertex paint. Green means it will be showing material B and black will be material A. You can see that the paint is in a very low resolution and quite messy but do not worry because the black and white grunge mask will help blend it very nicely.
Decals are like a spray for us we can cover everything in the scene with. For example, the bloodstain and trails are all decals carefully placed in a certain area. Again, decals to create more drama in the scene and break the repetition. For example, all the rA9 graffiti on the wall, bench, table, etc. won’t be using the vertex paint method because it can be quite expensive. Also, sometimes vertex paint can still look repetitive. Decals give more freedom and can be scaled any way you want. I highly recommend learning it, as it can add lots of character to your textures.
For a beginner, the lighting might sound like a very easy task but actually, it is very difficult, especially when creating interior lighting. I tried so many iterations adding different lighting colors, more lights, post-processing effects, fog but it ended up nowhere. I think it is common for a student like me to go crazy by adding too many lights and effects too quickly. After this project, I found out that I should start from big to small just like with the blockout. It is better to delete all the lights, post-processing effects, and fog except for the skylight and everything outside the window. Then, we can slowly fine-tune the exposure in the Post-Process Volume, adjust the exterior light’s intensity, the Indirect Lighting intensity to bounce more light into the room and lastly, the Lightmass in the World Setting.
I used Preview light quality for faster bake results as there is no need to bake with high settings just yet. Now the scene looks super dark and it is perfect! It is almost like an empty canvas for me to fill with lighting effects. What I’m going to do next is add only one key lighting into the interior. And it already looks a lot more realistic and much cleaner than before.
As I do this, I like to check the light brightness and contrast in the Detail lighting View Mode because when I slowly add more small lights and tint into the scene it is very easy for the scene to become overexposed.
I will only put lights around the area I want the audience to look at, such as the red table, monitors, the messages, bloodstains, and drones. Also, I try to limit my scene to only two colors: teal and red. This way, the scene won’t look too messy.
During the CGMA course, I wasn’t able to put any animation into my final submission. However, I feel the movement is very important in the environment or else it can feel lifeless. Lucky with modern technology, simple animations like spinning fans or floating drones aren’t hard to create. I spent one extra week polishing up my scene, adding animation and particles in it. I wasn’t making professional-quality animation and kept it basic, but I feel it added so much to the scene – the blinking police lights can indicate a crime scene, drones rotating left and right can express a search for something. The wind blowing heavily outside the window, the dust flowing in the room, etc. – all of this helps heighten the atmosphere and storytelling in the scene. The particles weren’t created by me and were taken from the UE Elemental Demo scene. I recommend downloading or buying particle effects from the Unreal store if you are not planning to be a VFX artist. Get the effects that suit you, then modify them. For example, the dust effect in my scene was used as a blizzard storm, and all I had to do is to slow down the speed, reduce the spawn rate, and the opacity.
Time is always the biggest hurdle especially when I am new to something and trying to make a scene of a high standard. Try to learn from experience and improve on your next attempt. Reading more 80lv articles will help too! The other challenge was to create realistic micro details. For example, it is easy to make just a mosaic tile floor but it is not easy to make a believable mosaic tile floor. It will require the right amount of edge wear, dirt at the right spot, the right amount of roughness and randomness to break the repetition. Again, I think this can be improved by making more materials and watching more tutorials. Also, join the DiNusty Discord group – it is a friendly community full of professionals and beginners who are willing to share and help each other.
CGMA is a fantastic school. I was able to finish this whole scene in 11 weeks thanks to Clinton’s guidance and all my classmates. Like I mentioned before, the best part is the feedback, Live Q&A and the discord group. I can read as many online tutorials as I can, but nothing can replace getting direct feedback from professional and being motivated by your classmates.
I do hope you found something valuable here! And thank you 80lv for giving me this opportunity to share my work.
Jason Cheung Yi Kai, Environment/Prop Artist
Interview conducted by Kirill Tokarev
Creating Modular Shipping Warehouse in UE4
Interview with Laura Sjdik
My name is Laura Sajdik, I’m a 3D artist from Toronto, Canada. I originally studied animation at college before deciding to go into game art. Over the last several years I’ve held a variety of roles while working in mobile games from character art to animation and I am now focusing on AAA environment art.
I wanted to take the CGMA Modular Environment course for a while as I wished to push my skills further in creating this type of environment. My goal was to learn exactly how to go about planning and building a modular level from start to finish as well as feeling comfortable in Unreal authoring materials, lighting the scene and overall navigating the engine. The course was invaluable – I learned a ton in just 10 weeks! Needless to say, the more time you can put into it the more you’ll benefit from it. The lessons were broken down step by step, which made setting and meeting weekly goals achievable and allowed me to progress through the scene at a steady pace. Talking with other students in the class was also key for helping to solve any issues I encountered or for feedback and suggestions on how I could improve the scene.
The core idea of the environment for me was to choose something modular obviously, something that could look spacious enough but use minimal props to flesh out the scene. I had a few ideas in mind but ultimately settled on the warehouse because there is naturally a ton of repetition going on and it’s quite a versatile environment that can be found in a variety of games. My main inspiration for the look of the scene was Mirror’s Edge – clear shapes, clean textures, a clear path through the environment and not a lot of clutter.
The boxes in this level were really fun to do. My first attempt at making them was a simple cube mesh with a texture that looked like they were stacked – however, this didn’t give me the variation I wanted and the surfaces looked too flat. Even with some parallax occlusion mapping in Unreal, I felt like these boxes were such a big part of the scene that they deserved more detail so I took another approach. This time I made two basic boxes, texturing them while making sure each side looked slightly different from the other to allow me to stack and rotate them into larger piles and avoid any obvious tiling in the texture. From the initial full pallet of boxes, I created four variations and then it was just a matter of swapping them in. This made it much easier to tweak the silhouettes by simply adding or removing the individual boxes. There is a difference in polycount but I think it’s worth it.
I tried to keep the scale of the environment to a reasonable size. I was aware that choosing too big of a scene would take away from the amount of time I could spend on each asset, so I kept the warehouse small yet if I needed to rework the level at any point the modular pieces and tiling textures would let me easily expand the walls and shelving quickly. The shelves are made up of two pieces that snap together on the grid and a tiling texture lets me adjust the height as necessary.
It’s really important to keep the size of the environment manageable in this course particularly so that you’re able to progress with the lessons. It’s far too easy to get excited and block out 50 – 60 pieces for your level in the beginning but a few weeks later when you have to model, unwrap, bake, texture and test those same meshes in engine you become aware of how large the scene has become. An environment like a warehouse is so versatile that it could be adapted to the necessary size in any game with the correct modular pieces.
For textures that took up large areas of the scene, I created tiling textures either with Photoshop or Substance Painter. I haven’t used Substance Designer to the same extent so I didn’t want to waste my time experimenting with the nodes when I could make the same texture in an hour or two using programs that I use daily at work. One of the main focuses of the course was also to create and use a tiling trim sheet to cut down on the number of textures needed, so the more use I could get out of the trim sheet the more time I could save not having to create so many different materials from scratch. Some meshes like the rolling door use a mixture of tiling texture and trim sheet. The more effort you put into planning out your trim sheet for your environment the easier it will be later when you’re unwrapping your meshes and texturing them.
The floor is a simple tiling concrete texture with vertex painting on top using different grunge masks to layer dirt, grime and tire marks. To do this I created three different grunge textures and channel packed them into the RGB channels of a black and white texture. Once that was imported into Unreal I could reuse these masks with different materials while only needing one texture map to provide different looks. Clinton has some great lessons in the course that cover material set up and instancing that helped a lot, but also just reading through Unreal’s material documentation provided a nice foundation for creating these materials.
One of the biggest challenges of this environment was understanding how best to use the trim sheet. I had never used one up until now but once I began applying it to my assets I realized how valuable and time-saving it is. It makes approaching an environment like this much more manageable. Taking the time to plan out your scene at the beginning will result in fewer unforeseen issues later on.
Overall I enjoyed building the warehouse and learning the techniques that go into creating a modular environment. I will definitely be using them again in my next scene! And I would highly encourage anyone interested in the CGMA course to go for it. It’ll really help add to your skill set as an artist.
Laura Sajdik, 3D Artist
Interview conducted by Kirill Tokarev
Abandoned Library in UE4: Modular Approach & Materials
Interview with Jonah Pankonin
Hi! My name is Jonah Pankonin and I currently live in Kelowna, Canada. I am a college drop-out trying his best to land an environment art position!
As of right now, I am self-taught. I try to watch all the tutorials I can and read all the articles I can. But for me, CGMA is the most beneficial resource out there. I have already taken one of their courses and I knew I needed to take another. Clinton’s class was the perfect one - it is filled with content and Clinton himself is very knowledgeable both on the technical and artistic sides. It is at a reasonable cost for the amount of content you get out of it and being around like-minded individuals is really inspiring!
Inspiration & Software
The hardest part is always figuring out what scene to do. I wanted something that would take advantage of the modularity aspect of the class and have something I could still enjoy making.
In the past, I played Red Dead Redemption 2 and The Order 1886 so those games made me want to create something set in the 1900s or around that. However, halfway through the course, a classmate suggested a resident evil style scene and I felt like my project really came together after that. The mood and atmosphere portrayed in those games gave me a lot of ideas for my scene and helped with the lighting.
I used quite common in industry software:
- Maya + ZBrush: High Poly Modelling
- Substance Painter/Designer + Photoshop: Texturing and Material authoring
- Marmoset Toolbag: Baking
- Marvelous Designer: Cloth Sim
- Unreal Engine 4: Level Creation, Scene Rendering
Blockout & Modularity
The scene started out in Maya: I created all the modular pieces and made sure they fit nicely inside there. Of course, having a mannequin for scale reference is very important - the last thing you want is a too large element (for example, staircases) or else the whole scene will feel off. Once all the pieces are good to go and fits nicely I begin taking the pieces into Unreal Engine and assembling the scene. Here, I also begin doing basic lighting. Usually, it's a default setup: a directional light and skylight.
Once I feel like I have a good composition I move on to my unique props to fill the scene. Most unique props are modeled in Maya using basic sub-d modeling, some assets are polished in ZBrush. For baking, I mainly use Marmoset Toolbag. It’s one of my favorite tools because of its simplicity, the ability to change your cage, change normal skew, and how fast it bakes.
Having a lot of assets can turn into a challenge when it comes to texturing, so I tried to make the most out of trim sheets and tiling textures in this project.
All trims and tiling textures are done in Substance Designer. The ability to change anything with a single node and the amount of variation you get makes it a must-know tool.
Substance Designer was also extremely helpful because I could skip the whole bake-from-high-poly-to-a-plane step. A technique I used to get nice shapes for my trim was the curve node. This node allows you to remap values based on Bezier curves.
For my unique assets, I went the regular way and used smart materials in Substance Painter. I reused a bunch of my old smart materials, plus took some from Substance Share. It’s a great free resource for Substance Painter materials.
Once I am satisfied with how everything looks I export my Albedo, Normal, and a combined map that contains my Ambient Occlusion, Roughness, and Metallic.
Inside UE4, I did a few things in the material editor. Firstly, I add my baked AO as dirt inside my materials. This is done easily by enabling Use Ambient Occlusion under the Lightmass settings.
My vertex painting setup is the same but here the PrecomputeAOMask is changed with vertex color node.
I also set up fog planes casting from the windows. Setups like these help break up the repetition and add some more visual interest to the scene.
Breakdown of materials used inside UE4
Lighting, Post-Process & Final Touches
The lighting for my scene is all baked to get the best quality. I’m no lighting expert (probably far from one) but it’s something I still enjoy doing. A good lighting setup really pushes the scene to 100%. An incredibly helpful resource for learning lighting in general and in UE4 is Tilmann Milde's videos.
I tried to keep things simple, so my main lights are a directional light and skylight. Once I am happy with those two things, I start adding other lights like lamps, candles, and some spotlights outside shining through the windows to brighten up nearby areas.
At this stage, I also go crazy with decals. Decals are great for breaking up the repetition, storytelling, and just helping the scene feel more grounded.
My post-process is pretty basic as well. I didn’t need a LUT for my scene as the color grading tools were enough for me. For the most part, all I did was desaturate the color and up the contrast a bit.
Overall, Clinton’s class really helped me push through this environment and I am extremely happy about the final result. The 10-week class was filled with content laid out in a well-structured way. I can easily recommend this class to anyone interested in environments for games.
During production, I faced a lot of challenges. At first, things will look bad and they might stay that way for a while, however, being persistent will reward you in the end. Making art is an iterative process and you can only reach great results by hunkering down and keeping on working.
Thank you for reading!
Jonah Pankonin, Environment Artist
Interview conducted by Arti Sergeev
Cathedral Of The Dead: Environment Production
Interview with Nicolas Mendoza
My name is Nicolas Mendoza, I’m an Environment Artist from Colombia, and I’m currently working as a freelance artist on some indie companies. Before I began my career in-game art, I got a bachelor's degree in Architecture. After graduation, I began researching about 3d art, and I got invested in learning as much as I could. I started watching videos and spending all nights doing tons of tutorials, one day I decided to create my own game and publish it on Kickstarter. The campaign was not successful, but all the learning process gave me the chance to work as a generalist remote position on a small indie company in Spain, where I decided that I wanted to pursue a career as an environment artist.
Ever since, I have been working as a freelance artist for companies around the world including Japan, USA, and Spain, I still do a lot of courses, watch a bunch of tutorials every day and I try to be really involved with 3D art discord communities who have helped me grow as an environment artist.
This scene was a part of a CGMA course I did in summer this year, and I got to say the experience was amazing! After doing a lot of tutorials and courses online I think that CGMA gets the crown for the best course I have ever have. It offers a lot of things that really improve your learning process such as: Live Q/A sessions with your teacher to solve doubts and ask anything about the workflow and industry, weekly feedback, where everyone will receive a personal video from your teacher to know your main weakness, see how other people solve problems and resolve your doubts by seeing other people feedback, and last but not least an amazing discord server where you can see your classmates projects and receive feedback from them as well. I had the fortune to have Clinton Crumpler as my tutor, he is an amazing experienced environment artist who has worked in a lot of big projects, he was a great teacher and guide us to achieve our goals.
Gathering the Reference
My workflow for this scene was a bit different from what I’m used to, especially because of modularity and scale. With that in mind, I started gathering as many references as possible. My first intention was to have a Victorian-Gothic setting, where a ritual took place, I wanted to mix some architectural styles on the process, and since it was a lot of information to dig in, I needed a tool that could help me be organized so that I didn’t lose track on later stages.
Pinterest was a great tool for that since it allowed me to create different boards for my ideas in a more organized way, and most importantly, using the Pinterest plugin of Chrome, I was able to save any images I found on internet into my boards, that way I would be able to access the source link, where I found them. For this scene, I created 3 different boards: One for composition and lighting, another one for modularity, and another one for textures. In this early stage, I was mainly focused on the first board, for me, it is important that before starting any scene I get an early macro idea of how the composition and the mood of the scene would be, this will help me to establish a mood in the block out and have a general idea of my final goal, before I start to add any other details.
I was inspired by the mood of games like Dark Souls and Bloodborne, I have never created a grim/gloomy scene in the past, and I thought that this would be a great opportunity to challenge myself. I was really impressed with the cathedral of the deep environment when I played through the game so I wanted to look for additional concept art that could relate to this environment in particular, I got the fortune of finding work of Alana Fletcher, Alexander Sköld, and Zhuoxin Ye, who are amazing artists and have the perfect style that I was aiming for.
As for the other boards, I tried to research how modularity was made for this type of architecture, not only I searched about similar game art projects where they used modularity, but I also did a research on floor plans and architectural sections of cathedrals to get an idea of scale, proportion, and of how they were built in the real world.
Last but not least, Clinton showed us another great tool we could use, Trello is a pretty nice and free organizational tool that let you put assignments, checklist, and dates to organize the development of a project. It is pretty easy to use and you can put anything you like to make your development clearer for you, I think this is a must for larger scenes since you will have a lot to do, and you need to keep everything clear and organized, so you don’t get lost along the process. I primarily used it to create milestones for the 10 weeks and to keep track of time so that I could deliver the best result possible before the class ended.
The next step was to do a block out of the scene, it was really important in this stage to check for correct measurements and scale. For this, use simple shapes, don’t overcomplicate it, remember that you will need to refine the models later. This phase will give you a better idea of the proportions of the scene, and of how the assets would be made along the process, it will also help you understand and plan your workflow. It is really important that during your block out you have an idea of how are you going to texture your scene, for bigger scenes like this one, you should think how to optimize your time, by creating trims and tileable that would be used later to texture multiple assets. Although it is really difficult to know right away how would you do that, it is a good practice to have a list of them and a small description of how do you think they would work, I used Trello for that.
The most important thing is that everything snaps together. This was a bit challenging since this was an architectural environment, and there were a lot of complex shapes that needed to be done correctly for the assembly to be as smooth as possible. One of the challenges I had was the roof pieces as they use a complex geometry, this was where I spent most of my time in the block out. To simplify a lot of the work I used the boolean modifier in Blender; that way I would have a non-destructive way to approach the modeling of the roof.
Blender grid system was great to align everything and to make sure every origin and snap point worked correctly. It is really important to set your units accordingly and to always make objects snap to the grid, in my case, I converted the units to centimeters and I scale the grid to match those units. I also used the new powerful real-time renderer called Eevee, as it helped me to play with the lighting in real-time and to have a closer look into the scene before putting it inside Unreal Engine. I think this is one of the strongest additions of Blender 2.8, we can finally get a real-time renderer with marmoset capabilities, where you can also play with settings like Ambient Occlusion and Global Illumination.
Exporting into Unreal Engine
After I finished doing my block out, it was time to export all the assets into the Unreal Engine. Before you do any exporting, be sure that all your transformations are reset and that your origin is at the world center, you can do that with Ctrl-A and apply all the transformations. Also if you want to snap your objects inside the engine using one vertex, in particular, you can go to edit mode and use the Ctrl S function to put your cursor into the vertex selected and then go to Object – Set origin – Origin to 3D Cursor. Remember to always keep your objects origin snapped to the grid at 0,0,0.
For the export I used the Blender for unreal engine addon, which is a great script by BLURAVEN that will let you speed up the process of your export. After, I had exported every object inside the engine, it was time to recreate the same scene in Blender, using the block out assets, this is a pretty straightforward process, all you have to do is to use the snap functions in Unreal Engine to place all the elements correctly on your scene. This part as a bit challenging for me because I didn’t plan that well the position of the pivot points. Make sure that all the objects are snapping correctly inside the 3d program before exporting so that you don’t have any issues later on.
The Modularity and Asset Recognition
After everything is set up correctly inside the engine, it was time to plan how the modeling and the texturing process would be made, I started by separating the assets into 3 categories:
Unique: assets that needed a unique Uv space and won’t be using tillable textures
Trim: assets that will be using 1 or more Trim textures
Hybrid: assets that will have their own Uv space but will also use trims on their texturing pass.
After everything was correctly separated, I started looking for references that gave me an idea of how to approach the texturing of my assets. I look up for real-life references of churches and other gothic and Victorian environments to see how they were built. Cathedrals used a lot of ornaments and repetitive shapes on their construction, so I wanted to start with that.
Working on Assets
Wood and Stone
Before I started working, I put some Texel density rules for my environment, since this would be a third-person game, I used a 5.12px/cm density for my assets. Based on that, I created some layouts for my trims inside Photoshop, which would give me an idea of how to achieve the desired Texel density. If you want to know more about Texel density, there is a great tutorial by Leonardo Lezzi that you should check out.
My intention with the texturing pass was to have a lot of roughness variation throughout the scene and to make that possible I visited my references again. I wanted to capture the temporality and the different reforms that cathedrals have had throughout time. The best references I had were from Victorian cathedrals, where they used different materials to accomplish a unique gothic style. With that in mind, I started by creating a stone trim and a wood trim that would be used for my structure, the side paneling, and other small elements on the scene.
The process of these textures was a bit different since I wanted to add a lot of storytelling to it. I started by modeling and sculpting some thematic shapes inside Blender and Zbrush, that will work as cravings and ornaments on the wood trim texture. After that, I exported them as alphas and started working inside the Substance Designer. The creation of the graph was pretty straight forward, I used the tile sampler and the curve node with a small blur to get some bevels on the shape and then I created different types of ornaments and panels for my scene. I also used the JRO ornament pack since it has a lot of different shapes and helped me speed up the development process.
For the stone trim, I wanted to have a rough surface with metallic ornaments on it. I then used the JRO pack again to achieve what I wanted, and I also added fractures and holes into the stone, so that I had a bit of wear applied. One tip I would like to give is that try to keep the details as subtle as possible, don’t make them too big as it will make the tilling more noticeable. One challenge of making these textures is acknowledging that every material wears different. Since I had more than one material in my graph, I made some masks to isolate the different materials and give them the wear effect I wanted.
After the textures were done I started refining my modeling, I decided to use bevels and add edge loops instead of using the bevels of my normal maps. This would help me get the trims right into my assets and prevent sharper edges for my geometry. The weighted normal modifier in Blender was awesome to avoid harsh edges into my models and provide a much cleaner smoothing in the mesh. It is important to notice that I maintain the proportions and measures of the blockout meshes on this stage as this would allow me to reimport the assets back in unreal without having any snapping issues.
Then, I started mapping my UVs into the trims I made in order to achieve the texel density that I previously established, I used a Blender addon called Texel Density checker, it is an awesome addon that you can grab for free (https://gumroad.com/l/CEIOR). It works by selecting your UV islands and scaling them up based on your texture size, texel density, and the scale of your object. This addon helped me maintain coherency through all my assets and helped me speed up the process of my texturing.
Windows and Stained Glass
For the windows, I followed two great tutorials, the first one is an awesome tutorial by Martin de Graaf, who explains in detail the process of using the curve node inside substance designer to create detailed ornaments and complex designs, I really recommend this tutorial for any ornament and architectural modeling, I have applied this knowledge not only on the windows but also on a lot of my other textures.
One of the coolest tricks I learned was to use a combination of the Levels – Curve – Blur HQ Grayscale nodes to get clean and smooth edges.
The next one is the stained glass tutorial by Vincent Dérozier. This one helped me a lot in the process by showing me how to create complex shapes and patterns by only using images as a base, it is amazing and you can also download it for free! To get my base images, I created some simple shapes inside the Substance Designer and apply them to the graph. After that was done, I exported my textures into Substance Painter, where I added emission and some dirt to the texture.
After that, I traced some simple shapes using the curve modifier inside Blender to create the frames of the windows. I created a simple plane, where I would map the window trim texture as I did with previous assets.
For the Fabric, I did a simple graph with some noises inside the Designer, and I apply some of the ornaments and additional shapes I did in Photoshop to get more symbolic elements into the scene. Same as the previous ones I organized the different trims of my cloth elements using a previous layout in Photoshop, and I masked my shapes to have some color and material variations.
For the cloth elements, I used Marvelous Designer to simulate the cloth. It was a fairly simple process, I created some planes, and then I used the pin tool to add some tension to the cloth. Then I did a decimated version inside Blender to get an optimized asset without losing the original silhouette. Marvelous automatically generates planar UVs that I can use that to map my trims into the asset, this way, the texturing process is really easy to do, and I can iterate my textures easily if needed.
All my tileables here made inside substance designer using pretty standard methods, I will strongly recommend seeing the work of Josh Lynch and Daniel Thiger, their tutorials are amazing, and they helped me understand most of the nodes that designer has. In this article, I will highlight two of my graphs, which, I think, are the most complex ones.
For the skeleton piles, I decided to use the same method of creating alphas that I used before for my trim texture, but this time I used the height blend node to create different layers for my shapes. The node setup as really simple, I used a tile sampler with low random position and rotation for each of the bone types. Then I blended it all using the height blend node. It is really important to keep the position random value as low as possible to prevent shape overlapping. To get the height right, keep an eye on the grey-scale values of your nodes, I strongly recommend to try and to have different intensities for each layer, so that the shapes don’t overlap.
When the heightmap was done, it was time to set up my albedo graph. For this graph, I wanted to have yellow and red tones to show that the bones have been inside the environment for a while. To do that, I created different color gradients by using the eyedropper on references that I found on the internet. Another cool tip is to use grunge maps and create a color gradient based on their grey-scale values.
To add some 3D to the pile, I did two additional things. The first one was to add actual 3d models into the pile. That way I would create a more interesting silhouette for the piles, allowing me to break up the simple shape and give more depth to the tilling texture. One thing that I wanted to do was to blend the bones as much as possible into the tiling texture. To achieve that, what I did is that a brought the 3d models inside Substance Designer and by baking them, that way I will get textures that I could use to apply the color and the details that my original graph had.
I also created a simple tessellation material inside Unreal, so that the bones have more volume and depth. A really important tip in here is to always blur a little bit the height map generated inside Designer. This will prevent some artifacts when the texture is displaced.
The Ornamented Floor Tile
I wanted to create an ornamented tiling texture that resembles the one used in most cathedrals. Again, my intention was to create a theme version of giving theme and storytelling to my environment. I first created the material of the simple tiles to establish height and shape. Then, I created a 2D pattern inside the Designer with some color ID mask to put it on top of my material.
For creating 2D shapes, I used two different methods. One was to use some of the alphas I have been using and with the level nodes get a flat shape. The other one was to create some functions that will help iterate on the shapes easily. Kyle Horwood tutorial explains this process way better than I do, so I really recommend to check it out.
For my uniques, I used the blockout props that I have already made, and then, I started to create the low and high poly versions in Blender. I kept my assets with a poly count as close as possible to 5k to optimize the geometry of my assets. Again, the texel density addon was great to get my UVs right, and this time I used the UV pack master addon, to optimize my UVs. This addon is great and has a lot of options, it's the only downside is that it is a bit expensive, but it saves a lot of time and let you optimize your UV space.
Also, try to optimize your workflow. For example, in the chandelier, I created alpha cards for the chains, and overlap the UV islands of the objects that repeated in the asset. This allowed me to save time on the baking and texturing pass, and help me optimize my UV space to get a nice resolution of my textures. Remember that you can always add details to break this repetition through vertex painting inside the engine, I will talk about that later on this article.
After that, I bake them inside Marmoset and then used Painter to texture the assets. The process for each unique asset is more time consuming than doing a trim one, hence why I kept their count as low as possible for the environment. Marmoset has a great tutorial that explains this process that you can find here.
The Hero Prop
In the concept phase for the cathedral, I originally had a small altar that would serve as my focal point for the environment, but I started to realize that this was not enough. Clinton gave me an awesome idea to add a statue to my composition. That way I would have a much clearer focal point into my environment. Even though I was a bit scared to do the statue, since my anatomy knowledge is pretty limited, I still wanted to challenge myself into doing it.
I intended to create an angel of death, so I started by gathering a lot of references of how death was represented throughout history, and I found a sculpture inside CG-trader made by the user TheTNR that pretty much was exactly what I was looking for. I still wanted to do my own thing, to add a darker tone, I changed the human figure with a cloaked one. That way I would not have to do the face, and it would help me speed up the sculpting process.
I first began by putting the skeleton inside Marvelous Designer and try to simulate my cloth using the skeleton as the base avatar. This didn’t work because the skeleton had too many holes, so for that reason what I did instead was that I used a base female model on Marvelous. It gave me a good result, but the shapes were too thick for what I was looking for. So, what I end up doing was a hybrid model of the two meshes by cutting the arms and the head of the female model and putting in the skeleton parts instead, this gave me the result I was looking for.
Another thing that is cool inside Marvelous is that you can import an FBX with animations and poses, and the program will do another simulation of the cloth based on the new position of the avatar. So what I did to get the pose I wanted, was bringing the original simulated avatar into Blender, rigging it really quickly and easily by using the Rigify addon and then exporting the FBX back into Marvelous Designer.
After the simulation part was done, I brought the model back to ZBrush to start working on the details for the cloak, I mainly used the brush Drapery and Foldings that I found on ZbrushGuides for this, as it really helped me accentuate the folding of the cloth giving it a traditional sculpted look.
After the cloak was done, it was time to move into the wings, I firstly began by trying a lot of different workflows to see, which one could work better for the pipeline. The best solution that I found was to make low poly objects to get a block out of the wings and then, using dynamesh, join them together to start with the details. After the model was done, I decimated the parts, UV map them and join all the UV islands in a single material, before I baked them in Marmoset.
Working on the Texture
After I finished with my first texture pass, it was time to create the textures that I would use to vertex paint my environment. Vertex painting worked well for me as it helped not only to add more storytelling to my environment but also to break the tiling of the tileable and trim textures that I have been using.
To make them blend as much as I could, I used the graphs I have previously done in the first texture pass to create new destructed versions. Creating a workflow, where I could use previously created assets, allowed me to have a closer blending with the original texturing pass. For that reason, it is really important to always keep your files as organized as possible. That way if you want to come back and create new assets based on the original files, you won’t spend that much time figuring out how to modify them. Also, remember that you can always modify your color values inside Unreal Engine by double-clicking the texture, or by creating some saturation nodes inside your material, this way you will have more control over the blending of your textures.
To check if I was doing my blending correctly, I used the buffer visualization inside the Unreal Engine for the base color. This way I can see if the saturation or the hue are off the mark.
Buffer Visualizations are great tools to see how optimized is your scene. I usually put a 90FPS mark and try to keep it as close as possible to that. Although, if this is a personal piece, I always try to work as if it was a work assignment. That being said, always remember that quality comes first, so don’t be too attached to optimization.
To give more storytelling to my environment, I also added 3 different decals to the scene, although decals are really fun and easy to use. Beware that they consume a lot of resources, so try to keep it simple and only use them when necessary. To check how complex is your decal, you can use the buffer visualization mode inside unreal to see how everything is working. In my case, I use the decals to add details that I could not do with the vertex painting. In my case, I used blood splatters and a ground damaged decal to break the tiling of my floor and give more character to it.
Lighting and Composition
Interior lighting was a bit difficult for me since I have never done any in the past. It is very difficult to not get carried away and start adding a lot of lights into the scene, but keep in mind that the more lights you have, the larger your baking would be, and that is not optimal since you will lose a lot of time without doing anything. One thing that helped me was that I already had an idea of how the lighting as going to be from the block out, so what I did was to do some preview light-quality bakes, where I would start adding and removing lights to get some quick results before doing the final bake. To speed up the process, I also created blueprints of the assets that contained lights, this allowed me to make quick changes to the scene without having to go and change each individual asset separately.
The light should always be part of your composition and should guide the player’s eye to interesting points in your scene. My initial idea was to put all the attention on the statue, but as I started experimenting with it, I realize it created some nice composition lines in a shape of a cross, so it became another symbolic element in my scene.
As for the final bake, I increased the bouncing of the skylight and the indirect light, just so that the light would bounce in all the space, preventing me from having pure black areas in the environment. It is really important to do this subtle as you don’t want to end up washing up your environment, also keep in mind that increasing the bounces won’t increase your buildings times, so feel free to increase the number as you see fit. I also increased the indirect lighting quality to have more accurate results.
Post-processing and VFX
To finish the scene, I started by messing around with the settings of the post-processing stack, I created a LUT inside Photoshop to modify my color values and give the scene a color grading pass. I also modify my AO to get more interesting shadows that would help me outline the silhouette of my assets. Finally, I added some sphere reflection capture elements into my scene, and I increased the quality of my screen space reflection. That way I would have more accurate reflections and give the PBR materials a more realistic look.
To push my details a bit more, I created a Post-process sharpening material by following Ervin Jesse's tutorial. This is a great way to accentuate your edges and give more visibility to the details of your textures. One thing though is trying to use it in a very subtle way, otherwise, it can get pretty noisy.
For the VFX, I added a small dust particle system and a fog plane in some areas. VFX is not my forte, so I took them from the Unreal particle project, and then I modify them just a little to make sure that they worked in my scene.
Finally, I was inspired by how the candles looked inside Dark Souls, but I was really scared of spending too many resources on them. So what I did was that I created a simple world offset material that would bend my flames in different directions using 3 values. To prevent the flame moving weirdly, I created a simple vertex paint option, where I would paint the base preventing it from moving from its original spot. This helped me to optimize the scene since there were a lot of candles and gave the asset a subtle movement at the end.
Final thoughts about CGMA
I have learned a lot from this course! And I really recommend it, it showed me a lot of technical and artistic approaches that I have never done in the past. Being able to understand and use trim textures helped me to speed up the process of creating this scene, but it also allowed me to understand the workflow behind creating complex environments. My two biggest recommendations for anyone who is planning on taking this class would be: Always do your assignments in time, every weekly feedback will make your scene stronger, so don’t miss the opportunity and work hard. Ask anything that you want to your instructor. Don’t be afraid, everyone has doubts, and you are all in the same course, so even if you think your question is dumb or pointless, just ask it and resolve your doubt.
Whenever a challenge is in front of you just.. take it! It is unbelievable how much can you learn just from getting out of your comfort zone and try to do things you have never done in the past. One thing I forgot to mention, and I think it is one of the most important subjects, is to always get feedback. I cannot stress enough how important it is to look for other people's critiques and opinions. Showing your art to other people can be rough, especially, if you get strong critiques on something you have been working for a lot of time, but be humble! accepting criticism and improve your work is one of the most important skills an artist should have. Also, there are a lot of discord communities you can join to get amazing feedback, help other people and keep learning. I will name a few, but there are a lot more: No More Grid, The Dinusty Empire, Handpainter’s Guild and Stylized Station.
I do hope that this article helped you. Thank you for reading so far and thank you 80 Level for this opportunity!