Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
robot4ombre.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): 1257
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): 1257
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): 1257
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): 1257
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 Entraînement personnage cartoon    [1][2][3][4] 35 5074 Aujourd'hui 01:24:44
busanga 
Questions & Réponses Simple Deforme axe 3 40 Hier 21:21:47
moonboots 
[WIP] et travaux terminés [WIP] Projet d'animation Les ducats du ciel 8 208 Hier 16:56:26
moonboots 
Questions & Réponses Zbrush ET Blender ? 4 52 Hier 16:45:26
moonboots 
Questions & Réponses [résolu] créer une condition d'animation 3 68 Hier 16:44:59
pharang 
The Blender Clan 'tchat Le topic des trucs à voir    [1][2][3]...[303] 3023 712851 20/06 12:31:10
stev 
[WIP] et travaux terminés [WIP] Jeu vidéo de plateforme sur la Corse 5 175 Hier 09:17:23
Thewada 
Questions & Réponses Origine le long d'un chemin 2 57 Hier 06:38:19
moonboots 
[WIP] et travaux terminés [WIP] Modélisation d'un personnage manga 4 131 24/06 18:59:20
Arielboid 
Questions & Réponses Modélisation d'un casque 7 121 24/06 07:47:39
moonboots 
Questions & Réponses galère avec maillage subsurf    [1][2] 18 205 23/06 15:09:27
sapajou 
[WIP] et travaux terminés [terminé] Encore de la simulation avec Blender et Python un mariage parfait. 0 88 23/06 00:27:09
docouatzat 
Mes premières images sous Blender (débutants) mes trucs de noob    [1][2][3]...[20] 192 15644 22/06 21:43:59
blend74 
Concours concours: nature, jardin, plantes, fleurs 0 81 22/06 17:45:33
blend74 
Concours Defi 9 673 22/06 17:38:27
blend74 
Questions & Réponses question 1 92 22/06 17:20:23
Redstar 
Concours [CONCOURS] TI-Planet : design la calculatrice de demain    [1][2][3]...[8] 70 16206 18/06/2012 23:22
LadeHeria 
[WIP] et travaux terminés [WIP] Cabochon avec diastérisme 7 609 21/06 15:44:40
lucky 
Moteur de jeu GameBlender et alternatives [non résolu] Un remake de Zillion? (master system SEGA) 9 251 21/06 13:00:39
Hook 
Questions & Réponses [résolu] Problème avec le clique gauche dans les menu blender 2,8 1 93 21/06 10:17:38
Rimpotche 

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

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


plus...
Nouveaux membres
ShayHunley 27/6/2019
AndyVargas 27/6/2019
Mavis43L57 27/6/2019
JaxonCummi 27/6/2019
DannyWhitf 27/6/2019
LuzDriscol 26/6/2019
KrystalGra 26/6/2019
VickieYmu8 26/6/2019
Selena40V 26/6/2019
ArthurGued 26/6/2019
Dernier Ajout
origalde-integration.jpg

Evènements à venir
Jui 30
Anniv des Jedi :-D
Jui 13
BUG de Lyon
Jui 23
Anniv du BlenderClan !
plus 285 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