Blog

Conceptos Básicos de Unreal Engine



20 de abril de 2023

Unreal Engine Glosario

Desde que se convirtió en un proyecto de código abierto, Unreal Engine a aumentado su popularidad en el desarrollo de juegos. En este artículo, exploraremos algunos de los conceptos y elementos básicos de este motor de juegos. Incluiré vínculos a la página web oficial de documentación, con el único inconveniente que sólo está en inglés.


Blueprint

Es el sistema visual de programación de Unreal Engine. Permite a los desarrolladores crear lógica de juego y comportamientos a través de la creación de diagramas de flujo. Al igual que el lenguaje de programación del motor, C++, los blueprints pueden ser extendidos por herencia. Sólo se pueden editar y compilar en la aplicación de Unreal Engine.

Documentación


Ticking

Representa la acción de ejecutar código o un script de Blueprint en un intervalo regular. Cada ejecución individual se denomina Tick y generalmente se ejecuta cada frame o fotograma al que corre el juego. En cada actor o componente se puede modificar la frecuencia de cada Tick para ajustarlo a las necesidades del juego. El motor también cuenta con diferentes grupos de ticks que determinan el orden de ejecución de los ticks de los objeto del juego.

Documentación


Actores

Los actores son todo objeto que existe en el mundo de un juego de Unreal. Tienen una posición, una rotación y una escala. Cada actor tiene un conjunto de componentes que determinan comportamiento y capacidad de interactuar con el mundo del juego. Contiene funcionalidad para su replicación en juegos multijugador en línea, un sistema de Ticking para que puedan ejecutar instrucciones en cada tick y un sistema de ciclo de vida que dicta cuándo son creados y destruidos durante el juego. No todos los actores tienen una representación visual en el juego.

DocumentaciónAPI AActor


Pawn

Es un tipo de actor que representa al jugador o a un personaje controlado por inteligencia artificial. Los pawns pueden moverse y realizar acciones en el mundo del juego. Cada pawn tiene un controlador asociado, que determina su comportamiento y acciones.

DocumentaciónAPI APawn


Character

Es un tipo de pawn que se utiliza para representar personajes en el juego. Los personajes tienen animaciones y controles específicos, como la capacidad de saltar y correr. También pueden tener habilidades especiales, como la capacidad de usar armas o habilidades mágicas. Por defecto incluye un Skeletal Mesh, una componente de colisión en forma de cápsula, y un componente de movimiento específico para personajes.

DocumentaciónAPI ACharacter


Componentes

Los componentes son objetos que se adhieren a un actor para modificar su comportamiento. Cada actor puede tener múltiples componentes, como un modelo 3D, audio o un sistema de partículas. Al igual que los actores, tienen funcionalidad para ejecutar instrucciones cada tick, sin embargo su comportamiento por defecto es que no se actualizan con cada tick del juego y se deja a discreción del desarrollador definir cuándo debe actualizarse. Todo actor tiene un componente base al que se le llama Root Component y representa como mínimo su posición, rotación y escala.

DocumentaciónAPI UActorComponent


Scene Component

Es un tipo de componente que no tiene una representación visual en el mundo del juego, pero se utiliza como un punto de referencia en el espacio (posición, rotación y escala) del juego. Este componente se utiliza para agrupar otros componentes o para proporcionar una posición y orientación a otros componentes. Comúnmente se utiliza como el Root Component de un actor.

API USceneComponent


Primitive Component

Es un tipo de componente que representa una forma geométrica primitiva, como una caja, una esfera o un mesh. Estos componentes se utilizan para definir la forma y el tamaño de los objetos en el mundo del juego. Los Primitive Components también pueden ser utilizados para detectar colisiones entre objetos. Las colisiones pueden ser de bloqueo, donde un objeto no puede atravesar a otro, o de traslape, donde se deteca si un objeto atraviesa a otro. Para ello a cada componente primitivo se le asigna un tipo de colisión que define qué clase de colisión tiene con los otros tipos o si los ignora.

Documentación ColisionesAPI UPrimitiveComponent


Meshes

En Unreal Engine se pueden importar modelos 3D como meshes para representar la figura que los objetos del juego tienen. Los meshes definen también la forma en que colisionan con otros objetos, qué texturas y materiales usan por defecto y cómo afectan el mundo del juego. Los tipos de mesh que hay en Unreal Engine son:

Static Mesh

Es un modelo 3D estático. Se utiliza para representar objetos en el mundo del juego que no necesitan movimiento.

DocumentaciónAPI UStaticMesh

Se asocia a un actor como un componente llamado Static Mesh Component.

API UStaticMeshComponent

Skeletal Mesh

Es un modelo 3D que se puede animar. Se utiliza para representar objetos en el mundo del juego que necesitan movimiento, como personajes jugables y enemigos.

DocumentaciónAPI USkeletalMesh

Se asocia a un actor como un componente llamado Skeletal Mesh Component.

API USkeletalMeshComponent

Cada Skeletal Mesh puede moverse utilizando otros objetos que representan una animación. Estas animaciones pueden ser creadas en un software de animación en 3D o creados directamente en Unreal Engine. Generalmente las animaciones son controladas por un Blueprint de Animación.

Documentación Sistema de Animación


Movement Component

Es un componente que permite a los actores moverse en el mundo del juego.

DocumentaciónAPI UMovementComponent

Hay varios tipos de componentes de movimiento ya incluidos en Unreal Engine, algunos de las más utilizados son:

Character Movement Component

Este componente se utiliza para controlar el movimiento de los personajes en el juego. Proporciona una variedad de configuraciones, como la velocidad máxima y la capacidad de saltar. También contiene tipos de movimiento como volar, nadar o caminar agachado y cuenta con un sistema de navegación para movimiento automático.

DocumentaciónAPI UCharacterMovementComponent

Projectile Movement Component

Este componente se utiliza para controlar el movimiento de los proyectiles en el juego. Proporciona una variedad de configuraciones, como la velocidad inicial y la gravedad.

API UProjectileMovementComponent

Floating Pawn Movement Component

Este componente se utiliza para controlar el movimiento de los pawns flotantes, como los vehículos aéreos o entidades que flotan en el agua.

API UFloatingPawnMovement


Materiales

Representan el grupo de Shaders que controlan cómo se ve un objeto primitivo en Unreal Engine. Se utilizan para crear texturas y efectos visuales. Se crean y editan en la aplicación de Unreal Engine. Tienen un sistema de edición visual similar al de los Blueprints.

Documentación

Si te interesa saber mas...

Puedes escribirme a me@rodaraujo.com.



Rodrigo Araujo Soria, 2023