Bonjour, c'est juste une petite question mais après de nombreuses recherches et essais je ne trouve pas la formule.
J'ai un projecteur avec un shader "Selection projector". J'aimerais atténuer sa luminosité en contrôlant par le script son falloff un peu comme on contrôle la couleur ou l'alpha d'un matériau mais je ne trouve pas.
Si quelqu'un sait ou peut m'aider.
Merci.
[RESOLU][MY-AL] Changer le falloff d'un projecteur
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
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
[RESOLU][MY-AL] Changer le falloff d'un projecteur
Dernière édition par EdLooping le 07 Déc 2017 19:25, édité 1 fois.
- boubouk50
- ModoGenereux
- Messages : 6216
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY-AL] Changer le falloff d'un projecteur
Salut,
Il faut aller chercher le matériau associé, pour récupérer les entrées du shader. Par contre, je ne sais pas quel type d'entrée est le falloff. Ce devrait être une texture, donc pas modifiable telle quelle. Tu as la liste ici:
https://docs.unity3d.com/ScriptReference/Material.html
Je ne vois pas comment est ce shader (si tu as une capture d'écran).
Ne peux-tu pas changer la couleur du projecteur plutôt? En la ternissant, si elle est en additif, elle devrait être mois lumineuse. Dans ce cas-là, il te faudra utiliser .GetColor ("NomDeLaCouleur"). Le nom de l'entrée est écrite dans le shader (ce pourrait être _Color)
Il faut aller chercher le matériau associé, pour récupérer les entrées du shader. Par contre, je ne sais pas quel type d'entrée est le falloff. Ce devrait être une texture, donc pas modifiable telle quelle. Tu as la liste ici:
https://docs.unity3d.com/ScriptReference/Material.html
Code : Tout sélectionner
GetComponent<Projector>().material.GetTexture ("_falloff"); //trouver le bon nom de l'entrée de texture
Ne peux-tu pas changer la couleur du projecteur plutôt? En la ternissant, si elle est en additif, elle devrait être mois lumineuse. Dans ce cas-là, il te faudra utiliser .GetColor ("NomDeLaCouleur"). Le nom de l'entrée est écrite dans le shader (ce pourrait être _Color)
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: [MY-AL] Changer le falloff d'un projecteur
Ok c'est bon merci. Grâce à ton aide !
Voici le shader :
Dans le shader on trouve ceci :
C'est donc le "falloff " qui m'intéresse.
Du coup pour y acceder :
J'ai pas testé encore mais ça devrait être bon.
Si je passe le sujet en résolu c'est que le test est concluant, sinon bah je reviendrai poster.
Merci !
Voici le shader :
Dans le shader on trouve ceci :
C'est donc le "falloff " qui m'intéresse.
Du coup pour y acceder :
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
void Start() {
GetComponent<Projector>().material.shader = Shader.Find("Projector/SelectionProjector");
}
void Update() {
rend.material.SetFloat("_Attenuation", 0.1f);
}
}
Si je passe le sujet en résolu c'est que le test est concluant, sinon bah je reviendrai poster.
Merci !
Re: [MY-AL] Changer le falloff d'un projecteur
Test concluant !
Encore merci
Encore merci