Breakdown: Magical Crystal Stone House Created with Unreal Engine

Kieran Wilson talked about the Crystals and Crafting project, discussed how the vegetation helped set the right fall atmosphere, and showed how he made giant crystallized rocks.

Introduction

My name is Kieran Wilson and I work as a 3D environment artist in the video game industry. I have over 2 years of experience so far, working with large franchises such as Warhammer and 2K. I discovered my passion for the artistry behind games and the 3D world after a long journey of exploring my creative outlook through a plethora of mediums. After 6 years of studying fine arts, I realised that I could use my creative voice to contribute to my passion for video games, combining my two worlds and from that point on, I was hooked. I went on to study “The Art of Video Games” at the Escape Studios university where I completed my bachelor’s degree, and the rest is history!

The Crystals and Crafting Project

I discovered a concept by the talented artist Lok Du that I knew I had to realise in 3D.

Whilst I believe it is a beneficial skill for environment artists to understand how to conceptualize their own ideas, I think it is important not to get too concerned about this. Concept artists spend a lot of time, effort, and dedication mastering their craft so starting with a concept is always going to help a 3D artist to focus on the more important aspects of their skillset – bringing the art to life!

I wanted to extend this concept into a full-scale environment. Therefore, I broke the concept down into its key components to further understand the context of the scene and build an environment that is both believable and complimentary.

I started with the crystallised rocks. I surmised that these were unrefined quartz with a blend of hematoid orange quartz crystals to create the desired effect.

I then took this and researched where they can be found in real life. I discovered that it is predominantly seen in high-altitude biomes and therefore, I wanted mountain tops to be present in my environment. Extending from this, I also noticed the level of moisture in the original concept and the types of foliage that were present. I inevitably landed on a tundra biome as I believed this would provide the consistency needed to complete the scene.

Blockout

After creating a few terrible sketches and photo bashes to visualise the idea, I move into Unreal Engine to create a primitive block out to get a true sense of space. Setting up the main cameras can also help tremendously by providing an early look at the composition. I used the default mannequin inside the engine to get an accurate sense of scale which is important to consider as early into the project as possible to avoid any awkwardness later and furthermore, help you plan texel density for each individual asset for visual consistency.

Modular Thinking

Environment art can be overwhelming at times and suffers from scope creep often. Considering modular workflows is key. It can make almost any environment achievable with strategic thinking and planning. This can be applied to all aspects of development. I thought about modularity when it comes to the materials, props, and foliage and then methods I could use to break this up to create interest in the areas where I wanted it.

Breaking it down: I studied the key elements of each asset and planned a route to recycle them in different ways. As an example, the concept had a plethora of wooden props. So, I created a kit consisting of sculpted planks, beams and general miscellaneous items and then manipulated the low poly versions in Maya into unique assets.

Modeling

The focus of this project was to demonstrate my sculpting abilities and to develop this skill even further. Sculpting style varies vastly between artists, and so I wanted to maintain this visual originality throughout. I used ZBrush entirely for the organic assets such as the rocks and wood planks and for the more unique assets, I began with a simple blockout in Maya for the purpose of proportions and a simpler sculpting pipeline. I started the rocks by building primitive blocks in ZBrush focusing on the large and medium shapes for the purpose of silhouette.

I then organised the assets into their polygroups and used DynaMesh and smoothing to create general, blob-like shapes.

This allowed me to iterate quickly. A common mistake is to build up details too early, making it difficult to adjust later. At this point, it is important to test the shape inside the game engine of choice to see if the shape is as desired.

Once the main shape was correct, I then proceeded with the detailing. In terms of rock creation, I like to start with using an alpha mask of a rock tiling texture along with the standard brush with the “DragRect” setting to build up the medium shapes quickly. This can spark your creative eye to see patterns that can be refined into a final look. I didn’t want the alpha texture to be too noisy. Instead, I looked for one that had a focus on larger shapes. I used a Megascan texture for this, but a unique texture can be made in Substance 3D Designer instead. I thought this was unnecessary though.

Once the asset was complete, I then created the UVs in Maya and textured it in Substance 3D Painter. Texel density is incredibly important to consider when creating the UVs. In general, I wanted to maintain a 10.24 texel density ratio throughout. So, providing the asset with enough material slots to reach this goal is necessary. 10.24 is a standard ratio used in games. I did not make this a strict rule, but it did provide a stable guideline for the assets.

Materials and Texturing

I also wanted a way to create a modular set of materials that I could iterate on quickly to create the many different desired effects. I started with developing 3 main wood materials. A grey, dark, and plank wood, 2 of which were in Substance 3D Designer for the base material, and the other was created completely in Substance 3D Painter. This was mostly for the sake of variety. All materials were finalised in Substance 3D Painter where I developed them into complex and detailed smart materials to be used on all the unique props.

The tiling materials were a mix of 100% procedural and others using sculpts, a combined pipeline of ZBrush and Substance 3D Designer. A general rule of thumb I like to use: if the material is going to be used for tessellation or has large intense shapes, I prefer to sculpt it first. Every other material that can be defined as generic, such as terrain materials, wood, or bark, I created entirely in Substance 3D Designer.

Having sculpted materials really helped to maintain style and create accurate results at a quicker pace.

Tackling the texturing for the modular kit of the building was more challenging. I wanted the level of detail to be close to the unique assets in the scene to keep it consistent. A variety of shader setups were used to accomplish this.

One of the most important functions was the use of RGBA masks to overlay texture detail using an extra UV channel of the mesh. This can be an expensive shader, so it was important to consider optimisation methods. Keeping the masks packed into one texture to keep the draw calls low was pivotal. Furthermore, unpacking multiple assets into the extra material set can also keep the cost low, the resolution of this doesn’t have to be high as it is just an overlay to the main material, so packing it this way can be largely beneficial.

