Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
12.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): 1298
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): 1298
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): 1298
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): 1298
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
[WIP] et travaux terminés [WIP] Portrait réaliste - Zbrush/Blender    [1][2][3]...[8] 72 7667 Hier 21:58:10
Thewada 
Questions & Réponses Vue 3D texturée avec la version 2.8 1 24 Hier 18:02:12
moonboots 
Hors Sujet !! qbit 8 92 Hier 14:15:06
david65 
Moteur de jeu GameBlender et alternatives [résolu] OpenGL ou comment afficher un texte en 3D    [1][2] 13 117 Hier 13:37:19
Bibi09 
Moteur de jeu GameBlender et alternatives [non résolu] Programmation python dans le BGE 8 2228 Hier 12:12:36
Redstar 
Questions & Réponses Comment appeler des animations?? 3 48 16/07 21:22:59
moonboots 
Le coin des geeks Quelqu'un connais bien le logiciel MeshLab ? 2 132 16/07 20:45:02
Redstar 
Questions & Réponses [non résolu] Séquenceur vidéo de Blender - problème bande audio 0 34 16/07 14:33:32
Redstar 
Mes premières images sous Blender (débutants) mes trucs de noob    [1][2][3]...[20] 194 17264 15/07 20:35:13
blend74 
Concours concours: nature, jardin, plantes, fleurs 5 416 15/07 18:31:36
brachyvore 
The Blender Clan 'tchat Blender 2.8x : Actus, tests, feedback..    [1][2][3]...[6] 51 20356 15/07 14:04:22
stev 
Questions & Réponses Comment modifier la vitesse de lecture dans VSE 3 99 14/07 15:36:52
Rimpotche 
Moteur de jeu GameBlender et alternatives [résolu] point de vie    [1][2][3] 20 707 14/07 12:25:45
david65 
[WIP] et travaux terminés [WIP] Modélisation d'un personnage manga 9 553 13/07 17:50:16
moonboots 
Questions & Réponses message d erreur pour blender2.80 5 149 13/07 00:09:33
thed 
[WIP] et travaux terminés Wip Fillette    [1][2] 17 5291 12/07 20:05:52
Guppy88 
Le coin des geeks carte graphique pour 2.8    [1][2] 12 408 12/07 10:58:45
vinceproduc 
Questions & Réponses [non résolu] Impossibe de modifier la Rest pose 6 173 12/07 10:44:32
Okinage 
Moteur de jeu GameBlender et alternatives [non résolu] Deplacer objet sans affecter les objet dessus 5 164 10/07 15:11:20
Redstar 
Questions & Réponses Sapling aad tree 2 184 10/07 09:36:40
Zarathoustra 

Qui est en ligne
63 utilisateur(s) en ligne (dont 26 sur Forums)

Membre(s): 1
Invité(s): 62


ElyseHedin, plus...
Nouveaux membres
ColletteCr 19/7/2019
Lucie33D3 19/7/2019
Candelaria 19/7/2019
MelodyCorn 19/7/2019
ElyseHedin 19/7/2019
KatherineG 19/7/2019
BerndHodgs 19/7/2019
LillianaBo 19/7/2019
CharmainMa 19/7/2019
MerriCarte 19/7/2019
Dernier Ajout
origalde-integration.jpg

Evènements à venir
Jui 23
Anniv du BlenderClan !
Aou 4
Anniversaire de xemphra
Aou 7
anniversaire Cem47
plus 283 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