Home Technical Talk

Can someone clear something up regarding blending with masks/multiple UV channels?

jordank95
polycounter lvl 8
Offline / Send Message
jordank95 polycounter lvl 8
Let's say I have a large asset of an old stone wall. I want the wall to have moss, dirt and a stone base material. I know I need to make masks using Painter that I then use in UE4 with my tiling materials. Here's what I know...

From what I understand is you make 2 UV channels. UV1 is a 0-1 layout of all the UVs with no overlapping shells. This can be used for the lightmap as well as making masks with substance painter for blending tiling textures in UE4. 

So my question is, what happens with UV2? Do you need 2 UV channels in this case? Or do you just tile the materials in UE4 with the texture coordinates node to the correct texel density? Or should the UV2 channel instead be for manually scaling your shells to the correct texel density size outside of the 0-1?

When should I be using 2 UV channels? Just for overlaying some grunge or leaks or something?

Is making a UV shell bigger in your 3D program the same thing as tiling a texture with the texture coordinates node in UE4?

Thanks for the help. This has confused me for a long time. 

Replies

  • Kanni3d
    Offline / Send Message
    Kanni3d ngon master
    jordank95 said:

    From what I understand is you make 2 UV channels. UV1 is a 0-1 layout of all the UVs with no overlapping shells. This can be used for the lightmap as well as making masks with substance painter for blending tiling textures in UE4. 

    So my question is, what happens with UV2? Do you need 2 UV channels in this case? Or do you just tile the materials in UE4 with the texture coordinates node to the correct texel density? 
    UV1 (uv0 in unreal) for your tiling textures, which are scaled properly in your 3d program to the correct texel density.  This can be scaled past 0-1 and overlapping/inverted etc.
    UV2 (uv1 in unreal) for unique unwrap within 0-1 for masks, light maps, etc. Cannot be overlapped, or inverted. You can use different or multiple uv channels for different mask types etc. 
    jordank95 said:
    Is making a UV shell bigger in your 3D program the same thing as tiling a texture with the texture coordinates node in UE4?
    Yes. Using a tile value in the texture/material vs scaling the uv shells up and down does pretty much the same thing to your asset. Both affect texel density.
  • jordank95
    Offline / Send Message
    jordank95 polycounter lvl 8
    Thanks @Kanni3d - Do more UV channels double the vertex count in engine since the vertex count looks at the UVs? Or can you have lots of UV channels and it doesnt really matter?
  • Eric Chadwick
    Yes, in general terms. There may be some optimizations.

    The way I think about tiling in UVs vs. in materials... doing it in the UVs is kind of permanent on the model, you do it once and live with it. Tiling in the material offers more flexibility, you can tile different maps at different amounts, change things on the fly, animate maps scrolling (water, lava, etc.).

    You could do one UV channel in lightmap layout, and reuse this same UV for materials too with their own per-bitmap tiling (scale) values. But it's kind of limiting.

    If you need specific orientations for parts (text, road signs, trims, etc.) that makes it harder to pack the UVs in a lightmap layout because the texture needs a specific orientation in UV space. And then on top of that you need to tweak the material's bitmap tiling settings to place the texture exactly where you want it on the polygon.

    A tougher example is a trim sheet with multiple textures packed together. You can't use a lightmap layout for this, because each sub-texture would need its own separate material tiling settings, to get it to appear in the right place on the polygons. So that means a separate material per sub-texture, just so each can have its own tweaked tiling values. Defeats the purpose of a trim sheet (many sub-textures in one material gives you better rendering speed). 
Sign In or Register to comment.