Building Epic Fantasy Environments
Subscribe:  iCal  |  Google Calendar
7, Mar — 1, Jun
York US   26, Mar — 29, Mar
Boston US   28, Mar — 1, Apr
Anaheim US   29, Mar — 1, Apr
RALEIGH US   30, Mar — 1, Apr
Latest comments

Very cool review of the making of Spellbreak. Would be even more cool to see some videos inside UE4 showing how they do a few very specific things unique to them.

This was so helpful for me. I'm hoping to adapt your tutorial to pull off something similar comparing modern satellite imagery with historical maps. No topo, so my steps should be simpler, but I'm a novice with Blender and you've really helped. Thanks!

Even Top Notch Artists will be replaced by AI. You have no idea what you are talking about. If you do, only very superficial. At the end you are only an employee. You dont have any contact or experience to the High End Echelons we worked on. In 20 years, 40% of workforce working today will be out of jobs. First we will get worldwide financial crash, then AI takes over. Admin will remember my words in not distance future.

Building Epic Fantasy Environments
6 July, 2017

Angelos Kostelis talked about the production of the outstanding environment, inspired by the famous Tianzi Mountains in China.

Angelos Kostelis

Hi, my name is Angelos Kostelis. I’m 22 years old  and I grew up in Greece on a small island.I found out about game art through my brother who was studying 3D Animation and my passion for drawing  g and video games. As I finished school I had decided that I want to become a 3d game artist and then I spent one year in Germany to create my art portfolio in order to apply for a course in the UK.

I studied game art design at De Montfort University in Leicester. During my three years of studying the most exciting projects I have worked on  where a small scene of a tropical fish aquarium, a team project of creating an UE4 level about Shakespeare’s  Midsummer Night’s Dream and another team project for which we had to recreate the room of Sherlock Holmes from the TV show. Of course my fmp was the most fun to do as I had improved skills and the freedom to create whatever I wanted to.

Where did this idea come from?

I have always been fascinated by the epic fantasy environments of video games like Skyrim. With this project I wanted to finally create one myself by concentrating on rocks,foliage and architecture. Then I decided that I wanted to base my project around the Chinese culture. The scenery is inspired by the famous Tianzi mountains in China.When I saw these mountains, I thought, what could be more awesome than a level that takes place in this environment,above the clouds,with waterfalls,with an ancient civilization that lives there and a beautiful sunset. The art style I was aiming for was similar to that of Uncharted, realistic but with vibrant and strong colours.

Here is an initial simple moodboard that I put together for the overall level idea and main assets:

How did your production process start? 

I started by creating a whitebox verison of my level in order to figure out  the layout, where the player is walking, scale, composition and where my main assets would be. I had no idea what an environment on top of those mountains should look like, apart of being very rocky with cliffs. Because of that I could not use the landscape tool and had to rely on using meshes. At this stage I just wanted something to start with and not a final layout.

The first assets that I started working on where the mountains and then the rocks/cliffs. I wanted to get them out of the way first, as they would have a huge impact on my level  and it was my biggest concern on how to get them too look right.

How did you model your assets? 

I did not use any ready pack models, everything was made by me. For everything I modeled, I used a lot of reference but never tried to copy a single thing. Instead, I always combined various parts together in order to make my assets look unique. The programs I used to make my assets are 3ds Max, Zbrush and Speedtree.

On the first image you can see the rock assets that I used and on the second the mountain parts.

Yes, all my rocks and mountains assets are modeled so that they can be used from every side and combined together. At the beginning I had no idea how to start as I had never properly done rocks before. A huge help for this where the amazing rock tutorial series from 3D tutors on Youtube called “Creating Rock Structures for Games in ZBrush and Unreal Engine. These tutorials really tell you everything you need to know about creating modular rocks and texturing them. The  texturing method for the rocks is also modular based, which provides you with consistency throughout the environment and the freedom to make changes in engine in order to get the desired look and enough variation.

How did you work on mountains and background?

That was something that I kept working on and changing many times throughout the project. Particularly for the background I wanted to achieve that majestic feeling that you get from the Tomb Rider and Uncharted games. It took a lot of experimentation and frustration with combining the mountain parts in order to get a believable looking mountain.

The mountains are made out of the three pieces that I showed above and were textured in Substance Painter. I selected the shapes carefully so that I have a good variation and some flat spaces for trees to go on. I did not make any Lods for them as I kept their Tri count quite low from the beginning. For a long time they looked very ugly and empty, like that:

The order in which the background pieces were placed: mountains, vertex painting, foliage, exponential height fog, waterfalls, clouds and lastly the vista buildings. In order  get the sense of depth in the distance I used the exponential height fog. I placed the trees with the foliage tool and because foliage is very expensive the far distant trees are just alpha cards.

Tell us about the tools/techniques you used for the foliage?

Here is an image with all my foliage assets. Again, I made sure to have enough variation on Tree shapes and size and other plants (although I could have done with less trees).

For the trees and the red and green bushes I used speedtree.Speedtree was a savior as I could easily create 4 and good lod’s for the trees including the card billboards that I used on the mountains. The only disadvantage was that a good placement of the leaves was hard.

This are the four lod’s of one tree.

The rest of the foliage was created in 3ds Max. First I would try and find the texture of the plant  I wanted on CG Textures. If I could find an image of the plant that was suitable to be used as a texture (flat and without strong lighting information) then all I had to do was place it on a plane in 3ds max, then cut it out so that you get as less empty space as possible (this reduces draw calls from alpha meshes in engine) and then place the planes according to the plant. I would also put the diffuse in Crazybump to get a normal and specular map.

