Hello !
Je me suis heurté à une difficulté qui fait que je pense abandonner l’extension platform, et ai le même problème même s’il n’est pas bloquant avec l’extension physic :
-
Je modifie en fonction de la valeur AxisX la “vitesse maximale” de mon personnage, or je souhaitais par exemple attribuer cette valeur “vitesse maximale” à une variable d’objet, pour enfin l’afficher dans un texte qui me sert à débugger, pas moyen de récupérer cette valeur ! L’objectif étant de la récupérer dans une formule.
-
Même chose sur la force du saut (je ne sais plus le nom de l’expression dans l’extension) : je souhaitais afficher comme dans le premier cas cette valeur, et donc la récupérer dans une variable… pas moyen, c’est dommage… Je suis obligé de fonctionner à l’envers : crééer une variable, la manipuler/l’afficher et l’attribuer à la valeur de la force du saut…
L’éditeur d’expression ne permet de récupérer/manipuler rien du tout sur ces extensions alors que j’aurais plein de manipulations dynamiques à faire sur les forces pré-programmées appliquées aux objets.
Je m’oriente donc vraisemblablement vers la ré-écriture d’événements pour la gestion du personnage à la manière de l’extension platforme : elle est super, mais est aussi super limitée si on veut donner un peu de fluidité aux “inputs”.
Cas d’école tout bete qui expose une grosse limite de l’extension platform à mes yeux : la force du saut => que ce soit en pressant sur une touche du joystick ou espace pour sauter, le saut est toujours similaire, ce qui même sur nintendo/super nintendo n’existait pas : on sautait plus ou moins haut suivant qu’on appuie plus ou moins longtemps sur le bouton de saut… J’ai donc rajouté une variable qui compte le temps de pression(basé sur timedelta, mais j’ai conscience que c’est une erreur de calculer le temps en fonction du nombre de fps sur un input, je passerai sur un vrai chrono temps ce soir)et qui attribue une vitesse maximale de saut dfférente suivant qu’on appuie + ou - de 100ms sur le bouton de saut ; l’effet est pas mal car on a bien 2 saut différent suivant l’appuie long/court sur joystick, MAIS sur la touche espace c’est toujours la condition <=100ms qui est appliquée… pas pratique tout ça !
De plus, même si 100ms est le meilleur réglage que j’ai pu trouver, c’est pas satisfaisant : lors de séquences rapides on voit bien qu’il y a un petit retard sur le saut et on se casse la gueule de la platforme… J’ai des marges de manoeuvres pour faire mieux, mais le mode de saut me parait bcp trop rigide…
De mon point de vue, pour l’option qui touche au saut dans l’extension plateforme : on ne devrait pas appliquer une force initiale à l’objet lors de l’input saut, mais bien une force progressive : tant que la valeur “saut max” n’est pas atteinte on continue de faire monter l’objet tant que la condition “la touche saut est appuyée” est vraie, derrière ça induit juste de faire un petit traitement physique sur les forces pour l’accélération/déclaration du saut au fil du temps et rendre l’animation de saut plus fluide.
Je pense qu’au delà de l’aide (même si je prends volontier les conseils), c’est plus ici des demandes d’amélioration que je formule : plus d’items dans l’éditeur d’expression en rapport à ces deux extensions (physic/platform), et une refonte du systeme de saut dans l’extension platforme avec une force de saut dépendant de l’input et sans le problème de latence que j’ai décrit plus haut sur mon projet actuel.