Besoin de conseils graphismes et performances

Toutes les questions sur le développement Mobile, y compris la partie script.
Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Besoin de conseils graphismes et performances

Message par boubouk50 » 01 Oct 2018 12:11

Alors, oui c'est faisable, mais je ne pense pas que ce le soit de base dans Unity. Unity fait déjà pas mal de Batching pour l'optimisation, mais ne m'étant pas encore penché dessus, je ne peux te répondre justement.
Il y a Mesh Baker de Ian Deane, sur l'Asset Store (payant) et probablement d'autres.
Pour les skinned Meshes, certains ce sont creusés la tête.
https://forum.unity.com/threads/script- ... es.123649/

Après, il ne faut pas voir que les combinaisons de Mesh. Il y a aussi les tailles des textures, la redondance de scripts lourds, les canvas, l'utilisation abusive d'effets, etc.
"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
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Besoin de conseils graphismes et performances

Message par DJ-OMZ » 08 Oct 2018 18:52

Bonjour, je reviens sur topic car j'aimerais bien avoir quelques informations, je dois avouer que la je ne comprends pas ce qu'il se passe :

Sur ma scène, j'ai utilisé la méthode du combine meshes sur chaque objet qui avait la même couleur et qui faisait parti du décor (statique).

Chaque gameObject qui utilise le combine meshes a été mis dans un empty gameObject que j'ai appelé Decor.
Dans Decor, il y a au total 7 gameObjects : Vert pour tout ce qui est vert, jaune pour tout ce qui est jaune ect...

Je suis passé de 600 a 200 Drawcalls. Quand je joue ma scène sur mon PC, c'est totalement fluide.
Par contre lorsque je la lance sur mon tel, j'ai une perte de fluidité... Je décoche le gameObject Decor afin de rendre invisible les éléments du décor, et la, sur mon téléphone, c'est totalement fluide...

Pourtant, selon le Profiler, sans Décor, je suis a 226 DrawCalls, et avec je suis a 247.

Les éléments du décor sont des objets créés sur Unity, des sphères, des cubes, ils n'ont pas d'Animator, de Box Colliders...
Avez-vous une idée d’où cela peut venir ?

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: Besoin de conseils graphismes et performances

Message par Liven » 08 Oct 2018 19:31

Y a t'il de la semi transparence sur tes objet (alpha inférieur à 1)?

Utilise tu bien des shaders pour mobile et pas les shader standard?
Vérifie dans ton matériau que le menu déroulant du haut mène bien à un shader de la section mobile.

Sinon utilise tu une lumière pour éclairer tes objets?
Sur mobile souvent on utilise pas de lumière mais à la place on utilise des shader "unlit" dans les matériaux. Il y en a une dans la section mobile des shaders et si vraiment tu doit utiliser une lumière la shader diffuse est la moins gourmande il me semble.

