¿Qué quieres aprender?

ESAT Online - Programación C++ con Unreal Engine 4

ESAT Online - Programación C++ con Unreal Engine 4

ESAT - Escuela Superior de Arte y Tecnología

Curso online


99

Domina el lenguaje C++ utilizando el motor Unreal Engine 4 para la creación de videojuegos utilizando la metodología de trabajo adecuada e implementando un prototipo de juego 3D.

Realizaremos un prototipo de videojuego implementando sus reglas y todos los apartados necesarios para su funcionamiento mediante programación C++.

¿Quieres hablar con un asesor sobre este curso?

Objetivos

Con el curso online de C++ con Unreal Engine 4 podrás desarrollar el esqueleto de videojuegos utilizando las clases del motor Unreal Engine para juegos sin red y personalizar su comportamiento para que cubra las necesidades de tu proyecto, sea cual sea.

A quién va dirigido

La idea de este curso es poder guiar de la manera más sencilla posible a aquellos que tienen conocimientos de C++ y quieren iniciarse como programadores con Unreal Engine 4. El valor del curso es “el camino” que llevaremos juntos, preparado para no tener que volverte loco buscando entre la información que puede resultar bastante confusa en la documentación del motor. Además, durante el curso te ofrezco consejos de mi día a día trabajando con Unreal Engine 4 de forma profesional.

Requisitos

Debes tener conocimientos esenciales del lenguaje de programación C++ y conocer el interfaz y funcionamiento de las herramientas básicas de Unreal Engine 4 (te recomendamos este curso como previo: Introducción a Unreal Engine 4 con Blueprints).

Temario completo de este curso

INTRODUCCIÓN

Iniciar proyecto C++. En esta lección aprenderemos a crear un proyecto de Unreal Engine 4 con una base de código en C++. Además, realizaremos los primeros pasos para tener configurado y listo para trabajar el entorno en Visual Studio.
Análisis de carpetas que forman el proyecto. En esta lección exploraremos las carpetas que forman un proyecto de Unreal Engine 4, de modo que tendremos una idea general de qué podemos encontrar dentro de cada una de ellas. Además, se adjunta un fichero .bat para poder realizar limpieza de un proyecto dejándolo con las carpetas mínimas necesarias.
ACTORES Y COMPONENTES

Actores y componentes. En esta lección veremos qué es un actor y compararemos la relación entre AActor y UObject, clases principales del motor. Además, aprenderemos qué es un componente y la diferencia y usos con respecto a un actor.
Creación de una clase C++. En esta lección veremos cómo crear nuestra primera clase de C++ dentro del motor, creando tanto una clase que hereda de AActor como de UActorComponent. Además, se hablará un poco sobre la forma de trabajar dentro del motor, basada en la herencia de las clases que éste posee.
Eliminar una clase de C++. En esta lección aprenderemos a eliminar clases de C++ de nuestro proyecto, una tarea que puede parecer trivial, pero que sin el procedimiento oportuno puede crearnos más de un quebradero de cabeza.
Añadir componentes desde C++. En lecciones anteriores pudimos ver cómo añadir un componente desde el editor. En esta lección, veremos los pasos ha seguir para poder declarar los componentes de nuestros actores y trabajar con ellos.
Arquetipos y clases C++. En esta lección veremos las diferencias y relaciones entre los arquetipos, las clases que comúnmente conocemos como clases de blueprints y las clases de C++. Hablaremos sobre cómo crear arquetipos como hijos de nuestras clases de C++, pilar fundamental de trabajo con Unreal Engine 4.
Declaración de variables y UPROPERTY. En esta lección aprenderemos a declarar variables en nuestras clases y cómo trabajar con ellas para que puedan reflejarse en el editor. Para ello utilizaremos la macro UPROPERTY con sus correspondientes especificadores.
Estructura de la clase AActor. En esta lección exploraremos en la documentación oficial (API) la clase AActor y veremos los métodos más interesantes que debemos conocer.
Compilación en UE4 con VS2015. En esta lección veremos las diferentes opciones de compilación que nos brinda Visual Studio. Además, presentaremos el uso de Hot Reload, y algunos de los problemas que nos podemos encontrar con el mismo.
MARCOS DE MÉTODOS Y COMUNICACIÓN CON EL EDITOR (UFUNCTION)
Macro UFUNCTION y comunicación con el editor. En esta lección aprenderemos el uso de la macro UFUNCTION para poder comunicar nuestros métodos con el editor del motor. Exploraremos los especificadores más utilizados y veremos ejemplos directos de su uso en nuestro proyecto de prueba.
FRAMEWORK DE CLASES

