En este módulo, aprenderás a crear inteligencia artificial (IA) para tus personajes en Unreal Engine utilizando Árboles de Comportamiento (Behavior Trees). Los Árboles de Comportamiento son una herramienta poderosa para definir comportamientos complejos de IA de manera modular y escalable.

Contenido

  1. Introducción a la IA en Unreal Engine
  2. Conceptos Básicos de los Árboles de Comportamiento
  3. Configuración Inicial
  4. Creación de un Árbol de Comportamiento Básico
  5. Nodos de Servicio, Tarea y Decorador
  6. Ejemplo Práctico: Patrullaje de un NPC
  7. Ejercicios Prácticos

  1. Introducción a la IA en Unreal Engine

La inteligencia artificial en Unreal Engine permite a los desarrolladores crear personajes no jugables (NPCs) que pueden interactuar con el entorno y con el jugador de manera autónoma. Unreal Engine proporciona varias herramientas para desarrollar IA, siendo los Árboles de Comportamiento una de las más utilizadas debido a su flexibilidad y facilidad de uso.

  1. Conceptos Básicos de los Árboles de Comportamiento

Un Árbol de Comportamiento es una estructura jerárquica que define una serie de tareas y decisiones que un agente de IA puede realizar. Los componentes principales de un Árbol de Comportamiento son:

  • Nodos de Raíz (Root Nodes): El punto de entrada del árbol.
  • Nodos de Composición (Composite Nodes): Controlan el flujo de ejecución del árbol (e.g., secuencias, selectores).
  • Nodos de Tarea (Task Nodes): Realizan acciones específicas (e.g., mover a un punto, atacar).
  • Nodos de Decorador (Decorator Nodes): Condiciones que deben cumplirse para que un nodo hijo se ejecute.
  • Nodos de Servicio (Service Nodes): Ejecutan lógica adicional en intervalos regulares.

  1. Configuración Inicial

Antes de comenzar a crear Árboles de Comportamiento, necesitamos configurar algunos elementos en nuestro proyecto de Unreal Engine.

Paso 1: Crear un Controlador de IA

  1. Crear una nueva clase de Controlador de IA:

    • Ve a Content Browser > Add New > Blueprint Class.
    • Selecciona AIController y nómbralo MyAIController.
  2. Asignar el Controlador de IA a un NPC:

    • Selecciona tu NPC en el nivel.
    • En el panel de detalles, busca la sección Pawn y asigna MyAIController en el campo AI Controller Class.

Paso 2: Crear un Árbol de Comportamiento

  1. Crear un nuevo Árbol de Comportamiento:

    • Ve a Content Browser > Add New > Artificial Intelligence > Behavior Tree.
    • Nómbralo MyBehaviorTree.
  2. Crear un Blackboard:

    • Ve a Content Browser > Add New > Artificial Intelligence > Blackboard.
    • Nómbralo MyBlackboard.
  3. Asignar el Blackboard al Árbol de Comportamiento:

    • Abre MyBehaviorTree.
    • En el panel de detalles, asigna MyBlackboard en el campo Blackboard Asset.

  1. Creación de un Árbol de Comportamiento Básico

Paso 1: Añadir Nodos de Composición

  1. Añadir un nodo de secuencia:
    • Haz clic derecho en el nodo raíz y selecciona Add Composite > Sequence.

Paso 2: Añadir Nodos de Tarea

  1. Añadir una tarea de movimiento:
    • Haz clic derecho en el nodo de secuencia y selecciona Add Task > Move To.
    • En el panel de detalles, asigna una clave de Blackboard para el destino (e.g., TargetLocation).

Paso 3: Añadir Nodos de Decorador

  1. Añadir un decorador de condición:
    • Haz clic derecho en el nodo de movimiento y selecciona Add Decorator > Blackboard.
    • Configura la condición para que el nodo de movimiento solo se ejecute si TargetLocation está establecido.

  1. Nodos de Servicio, Tarea y Decorador

Nodos de Servicio

Los nodos de servicio se ejecutan en intervalos regulares y pueden actualizar valores en el Blackboard. Por ejemplo, un servicio puede actualizar la posición del jugador cada segundo.

Nodos de Tarea

Los nodos de tarea realizan acciones específicas. Puedes crear tus propias tareas personalizadas mediante Blueprints o C++.

Nodos de Decorador

Los nodos de decorador añaden condiciones a los nodos hijos. Por ejemplo, un decorador puede verificar si un NPC tiene suficiente salud antes de atacar.

  1. Ejemplo Práctico: Patrullaje de un NPC

Vamos a crear un comportamiento de patrullaje para un NPC utilizando un Árbol de Comportamiento.

Paso 1: Configurar Puntos de Patrullaje

  1. Crear puntos de patrullaje en el nivel:
    • Añade varios Target Points en el nivel y nómbralos PatrolPoint1, PatrolPoint2, etc.

Paso 2: Configurar el Blackboard

  1. Añadir claves al Blackboard:
    • Abre MyBlackboard.
    • Añade una clave Vector llamada PatrolLocation.

Paso 3: Configurar el Árbol de Comportamiento

  1. Añadir una secuencia de patrullaje:

    • Abre MyBehaviorTree.
    • Añade una secuencia y dentro de ella, añade una tarea Move To y un decorador Blackboard.
  2. Configurar la tarea Move To:

    • Asigna PatrolLocation como el destino.
  3. Añadir un nodo de servicio para actualizar la ubicación de patrullaje:

    • Añade un nodo de servicio que actualice PatrolLocation con la posición de los puntos de patrullaje en intervalos regulares.

  1. Ejercicios Prácticos

Ejercicio 1: Crear un Comportamiento de Ataque

  1. Objetivo:

    • Crear un comportamiento donde el NPC ataque al jugador cuando esté dentro de un rango específico.
  2. Pasos:

    • Añadir una clave Object en el Blackboard para el jugador.
    • Crear una tarea personalizada para atacar.
    • Añadir un decorador para verificar la distancia al jugador.

Ejercicio 2: Crear un Comportamiento de Huida

  1. Objetivo:

    • Crear un comportamiento donde el NPC huya del jugador cuando su salud esté baja.
  2. Pasos:

    • Añadir una clave Float en el Blackboard para la salud.
    • Crear una tarea personalizada para huir.
    • Añadir un decorador para verificar la salud del NPC.

Conclusión

En este módulo, has aprendido los conceptos básicos de los Árboles de Comportamiento y cómo utilizarlos para crear comportamientos de IA en Unreal Engine. Has configurado un Árbol de Comportamiento básico y has explorado nodos de servicio, tarea y decorador. Además, has implementado un ejemplo práctico de patrullaje y has realizado ejercicios para reforzar tu comprensión.

En el siguiente módulo, profundizaremos en los Blueprints de Animación, donde aprenderás a crear animaciones complejas y a integrarlas con tus Árboles de Comportamiento.

© Copyright 2024. Todos los derechos reservados