(1) 2 »


Gestion nombreuses herbes
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 391
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
De Bruxelles
Post(s): 382
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): 199
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): 391
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): 391

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): 199
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): 1459
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): 391
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): 391
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 Pourquoi la fonction "Undo" est aussi limité ? 3 13 Aujourd'hui 01:44:27
Rimpotche 
Questions & Réponses Pourquoi la fonction "Undo" est aussi limité ? 0 10 Aujourd'hui 01:13:11
GreenDollars 
[WIP] et travaux terminés Création d'une image 360° avec Blender ? 0 14 Hier 22:44:29
Legrim 
Questions & Réponses Copier les datas d'un objet 4 66 Hier 18:38:09
martin26 
Questions & Réponses [non résolu] Tracking video problème rendu :( 4 536 Hier 16:58:54
Eddyjimmy 
Le coin des geeks [Résolu] Impossible de lancer Blender sous Ubuntu    [1][2] 14 4638 Hier 16:53:20
M0ussier 
Questions & Réponses [2danimation]insérer une keyframe 2 48 Hier 13:50:21
pierre-y 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Reprise du développement    [1][2][3]...[41] 407 73308 Hier 13:48:30
Gilead_Maerlyn 
Questions & Réponses PROBLEME RENDU MOTION TRACKING !! 0 29 Hier 12:40:54
Eddyjimmy 
Graphisme alternatif [substance painter] Limitation de la version étudiante 0 48 23/01 21:06:43
pierre-y 
Questions & Réponses Plus de polygones apres le sculte 4 192 23/01 09:13:34
Nigal 
Questions & Réponses Rendu sous Blender 2.81 pixelisé 3 102 22/01 22:30:13
Rimpotche 
Questions & Réponses [résolu] Outil measure 6 147 22/01 18:34:17
martin26 
Questions & Réponses Animation bras + piston. 6 172 22/01 15:31:20
NaaB 
Questions & Réponses [non résolu] conseils pour une forme incurvée    [1][2][3]...[5] 42 791 22/01 13:41:39
Bibi09 
Mes premières images sous Blender (débutants) club Blender en collège/lycée    [1][2][3]...[7] 62 27188 22/01 10:20:11
busanga 
Questions & Réponses Exporter Animation Personnage dans UE4 0 57 22/01 00:24:40
maczzi 
Moteur de jeu GameBlender et alternatives hARMful engine    [1][2] 12 589 21/01 18:07:17
Bibi09 
Questions & Réponses Exclusion d'une lampe d'un "volume scatter" sous Eevee 0 75 20/01 20:34:47
Muad 
Questions & Réponses [résolu] Afficher les dimensions des arrêtes 5 339 20/01 17:09:03
martin26 

Qui est en ligne
74 utilisateur(s) en ligne (dont 43 sur Forums)

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


plus...
Nouveaux membres
BrittneyOf 25/1/2020
ShaniPento 25/1/2020
EdnaColls5 25/1/2020
HaiMoats57 25/1/2020
Ahmed36Z34 25/1/2020
CatherineM 25/1/2020
SadieBlewe 25/1/2020
CarltonMid 25/1/2020
ArnoldDens 25/1/2020
AdamOddo25 25/1/2020
Dernier Ajout
atlantischateau2.jpg

Evènements à venir
(continuer) - Fev 1
Blender Day Paris 1er février 2020
Fev 15
Anniversaire de Dany
Fev 23
anniversaire de windspirit
plus 276 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445