there was a sale price i believe, we'll fix it right away
very cool but subscribe to pewdiepie
Tomer Meltser shared his workflow and discussed the way he builds the lighting, creates materials and crafts architecture for his Kowloon environment.
Hey, my name is Tomer Meltser and I am a 3D artist from Israel.
I developed an interest for computer graphics about 10-12 years ago when I discovered the deviantart.com community, back then I originally played around with programs like Bryce and Terragen, at one point I discovered Maya and have never stopped learning it since.
During those years I learnt a lot about 3D modeling and rendering, however, it was mostly just for fun.
In the last 2-3 years I decided to pursue my art seriously and so I began my path with the Israeli Animation College (IAC).
During my studies I decided I’d like to specialize in game environments, my final project at college was an attempt to make a full 3D diorama based on one of the fantastic works from Simon Stalenhag.
After completing my studies at IAC I felt there was a lot more I could learn in regards to game environments so I decided to sign up to Clinton Crumpler‘s CGMA class:
The class had a very clear structure and Clinton’s amazing breakdown of his workflows allowed me to learn so much that goes behind game environments – this is when I completed my Kowloon environment.
During the start of the project I needed to answer a few basic questions to help guide my project: Mood, Story, Scope, Time Period and Place.
For the mood I decided to have something eerie but inviting.
I was highly inspired by images of Kowloon Walled City which helped me establish the story and direction I wanted.
Since it was importent to keep the scope reasonable, I knew I could keep this type of environment well contained with simple walls and fences.
Getting those things figured out early on helped guide my decision-making later on all aspects of the project.
The references were carefully organized into models, materials, architecture and lighting, I tried to pick ideas which could fit the narrative as best as possible.
The first step was to decide on the footprint of the environment – this means I had to maintain the size of any modular assets relative to a single minimal unit of measurement.
Working this way would allow me to quickly and easily prototype my environment blockout within Maya as well as get it quickly setup within Unreal.
After establishing the footprint grid setup for my scene I could begin identifying which ideas I wanted to have in my primary modular kit – after making the list I started collecting real world measurements and finally blocking it all out.
Each piece that has to be modular would need to snap to its neighbouring pieces, therefor I kept testing out the footprint by making sure the vertices at the edges align to grid.
Once the kit was blocked out I quickly begin trying out different layouts for the environment.
Once I found a layout I liked I brought it all to Unreal with some basic default setup for material and light – at this point I could test my primary kit for any issues with snapping or weird gaps.
I separated all my blocked out pieces into 3 groups which would help me decide how to build them: Uniques, Tileables and Hybrids.
Unique meshes would be fully modeled in high poly, then baked down and finally textured separately in Quixel dDo – since this method is the most time consuming I’d be careful in selecting which assets would be uniquely baked.
Tileable meshes would make use of a number of tileable textures for the material composition and therefor would not need to be baked or textured individually – this allows the materials to be reused in many ways, saves time and allows to keep texal density consistent without having to bake very high resolution maps.
Furthermore, the tileable meshes are super quick to make and allow for quick iteration since all I need to apply detail is to map individual polygons to the tileable detail.
Hybrid meshs would combine both methods, with some parts using tileable textures and other parts baked out indivudally – this is useful in some special cases, for example, the electricity box embedded inside the wall is one asset – the wall is tileable while the closet is a unique bake.
For my tileable meshes I designed two trimsheets, those are two-directional tileables which can be used with my tileable meshes.
For creating the trimsheet I first observed my references and identified which details repeat.
After making note I proceeded with a simple color blockout in photoshop which was brought to Maya, modeled, baked down with MightyBake and finally textured in dDo.
To avoid inconsistencies I made sure that my trims snap to a 10×10 grid.
Most of the modeling work in the environment was done on the few unique assets, whilst the windows, walls and all other structures are modeled with the help of the tileables.
The modeling and texturing of all the primary assets took 3 months, whilst it took me another month or so to polish and prepare the project for completion.
For example, I made use of both applications for the wall texture because I wanted to get a certain painted pattern which I could not easily attain with dDo alone.
The floor is done entirely in dDo however.
My workflow for the texturing involved finding a reasonable amount of references to work from, design the main shapes or patterns, develop the color variations.
Once I was satisfied with the results of my base material I would move towards building the damage and dirt that would help establish the storytelling.
If I feel stuck with the texture I would go a few steps back and redo what I tried.
Furthermore, I like to add any additional graphics or height detail at the very end to avoid unneccessary complexity with my texture layers/nodes.
Depending on the surface I would also consider giving a good level of contrast to the roughness to help the details read better at a distance.
Throughout the project I had made an extensive use of Unreal’s Deferred Decals feature to help blend in grafitti, dirt, grunge and cracks to my environment, this breakup helps to easily add variation to the flat tileables.
The basic decal shader I created allowed me to apply a simple alpha and color, or an entire texture and normal map.
The other breakup for the tileables comes with Unreal’s vertex painting functionality.
Each vertex on the mesh has RGBA information which can be used as a mask to help blend additional textures or details on top.
(Base VP, Base VP with Mask, the wall material making use of VP for variation)
(The shader setup for the Base VP, used for testing and learning)
The mask by itself produces a highly unnatural falloff from vertex to vertex (as seen on the mesh to the left), to counter this I multiply the vertex paint against a tileable grunge map.
The important features I choose to include in the final vertex paint material were height map control to help the texture spill into the crevices first, the option to use grunge map of choice for falloff/mask, control the intensity of the VP effect and have separate controls for color and roughness for each of the RGBA channels.
The main master material allowed me to change the look and feel of any of the materials without having to go back to photoshop/dDo, this allowed me to iterate in real time and saved a lot of time.
For specific effects like wind, neon flicker and water puddles I had made unique material setups while maintaining the use of vertex painting to help control the placement of those effects on the mesh.
Marmoset Toolbag was useful in helping to test the assets before I had the materials fully ready in Unreal.
All the bakes were done with the help of MightyBake which proved to be very fast.
I might give Marmoset Toolbag a try at baking in my other projects to see how it compares.
Neon is obviously a huge part of your production. How did you approach this task? What ways have you worked out to build this element in the scene? Was it all done in UE4? What’s the process behind it?
I knew early on that I wanted the neon sign to play a big role in the scene.
Each of the neon signs were constructed as polygon stripes following the countour of shapes I exported from Photoshop.
Those stripes were carefully UV’d to the neon trim in my trimsheet.
Within Unreal I could test different color themes for the neons and settle on a look I liked, as well as make some parts of the neon flicker or “die” via vertex painting as previously described.
After most of the assets and materials were completed I had decided to redo the lighting from scratch since the scene was very difficult to look at – too bright and saturated from previous experiments.
A very valuable piece of advice I received from Clinton Crumper (and 6 months back from Pierre Bourgeot) is to add a black & white filter to the scene and judge the lighting from a purely greyscale value.
With that I could very clearly make decisions about the main focus of the scene and how I can make use of light to help me bring that focus.
(Red paint = Light; Green paint = Shadows)
After I was happy with the values of my light setup I could go back and fine-tune the color to help me get closer to this color palette I had in mind.
The work of Masashi Wakui was very inspiring due to the contrast between warm and cool tones, I wanted to have a similar kind of effect in my scene.
Since I already had the lanterns designed it was a natural decision to use them as my warm lights while keeping everything else as a cool light blue.
I made extensive use of the light cones to help communicate the directionality of the lights in addition to atmospheric fog to help bring more of the green tinge (fill).
While being overall satisfied with the direction of the environment I feel like there is still so much more that could be improved.
I believe it is very important to understand what my strengths and weaknesses are at any given point – with that I know how to focus my studying and continue improving – Consistent feedback, learning and practice.
I am currently continuing my studies at Think Tank Training Centre under the Mentorship program where I plan to continue expanding my skill set and produce better art.
I’d like to say thanks to Clinton Crumpler for all the help and feedback he provided!