Merci ! C'est déjà pas malJe ne fais pas de déplacement de personnages, donc je ne suis pas à même de te donner LA réponse adaptée, je ne peux que te guider vers un chemin possible.
oui j'ai bien vu qu'il existe plein de façon de faire, celles que tu cites mais je ne dois pas les comprendre comme il faut car à chaque fois je les ai appliqué sans un bon résultat, mais je vais persister ! tu m'as mis sur la voie (je ne comprenais pas bien la différence entre velocity et addforce par exemple)Je te dis de regarder ce qu'il se fait car il n'y a pas qu'une seule méthode.
Ce que tu dis me semble vrai pour une partie de ce que je veux faire : "course+saut=saut plus grand"En fait, avec un rigidbody et des forces, tu ne dois pas te soucier d'aller en avant lors d'un saut.
C'est la même chose dans la vie, tu avances et tu sautes. Tu donnes une impulsion vers le haut pour sauter et tu avances pendant ton saut parce que tu as une vitesse de départ.
mais pour la première étape "saut simple", il me semble qu'on peut sauter sans avoir de vitesse préalable, depuis une position immobile, sans véritable élan, sans vitesse et sans déplacement préétabli. mais ce sera un saut plus modeste, forcément. C'est ce point que je cherche en particulier.
je vais creuser et je posterai la solution si je la trouve.
pour le moment j'ai obtenu des résultats un peu étranges en remplacant le paramètre velocity par addforce pour gérer les déplacements du personnages :
Code : Tout sélectionner
// marcher et courrir
float deplacement = Input.GetAxis("Horizontal");
monAnim.SetFloat("ConditionMarcher", Mathf.Abs(deplacement));
float marche = Input.GetAxisRaw("Fire3");
monAnim.SetFloat("ConditionCourir", marche);
if (marche > 0) {
monRB.AddForce(transform.forward * vitesseCourse, ForceMode.Force);
}
else {
monRB.AddForce(transform.forward * vitesseMarche, ForceMode.Force);
}