- Home /
How to make a Texture2D be constructed as a Clear texture
Hello fellow developers and question answer-...ers,
In C#.
I need to find a way to construct a clear (alpha of 0.0f) Texture2D of size x by x, where x can be vary large.
The normal Texture2D defaults to a colour that can be described as (0.5,0.5,0.5,0.5) is there anyway to change this default value to say, (0,0,0,0), or any shenanigans that yield the same result?
I have had a gander at http://docs.unity3d.com/ScriptReference/Texture2D.html. I may have overlooked or miss-interpreted a function or member variable, but as I see it nothing there helps me out.
Currently I'm going through each pixel and setting it to (0,0,0,0) but as you can imagine this process is quite expensive for large textures.
Feel free to ask for clarification.
Thanks for you time Exemplary Community members,
Answer by Dave-Carlile · May 10, 2015 at 02:43 PM
You can use Texture2D.SetPixels to supply an array of colors all at once. Also take a look at Texture2D.SetPixels32 which is faster according to the documentation.
Answer by zrlhahaha · Mar 21, 2020 at 04:56 PM
This will do
public static Texture2D CreateTexture2D(int width, int height, Color color)
{
Texture2D tex = new Texture2D(1, 1);
tex.SetPixel(0, 0, color);
tex.Resize(width, height);
return tex;
}
Answer by GXMark · Oct 15, 2021 at 07:39 PM
If you want the texture to look like the chequerboard you see on transparent textures in the inspector you have to set tex.alphaIsTransparency = true;
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Why my object not disappear? 1 Answer
Renderer on object disabled after level reload 1 Answer
Changing Sprite OnMouseDown 2 Answers