Jump to content

Texture quality


ayamashi
 Share

You are about to reply to a thread that has been inactive for 1433 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I made a piece of clothing for myself and textured it in trial of substance painter. 

My issue is the quality of the texture. No matter if I export it as 2k or 4k or 8k, it looks blurry. After I resize the 8k to 2k it looks the same as 2k. There is no way I can make it any lower and not making ot look like from Minecraft. 

 

Ive seen some creations of people and their textures looked sharp and clean. 

 

Is there any workflow how to make the textures not blurry? 

I tried google but all I got is how to resize images for printing and websites. Maybe I'm not go ogling correctly 

Thanks

Edited by ayamashi
Link to comment
Share on other sites

1 hour ago, ayamashi said:

Is there any workflow how to make the textures not blurry?

It's a lot about experience. After a few hundred textures you get a "feel" for what you can and can't do and, as always, if you try to hard, it only gets worse.

There are three basic things to keep in mind:

  • Avoid the jpeg format like the plague. Every time you save an image as jpeg, you loose a little bit of detail.
  • Try different scaling algorithms. Fant is usually the best but it's a patented algorithm and not all graphics programs has it. Bicubic is usually second best.
  • Scale only once. You say you scale to 2K but SL doesn't support resolutions higher than 1024 (and you don't really want to use that high resolution if you can avoid it). If you upload a 2K texture, it will be scaled down to 1024. Better do it yourself before you upload.
  • Like 1
Link to comment
Share on other sites

On 2/2/2020 at 10:55 PM, ChinRey said:

It's a lot about experience. After a few hundred textures you get a "feel" for what you can and can't do and, as always, if you try to hard, it only gets worse.

There are three basic things to keep in mind:

  • Avoid the jpeg format like the plague. Every time you save an image as jpeg, you loose a little bit of detail.
  • Try different scaling algorithms. Fant is usually the best but it's a patented algorithm and not all graphics programs has it. Bicubic is usually second best.
  • Scale only once. You say you scale to 2K but SL doesn't support resolutions higher than 1024 (and you don't really want to use that high resolution if you can avoid it). If you upload a 2K texture, it will be scaled down to 1024. Better do it yourself before you upload.

Thanks for your reply!

First, I dont know why I thought I could upload a 2k texture. I am guessing its because the window where you add local texture to view them says it can be max 2k.

Second, after doing the workflow again for the 5th time, and scaling it to 1k like you said, I managed to make the texture look OK and not blurry any more. 

No idea what I did wrong before.

I am using png format for textures and bicubic scaling.

Edited by ayamashi
Link to comment
Share on other sites

2 hours ago, ayamashi said:

First, I dont know why I thought I could upload a 2k texture. I am guessing its because the window where you add local texture to view them says it can be max 2k.

Second, after doing the workflow again for the 5th time, and scaling it to 1k like you said, I managed to make the texture look OK and not blurry any more.

The technical limits have changed at least once and I'm not certain what they currently are, but it has been possible to upload a 2048 x 2048 (or 2048 x small number). That's the measurement of the texture to be uploaded. The inworld version will be scaled down to 1024 x 1024.

The general rule of thumb is that it's better to do your scaling in an external program, but uploading 2048s often gives sharper image quality at 1024 than uploading at 1024.

