Jaume Rovira talked in detail about his stylized environment Forest Waypoint inspired by Hyunsu Cha's art: modeling the castle, texturing with Substance Painter and Designer, creating the landscape in UE4, setting up animated water, and more.
In case you missed it
You might find these articles interesting
Hello everyone! I am Jaume Rovira, an Environment Artist from Barcelona. Although video games have been my lifelong passion, I entered the 3D world rather late in my life. After graduating in Architecture and working as such for several years, I started exploring Architectural Visualization, which in turn took me to 3D art for video games.
For the last 5 years, I’ve been working as a 3D Art professor at FX Animation in Barcelona, mostly in low poly and mobile games, but now I’m starting a new phase and looking for a job in production. Besides, I have a lot of “catching up” to do with a lot of tools and software (my bad, one shouldn’t get too comfortable with your usual tools).
Forest Waypoint: Inspiration and Goals
As part of this “catching up” goal, during these last months, I challenged myself, trying to recreate nice concepts found on ArtStation and learn new techniques and software with each one. The point was to be as close to the original as possible, not cutting corners.
I’m a huge fan of Hyunsu Cha's works and I chose his Waypoint concept art for my next project, attempting to capture his Ghibli-like style and great use of colors.
On the technical side of things, I wanted to focus on Unreal (I’ve been using Unity for the last years) with shaders creation and use of landscape tools, and also get started with Substance Designer, an unexplored world for me.
For the style, I studied Jasmin Habezai-Fekri and William Tate's works on similar concepts. Jasmin's tutorial “Bird House” on 80 Level is really a must.
Creating the Castle
In this project, as the original concept had no environment, I decided to start with the buildings and grow my project from there. I always start with a simple blockout in 3ds Max to define volumes and proportions and also study the original concept to see which elements can be duplicated, mirrored, and reused (windows, roof supports, wood elements, etc). As the modeling phase was not part of my learning goals, I tried to speed past it and didn’t create any high poly meshes, only very low poly models that would be detailed with texturing.
As I did not plan any bakes, chamfered edges and weighted normals were a must for good curvature masks in Substance Painter and a soft “cartoony” feel. Weighted Normals script by Martijn Buijs is a great tool for this process. Also, Taper and Bend are really useful to get more “toony” shapes, adding small deformations and bendings.
Texturing the Castle
When I had the left and central buildings ready, I took them to Painter to create the materials that would be used throughout the whole project (wood elements, stone elements, stone wall, roofing, etc.), developing a material library that I would later apply to the rest of the building, the bridge, and the props.
In previous projects, I hand-painted almost all texture details (stone wall elements, color variation on elements, etc.) so I decided to start learning Substance Designer to make my own procedural materials.
For the roof material, I created different tile patterns and used a Tile sampler to create a random distribution and get masks for color variations.
Creating the Landscape
Landscape creation was one of the goals of the project, so I decided to create a “Breath-of-the-Wild-style” forest, but keep the focus on the original concept elements (vegetation around the castle and the river). The terrain was hand-sculpted (it's rather simple and smooth).
In Substance Designer, I created a grass material with fur maps, adding color variation so that it wasn’t too uniform. I wanted my scattered rocks to blend with the terrain, so following Jasmin's “Bird House” tutorial, I tried the Runtime Virtual Texture on the terrain and it was a perfect solution. You can also check this Quixel's tutorial on how to blend assets in UE4.
You can check the difference between a non-blended and a blended rock in this image:
For the grass movement, besides Simple Grass Wind nodes, I applied a Wind Blown deformation, which also affects the grass color. You can check how to use it on Jess’s UE4 tutorials page – there are lots of useful tutorials for UE4 beginners.
Trees were made with TreeIt from Evolved Software. It's a really easy and free plant creator program, so check it out! But in order to get a nice stylized look, the most important part is to modify the leaves normals – they need to react to lights as a unit, so that each plane wouldn't get a different lighting. I use the SlideNormalThief script in Max, stealing the normals from a deformed sphere and giving them to the tree canopy. In the leaves material, I add a bit of SS color to lighten up the darkest areas.
Finally, to give more life to the environment, I added animated cloth elements like the flags and some particle systems (steam from the waterfall, smoke from the chimney, and some butterflies).
Lighting and Post-Processing
Lighting in the project is pretty straight-forward, just a warm Stationary Directional Light Source and a blue-tinted Skylight. The sky is just a panning sky texture. I used a Color Grading LUT for post-processing but there’s just a little contrast added. I tried changing hue values and saturation but ended up with the original ones.
Conclusion and Future Goals
I spent two and a half weeks on this project, working in my spare time. Along the way, I read and watched a lot of tutorials on Unreal and Designer, so it has been a great way for me to learn new workflows and techniques. It was just a practice exercise, so I never thought it would get so much appreciation from the community; it was a really pleasant surprise to me.
There are lots of items on my “to-learn” list and there are many ways to improve this and future projects, so I have a lot of work ahead (but let’s face it, I’m enjoying it!).
I must thank Javier F. Flores and Alberto Martínez Villarán for their help with Unreal and support. Of course, credit must be given to Hyunsu Cha and his wonderful works. Finally, a big thanks to 80.lv for giving me the opportunity to write a breakdown on this project, I hope it will help other artists!