Gracias Gracias:  1
Resultados 1 al 4 de 4

Tema: Rotar personaje sin que avance Unity (SOLUCIONADO)

  1. #1
    Usuario Senior Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    148

    Rotar personaje sin que avance Unity (SOLUCIONADO)

    Buenas tardes, tengo programado al personaje protagonista de tal manera que cuando pulsas una tecla de dirección comienza a correr hacia la dirección que has pulsado, pero en el momento en el que pulsas la dirección contraria el personaje busca el ángulo al que deseas dirigirte girando y haciendo como un compás, un arco y no rotando sobre su eje para dirigirse hacia donde quieres ir.

    ¿Que problema hay?, pues que si estás al borde de un precipicio y giras para donde no debes el protagonista se cae al barranco como si estuviese harto de la vida y no es lo que quiero que haga. Puedo solucionarlo simplemente aumentando la velocidad de rotación del personaje cuando busca el angulo al que queremos dirigirnos, pero aún así sigue haciendo un arco aunque mas pequeño y el personaje gira demasiado rápido.

    En este video de youtube se puede ver como han conseguido programar lo que necesito que haga el personaje al girar, pero no lo explica porque el tutorial va sobre la cámara:

    Mi pregunta es:
    ¿Sabeis como ha podido conseguir que se mueva así?.
    Saludos.
    Última edición por Jhonatan00_00; Hace 1 semana a las 13:20

  2. #2
    Usuario completo Avatar de Juani
    Fecha de ingreso
    Jul 2015
    Ubicación
    Montilla (Córdoba)
    Mensajes
    468

    Re: Rotar personaje sin que avance Unity

    Hola, no estoy seguro pero creo que era con la rotación local:

    transform.rotation = Quaternion.localEulerAngles(0, 45 , 0);

    Si esto no funciona tendrás que anular el desplazamiento cuando la tecla de rotación esté pulsada.

  3. #3
    Usuario Senior Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    148

    Re: Rotar personaje sin que avance Unity

    Gracias por responder, siempre eres tu quien aporta el granito de arena, una lastima que no haya mas movimiento por el foro... las cosas serian mucho mas fáciles.

    He probado a hacerlo tal y como me has explicado y da error, pero en cambio si que funciona poniendo:
    transform.localEulerAngles = new Vector3 (0,45,0);
    Aunque claro... gira de sopetón hacia el angulo que tiene que girar y yo lo que necesito es que lo haga suavemente.

    Lo tengo programado con "transform.rotation = quaternion.slerp" que hace las rotaciones suaves, pero no se como aplicarlo al transform.localEulerAngles por ejemplo al eje "Y" solamente.

    ¿Alguna otra función como quaternion.slerp que rote suavemente de un angulo a otro un eje?.
    Saludos.

  4. #4
    Usuario Senior Avatar de Jhonatan00_00
    Fecha de ingreso
    Oct 2016
    Mensajes
    148

    Re: Rotar personaje sin que avance Unity

    Buenos dias, ya he encontrado la solución haciendo pruebas... Habia probado un montón de comandos pero ninguno me hacia lo que yo queria que es que girase suavemente (sin tener que programar muchos algoritmos), por lo que he ido probando otras cosas y la solucion es crear un pivote que hará de personaje y el personaje realmente lo que hace es seguir la posición del pivote, de tal manera que podemos rotar al personaje como queramos que su rotación no va a afectar hacia donde se diriga y así podrá dar una vuelta sobre si mismo y otras muchas cosas, como desplazarse lateralmente, etc...

    Saludos.

Temas similares

  1. Respuestas: 7
    : 31-01-2018, 01:44
  2. Personaje estático con el animator de Unity
    Por heromen en el foro Animación y Rigging
    Respuestas: 4
    : 16-05-2017, 01:13
  3. 3ds Max Uaz 452...en avance
    Por jablanco en el foro Trabajos en Proceso
    Respuestas: 1
    : 27-10-2016, 15:12
  4. No avanza mi personaje en Unity
    Por isaackmexicali en el foro Videojuegos
    Respuestas: 2
    : 05-02-2016, 21:49
  5. Avance del r29
    Por MiraVirtual en el foro Trabajos Finalizados
    Respuestas: 3
    : 26-06-2008, 15:54

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •