(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
Mes premières images sous Blender (débutants) 2.80 ---> 3.00 ? 2 61 Aujourd'hui 15:27:50
HarDrive 
The Blender Clan 'tchat Buy (50 Pieces) New Samsung Galaxy Z Flip4 128GB Unlocked $17,450 0 63 26/01 07:44:35
emailychang01 
The Blender Clan 'tchat Buy (30 Pcs) New Mac mini M2 (2023) 256GB SSD $8,970: www.cutebitelectronics.com 0 32 25/01 11:02:28
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) New iMac M1 24-inch (2021) 512GB SSD $44,950 Website: www.cutebitelectronics.com 0 44 24/01 09:21:49
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) Macbook Air M2 13.6-inch 512GB SSD $54,950 Website: www.cutebitelectronics.com 0 68 23/01 09:20:38
emailychang01 
Questions & Réponses circuit avec dévers 3 94 22/01 18:42:26
moonboots 
The Blender Clan 'tchat Buy (50 Pcs) MacBook Pro M2 14-inch 512GB SSD $79,950 0 55 21/01 10:19:51
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Air 10.9-inch (2022) 256GB Wi-Fi + Cellular $24,950 0 90 20/01 08:43:41
emailychang01 
The Blender Clan 'tchat Buy (50 Pcs) New Mac mini M2 (2023) 256GB SSD $9,950 Website: www.cutebitelectronics.com 0 90 19/01 08:19:28
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces ) New Apple iPad Mini 8.3-inch (2021) 256GB Wi-Fi + Cellular $22,450 0 66 18/01 08:46:54
emailychang01 
Hors Sujet !! Victime de piratage 0 122 18/01 00:01:38
Lylo 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Pro 12.9-Inches 2021 1TB Wifi + Cellular $69,950 0 83 17/01 09:54:03
emailychang01 
The Blender Clan 'tchat Buy (50 Pieces) New Apple iPad Pro 11-Inches 2021 2TB Wifi + Cellular $79,950 0 86 14/01 19:23:01
emailychang01 
Questions & Réponses [non résolu] Material preview et résolution 0 78 13/01 10:13:25
zeromeetsinfinity 
The Blender Clan 'tchat Buy (50 Pieces) New Original Unlocked Apple iPhone 13 Pro Max 5G 1TB $54,950 0 81 12/01 09:21:35
emailychang01 
Hors Sujet !! Verifpro.net - paypal, ebay, banks, crypto, docs and more! 0 62 11/01 18:57:13
julien_costa 
The Blender Clan 'tchat Buy (50 Pieces) New Original Unlocked Apple iPhone 12 Pro 5G 512GB $24,950 0 87 11/01 07:45:50
emailychang01 
Questions & Réponses [non résolu] Soucis de pivots et rotations à l'import dans un fichier fbx avec parents/enfants 0 3814 10/01 16:32:57
Brice_Willus 
The Blender Clan 'tchat Buy (30 Pieces) New Meta - Quest Pro Virtual Reality Headset - 256GB $29,970 0 81 10/01 10:34:12
emailychang01 
The Blender Clan 'tchat Buy (30 Pieces ) New Apple iPad 10.9-inch (2022) 64GB Wi-Fi + Cellular $13,470 0 142 09/01 09:47:14
emailychang01 

Qui est en ligne
57 utilisateur(s) en ligne (dont 40 sur Forums)

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


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
Fev 15
Anniversaire de Dany
Fev 23
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
plus 229 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