[Résolu]Tuto lightmapping FR

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
stigma
Messages : 1408
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

[Résolu]Tuto lightmapping FR

Message par stigma » 04 Jan 2016 10:48

Bonjour,
En dernier recours, je viens demander un coup de main ici. Je cherche sans succès un tuto EN FRANCAIS sur le lightmapping. Je ne trouve que des tutos en anglais et comme les auteurs parlent souvent à toute vitesse, je n'y comprend rien en fait.
Je dis "Lightmapping", mais est-ce que "render to Texture" est la même chose. Je m'y perds un peu dans tout ça. Dans mon projet, je pense être obligé de passer par là pour ma scène principale car les batches (anciennement Dawcalls ?) grimpent à 7 ou 8000.
J'ai essayé en ouvrant la fenêtre Lighting et Unity me demande "Lighting Date Asset" mais il n'y en a pas, alors que j'ai 3 DirectionLight dans la scène. Bref, je patauge pas mal depuis quelques semaines.
Merci d'avance pour le coup de main.
Dernière édition par stigma le 17 Jan 2017 11:25, édité 1 fois.

Le_duke
Messages : 28
Inscription : 18 Juin 2010 10:55

Re: Tuto lightmapping FR

Message par Le_duke » 05 Jan 2016 20:52

Salut,

Pour commencer à ma connaissance le terme "render to Texture" ne concerne pas ce qui est lightmapping mais ça concerne plutôt le cas ou tu veux faire le rendu de ce que voit une camera dans une texture voir : http://docs.unity3d.com/Manual/class-RenderTexture.html

Pour ce qui est du lightmapping dans unity 5 je ne connais pas de tuto en Français mais si ça t'aide tu a un tuto texte en Anglais ici : http://sassybot.com/blog/lightmapping-in-unity-5/


Les DrawCalls et les batches ne représente pas exactement la même chose mais en gros c'est pareil il faut mieux en avoir le moins possible ;-)
Le truc c'est que si tu est à 7-8K batches je ne pense pas que ça viennent juste du lighting.

Essaye de réduire le nombre d'objet, de light, de shaders etc.

Tu a quoi dans ta scène pour avoir autant de batches ?

Avatar de l’utilisateur
stigma
Messages : 1408
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: Tuto lightmapping FR

Message par stigma » 06 Jan 2016 10:35

Voici une vue de dessus. Plusieurs bâtiments, végétation, herbe, océan Water4, 6 ou 7 lights, 3 light directionnelles. J'ai enlevé le fog pour la vue.
Image

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Tuto lightmapping FR

Message par Iwa » 06 Jan 2016 13:14

Salut à toi,

est-ce que tes arbres sont des préfabs ou au moins des instances (tous les arbres identiques pointe sur le mm mesh)
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Avatar de l’utilisateur
stigma
Messages : 1408
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: Tuto lightmapping FR

Message par stigma » 06 Jan 2016 14:10

Je ne suis pas sûr. Souvent des préfabs, mais parfois un copier/coller. Comment savoir après coup si un arbre est un prefab ou une copie ?
Autre chose. Quand la caméra pointe vers l'océan, j'ai 500 batches et quand ça pointe vers le centre de l'île j'ai 5000.
Si je désactive toute la végétation, ça tombe à 2500
Je me suis aperçu que j'avais souvent une douzaine de lignes ajoutées dans la hierarchy "Water4AdvancedRelfectionWater Refr Camera"
Quand je les supprime, elles reviennent toujours. C'est normal ? (ça n'influe pas sur le nombre de batches)

Après avoir mis tous les objets en static, j'ai cette erreur :
Not allowed to call GetTriangles() on mesh 'Combined Mesh (root: scene)'
UnityEngine.Mesh:GetTriangles(Int32)
MeshCombineUtility:Combine(MeshInstance[], Boolean) (at Assets/Standard Assets/Scripts/Utility Scripts/MeshCombineUtility.cs:156)
CombineChildren:Start() (at Assets/Standard Assets/Scripts/Utility Scripts/CombineChildren.cs:83)

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Tuto lightmapping FR

