텍스처 저장 및 , 알파 텍스처 만들기
void SaveTextureToFile(Texture2D texture, string filename)
{
byte[] bytes;
bytes = texture.EncodeToPNG();
System.IO.FileStream fileSave;
savepath = Application.dataPath + "/Noise/" + filename;
fileSave = new FileStream(Application.dataPath + "/Noise/" + filename, FileMode.Create);
System.IO.BinaryWriter binary;
binary = new BinaryWriter(fileSave);
binary.Write(bytes);
fileSave.Close();
}
public Texture2D alpha_texture;
void SaveTextureAlphaToFile(Texture2D texture, string filename)
{
if (alpha_texture == null)
{
alpha_texture = new Texture2D(resolution, resolution, TextureFormat.RGBA32, false);
alpha_texture.name = "Procedural Texture";
alpha_texture.wrapMode = TextureWrapMode.Repeat;
alpha_texture.filterMode = FilterMode.Bilinear;
alpha_texture.anisoLevel = 1;
}
Color pixA;
for (int i = 0; i < texture.width; i++)
{
for (int j = 0; j < texture.height; j++)
{
pixA = Color.black;
Color curcol = texture.GetPixel(i, j);
pixA.a = (curcol.r + curcol.g + curcol.b) / 3f;
alpha_texture.SetPixel(i, j, pixA);
}
}
alpha_texture.Apply();
byte[] bytes;
bytes = alpha_texture.EncodeToPNG();
System.IO.FileStream fileSave;
savepath = Application.dataPath + "/Noise/" + filename;
fileSave = new FileStream(Application.dataPath + "/Noise/" + filename, FileMode.Create);
System.IO.BinaryWriter binary;
binary = new BinaryWriter(fileSave);
binary.Write(bytes);
fileSave.Close();
}
'DailyUnity' 카테고리의 다른 글
Sprite Batches , Atlas, AssetBundle 비교 (2) | 2020.05.08 |
---|---|
UGUI - Button - Transition Animation ( Auto Generate Animation ) (0) | 2018.07.19 |
Texture Blend (0) | 2018.07.03 |
Custom Noise Texture (0) | 2018.07.03 |