Home Technical Talk

Texel Density (3Ds Max & Unreal Engine 4)

polycounter lvl 9
Offline / Send Message
EliasWick polycounter lvl 9
Greetings,
I've spent a week on and off trying to figure out how Texel Density works and I can't wrap my head around it... I do understand the concept of why you should use it. I just feel that I need some confirmation that I'm on the right track.
Please don't give me a link to read about it... I have read about it and I do understand what I have read. The reason to why I am unsure about it is because it's so many factors that are involved, which shakes up things in my head. When I finally understand it, it will be on of those "Aha, so that's how it works!" moments.

My Texel Density Sheet:
Texture Size / Units
256x256 = 25 CM2
512x512 = 50 CM2
1024x1024 = 100 CM2 / 1 M2
2048x2048 = 200 CM2 / 2 M2

I have decided to use a 1024x1024 texture per 1x1 Meter in the game.
So if I have a plane that is 1 Meter in Length and Width, I apply a UWV Map, and set the width and length too 100 Cm / 1 M. This will make sure the entire plane will be covered with the 1024 texture.

My Questions:
* Now, If I have a plane that is 2 Meter in Length and Width, do I apply a UWV Map and set the width and length too 200 Cm / 2 M, if I want to use a 2048x2048 Texture?
* Also, If I decided to use a 1024x1024 Texture on the 2 Meter plane, and have it tile twice, I would set the UWV Map width and length to 100 CM / 1 M again?

I am getting incredible annoyed by the fact that my brain can't seem to grasp how all of this works... I would love it if someone can explain this better than what I have done above. Also, an answer to my specific questions would be much appreciated!

Replies

  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Yes and Yes. You could also use 3planar mapping that has the texture scale determined in world units - world aligned texture in Unreal.
  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    Obscura: Thank you very, very much! In terms optimization, isn't the World Align Texture more costly in terms of resources? I am very bad at this Draw Calls stuff.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    It uses 3 texture lookups, and need to sample world position, and blend the axes. It is more costy than regular uvs, but in a case where you would need fully normalized texel density and you need this on a lot of objects, it might be still a good idea. The one that can be used for non normalmap textures, is around 15 instructions, and the normalmap one is around 30. You can also disable "high quality normals" on the normalmap one. That should reduce its cost roughly to the half.

    Though I probably wouldn't use it in a multi-layer material, at least not on all layers.
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    You can also use an object scale node. A bit cheaper than triplanar and doesn't get the weird skewing that can result sometimes with that method.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    You can also use an object scale node. A bit cheaper than triplanar and doesn't get the weird skewing that can result sometimes with that method.

    You can also make it local space,using various methods, so that "stretching", that is the result of how the axes gets created and blended won't happen when you rotate stuff around. But on like a spherical mesh, or one that has many surfaces facing multiple axes, would still have the artifact.
  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    This is all great information, more than I could have imagined!

    Thank you both, you've helped me on multiple occasions!
  • ghaztehschmexeh
    An easy way to manage texel density is to use a script. I use Advanced UV Normalizer. You can grab the texel density from one object (say a plane mapped to be 512x512 = 50 CM2), save that as a preset and then apply that to other objects. Saves me a lot of time and effort, not to mention it keeps my texel density consistent, at work.
  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    An easy way to manage texel density is to use a script. I use Advanced UV Normalizer. You can grab the texel density from one object (say a plane mapped to be 512x512 = 50 CM2), save that as a preset and then apply that to other objects. Saves me a lot of time and effort, not to mention it keeps my texel density consistent, at work.
    Yeah, that's good! I have read about both the Advanced UV Normalizer and Textools. I think that I will implement one of the tools into my workflow. Advanced UV Normalizer, looks better visually and I've only heard good things about it. But I will have to do some digging around! Thanks! :)
Sign In or Register to comment.