Breakdown: Caldwell Rival 78 Joker Fan Art

Anton Teryoshkin did a detailed breakdown of the weapon project that he worked on during the Weapon Skin Contest, shared his modeling, retopology and materials approach, explained the rendering and lighting workflow in Unity3D and mentioned a few useful tips and principles that helped him finish the project in time.

Introduction

Hi, my name is Anton. I am 24 years old, and I am a senior technical artist at a visualization company that works with large-scale industries. I mostly involved in VR-related projects and in the visualization of complex technical processes.

3D modeling is my hobby. This is an additional skill that helps me during work with Unity3d projects. During my free time, I mostly conceptualize robots, futuristic weapons, and equipment. 

In this article, I want to share the story of creating a weapon for the Hunt: Showdown universe. This was my first experience in projects like this one. But firstly, I would like to pay tribute to the guys from Crytek - they undoubtedly created a masterpiece, a hardcore shooter in the royal battle setup. Immersion in the atmosphere of the game is very important for me. As an artist, I could spend hours observing amazing landscapes of Louisiana, fantastic objects of that era flavored with notes of horror and the spirit of cowboy skirmish.

Also, being a fan of the game, I could not miss the anniversary and the Weapon Skin Contest run by the developers. From the beginning, I decided that I would not fit into the framework of the event (it was dedicated to the creation of a weapon skin in 2D editors according to a previously issued screenshot), and decided to make a weapon in 3D. 

The main challenge for me there was an extremely tight time slot. I wanted to publish weapons for the anniversary of the game, and when I found out about the date, there were only a few days left. Therefore, today I want to share with you the approach that helped me to create the content in a quick manner. I hope this article will help you pump up your skills and to increase your productivity.

The software used to create the model:

The Concept

Before explaining the process, I want to highlight a few basic concepts and rules that I followed.

It is very important to understand where, when and under what conditions your item is used. You need a visual image far from your subject, but capable of being associated with it. In this artwork, I conceptualized something like this. This is a strong whiskey. Can you feel the flavor? Now, we are ready to get just to the modeling.

I wanted to create a weapon that has its own story. I chose the joker theme, court jester based on combat characteristics of these weapons. As a player, I know the dangers of this weapon in close combat. It can be a happy card for a hunter-caught unawares in close combat. Using screenshots from the game and all the available information on the weapon, I put together a wall of references. (no-frills, just to create a model form)

Modeling

I use a voxel system that allows me to quickly create the forms. Also, I use several dozen boolean operations in the structure of one mesh with the ability to store history and interactive change. Also, at the heart of the modeling is a hard-surface approach, which works perfectly with Cinema 4D voxel modeling.

This approach allows you to work as an artist, and not as an engineer. You do not need to think through all the details and stages of modeling in advance. You have a history of all operations and a low-poly mesh with the ability to return to any stage of the simulation. Therefore, you work immediately with large strokes and are not afraid to ruin the model!

The barrel was composed of primitives. And a handle with the metal casing and some small details were modeled using the hard-surface technique. After finishing the base mesh, I decided to work on the tree pattern. I used the mapping of textures to the surface of the model with subsequent translation into geometry. Also, using the restriction fields, I masked the effect on the metal casing.

Sculpting

At this stage, the base model is ready, so I can start sculpting. Cinema 4D allows you to switch between a voxel modeling system and sculpting, this way, I can constantly modify it by adding both large and small details. During the sculpting process, I used some amazing wood and metal brushes -

Zbrush - 12 BurnWood Alpha, Prashant Dwivedi

Zbrush Alpha Pack - Metal surfaces, Fredo Gutierrez

When you create a model, it is important to observe the ratio of large and small details at any distance, each stroke should add up into a self-contained picture, regardless of angle and scale. Each large detail must be supported by several small ones and have its’ own story. When creating scratches, I tried to think about how the model could get damaged.

UV-mapping

At the modeling stage, the mesh had 12 million triangles, which is problematic enough to use in Substance Painter. Cinema 4D auto-reduction tool is not fast enough, so I switched to Houdini.

The tool polyreduce saved me a lot of time, reduced the volume of polygons up to 8%, even up to 3% for some parts. It is good enough for texturing. Using Equalize Lengths, I can edit the likelihood of forming equilateral polygons, and, of course, it’s important to activate the Preserve Quads option - later, it will allow us to create an automatic UV-unwrap with the minimal effort. 

Next, I export the model back to Cinema 4D. Usually, for game engines, I create UW-unwrap in other programs and then perform a manual retopology, but for this model, the automatic algorithms were enough.

The number of polygons is still enormous, but I did not want to spend more time on UV-unwrap and found this result acceptable. It is important to note that I still deployed and exported Substance Painter intermediate results in order to determine the sufficiency of the result and to correct artifacts associated with the formation of small fragments on the UV-unwrap.

During the retopology, some details of the model were nevertheless lost, and I needed to bake them from the original hi-poly model. Marmoset Toolbag works great with large volumes. After dividing the model into separate parts, I baked normal maps. There are a lot of examples on the Internet about working with Marmoset, I used a standard pipeline to work with it and would like to skip this point.

