Chinese Ship: Modeling and Procedural Materials

Olmo Potums participated in ArtStation Challenge Feudal Japan and did a breakdown of his UE4 piece with a Chinese ship as a hero prop. The textures are created with Substance tools.

Introduction

Hey there! Before I got into 3D art, I actually started out as a graphic designer. I quickly realized my passions were elsewhere and I enrolled in the Game Art program at Digital Arts and Entertainment. After my graduation, I had the pleasure to work at elite3D, an amazing outsourcing company in Valencia, Spain. However, because of familial reasons, I wanted to work closer to home (Belgium). That’s how I got hired by Tomorrowland, an EDM music festival, as a 3D designer. There are quite a few interesting projects I’m working on for my job. Unfortunately, due to contractual limitations, I’m not able to show any of my professional work online.

Feudal Japan Challenge – Unreal 4 Environment

1 of 2

Goals

While I do a lot of 3D work at my day job, we rarely have to create assets for real-time environments. I want to keep my skills honed in all areas of 3D production, so that’s why I decided to enter the Artstation Feudal Japan challenge in the Level Art category. The contest was not very long and my job is quite demanding, so I knew time was going to be a limiting factor for me. That’s why I decided to create a small scene, limited in scope, to make sure that I would finish my submission in a timely manner. I quickly got the idea to make a scene with a stranded ship. It’s a very cool visual but I also wanted to avoid a stereotypical temple scene, so often associated with feudal Japan.

A progression from blockout to the final scene.

Ship Design

The ship is the main focus of the environment, so that’s where I started. Like every project, you start by gathering a ton of reference material. I did some extensive research about Eastern naval ships of that era. I was quickly drawn to the sleek and utilitarian design of the Chinese “Junk” ship. The size of these vessels was also ideal for the scope of my project. However, Japanese ships of that era were generally larger, bulkier and less organic than their Chinese counterparts. This presented an interesting design-challenge because I didn’t want to stray too far from the specifications of the contest. I ended up combining the naval design of the two eastern cultures. I took the general shape and sleekness of the Chinese “Junk” boats and I combined it with elements of traditional Japanese vessels of Feudal Japan. It was also important to me to create this design without resorting to cultural stereotypes commonly associated with those regions. I wanted the ship to be a utilitarian vessel, worn from day-to-day use and without too much ornamentation. I immersed myself in the visual language of naval transportation of that era. Elements like coiled rope, worn pulleys, splintering wood and rusted iron bolts are almost universally associated with historical maritime culture. I think that these details are the reason why the final ship-design looks so believable.

One of my reference boards, contrasting the Chinese “Junk” with traditional Japanese vessels:

A breakdown of some of the historical elements on the ship:

Modeling the Hero Prop

Like with every 3D object, you start with the basic blockout. As mentioned before, I took the general shape of the Chinese “Junk” and started designing the ship while roughly modeling in Maya. If I had more time for this project, I probably would have sketched out a couple of ideas before opening 3D software. I kept blocking out the ship until all the main elements were loosely defined.

Screenshots of the final blockout stage of the ship, before I started working on the modular elements.

I quickly realized that I needed to approach the design with modularity in mind, more like a mini-environment, rather than a big prop. The only question was how I would divide the ship into manageable pieces. Coincidentally, I was playing Assassins Creed Oddysey at the time, where naval combat and exploration is a big part of the game. So I used the in-game photo mode to take some closeup shots of the ships in the game. These images showed me how talented artists at Ubisoft used small modular elements in conjunction with tileable materials to great effect. This was very inspiring and it informed my entire work-flow for the design of the vessel. First, I would create all the separate elements: props, trim-sheets, and tileable textures. Then, I would hone in on the design of the ship based on the elements that I created, rather than the other way around. I think that this approach allowed me to create such a complex object in a limited timeframe.

1 of 2

Utilizing Tileable Materials

A reference sheet of all the unique meshes and trim meshes used for the ship:

1 of 2

A reference sheet of all the tileable materials used for the ship:

The ship is quite large, so it’s nearly impossible to create this in 3D with all unique textures. I also wanted to achieve a high level of visual quality, so a low texel-density was out of the question. As I mentioned in the previous paragraph, I took a lot of queues from Assassins Creed Oddysey’s ship design. The idea was to use as much tileable and trim materials as possible. This makes the object more optimized for use in a real-time scene and it saves time in general. A good example of this is the hull of the ship in Assassins Creed. The base of the hull is obviously a tiling material, but it is accentuated some extruded planks in the geometry. This prevents the surface from feeling like a flat plane with an artificial texture on top. Little tricks like that were a huge inspiration while creating the ship.

A comparison of a ship’s hull in AC Oddysey (left) and the hull of the ship in my scene (right).

