AI
Comportamientos de enemigos y NPCs: perseguir, huir, patrullar, deambular.
15 bloques
#AI Distance To Object

Devuelve la distancia en píxeles entre este objeto y otro objeto.
Se mide entre las posiciones de ambos objetos (su x, y de la esquina superior izquierda), así que coincide con la separación visual solo si tienen un tamaño parecido. Devuelve 0 si no hay ningún objeto con ese nombre.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Ejemplo Conectalo a un If con una comparación para que el enemigo ataque cuando el jugador está a menos de 150 píxeles.
#Chase Object

Mueve este objeto en línea recta hacia otro objeto a una velocidad fija.
Funciona igual que Move Toward Object con Use AI Speed apagado: cambia la posición directamente (no la velocidad), nunca se pasa del objetivo y no rota el objeto. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame. No hace nada si no encuentra el objeto.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: 180 |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: number, any |
Ejemplo Dentro de On Update de un enemigo con Speed 120 para que persiga al Player.
#Flee From Object

Mueve este objeto en línea recta alejándolo de otro objeto a una velocidad fija.
Funciona como Move Away From Object con Use AI Speed apagado: cambia la posición directamente, no tiene límite de distancia y no rota el objeto. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame. No hace nada si no encuentra el objeto o si los dos están exactamente en el mismo punto.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: 180 |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: number, any |
Ejemplo Dentro de un If con Object Is Near? para que una criatura escape solo cuando el jugador se acerca.
#Follow Object

Mueve este objeto hacia otro objeto y lo orienta hacia él, frenando al llegar a cierta distancia.
Mientras esté más lejos que Stop Distance, rota para mirar al objetivo y avanza hacia él; dentro de esa distancia se queda quieto y conserva su última rotación. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame. Las distancias se miden entre las posiciones de los objetos (su x, y de la esquina superior izquierda).
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: 180 |
Stop Distancenúmero | Distancia en píxeles a la que el objeto deja de acercarse. Los valores negativos cuentan como 0.Por defecto: 80 |
Use AI Speedlista | true usa la velocidad guardada con Set AI Speed (180 si nunca se definió) e ignora Speed; false usa Speed. Por defecto está en true, así que cambialo a false si querés que el valor de Speed cuente.Opciones: true · false |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: number, any |
Stop Distanceencastre | Distancia en píxeles a la que el objeto deja de acercarse. Los valores negativos cuentan como 0.Por defecto: number, any |
Ejemplo Dentro de On Update de una mascota con Stop Distance 60 para que siga al jugador sin chocarlo.
#Keep Distance From Object

Mantiene este objeto a cierta distancia de otro, alejándose si está muy cerca y acercándose si está muy lejos.
Si está más cerca que Distance menos Tolerance, se aleja; si está más lejos que Distance más Tolerance, se acerca; en el medio se queda quieto. Mientras se mueve siempre gira para mirar al objetivo. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Distancenúmero | Distancia en píxeles a mantener con el objetivo. Los valores negativos cuentan como 0.Por defecto: 200 |
Tolerancenúmero | Cuántos píxeles puede variar la distancia hacia cada lado antes de que el objeto se mueva. Los valores negativos cuentan como 0.Por defecto: 20 |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: 180 |
Use AI Speedlista | true usa la velocidad guardada con Set AI Speed (180 si nunca se definió) e ignora Speed; false usa Speed. Por defecto está en true, así que cambialo a false si querés que el valor de Speed cuente.Opciones: true · false |
Distanceencastre | Distancia en píxeles a mantener con el objetivo. Los valores negativos cuentan como 0.Por defecto: number, any |
Toleranceencastre | Cuántos píxeles puede variar la distancia hacia cada lado antes de que el objeto se mueva. Los valores negativos cuentan como 0.Por defecto: number, any |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: number, any |
Ejemplo Dentro de On Update de un enemigo arquero con Distance 250 para que se mantenga fuera del alcance cuerpo a cuerpo.
#Look At Object

Rota este objeto para que mire hacia otro objeto.
Cambia la rotación al instante (sin velocidad de giro). Los ángulos son de pantalla: 0 grados apunta a la derecha y 90 hacia abajo, porque la y crece hacia abajo. El sprite también rota. No hace nada si no encuentra el objeto.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Ejemplo Dentro de On Update de una torreta para que siempre apunte al Player.
#Move Away From Object

Mueve este objeto en línea recta alejándolo de otro objeto.
Cambia la posición directamente (no la velocidad), sin límite de distancia, y no rota el objeto. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame. No hace nada si no encuentra el objeto.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: 180 |
Use AI Speedlista | true usa la velocidad guardada con Set AI Speed (180 si nunca se definió) e ignora Speed; false usa Speed. Por defecto está en true, así que cambialo a false si querés que el valor de Speed cuente.Opciones: true · false |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: number, any |
#Move To Target

Mueve este objeto en línea recta hacia un objeto objetivo a una velocidad fija.
Se comporta igual que Chase Object: cambia la posición directamente, se detiene justo sobre el objetivo en lugar de pasarse y no rota el objeto. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame.
| Campo | Qué significa |
|---|---|
Targettexto | Nombre del objeto objetivo (no distingue mayúsculas de minúsculas), por ejemplo un marcador vacío ubicado en la escena.Por defecto: Player |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: 180 |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: number, any |
Ejemplo Poné un objeto llamado Exit y usá este bloque en On Update para que un NPC camine hasta ahí.
#Move Toward Object

