Tomer Meltser shared a wonderful breakdown of his amazing 3d environment, which uses a bunch of amazing 3d assets, bright materials, and gorgeous water.
Tomer Meltser shared a wonderful breakdown of his amazing 3d environment, which uses a bunch of amazing 3d assets, bright materials, and gorgeous water.
Project
When I began my Mentorship program at Think Tank Training Centre I wanted to create an environment which would challenge me and help me learn new skills, a vast outdoor environment was the idea I wanted to approach.
I had the privilege of once again working with Clinton Crumpler during my study mentorship program which was a fantastic experience.
My intention for the project was to create a sense of vibrancy and excitement within a somewhat stylized feel. I discovered the fantastical works of Chong FeiGiap and was amazed by the richness and color palette.
I’ve chosen his works, in particular, the pier-related drawings, to help influence the layout and style of my environment.
Blockout:
Production
The work began with one of the most crucial assets throughout the composition – the ocean.
I had a rough idea of the features I wanted to include in the shader but it was mostly experimentation which got me the results I was after.
The Ocean Shader consists of panning normal maps, a single height map and the base color utilized data extracted from those maps.
The biggest feature however involved using Unreal’s distance fields tech to help produce the foam around the submerged object.
This was done through a few accessible nodes within the material editor.
DistanceToNearestSurface, outputs a very sharp mask exactly where an object clips, however, when plugged through a SphereMask its possible to achieve a nice rounded mask around the clipping objects with control over the radius and hardness of it – in combination with a panning wave-like mask gave me the basic look of the foam.
DistanceFieldGradient, by itself creates a world space gradient expanding around the clipping objects, very much like a flowmap, with some creative use together with DistanceToNearestSurface I was able to use it to distort the waves around the submerged objects creating a more believable effect.
I used 3 instances of DistanceToNearestSurface with control over angle and distance and multiplied it against DistanceFieldGradient – within my environment I could therefor have exact control over how far the waves are pushing against objects and from which angle.
An additional feature which helped bring extra flavor were the speckles which are visible at the distance, this is done through a specific speckle mask plugged to the emissive with a high tiling value and panning.
After I established the look of the Ocean I kept still fine-tunning the look through material instances with controls over all aspects of the features implemented.
The backdrop sky and mountains were developed fairly late since I did not want them to take priority from the rest of the environment.
The mountains were developed with the help of the procedural toolkit in World Creator, each individual mountain was decimated and the color map was baked down into the vertex color – this helped me in overcoming any potential texal density issues that would be present if those were standard textures – and since the mountains were background assets, the quality was sufficient for my needs.
Each of the mountains was placed carefully to help the composition read and feel busy but still maintain enough “eye-rest” with some swaths of emptiness in between. For the sky I followed some of the techniques published by Julio Juarez.
I’ve painted some of the clouds to feel more whimsical and I also implemented the sky gradients masks and colors directly within the material editor directly for better control.
Models
I begin by dividing my Maya workspace to the way the individual objects would be constructed, this allows me to plan ahead the production of the environment and decide on which assets I could cut time by reusing tileables and which ones would I want to give further treatment with individual baking and texture painting.
During the first stages of the asset creation I focused my attention on the architecture and pier assets.
As I was developing my tileable materials with Substance Designer I was able to reuse aspects of my wood generation in a very flexible manner, allowing me do many of the other wood-related materials across the environment fairly quickly.
By the time I completed much of my architecture set I had a good library of materials and graphs in substance with adjustable parameters that I could reuse for many other purposes throughout the environment.
It is due to this that Substance Designer was crucial during the production of the environment as it allowed me to approach texture creation in a time-efficient way.
When it comes to building the individual assets I find it very important to try break straight angles and lines in whichever way possible, sometimes by using additional props or by simply creating surface breakups (e.g. uneven planks).
I find that the same approach applies to texturing, a simple uniform color at any specific area can be very boring, however, introducing even the slightest hint of additional color at a very low opacity can make a huge difference – in the end it is all about subtlety, too much of something can produce noise, everything must be carefully balanced in order to feel believable.
Materials
Vertex Painting was important for introducing texture breakup on modular assets.
Each Vertex Painting blend is established as its own function so that it could easily be shared between different master materials.
One of the more significant Vertex Painting was done on the wood walls – I had initially established the look of the paint blending from within Designer to get it to feel just right before proceeding to replicate the setup in Unreal.
I used different mixmaps depending on the painted value, a chunkier noisy mask for values below 0.5 and a blurrier mask for values greater then 0.5, this way I could have control over how the paint gets chipped depending on the value being used on the vertex paint.
Several additional features were implemented to help create further texture breakup among the tileable materials such as dirt masking and texture overlay – both effects were used with relative subtlety.
To get the dirt mask I utilized Unreal’s PrecomputedAO node and multiplied it against one of my grungy mixmaps to create additional grounding for the assets.
In some occasions a colorful texture was used with blend_overlay to help bring more color variation and reduce the repetition among modular assets.
The unique feel of the textures
I believe the unique feel of the textures comes from the idea of keeping it minimal whenever possible in order to achieve the unique style of FeiGiap.
The only details present would need to serve either the storytelling or the asset’s identity.
Any additional details would have to be very subtle so as to not distract from the rest of the composition.
Before I began the initial texturing process I bought some acrylic paint from the dollar store and used it to create some interesting alphas, which in turn, I used in Substance Designer, Painter and even Photoshop to some extent.
This was not a largely significant step but it certainly helped in finding the visual identity of the environment by maintaining some level of texturing consistency throughout.
As I worked on the environment I also tried to stay faithful to the concept art in terms of style and artistic direction.
Referring back to it often I observed how color harmonies were used to create contrast and guide the eyes around framed compositions.
To help set the tone of the environment I tried to play with those types of color combinations as much as possible to help guide the eye.
In addition to that, a select number of assets were intentionally over-exposed and over-saturated to create a contrast to the rest of the composition which stays mostly homogeneous.
Challenges
The project took about 5 months to complete and there were many challenges involved, mostly technical and some artistic – from exploring solutions to the ocean shader to establishing the style and look of the environment.
Clinton’s help throughout the Mentorship proved invaluable and it was a fantastic journey to work on such an epic project.
I look forward to getting another opportunity to do something similar again in the near future.