Lab

Unity - générer des SpriteSheets au runtime !

Unity et ses plugins offrent de nombreuses façons de construire des Sprite Sheets. Mais elles s'utilisent soit directement dans l'éditeur Unity, soit avec un logiciel externe, ce qui est parfait dans bien des cas, mais aucune ne permet…

Unity et ses plugins offrent de nombreuses façons de construire des Sprite Sheets. Mais elles s’utilisent soit directement dans l’éditeur Unity, soit avec un logiciel externe, ce qui est parfait dans bien des cas, mais aucune ne permet de générer des SpriteSheets au runtime. Nous avons donc créé notre propre librairie.

L’objectif d’une sprite sheet est de rassembler un maximum de sous-textures dans une seule grande texture. La première étape a donc été un algorithme de packing. Heureusement, on s’est souvenu de celui réalisé et open-sourcé par Ville Koskela en AS3, on a donc commencé par un portage en C# pour Unity. Cliquez ici pour voir l’exemple de packing de rectangles Unity tourner dans votre navigateur en WebGL !

Une fois l’algorithme de packing terminé, nous avons travaillé sur un système de cache afin que les sprite sheets générées soient écrites et sauvegardées sur le disque pour un futur chargement. Le processus de génération ne sera alors plus nécessaire, sauf si vous incrémentez la version de votre cache !

Essayez UnityRuntimeSpriteSheetsGenerator !

AL
Aymeric Lamboley
Fondateur & Directeur technique