Message par Iwa » 06 Jan 2016 15:12

stigma a écrit :Je ne suis pas sûr. Souvent des préfabs, mais parfois un copier/coller. Comment savoir après coup si un arbre est un prefab ou une copie ?
Facile un préfab c'est bleu, un prefab cassé c'est rouge, un objet lambda c'est gris/blanc
stigma a écrit :Autre chose. Quand la caméra pointe vers l'océan, j'ai 500 batches et quand ça pointe vers le centre de l'île j'ai 5000.
Si je désactive toute la végétation, ça tombe à 2500
Je me suis aperçu que j'avais souvent une douzaine de lignes ajoutées dans la hierarchy "Water4AdvancedRelfectionWater Refr Camera"
Quand je les supprime, elles reviennent toujours. C'est normal ? (ça n'influe pas sur le nombre de batches)

Après avoir mis tous les objets en static, j'ai cette erreur :
Not allowed to call GetTriangles() on mesh 'Combined Mesh (root: scene)'
UnityEngine.Mesh:GetTriangles(Int32)
MeshCombineUtility:Combine(MeshInstance[], Boolean) (at Assets/Standard Assets/Scripts/Utility Scripts/MeshCombineUtility.cs:156)
CombineChildren:Start() (at Assets/Standard Assets/Scripts/Utility Scripts/CombineChildren.cs:83)
Ca c'est un truc à propos du package de water, si ça revient c'est une boulette dans l'update mais je ne saurai pas trop te dire. C'est oas ça qui te fiche la mouise. 500 batch pour la mer c'est déjà bien fat.

La végétation est à retravaillée du coup pour descendre à fond en batch. Tes arbres sont modélisés comment? Arbres plaques avec textures cutout? Modéliser à fond. Un arbre seul pèse combien de batch?
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Avatar de l’utilisateur
stigma
Messages : 1408
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: Tuto lightmapping FR

Message par stigma » 06 Jan 2016 16:17

Tous mes arbres et buissons sont en bleu.
Voici la tronche d'un arbre
Image
Par la suite, je suis tenté de remplacer water4 par cet Asset réaliste et pas cher
https://www.assetstore.unity3d.com/en/#!/content/51770

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Tuto lightmapping FR

Message par Iwa » 06 Jan 2016 16:27

Ahhhhhh c'est des Tree Unity... God dammit. Je sais pas du tout comment optimiser ça, c'est hyper lourd cette méthode pour faire des arbres temps réel.

Pour l'eau à voir, le rendu à l'air chouette, après est-ce que ça rend un peu de batch à ta machine c'est pas dis. A voir
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Avatar de l’utilisateur
simonj
Messages : 293
Inscription : 29 Nov 2015 20:47
Localisation : Lyon

Re: Tuto lightmapping FR

Message par simonj » 06 Jan 2016 16:30

C'est normal que tu ais l'erreur car tes arbres sont construit procéduralement à partir de différents mesh par le tool Unity. Or si tu les mets en static ils ne peuvent plus être modifié. Donc le script de génération ne peux plus accéder aux vertices et triangles du mesh pour pouvoir les combiner les différentes parties.

Après au niveau du batch je n'y connais pas grand chose. Mais le nombre important pourrais peut être venir du fait qu'un arbre est constitué de plusieurs mesh combiné et donc que ça se fait sur chaque mesh, et non uniquement sur le mesh combiné ? Surtout que que visiblement tu ne fonctionne pas avec un prefab, donc ça doit décupler encore plus le nombre batch... ?

Avatar de l’utilisateur
stigma
Messages : 1408
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: Tuto lightmapping FR

Message par stigma » 06 Jan 2016 16:33

Alors les arbres de Unity seraient donc trop lourds ? Je suis près à les supprimer et les faire avec autre chose. Que me conseillez-vous comme solution ayant un bon rapport réalisme/performances ?

Répondre

Revenir vers « Unity le logiciel »