(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): 642
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): 1897
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
Questions & Réponses Raccourcis clavier qui ne marchent plus v 2.93.4 3 198 Aujourd'hui 21:21:41
sapajou 
Graphisme alternatif Choix des couleurs 0 6 Aujourd'hui 20:23:42
BlendSkill 
Le coin des geeks win10 - avoir visuel d'un fichier blend ? 3 42 Aujourd'hui 18:32:22
Rimpotche 
Questions & Réponses Placer un objet par rapport à un autre objet 7 150 Aujourd'hui 14:29:56
BlendProblem 
The Blender Clan 'tchat Blender 2.8x : Actus, tests, feedback..    [1][2][3]...[10] 97 53747 Aujourd'hui 09:47:10
Bibi09 
The Blender Clan 'tchat le topic de l'impression 3D    [1][2][3]...[125] 1248 394326 Aujourd'hui 09:01:12
Redstar 
Moteur de jeu GameBlender et alternatives [WIP] Godot Engine - Projet Arsenal    [1][2][3] 23 2468 Hier 17:18:28
Redstar 
Questions & Réponses [non résolu] Addon Mb-Lab 3 111 Hier 14:05:26
Guiu 
Questions & Réponses Récupérer la couleur en sortie de shader    [1][2] 12 378 Hier 10:51:49
Horemheb 
Questions & Réponses Sapling tree gen, comment le récupérer 0 56 02/12 20:30:18
Lylo 
Questions & Réponses [résolu] X-Ray uniquement en mode Solid 3 172 02/12 20:05:12
Horemheb 
The Blender Clan 'tchat Folle souris 3 142 02/12 12:43:22
Rimpotche 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[25] 241 25597 01/12 21:56:30
moonboots 
Questions & Réponses [résolu] Ngons 6 180 01/12 19:00:13
Rimpotche 
Questions & Réponses [WIP] animatique vers projet réél : comment concilier les fichiers ? 4 145724 30/11 21:38:43
doudoulolita 
Questions & Réponses debutant- engrenage en pointe    [1][2] 10 453 30/11 19:19:47
CBY 
Questions & Réponses [résolu] Fusion 360 - recherche d'un connaisseur 1 222 30/11 16:31:30
Redstar 
Questions & Réponses Solution rendu saccade    [1][2] 17 520 30/11 08:08:02
CBY 
The Blender Clan 'tchat ANNONCE IMPORTANTE : LE BLENDER CLAN REOUVRE !! Etat des lieux sur le présent et le futur :)    [1][2][3] 22 93704 30/11 07:53:41
smogBlender 
Graphisme alternatif faire de la bd avec blender    [1][2][3]...[13] 125 11916 29/11 16:33:17
blend74 

Qui est en ligne
134 utilisateur(s) en ligne (dont 85 sur Forums)

Membre(s): 3
Invité(s): 131


AllanSweet, HeathRuyle, MerryLadd5, plus...
Nouveaux membres
BCYRafaela 4/12/2021
RhysPigdon 4/12/2021
FelipeBugd 4/12/2021
ArlenHeim 4/12/2021
DHtheLMT 4/12/2021
Hildred405 4/12/2021
AlisaUwm28 4/12/2021
HalinaAbne 4/12/2021
PaulineLil 4/12/2021
MichealR30 4/12/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Dec 29
Anniversaire d'ebrain
Jan 8
BUG de Lyon
Fev 15
Anniversaire de Dany
plus 246 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