Texturepacker detect identical sprites
![texturepacker detect identical sprites texturepacker detect identical sprites](http://i.ytimg.com/vi/vvp2eVHRAWM/hqdefault.jpg)
It's impossible to get away from having to do at least some manual work on the data (in the most general case), but simple tools like the above can help you alleviate the majority of the repetitive grunt work inherent to the process. C#, for example, would make a good choice and you could probably write such a thing very easily if you didn't want to just use an existing tool, if you needed to build thing into a customized asset pipeline, or if you wanted to provide extra options or UI for interaction (for example, your tool could present the sheet with the grid overlayed and allow you to drag-select rectangular regions of the base tile size that constitute "larger" sprites, like the aforementioned trees, saving you the manual fix-up step). You can write this tool in any language, although one with built-in support for all the appropriate operations (opening PNGs, annotating them, simple math primitives like rectangles) would be ideal. In the case where you want to consider some sprites to be larger than the otherwise-mostly-regular ones (for example, the two larger trees in your example), you can manually adjust the output file to combine the bounds of the individual tiles into a larger tile, deleting the extra entries.TexturePacker:: warning: TexturePacker:: warning: You are using some advanced features which will cause some sprites to TexturePacker:: warning: be colored red in the sprite sheet. TexturePacker:: warning: You are using TexturePacker in Essential (lite) mode. This will help you more easily match up the placeholder name with the image and help you produce better names quicker. Those warnings result in PNG files with the Logo of TexturePacker. Write out a separate copy of the image where you've rendered a grid (in some easily visible color, like hot pink) over each tile and annotated each tile with the number used in the placeholder name.If so, that space can be considered empty and you can avoid generating the name or bounds information in the output. Perform a simple check on the contents of the sprite sheet in every rectangle to see if the rectangle is empty.You could aid yourself in this process by adding the following features to your program: No matter you're going to be naming the tiles yourself.
![texturepacker detect identical sprites texturepacker detect identical sprites](https://www.spriters-resource.com/resources/sheets/3/2242.png)
You can then open the file up and alter the placeholder names to match what you actually see on the sprite sheet for that section.
![texturepacker detect identical sprites texturepacker detect identical sprites](https://thumbs.imgbox.com/2a/02/2i9U9xxL_t.jpg)
Since the sprites in the sheet are regular (that is, they're all the same size) you can pretty easily write a program that produce a set of rectangle data in JSON based on the size of the image. But tools-recommendation questions aren't appropriate here, so instead I'll describe a basic process you could use to do this yourself. There are tools out there that can help you, such as Shoebox.