Mueve este objeto en línea recta hacia otro objeto.
Cambia la posición directamente (no la velocidad), se detiene justo sobre el objetivo en lugar de pasarse y no rota el objeto (para eso usá Look At Object). Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: 180 |
Use AI Speedlista | true usa la velocidad guardada con Set AI Speed (180 si nunca se definió) e ignora Speed; false usa Speed. Por defecto está en true, así que cambialo a false si querés que el valor de Speed cuente.Opciones: true · false |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: number, any |
#Object Is Far?

Verdadero cuando otro objeto está a la distancia indicada o más lejos de este objeto.
La condición es distancia >= Distance. Las distancias se miden entre las posiciones de los objetos (su x, y de la esquina superior izquierda). Devuelve falso si no hay ningún objeto con ese nombre, así que no es exactamente lo contrario de Object Is Near?.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Distancenúmero | Distancia mínima en píxeles.Por defecto: 300 |
Distanceencastre | Distancia mínima en píxeles.Por defecto: number, any |
Ejemplo Usalo en un If para dejar de perseguir cuando el jugador se escapó.
#Object Is Near?

Verdadero cuando otro objeto está dentro de la distancia indicada respecto de este objeto.
La condición es distancia <= Distance. Las distancias se miden entre las posiciones de los objetos (su x, y de la esquina superior izquierda). Devuelve falso si no hay ningún objeto con ese nombre.
| Campo | Qué significa |
|---|---|
Objecttexto | Nombre del otro objeto (no distingue mayúsculas de minúsculas). Si varios objetos tienen ese nombre, se usa el primero que se encuentra.Por defecto: Player |
Distancenúmero | Distancia máxima en píxeles.Por defecto: 300 |
Distanceencastre | Distancia máxima en píxeles.Por defecto: number, any |
Ejemplo Combinalo con Chase Object dentro de un If para que un enemigo persiga solo cuando el jugador está cerca.
#Patrol Between Points

Mueve este objeto de ida y vuelta entre dos objetos que hacen de puntos de ruta, mirando hacia donde va.
Primero va hacia Point A, cambia al otro punto cuando está dentro de Arrival Distance y repite. Cada bloque recuerda su propio próximo punto. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame. No hace nada si no existen los dos puntos.
| Campo | Qué significa |
|---|---|
Point Atexto | Nombre del objeto del primer punto de ruta, por ejemplo un marcador invisible.Por defecto: PointA |
Point Btexto | Nombre del objeto del segundo punto de ruta.Por defecto: PointB |
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: 180 |
Arrival Distancenúmero | Qué tan cerca en píxeles tiene que llegar el objeto a un punto antes de volver. Mínimo 1.Por defecto: 12 |
Use AI Speedlista | true usa la velocidad guardada con Set AI Speed (180 si nunca se definió) e ignora Speed; false usa Speed. Por defecto está en true, así que cambialo a false si querés que el valor de Speed cuente.Opciones: true · false |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: number, any |
Arrival Distanceencastre | Qué tan cerca en píxeles tiene que llegar el objeto a un punto antes de volver. Mínimo 1.Por defecto: number, any |
Ejemplo Poné dos objetos vacíos en los extremos de una plataforma y hacé patrullar a un guardia entre ellos dentro de On Update.
#Set AI Speed

Guarda la velocidad que usan los bloques de IA de este objeto cuando su opción Use AI Speed está en true.
No mueve el objeto por sí solo. Los valores negativos pasan a 0. Hasta que se ejecuta este bloque, la velocidad guardada es 180 píxeles por segundo (120 para Wander Randomly).
| Campo | Qué significa |
|---|---|
Speednúmero | Velocidad en píxeles por segundo. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: 180 |
Speedencastre | Velocidad en píxeles por segundo. Si conectás un bloque en el hueco, reemplaza el valor escrito.Por defecto: number, any |
Ejemplo Subila cuando un enemigo se enoja para que todos sus bloques de movimiento de IA se aceleren a la vez.
#Stop AI Movement

Pone en cero la velocidad de este objeto.
Solo borra la velocidad física. Los otros bloques de IA mueven la posición directamente, así que siguen moviendo el objeto mientras se ejecuten; para frenarlos, dejá de ejecutar esos bloques (por ejemplo con un If).
Ejemplo Usalo cuando un enemigo con Rigidbody queda aturdido, junto con una condición que saltee sus bloques de IA.
#Wander Randomly

Mueve este objeto en una dirección al azar que cambia cada tanto, mirando hacia donde avanza.
Elige una nueva dirección al azar cada Change Every segundos; el temporizador es compartido por todo el objeto. No esquiva paredes ni otros objetos. Avanza velocidad x tiempo del frame, así que tiene que ejecutarse en cada frame (dentro de On Update o de un Forever); una sola ejecución mueve apenas lo de un frame.
| Campo | Qué significa |
|---|---|
Speednúmero | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: 120 |
Change Everynúmero | Segundos entre cambios de dirección. Mínimo 0.05.Por defecto: 1 |
Use AI Speedlista | true usa la velocidad guardada con Set AI Speed (120 si nunca se definió) e ignora Speed; false (el valor por defecto) usa Speed.Opciones: true · false |
Speedencastre | Velocidad en píxeles por segundo. Los valores negativos cuentan como 0. Solo se usa cuando Use AI Speed está en false.Por defecto: number, any |
Change Everyencastre | Segundos entre cambios de dirección. Mínimo 0.05.Por defecto: number, any |
Ejemplo Dentro de On Update de bichitos decorativos, junto con Keep inside area para que no salgan de la pantalla.