- Home /
Why does my player just fall through the floor right when I press play?
I'm a bit of a noob at unity and C# can anyone solve this, i was watching a Brackeys tutorial and there are no errors in the console. I also don't know how to write & sign so i copied and pasted off the web.
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class playermovement : MonoBehaviour { public CharacterController controller;
public float speed = 12f;
public float gravity = -9.81f;
public Transform groundCheck;
public float groundDistance = 0.4f;
public LayerMask groundMask;
bool isGrounded;
Vector3 velocity;
// Update is called once per frame
void Update()
{
if(isGrounded && velocity.y <0)
{
velocity.y = -2f;
}
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * speed * Time.deltaTime);
velocity.y += gravity * Time.deltaTime;
Thats a really broken script ... what are you trying to do and is there a reason you arent just using the physics engine to simulate gravity?
That still wont do what I assume he wants.
It is saying: If IsGrounded && velocity is less than 0 lock the velocity at -2, which will give him a permanent y velocity of -2.
It's all a bit confused logically. It would probably be better if they told us what they were trying to achieve so we could provide them with a better implementation that they can learn from.
Answer by warthos3399 · Jan 27, 2020 at 01:41 AM
2 things: Make sure NavMesh is baked (very important), and make sure the player is set just a little bit above the terrain, or right on it. If the player is even a bit into/below the terrain, causes fall through.
Your answer
Follow this Question
Related Questions
How can I make my FPS player move towards the direction it is facing 1 Answer
why has the animator component stopped my scripts working? 0 Answers
How to make W button move towards mouse direction 1 Answer
how to make my bones follow the camera(FPS) 0 Answers
how do i disable fps controler 0 Answers