Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elringus/sprite-dicing
Cross-engine tool for lossless compression of sprites with identical areas
https://github.com/elringus/sprite-dicing
abi cli game-development rust sprites texture tool unity
Last synced: 4 days ago
JSON representation
Cross-engine tool for lossless compression of sprites with identical areas
- Host: GitHub
- URL: https://github.com/elringus/sprite-dicing
- Owner: elringus
- License: mit
- Created: 2017-09-21T15:41:07.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T21:33:47.000Z (3 months ago)
- Last Synced: 2024-10-29T15:33:46.401Z (about 2 months ago)
- Topics: abi, cli, game-development, rust, sprites, texture, tool, unity
- Language: Rust
- Homepage: https://dicing.elringus.me
- Size: 54.4 MB
- Stars: 1,353
- Watchers: 41
- Forks: 144
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Reuse repeating texture regions
Use SpriteDicing to split a set of sprite textures into units, discard identical ones, bake unique units into atlas textures to then seamlessly reconstruct the original sprites at runtime, without actually keeping original textures in the build.
The solution significantly reduces build size when multiple textures with identical areas are used. Consider a [visual novel](https://en.wikipedia.org/wiki/Visual_novel) type of game, where multiple textures per character are used, each portraying different emotion; most of the texture space is occupied with identical data, while only a small area varies:
These original five textures have total size of **17.5MB**. After dicing, the resulting atlas texture will contain only the unique areas of the original textures and consume just **2.4MB**, effectively compressing the textures by **86.3%**.
Sprite Dicing is used in Naninovel — visual novel engine. Check it out!
## 🎬 Get Started
https://dicing.elringus.com/guide/getting-started