Making a Hunting Camp in a Dragon Skull with ZBrush & Unreal Engine

Antonio Bravo shared the workflow behind the Hunting Camp project, showed how the dragon's head was created, and talked about the lighting setup.


Hi, I'm Antonio Bravo, and here is the story of how I became the first Ashen One to link the fi... I mean, what I am now.

Born and raised in Undead Burg, better known as Madrid, Spain, I was a student at ESNE. Currently, I work as a 3D Environment Artist at 2K. Previously, I worked for different companies like Elite 3D, and I was a teacher at Trazos, where I taught other Hollows how to become 3D artists.

As an artist, one of my main inspirations is the God of War game series. The amount of detail and the incredible artwork that Santa Monica Studio created for those projects are breathtaking. If you haven't already guessed, I also love the dark style of Soulsborne games and the incredible details that are present in all of the games. It is, of course, one of the main references that I used for my project.

The Hunting Camp Project

A long time ago, in a room far, far away, I saw an opportunity to participate in the latest Artstation challenge. For a long time, I had been thinking about taking part in one of these challenges because I considered it to be one of the most interesting and amazing things that you could do to learn, practice, and try your own skills. So, I said to myself, "Why not?"

I always like to work with a lot of references, just to have an idea of what I want to do, and I started to choose the images that I thought would fit better with the idea that I had. In this case, I selected one from Fang Yuan as my main reference because I loved the composition of the image. However, I wanted to add some more details and try to fit the idea with a darker style.


I started working on the blockout of the scene just to have the composition at the beginning of the project, including the main shot of the scene and a first pass of the light. I like to start working on the idea and composition because it is a good way to see if you will need something else in the future and if what you have on the screen is working or not.

Dragon's Head

The dragon head is the main character in this scene, so a lot of work is needed to make it stand out and achieve the level of detail that I wanted. I started with the dragon skull that ZBrush has as a base, just for the proportions and scale of the asset. I wish I could have sculpted a blocking of the skull mesh, but I didn't want to spend that time on it because I didn't know if that would be the final idea or composition or if it would be a dragon skull or something different. So, it was a quick way to test it.

Once the main scale and proportions were defined, I started from scratch to sculpt my own skull in ZBrush. The main problem here is, as I said before, creating all those little details on the surface. I didn't have enough time to create a lot of different tileable textures and a huge shader to blend everything together. So, I decided to use the amazing Nanite tool from Unreal Engine and create a really detailed sculpt of the skull in ZBrush.

After that, I divided the skull into two parts, the top part and the bottom, just to have some more space on the UVs. I did a lot of iterations between ZBrush and Unreal Engine to see how many details I would need to have a nice, detailed skull.

Finally, the texture part was easy. I only used 2 UV channels: the first one for the main bake from the sculpt, where I worked to obtain the main color and roughness, and the second one to create a general mask and blend some moss onto it in order to blend it a little bit more with the scene.

For the moss, I created a moss shader just to have the option of placing it always on top of the geometry and blending it with some different masks, which helped to achieve good results by just tweaking some values. The idea was to try to achieve as many results as possible with as little effort as possible because, as I mentioned before, I didn't have too much time. So all the skull details came from the sculpt and the bake, while the rest came from the moss shader.

This is where the magic happens. I use an Up vector blended with the normal map and then translate it to world coordinates and normalize the result. With the Dot product, I get a mask from the vectors that are pointing upwards, and with the ConstantBiasScale, I move everything into a 0-1 range. I use this as an alpha mask for a lerp to contrast the mask and always keep the moss on top of the asset.

In addition to this, I used two more masks just to have a little bit more detail in the mask and erase some of the moss that I created with the TopMask. I didn't want something uniform, so with this, I can tweak it.


Composition is always one of the most difficult parts for me. You may have some tips or ideas of what could work, but it's not something exact. You just have to try things out, and it's really subjective, which means that something you like may be viewed as awful by others. The main idea here is to obviously study and learn from the best but always follow your own tastes.

For me, something that always works is matching the main parts by the rule of thirds and creating a good frame for everything. It's something that always works. Try placing your camera approximately where you think it will work and then start sketching in Photoshop or wherever the main depth planes and main lines that will give movement to the shot. It's the same thing as photography, but in this case, you can put everything wherever you want.

Let me explain the idea a bit. I always want to focus the viewer's attention by placing the main thing in two or more points of interest (rule of thirds) or creating an important contrast with light or color. In this case, I used both. I placed part of the skull in two points of interest and created a big contrast with light and color. All of the scene is in greenish tones, but my main item, the camp and the skull, has reddish tones to generate a contrast between them.

