Botones desactivados al configuarar el touch interface

No tengo 18 minutos para mirar un vídeo.

Lo más seguro es que la interfaz que aparece al activar los controles móviles esté impidiendo que llegue el evento a los botones que tienes dentro de componentes widget dentro de actores. Que se me ocurra, puedes hacer una de estas tres cosas:

  • Para que el touch interface no bloquee el evento cuando el usuario tenga que pulsar botones que estén en widgets dentro de componentes widget en actores, puedes desactivar la interfaz con los botones en pantalla: ‘Get player controllerActivate touch interface ’ y lo pones a “None”. Una vez el usuario ha pulsado en el widget, y no esperas que tenga que pulsar ningún otro widget dentro de un componente widget dentro de un actor, vuelves a poner la referencia a la touch interface que estés usando. ¿Y no se pueden tener las dos? (respuesta en la segunda opción). Si sólo tienes botones widget dentro de objetos 3D y no utilizas el touch interface, prueba a ponelo a None directamente en los ajustes del proyecto → Input para que esté así siempre fijo.
  • Utiliza un “Widget Interaction Component” para ejecutar los eventos de Touch que recibas. Busca tutoriales sobre cómo utilizar ese componente.
  • Lo más sencillo sería utilizar en los botones de los componentes widget que están en actores, el evento “OnInputTouchBegin” o el “OnPress”, que parece que sí se registran. (El “OnClicked” parece que no)

La primera y tercerca opción son muy cutres. Yo haría la segunda, pero tiene un poco más de trabajo. Si estás empezando con Unreal Engine, haz la tercera.

Si lo de antes no funciona, asegúrate de no estar consumiendo en ningún otro sitio los eventos Touch. Selecciona los nodos del evento “InputTouch” y en el panel Details, desmarca “Consume Input”. Aquí tienes información sobre esto: How does this Touch Input Event works? - #6 by Everynone

Toda esta información la he obtenido de esta publicación:
https://www.reddit.com/r/unrealengine/comments/1f3zki4/cant_press_on_screen_rendered_widget/
y de este enlace al que hace referencia:

PD: Como no dices ni en qué plataforma móvil te da problemas, o si lo que te da problemas es una preview que haces en el teléfono o si estás haciendo una full build completa, ni comentas si alguno de esos eventos de pulsación llega a activarse cuando estás ejecutándolo en el teléfono, ni si al activar el touch interfaces se te muestran botones sobre la pantalla… Pues mucho estoy suponiendo para la información que estás dando. Recuerda que la calidad de las respuestas DEPENDE MUCHO de la calidad de la información que se proporcione.

PD2: Nunca he hecho nada con Touch en Unreal Engine, así que sólo me estoy basando en lo que he leído despues de hacer un par de búsquedas.

1 Like