-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Sería más interesante, para unificar todo el control con el ratón, que en lugar de mover al flautista con teclas, lo muevas con ratón también.
Una forma de hacerlo es que el flautista vaya en línea recta a donde diga el ratón... ya sea haciendo clic o simplemente apuntando (llevando al ratón) sobre un punto concreto.
Esto no es complejo de programar en Unity pero pongo por aquí una sugerencia de método auxiliar que se puede usar (además usando métodos de extensión de C# de manera que puedes enrriquecer con sus propias movidas las clases de Unity que ya existen):
// Si pones esto en una clase estática rollo Herramientas Unity, habrás extendido la clase Camera de Unity y podrás usarlo así: Camera.main.GetMousePosition3D();
public static class HerramientasUnity
{
// Al poner (this Camera cam), le estamos diciendo a C#:
// "Añade esta función a todos los objetos de tipo Camera"
public static Vector3 GetMouseWorldPosition(this Camera cam)
{
Ray ray = cam.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit hit))
{
return hit.point;
}
return Vector3.zero; // Si no choca con nada, devuelve el centro
}
}