as you can see I have an opacity layer to create the grass effect.
I’ve been reading up a bunch and trying to search for an answer to my problems, but to no avail. So I thought I’d just ask.
So from what I understand 3DS Max doesnt like to use a single texture file when using the opacity map. Which for one is problematic when importing to Unity because now I have 2 files automatically imported attached to the file instead of one that just uses the alpha channel.
Another problem I’m having though is getting either 3DS max or Unity to even recognize the Alpha Channel I’ve created in my .PNG file, my .PSD file, OR a .TIF file.
Heres my texture in photoshop. I believe everything is in proper order. I know unity will squish all the layers together but even if i save the image properly I cant get the alpha channel to work. I have a sneaking suspicion the ‘alpha’ layer referred to by the internet and unity resources just means the invisible space in the actual image, NOT the alpha channel… But even still it should work in 3DS Max… so im just confused. What am I doing wrong?
as you can see in 3ds max Im using a jpg as a opacity map as necessary, but thats the problem when importing. Ideally Id like to use the same file so the jpg doesnt get imported and everything will just use my alpha channel from the .psd / .png file. But when I try to use the alpha channel in 3DS (like in the second 3DS image I’ve posted there) it doesnt seem to work the same. But I’m pretty sure my png file is all right. I’ve also read that .png doesnt store the alpha channel. But I’ve also tried to save for web and a .tif file which I know does. So im at a loss.
Even if I go by the logic that it uses the actual transparent pixels from the .png file or .psd file the quality is greatly decreased. It definately doesnt work the same.
Someone help me out.
I know I’ve gotten similar things to work properly but the process is unclear.
No - it seems your doing something wrong. Suggest using a tga file or png if desired. Duplicate the diffuse tga file (that has an alpha channel) into the opacity slot and select alpha - as alpha source. Should work as desired.
When exported - there will only be one tga texture with alpha for the mesh, however - you might consider separating the mesh objects for optimization purposes - see related reference at 15:00 in this video.
I’ll let someone else address best import settings for getting the desired look in Unity.
I got the TGA to work properly, but do you know why the quality decreases so greatly?
I imagine its possibly any semi transparent pixels… does unity not like semi transparency in alphas?
Hey Mofo - I’ve only recently started using psd in my workflow for Unity, I’ve always created tga, png, or tif files (old dog). I can’t factually state how Unity treats them, though my instinct is to say it identifies the alpha channel and uses it, if the file doesn’t have an alpha channel, I don’t know if it would see the transparency on the layers and use that as an alpha.
Should be a easy test run through.
I rarely use psd in Max either (same reason as above) though I believe Max has supported them for a couple 3-4 versions now.
Here is an old answers post which states Unity in fact does recognize the transparent space.
Hello @Mofo10 . From those snapshots you provided. It seems like it’s on the shader side settings.
If you are using Standard shader. Switching the rendering mode to transparent instead of cutout may do.
Cutout will only cull alpha either 0 or 1 with a clipping value while transparent render all alpha value.
In additional. Ya. As @theANMATOR2b said. I didn’t directly use PSD on Unity or 3D software too.
Unless I need a quick preview to see the rough result. Usually I will save as PNG or TGA.
And let Unity compress the quality for me within editor. Final result various on platforms settings.