Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Duda CharacterController.Move

Iniciado por Null, Junio 06, 2016, 07:44:04 PM

Tema anterior - Siguiente tema
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


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...

Etiquetas: