HuiYu Wang shared the working process behind the Floating Market project, explaining how shaders and procedural textures were made and how experience in photography helped with setting up the lighting.
Introduction
Hello, my name is HuiYu Wang, I am an alumnus of Think Tank Training Centre, currently pursuing my career as a Game Environment Artist.
My passion for 3D art began during my undergraduate studies in architecture and deepened further during my MFA in Digital Art and Photography. This experience fueled my desire to become an artist closely aligned with digital media. The pandemic brought a shift in my creative process when my outdoor activities were put on hold. This led me to explore alternative approaches to photo art, ultimately pushing me toward digital images and 3D screen space. I found more freedom in creation in screen space and finally chose 3D art as my medium and career path because I want to bring imaginative worlds to life with realism.
Floating Market
I was browsing ArtStation for new inspiration for my final term project. I wanted to push my 3D skills and, at the same time, work on some unique props. I came across Tian Gan’s work, which vividly captures the unique geographic features of a South Asian market, which is different from what I see on marketplaces. Her atmospheric depiction of a morning Asian floating market, the choice of the close shot and the market boat are very attractive. My goal was to convey the morning light's ambiance and the vibrant traces of daily life, making a 3D scene with lively, well-maintained architectural space. Balancing the age and condition of the assets during sculpting and texturing was also a challenge.
Rendered hero shot
When searching for references, the main thing was to establish the look of the market boat. I wanted to combine the painterly style and the realistic structure for my market boat. Then I found a lot of images of Vietnamese market cargo boats.
The second thing I researched was the small market boats from the Thai floating market that could go freely on small waterways and sell goods. My scene needs quite a few boats to fill up the waterway, and creating boats separately is a large workload. I decided to work on a modular kit for the small boats so that I could use the kit to form different shapes from one set of boats.
I separated my references into assets, close shot, mid shot, and long shot, making sure that I knew the plan of space, the unique and repetitive, and what the silhouette of the structure should look like.
Composition
I first used the concept art as the initial and hero composition and worked on the blockout in Maya. According to the lighting scenario of the concept art, I first planned out the space with cubes to see where the strongest light comes from, the result led to an alley-looking area with an open space in the back.
In the end, after talking to my mentors, I decided to change the shape of the straight waterway, leading the vanishing point to the far left with a curving waterway to make sure there were some silhouettes in the backspace.
After creating blockouts for upper architecture structures and back buildings, I researched the common residential buildings built on the side of water in Southeast Asia, analyzing the repetitive and reusable pattern of the houses, such as roof sheds, windows, metal fences, and air conditioners so that I could build up the modular kit for my building.
The architecture here is not the hero prop, but it is still very important to give a general impression when building this scene.
Modeling
The most important thing was to decide which assets needed to be unique and which could be modular; some could be achieved through texture. It saves time compared to building the whole scene. I categorized the assets and planned out the textures I needed first. For example, metals, wood, plastic, and emissive materials. Also, I looked for large assets that possibly needed to use a second UV for better texture quality.
As I mentioned above in the reference gathering process, I decided to use modular pieces, trim sheet, and procedural texture for my large boat and create a modular kit for my small boats. Also, I used a second UV for the AO map so that the boat has a proper and adjustable ambient occlusion in the engine.
Modular pieces
Trim breakdown
AO mask
I used such techniques as vertex painting and secondary UV for baked AO, grunge and dirt for large assets. I highly recommend this video:
The small market boats are slim in shape, with slight differences on two ends and top covers. After observing them, I decided to make a set of models that could be reused and pieced together freely. I made three main variations to fill up the scene and enrich the silhouette.
Retopology
I did my proxy models in Maya and brought them into ZBrush. For organic textures like fabric and fruits, I did the proxy in Maya or Marvelous Designer to give a primitive shape for the large assets.
Proxy
Proxy MD
After finishing the high poly, I first used ZRemesher and Project Detail under Subtool in ZBrush to get a nice quadrant topology and used decimation to reduce the number of polygons for the high poly. Then I brought the models into Maya, retopologized them using tools like Mesh – Reduce/Retopologize/Remesh. Quad Draw is also a nice tool for retopologizing organic shapes.
Texturing
I also got a chance to play with procedural textures in Substance 3D Designer and made some interesting textures, like packs of fruits. I first worked on the shape of a mesh bag and onions inside, then combined them together and adjusted the height map. It is very interesting to build a completely new shape using Substance 3D Designer.
I have also explored the Anchor Point tool and height map creation in Substance 3D Painter for complex shapes such as the bamboo shed. The Anchor Point and referencing information from the bottom layers.
For the fog shader, I made volumetric and plane fog to give more variations in scene depth. The most important thing is to block the light and make the light beam narrow so it feels like the Tyndall effect. I also found animatic god rays to give more sense of morning light.
Here is the fog shader showcase:
For the water shader, the main challenge was to adjust the transparency, color, and speed to fit the small, quiet river of my scene. Most tutorials are about clear water or large water bodies, like oceans, with strong ripples and edge effects.
I followed Dekogon Studio's tutorials on ArtStation, which gave a good blend of color and transparency, using custom depth to mask out my boats so that there was no water inside. I also took a look at Ben Cloward’s water shader tutorial to solve some ripple and caustic problems.
Here is the water shader showcase:
Composition
Following the blockout, I changed some mid and far scenes, used the most out of modular assets, and used small assets to distribute around the scene so that it does not look visually repetitive. I also added some decals, small pot foliage, and fabric to break the straight line of architecture.
Lighting & Rendering
My experience in photography helped me make the lighting decisions. I decided to use only one main light source, which is the directional light that mimics the sun. I see the other fill light as using a reflection board, so the most I used are soft rectangle light with limited brightness to fill up the space, instead of creating strong shades.
The main nodes I used are Directional Light Source Angle and Light Source Radius to control the softness of the shadow. The other thing is the fog assets with emissive nodes. The fog shader helps brighten up the middle and back parts of the scene. I also gave some slow flickers to the lamp light, which helps create a nostalgic, old-market feeling. But they are mainly used for decorating purposes.
Conclusion
I have gone through a lot of challenges with this project, such as unfamiliar knowledge and deciding how and why to make a specific asset using a specific method without knowing what the final result would look like. I guess the only advice is: plan and research well on what to do at first and don’t get upset about not knowing something. There is always a solution.