- Home /
 
              This question was 
             closed Apr 12, 2016 at 01:26 PM by 
             bromley for the following reason: 
             
 
            the problem is solved
 
               Question by 
               bromley · Apr 06, 2016 at 10:21 AM · 
                playercharactercontrollercrouchcrouching  
              
 
              Crouch Script with transform.localScale
I tried to create a script, attached to the CharacterController, that adds the possibility to crouch. The script is here:
 using UnityEngine;
 using System.Collections;
 
 public class PlayerCrouching : MonoBehaviour {
 
     public float crouchHeight = 0.75F;
     public float crouchSlowness = 0.75F;
 
     private Vector3 standUpPosition;
     private Vector3 crouchPosition;
     private Vector3 crouchingVelocity;
 
     void Awake () 
     {
         standUpPosition = transform.localScale;
         crouchPosition = transform.localScale;
         crouchPosition.y = crouchHeight;
     }
     
 
     void FixedUpdate () 
     {
         Vector3 targetPosition;
 
         if (Input.GetButton ("Crouch"))
         {
             targetPosition = crouchPosition;
         } 
         else 
         {
             targetPosition = standUpPosition;
         }
 
         transform.localScale = Vector3.SmoothDamp (transform.localScale, targetPosition, ref crouchingVelocity, (crouchSlowness / 10.0F));
     }
 }
 
               The script works fine, but the crouching is a little rough, in fact during the crouching the player stays a very little time in air, so it seems like that player vibrates.
Can anybody tell me what i have to do?
               Comment
              
 
               
              Follow this Question
Related Questions
Character moves slightly while crouching? 0 Answers
How can i stop my Third person character from crouching from a weapon i placed in his hand? 0 Answers
Crouch enabled on certain areas? 1 Answer
Crouch jump bug. 1 Answer
Making a cube crouch 1 Answer