- Home /
Player glitches in walls
I made a sci-fi parkour game, I made a player controller script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public Rigidbody rigidBody;
public float movementSpeed;
public float jumpForce;
private Vector3 movementDirection;
private bool isJumping = false;
// Start is called before the first frame update
void Start()
{
rigidBody = this.GetComponent<Rigidbody>();
isJumping = false;
}
// Update is called once per frame
void Update()
{
var horizontalInput = Input.GetAxis("Horizontal");
var verticalInput = Input.GetAxis("Vertical");
movementDirection = transform.right * horizontalInput * movementSpeed + transform.forward * verticalInput * movementSpeed;
if (Physics.Raycast(transform.position, Vector3.down, 1.1f))
{
if (Input.GetKeyDown("space"))
{
isJumping = true;
}
}
}
void FixedUpdate()
{
rigidBody.MovePosition(transform.position + (movementDirection * Time.fixedDeltaTime));
if (isJumping == true)
{
rigidBody.AddForce(0, (jumpForce * 10) * Time.fixedDeltaTime, 0, ForceMode.VelocityChange);
isJumping = false;
}
}
}
I made levels for my game using Pro-builder.

Now, I baked some lighting maps and enabled Global Illumination.
I ran into a problem where the player glitches through walls when I enter a horizontal and vertical keyboard input at the same time. The player can also walk through corners easily without pressing two inputs at a time, As if I disabled the collider. I checked all the colliders, They were all perfect. I added a new Vector3 variable that contains the horizontal input as x, and vertical input as z, Then I normalized it. The player can no longer glitch through the walls, But can still walk through corners. It also made the movement a bit snappy, As if you are using GetAxisRaw() instead of GetAxis().
Your answer
Follow this Question
Related Questions
Change Material depending on Collider position? 2 Answers
Why when i move the player object through the door the ontriggerenter/exit event are not fire ? 2 Answers
FPS all of a sudden gets stuck in floor??? 0 Answers
Connect 2 gameobjects to interact with them simultaneously? 2 Answers
How do you allow the joints in a character to freely fall based on gravity? 1 Answer