logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Creating Worn-Out Console & Server Props for Half-Life 2 RTX

Cassio Soares talked to us about creating consoles and lab servers for Half-Life 2 RTX, discussing modeling and texturing worn-out old-fashioned computer pieces using Cinema 4D, Substance 3D Painter, and Marmoset Toolbag.

Introduction

I'm Cassio Soares, a 3D Artist from Brazil. My first introduction to 3D art happened more than a decade ago, in the early 2010s, when I was just a kid. At that time, I had no idea what it meant to be a 3D Artist or any of the technicalities of the subject. I was fascinated by it and started imitating those typical amateur tutorials that you could find on YouTube at the time. As I was a child, I had no clear ambition other than to have fun with it. Over time, I started creating assets for franchises and games that I liked and focused only on hard-surface, since it was what I found most interesting.

For years, until I reached the end of my adolescence, I was doing 3D, but it was never more than a hobby. I had the opportunity to participate in a community project, a mod for Half-Life 2 called Raising the Bar: Redux. I've always been a fan of the Half-Life franchise since I was a child. So, it had a strong influence on what I was doing on the artistic side as well, and despite a short time on the project, I was able to get the hang of it and kick-start my knowledge of producing assets for games and everything that comes with it.

At the same time, 2019 was coming to an end, and Valve officially announced a new Half-Life game. The timing was great, and with the release of the game a few months later, I had an idea that would be to remake some Half-Life 2 assets to share with the community. Half-Life: Alyx came with some creation tools for the community, and you could publish your own creations in the Steam Workshop. A friend of mine welcomed this idea and helped me tremendously with the logistics and dissemination of the project that would be called Half-Life 2: Remade Assets.

Eventually, this project merged with another one called Project 17, a community project with the goal of remaking the first chapter of Half-Life 2 for VR using Half-Life: Alyx as a base. Both projects had overlapping goals, so we did an evaluation and joined together. After a lot of work, a few years later, the project was approached by Nvidia with the Half-Life 2 RTX project initiative. So, what was initially just an idea, eventually became a turning point for my experience as an artist.

Half-Life 2 RTX Project

Half-Life 2 RTX is a community-driven project with the goal of reimagining the old classic Half-Life 2, recreating all sorts of assets from props, characters, textures, and world materials, all using NVIDIA's RTX Remix software. It captures the original game as a base and lets modders overlay their own assets and materials on top with brand-new lighting and rendering.
The project is supported by NVIDIA and led by developers who worked on the community projects such as Half-Life 2: VR, Half-Life 2: Remade Assets, Project 17, and Raising the Bar: Redux, as well as many new members who became interested and joined the project after it's announcement.
My work on HL2 RTX is as a Hard-Surface 3D Artist. I have to model, or in this case, reimagine the original assets as brand-new and modern but still maintain the original look from Half-Life 2.

Inspiration & References

Gathering references and inspiration is always a huge starting step for creating assets, especially ones like this that look and function like existing human-made objects and are not completely fictional creations. Either way, building strong sets of imagery is the way to go.
My initial approach is to look up images on search engines like Google and Yandex. In this case, I searched for receivers, consoles, military radios, transmitters, or anything that could help build a visual library for these assets.
For some of the assets, I was searching mainly for old-fashioned computer stuff, like servers, old computer cases, and hardware, including exotic and weird-looking computers. Sites that sell second-hand products, like eBay or similar, are very helpful to find this kind of reference. They usually provide many angles of the same object and that helps quite a lot to understand the design.
For the receivers, I've got a look into sites that list and resell vintage devices. They also have a lot of content for varied types of receivers.
Similarly, military radios, receivers, and other such equipment were also part of the references for some of the other assets.

Some misc reference for worn and peeled-off stickers:

The references obviously include looking at the assets I'm remaking, how to combine the real references with the ones I'm making, and what shapes and details of the references could fit and improve the model while still maintaining it faithful to the original. For me, this part is like a puzzle, where I see what can fit in the model and start building something from that.

Original assets from Half-Life 2:

Modeling

My modeling process for these assets involves taking the original assets that are captured and provided by the team leaders. I need to make sure they have the same dimensions, direction in space, and axis position as the original so they can seamlessly replace the original asset inside Remix software.
Still, there is freedom to make the changes I feel could improve the original design. It's a matter of not making the assets look off-place, and by that, not drastically changing the design and making up changes that are fundamentally way too different from the original, like putting sci-fi elements on a default human-made computer, for example.
There's no secret, Cinema 4D tools are like any other 3D modeling software. My modelling process is mainly mid poly. I need to observe the original design and start building off that. Changes and new ideas naturally come along the way, and references greatly help with that. The entire process is also exchanging my progress with the rest of the team members so I can gather feedback, what works and what doesn't.
The original models are very simple and low poly, which also gives me more freedom on how I can reinterpret the design. Some of them are literal boxes with textures slapped into them, which means I need to go further when designing so they look more interesting.

