(1) 2 »


Gestion nombreuses herbes
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 395
Salut à tous.

Actuellement, en train de faire une grande map je me heurte à un problème de performance concernant l'herbe.

J'ai à peu près 2 000 objets représentant de l'herbe ayant chacun 48 vertices (plusieurs touffes à chaque fois)
Il s'agit de la même géométrie et du même material dupliqués avec une texture 1024px.
Ils sont tous animés avec des shapes keys pour représenter une légère brise. Ils ont donc une ligne de brique logique.
Ils sont tous évidemment en no collision en ce qui concerne la physique.
Je n'utilise pas le clipping de la caméra.

Voilà la situation :D

Désormais et étant donné que la perf en prend un coup à cause de tout ces petits vertices qui gigotent, je souhaite trouver des astuces pour alléger sans altérer l'aspect graphique.

J'ai pensé à un script pour virer toutes ces lignes de briques logiques. Du style, si tel objet à cette propriété, exécuter tel animation. Je devrais donc leur mettre à tous cette propriété. Je me demande si je pourrais pas identifier autre chose comme le material ce qui m'eviterais d'ajoutais une property. J'aurais besoin de votre avis.

Sinon j'ai aussi pensé à réunir toutes mes herbes en un mesh unique. Ce qui fonctionne car l'animation en shape key est sauvegardée mais le problème c'est que je ne pourrais plus y toucher ensuite. Je pourrais plus en ajouter à moins de refaire à chaque fois l'animation pour chaque herbes ajoutées. Là aussi j'ai besoin d'avis.

Autre idée, faire en sorte que l'animation des herbes ne démarrent qu'à partir d'une certaine distance ou carrément ne les faire apparaitrent qu'à partir de cette certaine distance.

Bref, je cherche des solutions et des astuces pour gérer ce problème en évitant les trucs bateaux du genre, faut supprimer tu en as de trop

Contribution le : 07/09/2017 09:35
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
OverdOzed
Inscrit:
18/02/2015 20:28
Post(s): 723
Tu devrais chercher sur youtube: j'avais vu une vidéo qui expliquait comment faire de l'herbe non pas à partir d'un mesh mais d'une image, que tu places sur un plan, que tu dupliques et tourne pour otenir deux plans à 90°. L'image est sur fond transparent(canal alpha etc), donc tu ne vois pas un rectangle mais juste l'herbe, et ce, de toutes les directions. Pour l'animer, par contre, cela impliquera de transformer ton image en animation.

Contribution le : 07/09/2017 10:13
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
Fou Furieux du Clan
Inscrit:
25/01/2012 12:24
De Angers
Post(s): 229
Hello,
Dans le même esprit, tu peux utiliser les plans d'herbe comme évoqué par Melo, y mettre le point de pivot a la base et juste jouer sur la déformation du mesh via shape key ou autre (je ne suis pas du tout au fait des faisabilités du blendergame)

Aussi pour encore économiser en poly/texture, les plans peuvent être utilisés en billboard (orienté vers la caméra en gros), c'est old school mais sur l'herbe lointaine ça suffit largement

Enfin, la texture en 1024 me semble un peu grande pour un brin d'herbe, a voir si tu ne peux pas utiliser de mipmap pour optimiser tout ça (c'est peut être déjà ce que tu fais)

Sinon un coup de tondeuse a gazon et hop :P

Contribution le : 07/09/2017 10:53
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 395
J'utilise en effet des plans avec de l'alpha et de la transparence pour l'herbe. Quand je dis 48 vertices il s'agit de 12 fois 4 vertices (les plans)

L'animation est faite avec les shape keys et le pivot est bien au niveau de la base. Par contre je n'utilise pas le billboard.

En fait, le problème n'est pas vraiment à ce niveau mais plutôt dans la gestion massive d'herbes. Mon environnement est assez grand à vrai dire.

Contribution le : 07/09/2017 11:28
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 395

