I’m admittedly new to this… anyway my issue is that the object I use for my character uses a character controller and my ground objects use box colliders. I start my character object several meters above the ground by it falls through the box collider every time. I’ve made the gravity very small in an attempt to counteract this and made my box collider much bigger, neither helped.
using UnityEngine;
using System.Collections;
public class PlayerClass : MonoBehaviour
{
private float hspeed = 10f;
private float vspeed = 0F;
private float gravity = 1F;
private float test = 0;
private Vector3 moveDirection = Vector3.zero;
private float hdirection;
public bool isaccending=true;
private float movspeed=0;
// Use this for initialization
public float movementSpeed = 10;
public float turningSpeed = 60;
void Start(){
}
void Update() {
CharacterController controller = GetComponent<CharacterController>();
float horizontal = Input.GetAxis("Horizontal") * turningSpeed * Time.deltaTime;
transform.Rotate(0, horizontal, 0);
float vertical = Input.GetAxis("Vertical") * movementSpeed * Time.deltaTime;
transform.Translate(-vertical, 0, 0);
float strafe = Input.GetAxis("Strafe")* movementSpeed * Time.deltaTime;
transform.Translate(0, 0, strafe);
isaccending=controller.isGrounded;
if(controller.isGrounded){
vspeed =0;
}else{
vspeed-=gravity* Time.deltaTime;
}
transform.Translate(new Vector3(0,vspeed,0));
}
}