Additionally, I created contrast by placing a frame around my main asset with big dark zones, giving more contrast to my asset and making it more important. One trick when working with composition is to put your image in black and white and see where the main light points of your scene are. It's an easy way to see where the viewer's focus will be.

Also, it's important to try to separate all of the depth planes of the scene with colors or contrast. In this case, for example, I did this by creating a background with a complementary color to my main zone and making it lighter than my skull, creating a nice difference between both.


I worked on the fabrics in Marvelous Designer. I used my skull as a blocking for the scene, and then I started to create some tarps and connected them to the skull. That was the easy part because they were not too complex.

With all of those tarps created, I just decimated them in ZBrush just to have an optimized version and bake the normal map. The magic here, again, is thanks to the Unreal shaders. I blended a normal map with the baked one just to add more details. After that, I created a material function for the movement of the tarp.

It's not too complex; I just wanted to give some wind movement. I applied a sine function to give the continuous movement of the wind and then added a mask with a panner to create an irregular movement. Everything is connected to the world position offset on the main shader, and that's all.

The main problem here is that when you use this wind function, it is applied to all the tarps, so the parts of the tarp that are connected to the skull will move too, and that is not correct. So, what is the solution?

Simply apply some vertex color to the geometry inside Unreal, and use that vertex color as 0 movement in the wind function.


Lighting is one of the most important aspects of a scene, as it can completely change the look of a picture, either enhancing something that doesn't look good or ruining something that looks nice. It's important to have a well-organized workflow to make all necessary changes and achieve what you want. A nice tip is to start with the bigger elements, such as sunlight and skylight, and then move on to smaller things like camp lights and torch lights.

I will show you, light by light, how I changed the scene and created the mood I wanted with just a few lights. The first thing to adjust is the directional light (the sun). This will determine the main direction of light and shadows, what the main focal point will be, and how to emphasize the principal points. All these decisions are important.

The second important light, in this case, is the sky light because the directional light gives you black shadows. So with the sky light, you can fill those shadows with the color of the scene that is being captured in real time. We just need to adjust the intensity of this light.

And the last 'light', or 'effect' in this case, is fog. It is important for the mood in my scene, but in general, in all scenes, and will give you a nice depth effect and a little bit more brightness. In my case, I always like to work with volumetric fog. I really like how William Faucher explains how to adjust the fog, for example, to achieve a nice result.

At this point, we have all the basic illumination for an exterior, and this is the final result. However, it is too dark to see many things, and it is really flat. This is where I started to add 'artificial' lights. The first one is the camp light. In my color palette, I wanted to use some green and blue lights mixed with some red and orange ones. It is a combination that I really like, so I just used some point lights for the camp and adjusted the color.

Now it looks so much better, but for me, it was still too flat. So, I decided to apply some more details for the camp lights and use more point lights to increase the intensity of that zone. Because it is the main part, I wanted something brighter.

Fine, now it's working better, but there are a lot of parts that are too dark, like the first plane, and you can't see too much of what is there. So, now is where you fake the light and try to add some more lights just to create that effect in some areas, like the rocks that are nearer to the camp and the side of the skull.

Finally, with the light adjusted how I like it and all the parts lit, I added some fog planes just to give more depth and mood to the scene. Those are just planes with an image of a cloud with opacity and a depth offset node in the opacity.


The scene was for the ArtStation challenge, so I had about one and a half months to finish it. During the process, two really challenging things happened. The first one was organizing the scene. I didn't have too much time for everything, so I needed to focus on having a nice shot and composition from the beginning. If the main shot looks nice in blockout, it will be a nice scene. So, I spent about a week just blocking out the idea.

The second challenge was that a week before finishing the challenge, I had a problem with my hard drive and I lost the scene. I asked a friend for help to try to recover everything, but we couldn't recover the whole scene. So I spent about three days without sleeping too much trying to take the scene to the point it was before.

So, my conclusions from this scene are:

  1. Try to use as much time as possible in preproduction, studying your scene, assets, composition, etc., because that will give you a really nice idea of what to do. When you have a question about which color palette to use, what you need to add more details, or how much light you need for certain parts, you just need to go back and see your references and mood board.
  2. I need to start making more safety copies of a project that I'm working on.

Hope you like it. Thank you, 80 Level, for the opportunity to show a bit of my work, and don't forget to praise the sun!

Antonio Bravo, Environment & Prop Artist

Interview conducted by Arti Burton

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more