Here are the general guidelines I used for the masks:

(R)ed channel – Surface Variation

(G)reen channel – Crevice

(B)lue channel – Wetness

(A)lpha channel – Edge

Vegetation

Nailing the foliage was essential because of how much attention it would draw in the scene. Artists typically use scanned data or photographed images to generate leaves that are then scattered over foliage assets. I typically don’t use this method though. Using scanned data is as close to realism as you can get, so when you have an environment that has a unique style to it, it can quickly become broken by that shift. All the smaller foliage pieces were sculpted in ZBrush, baked down in Marmoset, and then textured in Substance 3D Painter. I exported all the textures as 8K maps for maximum detail as they were not being used in the engine anyway – just to use in the creation of the actual cluster maps.

I created all the cluster maps inside SpeedTree which is typically seen as an unusual pipeline as texture maps don’t need to be procedural. I disagree. I like to keep unique detail to a minimum when it comes to clusters as they are duplicated so many times, that keeping them generic to begin with can create a natural look without obvious repetition. Uniqueness can be built up in other non-destructive ways such as silhouette or material adjustments later on. Making them in SpeedTree is so much faster too. Especially when scattering leaves across a branch naturally.

I use a similar workflow when creating the final asset, following a master-child structure. Creating a 100% procedural master tree, and then deriving more unique child versions of this through hand adjustments. This was a challenging structure to follow as you must push SpeedTree to its limits to make a fully procedural tree that also looks natural and believable. My advice is to ignore the randomisers as much as possible. These should be used at the end to make the tree look natural. Focus on the structure of the tree and more importantly, make one of the branches look good, and then the rest should naturally follow thanks to the power of procedural generation.

Another challenge I faced was capturing the seasonal element that I wanted. A colour palette is important to consider when creating foliage as it can quickly wash your scene, making it monochromatic. On the other end of the spectrum, too much colour can be extremely noisy and unnatural. So, I decided to keep the general ground cover simple whilst the medium and large-scale foliage have the colour variety that I was looking for – mostly through the downy willow bush and the bearberry plant that I created.

I wanted the environment to be set in an early autumn/fall setting, with pops of warmer hues amongst the foliage. This needed to be controlled though as the orange crystals that were prevalent in the scene already brought an intense warm palette. I used gradients to my advantage with this one. By adjusting the curve graphs in SpeedTree to switch between different leaf meshes as you get to the tip of the branch, I was able to have the autumn/fall leaves on the outskirts and the green leaves in the interior (which is typically how most foliage begins its transition).

Lighting and Composition

Since this was a very organic exterior environment, I wanted to keep the lighting as natural as possible and instead, rely more on colour balancing and processing to create the fantasy style I wanted. I used the amazing blueprint by Everett Gunther called “Ultra Dynamic Sky” which is a high-quality sky and directional light system that comes with a bunch of controls to create the look I wanted.

The most important feature of this add-on was the two-layered volumetric cloud system. This allowed me to have pierced clouds from the tip of the mountains to display the altitude of the environment, along with a second cloud layer above this to add general texture to the skybox.

The main light source consists of a simple directional light with an increase in the source angle to soften and taper the shadows to look more natural and less contrasted.

As a general rule, it is important to consider the time of day of your scene, research how shadows act during that period, and then adjust accordingly on how it affects the final look. If the shadows are too contrasted and sharp, it can make the scene incredibly noisy and so softening them can be a game changer, even if it isn’t realistic or accurate.

LUTs

Probably the most powerful tool I used for grading this project was a custom LUT. LUTs are a powerful way to bring the colour grading world into a real-time game environment. It’s not quite powerful enough to compare to DaVinci Resolve or Premiere Pro, but it is close enough!

I grabbed the default UE5 LUT from the official Unreal documentation and brought it into Photoshop.

I then found two preset LUTs online that I blended to create the foundation of the look I wanted. One was a cool general exterior LUT to show off the altitude of the scene which can be found under this YouTube video:

The second is one of the LUTs used in the filming of “The Lord of the Rings”, as I was looking to capture a similar fantasy aesthetic. After this, I then adjusted contrast, saturation, and colour balance on separate layers to finalise the LUT.

Export it out of Photoshop, bring it into Unreal, add it into the Post Processing Volume, and then voilà!

Conclusion

This has been the most enjoyable project I have worked on so far, but that doesn’t mean that there weren’t any struggles and challenges along the way. The initial concept is incredibly intricate and had a specific style to it which was hard to understand and even more so, extend into a full-scale environment. I really struggled finalising a style that I wanted to stick with during the early stages of this project. At this point, I showed the scene to some of my close friends who work in the field and many of them mentioned that it reminds them of high fantasy art that you might see in “ The Lord of the Rings” or “The Witcher”. I fell in love with this idea as high fantasy is one of my favourite settings, and quickly adapted the environment shortly after.

If I had to take one thing forward to my future projects, it would be to always consider consistency in style and detail. I struggled with understanding texel density and efficiency at the start of the project, so I had key assets using tiling textures to compensate and it just didn’t look good enough for the level of impact the asset had. So, structuring the asset better to hit the quality goal could have saved a lot of time.

Finally, at the end of the day, style is king. Even if graphical fidelity is low, you can still create a powerful piece of art through style alone. So, consider this as early as possible and more importantly, stick to this in every aspect of development.

Thank you for taking the time to read this article! Be sure to keep an eye out for my future projects and don’t be afraid to drop me a message. I am always happy to give advice and help where I can!

Kieran Wilson, Environment Artist

Interview conducted by Theodore McKenzie

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