Home Technical Talk

Texturing Problem

CL3D
vertex
Offline / Send Message
CL3D vertex
Having a problem with texturing. When i apply the texture to the model it appears blurred/low res in the viewport (3ds max). It's most likely that my UV islands are too small or i'm inserting images onto the UV in PS incorrectly. Can anyone suggest where i'm going wrong? Thanks.


Replies

  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    You could certainly optimise your UVs more, and even stack them or overlap them as it's just the same wood texture on all the shells.

    Aside from that you can go to configure viewports>display performance>set your texture maps res up to 2K
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    Thanks i thought that might be the case. If i use this method how do i make it so that there are no overlapping UV's in Unreal? Thanks in advance
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    The overlapping UVs only matter on your lightmaps. By default in UE your texturing UVs will be on channel 0, and your lightmap UVs will be on channel 1. In Max this is map channel 1 and map channel 2.

    Overlapping UVs/stacking/stretch texturing/atlasing outside 0-1 are all very common unwrapping techniques in game asset creation.
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    The overlapping UVs only matter on your lightmaps. By default in UE your texturing UVs will be on channel 0, and your lightmap UVs will be on channel 1. In Max this is map channel 1 and map channel 2.

    Overlapping UVs/stacking/stretch texturing/atlasing outside 0-1 are all very common unwrapping techniques in game asset creation.
    I've watched Youtube videos trying to figure it out but i can't seem to get channel 2 to export out into unreal.

    What I've done so far:

    • UV'd normally as seen in the picture above then collapsed that modifier
    • Added a new UVW unwrap and changed to channel 2
    • Unwrapped everything again making sure that nothing is overlapping 
    • Collapse that modifier and then export the model via export selected

    Unreal just overwrites it with it's own lightmap that doesn't quite work and when i turn generate lightmap off it just leaves one channel. Am i missing something?
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    Nervermind, fixed it
  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    Hey CL3D,

    I just thought of adding a bit of detail. A link to my video on Blurry Textures in 3Ds Max: https://www.youtube.com/watch?v=UYspji1EV9A

    About Lightmap, if you are new, watch my series, here is the last episode about import to Unreal: https://www.youtube.com/watch?v=hjKhNi8ytNs

    Also, as musashidan said, you can optimize your UVs more by stacking them and adding more Material IDs.
    Have a great day!

  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    EliasWick said:
    Hey CL3D,

    I just thought of adding a bit of detail. A link to my video on Blurry Textures in 3Ds Max: https://www.youtube.com/watch?v=UYspji1EV9A

    About Lightmap, if you are new, watch my series, here is the last episode about import to Unreal: https://www.youtube.com/watch?v=hjKhNi8ytNs

    Also, as musashidan said, you can optimize your UVs more by stacking them and adding more Material IDs.
    Have a great day!


    I get everything you've both said but what would i do for something like a single thin plank of wood if it was part of a model with totally different textures to wood. I've made one as an example.
    I get that the UV is too small or the texture in PS is low res but can't figure out what i need to do. I doesn't look too bad at a distance but if you zoom in or walk up to it it's all blurry. I'm fine with texturing objects that have big square UV's put when i get tall thin ones i can't get them to look good (pictures below)

    I appreciate the help








  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    Hey again, there are many things that you can do here in order to achieve the result that you need:
    As I mentioned above, the image will look blurry in the 3Ds max viewport if the texture size is low resolution, and you really can't do anything about it. You need to render out an image of the model too see how it will look in game. (This is due to the viewport engine Nitrous Drivers)

    You should look into filtering to get a sharper image. This applies to both 3Ds Max and UE4.
    You can find filtering in 3Ds Max by following the Blurry Textures video, or by selecting the Bitmap and change the Filtering to None.


    Alternatively you can make the texture cover a space in the UV editor from top to bottom and then go outside of the UV space to repeat the texture. This will only work if you have a seamless texture though.

    The easiest solution would be to increase the image size in Photoshop (Image size of 512 pixels or 1024 pixels would do fine for this). Then you would have to recreate the wood. If you are using textures online they have to be in the size of 512 or higher for them to be useful for you.

    Write here again if you still have trouble and I'll try to see what I can do :)
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    @EliasWick - Advising to use nearest filter doesn't make much sense unless the guy is going for that pixelated look.

    @CL3D - Consider using tiling textures.
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    For something like your last wood example you could use stretch texturing. If you look at the size of the wood grain on your texture in comparison to the size of your piece of wood, it's way off. As always, real-world refs are your best friend. If you scale your UV shell non-uniformly(horizontally) to fit the wood texture it will look much better. Previewing it on the model in the viewport as you scale it. There are times like this when distorted UV coordinates can be used to your advantage. The technique, as I mentioned above, is called 'Stretch Texturing'.

    And it obviously goes without saying that you should always source your base textures from decent images. This isn't as much of an issue these days but, in days past it certainly was. :)
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    For something like your last wood example you could use stretch texturing. If you look at the size of the wood grain on your texture in comparison to the size of your piece of wood, it's way off. As always, real-world refs are your best friend. If you scale your UV shell non-uniformly(horizontally) to fit the wood texture it will look much better. Previewing it on the model in the viewport as you scale it. There are times like this when distorted UV coordinates can be used to your advantage. The technique, as I mentioned above, is called 'Stretch Texturing'.

    And it obviously goes without saying that you should always source your base textures from decent images. This isn't as much of an issue these days but, in days past it certainly was. :)
    Sorry i know i'm being a pain i just wanna make sure i understand it properly

    Did you mean stretch it like this? Cause it still looks pretty blurry or is that because i need to make it tileable? Are there any tutorials on this and can you still use other UV's and textures on the same UVW once it's tileable?

    so far i've gone from this



    to this 


  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    Yes, stretch it horizontally(in this case) across the grain of the wood. It's a good idea to set up a real-world scale reference in your scene so you can actually judge the size of the grain -  a 180cm human, for instance. Without a scale reference it could be 2m or 20cm. It already looks much better in the viewport.

    You can lay any UVs across any texture/part of texture that you want. Baking maps is the only exception to this and requires non-overlappoing UV shells inside 0-1. Overlapping UVs/stacking/stretch texturing/atlasing is very flexible once you get the concepts of how UV space relates to object/world space.
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    Is there any particular way of learning the concepts of those techniques or is it mainly just trial and error? I've been looking for tutorials etc.. all day but there doesn't seem to be much for stuff like that. Mainly things with tiling textures as well, it seems to be a big part of game texturing but i can't really find anything useful. Also if UV shells are out of 0-1 how do you render out the UV because that renders out 0-1. 

    Thanks to everyone replying though it's helped
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    Learning is just about researching and filling the gaps by practicing and, most importantly in 3D, self-experimentation. Always looking for specific tutorials is a mistake. I often see the "how do I model a -insert very specific object here" threads. The answer is you learn to model. Same with this. If you learn what UV space actually is, and how it functions/relates to geometry then you will have learned something much more valuable.

    Having said all that, I do have a vid tut planned on this subject very soon. :)

    No the renderer doesn't render 0-1. It renders infinitely tiling across UV space.(unless using UDIMs) Map baking, as mentioned above, considers 0-1.
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    Cheers, makes sense. Will keep an eye out for it, i was already subbed strangely enough haha
  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    Hey, I think you know this by now, but this is how it works:

    You see the small UV shell on the left and the plank on the right. As you may notice the plank is very small in the UV Editor.

    As I increase the size of the plank in the UV editor, the texture becomes more sharp on the plank.

    Nothing stops me from going outside of the checker pattern, I can make it as large as I want. The larger I create it, the sharper the texture will be.

    I forgot to show the texture in the Editor so here is one last image of that.

    I hope this helps!
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    EliasWick said:
    Hey, I think you know this by now, but this is how it works:

    You see the small UV shell on the left and the plank on the right. As you may notice the plank is very small in the UV Editor.

    As I increase the size of the plank in the UV editor, the texture becomes more sharp on the plank.

    Nothing stops me from going outside of the checker pattern, I can make it as large as I want. The larger I create it, the sharper the texture will be.

    I forgot to show the texture in the Editor so here is one last image of that.

    I hope this helps!
    Yeah that helps thanks. I think the thing that threw me off was when you see people showcasing their work and the UV's are packed neatly into 0-1
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    Last question. Say i had another UV island that needed a different texture on there as well what would i need to do?
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    You can just apply a different material / material ID to that part of the mesh.
  • CL3D
    Options
    Offline / Send Message
    CL3D vertex
    Cheers. So once I've stretched the UV out of 0-1 i don't render another uvw template i just export out the model put it into a game engine and use the texture/uv i already rendered out?
  • EliasWick
    Options
    Offline / Send Message
    EliasWick polycounter lvl 9
    CL3D said:
    Cheers. So once I've stretched the UV out of 0-1 i don't render another uvw template i just export out the model put it into a game engine and use the texture/uv i already rendered out?
    Think of it like this, your texture goes on for infinite. What you see in the 0-1 space is a representation of the entire texture that you have created. But outside of the 0-1 space it keeps repeating itself. If you want, you can have all of your UV shells outside of the 0-1 space. like this:

    You can even overlap your UV shells, like I have done below.


    So in short, no you won't render another UVW template. When you export your model, a valid file format, (.fbx for example) will store the coordinates of your UV's and it wont matter where they are. Since the texture repeats itself, all of the shells will have a texture.

    On the other hand, it's a good practice to stay within the 0-1 space. But you are free to do whatever you would like, as long as you get the result you are looking for.

    Hope this clears everything up and have a great day! :)
Sign In or Register to comment.