Mijaíl Záitsev has shared the workflow behind the IceBoat project and showed the texturing process, explaining how the wood layers were created.
In case you missed it
More from the artist
The IceBoat Project
Hello 80 Level! Today I want to tell you about the creation of IceBoat.
An iceboat (occasionally spelled ice boat or traditionally called an ice yacht) is a recreational or competitive sailing craft supported by metal runners for traveling over ice. One of the runners is steerable.
Originally, such crafts were boats with a support structure, riding on runners and steered with a rear blade, as with a conventional rudder. As iceboats evolved, the structure became a frame with a seat or cockpit for the ice boat sailor, resting on runners. Steering was shifted to the front. Because of their low resistance to forward motion over ice, ice boats are capable of speeds exceeding 60 miles per hour (100 km/h).
Because of their speed, ice boats are used both for recreation and for racing. A racing craft typically carries one person. This vehicle has many classes and types with its own regulations. But also, each boat is a unique invention created by its owner personally according to his parameters and needs. I really liked the Renegade subclass, it is a class of home-built iceboats whose prototype appeared in 1947 in Wisconsin, designed by Elmer Millenbach to be carried atop an automobile. It has a 67-square-foot (6.2 m2) sail on a flexible aerodynamic spar.
This type of boat has an enclosed cockpit for the pilot, consisting of wood and a steel blade in front, which is controlled by pedals located inside the cockpit. I liked the design of this class the most. I was very inspired by the uniqueness of this vehicle. Plus, making the iceboat allowed me to practice texturing objects made of wood (with paint or varnish). Currently, composite materials (carbon fiber and fiberglass) are used to create such boats, but I wanted to convey the beauty of the old materials.
Initially, the IceBoat project was created for the "WinterRush" art installation that my friend is doing, in which he wants to talk about old traditions, entertainment, and sports associated with winter. At the moment it is under development, and I'm looking forward to it coming out.
I started the creation with the selection of references. In the expanses of stocks with an image, there are many photographs of such boats, but there are very few detailed descriptions of the design. I managed to find more only on thematic forums of enthusiasts who are fond of this type of activity. On one forum I was lucky enough to find some technical documentation and some old development drawings that one owner shared with the public.
I started developing IceBoat in Fusion 360, an engineering program for creating functional things. However, the object is large – 7.5 meters long, 6.5 meters high, and 4 meters wide, some of the structural details are very small or in hard-to-reach places, so it was decided to ignore them. When working on CG projects, especially in the gaming industry, you need to think about optimization, even if you work in a realistic style.
The boat turned out to be a mixture of design solutions taken from different references. I allowed certain conventions and assumptions in the design, trying to maintain the appearance of authenticity.
I used ZBrush to create the high poly sail model. I made the basic shape in Blender and transferred it to ZBrush where I wanted to create the folds of the fabric.
I increased the polycount with DenaMesh. The folds were applied using custom alpha and a standard brush, and the alpha itself was created using Substance 3D Sampler and Materialize. Both of these programs are designed to create texture maps from photographs. In order to break up the uniformity of the sail, I added seams to the fabric.
In the process of creating folds, I realized that this skill is still poorly developed and I'm going to develop it in the future.
In Blender, I made the metal cables and sail control cable using curves and the "Array" modifier. This method allows you to create high poly and low poly at the same time, which simplifies further optimization work.
After finishing work on high poly and low poly, I divided all the mesh objects into several UV sets. To keep the overall texel density (about 12px/cm around) I place all UV shells in 4 sets. UV set for the frame is 4096x4096, for the sail – 4096x4096, for the support runners – 4096x4096, and for the details – 2048x2048.
With the UV maps ready, I baked the texture maps in Marmoset Toolbag (Normal, AO, Curvature, ID) and started texturing.
In this article, I would like to talk about the creation of the iceboat hull material (painted and varnished wood).
First, I mapped the wood texture using the Planar overlay method. If you want to repeat something similar, you can use any wood material and the overlay method. I used the Base Color and Normal channels of this smart material.
I used several such layers, in which, through the ID map, I applied the texture of the tree to the upper and lower parts of the cockpit, its middle part, as well as the wood details inside. I used slightly different scales and Normal intensity settings on different layers. On top of all the wood texture layers, I put an anchor, in which I combined all the information in the Normal channels.
In the next step, I created a layer of paint, in which I slightly increased the value in the height channel. I created the mask using an ID card and a metal edge wear generator. It turned out to achieve a layer of paint with a worn surface, which supported the information from the Normal channel.
Then with the help of the Paint layer, I added a blur to the paint using a brush with different alpha and on the very top of the mask, I applied a Warp filter in order to give more randomness to the mask. For me, it was an experimental process where I constantly controlled the appearance in order to form focal points and rest areas. In the future, I would often use the information from this mask, so I put an anchor here.
Next, I did color modulation. These are several layers in which, using gradient maps or the Position and Light generators, I darkened or brightened different areas of the paint. In the next layer, I wanted to create small streaks on the paint. I added an overflow map to the layer mask and slightly raised the height and roughness values.
For the next layer, I wanted to add more heterogeneity to the paint color. On Textures.com I found a painted wood map, which I placed in the BC and Roughness channel of the new layer.
After experimenting with blending modes and transparency, I liked the soft light mode with 79%. On top of the layer, I applied a perceptive HSL filter for more color control and also Levels for Roughness control.
In the next layer, I made a primer under a layer of paint. It creates contrast and separates the material of paint and wood, which I think looks interesting.
In the layer, I set a value with Color and Roughness, and to create a mask, I used the following technique. In the first Fill layer, I added the information from the anchor with a paint mask. Then, through the Blur filter, I expanded its borders a bit, and in the third Fill layer, I subtracted the original anchor mask using the Subtract overlay method. Then, using the Histogram Scan filter, I increased the value of the resulting mask and using the paint layer removed places where I did not want to get the effect of the mask.
In one more layer, I wanted to convey a slight bulge of paint in places of chips and wear. I did it like this: in the layer, I raised the Height value and in the mask, using the ID, I selected the area of influence, from which, using the multiply blending mode, I separated the mask from the anchor with paint. Then, in the paint layer, I removed the places where I didn't want the influence of the Height map to extend. The next Levels layer allowed us to adjust the degree of influence of the mask and the HighPass effect made it possible to achieve a smooth transition between the bumps of the paint and its normal level.
In order to emphasize that the iceboat cockpit is made up of several components (lid, middle, and bottom), I also darkened the edges of the joints of these elements.
To create the lacquered wood, I used the same wood layer that I used before (Ctrl+C – Ctrl+V). On top of it, I put a Fill layer where I set the Roughness value, as well as a Blur filter that only affects the Base Color value. By blurring the Color value a bit, I wanted to create the effect of refraction, which is created by varnish. In the main layer, I adjusted the color and saturation a bit so that the color of the lacquered wood and the unvarnished differ. Next, I proceeded to set up the layer mask.
With the help of the ID map, I selected the area of influence of the mask, then using the Multiply mode, I removed the value obtained using the metal edge wear generator. With layers of Paint, I damaged the varnish with a hard brush with Alpha. After that, I applied a Blur filter, which softened the edges of the mask a bit, and a Warp filter made the edges more chaotic. The next Histogram Scan filter boosted the mask value. In the future, I would use this layer mask very often, so I put the anchor in the top layer.
In the next layer, I slightly raised the Height value for the varnish mask. This could have been done on the previous layer as well, using the Fill layer.
In the next step, I darkened the areas that were not varnished a little. Using an inverted mask with varnish.
In the next layer, I lightened the edges of the varnish.
Then I darkened the areas of unvarnished wood, from the edges of the varnish to the center.
In the next layer, I strengthened the edge between the varnish and the wood by darkening the thin line at the junction of these two materials.
In the next layer, I added chips to the edges of the wood. I made the color of the wood in these chips lighter to enhance the contrast.
The mask was created using the Paint layer and a hard brush with Alpha. Then I softened the result with the Blur filter and made the edges uneven with the Warp filter.
Design elements and inscriptions on the hull and the sail were made arbitrarily. I spied some elements on the references, and some I came up with myself.
I would like to show the process of creating a simple inscription on the case. The rest of the design elements on the hull and sail were made according to the same workflow and differ only slightly.
In the first layer, I selected a contrasting Base Color and also set the Height and Roughness values. And the mask was made using the Paint layer using Stencil. I left an anchor on top of the mask. I made the Stencil mask in Photoshop after trying several fonts.
The "M 808" designation has no meaning, I just like to use palindrome characters. In the next layer, I did a color modulation from the edges to the center of the lettering, darkening the edges of the lettering a little.
In the next layer, I wanted to separate the bright lettering from the Iceboat hull. To do this, I made a dark stroke.
Also, to enhance the contrast, I darkened the area around the inscription. This effect emphasizes such design elements well, but you must not forget about balance.
This project was very useful for me. I am constantly trying to come up with new interesting texturing and modeling methods for my projects. And I really like trying something new. It showed me the weaknesses that I'm definitely going to improve on! And a re-analysis of the work done to write this article allowed me to look at my workflow and gave me the opportunity to see how it can be optimized better.
Happy New Year and Merry Christmas! And wish you peace, kindness, and progress in CG activities!
Mijaíl Záitsev, Prop Artist
You may find these articles interesting