problème de lumière dans unity
problème de lumière dans unity
Bonjour a tous,
Je suis nouveau sur unity et j'ai un problème avec l'affichage de mon décors lorsque je mets des lumières.
Lorsque j'importe mon décors en FBX depuis 3DS max et que je créer des light il y a des cassure très nettes entre chaque "modules"
j'ai créé mon décors de façon a pouvoir réutiliser chaque parties (un sol, un toit, un mur, un mur avec porte, un mur avec fenêtre etc...)
que j'ai dupliqué pour former les couloirs.
voilà ce que ca donne :
En testant plusieurs choses j'en suis arrivé a modifier les options de la lumière et une chose fixe en parti le problème, je change render mode "Auto" en "Important" :
Il reste quand même des petits problèmes sur le sol (un fin trait clair)
Je voudrais comprendre pourquoi ca me fait ca alors que j'ai vu des tutos ou les gens ne touchaient pas aux option de la lampe et ca marche très bien.
Merci d'avance à tous
Je suis nouveau sur unity et j'ai un problème avec l'affichage de mon décors lorsque je mets des lumières.
Lorsque j'importe mon décors en FBX depuis 3DS max et que je créer des light il y a des cassure très nettes entre chaque "modules"
j'ai créé mon décors de façon a pouvoir réutiliser chaque parties (un sol, un toit, un mur, un mur avec porte, un mur avec fenêtre etc...)
que j'ai dupliqué pour former les couloirs.
voilà ce que ca donne :
En testant plusieurs choses j'en suis arrivé a modifier les options de la lumière et une chose fixe en parti le problème, je change render mode "Auto" en "Important" :
Il reste quand même des petits problèmes sur le sol (un fin trait clair)
Je voudrais comprendre pourquoi ca me fait ca alors que j'ai vu des tutos ou les gens ne touchaient pas aux option de la lampe et ca marche très bien.
Merci d'avance à tous
Re: problème de lumière dans unity
Salut.
Effectivement il te faudra mettre toutes tes lampes en "render mode important".
Tu peux aussi essayer de jouer avec le calcul des normals de tes meshes.
Selectionne ton meshe, et dans l'inspector tu peux jouer avec normals et tangents que tu peux calculer.
Cela avait résolu le même problème que le tiens, dans une situation identique.
Effectivement il te faudra mettre toutes tes lampes en "render mode important".
Tu peux aussi essayer de jouer avec le calcul des normals de tes meshes.
Selectionne ton meshe, et dans l'inspector tu peux jouer avec normals et tangents que tu peux calculer.
Cela avait résolu le même problème que le tiens, dans une situation identique.
Dés fois j'bug, dés fois j'bug pas.
Re: problème de lumière dans unity
Merci pour cette réponse rapide !
J'ai essayé aussi de jouer avec les Normals et Tangents mais ca ne marche pas...
je comprends vraiment pas d'ou ca peut venir et d'un côté ca me gène car ce veut dire que quelque chose cloche.
Changer l'option des lampes en "important" a quel impact sur le jeu ?
J'ai essayé aussi de jouer avec les Normals et Tangents mais ca ne marche pas...
je comprends vraiment pas d'ou ca peut venir et d'un côté ca me gène car ce veut dire que quelque chose cloche.
Changer l'option des lampes en "important" a quel impact sur le jeu ?
Re: problème de lumière dans unity
As tu bien regardé que t'es murs ne se chevauchent pas ? Et as tu regardé si une fois le jeu compilé le problème persiste ?
Sinon ça viens peut être des lumières dynamiques, essaye de mettre tes décors et tes lumières en static
Sinon ça viens peut être des lumières dynamiques, essaye de mettre tes décors et tes lumières en static
Lead Environment Artist - Freelance
Mon portfolio : https://www.artstation.com/florianboue
Mon portfolio : https://www.artstation.com/florianboue
Re: problème de lumière dans unity
Non mes murs ne se chevauchent pas, et je ne sais même pas ce qu'est compiler le jeu...désolé.
et je ne sais pas non plus comment changer les lumières dynamiques à static, mais je vais me renseigner et essayer.
et je ne sais pas non plus comment changer les lumières dynamiques à static, mais je vais me renseigner et essayer.
Re: problème de lumière dans unity
Salut,
Ces bordures entre les éléments sont principalement liées aux normales de tes meshes, peux tu envoyer une image en fil de fer d'un de tes éléments de décors (ou mieux, une version obj de l'un deux) pour que je puisse vérifier un truc.
Ensuite, la différence entre les mode "important" et "not important" des lumières :
- en mode "Important", les objets éclairés par cette lumières seront rendu avec un éclairage calculé pixel par pixel : cela permet d'avoir des éclairages plus précis, mais aussi plus gourmands
- en mode "Not important", là l'éclairage sera simplement calculé pour les vertex du meshes, et ensuite ces valeurs seront interpolées pour tous les pixels se trouvant entre eux, c'est beaucoup plus rapide car le cacul "lourd" de l'éclairage n'est plus fait pixel par pixel... et c'est donc moins précis.
- en mode "Auto" Unity se débrouillera pour déterminer automatiquement si la lumière peut être passée en "Important" ou non, and fonction du nombre de "Pixel lights" simultanées spécifié dans les "Quality settings" du projet.
Ce nombre de pixel lights simultanées correspond au nombre de lights pour un mesh donné : Si par exemple on a un maximum de 2 pixels lights dans les paramètres de qualité, et que notre mesh est éclairé par 5 lights, Unity va se débrouiller pour détecter quelles sont les deux lights ayant le plus d'influence sur le mesh (en tenant compte de sa bounding box, de la position, de l'intensité et du range des lights) et les passer en rendu "Important" (si elles sont en auto), et toutes les autres seront rendues en mode "Not important".
Mais là, pour ton cas précis, le souci vient à mon avis en priorité des normales du mesh, c'est pour ça que j'ai besoin de l'inspecter pour te dire exactement où ça cloche.
Ces bordures entre les éléments sont principalement liées aux normales de tes meshes, peux tu envoyer une image en fil de fer d'un de tes éléments de décors (ou mieux, une version obj de l'un deux) pour que je puisse vérifier un truc.
Ensuite, la différence entre les mode "important" et "not important" des lumières :
- en mode "Important", les objets éclairés par cette lumières seront rendu avec un éclairage calculé pixel par pixel : cela permet d'avoir des éclairages plus précis, mais aussi plus gourmands
- en mode "Not important", là l'éclairage sera simplement calculé pour les vertex du meshes, et ensuite ces valeurs seront interpolées pour tous les pixels se trouvant entre eux, c'est beaucoup plus rapide car le cacul "lourd" de l'éclairage n'est plus fait pixel par pixel... et c'est donc moins précis.
- en mode "Auto" Unity se débrouillera pour déterminer automatiquement si la lumière peut être passée en "Important" ou non, and fonction du nombre de "Pixel lights" simultanées spécifié dans les "Quality settings" du projet.
Ce nombre de pixel lights simultanées correspond au nombre de lights pour un mesh donné : Si par exemple on a un maximum de 2 pixels lights dans les paramètres de qualité, et que notre mesh est éclairé par 5 lights, Unity va se débrouiller pour détecter quelles sont les deux lights ayant le plus d'influence sur le mesh (en tenant compte de sa bounding box, de la position, de l'intensité et du range des lights) et les passer en rendu "Important" (si elles sont en auto), et toutes les autres seront rendues en mode "Not important".
Mais là, pour ton cas précis, le souci vient à mon avis en priorité des normales du mesh, c'est pour ça que j'ai besoin de l'inspecter pour te dire exactement où ça cloche.
Re: problème de lumière dans unity
Salut,
Merci pour ces explication précise !
j'essaye de mettre le .OBJ en fichier joint mais ca ne marche pas, serais tu d'accord pour me communiquer ton email ou skype (ou ce qui t’arrange) en message privé
pour que je puisse te l'envoyer ?
Merci pour ces explication précise !
j'essaye de mettre le .OBJ en fichier joint mais ca ne marche pas, serais tu d'accord pour me communiquer ton email ou skype (ou ce qui t’arrange) en message privé
pour que je puisse te l'envoyer ?
Re: problème de lumière dans unity
met le dans un zip, ça devrait passer en pièce jointe
Re: problème de lumière dans unity
Bon, j'ai vu le fichier obj... je n'ai pas trouvé le souci auquel je m'attendais : des polygones en trop dans la tranche des objets qui auraient pu dévier les normales, mais un autre souci qui explique tes ennuis visuel.
Voici un détail de ton objet éclairé avec une light en mode "Important", comme l'éclairage est calculé pour chaque pixel, on ne note aucun souci :
Si on passe la light en "Not important", donc du vertex lighting, ça donne ceci :
Et là on voit bien les soucis apparaitre aux jonctions, alors que les normales du mesh sont bonnes.
Si on passe la vue en wireframe, on constate alors que chaque zone problématique possède un vertex qui ne se retrouve pas sur le bloc voisin.
Comme la lumière est calculée uniquement pour chaque vertex, et qu'elle est interpolée entre eux le reste du temps, on se retrouve avec des zones où l'éclairage est plus précis qu'à d'autres endroits où la densité de vertex est moins importante.
Pour rectifier ça, il faut s'assurer que tous les blocs destinés à être mis bout à bout ont des bordures identiques en ce qui concerne la répartition des vertex.
Voici un détail de ton objet éclairé avec une light en mode "Important", comme l'éclairage est calculé pour chaque pixel, on ne note aucun souci :
Si on passe la light en "Not important", donc du vertex lighting, ça donne ceci :
Et là on voit bien les soucis apparaitre aux jonctions, alors que les normales du mesh sont bonnes.
Si on passe la vue en wireframe, on constate alors que chaque zone problématique possède un vertex qui ne se retrouve pas sur le bloc voisin.
Comme la lumière est calculée uniquement pour chaque vertex, et qu'elle est interpolée entre eux le reste du temps, on se retrouve avec des zones où l'éclairage est plus précis qu'à d'autres endroits où la densité de vertex est moins importante.
Pour rectifier ça, il faut s'assurer que tous les blocs destinés à être mis bout à bout ont des bordures identiques en ce qui concerne la répartition des vertex.
Re: problème de lumière dans unity
ah d'accord !
Je vais essayer de refaire les mesh pour que les jointures soient identique.
Mais sur le sol les vertex sont pareils a chaque jointures et pourtant il y a une coupure aussi...
Merci pour ton aide, je fait le test et je te dirais si ca a marché
Je vais essayer de refaire les mesh pour que les jointures soient identique.
Mais sur le sol les vertex sont pareils a chaque jointures et pourtant il y a une coupure aussi...
Merci pour ton aide, je fait le test et je te dirais si ca a marché