logo80lv
Articlesclick_arrow
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_login
Log in
0
Save
Copy Link
Share

Making Fantasy House on Cliff Environment in 3D

Michael Khinevich shared his workflow behind the Hidden Cliff scene, inspired by No Rest for the Wicked, showing the texturing done for the stylized look, explaining how the clouds were created, and sharing how an accident made the image look like a surreal oil painting.

Introduction 

Hi, my name is Michael, and I am an environment artist from Belarus, currently living in Shanghai. I started learning 3D in 2019 using free resources like YouTube and Polycount and got my first paid gig about a year later. Since then, I have been fortunate to contribute to several projects.

1 of 3

Hidden Cliff

Games have always been one of my biggest passions in life. I am a huge fan of The Witcher, the Warcraft universe, Gothic, and recently Warhammer 40,000 (thanks, Jon).

I heard about No Rest for the Wicked from Moon Studios a few years ago and was fascinated by its art direction and lighting. I grabbed it in early access and spent many hours exploring the island of Isola Sacra. Their team did an amazing job creating a dark fantasy atmosphere. It inspired me to make something similar.

Another inspiration for me was concept art. After a long search, I found Grady Frederick’s artwork. It had a perfect composition and lighting I was looking for. 

I set a few goals for this project:

  • Blend the game's vibe and visual style with the concept.
  • Learn more about the lighting.
  • Try different lighting scenarios.
  • Design the playable area with a 360-degree view of the environment.

Preparation

It all started with a bunch of references from the game. I set up a simple scene in Unreal Engine to visualize the basic style and lighting of the project. I did so because it will affect the look of the assets and save me some time on texture iterations later.

I created a few terrain textures and grass using Substance 3D Designer and Photoshop. When I was satisfied with the general art direction, I proceeded to make a blockout.

Blockout

I used PureRef for matching the concept composition. The steps I took to set up PureRef are:

  • Create a camera in Unreal and lock it.
  • Lock PureRef on the screen by making it Transparent to Mouse (Ctrl+T).
  • Reduce PureRef opacity to 30-50% (Ctrl+Shift+ -/+). 
  • Start blocking the scene in Unreal using its basic primitives and scale references (mannequins).

Tip: Transferring the concept from 2D to 3D can be a headache. Use real-life logic and common sense; it’s okay if you are not 100% accurate with the proportions of small details. The main goal is to match the big shapes.

After the basic look was done, I imported the blockout to Maya to create clean geometry there, which I caould use later as a base for my assets. Then, I exported it back to the engine.

Modeling

I'll go through the process of making the roof kit. I used a similar workflow to make other assets in the scene.

I assumed that the roofs in No Rest for the Wicked are modular pieces kit-bashed together. It gives flexibility in creating a shape and makes it very customized.

It all started with one tile. I used instances to duplicate and assemble the roof tile. Lattice Deformer helped me to curve the blockout without breaking the geometry. After this, I exported it to Unreal to check the dimensions and modularity. I made two tiles to cover the entire roof.

Tip: Instances are useful if you want to preserve the ability to change geo later. I abuse it all the time. Also, to simplify the workflow in Maya, I use a custom toolkit.

After sculpting the high poly, I combined everything into three subtools – roof tiles and two wooden parts. This way, I won’t have issues on the baking stage with overlapping cages.

I used Auto Groups to assign a different color to each subtool, then used Polypaint from Polygroups to create a ColorID in Substance 3D Painter.

If it were a real game, I would probably just make one plank and one log and then duplicate it after baking textures; it’ll save me time and even more texture space.

The steps I followed to prepare the mesh for a future low poly:

  • Merged and DynaMesh all the roof tiles together. 
  • Smooth and Move brush and DynaMesh again with a lower resolution to get rid of the gaps between the roof tiles. 
  • Decimated everything to a reasonably low number of polygons and exported it into Maya.

Tip: To make transferring assets between Maya and ZBrush faster, I use a handy tool.

When dealing with unique textures, I try to use at least 70% of the UV space to avoid wasting it. I knew that the top part (rooftiles) would be a focal point of the asset, and the bottom (wooden planks) would be almost hidden. This knowledge helped me to hide most of the UV seams and use less texel density in the bottom areas by scaling down UV shells.

Tip: Decimated meshes sometimes have stretched triangles, which may create shading artifacts in the engine. Better replace it with a blockout version of the mesh if it fits or make a new one and adjust it to match the high poly. It will also save you some time on UV unwrapping.

Texturing

I spent most of the time jumping between Substance 3D Painter and Unreal Engine, refining textures, hand-painting and experimenting with smart materials and filters.

I used tillable plaster and stone to texture the cottage, created entirely in Substance 3D Designer.

