Page 1 sur 1

Le saut en fausse 2D

Publié : 06 Avr 2016 19:19
par Säar
Bonjour à tous,
Alors voila, débutant sur Unity et sur Playmaker, je souhaite réaliser un platformer en fausse 2D.
C'est à dire que j'utilise un monde et des assets 3D mais que je bloque mon personnage sur l'axe X pour se déplacer et Y pour sauter.
(Tuto : https://www.youtube.com/watch?v=8--9HrydznU)

Le déplacement c'est bon, j'ai pigé le truc.
Par contre, pour le saut je m'arrache les cheveux.

Première méthode :
J'ai voulu utiliser un AddForce mais celui-ci exige un rigidBody sur le personnage. Celui-ci exige un MeshCollider convex sur mon décor et... ça marche pas. Mon personnage passe à travers le sol (malgrè le Bake de la zone).

J'ai cherché sans comprendre, là c'est ma deuxième soirée. Du coup j'ai testé autrement.

Deuxieme methode :
J'ai tenté de faire une simple translation en Y. Et là, surprise, l'état "Jump" n'est pas détecté.
Image

J'ai checké et modifié mes Inputs sans plus de succès.
Image

Quelqu'un aurait une piste siouplait?

Re: Le saut en fausse 2D

Publié : 07 Avr 2016 07:57
par jeanfabre
Bonjour,

Il faut separer les logiques en plusieur FSM.

Un fsm va gere le mouvement gauche droite
Un autre Fsm va gere uniquement le saut.

Et donc il n'y aura pas de confilt d'interet au sein d'un FSM, car il ne peut y avoir qu'un seul etat actif dans un fsm, d'ou la complication de gerer plusieurs "Etats".

Essayer comme ca, et dite moi si ca a debloquer la situation.

Bonne journée,

Jean

Re: Le saut en fausse 2D

Publié : 07 Avr 2016 10:28
par Säar
Ahhhh!
Merci!

Je testerai cela ce soir. Du coup cela me pose une nouvelle question : Il y a t'il un moyen de définir une priorité entre des FSMs?
Exemple : Sur mon script IA je voudrais que mes ennemis ciblent/attaquent en priorité les autres ennemis (s'ils y en a à porté). Sinon, go to le joueur (cf. IA d'un MOBA)
Dois-je faire un FSM "Comportement Général" qui pointent (dans l'ordre) sur les deux FSM "Attack Minions" puis "Attack joueur" ou je peux juste donner une priorité au FSM "Attack Minions"


Et une petite précision supplémentaire, est-ce qu'il y a une différence (pour le joueur) entre mes deux méthodes pour obtenir le saut (AddForce et Controller Simple Move)? Il y a en t'il une meilleure que l'autre?

Merci

Re: Le saut en fausse 2D

Publié : 08 Avr 2016 20:07
par Säar
Hello,
Petit update.
Effectivement l'état "Jump" est détecté mais alors, pour faire le saut rien ne fonctionne (Addforce/CharacterSimpleMove).
J'ai zieuté un peu les forums anglophone et, de ce que j'en ai compris, la seule méthode fonctionnelle à l'heure actuelle c'est de faire une animation. Pas glop.

J'comprends pas le pourquoi du comment et, si c'est vraiment le cas, je suis un vraiment déçu qu'un gros add-on comme Playmaker soit incapable de gérer un truc simple comme les sauts...
Je veux dire, un personnage qui saute, c'est quoi? 95% des jeux, nan?

Re: Le saut en fausse 2D

Publié : 12 Avr 2016 08:39
par Thyriax
Salut Säar !
Ayant été confronté au même problème il y a quelque temps, j'ai fait quelques tests sans le character controller et j'ai pu ainsi utiliser "add force" pour le saut.
Les déplacements se font à l'aide d'un "get axis vector" suivi d'un "translate".
Après, dans l'absolu, je ne sais pas si le fait de ne pas utiliser un "character controller" posera problème à plus ou moins long terme dans le développement de ton jeu.

Quand à la priorité des FSM, oui, c'est possible. Le tout est de définir qu'est ce qui prioritaire sur quoi et quel événement déclenchera l'action (un tag name, un trigger, une distance... c'est à toi de voir)

voila, bon courage!