- Home /
Trying to change material alpha cutoff from code fails
I'm trying to create materials from textures in editor. Everything works on paper, but the alpha cutoff doesn't update in the material itself. Inspector shows the right value but when entering playmode the alpha isn't transparent. Here's the code:
[MenuItem("Assets/CREATE MATERIALS FROM TEXTURES")]
public static void Convert()
{
Texture[] textures = Resources.LoadAll<Texture>("");
foreach (Texture t in textures)
{
Material material = new Material(Shader.Find("Standard"));
material.SetTexture("_MainTex", t);
material.SetFloat("_Mode", 1.0f);
material.SetFloat("_Metallic", 0.097f);
material.SetFloat("_Glossiness", 0.763f);
material.SetFloat("_Cutoff", 0.13f);
AssetDatabase.CreateAsset(material, "Assets/Resources/Achievements/" + t.name + ".mat");
}
}
Is this a bug, and if it is, is there a workaround other than wiggling the alpha cutoff with mouse?
Answer by larrow · Nov 09, 2015 at 01:06 PM
I think it is a bug, I have the same situation. but when you change any value in inspector, the cutoff effect will be right.
my solution is to create material in file, then change it type to cutout in inspector. in script: copy and load this material from file, then modify the other parameters.
Answer by cj31387 · Nov 09, 2015 at 09:25 AM
Change the material.color alpha value. This worked last time I worked with alphas.
Your answer
Follow this Question
Related Questions
Initialising List array for use in a custom Editor 1 Answer
Distribute terrain in zones 3 Answers
How to create a complex material in an Editor-Script? C# 0 Answers
Multiple Cars not working 1 Answer