- Home /
First person dash advice
I'm currently making a dash controller for my character with the use of the Character controller because it fits with what I'm currently doing in my game. I've made a specialmovement script which will contain special moves movements. The solution that I made for dashing is that I placed a game object on my character that would be his dashing destination.
Right now, it doesn't work at the moment however I'm really not that familiar with Assign Vector 3s and thats where I can see the problem. Can anyone help me out or is it better if I switch to Rigidbody instead??
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class specialmove : MonoBehaviour
{
private PlayerMovement PM;
public float sprintSpeed=15f;
public float moveSpeed = 10f;
public float crouchSpeed = 2f;
public float dashSpeed=50f;
private Transform lookRoot;
[SerializeField] private float standHeight = 1.5f;
[SerializeField] private float crouchHeight = 0.5f;
[SerializeField] private Transform StartPos;
[SerializeField] private Transform DashPos;
private float timeToDash;
[SerializeField] private float DashTimer=10f;
private bool isCrouching;
// Start is called before the first frame update
void Start()
{
PM = GetComponent<PlayerMovement>();
lookRoot = transform.GetChild(0);
}
// Update is called once per frame
void Update()
{
Sprint();
Crouch();
Dash();
}
void Sprint()
{
if (Input.GetKeyDown(KeyCode.LeftShift)&&!isCrouching)
{
PM.speed = sprintSpeed;
}
if (Input.GetKeyUp(KeyCode.LeftShift)&&!isCrouching)
{
PM.speed = moveSpeed;
}
}
void Crouch()
{
if (Input.GetKeyDown(KeyCode.C))
{
if (isCrouching)
{
lookRoot.localPosition = new Vector3(0f, standHeight, 0f);
PM.speed = moveSpeed;
isCrouching = false;
}
else
{
lookRoot.localPosition = new Vector3(0f, crouchHeight, 0f);
PM.speed = crouchSpeed;
isCrouching = true;
}
}
}
void Dash()
{
if (Input.GetKeyDown(KeyCode.E))
{
transform.localPosition = Vector3.Lerp(StartPos.localPosition, DashPos.localPosition, Time.deltaTime * dashSpeed);
}
}
}
}
Your answer
Follow this Question
Related Questions
player rotate to camera direction but not moving in it's direction 0 Answers
Smoother dash with a Character Controller 2 Answers
Szise is wrong in build 2 Answers
My player collision is not accurate/precise enough 2 Answers
When I look around, my character rotates in a weird circle and it causes it to move around. 0 Answers