Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
T-rex.jpg
Publicité
Formation Blender ElephormBlender 3d Elephorm


     




« 1 2 3 (4)


Re: Bonne pratiques pour le jeux vidéo & optimisation.
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1373
Petite mise à jour:

Les armatures:

Tout ceux qui aurons testés comme moi le savent: quand vous avez un personnage qui à +/- 60 bones multiplié par les personnages environnants, la fluidité du jeu est dramatiquement réduite.

Cela est dû à un manque d'optimisation du code source de Blender (je suppose) et j'ignore encore si c'est le cas pour l'upBGE.

Donc, pour optimiser cela, il vaux mieux compléter (voire remplacer) avec des shape keys.

Un exemple: pour rigger une main (humaine), il faut environ 16 bones (soit 1 bone pour le poignet et 3 bones pour chaque doigts).

Multipliez ce nombre par le nombre de mains (si ce n'est pas un humain) et cela vous fait monter les chiffres et je n'ai pas encore compter les bones pour le reste du corps, plus les animations faciales.

C'est là que les shape keys interviennent: a-t-on besoin d'animer les doigts n'importe comment en jeu ? A-t-on besoin d'animer le visage tout le temps en jeu ?

Posez-vous cette question dans le cas ou vous créez un jeu sous Blender.

Une dernière chose: j'avais indiqué dans le premier post que les contraintes peuvent être problématiques durant le jeu. Il semble que non mais je n'ai pas testé. Cela dit, cela ne justifie pas l'utilisation à outrance de bones, contraintes ou non.

Donc, pour résumer: Utiliser une armature complète pour configurer les shape keys & autre joyeusetés puis une version simplifiée pour le mode jeu.

Ce que j'avance là reste théorique car je dois expérimenter ça mais dans le lien que j'ai donné plus haut, on en parle dans le chapitre "animation" donc je reste confiant sur mes dires.

Contribution le : 25/02 10:03:47
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Bonne pratiques pour le jeux vidéo & optimisation.
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 386
Salut mon ami.

Je te conseille vivement de créer deux armatures.

L'une complète avec autant de contraintes et IKs que tu le souhaites, l'autre, avec les bones uniquement.

En effet, les contraintes et surtout les IKs sont extrêmement coûteuses en ressources.

Blender permet de Baker les animations d'une armature à une autre!


Amicalement,

Contribution le : 26/02 08:49:24
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Bonne pratiques pour le jeux vidéo & optimisation.
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1373
Salut Anarchy62 !

Apparemment, les contraintes ne seraient pas problématique, mais le nombre de bones oui, car il est dit que certaines contraintes sont "compatibles" avec le BGE, donc exploitable, tel que le "rigid body joint".

Pour le reste, on est d'accord.

Contribution le : 26/02 15:17:09
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Bonne pratiques pour le jeux vidéo & optimisation.
OverdOzed
Inscrit:
26/12/2012 23:15
Post(s): 386
En effet, cetaines contraintes sont compatibles mais cela reste beaucoup plus gourmand. Je n'ai jamais utilisé le rigide body alors je ne serais juger. Les IKs, largement plébiscités, consomne beaucoup.
Je pense que pour avoir une qualité supérieur, il faille passer par le baking. C'est une autre organisation mais cela vaut le coup.

Contribution le : 27/02 08:36:40
_________________
Blog ; http://anarchie-jeu.over-blog.com
Créer un fichier PDF de la contribution Imprimer


Re: Bonne pratiques pour le jeux vidéo & optimisation.
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1373
Nouvelles:

Quand vous avez un objet avec plusieurs matériaux, sur certains de ces objets, il est nécessaire de changer la couleur de la texture.

Donc, ça veux dire que vous allez avoir la même texture mais sous des ton de couleurs varié, ce qui fait beaucoup, point de vue travail pour la carte graphique...

...Et l'utilisation de "l'object color" n'est pas envisageable car il n'y a pas qu'un seul matériel, "l'object color" s'applique sur tous, du moment que vous activiez l'option qui s'y rapporte.

C'est pourquoi il faut alors se tourner vers le système nodal. En effet, vous pouvez changer la couleur de la texture voulue, sans répercuter sur les autres, à l'aide du node correspondant.

Conséquences: vous gardez une texture (et une seule !) de couleur neutre (préférence en blanc-gris) et il vous suffit simplement de changer le ton de couleur souhaitée. Vous pouvez ainsi optimiser le nombre de textures et la taille de votre fichier blend au passage !

Contribution le : 13/03 12:24:48
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Bonne pratiques pour le jeux vidéo & optimisation.
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1373
Nouvelles découvertes sur le BGE:

Cela concerne le module Libload, en python, qui permet d'importer de façon dynamique, un blend dans un autre. Il se trouve que ce module n'est pas au point: problèmes d'optimisation, crash du jeu quand on ajoute certaines briques logiques (plus haute que 2.70) et augmentation significative de performances sur certains points non explicable (erreur de codage ?). J'ai découvert que faire un import d'un blend à un autre, via un link, "remplace" le libload, de façon propre et fonctionnel. C'est à dire que, en gros, libload importe le contenu du blend de façon automatisé et pendant le jeu, tandis qu'avec le link, il faut faire à la main et c'est chargé avant le lancement du jeu (soit à l'ouverture du blend).

Par exemple, j'avais un soucis avec mon script "mouselook", importé via libload, je passais de 60 à 20-25 fps. Avec link, c'est de 60 à 50 fps pour 5-10% pour le process logic, contre 40 % avec libload.

Si l'on à un personnage et que l'on doit changer constamment son arme (ou son mesh), il n'est théoriquement pas possible de trouver sa trace (du mesh de l'arme) dans un blend qui n'existe pas... sauf si on l'importe indirectement !

En effet, j'ai fais un groupe d'instance de mon personnage, en y incluant les vêtements et les armes et j'ai pris soin de rendre visible uniquement le calque ou se trouve mon personnage contrôlable. J'ai ensuite fais un link sur mon terrain de jeu, pointé le groupe "joueur", et l'ai placé où je le voulais. Quand j'ai lancé le jeu, j'ai constaté qu'il retrouvait les vêtements et les armes que j'avais assigné, comme si ils étaient présent quelque part. Je les ai exclus du groupe pour tester et ça réagi comme je le pensais, python m'indique que l'objet n'existe pas.

Pareil pour les scripts: blender importe que les script des contrôleurs en mode script mais pas en mode module, il faut créer une brique dans un calque vide et indiquer le script entier pour qu'il soit importé ou le faire sois-même, manuellement. Même principe pour les animations...

Par contre, à chaque changements effectué à la source, il faut recharger le blend cible, à savoir le terrain (donc bien sauvegarder avant de faire un refresh si l'on a ajouté de nouveaux éléments).

J'ai testé avec d'autres versions, pour voir comment ça se comportait, et là, je vois que ça se passe comme un charme, hormis quelques "imperfections" solvable facilement. Je reste prudent, car j'ai pas fini de reconditionner mon projet, mais après quelques essais sur situations réelles, je n'ai plus de problèmes, donc j'en conclu que cette méthode est la bonne.

Du coup, avec tout ça, j'ai constaté qu'il n'était pas nécessaire de faire toutes les collisions sur le terrain de jeu, car la présence du module libload semblait fausser les informations des statistiques.

C'est à dire que, toujours avec des groupes d'instances, j'importe des arbres, des bâtiments, en mode collisions statiques, et visiblement, ça ne ralentis pas, contrairement à ce que je m’attendais.

Par contre, bien entendu, tout ce qui est soumis à une physique dynamique, elle, est consommatrice de performances si mal contrôlée... (donc désactiver à une certains distance de la vue du joueur)

Enfin, je précise que cette idée m'est venue en jetant un coup d’œil sur le jeu yo frankie, qui est découpé comme des assets.

Contribution le : 08/06 15:44:48
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 2 3 (4)




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 Comportement 2.8    [1][2] 12 373 Aujourd'hui 14:28:25
Rimpotche 
Questions & Réponses [résolu] Problème de Sculpt 2 79 Aujourd'hui 05:31:23
MHB29 
Questions & Réponses [résolu] Epaisseur non constante avec Solidify - Murs 2 88 Hier 14:36:42
HarDrive 
Questions & Réponses [non résolu] Array : duplication circulaire 2 76 Hier 06:04:40
blendinfos 
Questions & Réponses [non résolu] Conseil pour une topologie 3 84 15/09 18:05:18
blendinfos 
Questions & Réponses Blender lumière 1 62 15/09 17:42:17
moonboots 
Questions & Réponses preferences utilisateur ne s'ouvrent plus 0 89 14/09 15:39:23
masje 
Questions & Réponses [résolu] Problème avec la symétrie    [1][2] 12 286 14/09 10:30:13
GFC 
Questions & Réponses Tableau d'objets déformés aléatoirement 3 97 14/09 10:11:10
WinZs 
Questions & Réponses galère d'importation SVG 5 192 14/09 08:42:16
Guppy88 
Questions & Réponses Utiliser Blend4Web? 1 73 14/09 07:07:16
WinZs 
Questions & Réponses Animation bvh 1 82 13/09 15:49:35
busanga 
Questions & Réponses riggin 2 108 13/09 11:14:08
debutant 
The Blender Clan 'tchat Demande de renseignements sur les caméras 360° 4 187 12/09 10:50:42
Laorz 
Questions & Réponses [résolu] UN TRACKING PLUS FONCTIONNEL 8 270 11/09 20:53:48
WinZs 
Questions & Réponses [non résolu] Papier translucide 4 414 11/09 09:29:35
zeromeetsinfinity 
Questions & Réponses changer le sens des normales 1 692 25/02/2017 19:40
Melodicpinpon 
Questions & Réponses Selection d'images pour le VSE 1 138 10/09 23:33:25
WinZs 
Questions & Réponses Mouvement de robe 8 178 10/09 21:05:08
Destruc18 
Questions & Réponses Je n'arrive pas à skinner mon pied... (débutant) 8 269 10/09 18:19:05
Aelendys 

Qui est en ligne
65 utilisateur(s) en ligne (dont 35 sur Forums)

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


plus...
Nouveaux membres
Dessie0606 17/9/2019
Josh169457 17/9/2019
Jonas9766 17/9/2019
RickeyHkc2 17/9/2019
LeannaClaf 17/9/2019
MelMuriel 17/9/2019
LucieStace 17/9/2019
AliHinkler 17/9/2019
Mecanicus 16/9/2019
surfer10 16/9/2019
Dernier Ajout
Forky-3D-ToyStory BC.png

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