Lumière qui traverse une paroi

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Lumière qui traverse une paroi

Message par freepl » 28 Mars 2022 15:06

Bonjour

Je poste ici car je ne sais pas si cela fait partie des shader.
J'ai un véhicule qui éclaire une paroi. Derrière celle-ci se trouve une deuxième , elle est également éclairée alors que
l'objet est déclaré collider. La partie éclairée de droite ne devrait pas l'être
Z076.jpg
Z076.jpg (190.85 Kio) Consulté 2446 fois
Voici les caractéristiques de cet objet avec son mesh collider.
D'où vient le bug ?
Merci
Z078.jpg
Z078.jpg (248.68 Kio) Consulté 2446 fois

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

Re: Lumière qui traverse une paroi

Message par boubouk50 » 28 Mars 2022 17:26

La lumière n'a rien à voir avec les collisions mais avec le MeshRenderer.
Il faut que les objets sensés bloquer la lumière aient leur propriété cast shadows activée dans l'onglet Lighting de leur MeshRenderer,
https://docs.unity3d.com/Manual/class-MeshRenderer.html
"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
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Lumière qui traverse une paroi

Message par freepl » 29 Mars 2022 11:55

Bonjour

Le cast shadow est activé pour les matériaux.
ScreenShot006.jpg
ScreenShot006.jpg (30.29 Kio) Consulté 2377 fois
Dans le lien il est dit d'ouvrir cet onglet
""(menu: Window > Rendering > Lighting).""

J'ai malheureusement unity 4.6.7
ScreenShot007.jpg
ScreenShot007.jpg (61.25 Kio) Consulté 2377 fois

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

Re: Lumière qui traverse une paroi

Message par boubouk50 » 29 Mars 2022 14:57

freepl a écrit :
29 Mars 2022 11:55
J'ai malheureusement unity 4.6.7
Ouais, alors là ça va devenir compliqué de t'aider sur une version d'Unity plus supportée depuis plus de 5 ans... Même Unity a retirer la documentation...

Il faut que tes MeshRenderers soient en cast shadows, que tes lumières soient configurées pour projeter aussi des ombres (une propriété du Component Light) et que dans les Quality Settings, les ombres soient aussi correctement configurées.
"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
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Lumière qui traverse une paroi

Message par freepl » 29 Mars 2022 15:32

Pour les Quality setttings j'ai mis ça mais j'ai également testé en augmentant tous au maximum sans changement.
ScreenShot008.jpg
ScreenShot008.jpg (62.08 Kio) Consulté 2362 fois
et mes lights ont bien les shadow de validés
j'ai mis deux spots pour les phares
ScreenShot009.jpg
ScreenShot009.jpg (53.26 Kio) Consulté 2362 fois

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

Re: Lumière qui traverse une paroi

Message par boubouk50 » 29 Mars 2022 18:11

C'est comme le port salut, c'est écrit dessus.

Only directional lights have shadows in forward rendering
Seules les lumières directionnelles projettent des ombres en Forward rendering. Tu utilises des spots donc pas d'ombres.

Il te faut passer en deferred (mais là, je ne sais pas ce que ça implique)

