Crafting Real-Time Hard-Surface Assets in UE4

Sungwoo Lee shared the process of creating a real-time hard-surface asset with ray tracing in UE4, talked about the methods, and material & lightmass settings.

Sungwoo Lee shared the process of creating a real-time hard-surface asset with ray tracing in Unreal Engine 4, talked about the methods, and material and lightmass settings.

Life Course

I teamed up with my friends last year and started working on a CG Animation project using Unreal Engine 4. I needed to build a complete pipeline from assets creating, shading, lighting, FX, and output rendering for this project, so I tried some combinations between kinds of software solutions. It’s really a challenging and interesting experience in my career.

Ancient Seed

1 of 3
1 of 3

Goals

We all know the real-time ray tracing is coming soon. Therefore, I wanted to create real-time ray tracing standard assets for experimenting with this feature. But the newest version (4.22.0) of Unreal Engine is still in the preview build. Without help manual, I played a little bit around the ray tracing but got some issues. So these images are still from rasterization rendering.

Real-Time Hard-Surface Assets: Methods

There are mainly 3 methods for making current generation hard-surface assets (real-time). All these methods below can be used with the layered-material pipeline to improve shading qualities (though I didn’t deploy layered-material pipeline in this scene.

Traditional High to Low baking method

Advantages:

  1. Very Stable
  2. Suitable for sculpted curvy mesh + industrial software exported mesh

Disadvantages:

  1. Need high poly and topologized low poly mesh
  2. Low detail quality when zooming in

Face-weighted normal mesh+normal map painting method

Advantages:

  1. Very Efficient
  2. No need for high-poly mesh
  3. Detail flexibility (Normal/Height mapping flexibility)

Disadvantages:

  1. Low detail quality when zooming in

Face-weighted normal mesh+advanced decal+POM (Parallax Occlusion Mapping)

Advantages:

  1. No need high-poly mesh
  2. Detail flexibility (Normal/Height mapping flexibility)
  3. Very high detail quality when zooming in

Disadvantages:

  1. Requires high-end pipeline experience.

In this case, my main aim is real-time ray tracing, and I heard that in the early build, the decals and translucent materials may not be supported, so I took the second method to build this scene.

Working on Geometry

I usually design and create geometry in 3 steps. This is quite normal.

  • Blocking. Blocking is a very first stage that shows how the scene structurally looks like.
  • Detailing. In this step, I cut meshes and chamfer edges to create a more detailed one. Even the image below doesn’t look like highly detailed, but I will decorate this mesh in texturing workflow.
  • Finalizing. In this step, I clean up meshes, unwrap UV and tweak face-weighted normals.

I have published my design workflow before, you can also check it in here:

Materials

After unwrapped UV, I checked the texture density of each mesh, then I found even 4K resolution texture cannot holding a big shot, so I separated two texture sets for one mesh.

In this case, there are mainly 5 different materials, each of them is white paint, bright metal, dark metal, black rubber (plastic), Brass.

The whole detailed normal maps are painted in Substance Painter. I think this is the most important work in such a pipeline. Generally, we use some sci-fi alpha maps (many of these alphas can be purchased from online assets store) to project detailed normal. But in some cases, there is an unmatched style problem and mostly it’s the static maps, not procedurals. It means there is no parameter to shift the alpha shapes, so, I decided to create my own style. Then another problem came out: I couldn’t create such a huge library in a short time. Therefore, I did a little trick: a combination of Substance Designer and Substance Painter. I will share my main idea below.

The color I am using in this project is very simple, so it looks black/white in an early stage, but I used some red/blue/black/yellow stripes and decals to break up the black/white visual.

In the past generation, GPU performance and lighting algorithm were not good enough to present clean and reflective materials. So we presented the good rendering results by high detailed textures. It’s not hard to find in legacy generation games that most of them are dirty and rusted. But now, we can make some clean and nice materials.

Crystal Material

It’s hard to explain the production of this material via text and image, but I will try my best:

Lighting

The lighting depends on the design of the ceiling, so before diving into UE4, I designed lighting with Octane Render. This offline render is very accurate and I can use it as a reference.

This scene has a very small space but there are 8 main lights atop. In such a situation, I couldn’t use 8 stationary lights, so I separated them: 4 were stationary and the other 4 are moveable lights.

The UE4 lightmass has some issues when it comes to metals. In my case, I can’t get the right results when using default settings, so I boost up diffuse 3 times in the mesh tab and also boost it up 1.3 times in the lightmass. Except this, the lightmass settings are quite simple.

Sungwoo Lee, 3D Artist

Interview conducted by Kirill Tokarev

Sponsored

VEGAS Pro 16

The fastest solution for professional video editing, audio editing, and disc authoring. Now with even more innovative creativity tools like advanced motion tracking, world-class video stabilization, and dynamic storyboarding that deliver incredible results faster than ever.

Join discussion

Comments 2

  • redacted

    The article needs to be retitled because no ray traced features are used in this demo as mentioned here at the top of the article which is very misleading!

    "Without help manual, I played a little bit around the ray tracing but got some issues. So these images are still from rasterization rendering."

    You're better than this 80 Level! Don't abuse the trust of your readers with catchy headlines for the sake of grabbing a few extra clicks.

    0

    redacted

    ·5 years ago·
  • Ankur Rastogi

    Thanks for amazing techniques you shared. I have one doubt, I am not able to get the results with bevel.sbsar.
    Distance option does not affect the thickness of the bevel like in your demo. Can you please help...

    0

    Ankur Rastogi

    ·5 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