Problème avec une animation inversé

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
Pjarcos78
Messages : 48
Inscription : 06 Jan 2015 19:33

Problème avec une animation inversé

Message par Pjarcos78 » 26 Avr 2016 15:15

Bonjour à tous,
Je cherche à faire un gameplay de combat et je m'attaque (oulà, jeu de mot vraiment nul :lol: ) à la parade :
J'ai trouvé le moyen de stopper l'animation d'attaque lorsque l'arme du joueur attaquant touche celle du joueur défendant et j'inverse ensuite l'animation pour donner un effet de rebond après le choc.
J'utilise ce code trouvé dans la doc en jouant avec la variable state.speed :

Code : Tout sélectionner

var anim: Animation;

function Start() {
	anim = GetComponent.<Animation>();
	
	// Make all animations in this character play at half speed
	for (var state : AnimationState in anim) {
		state.speed = 0.5;
	}
}
Mon problème est donc d'arrêter l'animation quand elle est revenu à son point de départ.
Je ne sais pas si j'ai été clair ()si non, n'hésitez pas à poser des questions ;-) ,
Merci de vos réponses,
Pjarcos

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6226
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème avec une animation inversé

Message par boubouk50 » 26 Avr 2016 15:40

Tu y es presque: AnimationState possède la propriété time.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Pjarcos78
Messages : 48
Inscription : 06 Jan 2015 19:33

Re: Problème avec une animation inversé

Message par Pjarcos78 » 27 Avr 2016 11:41

Décidément, tu es mon sauveur officiel :lol:
Toujours un grand merci à toi boubouk50 :-D

Edit : tant que j'y suis, j'ai une petite question :
Dans le code du 1er message est-ce que "AnimationState in anim" équivaut à "anim.Animation" ?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6226
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème avec une animation inversé

Message par boubouk50 » 27 Avr 2016 12:02

C'est mon "job", Steve.

anim.Animation n'existe pas (ou plus?). Tu as quelle version d'Unity?
EDIT - anim["NomDeL'Animation] est l'AnimationState
Qu'as-tu en tête?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Pjarcos78
Messages : 48
Inscription : 06 Jan 2015 19:33

Re: Problème avec une animation inversé

Message par Pjarcos78 » 03 Mai 2016 19:46

Désolé du retard, j'ai eu un gros problème d'ordinateur ... Bref
J'ai la version 4.6.3 où anim.Animation fonctionne à condition de déclarer anim comme "var anim : Animation" et de dragAndDrop l'animation directement dans la hiérarchie.
Et je n'avais rien de particulier en tête mise à part un peu de curiosité ;)
Encore merci beaucoup :mrgreen:

Pjarcos78
Messages : 48
Inscription : 06 Jan 2015 19:33

Re: Problème avec une animation inversé

Message par Pjarcos78 » 09 Juin 2016 17:58

Je me relance sur ce post pour éviter d'en créer un autre puisque c'est dans la même longueur d'onde,
Je voudrais savoir s'il existe une fonction d'Unity qui permet de faire une liaison entre une frame d'une animation et le commencement d'une autre ?
Je ne pense pas avoir été très clair, pour prendre un petit exemple, j'ai une animation d'un personnage qui tient une tasse et une autre où il est "standing" et je veux passer de l'une à l'autre avec une liaison le plus fluide possible : le bras tenant la tasse revient le long du corps mais d'à partir de n'importe quelle position du bras durant l'animation "tasse"

Merci d'avance ;-)

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Problème avec une animation inversé

Message par F@B » 10 Juin 2016 19:38

t'as regardé un minimum les tutos sur mecanim et les blendTree??

https://www.youtube.com/watch?v=HeHvlEYpRbM

https://unity3d.com/learn/tutorials/top ... list=17099
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Pjarcos78
Messages : 48
Inscription : 06 Jan 2015 19:33

Re: Problème avec une animation inversé

Message par Pjarcos78 » 15 Juin 2016 19:12

Oui, bien que je n'en ais jamais utilisé (je n'ais pas encore trouvé de tuto correct sur l'interaction code/blend trees), je savais que le blend tree existait mais je ne sais absolument pas comment l'utiliser pour résoudre mon problème.
Je ne le voyait que comme un "lisseur d'animation", qu'il a les même fonction qu'un CrossFade mais dans une interface plus intuitive ; mais je semble être totalement en dehors de la plaque ...
Pourriez-vous éclairer le pauvre débutant que je suis :gene: ?

Verrouillé

Revenir vers « (Js) Javascript »