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;
}