(And just to be clear, you are using 1024 rather than 1k? Because a 1k external image will be scaled down to 512 inworld. It always scales DOWN to the next power of 2 (1024, 512, 256).

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Bitsy Buccaneer said:

(And just to be clear, you are using 1024 rather than 1k?

According to standard English lexicon: 1k =1000; 1K=1024

Though many are not edified well enough to know the different and too feeble-minded to care. LOL

  • Like 1
Link to comment
Share on other sites

11 hours ago, ayamashi said:

No idea what I did wrong before.

One possible explanation is of course that the texture was corrupted on upload or even just corrupted in your cache. That's unlikely if you tried to upload several times though.

Another possible explanation is that you uploaded it with lossy compression. SL uses the jpeg2000 (which is not in any way the same as jpeg btw) format internally and it allows both lossy and lossless compression:

image.png.95f114978d308303d9294453c1ea1011.png

It's unlikely that was the issue though. Lossy compression is actually disabled by default these days and you have to fiddle with the debug settings to switch it on. That's a shame because there are occasions when lossy compression would be the best option but I suppose LL decided it was too difficult for cotnent creators to keep track of a checkbox in the upload window.

 

12 hours ago, ayamashi said:

I am using png format for textures and bicubic scaling.

You may want to try Fant. I haven't really tested it but it's supposed to be better than bicubic for scaling down images. Neither Gimp nor Photoshop support fant but paint.net does and since it's freeware, it may be an idea to install it just to use it for scaling images.

Interestingly, it seems the SL uploader uses Fant or some other more advanced interpolation algorithm than bicubic too. Here's an article about it, quoting @Whirly Fizzle.

  • Thanks 1
Link to comment
Share on other sites

  • 3 months later...
On 2/4/2020 at 12:26 AM, ayamashi said:

Thanks for your reply!

First, I dont know why I thought I could upload a 2k texture. I am guessing its because the window where you add local texture to view them says it can be max 2k.

Second, after doing the workflow again for the 5th time, and scaling it to 1k like you said, I managed to make the texture look OK and not blurry any more. 

No idea what I did wrong before.

I am using png format for textures and bicubic scaling.

A few of us did some tests well over a year ago trying to see if someone's theory was correct -- and it appears to be for ME anyway.

You CAN upload a 2K texture. The uploader turns it into a 1024. BUT --- and here is the kicker; for most of us the uploader did a a better job of compression than our graphics programs.  So typically now I upload 2K textures (unless it is a really small item) and my textures ARE better.  

 

The resolution that you bake at makes a huge difference too. I don't use substance painter but presumably there is a place where you define your texture resolution. In Blender I usually bake at 400 or 500 and to a 2048 texture.

 

And also note that many clothing makers use four textures for a single item (even just a blouse).  I am not advocating that at all, but if you are looking at what those guys produce and comparing your things -- that is likely the difference (at least in part taking into consideration the other points). 

Good luck!!!

Edited by Chic Aeon
Link to comment
Share on other sites

8 minutes ago, Chic Aeon said:

You CAN upload a 2K texture. The uploader turns it into a 1024. BUT --- and here is the kicker; for most of us the uploader did a a better job of compression than our graphics programs.  So typically now I upload 2K textures (unless it is a really small item) and my textures ARE better

Linden uses the commercial Kakadu jpeg compression code library.  Firestorm to as well

Kakadu is magnitudes better at compression than the official JPEG2000 reference source code

kakadu here: https://kakadusoftware.com/

Link to comment
Share on other sites

35 minutes ago, Jrosario007 said:

Interesting ill have to look into this

I hope you don't mean my second post. It turns out SL does use lossy compression even though the uploader window says (or said, I think they've fixed it now) it doesn't.

 

7 minutes ago, Mollymews said:

Linden uses the commercial Kakadu jpeg compression code library.  Firestorm to as well

I think the official viewer switched to OpenJPEG recently. Not sure about Firestorm.

 

27 minutes ago, Chic Aeon said:

You CAN upload a 2K texture. The uploader turns it into a 1024. BUT --- and here is the kicker; for most of us the uploader did a a better job of compression than our graphics programs.  So typically now I upload 2K textures (unless it is a really small item) and my textures ARE better. 

That only works if you are working with 2048x2048 and want 1024x1024 though.

A more flexible option is to use paint.net for resizing. Paint.net uses the FANT interploation algorithm as default when scaling down images and it's usually a lot better than the bicubic/bilinear interpolation other image editors are stuck with. The reason most image software can't use FANT is that it's a closely guarded Microsoft secret, the reason paint.net can, is that it's built on MS' .net framework.

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, ChinRey said:

I think the official viewer switched to OpenJPEG recently. Not sure about Firestorm.

Kakadu license: kdu: 7.10.4.513518.  is still listed in the latest Linden viewer.6.4.2.541639 (64bit)

Kakadu library code is what allows Linden to convert image files to the JPEG2000 format better than other codes found in some commercial graphics software

  • Like 1
Link to comment
Share on other sites

In Substance Painter what resolution is your project and what resolution are you baking at.
(I bake at 4096) Export also at 4096 then use Photoshop to scale to 512 using bi-cubic sharper. 
If you additionally want to add a bit more "sharp" to your images (assumption on using photoshop but am sure other programs have similar features) you can open Camera Raw Filter and fiddle with the Clarity and Texture settings.

If you want to share what bake settings / Environment you are using people can probably look and advise too.  I switch off things like ID as they aren't useful for the final 2D image for me.
Also whether you are adding filters on top of your materials.

Also you may wish to rule out any issue with your material in Substance.   Is it one downloaded from Substance Share?  If it is one you have created yourself and you have used a texture anywhere in the base, check the resolution of that too.  If you use a default library texture and rebake/export do you get the same blurry result etc.

I personally use an action to "post-process" the downloaded textures from Substance to get a batch done at once including the Camera Raw Filter but I do houses so slightly different..   

 

And oh my have seen how old the OP is a few months back, but hey ho in case helpful!

Edited by Charlotte Bartlett
Link to comment
Share on other sites

In all this, why not mention the UV mapping? If the garment came from Marvelous Designer and the pattern were not carefully laid out in the 2d view and no further work on the UV space was made afterwards, chances are that the number of pixels actually at disposal to be shown on the surface is just a tiny fraction of the overall resolution. Setting your textures to 8K doesn't automatically give you that resolution if the UV mapping covers the equivalent of 4K resolution in terms of number of pixels actually used on the object surface. 

  • Like 2
Link to comment
Share on other sites

On 2/4/2020 at 10:13 PM, ChinRey said:

One possible explanation is of course that the texture was corrupted on upload or even just corrupted in your cache. That's unlikely if you tried to upload several times though.

Another possible explanation is that you uploaded it with lossy compression. SL uses the jpeg2000 (which is not in any way the same as jpeg btw) format internally and it allows both lossy and lossless compression:

image.png.95f114978d308303d9294453c1ea1011.png

It's unlikely that was the issue though. Lossy compression is actually disabled by default these days and you have to fiddle with the debug settings to switch it on. That's a shame because there are occasions when lossy compression would be the best option but I suppose LL decided it was too difficult for cotnent creators to keep track of a checkbox in the upload window.

 

You may want to try Fant. I haven't really tested it but it's supposed to be better than bicubic for scaling down images. Neither Gimp nor Photoshop support fant but paint.net does and since it's freeware, it may be an idea to install it just to use it for scaling images.

Interestingly, it seems the SL uploader uses Fant or some other more advanced interpolation algorithm than bicubic too. Here's an article about it, quoting @Whirly Fizzle.

The tickbox's setting is irrelevant when it is grayed out, lossless is simply not available above a certain texture size, the lossless setting was added for uploading sculptmaps.

 

In addition, what sometimes can feel like a "blurred" texture is due to a lack of sharpness, and a misunderstanding of how textures are rendered in games. Textures, unlike images in photoshop are filtered when rendered.

Texture filtering has nothing to do with "blurring", the color of each screen pixel is simply interpolated from the color of the 4 nearest texture pixels surrounding it.

blender_2020-05-23_03-29-41.png.4cf2a634e266dfa2df95202f68b68215.png

1. Unfiltered texture

blender_2020-05-23_03-30-11.png.a08f028c71fed58a9cd1529e4f4d100f.png

2. Filtered texture

Photoshop_2020-05-23_03-37-34.png.042f396a5f811502f82baa40c3742389.png

3. Actual blur (without filtering obviously)

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1433 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...