[Unity] LeanTween le moteur d’animation gratuit indispensable !
LeanTween est un moteur d’animation gratuit pour Unity développé par Dented Pixel.
Présentation de LeanTween
Créez et personnalisez des animations, des pauses, des délais et des effets visuels en 1 seule ligne de code.
Voici un exemple :
LeanTween.moveX( gameObject, 1f, 1f).setEase(LeanTweenType.easeInQuad ).setDelay(1f);
Traduction : déplacement d’un gameObject en X vers la coordonnée 1, en 1 seconde, avec une courbe d’animation « InQuad » et un délai de 1 seconde.
Il est parfois très fastidieux de gérer des animations simples avec les fonctionnalités de bases. Laissez-tombez les « Coroutines » d’Unity et passez à LeanTween !
Pour moi c’est un des moteurs indispensables pour tous les développeurs de jeux vidéo. Il fait gagner un temps de développement considérable. Il est très simple à utiliser. Il est gratuit, rapide à installer, mais très puissant.
Beaucoup de développeurs jeux vidéo n’utilisent pas assez des effets et les animations pour créer des signes et des feedbacks. Le fait de rajouter ces détails donne une image moins « amateur ». Bref, ceci est un autre sujet, nous aurons l’occasion d’en reparler prochainement.
Les fonctionnalités de LeanTween :
- Animation en Translation : LeanTween.move
- Animation en Rotation : LeanTween.rotate
- Animation en Déformation : LeanTween.scale
- Changement de Couleur : LeanTween.rotate
- Changement d’opacité : LeanTween.alpha
- Interpolation de Valeurs : LeanTween.value
- Utilisation en 2D ou en 3D et en UI
- Courbes d’animations : .setEase
- Délais : .setDelay
- Pause et reprise : LeanTween.pause et LeanTween.resume;
- Boucles : setLoop()
- Etc.
Démonstration de LeanTween
Les délais
Déclencher une fonction après un certain délai :
LeanTween.delayedCall(gameObject, 1, end); private void end() { Debug.Log("end"); }
Les animations (Tweens)
Via un éditeur de code, il suffit de taper ces lignes pour déplacer un objet vers les coordonnées (1, 1, 1) en 1 seconde.
LeanTween.move ( gameObject, new Vector3 ( 1, 1, 1 ), 1 );
Pour rajouter des paramètres optionnels, il suffit de les ajouter à la suite. Exemple : Pour rajouter un délai de 1 seconde avant de jouer l’animation :
LeanTween.move ( gameObject, new Vector3 ( 1, 1, 1 ), 1 ).setDelay(1);
Enfin pour lancer une méthode à la fin de cette animation :
LeanTween.move ( gameObject, new Vector3 ( 1, 1, 1 ), 1 ).setDelay(1).setOnComplete(end); void end () { Debug.Log ( "Animation finie !" ); }
Les courbes d’animations
Ajoutez des courbes d’animations pour créer des effets d’accélérations, de décélération, de rebond, de fluidité, etc.
easeIn : courbe d’animation au début
easeOut : courbe d’animation à la fin
LeanTween.move ( gameObject, new Vector3 ( 1, 1, 1 ), 1 ).setEase(LeanTweenType.easeOutExpo);
Voici les autres courbes d’animations :
Les pauses et les stops
Arrêter, mettre en pause, terminer, reprendre toutes les animations et les délais :
// Supprime toutes les animations et délais LeanTween.cancelAll(); // Supprime toutes les animations et délais d'un gameObject seulement LeanTween.cancelAll(gameObject); // Met en pause toutes les animations LeanTween.pauseAll(); // Met en pause toutes les animations et délais d'un gameObject seulement LeanTween.pause(gameObject); // Même principe pour reprendre les animations LeanTween.resumeAll(); // Même principe pour reprendre les animations d'un gameObject seulement LeanTween.resume(gameObject);
Je vous laisse découvrir les autres fonctionnalités. Tout est listé dans la documentation ici.
Téléchargement et installation de LeanTween
Pour télécharger et installer LeanTween, utilisez le lien vers l’asset store : https://assetstore.unity.com/packages/tools/animation/leantween-3595
Ou directement depuis Unity3D :
- Ouvrez Unity3D
- Ouvrez la fenêtre de l’Asset Store
- Recherchez dans la barre recherche : LeanTween
- Cliquez sur le lien puis téléchargez et importez l’asset
Voilà, c’était un petit tour rapide de moteur d’animation gratuit pour Unity3D. N’hésitez pas à donner votre avis dans les commentaires et si des articles dans le genre vous intéresse, dite moi également.
Bon dev et à bientôt !