Now it’s time to proceed with Substance Painter. There, I baked the remaining maps (AO, Curvetures, etc.) to use them for smart masks and generators. 

Working with materials

Wood

In my story, the weapon has old wood material covered by the mud from Louisiana swamps. I began to study the wood material during the modeling process, so I did not have to use smart materials. It was enough to use generators and masks to emphasize the texture of the tree. I often work with individual layers with one channel (base color, metal, roughness, etc.), this gives me more control, and so I can use a lot of Anchor Point.

In the first layer, I fill with color, in the second I use the Dirt generator. Thanks to the fact the wooden part was modeled having the generator in mind, the final texture looks great.

However, the longitudinal pattern is not good enough, so I create an additional layer. Here, I add some missing details, using the standard procedural texture and spherical mapping. Then, I use a brush to remove unnecessary scratches that do not coincide with the direction with the main texture.

The last detail for the wood texture will be baked dirt that I add using the standard generator of the Mask Editor.

Metal

I added many dents and chipped metal at the stage of sculpting, so I was able to use masks to emphasize the details.

I devote a lot of time to details during the material stage. You should always remember that color is rarely uniform (use noise), also use Filters and Levels to specify the nature of your scratches and reliefs. And follow rule 80/20, the details must have a certain visual weight in the whole picture, and should not turn into noise from any angle.

Toward the end of texturing, I created the Unity3d project and began working in two windows. In one window, I continued to texture and, in the second one, checked the result in the game engine. Substance Painter has its own texture export config that is compatible with the Unity HDRP.

Render Unity3d

Let me describe the Unity3d part in detail. The basics of the lighting system in Unity were described in lots of articles all over the Internet. Links to some of the articles are provided below. Therefore, let’s get straight to the short promo video and some interesting cases.

In all the cases, I use the Density Volume, inside which the unit stores the information on the post-processing, skybox, parameters such as SSAO, SSR, Fog, etc. Below, I will describe one of the interesting scenarios of using  Density Volume. For a basic setup, I recommend this material High Definition Render Pipeline overview | High Definition RP | 7.1.8 

Here you see the settings of the two basic Volume Boxes from my scene, the first one is responsible for the influence of light, skybox, shadows. And the second is for such effects as Color grading, Vingete, Exposure, Gamma.

For a better render, I recommend using the HDRP preset. As I promised, there are some references on the topic:

After importing a model, I created several light sources in the project.

1) Directional main light and 2) several additional lights

Further, all examples will be based on animating the objects using the built-in Unity3d system - Timeline. In order to get a change in the main highlight, I animate the rotation of the directional light. Unity automatically creates animation curves that can be adjusted to change the nature of the animation.

To simulate the fire under the weapon, I use a particle system that will create light sources with a change in the intensity of the glow and a short lifespan. Place this system under the arms.

I use the Cinemachine Plugin to animate the camera. Using Look At parameter, I specify the object that will be followed by the camera. Using the timeline, I animate the camera movement around the weapon.

Then, I use the noise parameter of the camera and animate its attenuation to create the effect of slow camera shaking.

Having in the mind the camera trajectory I add 3 systems of smoke particles: at the beginning of the path (from where the camera will emerge), under the subject and in the background.

All of them differ in saturation and scale. And the smoke system in front of the camera dissolves over time. We also add one system of the fire particles under the weapon. 

I want the title to appear at the beginning of the video and then to dissolve. To do this, I use an additional particle system.

I position a sprite in front of the camera and disable the Sprite Renderer component.

Let's create a particle system in the scene. It will emit 5000 particles using the text as a source.

I set the noise option and use the offset setting. And I animate the strength of this parameter using Timeline. Thus, our particles will disappear at the right moment.

Also, I animate the color of the particles to turn them to the fire spark at the end of the animation.

And it is time for the final touch. The beginning of our video looks like this.

I want the weapon to appear based on the camera proximity to simulate the fog effect. To do so, I add an additional volume of post-processing. To which we will set the blurry borders (disable the parameter Global and create the component Box Collider, set the Blend Distance to 2).

Also, increase the Priority. And inside the Volume, we set the fog to 1. Thus, inside this box, the fog will block the weapon, but when the camera approaches, it will smoothly leave the influence of volume, and the fog will dissipate. 

Now, the first frame looks like this.

A Few General Tips and Principles 

I usually try to create separate parts of the model without using references or to create them from memory. The same with the materials. Before using the references, I tried to create the material of the tree from my head, thinking over how this or that texture detail could appear. And only then I use references, analyze and compare and make changes to my work. This is a good approach to learning, so you can understand how to analyze your environment correctly and learn to reflect on the form and materials.

If you do not know how to kick start creation of a large form or material, work out a small detail. This will help you push off and develop the idea of the bigger form.

Working with materials, most of the time I spend not with brushes, masks or generator, but with the alt + LM and Alt + keys on the wheel. In other words, I rotate and scale the model and observe the wholeness of the combination of materials and parts.

Anton Teryoshkin, Senior Technical Artist 

Interview conducted by Arti Sergeev

Published 19 March 2020
Anton Teryoshkin
Technical Artist, Concept Artist
Arti Sergeev
Intervew by Business Head