Categorías
Informática Universitario Videojuego

Avatar y movimiento

El avatar que controla el jugador y las mecánicas básicas que permiten la exploración del entorno, como el movimiento, los saltos, caídas, etc. son de las primeras características a desarrollar en el juego.

En un sistema de entrada sofisticado, como es el «Enhanced Input» de Unreal Engine cada acción puede ser causa de varios eventos:

  • Comenzada (Started) se produce SIEMPRE que se pulsa una tecla, pero sólo ese primer fotograma. En el caso del ratón, al comienzo del movimiento y no volverá a producirse hasta que haya habido al menos un fotograma SIN MOVIMIENTO ALGUNO del ratón.
  • En curso (Ongoing) se produce todos los fotogramas en los que la tecla está pulsada pero la acción aún NO ha sido activada. Tiene sentido para acciones que «se cargan» de alguna manera, por ejemplo cuando el activador es soltar la techa y no pulsarla.
  • Activada (Triggered) se produce todos los fotogramas mientras la acción esté «activada», lista para dispararse. El activador por defecto es «down», es decir, tener la tecla apretada; o en el caso del ratón (eje mouseXY), cualquier movimiento. Para usar otros activadores conviene entender muy bien cómo funciona el sistema de entrada. Cuidado porque «disparada» (fired) significa estar ejecutando el código de la acción, pero «activada» (triggered) significa que se cumplen las condiciones y por tanto SE PUEDE disparar el activador de la acción, es decir, SE PUEDE ejecutar su código. En muchos videojuegos es habitual que apretar un botón sea apuntar con el arma de fuego (acción «Comenzada» en el primer fotograma y luego «Activada» si seguimos apretándolo) y que soltarlo sea disparar («Completada»). Si trabajásemos en Unity, con el Input System se usarían los eventos «started», «performed» y «canceled» (porque no hay más eventos que esos tres)… o bien recurrir Input.GetKeyDown() e Input.GetKeyUp() si se usa el viejo Input Manager.
  • Cancelada (Cancelled) se produce en el fotograma en que una acción comenzada pero no activada, deja de poder ser activada. Por ejemplo, si debo mantener una tecla pulsada 5 segundos para realizar una acción, pero la suelto a los 4 segundos de pulsación, la acción no se dispara sino que se cancela.
  • Completada (Completed) se produce justo después de completar la acción, generalmente al soltar la tecla que la disparó, salvo si es un activador «one shot» donde la acción es activada y completada a la vez. En el caso del ratón se produce en cuanto este deja de moverse.

Para procesar el movimiento del ratón sin pulsar ninguno de sus botones parece ser que es necesario tener «Game Only» como modo de entrada y no mostrar el cursor del ratón.

Más información

Se recomienda consultar estos documentos similares: