‫Hola y bienvenido.
‫En esta lección, presentaremos dos nuevos tipos de activos, el árbol de comportamiento y la pizarra, que
‫son dos activos que nos permiten hacer algo muy interesante con el aire.
‫Permítanos hacerlo mucho más complicado.
‫Muy fácilmente, vamos a sumergirnos y ver cómo los usamos y los configuramos.
‫Bueno.
‫Así que queremos crear algunos sofisticados A. YO. comportamiento.
‫Ahora, la forma en que normalmente hacemos esto en Unreal es usando un sistema llamado árboles de comportamiento.
‫Ahora, ¿qué son estos?
‫Bueno, la mejor manera de averiguarlo es crear uno.
‫Así que sigamos adelante y hagamos clic derecho y listo.
‫Estamos buscando aquí debajo de la inteligencia artificial.
‫Y aquí hay dos opciones de comportamiento, árbol y pizarra.
‫Vamos a querer los dos.
‫Entonces, comencemos con el árbol de comportamiento.
‫El prefijo de esto es B. t y vamos a llamar a esto el enemigo.
‫Entonces comportamiento árbol enemigo.
‫Solo termino con eso.
‫Ellos van.
‫Y también necesitamos crear la otra cosa allí, que era una pizarra.
‫Ahora, ¿qué diablos es una pizarra?
‫Llegaremos a eso en solo un segundo.
‫Pero lo llamaremos el enemigo b b guión bajo es a, b, b para pizarra, b, t para árbol de
‫comportamiento.
‫Y mientras estamos en eso, tenemos algunas cosas relacionadas con A. YO..
‫Oye, voy a crear una nueva carpeta llamada A. YO. , y vamos a mover la pizarra, el árbol de
‫comportamiento.
‫Y en algún lugar aquí tenemos a nuestro tirador, A. YO. controlador.
‫Todo eso entra en A. YO. muévase aquí y luego podemos entrar en esa A. YO. carpetas, se ocupan de todo lo relacionado
‫con la IA.
‫Abramos nuestro árbol de comportamiento, en primer lugar, y acóplelo a la ventana principal.
‫Entonces, ¿qué diablos es esto?
‫Así que esto nos permite crear árboles de comportamientos donde podrías decir que tenemos parte del comportamiento
‫aquí para perseguir.
‫Parte de esto es para trolear.
‫Parte de eso es para otra cosa, abrir puertas, todo este tipo de cosas.
‫Por lo general, estructuran los comportamientos como montones y montones de árboles de comportamientos y subárboles, etc.
‫Veremos todo eso en detalle, pero baste decir que es una excelente manera de combinar comportamientos naturales
‫en sus juegos.
‫Ahora no es el ser todo y acabar con todo.
‫Hay mucha A. YO. tecnicas
‫Puede que este no sea el que quieras para tu juego, pero es un gran comienzo
‫y puedes lograr mucho con él.
‫Ahora, lo siguiente que podemos ver arriba, a la derecha, estos dos activos están vinculados al
‫árbol de comportamiento y la pizarra.
‫¿Qué diablos es una pizarra?
‫Bueno, la pizarra es como el recuerdo de tu A. YO. Es esencialmente donde almacena un montón
‫de variables.
‫Los ingresas desde el juego de forma muy parecida a como lo estábamos
‫haciendo con el sistema de animación, donde tienes estas diferentes propiedades que establece el juego.
‫Hacemos lo mismo con la A. YO. establecemos muchas propiedades que le brindan información sobre
‫su mundo de juego, y luego el árbol de comportamiento se basa en esas propiedades y las usa para decidir qué va a
‫hacer.
‫Puede establecer esas propiedades.
‫Puede usarlos como memoria, puede leer de esas propiedades y todas esas cosas maravillosas.
‫Entonces, con eso en mente, ¿cómo podemos configurar nuestro árbol de comportamiento en Blackboard para que estén vinculados entre
‫sí?
‫Bueno, vamos a expandir eso en nuestro panel de detalles.
‫Puede ver aquí que existe este activo de pizarra y automáticamente parece haberlo rellenado para
‫nosotros, de modo que el activo de pizarra está vinculado a este enemigo b b b, yo activo de pizarra.
‫Ahora todos nos alejaremos un poco de C++ para usar estos activos porque, obviamente, los
‫árboles de comportamiento y las pizarras están completamente dentro del editor.
‫No son planos como tales.
‫Son sus propias herramientas de edición y podemos interactuar con ellas en C++, pero eso no significa que vayamos
‫a utilizar el editor para las próximas dos conferencias además de C++.
‫No hay tanto plano allí.
‫Entonces, es genial que tengamos este árbol de comportamiento y esta pizarra, pero ¿cómo diablos
‫lo usamos realmente?
‫Bueno, para eso, volvemos a nuestro controlador aéreo.
‫Si recuerdas, el controlador es completamente responsable de ejecutar nuestros comportamientos y eso no es una excepción aquí.
‫El árbol de comportamiento es solo otra cosa que el controlador aéreo puede usar o ejecutar.
‫Entonces, la forma en que vamos a hacer esto es ir a nuestro punto de control y necesitamos tener
‫una forma de hacer referencia en el modelo a qué árbol de comportamiento queremos que se ejecute.
‫Entonces, lo primero que voy a hacer es ir a nuestro control de
‫CP y comentar las cosas en TTIC porque vamos a reemplazar esta funcionalidad con la funcionalidad del árbol de
‫comportamiento.
‫Y eso significa que puedo eliminar este radio de aceptación aquí porque ya no lo necesitamos.
‫Y en su lugar vamos a utilizar un puntero al nuevo comportamiento.
‫Y tengo que deletrear este árbol y puntero americano.
‫Ese es el árbol de comportamiento que quieres allí.
‫Y necesito reenviar declarar esto con una clase delante.
‫Y básicamente aquí, lo que quiero decir es que este es el comportamiento y.
‫Voy a mantener la ortografía americana aquí solo por consistencia.
‫Así que este es el comportamiento que queremos aquí ahora para ejecutar el comportamiento.
‫No podría ser más sencillo.
‫De nuevo, la A. YO. controla que la H tiene una función incorporada para esto.
‫Tenemos esta función de árbol de comportamiento de ejecución que se vuelve booleana.
‫Ya sea que pueda ejecutarlo con éxito o no, comience a ejecutarlo, eso es.
‫Y toma el activo beta, que es un puntero al árbol de comportamiento.
‫Así que eso es lo que vamos a querer usar y podemos hacerlo de nuevo al comenzar a jugar.
‫Así que lo que vamos a hacer es, en primer lugar, vamos a verificar que efectivamente tenemos un árbol de comportamiento
‫aquí.
‫Así que vamos a decir yo comportamiento.
‫No es igual a puntos nulos, ¿eh?
‫Porque no queremos usarlo de otra manera.
‫Y luego lo que podemos hacer es ejecutar el árbol de comportamiento llamado comportamiento del aire.
‫Realmente es así de simple ejecutar cualquier comportamiento y podemos seguir adelante y compilar.
‫Y una cosa más que podemos hacer con los árboles pesados es que podemos verlos correr en tiempo de ejecución, pero para
‫hacer eso, necesitas tener algún tipo de nodo aquí.
‫Así que solo vamos a agregar un nodo sin entender completamente lo que hace.
‫Voy a agregar un nodo de secuencia, y lo voy a conectar arrastrando hacia abajo desde el nodo raíz, debajo
‫del nodo raíz, los puntos destacados cuando paso el mouse sobre él hasta el poco arriba del nodo de
‫secuencia.
‫Y voy a guardar eso.
‫Voy a ir y presionar play e ir a mi recurso de árbol de comportamiento y debería poder ver un menú desplegable aquí,
‫pero no lo haría porque no se está ejecutando actualmente.
‫Así que dejemos de jugar.
‫¿Y por qué no se ejecuta?
‫Debido a que no lo hemos conectado y como controlador aéreo tirador, hagámoslo, puede ser un desafío
‫para usted conectarlo.
‫Con suerte, no debería ser demasiado difícil.
‫Bueno.
‫Bienvenido de nuevo.
‫Entonces, si vamos y echamos un vistazo aquí, estamos buscando un comportamiento.
‫Alguna razón por la que requirió una recompilación para que me apareciera.
‫Pero aquí está.
‫El comportamiento es lo que queremos.
‫Hacemos clic en el desplegable.
‫Solo hay una opción en este momento, por lo que solo tenemos un árbol de comportamiento.
‫Así que seleccione ese y compile y guarde.
‫Y si ahora seguimos adelante y jugamos el juego.
‫Y ve y echa un vistazo a Beattie Enemy II.
‫Puede ver que está resaltando la nota que se está ejecutando actualmente y tiene este pequeño menú
‫desplegable junto a los botones de parada de pausa, que le indica qué controlador de aire está observando actualmente el rastro
‫de comportamiento.
‫Entonces, esta es una gran funcionalidad para que puedas saltar y decir, está bien, ¿por qué ese aire
‫está quieto?
‫¿Por qué no persigue al jugador?
‫Puedes ver qué partes del comportamiento está ejecutando actualmente y decir, Oh, eso ve, ya sabes, eso
‫salió mal.
‫Es realmente útil para la depuración.
‫Puede ir y echar un vistazo a lo que todo su aire en el mundo está haciendo usando este menú desplegable.
‫Buena cosa.
‫Eso es todo por esta conferencia.
‫En la próxima lección, veremos cómo podemos configurar información en la memoria de pizarra
‫de nuestra IA desde C++.
‫Te veré allá.