- Home /
 
How to add Sprinting?(with physics)
I tried to add a segment of code to where the variables change to a higher one or so, thus making it seem like you were sprinting, but It didn't seem to do anything, so I deleted it. It was a update function using an if statement which would tell the variables to change. I might have created this incorrectly so how would I go about making a sprinting feature in this code that I have? var walkDeacceleration : float = 0.5;
 @HideInInspector
 var walkDeaccelerationVolx : float;
 @HideInInspector
 var walkDeaccelerationVolz : float;
 
 var maxWalkSpeed : float = 15;
 var cameraObject : GameObject;
 
 @HideInInspector
 var horizontalMovement : Vector2;
 
 var jumpVelocity : float = 325;
 @HideInInspector
 var grounded : boolean = false;
 var maxSlope : float = 60;
 
 function Update () 
 {
     
 
     //walk speed slowdown
     horizontalMovement = Vector2(rigidbody.velocity.x, rigidbody.velocity.z);
     if(horizontalMovement.magnitude > maxWalkSpeed)
     {
         horizontalMovement = horizontalMovement.normalized;
         horizontalMovement *= maxWalkSpeed;
     }
     rigidbody.velocity.x = horizontalMovement.x;
     rigidbody.velocity.z = horizontalMovement.y;
 
     //walking and jumping mechanics
     if(grounded)
     rigidbody.AddRelativeForce(Input.GetAxis("Horizontal") * walkAcceleration*Time.deltaTime,0,Input.GetAxis("Vertical") * walkAcceleration*Time.deltaTime);
     
     else
     rigidbody.AddRelativeForce(Input.GetAxis("Horizontal") * walkAcceleration*walkAccelAirRatio*Time.deltaTime,0,Input.GetAxis("Vertical") * walkAcceleration*walkAccelAirRatio*Time.deltaTime);
     //only jump on ground/certain angles
     if(Input.GetButtonDown("Jump")&& grounded)
         rigidbody.AddForce(0,jumpVelocity,0);
 }
 function OnCollisionStay(collision : Collision)
 {
     for(var contact : ContactPoint in collision.contacts)
     {
         if(Vector3.Angle(contact.normal,Vector3.up) < maxSlope)
             grounded = true;
     }
 }
 
 function OnCollisionExit()
 {
     grounded = false;
 }
 
              Your answer
 
             Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Making a bubble level (not a game but work tool) 1 Answer
Cannot stop character movement upon trigger 2 Answers
Make so the script only moves and makes actions to the gameObject that its attached to. 2 Answers
How can I guarantee a CharacterController never leaves the ground? 2 Answers