[Résolu]Appeler un FSM unique depuis d'autres puis retour

Règles du forum
Attention, si vous postez un lien vers un package (en guise d'exemple), assurez-vous qu'il ne contient que des éléments personnels et/ou libres de droit (donc sans l'asset PlayMaker dedans)

Sinon c'est assimilé à du piratage par diffusion sans autorisation de contenus protégés

Les modos auront alors comme consigne de carrément supprimer votre question
Avatar de l’utilisateur
jeanfabre
Messages : 62
Inscription : 12 Nov 2010 13:04
Localisation : France-Russie
Contact :

Re: Appeler un FSM unique depuis d'autres puis retour

Message par jeanfabre » 18 Sep 2015 15:28

:)

Pour faire un reset, il faut soit effacer la donné dans les playerprefs ( delete all ou just delete pour une "key" donné). Mais ensuite tu doit relancer le processus de tout les fsm pour qu'il recommence leur routine, donc par example creer un global event "RESET PREFS", et tout FSM qui utilise des prefs doit prendre en compte cet Event et recommancer a 0.

Pour les probleme de rotation, pars sur une scene vide, avec un cube, et travaille la dessus, quand tu maitrise le processus, alors tu peux complexifier la fonction ou retourner dans ton aure scene et debugger plus efficicacement. Je dirait que dans ton cas, c'est surement que tu te retrouve avec une mauvais info dans les prefs et donc le vector3 est 0,0,0. utilise le debugger en etape par etape pour bien voir se qui se passe.

A plus,

Jean

Avatar de l’utilisateur
stigma
Messages : 1414
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: Appeler un FSM unique depuis d'autres puis retour

Message par stigma » 18 Sep 2015 16:21

ça marche presque.
J'ai créé une variable Rotation (Vector3) et Vector3R data (String)
J'ai ajouté les actions qu'il faut dans les états Build unique Key, Set Position, Get Position, Get Data et Save Data
La caisse ne garde pas sa rotation. Que signifie "Position for" dans le Build String ?

PS: J'ai peur, c'est mon 666 ème message ! :(


I'm coming for you! :diable:

Edit :
ça y est ça marche enfin. Impec. Encore un grand merci Jean pour ton aide et ta patience ! Mais ne t'éloigne pas trop, j'aurais certainement encore besoin de tes lumières :super:

Re Edit:
En fait je croyais que ça marchait car je testais sur un cube. Dans le cas d'un cylindre (un bidon), je n'arrive pas à enregistrer la rotation.
J'arrive donc à faire un FSM pour la position et un FSM pour la rotation mais pas les 2 ensemble. Peut-on faire ça dans le même FSM ou en faut-il 2 ?
.........................
ça semble marcher avec 2 FSM. Je touche du bois...

Edit 26/10:
J'ai réussi pour la position et la rotation. Mais quand au joueur, je rencontre des soucis lors du changement de scène. J'ai pensé à renommer le joueur (First Person Controller) pour chaque scène et j'ai choisi "PlayerPref" au lieu de "Name". ça marche pour la scène principale, mais pour les autres scènes, le joueur se retrouve à l'ouest ! Est-ce que le fait d'utiliser la même méthode pour les objets et le perso est correct ?
Merci

Avatar de l’utilisateur
stigma
Messages : 1414
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour

Message par stigma » 13 Oct 2015 09:28

Salut Jean,
Je me permets de rouvrir ce post car je peine à résoudre un truc. Peut-ête devrais-je créer un nouveau post ? Mais c'est un peu la continuation du sujet.
J'ai un First Person A dans une scène A (scène principale) et un First Person B dans une scène B (une pièce d'où l'on peut rejoindre la scène A par 2 endroits différents)
Dans le jeu, First Person A et B sont bien sûr un seul joueur.
Quand First Person B revient dans la scène A par la porte qu'il vient d'emprunter, il se retrouve bien au bon endroit. PlayerPrefs a bien fonctionné. Mais s'il choisi de retourner dans la scène A par une autre porte, c'est là que ça se gâte. Il n'est donc pas au nouvel endroit, oeuf course !
Comment faire pour forcer les nouvelles coordonnées (un Vector3) au nouvel endroit où il devrait être ?

J'ai essayé de décrire la situation le plus clair possible. Merci d'avance si tu peux m'aider à résoudre ça.

Avatar de l’utilisateur
jeanfabre
Messages : 62
Inscription : 12 Nov 2010 13:04
Localisation : France-Russie
Contact :

Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour

Message par jeanfabre » 13 Oct 2015 12:25

Bonjour,

je pense qu'il faut que tu sauve les variables en fonction de leur scene. donc dans les playerpref, les clefs ont le format suivant:

SCENE-KEY par exemple: "Niveau3-PositionPlayer" et tu savue la position du joueur au niveau 3 la dedans. tu peux donc ainsi enregistrer "Niveau5-PositionPlayer" et ainsi de suite. Dans tes fsm, lorsque tu va chercher une info dans les playerprefs, tu va creer la clef dynamiquement "Niveau"+Scene index+"-PositionPlayer" ( action "build string").

ca ira ca?

A plus,

Jean

Avatar de l’utilisateur
stigma
Messages : 1414
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour

Message par stigma » 13 Oct 2015 13:03

Dans une même scène, j'ai besoin d'avoir plusieurs positions définies pour le perso, suivant l'endroit où je veux qu'il soit. En d'autres termes, quand j'ai un PlayerPrefs nommé "First Person scene principale", comment lui forcer de nouvelles coordonnées (position) ?

Edit 17/10
Salut Jean,
Je réédite ce post car j'ai un "petit" souci. La modif d'un PlayerPref d'une autre scène me parait compliqué alors je voudrais seulement modifier les coordonnées du joueur dans une même scène (pour les changements de scène, j'utilise des variables globales).
Voici ce que je fais mais ça ne marche pas. J'espère que mon FSM est clair
Image
En définitive, je cherche juste à forcer les coordonnées du joueur par une position que j'ai défini (position_echelle)
Merci d'avance

Avatar de l’utilisateur
jeanfabre
Messages : 62
Inscription : 12 Nov 2010 13:04
Localisation : France-Russie
Contact :

Re: Appeler un FSM unique depuis d'autres puis retour

Message par jeanfabre » 19 Oct 2015 10:44

Salut,

bien, je suis content que tu avance.

Le probleme est le suivant.

le format de ton string est "[x],[y],[z]" alors quand dans l'action Convert string to vector3 tu a "Vector3/([x],[y],[z]/)"

essaye donc avec "[x],[y],[z]" et ca va marcher.

Bye,

Jean

Avatar de l’utilisateur
stigma
Messages : 1414
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: Appeler un FSM unique depuis d'autres puis retour

Message par stigma » 19 Oct 2015 10:57

J'ai fait la modif mais le perso ne prend pas les coordonnées.

Edit:
J'ai tellement de FSM partout que ça se mélange un peu parfois. Maintenant ça marche. J'ai encore des trucs à régler de mon côté mais je considère le topic comme résolu.

encire merci Jean

Avatar de l’utilisateur
jeanfabre
Messages : 62
Inscription : 12 Nov 2010 13:04
Localisation : France-Russie
Contact :

Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour

Message par jeanfabre » 27 Oct 2015 12:16

Bonjour,

tu as pu avancé?

Jean

Avatar de l’utilisateur
stigma
Messages : 1414
Inscription : 17 Nov 2012 18:29
Localisation : Perdu dans les mondes de Myst
Contact :

Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour

Message par stigma » 27 Oct 2015 12:46

Non pas trop. J'ai repris mon ancienne méthode, 2 variables globales pour la position et la rotation du joueur. En fait pour les objets la méthode que tu m'as donnée marche très bien, mais pas pour le joueur lorsqu'il doit gérer des positions définies. Ce n'est pas grave, ça marche bien comme ça. Merci Jean

Répondre

Revenir vers « Vos Questions »