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


     






Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
Bonjour tout le monde,

Je rencontre un gros problème dans l'optimisation de mon jeu.


Tout d'abord, le personnage côté joueur: pour pouvoir le déplacer, j'ai dû laisser le mode pulse activé, ce qui consomme des ressources, car je ne parvient pas à trouver une solution pour utiliser deux touches du clavier simultanément avec une seule impulsion.

En effet, pour pouvoir se déplacer en oblique, il faut appuyer sur deux touches: le problème, c'est que si je ne fais qu'une impulsion, le programme ne prend que la première touche pressée, malgré que mes doigts pressent les deux touches.

La touche identifiée et identifiable peut changer de façon dynamique, c'est à dire que, en gros, on peut spécifier quelle touche doit être pressée selon le style de jeu du joueur via le code de cette touche.

Deux actionneurs keyboards ne peuvent fonctionner car ils recevront l'impulsion de la même touche.

Du coup, comment puis-je faire ? La seule solution qui me semble faisable dans l'immédiat, c'est d'utiliser les touches gauche et droite pour faire une rotation plutôt qu'un déplacement mais c'est inconcevable durant le combat.




Deuxième choses: le mouselook. Comme vous le savez peut-être, je suis sur la version 2.70, la plus stable que j'ai trouvée pour le module libload qui fait souvent défaut.

Sur la version 2.72, la BlendFundation avait rajouté le mouselook en brique logique alors que dans la 2.70, il faut le faire en code python, mais le script, à chaque mouvement de souris, est actualisé en boucle, ce qui vaut à un pulse mode et consomme de l'énergie.

Pas de chance pour moi, la 2.72 jusqu'à la 2.79 et UpBGE y compris à son module Libload qui foire, pas moyen d'optimiser, du coup.

Est-ce possible de trouver une alternative au libload afin d'apporter mon personnage dans la scène de jeu tout en ayant le .blend qui contient les items de façon externe ?


Bref, un peu embêté...


Enfin, je me suis décidé à prendre contact avec les dev' de l'UPBGE via le forum de "github" afin d'utiliser mon projet, comme casse-noisettes, pour les aider à corriger ce qui peut l'être.

Contribution le : 23/05 15:42:53
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
l m'est venu une idée:

Sur la 2.72, le fait d'ajouter le mouselook en brique logique fait foirer le module libload. Si je le désactive, tout va bien.

Dans ce cas, je me suis dit: si le personnage ne peut pas aller sur le terrain, alors le terrain doit aller au personnage. À tester.

Pour les senseurs keyboard, j'ai trouvé. En fait, keyboard.events englobe les 3 signaux, à savoir Key, Hold1 et Hold2. Il faut donc les identifier afin de les exploiter tout les trois.

Ça à l'air un peu comme si on recherchait la position dans une liste... ben en fait, c'est ça !

Contribution le : 24/05 17:20:18
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
Je réupload le blend, j'ai fait un correctif.

Blend

Pour info, sachez que l'on peut activer 5 touches maximum à la fois.

Contribution le : 27/05 16:46:27
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
Bonjour,

Je n'arrive pas à résoudre un problème pour mon projet:

Dans le Blender game engine, pour les touches clavier, le script génère une liste dans une liste: c'est à dire que, quand j'appuie sur une touche, j'ai son code ASCII + son status (pressé, pas pressé, maintenu ou pas maintenu).

Le problème est que, quand j'appuie sur deux touches en même temps, le code ASCII le plus petit se met en première position dans la liste.

Physiquement, je fais ça: [[147, 2], [143, 1]]

Or, le script fait ça: [[143, 1], [147, 2]]

Et donc, si je presse un troisième bouton, soit il sera mit en première position, soit il sera mis entre les deux, ce qui me complique la tâche dans la réaction à produire.

L'idéal serait que je puisse créer une liste qui permettrai de garder l'ordre dans lequel j'ai pressé mes touche, mais j'ignore si c'est possible et comment faire.

La boucle for m’ennuie car je n'ai qu'une seule donnée exploitable dans mes conditions, donc ça ne peut pas aller.

Contribution le : 30/05 14:20:19
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
J'ai finalement trouver une solution pour mon problème cité plus haut.

Par contre, en ce qui concerne le module Libload à partir de la version 2.72, il est pourri.

Du coup, pas moyen d'optimiser mon mouselook et apparemment, le fait d'importer le personnage via libload, le moindre mouvement fait monter en flèche le process logic et on voit un ralentissement.

C'est vraiment chiant, il faut le dire... Si seulement c'était possible d'au moins corriger ce maudit module Libload, je pourrai peut-être utiliser le mouselook intégré et ce serai top, pour autant qu'il n'y aie pas d'autres trucs qui bug dans la version 2.72...

D'ici là, pas le choix, 'faudra faire avec

Contribution le : 01/06 12:28:57
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
Il m'est venu une idée:

Je souhaiterai créer une terrain... "procédural".

Sur chacune de ses faces, il y aura une shapekey qui élèvera chacune d'elle. Donc, si on à 1000 faces, on aura 1000 shapekeys.