The original asset for this one is a single object, but we decided to split them up as their own separate asset. I modeled the bottom one and another artist made the one on the top.

Retopology & Unwrapping

Since I'm mainly modeling mid poly, the retopology stage is to clean up of the mesh and, in some cases, vertex normal editing. I mainly do the unwrapping inside Cinema 4D, which is unwrapping the islands and sorting them out for the next part which is packing. I primarily use Cinema 4D for simpler assets when packing, but the built-in Cinema 4D packing tools are basic and tend to give not great results most of the time. When something is more complex, I go for Blender, where I can use plug-ins to help with the packing. It is far better than Cinema 4D's current packing results.

With that, I double-check the mesh and the UVs, so I can move to the next part of the process, testing out basic UV checkers and Texel Density, looking up for any mesh holes where there shouldn't be any or non-manifold. If everything is alright, then I quickly bake some sets of Normal Map textures with round edges shader for Cinema 4D. The same can be done with Blender with the bevel shader. Next, I move to Substance 3D Painter for texturing.

Round edges shading:

Texturing

The texturing stage is arguably as important as the modeling itself, and it's also a very exciting part of the process of making an asset. I'll be doing a breakdown of one of the computer servers' assets. All assets have their own uniqueness, but the techniques and knowledge can be applied similarly for the rest of the assets.
Before that, I set up a few things in Substance 3D Painter. I personally like to change the environment to something more neutral so that lighting doesn't affect how the materials are perceived. Substance 3D Painter has some good HDR's to start with. My personal choices are either Studio Tomoco or Studio 06, but there are quite a few more that you can try out.

Increasing the specular quality from low to ultra can also make a big difference on assets that have more reflective surfaces like metal.

I changed the tone mapping to ACES and enabled anti-aliasing as well.

I enable all these channels. The normal may vary, but I usually don't use the baked bevel shading Normal Map for baking as it can cause issues on the other baked maps. I only bake normals when I want specific height details printed into the AO and curvature map. Otherwise, I leave it off.

I like to make changes to such baking settings as Ambient Occlusion and Curvature. I enable the Thickness Map as well, as it can later become useful to use as a base for making masks.

You can put an existing Normal Map here before the baking, and it will influence the AO and curvature like a high poly mesh would.

I increase the secondary ray samples to increase the final baking quality and lower AO's max distance. The same can be done for thickness, but I don't change the radius for the curvature.

Baking anti-aliasing can also be increased, but note that this can dramatically increase baking time.

After baking, I start with a base material for the computer's plastic, light beige base color, and medium roughness.

With that base, I can start flashing out some variations in the color and roughness. I use multiple layers to vary the color and shift the hue and the base color, using different grunge textures from Painter as masks.

On top of that, I use a generator that randomizes the color for each island to vary it even further.

Next, it's time to stand out the edges and cavities.

Using a set of layers to change the color and roughness so I can have both light and dark edges, a simple use of the curvature generator, and grunge masks to create the worn-out look of the plastic.

I created a separated layer that only affects the roughness value with a blur filter on top of the curvature so I could have shinier edges.

To further increase the wear and yellowing of the plastic, I decided to use a gradient coming from bottom to top.

Breakdown of the Mask

One of the most useful features in Substance 3D Painter is the Anchor points, which lets you reference information from the same layer or any layer above the one that has the anchor point tag. It's especially useful when working with masks.

First, I put an anchor point on top of the things I want it to "capture." In this case, I've put above everything in the stack, then on the same layer I add Fill and let only the color channel active, and in that, I choose the anchor point I created. On top of the Fill, I put a filter gradient and adjust and choose the colors I want. This filter functions similar to Photoshop's Gradient Map. Its advantage is that you can have multiple colors using a single layer rather than having to create a layer for each separate color. It also gives a much nicer look than just being a plain color A to color B.

For instance, the same technique can be very useful for different materials, like a welded metal joint or tempered metal, or really for anything you think this could be useful for.

A photo of welded metal as an example:

And that's the result of the mask + anchor + Gradient Map:

Not it's time for some damage and scratches.

I was using default Painter's scratch textures and generators for the scratches on different layers so I can have mixed types such as different sizes and color for the scratches.

Denting is done with a curvature to delimit just to the edges, a gradient flake, and a blur slope on top.

Dirt and grime help with the aging and worn-out look, as well as some small blots and marks.

For the dirt, I'm mainly using grunge combined with generators like Ambient Occlusion. I can use it either as a cavity or invert the Ambient Occlusion alpha so I can have the dirt on the surface.

The small blots and stains use a gradient flake. I also have it in different layers for different colors and sizes.

The mold-like stain uses a gradient map and a blur slope, with a highpass filter and Levels on top to adjust the threshold and invert the alpha. Similar to the gradient I showed previously, this also uses an anchor point to color the stain.

