[DB-AL]Besoin d'aide animation Unity

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Matocs
Messages : 32
Inscription : 22 Oct 2016 00:24

[DB-AL]Besoin d'aide animation Unity

Message par Matocs » 22 Oct 2016 12:04

Bonjour j'ai besoin d'aide car j'ai crée un javascript pour lancer les animations sur mon game object , mais a chaque fois que l'animation est terminée, le game object revient a sa position de départ et j'aimerais justement que lorsque l'animation est finie , le personage ne bouge plus. Merci :-D

Voici le code

Code : Tout sélectionner


#pragma strict

function Start () {

}

function Update () {

if(Input.GetKeyDown(KeyCode.Z)){

animation.Play("running");

}


Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [DB-AL]Besoin d'aide animation Unity

Message par Moi 1971 » 22 Oct 2016 12:08

Bonjour,
Les animations servent à bouger visuellement(décomposition des mouvements), si tu veux bouger géographiquement, il faut le faire par code.
Animation => tout ce qui est visuel, les mouvements du personnage sont décomposés mais toujours en restant sur place.
Code => tout ce qui fait bouger le G.O (vers la droite, vers la gauche, vers le haut et vers le bas) en utilisant le transform.

Matocs
Messages : 32
Inscription : 22 Oct 2016 00:24

Re: [DB-AL]Besoin d'aide animation Unity

Message par Matocs » 22 Oct 2016 12:41

Bonjour Merci de votre réponse je crois que j'ai compris je vais essayer et je vous tiens au courent

Matocs
Messages : 32
Inscription : 22 Oct 2016 00:24

Re: [DB-AL]Besoin d'aide animation Unity

Message par Matocs » 22 Oct 2016 13:13

Rebonjour j'ai compris que l'animation n'avait en rien avoir avec le personnage mais le problème c'est que j'ai utilisé transform pour déplacer mon personnage mais il se téléporte pour se déplacer or je voudrais juste qu'il se déplace de manière linéaire.Merci

Le code de déplacement :

Code : Tout sélectionner

this.transform.Translate(0,0,1);

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [DB-AL]Besoin d'aide animation Unity

Message par Moi 1971 » 22 Oct 2016 15:42

Il faut que tu apprennes à chercher par toi même dans la Doc Unity et si jamais tu ne comprends pas la Doc, tu peux venir poser une question ici. Sinon, à chaque nouvel obstacle il te faudra venir ici, attendre que quelqu'un veuille bien te répondre. tu vas perdre tu temps.
Donc, pour ta question ( et pour toute autre question futur) tu ouvres Google, tu tappes "Unity 3d ..." Pour ta question les "..." sont remplacés par "transform translate" Ce qui donne : "Unity 3d transform translate"
Et dans la liste proposée tu choisies :https://docs.unity3d.com/ScriptReferenc ... slate.html
;-)

Matocs
Messages : 32
Inscription : 22 Oct 2016 00:24

Re: [DB-AL]Besoin d'aide animation Unity

Message par Matocs » 22 Oct 2016 17:59

Merci mais le problème c'est que même en suivant la doc j'ai toujours ce problème :/

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [DB-AL]Besoin d'aide animation Unity

Message par Moi 1971 » 22 Oct 2016 18:18

Montre ton code complet.

Matocs
Messages : 32
Inscription : 22 Oct 2016 00:24

Re: [DB-AL]Besoin d'aide animation Unity

Message par Matocs » 22 Oct 2016 19:07

Voila :)

Code : Tout sélectionner

#pragma strict
this.animation.wrapMode = WrapMode.Loop;

function Start () {
animation.Play("neutral_idle");
}

function Update () {

if(Input.GetKeyDown(KeyCode.Z)){
transform.Translate (0, Time.deltaTime , 0, Space.World );

animation.Play("running_inPlace");



}
if(Input.GetKeyDown(KeyCode.Q)){


 

animation.Play("running_inPlace");
this.transform.Translate(-0.1,0,0);

}

if(Input.GetKeyUp(KeyCode.Z)){

animation.Play("neutral_idle");

}

if(Input.GetKeyUp(KeyCode.Q)){

animation.Play("neutral_idle");

}


if(Input.GetKey(KeyCode.Space)){

animation.Play("jump");
}

if(Input.GetKeyUp(KeyCode.Space)){

animation.Play("neutral_idle");

}
}


Matocs
Messages : 32
Inscription : 22 Oct 2016 00:24

Re: [DB-AL]Besoin d'aide animation Unity

Message par Matocs » 22 Oct 2016 19:10

Pour transform.Traslate j'ai essayé Vector3.right etc.. mais mon personnage se déplace toujours en se téléportant et ne tourne pas

enfait j'aimerais que tant que la touche z est enfoncée , le personnage avance.

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: [DB-AL]Besoin d'aide animation Unity

Message par Moi 1971 » 22 Oct 2016 20:22

Matocs a écrit :...enfait j'aimerais que tant que la touche z est enfoncée , le personnage avance.
Et dans ton code :

Code : Tout sélectionner

if(Input.GetKeyDown(KeyCode.Z)){
transform.Translate (0, Time.deltaTime , 0, Space.World );
animation.Play("running_inPlace");
}
....
if(Input.GetKeyUp(KeyCode.Z)){
animation.Play("neutral_idle");
}
Tu fais deux fois le test sur la touche "Z"
Comprends-tu le code? Il va falloir que tu fasses des tutos pour apprendre.
Pour essayer, remplace les deux if du dessus par celui-là:

Code : Tout sélectionner

if(Input.GetKeyDown(KeyCode.Z)){
animation.Play("running_inPlace");
transform.Translate (Vector3.forward * Time.deltaTime, Space.World );
}

Verrouillé

Revenir vers « (Js) Javascript »