Author Topic: Why does using one image to modify the uvs of another image break it's res?  (Read 514 times)

if i use an image to modify the uvs of another image and then bring this generator into substance painter, the image that's being distorted will have it's resolution be capped at 256 or so and then rendered with nearest pixel sampling.  if i DON'T have the image have it's uvs distorted by the other image in the pixel processor, it'll draw correctly in substance painter.  but if i do distort it's uvs, it completely breaks it's resolution.   is there any way to fix this or is it just a lethal bug with substance designer?   the only way to get the image to be read at full resolution in substance painter is to hardcode the images into the substance designer generator and hardcode it's resolution to 2048.  if i turn off either of those hardcodings the image's resolution breaks again and obviously that's not a usable solution.  :(


I finally found the solution.

i have an image which is not using your uvs for the positioning but instead the world position map, so it's a 3d texture. the problem was that the positioning was being quantized and i couldn't figure out why.  it's because even though i'm using a worldPosition texture which is 16bit, substance painter was reading it as 8bit.  to fix it i had to hardcode the bit depth of the worldPosition input image node to be 16bits.

so the "bug" here is that when you create the "PAINTER GENERATOR W/ ADDITIONAL MAPS" substance designer preset, it does create a "position" input image for you, but it's got two bugs. 

a) the position input is greyscale when it needs to be rgb to actually get xyz data.

b) the position input is 8bit when it needs to be 16bit in order to be used properly with substance painter's world position maps which are 16bit.  plus it needs to be 16bit anyways or you won't get gradations between those pixels.