- 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