Introducción Al Desarrollo [Unreal Engine 4]

Iniciado por Moy, Julio 12, 2017, 02:29:48 AM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Julio 12, 2017, 02:29:48 AM Ultima modificación: Julio 12, 2017, 03:22:25 PM por Moy




Introducción Al Desarrollo [Unreal Engine 4]
Creo que esta de mas decir lo potente que es unreal, escribo este manual-tutorial por que no encontré un tutorial lo bastante actualizado y me costo mucho entender de una forma clara unreal, llevo ya bastante en el desarrollo de video juegos pero usando unity pero bueno se me complico un poco por que no encontraba algo actualizado me basare en algunos otros manuales(links al final) para que sea algo practico y no solo teoría

Intentare que esto lo puedan seguir cualquiera incluso gente que no sabe mucho de c++ y para los que no han tocado nunca un motor gráfico claro que es mejor si ya tienen algun conocimiento de c++


Lo primero que tienen que hacer es bajarse unreal engine de la pagina oficial
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

tendran que registrarse y descargar el Epic Games Launcher
una vez descargado e instalado van a descargar desde ahi unreal engine

1- Click en unreal engine
2- Click en library
3- Click en add version

Van a necesitar también tener instalado Visual Studio
eso no explicare como hacerlo por que bueno si están en esto ya deberían saber hacerlo Unreal les va a pedir varios complementos de visual studio SDK 8.1 y cosas así me parece que se pueden instalar directamente desde el instalador de Visual Studio 2017

Damos click ahora en Launch Unreal Engine y esto es lo que nos aparece

1- Click en New Project
2- Click en C++
3- Seleccionamos Basic Code
4- Elegimos el folder donde guardaremos nuestro proyecto y el nombre

Ahora damos click en create Project
y listo empezara a generar el proyecto
En este punto podría ser que les mande un error si es que les falta algo en Visual Studio que no instalaron especificando que les falta
podrían correr así el visual pero recomiendo muchísimo que instalen todo lo que les pida para evitar dolores de cabeza después.

Si todo salio bien les abrirá Unreal Engine y Visual Studio

Lo siguiente que vamos a necesitar es un modelo para usar, vamos a usar este modelo

El modelo tiene ya huesos y animaciones, para hacer sus propios modelos tendran que aprender en algun software de modelado, animacion, texturas etc pero eso ya es otro tema ahora nos enfocaremos en el motor grafico

dejo el link para que lo descarguen
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En el zip vendrán varios modelos con sus distintas animaciones bueno dicho esto seguimos con el editor


Les he puesto colores a las zonas del editor

Verde - Modes es una seccion que tiene primitivas, luces camaras y cosas basicas para agregar a la escena tambien es aqui en donde se crea y se edita el terreno

Rosa - Esta Area tiene algunos accesos directos que iremos viendo mas adelante de momento usaremos mucho el Play, Compile, y quiza un poco el Build

Amarillo - Content Browser esta area es el explorador de archivos de nuestro proyecto y no hay mucho que decir es eso

Rojo - World Outliner aqui lo que tenemos es una lista jerárquica de los objetos que tenemos en la escena

Azul - Aqui creo que no tienen ustedes el World Settings  no recuerdo si yo lo agregue aparte al mio pero en todo caso tendran Details que les muestra la posicion, rotacion y detalles generales de los objetos seleccionados en la escena(si no tienen world settings pueden agregarlo desde Window -> World Settings) En World Settings podemos definir las clases iniciales el objeto que sera el personaje y esas cosas, si no entienden mucho de esto no se preocupen mas adelante iremos usando estas opciones y lo entenderan

La parte sin color - Claramente esta es la escena en la que podremos seleccionar nuestros objetos dando click en ellos, moverlos, rotarlos, acomodar las cosas como mas nos guste

La forma de movernos en la escena

Click Derecho sostenido - Mirar arriba/abajo y a los lados(si mantenemos pulsado click derecho podemos usar las teclas ASDW para movernos como si se tratara de un juego FPS )

Scroll del mouse - Acercar/Alejar

Scroll Presionado - Mover la camara arriba/abajo y a los lados

prueben un poco hasta acostumbrarse es complicado al principio si no han usado un sotfware de modelado o algun motor grafico

ahora si es que aun no lo han echo den click en el boton play y podran moverse como si fuera un fps solo que como no hay aun un personaje la camara flotara por el aire  ::)

Importar nuestro modelo

Ahora vamos al Content Browser(El area de nuestro explorador de archivos de unreal) ahi vamos a crear una nueva carpeta para nuestro personaje para hacer esto damos click en Add New -> New Folder nombramos nuestra carpeta como "Character" bueno esto es opcional pueden poner el nombre que quieran pero bueno siempre es mejor ser ordenados

Ahora entramos a nuestra carpeta y damos click en el boton Import ahi buscamos nuestro modelo que habiamos descargado (SK_Mannequin.fbx) le damos import y listo
* a mi me salto un warning de que no estaba activa una opcion en el plugin para importar el fbx pero bueno cuestion de activarla o ignorarla no es necesaria para este tutorial

como podran ver nos importo 5 objetos 2 de ellos son materiales y otros 3 son uno la malla del modelo, otro es el esqueleto y otro mas llamado(SK_Mannequin_PhysicsAsset) este tercero pueden dar doble click en el y en la ventana que aparece dar click en simulate con eso se daran una idea de para que sirve 

