Professional Services
Order outsourcing

Tips on Stylized Environment Building

Christoffer Radsby showed a bunch of interesting techniques, which can help to build amazing stylized environments.

Christoffer Radsby showed a bunch of interesting techniques, which can help to build amazing stylized environments.

Achieving a simplified style

Hello! My name is Christoffer Radsby and I made this simple stylized piece as my entry which got awarded 3rd place in the Beyond Human Artstation Challenge. This piece is basically the culmination of my current knowledge of composition, colors and tech art. It allowed me to improve in a lot of areas at the same time.

Simplify all things!

I’ve been wanting to simply my art even more so I decided that the Beyond Human challenge was a good opportunity to try out new things. The reason why I wanted to simplify my art was mostly for myself: when you take away a lot of the modern rendering techniques and shiny materials you usually end up only being able to rely on your core art skills, which in the end was the ones I wanted to improve the most.

When the Concept Design phase of Artstations Beyond Human challenge ended I was looking over most of the entries trying to find a concept that seemed like a perfect fit to realize in 3D. Looking over the entries however I realized that the ones I liked were not actually viable for 3d-art-production in such a short time. Which is a good thing to be considering if you’re a concept artist wanting your art to become 3D at some point.

In the end, I decided to do my own thing since there was nothing that immediately stuck that I felt that I had to make.

Did you know you can grow by thinking?

I think my biggest take-away from this whole experience is about how much you can grow in your core-art skills with just thinking about the art you’re going to make. You don’t actually have to be making art to get better but you can analyze and think about other peoples art to both be inspired and grow yourself. Now you might say to yourself: Well duh! 

However! It might be worth asking yourself; Do I take enough time analyzing other peoples art? Do I think about what makes particular pieces of art stand out among all the other pieces out there? What makes this art-piece good? Is it the execution, creativity, composition? In the end you’ll realize that it doesn’t matter how good your textures or models if the composition and colors aren’t harmonizing.

Powerful and soulful art is a goal worth pursuing!

Since we are now living in a world where realistic art is best achieved with scanning both objects and materials, I find myself like so many others wanting to improve my core art-skills to be able to create art that smacks you in the face when you see it and soulfully harmonizes with you. I want to be able create art that in the end is just viewed as being artistic rather than being perfectly executed or beautifully rendered. It’s definitely a goal that I find worth pursuing.

That said, I knew from the start that I wanted to create something memorable and powerful. That meant that I had to go for a big impact from the start, that meant that even before I went into any kind of detail or story about the piece; the colors, shapes and composition had to speak for itself. 

So, the main focus behind my scene was to create a:

“Powerful vertical composition that focuses on using colors to gain an interesting layering depth effect.”

Using colors to get a sense of depth

There are many ways to get a sense of depth in your scene. A lot of people tend to quickly move over to some kind of regular fog or volumetric fog solution, which is one answer but in most cases, you end up with something that looks like a milky, bleached out scene. Which is not necessarily something you want, there are other ways creating depth however.

In my case I wanted to move away from whatever was considered to be “physically correct” and move towards whatever I felt was artistic instead, I wanted to think more like a concept artist with a full palette and total freedom. Which is why in the end I decided to use multi-colored fog/haze (colored depth) to enhance the depth and layering of my scene.

This was first shown to me from the Art of Firewatch at GDC 2015.

If you think about it you can use layered shades of grey to tell the viewer about how far away something is but you are not only restricted to using grayscale. Colors can help out with that too and in my image below I’m showing off my multi-color post-process where I ended up making the foreground cold and the background towards the sun warm. The principle is the same except now you’re doing it with colors instead and in many ways, it can be a lot more impactful that way.

Behind the curtains

So now that I’m done preaching about the importance of colors, composition, contrast and depth. Let’s get to the nitty-gritty. Considering my last article here on 80.lv I wanted this one to be a bit more informative and useful to people so I’ve been trying to put together the most interesting things I made for this environment here in this article.

Multi-Colored Fog Post Process

I can’t take any sort of credit for this post-process. The only thing was re-construct it from the bits of information I found here.

Horizon Blending

You can also force your object that are far away from the camera to start blending towards the horizon color, which will allow you to blend your horizon better without having the rely on a high amount of haze/fog to get the job done.

Here is a picture of a cube, where I distance blend white to red (I’ve over-exaggerated the distance line to be super sharp by flooring it in the shader). 

And here is the simple version of the shader on how to do it.

This is something I did for my scene to make sure far-away object would blend nicely with the color of the horizon. It would fake something like Atmospheric Haze but in a more controlled manner.

Modeling Techniques & Shaders Tech

The beautiful thing about using simple meshes with barely any normal maps and simple, no noise-materials is that you can usually scale your objects with little to no impact on visual quality. Which means you can re-use a lot of your assets. All the rock-surfaces in my scene is using the same cliff mesh and the same 1-2 river rocks.

Heightmap/Displacement Map Modeling

Heightmap Modeling is something that I’ve just adapted. I also tried it on the ceiling for the little building. The basic principle is this: instead of doing all the modeling yourself, you use heightmaps/displacement maps in Zbrush to do the modeling for you and then decimate (keeping UVs) to get result you want for your modeling. Which is how I created the tiled roof of the building in my scene.

  1. Create Roofing Tiles material in Substance Designer
  2. Model the roofing and UV it so it will tile.
  3. Put the mesh into Zbrush, Subdivide it high enough for your heightmap.
  4. Use the Heightmap from SD push it into Zbrush and use the displacement functionality to model the roof.
  5. Use the decimation tool with Keeping UVs to get a nice high-poly but low-poly look to your model.
  6. Export out of Zbrush & Import into Unreal Engine.

Now you’ll have a high-poly roof with the UVs of the original mesh you put in. Which means later on with decent texture you can easily LOD the super-expensive roof away and just use your normal map. But most of all, no need for tessellating a roof like this, usually the result ends up being too ugly unless you have the tessellation multiplier sky high.

 (I ended up not using the Albedo of this texture in the scene since I preferred a clean material look to it.)

So I use a lot of shader-tricks in my scene to get the result I wanted. I thought I’d talk about one of the more interesting ones. The post-process pulse that I use to light my whole scene in sync is a function I created that I call the World Location Pulse.

World Location Pulse

The world location pulse is a Material Function that I use in both my post-processing and my lighting. Ie it can be used in both at the same time to give the same result. Which is how I light all the emissive in my environment but also power on all the lights in the scene to pulse in sync.

First it designates a point the world where the pulse should start. The easiest way to pinpoint a place in the world using a Constant3 is to set out a Target Point in UE4 and then copy the location values XYZ and input them as RGB values in the Constant 3.

What you have now is basically a masking function that you can use all over the world. You can use it to blend different materials together from this world location, you can use it to light the world or you can use with a post-process effect. adding scanlines, desaturation, whatever you can think of to specific areas of your world. If used in conjunction with Blueprints you could probably update the location values and have the pulse happening elsewhere if triggered. Or if it follows the player like some kind of scanning effect when triggered.

Water & Waterfalls

The water in my scene is pretty simple water, there is nothing fancy going on.

I’m using a couple of different textures to get the look of my water. It’s using 2 simple colors and white for foam which I blend in using Distance Blend for Surface Edges and random nice-looking foam shapes along the surface. I also use my wave-generator to isolate the tops of the waves to use it as foam as well. Then I used blend these on top of my base-color of the water.

(moving-waves generator)

I also use the same wave-generator to offset the verticies of my water-lilies together with the incoming wave.

The waterfalls itself is something I wanted to add to the scene just to make it feel more alive. The initial execution and idea for the water-falls came from Simon Tr_mpler and his work on Rime. Mostly from his talk about Stylized VFX in RIME.

With that in mind and went off on my own and tried re-create the effect for myself and that’s basically what I came up with, since I had limited knowledge about VFX I did what I could and in the end, I think it ended up looking quite nice.

Creating more life with visual effects

I thought the challenge was a good opportunity for me to learn more about VFX as well so I started out making a couple of different effects and I thought I’d show some of them here.

First up is the Stylized Lighting. I knew I wanted my trees to be electric and work in tandem with my world location pulse. So I decided to create this stylized lightning effect. It’s using another common technique for creating bands of lightning in shader but then also isolates the outer and inner core of the lightning band to be able to colorize them separately.

 (stylized lightning material)

I ended up creating my own meshes for these that would spawn underneath the trees whenever they were lit by the world location pulse. In resulted in a pretty nifty effect though I’m pretty sure a real VFX artist would do a better job but it was good enough for me to be dabbling with it.

Creating the wind was something new for me. Since I had no idea how to tackle it as a particle effect I made it as long wavey polygons that I placed inside my scene. Since the scene already had a good sense of direction I used that to my advantage to create a wind effect that went deeper into my scene.

As you can see the wind meshes are these long polygons that stretches the scene, that are handplaced. I tried placing them as particle effects but I ended up not doing that since I couldn’t get the control I wanted for them.

The wind material itself is pretty simple. It uses a wavey wind-texture that is panning along the polygon mesh. It’s also then masked away with two linear gradients that are panning both vertically and horizontally.

That’s it!

I think that’s it for the write-up of this environment, even though I used a lot of nifty tech-art techniques and post-processing it’s worth to remember that the biggest impact of this environment winning 3rd place in the Beyond Human Challenge is definitely the work that has been put into the composition and colors. So, I hope this ends up being somewhat helpful to you guys!

Christoffer Radsby, Senior Environment Artist at Ubisoft Massive

Interview conducted by Kirill Tokarev

Join discussion

Comments 4

  • Laszlo

    Awesome, especially happy about the detailed nodes. Learned a lot from this. :)



    ·5 years ago·
  • Rgiz

    Hi, Christoffer, Rgiz from the UE answers here, thanks for the credit on the fog material <3 I just got a email from @roumonk about this link :)

    And thanks to share all this amazing materials with us <3



    ·5 years ago·
  • L A

    Great work, I like how you tried to solve issues.


    L A

    ·6 years ago·
  • EpikKamikaze

    I think you should have won! This is fantastic work!



    ·6 years ago·

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