- Home /
How to make grid-slice external 2D spritesheet programmatically instead of using Unity Sprite Editor
I am new to Unity and just started for 2D Unity game. I have a spritesheet animation like this: I would like to use WWW to load this external spritesheet outside Editor and slice it as Grid type programmatically instead of using Sprite Editor in Unity. I would like to find a way to do it by using C# scripting. Because my game would have more than 5 heroes with 10 animations per hero for next updates in my game.
Is my question involved in customize Sprite Packer or something? Please help.
Answer by freakrho · Nov 13, 2015 at 09:53 PM
I needed to do something similar and I found what I needed here: http://forum.unity3d.com/threads/copy-spritesheet-slices-and-pivots-solved.301340/
You need to create a TextureImporter
TextureImporter ti = AssetImporter.GetAtPath(path) as TextureImporter;
Then you create the metadata
List<SpriteMetaData> newData = new List<SpriteMetaData>();
for (int i = 0; i < length; i++)
{
SpriteMetaData data = new SpriteMetaData();
data.rect = new Rect(x, y, w, h);
newData.Add(data);
}
And you apply it to the texture
ti.spritesheet = newData.ToArray();
AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate);
Your answer
Follow this Question
Related Questions
Override sprite geometry of sprite generated at runtime 1 Answer
Slicer not slicing correctly 1 Answer
override SpritePacker packing order 0 Answers
Can a sprite atlas be 4 bit? 0 Answers