Sinon tes sprites/textures ont ils une taille raisonnable (genre pas des sprites/texture 1024 pour des petits objets)?
Tu peux limiter leur taille dans les propriété de chaque sprite/texture dans le champ "max size" (bon ça joue plutôt sur la mémoire, mais pour les mobiles c'est aussi important) après à toi de trouver pour chacun de tes sprites/texture la taille mini que tu peux leur mettre sans trop perdre en qualité visuelle.

Sinon +200 drawcall sans les décors ça me parait beaucoup (après apparemment c'est le décors qui pose problème donc concentre toi déjà dessus).

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Besoin de conseils graphismes et performances

Message par DJ-OMZ » 09 Oct 2018 12:56

Liven a écrit :
08 Oct 2018 19:31
Y a t'il de la semi transparence sur tes objet (alpha inférieur à 1)?
Ou est-ce que je peux voir cela ? Si c'est via son Material, alors non, aucun n'est transparent...
Liven a écrit :
08 Oct 2018 19:31
Utilise tu bien des shaders pour mobile et pas les shader standard?
Vérifie dans ton matériau que le menu déroulant du haut mène bien à un shader de la section mobile.
J'utilisais des shaders standart, mais du coup j'ai modifié en utilisant les shaders mobile, et une texture de 1 pixel (en gros une couleur verte, rose, blanche selon le besoin), et le problème reste présent...
Liven a écrit :
08 Oct 2018 19:31
Sinon utilise tu une lumière pour éclairer tes objets?
Sur mobile souvent on utilise pas de lumière mais à la place on utilise des shader "unlit" dans les matériaux. Il y en a une dans la section mobile des shaders et si vraiment tu doit utiliser une lumière la shader diffuse est la moins gourmande il me semble.
J'ai pas tout a fait compris... J'utilise une directional light, sans avoir touché a la configuration.

Je confirme que quand je décoche le decor et que je lance le jeu sur mon tel, c'est absolument impec... Serai-ce parce qu'il y a trop d'objets ?

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

Re: Besoin de conseils graphismes et performances

Message par boubouk50 » 09 Oct 2018 13:13

Il faut éviter les meshs supérieurs à 65535 triangles (la limite)
Combien de triangles composent ton environnement au total?
"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
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: Besoin de conseils graphismes et performances

Message par Liven » 09 Oct 2018 13:48

Pour l'histoire des lumières, désactive celle que tu as créé (pas besoin de la supprimer, tu la "décoche" en haut à gauche dans son inspector)
Puis tu remplace tes shaders dans chacun de tes matériaux de décors : dans chaque matériaux de tes décors tu sélectionne "Mobile / unlit (support lightmap)" dans le menu déroulant du haut.

Le résultat visuel risque d'être un peu dégueu (puisque fait rapidement juste pour test), mais si les perfs remontent tu saura que le problème viens de là.

Sinon un (ou des) petit screen de ton environnement qui pose problème serait bien venu, car des fois il y a des choses auxquels ont ne pense pas, mais qui sautent aux yeux quand on vois la scène.

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Besoin de conseils graphismes et performances

Message par DJ-OMZ » 09 Oct 2018 13:51

boubouk50 a écrit :
09 Oct 2018 13:13
Il faut éviter les meshs supérieurs à 65535 triangles (la limite)
Combien de triangles composent ton environnement au total?
Euuuuuuh je crois que bingo.

Sans le decor :Tris 3.8k Verts 7.9k
Avec decor : Tris 357.6k Verts 248.7k

Au passage j'utilisais 2 directional lights et avec une seule je passe de 200 Drawcalls a une 20aine...

J'ai fait mes décors en utilisant les spheres de unity, j'imagine que je me suis planté royalement c'est bien ça ? (J'ai fait des fleurs avec 6 spheres, une au milieu qui est la "graine" et 5 étendues qui font pétales...

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Besoin de conseils graphismes et performances

Message par DJ-OMZ » 09 Oct 2018 13:57

Image

Voila ma scène. chaque fleur, c'est 6 spheres, et le soucis viens de la, j'en suis quasiment sur.

Je vais les remplacer par les spheres de ProBuilder qui ont peut de triangles (moins), et voir le résultat.

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

Re: Besoin de conseils graphismes et performances

Message par boubouk50 » 09 Oct 2018 14:01

Oui, alors le lighting est important pour l'optimisation. Surtout dans une scène comme celle-ci.
Ensuite, il va falloir optimiser tes fleurs effectivement. Pas besoin d'avoir autant de polygones...
"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

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: Besoin de conseils graphismes et performances

Message par djulio74 » 09 Oct 2018 14:53

en effet tu as vraiment beaucoup trop de polygone pour ton décor, d'autant plus pour le type de vue.

si ta caméra ne tourne pas pendant le jeu ( pas de rotation autour de la scène), chaque bloc pourrait n'avoir que 6 tri( 3 face visible max en même temps) si camera tournante, un cube c'est 12 tri.

les fleures idem, tu devrait les modéliser toi même, pas très compliqué. Au vu de leur taille à l'écran, tu devrais pouvoir les sortir a 50-75 tri pièce.
pour les arbres, un cylindre de 36 tri légèrement déformé, idem pour la partie "feuillage" avec une sphère low-poly de 100-150 tri.

par exemple pour la scène que tu montre, à la louche :

10 arbre de 200 tri => 2000 tri
13 grosse fleur de 75 tri => 975 tri
25 petite fleur de 45 tri => 1125 tri
25 cube vert de 12 tri => 300 tri
4 escalier de 60 tri => 240 tri
2 idem vert/marron de 36 tri => 76 tri
1 sol de 2 tri => 2 tri

==> total de 4718 tri possible. Avec 10000 tri tu devrait pouvoir très bien t'en tirer visuellement.

En plus à bien moins de 65k tri, tu peut tout regrouper (décor statique ) en un seul mesh ( via combine mesh, étant donnée qu’apparemment la seul texture est un pixel de couleur donc pas d'image ) et un seul shader/mat.
En effet, au lieu d'un mat par couleur et d'une texture de couleur chacun, tu fait un seul mat, sauf que la texture serait un damier de toute les couleur nécessaire . Enfin assigner l'uv de tout les vertex d'un objet de départ ( disons vert) pour qu'ils correspondent a la zone de pixel (de la couleur souhaité) dans la texture.
Ainsi tout ton décors statique pourrait tenir dans un seul mesh, un seul mat, une seule texture de quelques pixel ( pour la texture, fait des zone d'au moins 4-6 pixel de coté), et un seul drawcall ( ou quelques un fonction des light et shader utilisé)

Je pense que ça donnerai une bonne optimisation :super:
si tu veux un coup de main pour la modélisation, je me porte volontaire ;-)

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »