[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
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
Re: Appeler un FSM unique depuis d'autres puis retour
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
- 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
ç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!
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
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
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!
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
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
- 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
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.
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.
Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour
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
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
- 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
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
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
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
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
Re: Appeler un FSM unique depuis d'autres puis retour
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
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
- 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
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
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
Re: [Résolu]Appeler un FSM unique depuis d'autres puis retour
Bonjour,
tu as pu avancé?
Jean
tu as pu avancé?
Jean
- 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
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