LibreSprite : Éditeur open source pour animations pixel avec automatisation avancée

Introduction à LibreSprite

LibreSprite est un logiciel open source dédié à l'édition d'animations en pixels, dérivé de la dernière version GPLv2 d'Aseprite. Il offre une suite complète d'outils pour la création de sprites animés, adaptée aux développeurs de jeux, artistes en pixel art et créateurs d'animations. Sa licence libre permet un accès sans coût à des fonctionnalités professionnelles, couvrant le dessin, la gestion des palettes et l'extension par scripts.

Problèmes courants et solutions avec LibreSprite

1. Outils commerciaux coûteux et fragmentés

Les créateurs de pixel art font face à des logiciels dispendieux ou à des alternatives gratuites limitées en fonctionnalités. LibreSprite intègre un environnement unifié pour dessiner, animer et exporter, éliminant le besoin de multiples outils.

Mise en place rapide :

  1. Cloner le dépôt : git clone https://gitcode.com/gh_mirrors/li/LibreSprite
  2. Compiler selon les instructions dans INSTALL.md
  3. Lancer l'application pour démarrer un projet

Le pixel art impose des restrictions de couleurs strictes. LibreSprite inclut une bibliothèque de palettes prédéfinies pour des styles rétro ou modernes, facilitant la cohérence visuelle.

Palettes intégrées :

  • Rétro : gameboy.gpl, nes.gpl, atari2600-ntsc.gpl
  • Design : google-ui.gpl, monokai.gpl
  • Professionnel : db16.gpl, db32.gpl

Application d'une palette :

  1. Accéder au menu "Palette" puis "Load Palette"
  2. Naviguer vers le dossier data/palettes/ et sélectionner un fichier .gpl

3. Tâches répétitives chronophages

Les opérations manuelles telles que le traitement de trames ou les ajustements de couleurs sont sources d'erreurs. LibreSprite supporte l'automatisation via des scripts JavaScript intégrés.

Exemple 1 : Génération aléatoire de pixels

// data/scripts/GenerateurAleatoire.js
const couleurPixel = app.pixelColor;
const imageCourante = app.activeImage;
const hauteurImg = imageCourante.height;
const largeurImg = imageCourante.width;

for (let ligne = 0; ligne < hauteurImg; ligne++) {
    for (let colonne = 0; colonne < largeurImg; colonne++) {
        const intensite = Math.floor(Math.random() * 256);
        imageCourante.putPixel(colonne, ligne, couleurPixel.rgba(intensite, intensite, intensite, 255));
    }
}

Exemple 2 : Conversion des blancs en transparence

// data/scripts/BlancVersAlpha.js
const couleur = app.pixelColor;
const imgActive = app.activeImage;

for (let y = 0; y < imgActive.height; y++) {
    for (let x = 0; x < imgActive.width; x++) {
        const pixel = imgActive.getPixel(x, y);
        const luminosite = (couleur.rgbaR(pixel) + couleur.rgbaG(pixel) + couleur.rgbaB(pixel)) / 3;
        const alpha = 255 - luminosite;
        imgActive.putPixel(x, y, couleur.rgba(couleur.rgbaR(pixel), couleur.rgbaG(pixel), couleur.rgbaB(pixel), alpha));
    }
}

Utilisation des scripts :

  1. Enregistrer les fichiers .js dans data/scripts/
  2. Exécuter via "File" → "Scripts" dans l'application

Fonctionnalités avancées

Prévisualisation en temps réel et technique onion skin

Cette fonction permet de visualiser les trames adjacentes avec transparence réglable, en utilisant des couleurs distinctes pour chaque trame, améliorant la fluidité de l'animation.

Gestion des calques et des trames

LibreSprite offre un système robuste avec :

  • Support multi-calques avec modes de fusion
  • Timeline pour contrôler la durée de chaque trame
  • Étiquetage des séquences pour une navigation organisée

Compatibilité des formats

Formats supportés :

  • Natifs : .ase, .aseprite
  • Images : PNG, GIF, BMP, JPEG, WEBP
  • Animations : GIF animé, WebP animé
  • Palettes : GPL, ACT, PAL

Architecture du projet et personnalisation

Structure modulaire

  • Interface : src/ui/ - composants graphiques
  • Données : src/doc/ - structures de sprites et calques
  • Rendu : src/render/ - moteur d'affichage
  • Scripts : src/script/ - moteur JavaScript

Personnalisation de l'interface

  1. Thèmes dans data/skins/
  2. Configuration XML dans data/gui.xml
  3. Préférences utilisateur dans data/pref.xml

Support multilingue inclus avec des fichiers JSON dans data/languages/ (ex. : fr.json pour le français).

Optimisation du flux de travail

Configuration des raccourcis

Adapter les raccourcis pour les outils courants (crayon, remplissage), la gestion des calques et le contrôle de l'animation.

Gestion efficace des palettes

Organiser les palettes par projet, alterner entre styles pour inspiration, et créer des palettes personnalisées à partir de modèles existants.

Automatisation par lots

Utiliser des scripts pour exporter des séquences en PNG/GIF, remplacer des couleurs en masse, ou redimensionner des sprites uniformément.

Dépannage et ressources communautaires

Résoluiton de problèmes

  • Consultez INSTALL.md pour les erreurs de compilation
  • SCRIPTING.md pour les problèmes de scripts
  • Theming.md pour la personnalisation

Parcours d'apprentissage

  1. Maîtriser les bases du dessin et de l'animation
  2. Approfondir les calques, scripts et palettes
  3. Contribuer à la communauté via le développement de plugins ou l'amélioration de la documentation

LibreSprite constitue une solution flexible et puissante pour la création d'animations en pixels, adaptée à divers contextes comme le jeu vidéo ou le design graphique.

Étiquettes: LibreSprite pixel animation open source editor JavaScript scripting pixel art tools

Publié le 8 juin à 19h27