Contribution le : 07/09/2017 11:35
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
Fou Furieux du Clan
Inscrit:
25/01/2012 12:24
De Angers
Post(s): 229
Dans un temps reculé (ça date de la 2.48, c'est dire !) on utilisait des instances pour faire des brin d'herbe, ça permettait de gagner en performances sur les petites machines
En gros on fonctionnait un peu comme les systèmes de particules, on crée l'objet de référence et on place des empty la ou on veut faire apparaître de l'herbe

Je ne sais pas si ça peut t'aider mais ça reste une piste

Contribution le : 07/09/2017 13:04
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 2029
Personnellement, le mieux que je puisse conseiller, c'est de faire des groupements de plusieurs mesh en un seul objet (arbre, plantes, etc.) et ensuite leur mettre un LOD.

J'ai fais générer une grille qui me sert de canevas pour séparer ces différents groupe, c'est super pratique.

Ce qui m’inquiète, c'est le process animation: tu devra, à mon avis, les désactiver selon la distance. Je ne pense pas que tu puisse filtrer par matériaux tes objets pour python.

Si on rajoutes les shapekeys + les armatures là ou ton personnage se trouve, la question est: "ce sera fluide ou pas" ?

Pour le rendu final, j'ai deux scènes: la première contient tout mes objets "finaux" et la deuxième est une instance de tout ces objets finaux (il y a juste la camera et l'empty pour ajouter mon personnage).

Contribution le : 07/09/2017 13:18
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 395
Sziuny, en fait j'utilise UPBGE et il propose une option pour des instances afin d'économiser en ressource. Ce qui est bien utile.

Ok Redstar. J'ai observé les derniers jeux récemment sortie (FF15, Star Océan 5..) les herbes sont gérées dynamiquement dans les decors larges. Elles disparaissent selon la distance à première vue.

Sinon c'est une bonne idées de faire un système de grille en regroupant différents objets et en ajoutant des LOD.

Dans un premier temps, je vais essayé de faire un script pour que les anims s'arrêtent selon la distance.

Contribution le : 07/09/2017 14:41
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 395
Bon j'ai récupéré mes 60 FPS assez étrangement ou du moins je viens de découvrir la chose.

Ça pourrait vous être utile au cas où.

J'avais créer une animation pour des arbres haut poly avec une armature à plus de 500 os. Elle influait sur beaucoup de branches. J'ai repris le modèle et j'ai low polysé le tout. Le tronc, les branches, le feuillage et l'armature en elle même que j'ai réduit à 6 os.

Dans l'animation en elle même par contre me restais les channels des anciens os qui avait été supprimés et à première vue, surprise, même si les os ont été supprimés cela bouffé les performances en jeu.

Il faut donc supprimer les channels qui ne sont plus utilisés pour gagner en performance

Néanmoins, même si cela tourne sur mon PC j'aimerais optimiser et donc la question principale demeure =)

Contribution le : 07/09/2017 16:29
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Gestion nombreuses herbes
Fou Furieux du Clan
Inscrit:
07/04/2013 10:31
Post(s): 143
Salut Anarchy62,

