[Résolu] [DB-RS] Force qui n'est pas toujours la même

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
Avatar de l’utilisateur
Kazzad
Messages : 50
Inscription : 17 Août 2016 19:51
Localisation : France
Contact :

[Résolu] [DB-RS] Force qui n'est pas toujours la même

Message par Kazzad » 07 Sep 2016 14:54

Bonjour amis développeurs !
Je tente de faire un ptit FPS, et récemment, j'ai attaqué les contrôles "secondaires" (sprint, sneak ect) et notamment le saut...
Mais je rencontre des problèmes au niveau de la force du saut qui peut largement différer et est assez aléatoire j'ai l'impression :/
J'ai tenté d'utiliser un AddForce puis directement de donner un velocity mais rien ne change: le saut est aléatoire et est très largement influencé par l'environnement...

Je vous file la partie de code qui concerne le saut:

J'ai une variable String collname qui indique le nom de l'objet touché et une variable float jump qui est tout simplement la force du saut
Terrain est le nom du gameObject qui forme le sol

Code : Tout sélectionner

function FixedUpdate () {
	if(collname == "Terrain"){
		if(Input.GetKeyDown(KeyCode.A) && Physics.Raycast(transform.position,Vector3.down,0.1)) {
			GetComponent.<Rigidbody>().velocity = Vector3(0,jump,0);
		}
	}
}

function OnCollisionStay (coll:Collision) {

	collname = coll.gameObject.transform.name;
}
Merci d'avance !
Dernière édition par Kazzad le 10 Sep 2016 17:44, édité 2 fois.
Ne disons pas que ça fonctionne, disons que nous n'avons pas trouvé de dysfonctionnement.

zugsoft
Messages : 386
Inscription : 26 Juin 2014 23:43
Localisation : Swiss
Contact :

Re: [DB-RS] Force qui n'est pas toujours la même

Message par zugsoft » 07 Sep 2016 16:07

Pour avoir toujours un saut assez réaliste, il faut stoquer dans une variable la position Y du perso avant le saut, et si il dépasse une certaines valeurs, annulé son saut en annulant sa force.
Moon RTS

Avatar de l’utilisateur
Kazzad
Messages : 50
Inscription : 17 Août 2016 19:51
Localisation : France
Contact :

Re: [DB-RS] Force qui n'est pas toujours la même

Message par Kazzad » 07 Sep 2016 19:41

Merci, mais le problème est que le saut peut aussi être insignifiant... On pourrait lui redonner une force s'il n'atteint pas la hauteur requise mais... Ca devient un peu le bordel...

Il n'y aurait pas d'autres options ? :triste1:

Et puis dois forcément y avoir quelque chose qui cloche si la force est aléatoire...
Ne disons pas que ça fonctionne, disons que nous n'avons pas trouvé de dysfonctionnement.

Avatar de l’utilisateur
Kazzad
Messages : 50
Inscription : 17 Août 2016 19:51
Localisation : France
Contact :

Re: [DB-RS] Force qui n'est pas toujours la même

Message par Kazzad » 10 Sep 2016 17:44

En fait j'ai trouvé: jump était multiplié par time.deltaTime et du coup, la valeur de jump changeait a chaque frame
Ne disons pas que ça fonctionne, disons que nous n'avons pas trouvé de dysfonctionnement.

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

Re: [Résolu] [DB-RS] Force qui n'est pas toujours la même

Message par boubouk50 » 13 Sep 2016 11:26

Effectivement, je ne voyais pas d'erreur dans le code. J'avais bêtement supposé que jump était une variable fixe.
"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

Verrouillé

Revenir vers « (Js) Javascript »