[RESOLU][MY-AL] Changer le falloff d'un projecteur

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
EdLooping
Messages : 49
Inscription : 07 Juin 2017 01:53

[RESOLU][MY-AL] Changer le falloff d'un projecteur

Message par EdLooping » 07 Déc 2017 17:02

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.
Dernière édition par EdLooping le 07 Déc 2017 19:25, édité 1 fois.

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

Re: [MY-AL] Changer le falloff d'un projecteur

Message par boubouk50 » 07 Déc 2017 17:19

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

Code : Tout sélectionner

GetComponent<Projector>().material.GetTexture ("_falloff"); //trouver le bon nom de l'entrée de texture
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)
"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

EdLooping
Messages : 49
Inscription : 07 Juin 2017 01:53

Re: [MY-AL] Changer le falloff d'un projecteur

Message par EdLooping » 07 Déc 2017 19:09

Ok c'est bon merci. Grâce à ton aide !

Voici le shader :

Image

Dans le shader on trouve ceci :

Image

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);
    }
}
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 !

EdLooping
Messages : 49
Inscription : 07 Juin 2017 01:53

Re: [MY-AL] Changer le falloff d'un projecteur

Message par EdLooping » 07 Déc 2017 19:24

Test concluant !

Encore merci ;)

Répondre

Revenir vers « (C#) CSharp »