Si tu utilises le UPBGE regarde du coté de la "Geometry instancing", ça fait gagner pas mal de fps(mais il faut que l'objet soit statique).
voilà deux liens:
https://doc.upbge.org/releases.php?id=0.0.4
https://www.youtube.com/watch?v=RmMOXxTulqQ

Sinon il y a aussi le mesh batching qui fait gagner des fps, si j'ai bien tout compris quand le jeu se lance il regroupe tout les mesh avec
les même matérials en un seul objet.
https://doc.upbge.org/releases.php?id=0.1.4
https://www.youtube.com/watch?v=98G5bQ_JLro

Et pour finir il y a ce shader
https://blenderartists.org/forum/showthread.php?370844-Procedural-Grass-Geometry-Shader-GLSL-4-0-v-3-amp-amp-GLSL-1-5-v-2-AMD-fully-supported!
par contre là je ne sais pas ce qu'il faut, mais il a l'air pas mal.

Voilà je s'espère que ça va t'aider.

Contribution le : 07/09/2017 19:21
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
The Blender Clan 'tchat Buy (30 Pcs) Macbook Pro M2 13-inch 512GB SSD $35,970 Website: www.cutebitelectronics.com 0 15 Hier 10:11:42
emailychang01 
Questions & Réponses Rendu hyyyyyper lent ! 1 45 29/11 10:48:50
moonboots 
The Blender Clan 'tchat Buy (30 Pcs) Apple iPad Air 10.9-inch 256GB Wifi $13,470 : www.cutebitelectronics.com 0 17 29/11 07:54:38
emailychang01 
The Blender Clan 'tchat Buy (30 Pcs ) Apple iPad Mini 8.3-inch 256GB Wifi $11,970 0 31 27/11 12:19:27
emailychang01 
The Blender Clan 'tchat Buy (30 Pieces) New Apple iPad Pro 12.9-Inches 2021 1TB Wifi only $38,970 0 24 26/11 12:30:21
emailychang01 
The Blender Clan 'tchat Buy (30 Pieces) New Apple iPad Pro 11-Inches 2021 1TB Wifi only $32,970 0 49 24/11 03:28:24
emailychang01 
The Blender Clan 'tchat Buy (30 Pieces) New Apple iPhone 13 5G 512GB $20,970 Website: www.cutebitelectronics.com 0 57 22/11 01:26:33
emailychang01 
Questions & Réponses Orienter une texture    [1][2] 11 3184 20/11 12:27:21
moonboots 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[33] 321 53521 17/11 12:12:10
moonboots 
The Blender Clan 'tchat Buy (30 Pcs) New Apple iPhone 12 Pro Max 5G 256GB $17,970 Website: www.cutebitelectronics.com 0 1475 16/11 09:36:23
emailychang01 
The Blender Clan 'tchat Buy (20 Pcs) iPad 10.9-inch (2022) 64GB Wifi only $6,980 : www.cutebitelectronics.com 0 72 15/11 12:10:40
emailychang01 
The Blender Clan 'tchat Buy(20 Pcs) iPad Pro 12.9-Inch (2022) 128GB Wifi $17,980 : www.cutebitelectronics.com 0 85 14/11 11:46:55
emailychang01 
Questions & Réponses Modélisation d'après une image en noir & blanc ? 8 352 11/11 15:57:26
moonboots 
The Blender Clan 'tchat Buy (20 Pieces) New Apple iPad Pro 11-Inches (2022) 128GB Wifi only $11,980 0 88 11/11 10:02:44
emailychang01 
The Blender Clan 'tchat Buy (200 Pcs) Insignia - Portable Nugget Icemaker $39,800 Website: www.cutebitelectronics.com 0 73 10/11 08:50:55
emailychang01 
Questions & Réponses ma texture bump glisse pendant animation 2 175 09/11 19:24:41
ALK-chimiste 
The Blender Clan 'tchat Buy (200 Pieces) New Innokin Cool Fire Mini Zenith D22 Kit Original $5,400 0 91 09/11 12:13:21
emailychang01 
The Blender Clan 'tchat Buy (20 Pcs) New Studio Display 27-inch (2022) $24,000 Website: www.cutebitelectronics.com 0 129 08/11 11:41:50
emailychang01 
The Blender Clan 'tchat Buy (20 Pieces) New A.p.p.l.e Watch Ultra Small $11,980 Website: www.cutebitelectronics.com 0 140 07/11 12:08:28
emailychang01 
Questions & Réponses [non résolu] Qualité de définition pour impression 3D 6 1096 05/11 18:29:09
Sphere3d 

Qui est en ligne
114 utilisateur(s) en ligne (dont 86 sur Forums)

Membre(s): 0
Invité(s): 114


plus...
Nouveaux membres
MathiasFul 18/8/2022
VicenteZcl 18/8/2022
OlivaL1007 18/8/2022
Adrian8943 18/8/2022
NorbertoGe 18/8/2022
VeronaKais 18/8/2022
BettieSile 18/8/2022
DarylTier 18/8/2022
BretParkhi 18/8/2022
LeoTrotter 18/8/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Dec 29
Anniversaire d'ebrain
Jan 7
BUG de Lyon
Fev 15
Anniversaire de Dany
plus 231 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445