Unity uses straight alpha blending. Hence, you need to expand the color layers… The alpha channel in Unity will be read from the first alpha channel in the Photoshop file.
Setting Up
Before doing this, install these alpha utility photoshop actions: AlphaUtility.atn.zip
After installing, your Action Palette should contain a folder called AlphaUtility:
Getting Alpha Right
Let’s assume you have your alpha texture on a transparent layer inside photoshop. Something like this:
Duplicate the layer
Select the lowest layer. This will be source for the dilation of the background.
Select Layer->Matting->Defringe and apply with the default properties
Run the “Dilate Many” action a couple of times. This will expand the background into a new layer.
Select all the dilation layers and merge them with Command-E
Create a solid color layer at the bottom of your image stack. This should match the general color of your document (in this case, greenish). Note that without this layer Unity will take alpha from merged transparency of all layers.
Now we need to copy the transparency into the alpha layer.
Set the selection to be the contents of your main layer by Command-clicking on it in the Layer Palette.
Switch to the channels palette.
Create a new channel from the transparency.
Save your PSD file - you are now ready to go.
Extra
Note that if your image contains transparency (after merging layers), then Unity will take alpha from merged transparency of all layers and it will ignore Alpha masks. A workaround for that is to create a layer with solid color as described in item 6 under “Getting Alpha Right”
Did you find this page useful? Please give it a rating:
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!