Sujet: Réaliser un effet brillant sur des textures 2d.
Difficulté:
Salut à tous !
J'ai réalisé il y a peu de temps un p'tit effet sympa 2d, à savoir la surbrillance animé des textures2d. J'ai parcouru les forums et j'ai rien trouvé sur ça, pour Unity.
Si vous voulez plus de détails, vous pouvez vous rendre à cette adresse:
http://addyosmani.com/blog/shinetime/
En gros c'est ça, comme un effet de brillance présent dans pas mal de jeux, surtout les jeux oldschool. Je vais vous détailler la procédure, les ressources nécessaires, ainsi qu'un exemple (et une démo si vous êtes sage ).
Vous pouvez retrouver le lien de mini tutoriel sur mon site en bas de page.
Le principe:
Le meilleur moyen de réaliser un tel effet, c'est de se servir d'un shader particulier, et de coupler ça à l'animation UV tiling d'une texture. Pour ceux qui ne savent pas, vous avez la doc, et plein d'exemple qui traitent de ce sujet.
http://docs.unity3d.com/Documentation/C ... erial.html
Le shader va prendre 2 textures, et utiliser le channel alpha pour découper l'image selon une autre, comme un masque.
Exemple:
Pré-requis:
- Shader:
http://cayou-prod.com/unity/AlphaTest-Diffuse.shader
- Exemples de textures:
La texture qui représente le reflet:
http://cayou-prod.com/images/shine2D.png
L'image de base:
http://cayou-prod.com/images/title.png
- Script:
http://cayou-prod.com/unity/Shine2DAnimation.cs
- HOTween. Si vous voulez utiliser mon code, il vous faudra HOTween, mais il ne me sert juste qu'à faire varier la variable de tiling, rien de plus. C'est juste pour des raisons pratiques.
http://www.holoville.com/hotween/download.html
Bien entendu, ces ressources sont libres
Utilisation:
Passons à la mise en pratique !
Créez deux planes 2d dans votre scène, l'un devant l'autre. Le plus près va recevoir notre shader spécial, ainsi que notre script Shine2DAnimation. Le second plane, derrière sera juste un plane avec un shader transparent, contenant l'image de base, notre titre.
Voilà à quoi ça doit ressembler pour l'instant:
Une fois les paramètres des planes changés comme expliqué (le fond avec la texture title en transparent/diffuse, et celui de devant avec la texture Shine2D et le shader Transparent/cutout/AlphaTest), voilà le résultat:
(ouvrez l'image dans un autre onglet pour l'avoir en entier)
Vous pouvez attribuer donc pour l'image en avant plan la texture du titre en première texture, et le Shine2D en seconde.
Vous appliquez le script sur le plane au 1er plan. Là vous pouvez paramétrer différentes valeurs, loop ou non, le temps entre chaque loop, le temps de l'animation.
Enfin la valeur min et max du tiling. Perso j'ai mis -1 et 0.6. Ça va dépendre sans doute de vos images, mais il faut que ça soit assez grand pour que le reflet sorte de l'image.
Une fois fait, il suffit de rajouter une lumière devant, en spotlight, pour rendre la texture du 1er plan plus lumineuse. Et vous pouvez lancer
Voici le résultat:
http://cayou-prod.com/unity/ShineExampl ... layer.html
Voici le package du projet, pour les fainéants
http://cayou-prod.com/unity/ShineExampl ... itypackage
N'hésitez pas à poser des questions, j'ai fais ça rapidos, il se pourrait que j'ai oublié des éléments importants.
Merci !
http://cayou-prod.com/?p=192&lang=fr
[2D] Animated Shiny Effect / Effet de brillance animé
[2D] Animated Shiny Effect / Effet de brillance animé
Dernière édition par cayou66 le 04 Oct 2012 13:25, édité 1 fois.
Re: [2D] Animated Shiny Effect / Effet de brillance animé
très bon, merci
Re: [2D] Animated Shiny Effect / Effet de brillance animé
Sympa.
Cela offre des perspectives intéressantes a ceux qui surf sur la 2d.
Merci.
Cela offre des perspectives intéressantes a ceux qui surf sur la 2d.
Merci.
Dés fois j'bug, dés fois j'bug pas.
Re: [2D] Animated Shiny Effect / Effet de brillance animé
Merci
SDO Technologiesd : http://www.sdotechnologies.com/
Re: [2D] Animated Shiny Effect / Effet de brillance animé
Sa rend super merci
Programmeur C# - JS- C++
Mon blog: https://www.blog.dinomaillet.fr/
Ma page: https://www.facebook.com/TacktylAppz
Mes jeux:
- Planet Guardian.
- Circle Reflex.
- Color Case.
Mon blog: https://www.blog.dinomaillet.fr/
Ma page: https://www.facebook.com/TacktylAppz
Mes jeux:
- Planet Guardian.
- Circle Reflex.
- Color Case.
Re: [2D] Animated Shiny Effect / Effet de brillance animé
J'aimerai en faire un truc plus simple d'utilisation, mais je vois pas trop comment. Ça serait cool aussi de l'intégrer à NGUI ou un autre truc.
Après, cette méthode est impossible avec le GUI d'unity de base.
Merci à vous
J'espère pouvoir faire plus de trucs et astuces à l'avenir
Après, cette méthode est impossible avec le GUI d'unity de base.
Merci à vous
J'espère pouvoir faire plus de trucs et astuces à l'avenir
Re: [2D] Animated Shiny Effect / Effet de brillance animé
Je pense faire prochainement un ensemble d'astuces (mini tuto, un peu comme celui là) pour réaliser un jeu 8bit style, avec certaines mécaniques qui donnent un effet old school que j'ai appris en essayant d'en faire un.
J'espère que ça vous plaira, et que vous pourrez même y contribuer.
Au delà de ça, je trouverai ça intéressant qu'on lance des sujets particuliers sur des thèmes, et que chacun apporte son astuce, selon l'expérience qu'il en a. Cela permettrait d'établir une sorte de base pour démarrer dans tel ou tel autre genre de jeu.
Jeux de rythmes, jeux de course, plateformes...Tous ces jeux ont des sortes de "règles" qui fondent le genre, et en les respectant, cela permet de bien se lancer dans l'aventure.
J'ai pensé au 8bit car c'est un genre qui m'est cher et qui est plutôt facile en mettre en place en solo.
J'espère que ça vous plaira, et que vous pourrez même y contribuer.
Au delà de ça, je trouverai ça intéressant qu'on lance des sujets particuliers sur des thèmes, et que chacun apporte son astuce, selon l'expérience qu'il en a. Cela permettrait d'établir une sorte de base pour démarrer dans tel ou tel autre genre de jeu.
Jeux de rythmes, jeux de course, plateformes...Tous ces jeux ont des sortes de "règles" qui fondent le genre, et en les respectant, cela permet de bien se lancer dans l'aventure.
J'ai pensé au 8bit car c'est un genre qui m'est cher et qui est plutôt facile en mettre en place en solo.