public static SlicedTexture Slice(Texture2D texture) { var pixels = texture.GetPixels(); var slicer = new TextureSlicer(texture, pixels); return(slicer.Slice(pixels)); }
public void OnPostprocessTexture(Texture2D texture) { if (!assetPath.Contains("OnionRingSample/Editor/In")) { return; } // sliceして、pngで保存 var slicedTexture = TextureSlicer.Slice(texture); File.WriteAllBytes(assetPath.Replace("/In/", "/Out/"), slicedTexture.Texture.EncodeToPNG()); // border設定をするときに使うので残しておく textures[Path.GetFileNameWithoutExtension(assetPath)] = slicedTexture; // Refreshすると、さっき保存したpngが読み込まれる // delay入れないと稀にEditorごと落ちるので注意。原因不明。 EditorApplication.delayCall += () => { AssetDatabase.Refresh(); }; }