2016-10-27 3 views
1

salut tout le monde merci à tous d'avoir lu ma question, je crée un jeu de coureur pour toujours en utilisant l'unité 5, je veux que mon personnage saute au dessus de l'obstacle mais je veux avancer mais le saut que je fais prend très peu de temps et le personnage reste très près du sol, et ne bouge pas - tout en sautant - même j'applique une force comme dans le code, alors que puis-je faire?caractère d'unité ne bouge pas tout en sautant

void Start() 
{ 
    anim = GetComponent<Animator>(); 
    rbody = GetComponent<Rigidbody>(); 
    verticalJumpPower = 80f; 
    horizantalJumpPower = 1000f; 
    playerVelocity = 10f; 
    isGrounded = true; 
} 

***in update function :*** 

if(Input.GetKeyDown (KeyCode.UpArrow)) 
{ 
    rbody.AddForce(new Vector3(0,verticalJumpPower,horizantalJumpPower)); 
    anim.SetBool("jump",true); 
    isGrounded = false; 


    } 
+1

Essayez de changer le type '' ForceMode' à ForceMode.Impulse'. c'est-à-dire 'rBody.AddForce (nouveau Vector3 (0, verticalJumpPower, horizontalJumpPower), ForceMode.Impulse);' – Abion47

+0

cela a fonctionné pour l'application de la force mais le personnage ne bouge toujours pas en l'air – mohammad

+0

Est-ce que c'est pour un jeu 2D? Vérifiez les axes sur lesquels vous avez aligné votre univers de jeu. Vous devrez peut-être changer le constructeur Vector3 en 'horizontalJumpPower, verticalJumpPower, 0'. – Abion47

Répondre

1

i ajouté anim.applyRootMotion = false; et cela a fonctionné