Now if I’m not able to find a texture image I follow the baking method in order to create it myself. I am modeling the plant and baking it on a plane to get the alphas, normals, diffuse and ambient occlusion. There is a very good tutorial on Youtube that shows this workflow, it’s called “Creating Grass and Vegetation For Video Games” by “Futurepoly”.

Also a good practise before exporting the mesh for the engine is to use the edit normals modifier to make the vertex normals face up. This prevents the foliage from getting dark shadows and it blends better with the ground.

Some other small things to add more realism on the foliage can be done in the materials inside Unreal Engine. The Speedtree Color Variation node changes slightly the Hue randomly according to the position of each mesh. This adds a bit more variation and realism and I also used it on the rocks. The Two Sided sign node is used for meshes that are two sided. The simple grass wind node is an easy and effective way to add wind movement on the mesh and can be combined with a vertex color to control weather you want a part of the mesh to not be affected.

What materials did you use for the cave environment?

The cave walls are made out of one mesh which is flat from the other side. The material is the same with the rest of the rocks, just a bit more wet.

For the ground I used that mesh with the tillabe material that I created in Substance Designer. This material was originally meant to be used throughout the entire path but did not match with the rock material and so I ended up using it just in the cave,which worked out well as I had more variation.

In the cave area I am also using a second post process volume in order to make it darker and have more control over the atmosphere.

Another effect I’m using is the panning water caustics around the water area. This is a material that is applied on a light as a light function material. Below you can see the water caustics material that I am using. In order to use the motion-4-way-chaos node you have to enable something in Engine.

Other than that stuff the tools and materials I used in the cave are the same for the rest of the level.

To vertex paint the rocks, ground and mountains I used three materials: grass, moss and soil. The moss material was made in substance designer and the other two by using diffuse maps from CG Textures website and then importing them into BitMapToMaterial to improve them and take the rest of the maps.

How have you created a stone path texture? 

This path texture originally started just as a texture for the bridge ground in Designer. But as it came out better than I thought I improved it and made tillable.

You might get scared if you see this graph but it is actually not that bad if you break it down. Always start with the large and basic shapes and then the smaller details. Also add the color at the end,after you have made the other maps. I want to mention that most of that stuff has been done by following different tutorials on YouTube and adjusting them to my needs.

To create the tiles I am using the shape node to get a square,modify it a bit and then put it into the pattern input of the Tile random node. Then in order to break up the square shape I am creating some large and small chips,which goes into the slope blur grayscale node. Keep in mind that I am always using my last blend node with the slope with a blend setting of Min Darken.

Here I’m adding details on the surface of the tiles. Again I’m starting from large cracks to small ones and at the end I add the so called micro surface details.

By that point I have finished working with the tiles and I’m moving on to the ground. Now if this was made professionaly it would have been a separate material with it’s own graph that would then be combined with the a Stone Tiles material.

With that the normal map is completed. To create the roughness I am mostly using the Fractal Sum Base node as it gives you a lot of control. But don’t just go and add it to the entire map. If you want to achieve realism make a separate roughness map for almost every different element (stone,grass,dirt,moss….) and then blend them together by using masks.

Ambient Occlusion is the easiest map as you just have to blug the normal map into the ambient occlusion node and then play around with the levels.

At the end I start adding color. Again it’s good to add the color to each piece separately as you get full control of it. Combining the colors together is not always easy. You should play around with the blending modes, create masks to isolate areas that you don’t want to be affected and (if possible) try to keep the background color the same. A very good node is also the curvature which you can blend by using a soft light blend mode to highlight edges.

How did you set up your day/evening lighting? What is your approach to lighting scenes in UE4?

First it is important to know what kind of mood-tone-colors you want to achieve and accordingly choose the suitable time of day. The most important parts in lighting an outdoor scene is the directional light (sun), skylight, skybox (the sky image) and the post process volume. Some additional lighting parts are the sphere reflection captures, point lights, ambient cubemap.

 When I start a new project I delete the default lights and start from scratch. At the stage of whiteboxing you should also be figuring out the direction in which your sun is facing. This will help the player distinguish the focal points and add to the level composition. I also use fully dynamic lights so that I don’t have to bake the lighting everytime I make a change. This is very useful in the early stages where you experiment a lot, until you decide you overall light. In my case I kept my scene as fully dynamic lighten.

In this image I am showing what each of these elements is adding to my scene. Although I changed my skybox quite late on from the default one I should have done it at the beginning.

The night-evening scene was created by a master student from my course called Hazrat Bilal,  as part of his project. It is made by just changing the settings of the original lights, post  process volume and a different skybox.

During this project I have learnt too much stuff to right them down, but I guess I finally know how to create a good looking outdoor scene. The most important thing is that everything should be combined together harmoniously and be well balanced. Of course it’s easier said than done. But don’t forget that you are trying to recreate the real world, so the more you analyse it the better you can copy it. 

The biggest challenges where figuring out how to create the ground and what it should look like as I could not find much reference. In addition to that creating the rocks and mountains was like taking a leap in the dark abyss. I did not know if they were going to work when combined together or for my scene, until I had tried and spent a lot of time on them. In addition to that my project was quite ambitious for a 4 months project (it was meant to be even bigger) and that was a challenge by itself.

Thank you for reading this article, I hope you found something helpful in it.

If you want to see more of my work check out my artstation account at

Leave a Reply