- Home /
 
Crouching script not working?
Hey all, Im having lots of trouble with my player crouching script. When i press the "Crouch" button, i would like the both the camera and collider to lerp to a new position. Unfortunately, as my code stands, the camera will not move, and the collider moves only slightly. Im fairly new to unity so i would prefer an explanation as to why it is doing this over just the code to fix it.
Also when my crouch function starts, I determine whether or not the player is currently crouching by seeing if their position is equal to the standingHeight or crouchingHeight variable. How would i do this correctly if the player pressed "Crouch" in the middle of a lerp? Thank you all in advance :)
// Crouching function
 public void performCrouch()
 {
     if (Input.GetButtonDown("Crouch"))
     {
         // Checks status of Collider.
         if (col.height == standingHeight)
             crouch = true;
         if (col.height == crouchHeight)
             crouch = false;
         // Transforms Collider and Camera.
         if (crouch == true)
         {
             float desiredPos = 1f;
             float tempPos = fpsCam.transform.localPosition.y;
             tempPos = Mathf.SmoothDamp(tempPos, desiredPos, ref velocityY, 0.4f);
             fpsCam.transform.localPosition = new Vector3(0f, tempPos, 0f);
             tempHeight = col.height;
             tempHeight = Mathf.Lerp(tempHeight, crouchHeight, 5f * Time.fixedDeltaTime);
             col.height = tempHeight;
         }
         if (crouch == false)
         {
             Vector3 desiredPos = new Vector3(0f, standingHeight, 0f);
             Vector3 tempPos = fpsCam.transform.localPosition;
             tempPos = Vector3.Lerp(tempPos, desiredPos, 2f * Time.fixedDeltaTime);
             fpsCam.transform.localPosition = tempPos;
             tempHeight = col.height;
             tempHeight = Mathf.Lerp(tempHeight, standingHeight, 5f * Time.fixedDeltaTime);
             col.height = tempHeight;
         }
     }
 }
 
              Your answer
 
             Follow this Question
Related Questions
Smooth camera shift, Lerp? SmoothShift? 2 Answers
It is possible to add a Cinemachine ColliderComponent to Cinemachine FreeLookComponent 0 Answers
How do I make sure that my character does not collide with flying obstacles when crouching? 2 Answers
2D Camera Smooth follow, FixedUpdate and LateUpdate odd difference, help needed. 1 Answer
Why does this IF statement loop without finishing? 0 Answers