[DB - AL] Transition de couleurs qui ne marche pas

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
vertigo13
Messages : 20
Inscription : 18 Oct 2019 22:12

[DB - AL] Transition de couleurs qui ne marche pas

Message par vertigo13 » 21 Jan 2020 22:37

Bonjour,

j'ai récupéré un script sur le net pour faire changer la couleur d'un objet progressivement, mais je n'arrive pas à le faire marcher, il ne se passe rien. Voici le lien: https://www.youtube.com/watch?v=oNz4I0RfsEg
Le tuto est fait pour faire une transition de couleurs sur des sprites 2d, j'ai dû l'adapter pour mon cube.
Je précise que je ne sais pas me servir des coroutines mais le tuto semble plutôt clair.

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class blueRampReact : MonoBehaviour {

	void Start () 
	{	
		Color c = GetComponent<Renderer> ().material.color;
		c.a = 0f;
		GetComponent<Renderer> ().material.color = c;
	}

	void update()
	{
		if (Input.GetKey (KeyCode.Q)) 
		{
			StartFading ();
		}
	}

	IEnumerator FadeIn() 
	{
		for (float f = 0.05f; f <= 1; f += 0.05f) 
		{
			Color c = GetComponent<Renderer> ().material.color;
			c.a = f;
			GetComponent<Renderer> ().material.color = c;
			yield return new WaitForSeconds(0.05f);
		}
	}

	void StartFading()
	{
		StartCoroutine ("FadeIn");
	}
}
Si quelqu'un peut me dépanner... Merci d'avance.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par djulio74 » 21 Jan 2020 23:02

J'ai pas tout regardé en détail, et sans tester difficile à dire, mais à première vu tu ne modifie que le composant alpha ( c. a) de la couleur dans ton script. Un couleur c'est rgba, essaye avec c.r à la place, qui devrai faire varier le rouge.

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par Aelhan » 22 Jan 2020 08:07

Bonjour,

Je ne suis pas sûr de mon coup, mais dans ta boucle for tu as f<=1 ce ne serait pas plutôt f=1 qu'il faudrait ?
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par djulio74 » 22 Jan 2020 08:36

Aelhan a écrit :
22 Jan 2020 08:07
Bonjour,

Je ne suis pas sûr de mon coup, mais dans ta boucle for tu as f<=1 ce ne serait pas plutôt f=1 qu'il faudrait ?
non, c'est bien ça, pour chaque itération, de f = 0.05, tant que f <= 1 tu ajoute 0.05.

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par boubouk50 » 22 Jan 2020 09:24

Je rejoins Djulio,
Ce script est un FadeIn pas une transition, il est fait pour faire apparaître un objet. Il va agir sur l'alpha de la couleur diffuse (mainColor). Il faut donc l'appliquer sur un objet qui possède un matériau transparent (et pas cutout).
De base, le matériau est transparent, puis à l'appui de la touche Q, il devient opaque petit à petit en une seconde.
Il est à usage unique.
Si tu veux un autre comportement, il va falloir le modifier.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par Aelhan » 22 Jan 2020 14:02

djulio74 a écrit :
22 Jan 2020 08:36
non, c'est bien ça, pour chaque itération, de f = 0.05, tant que f <= 1 tu ajoute 0.05.
Hum, oui au temps pour moi petite confusion de ma part avec sans doute un langage plus ancien :/ prochain coup je vérifie avant de poster plutôt que l'inverse ;)
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par boubouk50 » 22 Jan 2020 14:46

Pas possible, f=1 est une affectation.
f==1 est une comparaison, c'est surement à cela que tu penses. Mais ça ne change rien, il vaut même mieux laisser la comparaison inférieure pour être sur de couper la boucle, car une comparaison de float peut ne jamais être résolue.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

vertigo13
Messages : 20
Inscription : 18 Oct 2019 22:12

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par vertigo13 » 22 Jan 2020 22:42

Merci pour ces réponses.

Faire un fade sur l'alpha ça m'intéresse aussi! Mais même comme ça le script ne donne rien. Quand je le passe en transparent, il reste comme ça.

Du coup je me demande si j'ai bien compris le genre de tranparence en question: est ce qu'on parle du rendering mode, avec les 4 options opaque / cutout / fade et tranparent ?

Boubouk50, quand tu dis que le script est à usage unique, tu veux dire qu'on ne peut l'appliquer qu'à un seul objet à la fois?

Merci

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB - AL] Transition de couleurs qui ne marche pas

Message par Max » 22 Jan 2020 22:52

Bonsoir,

Pour que ton script soit vraiment fonctionnel pour le tester, remplace void update() par void Update()
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

vertigo13
Messages : 20
Inscription : 18 Oct 2019 22:12

[RESOLU] Transition de couleurs qui ne marche pas

Message par vertigo13 » 22 Jan 2020 23:18

Merci Max, ça marche grâce à un petit U!

Du coup je peux aussi modifier la couleur, merci pour vous réponses.

Répondre

Revenir vers « (C#) CSharp »