ahora estamos listos para empezar con el codigo

Introducción a la programación en Unreal Engine 4

CitarUn proyecto en Unreal Engine 4 está compuesto básicamente de dos grandes piezas que trabajan en conjunto. Los niveles, que es lo que se trabaja en el Editor y el proyecto de programación, que trabajamos en el IDE de programación. Vimos como al crear un nuevo proyecto en UE4 se crean ambas partes. Ahora vamos a trabajar en la segunda parte, la parte del código.

En Unreal Engine 4 se programa en C++, al crear un nuevo proyecto, automáticamente se crea un proyecto en el XCode (o Visual Studio si usas Windows) con las clases básicas para nuestro juego. Abre tu IDE de programación con el proyecto creado. Dentro de la carpeta Source es que se encuentran los fuentes nuestros. Dentro de la carpeta Engine están todos el framework. Tener acceso a esto es genial, porque sirve de mucha ayuda para revisar como están implementadas las clases, o para que es una determinada propiedad, viendo los comentarios puestos por el propio equipo de Epic. Antes de crear nuestra primera clase vamos a comentar rápidamente la filosofía que sigue Unreal Engine en su framework.

En UE4 todos los elementos que aparecen en nuestro juego son Actors (heredan de la clase AActor). Una silla, una mesa, un enemigo o el personaje principal. Los elementos del juego que son controlados, o sea que no son estáticos, que tienen un comportamiento, son Pawns. Hay un tipo especial de Pawn que es el Character. El Character es el Pawn que representa al personaje principal y tiene implementaciones particulares que solo tendrá el Pawn que será controlado por el jugador. Por ejemplo, si en nuestro juego tenemos al personaje principal y a un enemigo. El personaje principal será un Character y el enemigo será un Pawn solamente. Ahora... todos los Pawns son controlados por una clase Controller, para el caso del Character, este es controlado por un PlayerController. El PlayerController es la clase que recibe las entradas del jugador, del ser humano, y mediante ellas controla al personaje en el juego, al Character. Básicamente el PlayerController representa al ser humano, el Character (Tipo especial de Pawn) representa al personaje dentro del juego y es controlado por el PlayerController. Mientras que los otros Pawns pueden ser controlados, por ejemplo, por AIController.

. . . sip :S, bastante enredado, pero poco a poco a medida que te familiarices con Unreal Engine dominarás esta filosofía, la jerarquía de clases y la relación entre ellas.
* Esta parte la copie textual de un documento pero es importante que lo lean


de vuelta en el content browser vamos a las clases unreal nos habra creado por defecto una clase llamada
[Nombredelproyecto]GameModeBase que nos define las reglas principales del juego

damos doble click en ella y nos enviara a Visual Studio nos abrira 2 archivos

[Nombredelproyecto]GameModeBase.cpp
Código: cpp
// Fill out your copyright notice in the Description page of Project Settings.

#include "UE4FirstGameModeBase.h"





[Nombredelproyecto]GameModeBase.h
Código: cpp
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "UE4FirstGameModeBase.generated.h"

/**
*
*/
UCLASS()
class UE4FIRST_API AUE4FirstGameModeBase : public AGameModeBase
{
   GENERATED_BODY()
   
   
   
   
};


hasta aqui pareceria que va todo bien excepto que el archivo .cpp esta practicamente vacio por alguna razon unreal no crea lo basico vamos a editarlo un poco para que nos quede de esta manera

UE4FirstGameModeBase.cpp
Código: cpp

// Fill out your copyright notice in the Description page of Project Settings.

#include "UE4FirstGameModeBase.h"
#include "Engine.h"

AUE4FirstGameModeBase::AUE4FirstGameModeBase(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{


}

void AUE4FirstGameModeBase::StartPlay()
{
   Super::StartPlay();

}

agregamos una nueva libreria y nuestros metodos los llamamos con una A al principio es por eso que se llaman AUE4FirstGameModeBase si ustedes usaron otro nombre para su proyecto sus archivos tendran otro nombre y tendran que ponerles otro nombre a sus metodos

ahora agregaremos un par de lineas a nuestro archivo .h

nos debe quedar de esta forma

UE4FirstGameModeBase.h
Código: cpp

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "UnrealProjectGameModeBase.generated.h"

/**
*
*/
UCLASS()
class UNREALPROJECT_API AUnrealProjectGameModeBase : public AGameModeBase
{
   GENERATED_BODY()
   

                AUnrealProjectGameModeBase(const FObjectInitializer& ObjectInitializer);
                virtual void StartPlay() override;
   
};


hecho esto en teoria tendriamos lo basico para escribir ya las variables basicas de unreal

Ahora vamos al editor damos click a compilar y si hicieron todo bien no deberia darles ningun error
ahora vamos a world settings (explique antes como agregarlo si no lo tenian) en la parte de Game Mode donde dice Game Mode Override vamos a elegir nuestra clase en mi caso UE4FirstGameModeBase


Hasta aqui la parte 1 de esto por que ya debo dormir, mañana agregare el como configurar a nuestro personaje, No se olviden de dar click en File -> Save All
Código: cpp
:)