What was the first project you worked on as an Environment Artist, and how did you land it?
My first real project was a 2D mobile game that was using pre-rendered 3D environments that I modeled in 3ds Max and rendered with Mental Ray. I got that job when the studio saw my portfolio and contacted me around 2012. My first experience in 3D happened much earlier, but this was the first time when I really understood that I could make game art for a living.
I'm a self taught artist, and I didn't plan on doing 3D professionally because it was just a hobby for me. I didn't believe that I could earn my living with it, so I decided to get a "real" career and studied three years to become a car mechanic. After graduation, I understood that 3D was my passion so I took a huge risk and started to learn it more. I spent 12 hours a day to just model all sort of things and slowly started to build my portfolio. In my case that risk was well worth it and I managed to get my first job.
We love your Desert Express piece. Can you tell us a bit about how it began? Does a project like this start with a sketch?
This project started when I saw that Humster3D had a new Car Render Challenge coming on, and at the same time I was also planning to start making my own game so I wanted to combine these two. I had a pretty solid theme for the game, so I used that as a base and decided that an old Ford Escort would be the hero asset of this project.
Then, I started to make a 3D blockout of the environment itself. Looking through a lot of different reference shots, I tried to figure out main assets that I needed to do. Environments can be very complex, so I try to separate them into different layers like large structure, medium assets and small assets. This will also help to ground bigger shapes into the environment and helps to make things look more real. This time large structure layer contained ground plane and bigger rocks. These are supporting the whole scene. Medium assets layer holds the car, background buildings and medium sized rocks. Small foliage and rocks are in small assets layer.
I tested how things looked in Unreal Engine and tweaked different aspects in the blockout based on that. Once I was happy with the blockout, I started to model final assets to replace placeholder blockout models.
Could you walk us through the process of modeling the vehicle? We're curious to know what software you used, as well as any techniques that were unique.
I used pretty standard workflow when I modeled the car. First thing was to find good reference shots from different angles that I could use for front, side and back references, and then I made sure that the scale were right in all of them. I created simple planes in 3ds Max and applied references to those. It was easy to start modeling after that, and modeling was very straight forward. I used a lot of 3ds Max's symmetry tool, and I also wanted to model interior parts so I can use the car in a game.
I wanted to use the same layer concept here that I used for the environment. I separated the car into different layers like car body, underparts, wheels, interior and accessories. This way it was much easier to start making UVs and also to sculpt final details in ZBrush when I had to focus on one area at the time. Another benefit that comes from this is that I have an option to change different wheels or paint jobs separately inside a game and texture resolutions are not going to be too high.
How did you achieve the beat-up, rusted textures of the vehicle?
The beat-up car look is created from ZBrush with sculpted details that are baked down to different maps and then used in Substance Designer to generate final textures. My goal was to use Substance Designer as much as possible in this project so I created a library of different generic materials. This way I could share materials like rust, sand and metal with all of the models that needed them. Results would always be consistent and if I needed to change something in these so called subgraphs then those changes would happen in every graph that are using those subgraphs.
I wanted to avoid making noisy textures while still having enough variation in details. Objects that are existing outside in nature would have to deal against different types of damage. In this case, wind would carry sand into tight places so ambient occlusion map works well for finding those places. Then there would be rust, sun would make damage to painted surfaces and rubber materials, sharp edges would be have more wear and tear and so on.
I also added a paint job that someone has painted maybe by using spray cans and after some time it started to wear off. I tried to use these texture guidelines in every part of the car but still tried to leave some areas where eyes could rest. Adding more visual elements to the front of the car made it to look more aggressive and that was the style I wanted to achieve.
What is the process with creating the vegetation and the rock assets?
There are a lot of different ways to create vegetation. I usually just model base meshes in 3ds Max and put those inside a square. This square will eventually be the texture atlas, so I can store a lot of different foliage there. Then, I export the models into ZBrush where I will sculpt more organic shapes and details. After that I bake down some maps using just a plane with 0-1 UVs and the hi-poly models from ZBrush. I bake everything with Substance Designer. Then I create a graph in Designer that will generate final look for the textures using the baked maps and output right textures like translucency that enables nice SSS effect in Unreal Engine. Then I just have to cut different foliage out of that square texture in 3ds Max and create different sets from those cards. I can then place this vegetation in Unreal Engine with foliage paint tool.
I tried to find agile and fast ways to create rocks and after some testing I came up with a workflow that works for this kind of rocks. I start with blocking out some interesting forms that could look good together. Simple boxes works great and are easy to work with. When I´m happy with the results I export those blocks to ZBrush. Key for my workflow is to use dynamesh to weld all of the boxes together. Then I just use flatten to trim brushes to add some edge wear and cracks. When I'm done with the sculpting I export them back to 3ds Max where I use ProOptimizer to decimate them down into low-poly versions. I create UVs for them and bake everything down in Substance Designer and use a graph that I made. This graph will output a normal, ambient occlusion and edge wear maps.
I also made pretty complex rock shader in Unreal Engine that blends different micro maps and allows to blend another material on top of the rocks. This way I could add sand on top of the rock faces and with edge wear mask I could make rock edges to pop more.
The ground textures are amazing as well! How do you model the ground and still keep the polycount down to run in Unreal?
Ground covers a lot of area in this scene, so I used some time to figure out the best way to make it. I ended up modeling it by hand instead of using the Unreal Engine landscape tool. I will use landscape tool in the final game but for this version I wanted to have a simple model that I did in 3ds max. I kept it pretty low poly but still dense enough to form nice round shapes and have enough vertices for vertex colors.
After looking through some reference shots I ended up making two different type of tiling sand textures that I could blend together using vertex colors. Since it was a large model, I wanted to have more variation there so I decided to blend a macro normal map on top of everything to break the tiling feel. I also decided to use tessellation so it would have more depth and shadows worked better. This way the model itself was pretty low-poly and graphics card then tessellated it and moved vertices based on the height map information.
Could you explain how you integrated all of your assets into the unreal engine?
I exported all the models separately to Unreal Engine and created a folder structure that helped me to find assets fast. I also exported textures from Substance Designer and used same names and folder structure like with the models. Unreal Engine is very artist-friendly and allows you to create material instances from master materials. This way, I only needed to make one master material for rocks, one for foliage and so on. Then I just created material instances from those. Making changes was fast because I only needed to edit one master material and changes were transferred to all of its instances.
I think that lighting took most of my time that I spent in Unreal. I also tried to keep everything very optimized so it would be easier to convert this scene from a portfolio piece to a real game. Lighting will always eat a lot of performance so it's important to keep it simple enough.
You said you plan on making your own games. Is that something that this piece could potentially be used for? And why do you think it's important for artists to create their own IPs?
I have some ideas for my game and most of this project assets will be used there. It will be more like a visual experience than a regular game but time will show where things go. Tools are awesome nowadays so person like me who don't know how to write code can build simple things using visual tools and Unreal Engine is all about that. I think it´s very useful to know some basics of different areas that is needed to build games. This way I can better understand the overall picture and when working with others this really helps.
I also have all the freedom to design how my game would look and feel. Making games only by yourself is not something I would recommend to do but that freedom can feel awesome. Best possible situation would be to have a small team around you so you could share different ideas with others and let your imagination free. I think that all of this will help artists to believe more in their skills and to test how far they can push themselves. When it´s your own IP you can tell amazing stories and there is also a good chance that someone else like that experience too. Combining this with the latest tech like VR and you can show your creations in a whole way!
And lastly, for those out there who want to be an environment artist for games, what advice would you give to them to be able to excel and evolve their skills in modeling and texturing?
Have enough patience to finish what you start and try to learn as much as you can because environment art combines a lot of different things. Learn to be a good team player because making game environments is all about teamwork.
Don´t be afraid to test new tools and workflows because you may never know how those would speed up your current workflow. Keeping your skills up-to-date is always a good idea. Remember still that tools are only tools so they can´t fix certain things like composition skills or understanding about shapes and colors so take enough time to learn the basics. Most importantly be humble and keep your feet on the ground but still be proud of what you do and always give your best.
We would like to thank Kimmo for taking the time for breaking down this process for us and the community! We look forward to seeing more - and keep on creating that amazing and inspiring work!