Player moves slightly to the side?

Hey guys,

I have a small issue with my player movement. The movement in the script is based on the player’s rigidbody.

public void Walking()
	{
		if(Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.W))
		{
			rigidbody.AddForce(0,0,walkingSpeed);
			//rigidbody.velocity = new Vector3(0, 0, speed * Time.deltaTime);
			//transform.rotation = Quaternion.LookRotation(Vector3.forward);
			//rigidbody.rotation = Quaternion.Euler(0, 0, 0);
			//rigidbody.velocity = transform.forward * speed * Time.deltaTime;
		}
		
		if (Input.GetKey(KeyCode.DownArrow)|| Input.GetKey(KeyCode.S))
		{
			rigidbody.AddForce(0,0,-walkingSpeed);
			//rigidbody.velocity = new Vector3(0, 0, -speed * Time.deltaTime);
			//transform.rotation = Quaternion.LookRotation(Vector3.back);
			//rigidbody.rotation = Quaternion.Euler(0, 180, 0);
			//rigidbody.velocity = -transform.forward * speed * Time.deltaTime;
		}
		if (Input.GetKey(KeyCode.RightArrow)|| Input.GetKey(KeyCode.D))
		{
			rigidbody.AddForce(walkingSpeed,0,0);
			//rigidbody.velocity = new Vector3(speed * Time.deltaTime, 0, 0);
			//transform.rotation = Quaternion.LookRotation(Vector3.right);
			//rigidbody.rotation = Quaternion.Euler(0, 90, 0);
			//rotate += rotateSpeed*Time.deltaTime;
		}
		if (Input.GetKey(KeyCode.LeftArrow)|| Input.GetKey(KeyCode.A))
		{
			rigidbody.AddForce(-walkingSpeed,0,0);
			//rigidbody.velocity = new Vector3(-speed * Time.deltaTime, 0, 0);
			//transform.rotation = Quaternion.LookRotation(Vector3.left);
			//rigidbody.rotation = Quaternion.Euler(0, -90, 0);
			//rotate -= rotateSpeed*Time.deltaTime;
		}
}

You can take a look at the problem here.

I tried a couple of different things, but no success. I noticed that the player’s collider box slightly sinks into the floor. Might that be the problem since he has a rigidbody and maybe the collision with the floor brings the object off from course?

18352-01.jpg

1 Answer

1

Im not sure, but never have the player colliding with anything, it can cause collision errors and falling. basically move ht player up