Hola,
estoy haciendo un setup de mi player usando ahora un CharacterController
pero tengo un pequeño problema al usar el método .Move,
y es que al caer desde algún sitio, como un borde o algo, lo hace
de manera casi instantánea... y eso es feo.
Lamentablemente en este gif no se puede apreciar demasiado bien, pero al caer lo hace demasiado cortante.
https://gyazo.com/84f28c21b1a7b6ef9508a638ace339f5 (https://gyazo.com/84f28c21b1a7b6ef9508a638ace339f5)
Alguna idea?
Y por si sirve de algo, aquí el trozo de código:
CharacterController cc;
private float velocidadVertical = 0f;
Vector3 velocidad;
public static float velocidadActual = 4f;
void Awake()
{
cc = GetComponent<CharacterController>();
}
void Update()
{
Movimiento();
}
void Movimiento()
{
float movimientoVertical = Input.GetAxis("Vertical") * velocidadActual;
float movimientoHorizontal = Input.GetAxis("Horizontal") * velocidadActual;
velocidadVertical += Physics.gravity.y * Time.deltaTime;
velocidad = new Vector3(movimientoHorizontal, velocidadVertical, movimientoVertical);
velocidad = transform.rotation * velocidad;
cc.Move(velocidad * Time.deltaTime);
}
Ayuda :(
el rigidbody controla la gravedad por si mismo, no tienes q programar esa parte... nada mas activas la casilla gravity y ajusta la gravedad en player settings...