Aussi le light count est à 30 (et c'est beaucoup déjà) ce qui veut dire que seules 30 lights vont être prises en compte pour les lumières. Si tu en as plus dans ta scène, certaines ne fonctionneront pas non plus.
"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
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Lumière qui traverse une paroi

Message par freepl » 29 Mars 2022 19:56

Bonjour

le deffered a résolu le pb des lumières mais il y a un effet de moirure.
Merci :super:

Pour les directionnal light , cela éclaire toute la scène.
Si j'en mets à la place des spots la scène aura autant de "soleil" que de phare de véhicule.
image avec les spots
ScreenShot010.jpg
ScreenShot010.jpg (185.72 Kio) Consulté 2327 fois
Si je mets 2 Directionnal lights, j'ai 2 "soleils" en plus dans ma scène qui faussent les ombres réelles dues au vrai soleil de la maquette. Ici la face de dessus se trouve éclairée alors qu'elle ne le doit pas.
ScreenShot011.jpg
ScreenShot011.jpg (116.46 Kio) Consulté 2327 fois

Concernant le light count, je dois mettre environ une vingtaine de véhicules, donc je devrais même mettre 40 ou 50 au light count.

j'en profite en voyant l'image du haut.
J'ai un effet de "moirure" sur la maquette (les vaguelettes).

J'ai mis ces paramètres dans Quality mais je n'arrive pas à trouver ce que je dois modifier.
ScreenShot013.jpg
ScreenShot013.jpg (94.59 Kio) Consulté 2318 fois
Dernière édition par freepl le 29 Mars 2022 20:37, édité 1 fois.

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Lumière qui traverse une paroi

Message par freepl » 29 Mars 2022 20:28

image des moirures
Pièces jointes
ScreenShot015.jpg
ScreenShot015.jpg (61.11 Kio) Consulté 2317 fois

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

Re: Lumière qui traverse une paroi

Message par boubouk50 » 30 Mars 2022 10:02

freepl a écrit :
29 Mars 2022 19:56
Pour les directionnal light , cela éclaire toute la scène.
Si j'en mets à la place des spots la scène aura autant de "soleil" que de phare de véhicule.
image avec les spots
Le but de passer en deferred est de pouvoir garder tes spots justement. Ne mets pas d'autres directional lights dans la scène autre que le soleil. Elles envoient une lumière monodirectionnelle global alors que tu veux un cône ce que te donne le spot.
freepl a écrit :
29 Mars 2022 19:56
Concernant le light count, je dois mettre environ une vingtaine de véhicules, donc je devrais même mettre 40 ou 50 au light count.
Là, je ne connais pas la limite et les implications en terme de performance mais a priori le deferred s'en fout un peu du compte, donc teste avec un nombre suffisant.
freepl a écrit :
29 Mars 2022 19:56
j'en profite en voyant l'image du haut.
J'ai un effet de "moirure" sur la maquette (les vaguelettes).
Ca peut être le shadow mapping, dans ce cas, ça se règle dans le bias des lights. Pense aussi à limiter l'action de tes spots à quelques dizaines de mètres pour ne pas interagir trop loin et créer des ombres à perpète.
Sinon peut etre le manque de mipmapping ou de filtre sur les textures.
freepl a écrit :
29 Mars 2022 19:56
J'ai mis ces paramètres dans Quality mais je n'arrive pas à trouver ce que je dois modifier.
Je te dirai d'aller lire la documentation qui explique tout...
Tu as désactivé les textures anisotropiques qui permettent de filtrer (et donc lisser) les textures au loin. Tu devrais les remettre. Force On permet de les forcer à se filtrer.
L'antialiasing lisse aussi le résultat, mais de façon globale.
Tu pourrais aussi activer les cascades qui te permettent d'avoir plusieurs niveaux d'ombres donc plus de qualité.

Tout ceci est bien sur légèrement coûteux sur les performances.
"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
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: Lumière qui traverse une paroi

Message par freepl » 30 Mars 2022 13:18

C'est le bias qu'il faut modifier.
Pour mon "soleil" je l'ai mis à 2.

Pour les feux des véhicules , j'ai diminué Strength et monté le bias à 1.
Plus d'effet de moirure sur toute les surface éclairées par le soleil, et idem pour la route sous le tunnel éclairée par les vehicules.
Z084.jpg
Z084.jpg (59.3 Kio) Consulté 2160 fois
Sur cette image j'ai tous les paramètres de quality à fond et tout est ok. Pas de moirure ni de lumière qui traverse la mesh.
Z085.jpg
Z085.jpg (132.22 Kio) Consulté 2160 fois
A quoi correspond exactement le BIAS ?

Merci

Répondre

Revenir vers « Unity le logiciel »