Home Technical Talk

UDIM vs UV sets ?

SebKaine
polycounter lvl 5
Offline / Send Message
SebKaine polycounter lvl 5
Hi guys,
Sorry this is a stupid one ...

What is the advantage of UDIM's over UV sets ? 

For exemple :
- i have a props
- i need four 4K maps to texture it
- what is the advantage / difference of using UDIM's over 4 UV sets ?
- UV sets are recognized in every renderer like webGL / unreal , UDIM are nots
So if everybody in VFX use them , there might be a reason, but i don' t get exactly why ?

Thanks for your lights
Cheers
E

Replies

  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    What? Those two things are not comparable.

    Some terminology to make things clearer:
    • UV Channel / UV Set / UV Map == Stored UV layout. A single one is often split into multiple for UDIM purposes.
    • UDIM == A standardized way of laying out UVs as 'tiles', which programs can treat as a series of unique UV sets.
    • Texture set == Textures that make up a material, i.e. materials channels (base color, normal map, roughness, etc.)
    • Virtual Textures / Megatextures == A system to reduce VRAM usage by temporarily offloaded textures from VRAM to RAM (or the SSD/HDD). It involves generating a separate map containing a low resolution version of each offloaded texture, which can then be temporarily sourced from when the full textures are needed, until the full texture is loaded back into memory.

    As for UDIM's advantages / disadvantages over traditional UV layouts:

    UDIM advantages:
    1. You can paint across multiple texture sets seamlessly (a single unified layer stack instead of one per texture set).
    2. Texture sets are applied to the correct area of a mesh automatically (no need to apply per mat ID / face).
    3. You can see all the texture sets you're working with for a mesh at the same time in a single UV window.
    4. If you need a non-UDIM setup for the final in-engine result, it's generally a trivial task to automate the conversion.

    UDIM disadvantages:
    1. Each 'tile' is unique so you lose the ability to mirror / flip / repeat texels by simply placing UV's outside the 0-1 range.
    2. Not all engines or renderers support them.
    3. Game engines perform better w/fewer materials (less draw calls), so having many textures like w/UDIMs can be bad.
    4. If you want to merge multiple existing layer stacks into a single unified UDIM one it can be quite time consuming.
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    Things with udim support can usually auto-import and connect all the textures, if you use a proper naming convention.
  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    Plus 3D painter like Mari or Mudbox does paint across UDIMs.
    Substance Painter does have a UDIM version in beta.

    Unreal does support UDIMs.
    https://docs.unrealengine.com/en-US/Engine/Rendering/VirtualTexturing/Streaming/index.html#udimsupport
  • SebKaine
    Offline / Send Message
    SebKaine polycounter lvl 5
    Thanks a lot for your answers guys ! UDIM is basically uv sets on steroid. From what you describe it looks more useful for VFX / Cinematic jobs where you need ( and can ) use 20 16K Maps on a Hero Char or Hero Props. 

    The auto connect features looks really interesting that might be a good argument to use them.

    I know many here works in AAA games company. i was wondering if UDIM is also a new standard, for real time games. Or is it more someting that is useful for precalc renderer in VFX / Cinematic show. UE4 looks to suppport them but does game company rely on this feature or is it something they have added to fulfill the desire of EPIC to brings UE in new cinematic territory, like abc / usd / RTX raytracing ?

    Does company like Valve / Dice / Naugthy Dog / Blizzard rely on UDIM for their games ? or is it something we only use in precalc cinematic. 

    Finally Does it UDIM has an influence on performance, does the memory footprint in VRAM will be equal to uv sets, or does it cost more ?

    Thanks again for your lights !
    Cheers
       
  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    Im sure they use it on really big assets. Like a Dragon.
    Its just easier to paint the Texture.

    And its no problem to use multiple materials or uv sets in the engine.
    Its just impossible to paint across textures if you have materials assigned per face.

    Using UDIMs in your texture painter does not mean you have to use it in the engine.
  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    Here an 10 years old video showing what im talking about.
    At the end i paint across all three textures. You cant do that if you have three materials assigned.
    https://www.youtube.com/watch?v=Ro_Ruhu-SGs
  • SebKaine
    Offline / Send Message
    SebKaine polycounter lvl 5
    Thanks for your answer Oglu, i have also find 2 interesting topic about UDIM 
    https://polycount.com/discussion/213611/question-regarding-udims
    https://polycount.com/discussion/183032/udims

    Basically to sum up : 

    UDIM is justify when you need to have gigantic resolution on a character or props, and when you have to texture paint it for unique detail. 
    - you can' t tile as each area need to be unique
    - you can' t work efficently with 32K map 

    UDIM is the answer to this it allow you to paint on a character but instead of storing the painting into one texture, you store into multiple texture of lower resolution (2K,4K). To make this work you have to use Mari, Mudbox,  or the Beta of painter. 

    => UDIM is primary a tool used for high end VFX, 

    UDIM is not a common practice in video game. The feature has been recently supported by certain game engine, but it' s not de standard workflow. The extra cost and the price of such numerous texture in memory is not justify. In video game 

    => UDIM is generally not use for video game rendering 

    UDIM can be use in game  to texture an assets to benefit from the paint across texture feature , the udim can be then reset to 0-1 uv space.

    i think i got the point.
    Thanks again for your help

     
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    I wonder did somebody do performance test with UDIM vs regular in U4?    Surelly UDIMs are a bit of  extra calculations in realtime
  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    I wont say that, an extra shader does alos add time.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
     UDIM is just a standard for labelling texture sets so they can be automatically assigned to things in the right order. 

    If that in itself makes your Shader slower you've dun fucked up


  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    poopipe said:
     UDIM is just a standard for labelling texture sets so they can be automatically assigned to things in the right order. 

    If that makes your Shader slower you've dun fucked up
    They mean virtual texturing. 

    https://docs.unrealengine.com/en-US/Engine/Rendering/VirtualTexturing/index.html

    which can have extra overhead depending on the situation


  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter

    OK.

    Well yeah,  per pixel I imagine the virtual texture stuff will be significantly more expensive than a standard material but they're in no way comparable cos it would  be literally impossible to achieve the same result using standard materials in a performant fashion.
    That has sod all to do with UDIMs though - they'll be indexing into a texture array whether there's UDIMs or not. 

  • Carlosan
    Offline / Send Message
    Carlosan polycounter lvl 12
    sidenote:
    3DCoat does paint across UDIMs too

  • Ambarawaa20
    I'm still learning about UDIMS and don't know much about UDIMS and when to use it. This discussion really useful for me, a person who don't know much about different UV set and UDIMS.
  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    @Ambarawaa20
    Hey, welcome to Polycount. Just noticed this thread got bumped, so I updated my response above in case you or anyone else is still checking for info on UDIM's. They're fairly standard now, much more so then they were 4 years ago when this thread was created.
Sign In or Register to comment.