The metal material follows a similar approach of layering wear on top of a clean base, with changes in Color, Roughness, and Metallic map for the wear and dirt/grime.

The mesh speaker is a simple layering with a Color Map and height.

After that, there are the small details, such as the stickers on this asset. The original asset didn't include any of that, but I figured it would make sense for this to have those.

The sticker is a very simple custom smart material I've made. It uses anchor points, so all I need to do is paint off the damage and automatically reflect on the different layers above. In this case, it's the peeling-off effect of a paper and glue sticker.

Another thing I wanted to do is these metallic stickers with an anisotropy effect, but without the need to have a custom shader. Instead, I faked using a Normal Map.

It's a brushed metal texture that I converted into a Normal Map.

The height details were manually painted, but since those aren't baked into the normals, they wouldn't reflect on things like the curvature and ambient occlusion generators. To overcome this, all layers that I used to paint in height details were put at the very bottom of the project. On top of these layers, there is an empty layer set to Passthrough blend mode on the height channel, and, of course, an anchor point.

This captures all the height information below this layer, so I can, for example, use it in any layer and mask above that one.

With that, I can do this in a curvature generator. On this tab, you can enable the Micro Details which you can feed a Normal Map or an anchor point in this case. This will influence the curvature giving it more details. It's also non-destructive, meaning that I can paint or repaint the height layers at the bottom of the project, and it will automatically update any layers referencing this anchor point tag.

One thing to note, though, is that anchor points can snowball and eventually slow down the material computing. The more anchor points you have, or rather the more layers referencing an anchor point, the more the slowdown will be. Having it like this at the very bottom and a lot of layers above referencing it slowed down this project quite a lot at a 4K texture resolution.

This is quite summarized and a lot more went in between all these layers. A lot of it became so routine that I didn't even notice since they are the smaller things, but with these few techniques, you can achieve a lot, and they will work in any kind of material.

I'm still improving and learning new things, so the more I make these materials, the easier it gets, and I find new ways of solving things.

Rendering

Rendering is also a very important stage. People say lighting can make or break an asset, and that is true. I am still learning quite a lot in this area, and these assets were part of the experience. I mainly use Marmoset Toolbag for rendering, and for most of my assets, I started setting up a few things.

First, I enable the Ray Tracing rendering on the render settings

For the sky, similar to Substance 3D Painter, I also like to use a neutral HDRI. I use the sky as a Fill Light rather than being the main light source.

Changing the backdrop color to fit better the asset I'm presenting:

The camera settings I adjust:

  • Lowering the field of view;
  • Tone Mapping > ACES;
  • Adjusting the curve editor;
  • Increasing sharpen, bloom, vignette, and grain to my liking.

All this can change throughout the process, so nothing is set here.

The changes in rendering and camera post-processing can make a big difference in the final look of the renders. The linear tone mapping makes the scene look washed out, and the ray tracing rendering gives some pretty good contact shadows and overall rendering quality. Just changing these few things improves the scene as a whole.

I place the asset and textures and start experimenting with the lights and camera angles to see what better fits and helps the asset stand out. For the main renders, I always use neutral lighting rather than colorful, but for some extra renders, I also experiment with more colorful lights.

It varies from project to project, but I usually end up with quite a lot of lights, depending on the asset I'm lighting.

I create groups for each light setup I make in case I want to test something else or render a shot from different angles that require a different set of lights.

For most of the lights, I use are area lights or diffuse lights, which can be done by changing the diameter of the area shape. I can adjust how diffuse or not it gets, I can also change the shape from a sphere to a typical plane area light.

After I'm satisfied with what I have, I go to the render settings.

I render at a fairly high resolution and increase the denoise samples. After the rendering, I brought it to Photoshop to do some small tweaks and editing, such as color balancing and emphasizing certain areas of each render.

Conclusion

Most of these assets were being made in conjunction with other assets I was making at the time, so the whole process was spread out in a couple of weeks, but for each asset I would say it took me a day or two.

None of those were particularly challenging to do, but I would say the work of reinterpreting what's in the original asset and making it look modern on a new but still faithful form is one of the things I like to take my time with. Some of the HL2 assets are very old, and it shows. Some are very nonsensical from a design perspective and it might give a hard time to reinvent them.

I like to work on anything with a hard surface, though I might prefer the bigger assets. I also like to work with sci-fi stuff. I don't have any specific tutorials in mind, and I don't usually save them, but for materials and Substance Painter tutorials, the Wes McDermott channel on YouTube has a lot of good tutorials.

Cassio Soares, 3D Artist

Interview conducted by Amber Rutherford

Join discussion

Comments 1

  • Anonymous user

    Thank you for sharing! We need more tutorials like this :)

    0

    Anonymous user

    ·a month 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