public void OnDestroy() { if (gradient_has_been_edited) { if (data.preview_texture.GetType() == typeof(Texture2D)) { string file_name = GradientFileName(data.gradient, prop.targets[0].name); Texture saved = TextureHelper.SaveTextureAsPNG((Texture2D)data.preview_texture, PATH.TEXTURES_DIR + "/Gradients/" + file_name, textureSettings); file_name = Regex.Replace(file_name, @"\.((png)|(jpg))$", ""); FileHelper.SaveValueToFile(AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(saved)), Parser.ObjectToString(data.gradient), PATH.GRADIENT_INFO_FILE); prop.textureValue = saved; } } else { UpdatePreviewTexture(privious_preview_texture); } }
private static Texture2D OverrideTextureWithColor(Texture2D ogtex, Color color) { Texture2D tex = TextureHelper.GetReadableTexture(ogtex); for (int x = 0; x < tex.width; x++) { for (int y = 0; y < tex.height; y++) { Color oColor = tex.GetPixel(x, y); if (oColor.a == 0f) { continue; } tex.SetPixel(x, y, color); } } tex.Apply(); return(tex); }
public static Texture2DArray Testure2DListToTexture2DArray(List <Texture2D> list, string path) { int[] size = new int[] { list[0].width, list[0].height }; Texture2DArray array = new Texture2DArray(size[0], size[1], list.Count, list[0].format, true); int i = 0; foreach (Texture2D texture in list) { Texture2D resized_texture = texture; if (texture.width != size[0] || texture.height != size[1]) { resized_texture = TextureHelper.Resize(texture, size[0], size[1]); } array.SetPixels(resized_texture.GetPixels(), i++); } array.Apply(); path = path.Remove(path.LastIndexOf('/')) + "/" + AssetDatabase.LoadAssetAtPath <Texture>(path).name + "_Texture2DArray.asset"; AssetDatabase.CreateAsset(array, path); return(array); }
//--End--Gradient public static Texture2DArray PathsToTexture2DArray(string[] paths) { if (paths[0].EndsWith(".gif")) { return(Converter.GifToTextureArray(paths[0])); } else { List <Texture2D> textures = new List <Texture2D>(); foreach (string p in paths) { if (AssetDatabase.GetMainAssetTypeAtPath(p).IsSubclassOf(typeof(Texture))) { textures.Add(TextureHelper.GetReadableTexture(AssetDatabase.LoadAssetAtPath <Texture>(p))); } } if (textures.Count > 0) { return(Converter.Testure2DListToTexture2DArray(textures, paths[0])); } } return(null); }
private static Texture2D Gradient_Resize(Texture2D texture) { return(TextureHelper.Resize(texture, 512, 512)); }