L'idée, c'est de pouvoir "transformer" le terrain comme bon me semble, puis de placer les objets décoratifs et les objets avec lesquels on peut interagir (via une liste de positions et d'orientations pré-établie).


Je réfléchis mal: il suffit de faire une shapekey par map, c'est suffisant. Ensuite, collecter la position et orientation des objets en en faire une liste pour le mode jeu.


Je vois quelques avantages:

- Plus besoin du module Libload

- Je peux "lier" le blend "banque de mesh" et créer les instances de groupe, comme si c'était un vrai objet (comme dans le projet yo frankie)

- Je reste sur le même blend et pour changer de terrain, il suffit de redéfinir la valeur des shapekeys via une action (pas de redémarrage ni de changement de blend) et changer les textures.
------------------------

Le soucis: j'y connais pas grand chose du module bpy, etc.

Il faudrait faire un petit script qui crée et assigne les shapekeys par faces + modifier un peu la hauteur de chaque faces.

Exemple: il y a 4 faces: on prend "face1", on crée une shapekey, on modifie la hauteur de "face1" par rapport à "shapekey1" puis on passe à la face suivante et on refait le cycle...

Quelqu'un sait me faire ça ?

Contribution le : 02/06 20:34:43
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
J'ai peut-être trouvé une solution miracle suite à ce que j'ai écris précédemment. Et les essais sont plutôt encourageant

Un pas en plus sur une meilleure compréhension du moteur, je le sent

Rha, j'espère ne pas tomber sur une fausse piste...

Contribution le : 04/06 17:29:17
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
Fausse piste !

La déformation ne change pas la physique du mesh, que ce soit le shapekey ou par armature, ce n'est que visuel.

Rien à faire, tant que le module Libload ne sera corrigé, je serai bloqué.

C'est con, juste pour un détail...

J'ai trouvé quelque chose en rapport avec les groupe d'instances: on dirait qu'il fait la même chose que le module libload, mais de façon plus propre mais moins automatisé... je suis en train de faire des essais grandeur nature et ça se comporte plutôt bien.

Contribution le : 06/06 12:36:54
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer


Re: Probleme pour optimiser
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 1387
Problème résolut !

J'en parle plus dans un autre topic dédié à l'optimisation.

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



 Haut   Précédent   Suivant




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 [non résolu] Scale "mode objet" ne tient pas compte des axes du repère personnalisé    [1][2] 11 91 Aujourd'hui 13:54:53
paquetdemouchoirs 
The Blender Clan 'tchat Présentation OlivierL. 3 46 Aujourd'hui 11:58:05
Gilead_Maerlyn 
[WIP] et travaux terminés [WIP] Bataille Navale // Animation 3d    [1][2] 16 357 Aujourd'hui 11:45:56
ju 
Questions & Réponses [WIP] Comment modifier le diamètre d'un cercle 8 70 Aujourd'hui 10:31:07
moonboots 
[WIP] et travaux terminés [terminé] VFX Harry Potter 4 68 Hier 23:02:19
busanga 
Questions & Réponses Faire apparaître les boutons de la souris sur l'écran ? 3 49 Hier 14:56:52
Fracoris 
The Blender Clan 'tchat [Recrutement] 3D artists & animateurs pour jeu de simulation spatiale 3 278 15/10 22:55:21
ThePioneers 
Questions & Réponses Duplication de groupe dans Blender 2.8? 1 54 15/10 15:32:46
moonboots 
Questions & Réponses Transférer une chevelure 0 51 15/10 13:44:40
Horemheb 
Questions & Réponses [résolu] Ne pas voir une partie d'un objet lors du rendu 9 135 15/10 13:07:02
Horemheb 
Questions & Réponses Blender 2.8 et Unity 4 118 14/10 13:30:42
Hook 
Python & Plugins [résolu] Comparaisons d'un ensemble de valeurs    [1][2] 10 261 14/10 09:31:56
makhaon 
Questions & Réponses [résolu] Rendu avec eevee, scène toujours lumineuse même sans lights. 2 129 12/10 22:17:48
Obaemon 
Questions & Réponses [non résolu] renderman Blender problème de connexion 2 161 12/10 19:18:54
tokoji 
[WIP] et travaux terminés [WIP] Nécromancienne sur sanglier    [1][2][3]...[6] 55 14130 10/10 18:45:51
Gilead_Maerlyn 
Moteur de jeu GameBlender et alternatives [résolu] BGE - son 3D, cône inner angle 1 189 10/10 15:35:54
Redstar 
Questions & Réponses Enlever les wireframes en object mode 1 122 10/10 02:29:52
Rimpotche 
Questions & Réponses [non résolu] Problème de normal baking 0 104 09/10 15:41:29
Irreel 
Questions & Réponses carte graphique pour cycles 1 257 09/10 14:50:50
Sphere3d 
Questions & Réponses [résolu] MIDI to Blender 9 622 08/10 20:41:37
docouatzat 

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

Membre(s): 2
Invité(s): 72


Fracoris, YvetteLans, plus...
Nouveaux membres
DaisyFenne 17/10/2019
ClemmieSpe 17/10/2019
NicholStam 17/10/2019
SelinaHarc 17/10/2019
SoniaLash 17/10/2019
YvetteLans 17/10/2019
KristanJer 17/10/2019
AngusGroce 17/10/2019
BonnieFarr 17/10/2019
PHOJackie 17/10/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