Assombrir une scène

Questions à propos du scripting Shader.
Avatar de l’utilisateur
Zhavina
Messages : 8
Inscription : 14 Nov 2014 14:21

Assombrir une scène

Message par Zhavina » 04 Déc 2014 03:48

Bonjour à vous !

Je me retrouve devant un nouveau petit souci avec Unity.

Je suis en train de faire un petit jeu (description ici : viewtopic.php?f=9&t=9351), et maintenant que j'en suis à l'éclairage je me suis rendu compte que ma scène est éclairée base avec une lumière, certes faible, mais que je ne peut pas modifier, en tout cas je ne trouve pas.
Ce qui fait que certaines zone que l'on ne devrais quasiment pas voir sans se pencher un peu plus sur ce qu'il y a sont ici clairement visible. Or les ténèbres sont une composante essentiel à ce que je souhaite créer avec ce jeu.

Est ce que vous savez comment modifier cette lumière par défaut ou alors une astuce pour assombrir ma scène ?

Merci d'avance.

Avatar de l’utilisateur
Silverglade
Messages : 264
Inscription : 04 Août 2012 17:52

Re: Assombrir une scène

Message par Silverglade » 04 Déc 2014 09:06

Hello,

Edit > Render Settings > Ambient light :)

Avatar de l’utilisateur
Zhavina
Messages : 8
Inscription : 14 Nov 2014 14:21

Re: Assombrir une scène

Message par Zhavina » 04 Déc 2014 15:29

Salut !

J'ai bien trouvé l'option cependant quand je modifie justement l'ambiant light, il n'y a que l'objet qui représente le first person controller qui change de couleur mais pas la scène, je met une image pour bien illustrer.

Image

edit : après petite vérification, certain de mes objets ont bien pris la couleur de l'ambiant light mais beaucoup d'autre non, savez vous d'où cela peut provenir ?

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

Re: Assombrir une scène

Message par boubouk50 » 04 Déc 2014 15:57

Quel shader tu as mis sur tes murs? Certains shaders ne prennent pas en compte la lumière ambiante.
"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
Zhavina
Messages : 8
Inscription : 14 Nov 2014 14:21

Re: Assombrir une scène

Message par Zhavina » 04 Déc 2014 16:01

C'est une texture que j'ai créée sur photoshop avec une normal map.
Mais tout les objets de ma scène ont une texture qui ont été créée à part de blender.

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

Re: Assombrir une scène

Message par boubouk50 » 04 Déc 2014 16:49

Le shader utilisé dans Unity pas la texture stp, le materiau si tu préfères
"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
Zhavina
Messages : 8
Inscription : 14 Nov 2014 14:21

Re: Assombrir une scène

Message par Zhavina » 04 Déc 2014 17:21

Ah autant pour moi, pour les mur c'est un shader/diffuse que j'utilise et pour tout le reste c'est un diffuse classique.
J'ai justement essayé de comparer ça mais j'ai pas trouvé d'options différentes.

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

Re: Assombrir une scène

Message par boubouk50 » 04 Déc 2014 18:13

Donc tu as un shader diffuse différent du diffuse classique? Est-ce nécessaire?
Peux tu éditer ce shader?
-> De tête, si tu n'as pas une ligne similaire à celle-ci, c'est que la lumière ambiante n'est pas prise en compte.

Code : Tout sélectionner

float4 AmbientColor = float4( 1, 1, 1, 1 );    // Ambient lighting color
Elle doit être additionnée à la couleur finale de sortie.

Tu peux aussi checker dans ce shader si tu as une ambient color qu'il te faudra mettre à la couleur désirée (proche du noir dans ton cas). (Dans ce cas le shader n'utilise pas la lumière ambiante mais une couleur spécifique ambiante)
"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
Zhavina
Messages : 8
Inscription : 14 Nov 2014 14:21

Re: Assombrir une scène

Message par Zhavina » 05 Déc 2014 14:57

Excuse moi, c'est un bumped diffuse que j'ai sur mon mur, je me suis trompé en écrivant.
Mais certains objets qui ont un diffuse classique justement ne prennent pas non plus la lumiere ambiante.

Sinon désolé mais comment je fait pour voir cette petite ligne de code ? Je débute avec Unity, je connais pas les options plus avancés comme celle çi ^^

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

Re: Assombrir une scène

Message par boubouk50 » 05 Déc 2014 15:03

Si tu as des objets ayant les mêmes shaders mais qui ne réagissent pas de la même manière à la lumière, le pb ne vient probablement pas du shader, à mon avis.
Je ne sais pas s'il existe des propriétés/component spécifiques qui empêchent à l'objet de réagir à la lumière ambiante.
Sinon pour info, en sélectionnant le shader, tu as un bouton Image edit pour l'ouvrir.
"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

Répondre

Revenir vers « les Shaders »