Esqueleto de framework de clases. En esta lección aprenderemos las clases principales que forman los pilares fundamentales de un juego, las que rigen la configuración del mismo y nos proporcionan herramientas para darle vida. No son todas, pero si las necesarias para poder comenzar ya a crear nuestro juego en sí.
AGameModeBase y timers. En esta lección nos centramos en la clase AGameModeBase, la que contendrá las reglas de nuestro juego. Veremos los métodos más importantes donde debemos implementar dichas reglas y realizaremos un pequeño ejemplo de una cuenta atrás que reinicia nuestro nivel haciendo uso de timers.
APlayerController. En esta lección explicaremos la funcionalidad principal de la clase APlayerController, cómo maneja el input y cómo podemos utilizarla para nuestros juegos.
APawn, ACharacter, UPawnMovementComponent, UCharacterMovementComponent. En esta lección explicaremos la funcionalidad principal de la clase APawn y de su derivada ACharacter, cuyo uso principal es la representación de personajes en el mundo con ciertas funcionalidades específicas en el caso de ACharacter. También nombraremos la utilidad de UPawnMovementComponent y UCharacterMovementComponent sin profundizar en los mismos.
Setup de personaje I. En esta lección vemos cómo dejar preparado nuestro personaje realizando algunas modificaciones y creando una pistola placeholder para usar en nuestro proyecto posteriormente.
Setup de personaje II. En esta lección vemos cómo utilizar un APlayerController propio y hago unos ejemplos de input con el mismo. Además se incorpora dicha clase a nuestro proyecto.
Setup de personaje III. En esta lección exploramos el ACharacter que viene por defecto en nuestro proyecto de prueba y le damos funcionalidad para disparar a través de nuestra pistola unas esferas que creamos el vídeo anterior, viendo cómo podemos instanciar actores en nuestra escena a través de programación.
MOVIMIENTO Y FÍSICAS

Ejemplo de setup cenital. FVector y FRotator. En esta lección hago un ejemplo de un setup de un Character con una cámara cenital haciendo algunos cambios simples a nuestro actual proyecto. Para finalizar, hablamos de los tipos FVector y FRotator que nos sirven para representar vectores y rotaciones que necesitamos presentar para las siguientes lecciones.
Jerarquía de input. En esta lección hablamos de cómo trata el input el motor Unreal Engine 4. Exploramos el orden de clases por el que pasa dicho Input.
Movimiento de actores I. En esta lección aprendemos algunos métodos para poder mover actores y rotarlos. Además exploramos también el movimiento con componentes.
Movimiento de actores II. En esta lección configuramos un actor para que pueda recibir Input y realizamos movimientos simples de rotación con él. Como ejemplo utilizamos un cañón.
Colisiones I. En esta lección partida, veremos la parte teórica del funcionamiento de las colisiones en el motor.
Colisiones II. En esta lección continuación del vídeo anterior, veremos un ejemplo en C++ de configuración de un actor para poder utilizar eventos de los diferentes tipos de colisión. Además, se realiza alguna prueba sobre la clase de Enemigo creada anteriormente.
Ejemplos de colisiones. En este vídeo veremos algunos ejemplos de colisiones creando un trigger, que tenga una referencia a una puerta y llame a un método de la misma para que se abra o se cierre con lo aprendido.
Introducción a los Rigidbodies. En esta lección presentaremos en un vídeo muy corto qué son los Rigidbodies y exploraremos brevemente los métodos para utilizarlos.
AHUD: Interfaces visuales y UMG

UMG y Widgets C++. En esta lección aprendemos a colocar el módulo UMG en nuestro proyecto para poder crear clases de widgets en nuestro proyecto. Además, voy a mostraros un ejemplo de un Widget creado en C++ que relaciona variables de la parte del editor, con la parte de programación (mediante el especificador BindWidgets). Se crea una barra de progreso con el tiempo que queda, reutilizando el ejemplo anteriormente realizado de modo de juego Time Attack.
ÚLTIMOS DETALLES

Creación de interfaces. En esta lección aprenderemos a crear interfaces de programación del modo específico de uso con Unreal Engine 4. En C++ lo más parecido que existe son clases abstractas con métodos virtuales puros.
EXTRA: Migración de assets de Infinity Blade. En la anterior lección se hace uso de assets gratuitos del proyecto Infinity Blade. En este video, vemos cómo podemos integrarlos en una plantilla third person del motor para lograr el mismo resultado que en el video anterior.
UGameInstance. En esta lección aprenderemos el uso de la clase UGameInstance, el singleton que nos ofrece Unreal Engine 4 para nuestras necesidades como programadores.
EMPAQUETADO DEL PROYECTO

Resumen de empaquetado desde el editor. En esta lección aprendemos cómo empaquetar nuestro proyecto desde el editor, para poder tener un ejecutable de nuestro juego.
Resumen de empaquetado desde frontend. En esta lección aprendemos cómo empaquetar nuestro proyecto desde la herramienta frontend, para poder tener un ejecutable de nuestro juego.

Ver más