The trim meshes are, in my opinion, the most important element of the design. These trim objects all have baked normals to achieve that organic, chamfered edge-look. While this idea certainly isn’t unique, it is a big contributor to the visual quality of the boat. There are almost no artificial hard edges in the 3D model of the ship. Of course, not everything can be achieved with tileable materials. There obviously need to be some unique meshes to achieve a realistic effect. My rule of thumb was to keep those objects as small and modular as possible. More complex objects are puzzled together from those smaller elements. A good example is the ornamental cabin door of the ship, which is an amalgamation of quite a few separate meshes.

A screenshot of the normal-bake results from the trim-meshes in 3D (left) and in 2D (right). Only high-level shapes are sculpted, other normal information (like wood grain) is added in Substance Painter:

A breakdown of the different kind of materials used for the ship (tileable, trim, unique):

Procedural Materials

For this project, I wanted to make all my materials from scratch. I have some proficiency with Substance Designer, but I felt like that this wasn’t really reflected in my portfolio. The Artstation challenge was an opportunity to show off those skills. However, that’s quite a tall order for a project with such a limited time-frame. Once again, I took a modular approach. First, I created a small library of basic materials in Designer: wood, paint, rope, iron, canvas, etc. Then, I combined those materials in Substance Painter, in conjunction with baked normals, to create the final textures. I used this approach not only for unique meshes but also tileable and trim materials. Because everything uses the same set of basic Substances, there is a visual consistency in the material-definition of the ship.

Another big thing I wanted to achieve material-wise, was the typical look of an object that has been in the water for a while. I felt like this would really sell the realism of the scene, if done correctly. I created a second, “water-worn” version of every texture. Then I created a simple shader in Unreal that blends between the pristine and the “worn” version of the material, based on the height of the object. This simple trick added a lot of visual quality to the environment. This technique isn’t very well optimized, and probably wouldn’t be viable in an actual game. However, for a small Unreal scene, it does the job admirably.

1 of 2
The height-based shader in Unreal with an example in action (left) and the material graph (right).

Background

The background needed to provide depth in the scene, without being too distracting. The idea of mountain forts on steep cliffs was something I decided on quite early in the process. I was inspired by a couple of the concept-art pieces from the Artstation Challenge. Initially, I played around with the idea to create the backdrop with pre-rendered sprites, to get a more painterly effect. However, due to time constraints, I just created some simple meshes for the castles and the cliffs. The traditional Japanese forts are actually built up out of a very simple set of modular elements. The windows have an emissive shader to make the buildings stand out a bit more. Fun fact, the forts are not to scale with the rest of the scene, they are actually quite a bit smaller than they should be in real life. The fog hides the discrepancy in scale and the unnatural intersection between the cliffs and the ground plane. The cliff meshes are actually the thing that I’m the least happy with from this project. The quality isn’t up to par with the rest of the environment. However, you only see them from afar, so it’s not the end of the world.

The modular pieces the castle objects (left) and an assembled example of a mountain fort (right).

Fog

The base of the fog is a standard exponential height fog with volumetric lighting. However, what really sells the effect is the use of cloud sprites. This is a simple trick I picked up from Dries Deryckere, my teacher at DAE at the time. You just look for some cloud images online and generate a normal map based on those pictures in Bitmap2Material. Then, you create a translucent material (volumetric directional shading) in Unreal with these textures. The result is a collection of cloud sprites that look great! These react realistically to the lights in your scene, due to the normal map used in the shader. I used the sprites for the fog and to enhance the standard Unreal skybox with some extra clouds.

An example of a cloud-sprite in Unreal (left) and the spritesheet-textures used to create this effect (right).

Lighting

Pretty early on, I decided that all the lighting in my scene was going to be dynamic. At home, I work on a 6-year old laptop, which would take off into space if I tried to bake the lights in my scene. I’m a sucker for moody and atmospheric lighting, so that’s why I chose to set my environment late in the evening. The moonlight is coming from the back-left, nicely silhouetting all the objects in the scene against the backdrop of a light fog. The warm glow of the lanterns on the ship creates a nice contrast with the rest of the surroundings, which is bathed in blue light. The lighting setup is very simple, a directional light for the moon, some point lights for the lanterns and a very dim skylight. The only “trick” I used was to enhance the background of the scene. The mountain forts are illuminated by an extra spotlight, at roughly the same angle as the main directional light. This sharply outlines the elements against a dark backdrop, which is quite dramatic and adds to the painterly effect of the scene.

A comparison of the backdrop in the scene without (left) and with an extra spotlight (right).

Olmo Potums, 3D Artist at Tomorrowland

Interview conducted by Kirill Tokarev

Join discussion

Comments 1

  • Ben

    Great job. Possible to download the project files, models, shaders & textures?

    0

    Ben

    ·4 years ago·

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