Added sliding which reverts back to crouching/crawling after 1 second

This commit is contained in:
Gregory Campbell
2019-12-05 23:17:24 -05:00
parent 9c10ca695d
commit ba63ebf72b
+14 -3
View File
@@ -25,6 +25,9 @@ public class PlayerController : MonoBehaviour
private float transformHeight; private float transformHeight;
private Vector3 moveDirection; private Vector3 moveDirection;
float startTime = 0.0f;
float oneSec = 1.0f;
void Start() void Start()
{ {
characterController = GetComponent<CharacterController>(); characterController = GetComponent<CharacterController>();
@@ -44,8 +47,7 @@ public class PlayerController : MonoBehaviour
if (jump <= 1) if (jump <= 1)
{ {
moveDirection = moveDirection.normalized * speed; //Remove this line to make running diagonal the fastest standard run moveDirection = moveDirection.normalized * speed; //Remove this line to make running diagonal the fastest standard run
} else } else {
{
moveDirection = (moveDirection.normalized * speed)/4; //Remove this line to make running diagonal the fastest standard run moveDirection = (moveDirection.normalized * speed)/4; //Remove this line to make running diagonal the fastest standard run
} }
@@ -65,10 +67,19 @@ public class PlayerController : MonoBehaviour
if(Input.GetKey(KeyCode.LeftControl)) if(Input.GetKey(KeyCode.LeftControl))
{ {
moveDirection = (moveDirection.normalized * speed/4); if(Input.GetKeyDown(KeyCode.LeftControl))
{
startTime = Time.time;
}
moveDirection = (moveDirection.normalized * speed * 2);
characterController.height /= 2; characterController.height /= 2;
capsule.height /= 2; capsule.height /= 2;
transform.localScale = new Vector3(transform.localScale.x, transformHeight/2, transform.localScale.z); transform.localScale = new Vector3(transform.localScale.x, transformHeight/2, transform.localScale.z);
if (startTime + oneSec <= Time.time)
{
moveDirection = (moveDirection.normalized * speed/4);
}
} else { } else {
moveDirection = moveDirection.normalized * speed; moveDirection = moveDirection.normalized * speed;
characterController.height = controllerHeight; characterController.height = controllerHeight;