Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Darcon en Noviembre 09, 2018, 10:29:37 AM

Título: Como puedo hacer que un personaje 2d mire al cursor todo el rato?
Publicado por: Darcon en Noviembre 09, 2018, 10:29:37 AM
Buenas tengo una duda estoy empezando con unity tengo hecho que mi personaje se buena con un getAxis pero me gustaría que mirara "apuntara" hacia donde esta el cursor todo el rato para un personaje en 2d (como si fuera el juego zombsroyale (http://zombsroyale.io)) nose si me explico
 
Muchas gracias :)
Título: Como puedo hacer que un personaje 2d mire al cursor todo el rato?
Publicado por: pioj en Noviembre 09, 2018, 10:54:16 AM
El ejemplo que has dado usa un círculo neutro que no mira hacia ninguna parte, son sus manos las que siempre están delante. Es un truco para que desde cualquier ángulo parezca que el personaje mira a dónde apunta...
 
Puedes convertir las coordenadas 2D de la posición del mouse en coordenadas globales 3D , con https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html (https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html)
Título: Como puedo hacer que un personaje 2d mire al cursor todo el rato?
Publicado por: Darcon en Noviembre 09, 2018, 11:07:16 AM
muchas gracias por ayudarme :)
 
el juego que dije era un ejemplo jeje pero aun así me gustaría saber como poder hacer que mire todo el rato al cursor jeje ando un poco perdido jeje
Título: Como puedo hacer que un personaje 2d mire al cursor todo el rato?
Publicado por: lightbug en Noviembre 09, 2018, 12:03:43 PM
Cita de: Darcon date=1541758036pero aun así me gustaría saber como poder hacer que mire todo el rato al cursor jeje ando un poco perdido jeje
   


en todo 2D tenés posiciones X e Y y podés solamente rotar en z, tendrías que buscar una función o método en el manual que te permita alinear el eje Y (el transform.up del objeto) o el eje x (el transform.right del objeto) hacia un punto (x,y), este punto lo sacás con lo que dijo Pioj, el resto es buscar una función que te permita hacer esto, tenés dos caminos, uno es usar Transform y que el método asigne solo la rotacion por vos (Ej LookAt), la otra es usar Quaternion y luego vos asignar el resultado a transform.rotation (creo que LookRotation) ...
 
Acá las páginas:
 
Transform (https://docs.unity3d.com/ScriptReference/Transform.html)
 
Quaternion (https://docs.unity3d.com/ScriptReference/Quaternion.html)