To make textures look more stylized, I used the Quantize Color node applied to the Normal map. I abused that node for the unique textures as well, like the trees and the rocks.

Regular vertex paint techniques didn’t produce the desired effect I was looking for. I wanted to have a layering effect of the textures on the walls to make them a bit more believable and interesting. This Unreal Engine shader made it possible.

Clouds

I wanted the sky to look as close as possible to the concept, because it naturally directs the viewer's eyes to the cottage.

I used this tutorial and painted the clouds in Photoshop with custom brushes, using an RGB mask approach to separate different cloud parts and have nice gradients.  

During the setup of the shader in Unreal Engine, I accidentally made the clouds look completely different from what they were in Photoshop. They started to look like a surreal oil painting, which only improved their look, and I left it like this.

Tip: Accidents like this often happen during experiments. Don’t be afraid to break the rules and go beyond the official documentation and recommendations. It might give you some unexpected results.

Level Design

I was tired of making one-shot environments, so I decided to extend this one a bit. Imagining what could be behind the curtains is quite challenging, but also rewarding. It gives you an opportunity for a personal touch and boosts your artistic creativity. Naturally, it increased the production time quite a lot, but I had so much fun making all those tracks and wheat fields that I didn’t even feel it.

Tip: In addition to fun, making a 360-degree environment will give you a lot of new camera angles, which you can use later during the rendering stage. In my case, I even added some game-like angles.

I sculpted the terrain using basic Unreal Engine tools and the Landscape smart material. Almost all the assets in the playable area were placed by hand. Grass painting tool I used for the foliage, small pebbles, background trees, and cliffs. Background hills are actually scaled-up rocks, and clouds are a bunch of cards kitbashed together. The cake is a lie!

Lighting

I was constantly tweaking the light during the whole project. I wanted the light in my scene to be magical and feel alive. When 90% of the assets were ready, I decided to finalize it. This process involved a lot of experiments with Lumen and light settings.

Major components of the lighting setup:

  • Directional Light
  • Exponential Height Fog
  • Sky Atmosphere
  • Sky Light
  • Post Process Volume
  • AO

The secret sauce in my case was basically breaking Lumen’s settings by cranking up Indirect Light Intensity and Volumetric Scattering Intensity on the directional light to some crazy numbers. Together with the strong bloom and Light Function material attached to the directional light, it produced the desired result.

Light settings in Unreal Engine:

1 of 4
1 of 3

Night

There were several things I did to improve the night scene:

  • Changed the shape of the clouds in the material settings to give them a calmer and less aggressive look.
  • Filled the sky with stars by adding a transparent card created in Photoshop.
  • Placed fog cards in the background using EasyFog
  • Created an emissive texture for the windows.
  • Placed additional point lights to add a rim effect.

Demo Reel & Rendering

From personal experience, I can say that showcasing your artwork is as important as the art itself. The harsh truth is that no one cares about how much time you spent on making that tree if it looks ugly on the renders. People are picky. The good news is that it will come with experience.

A few guidelines that could help to show the best of your art:

  • Show only the best parts of your work.
  • Don’t show half-finished corners of the environment.
  • Do not use low-resolution renders or screenshots. 
  • Use Movie Render Queue and a custom rendering setup to improve render quality in Unreal Engine
  • Convert your renders to JPG. It reduces the image size without losing quality and makes it much easier to share online and upload to ArtStation.

Making videos for your personal projects is an art in itself. I spent a few sleepless nights working on a demo reel. Had a lot of fun editing the video and making it flow in tandem with the music. It made the scene truly alive and transferred the exact mood I wanted. All video editing was done in DaVinci Resolve. 

Self-Reflection

This project was a fun ride for me with a lot of challenges along the way. I feel that my lighting skills have improved, but there is still a lot to learn, so I'm reading a book about lighting now.

The whole process of making the environment took me about five weeks, which is much faster than the last one. The feedback I received at a late stage from Discord art communities was extremely valuable – it helped me elevate the visual quality of the scene.

A piece of advice for my fellow artists: do not underestimate the importance of loving the subject of your art. Whether it’s concept art, your favorite game, a beautiful environment you’ve been to, or something you make for the studio, try to find something that you love about it. Sometimes it can help you overcome procrastination and creative stagnation.

I hope this article was useful to you. Thanks for taking your time to read this. If there are any questions left unanswered, feel free to contact me on ArtStation.

Cheers!

Michael Khinevich, Environment Artist

Interview conducted by Gloria Levine

Ready to grow your game’s revenue?
Talk to us

Comments

0

arrow
Type your comment here
Leave Comment
Ready to grow your game’s revenue?
Talk to us

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