Programación C++ con Unreal Engine 4

Inicio/Desarrollo de Videojuegos/Programación C++ con Unreal Engine 4

Programación C++ con Unreal Engine 4

99,00

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++.

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).

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. Además, en el curso de C++ con Unreal Engine 4 aprenderás:

  • Creación de actores y componentes en código.
  • Movimiento y físicas de actores mediante input.
  • Comunicación C++ con blueprints.
  • Interfaces y Framework de clases del motor.
  • Interfaces visuales (UMG).
  • Estructuras de datos con UE4.
  • Timers y empaquetamiento del proyecto.
Garantía ESAT
SKU: course-29 Categoría: Etiquetas: ,

Descripción

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 components

  • 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.

Macros 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.

No te pierdas ninguno de nuestros cursos online
de desarrollo de videojuegos

Si no quieres perderte todo el material que estamos preparando te recomendamos que te suscribas a nuestra newsletter. Así, además de ayudarnos a conocerte –y por lo tanto a ayudarte– mejor, serás el primero en enterarte de los detalles de todo lo que esté desarrollando.

Preguntas frecuentes

  • No tengo claro si este curso es para mí. Si quieres dar los primeros pasos en la programación con Unreal Engine 4, este curso es exactamente lo que buscas: lección a lección explorarás de la mano de un profesional del sector todas sus clases y la metodología de uso de las mismas.
  • No tengo claro si debo invertir en un curso más económico. 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.
  • No sé si dispondré del tiempo suficiente. Este curso te permite consumirlo con toda la calma que desees. Es posible que tengas que volver a algunos apartados anteriores para refrescar conceptos si dejas bastante tiempo entre lección y lección, pero lo importante es que posee un enfoque claramente práctico, en el que deberás volcar lo que vayas aprendiendo en realizar pruebas tú mismo (la práctica al final es la mejor manera para afianzar conceptos). Si no vas a poder “trastear” con el motor a medida que vayas avanzando en lecciones, aunque pase bastante tiempo entre esas sesiones de actividad, quizá no sea este tu curso.
  • Me da miedo dejar este curso a la mitad, como muchos otros anteriormente. Si realmente te interesa Unreal Engine 4 y posees una base de programación de C++, no tienes nada que temer. Simplemente debes tener claro si quieres comenzar a crear tus propios juegos con este motor como un programador profesional. Con las lecciones del curso vas a poder conseguirlo de forma guiada y haciendo hincapié en las bases que todo profesional debería conocer para poder dedicarse al desarrollo con esta herramienta actual y potente.
  • No me queda por qué este curso es mejor que los demás. ¿Que lo doy yo? Bromas a parte, realzo una vez más el valor de un camino “guiado” para aquellas personas que desean programar con Unreal Engine 4, y que se encuentran con un monstruo gigante y no saben bien de todo lo que abarca. Además, se enfoca de manera práctica y se espera que el alumno disfrute aplicando los conocimientos que va adquiriendo, no sólo en los ejercicios propuestos, si no en sus propios proyectos e ideas.