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
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:
- Very Stable
- Suitable for sculpted curvy mesh + industrial software exported mesh
Disadvantages:
- Need high poly and topologized low poly mesh
- Low detail quality when zooming in
Face-weighted normal mesh+normal map painting method
Advantages:
- Very Efficient
- No need for high-poly mesh
- Detail flexibility (Normal/Height mapping flexibility)
Disadvantages:
- Low detail quality when zooming in
Face-weighted normal mesh+advanced decal+POM (Parallax Occlusion Mapping)
Advantages:
- No need high-poly mesh
- Detail flexibility (Normal/Height mapping flexibility)
- Very high detail quality when zooming in
Disadvantages:
- 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.
© Daria for 80lvl, 2019. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: 3d art, assets, gamedev, Hard Surface, indiedev, ray tracing, real-time, sci-fi, UE4
Feed enhanced by Better Feed from Ozh
Source : https://80.lv/articles/001agt-crafting-a-real-time-ray-tracing-asset-in-ue4/