I Have The Following Script For a Simple Rigidbody Movement, but When I Press Keyboard Keys It Doesn’t Move At All. Keep In Mind That I Didn’t Change Any Of Rigidbody’s Settings.
Code:
public class CharacterMovement : MonoBehaviour
{
bool IsForward, IsRight, IsLeft, IsBackward;
Rigidbody rb;
public float MoveSpeed = 10;
void Awake()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
if (Input.GetKey(KeyCode.A))
IsLeft = true;
if (Input.GetKey(KeyCode.S))
IsBackward = true;
if (Input.GetKey(KeyCode.D))
IsRight = true;
if (Input.GetKey(KeyCode.W))
IsForward = true;
}
void FixedUpdate()
{
if (IsLeft)
{
rb.AddForce(-transform.right * MoveSpeed * Time.deltaTime);
IsLeft = false;
}
if (IsBackward)
{
rb.AddForce(-transform.forward * MoveSpeed * Time.deltaTime);
IsBackward = false;
}
if (IsRight)
{
rb.AddForce(transform.right * MoveSpeed * Time.deltaTime);
IsRight = false;
}
if (IsForward)
{
rb.AddForce(transform.forward * MoveSpeed * Time.deltaTime);
IsForward = false;
}
}
}