Hello everyone, First of all i want to say i read other articles about this issue and nothing seems to help me with my problem
I try soldify B
Download and install the Flaming Pear “Free Plugins” pack (near the bottom of that list)
Open your PNG in photoshop.
Go to Select → Load Selection and click OK.
Go to Select → Save Selection and click OK. This will create a new alpha channel.
Now Deselect all (Ctrl-D or Cmd-D)
Select Filter → Flaming Pear → Solidify B
(not sure if i saved it right, I just pressed ctrl+s, but in unity image appear as from solid color I try playing with import settings nothing help)
next turning off mimaping - dindt help,
importing in PSD white borders are still there
or transparent cutout(this works but i get ugly borders)
so if u can suggest any other solution please do (I saw PNG to TGA on assets store but i really dont want to pay for this)
Here is Images from Photoshop (every color is on different layer)
Here is Image imported to Unity (still colors on different layers)
Notice that you cant see white border on solid black layer because I use Color adjusment to Black on Sprite renderer (this make edges more pixelated ) however if I use it for any other color then solid Black white edges are visible…
and here are import settings
and Sorry for my English Its not my native language
So if anybody can figure out where is a problem please help this gives me lot of trouble…
When editing your image in photoshop create an alpha color channel as the mask of your current image.
Now create a new, empty background layer and fill it with the gray color tones that those white spots in unity are supposed to be. It’s best if this background layer has no transparent pixels at all and is completely filled.
Now save the file as .psd and import this into unity. Select “Alpha is Transparency” if it’s used as Texture and click apply. Didn’t use it for sprites yet, but should work the same way.
Now those white spots should be gone. The alpha channel now does it’s job and the background doesn’t think it fades into white.
That filesize should only matter on your project folder and make no difference for a compiled project since the unity importer converts it, doesn’t it?
And as you’re keeping the psd for editing anyways and don’t have to export it to a png, you should actually save disk space.
Also if you double click those psd files in the unity Project window, it will automatically open up photoshop with that file for you to edit it. So it’s a lot more comfortable than searching for files outside the Asset folder and export them manually to some place in the Asset folder all the time.
Thanks for your help, Im going to try it.
And thanks to Xenome too because when i create new material with GUI/Text Shader and swap it with Sprites-Default material white edges are not visible now, however Fuzzy’s solution is better so I will try to do it the way you suggest thanks
Photoshop has unprofessional compression tools; they are not as flexible/sophisticated as the PNG format offers (i.e. RGBA4444). Transperant pixels during run line have RGB data thrown out and compressed to white. 3D software filters the textures (bi/tri) and you get white bleeding into the color data.
two tricks so you don’t resort to Psd version control which with big psd’s will get crazy
Gaussian blur a duplicate under the original by 1 and set opacity of it to 1% – this will force Photoshop to acknowledge the existence of color data around your edges, by adding an unnoticeable hint of opacity.
this isn’t ideal but anyone can quickly edit an image like this
or
use the Super PNG plugin (free) to author a professional Png format (also use “Open As”->SuperPng to retrieve alpha channel) http://www.fnordware.com/superpng/
THIS is ideal
Thanks that is even better, however i find out why i get white edges I want to share it if someone else have same problem.
It was because my Textures was bigger then 4096 I have to cut it in Photoshop and then “save for web” and i choose PNG-8 not PNG-24 so this is why i get this white edges
Thanks for help I really appreciate that
I thought the white border problem was gone, but now I see it again in 2018… No solution for PSD files? I edit a lot so I need to use PSD. Can Unity team please make an import fix?
Thanks, that’s cool, not ideal of course. 9 step process and a lot of it needs to be redone on every change. I’d rather have a script for saving as PNG every time I save the source PSD. Default PNGs from Photoshop work well.
The negative point in my opinion (about saving as PNG) is that you will have to store the PSD files in another repository and if your team is not organized, they will not find the PSD to edit something necessary in the future.
I understand, but your project will have both PSD and PNG files. If it is a big project now or in the future, I think it is not a good strategy.
Also, I think your developers can start using PSD instead of the PNG, and if you want to remove all PSDs from the project, you will face a lot of problems with missing references.
I had the same problem. In my case, a texture with smooth antialias. I just selected my png in Project View, then Inspector, and declare to Unity that my “Alpha Is Transparent”. Works soft and perfect. That eliminate the slim white border in my texture.
When I saw your post, I went to Unity as soon as I could to try it and unfortunately, this doesn’t work. But it was good because I ended up finding a new option that was created exactly to fix this issue. The Remove Matte (PSD) worked nicely for my PSD. Look at the images below how it was before and after using this new option.