Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Blueprints Introduccion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 29

GAMEPLAY SCRIPTING

Construyendo funcionalidad en UE4


GAMEPLAY SCRIPTING
Introducción
SCRIPTING 101

Incluso los juegos más básicos son más


que el arte con el que fueron hechos.
Códigos y guiones son usados para enlazar
y juntar elementos para crear una
interacción en el gameplay.
Hemos visto como agregar elementos al mundo, pero ¿cómo construir la
funcionalidad? Para contestar esta pregunta temenos que mirar la
Construyendo funcionalidad en la programación. En Unreal Engine 4, la funcionalidad puede
ser agregada a través de ambos códigos C++ o Blueprint. Blueprints no require
funcionalidad del un previo entendimiento del código y permite a los programadores y
diseñadores comprometerse en el proceso de añadir funcionalidad al proyecto.
Gameplay
En su forma basica, Los Blueprints son scripts anexos visualmente a tu juego.
Para conectar Nodos, Eventos, Funciones y Variables con cables, es possible
crear elementos complejos de gameplay.

Blueprints usa gráficos de Nodos para varios propósitos (objeto de


construcción, funciones individuales y eventos generales de gameplay) estos
son específicos para cada instancia del BLUEPRINT para implementar
comportamientos y otras funcionalidades.
INTRODUCIÓN A BLUEPRINTS

El Sistema de programación visual


Blueprint en Unreal Engine es un Sistema
de programación de gameplay que usa una
interface basada en nodos para crear
elementos gameplay desde y con el Unreal
Editor.
Al igual que con muchos lenguajes
comunes de scripting este es usado para
definir clases orientadas a objetos (OO) u
objetos en el engine. Cuando usas UE4, tu
a menudo encontrarás objetos definidos
usando Blueprints, son coloquialmente
referidos solo como Blueprints.
GAMEPLAY SCRIPTING
La interfaz del Editor
BLUEPRINT CLASS EDITOR:
RESUMEN
El Blueprint Editor es, en esencia,
simplemente un editor de gráficos basado
en nodos. Es su herramienta principal para
crear y editar redes de nodos de scripts
visuales, comúnmente denominados
"Blueprints". El Blueprint Editor emplea un
diseño contextual sensible que le ayuda a
acceder a la funcionalidad de los objetos
específicamente cuando los necesita, al
tiempo que le brinda flexibilidad para
aquellos momentos en los que necesita
hacer algo poco convencional.
BLUEPRINT CLASS EDITOR:
ELEMENTOS

El Blueprint Class Editor contiene varias


pestañas:

1. Menu
2. Toolbar
3. Components
4. My Blueprint
5. Graph Editor
6. Details

The Blueprint Class Editor


BLUEPRINT CLASS EDITOR:
LA PESTAÑA VIEWPORT
El Blueprint Viewport es usado para ver
todos los components dentro de un
Blueprint y su relaciones espaciales. Los
assets pueden ser simulados en el
viewport para ver una prueba simple de
funcionalidad.
BLUEPRINT CLASS EDITOR:
EL EVENT GRAPH
Los Nodos rojos representan Inputs y
Events.
Cuando el botón asignado a saltar es
presionado, en este caso el “InputAction
Jump”, los eventos se dispararán llamando
la función de saltar. Cuando se deja de
presionar este input, la función “Stop
Jumping” será llamada.
GAMEPLAY SCRIPTING
Los Fundamentos
BLUEPRINTS:
CONSTRUCTION SCRIPTS

The Construction Script ejecuta código


cuando un actor se agrega al mundo. Esto
significa que puede usarse para
proporcionar un comportamiento inteligente
dentro del editor. Por ejemplo, un código
de construcción se puede usar para
ensamblar automáticamente una cerca
entre dos ubicaciones o para colocar
automáticamente una luz en el techo de un
entorno
GAMEPLAY SCRIPTING
La interfaz del Editor
BLUEPRINTS:
EL EVENT GRAPH

El Event Graph de un Blueprint contiene


un gráfico de nodos que usa eventos y
lladadas a funciones para realizar acciones
en respuesta a eventos del gameplay
asociados con este Blueprint.

El gráfico es usado para añadir


funcionalidad que es común en todas las
instancias de un Blueprint. Esto es donde
la interactividad y respuestas dinámicas
son establecidas. Cuando un desarrollador
presiona el panel derecho de gráficos un
menú contextual aparecerá y mostrará
todas las acciones que pueden ser usadas
en base a la selección existente.
FUNCIONALIDAD BÁSICA:
COMPONENTS

Un Blueprint pude tener múltiples


componentes, cada uno añade
funcionalidad a un asset final.

En esteBlueprint de ejemplo incluimos


cuatro componentes:

• Un scene component que actua como


root location desde el cual todo lo
demás es colocado.
• Un static mesh component que
representa el modelo 3D de la luz.
• Un point light component que emite
luz dentro de la escena
• Un box collision component para
• Una box collision component para
detectar cuando un jugador
está parado debajo o
cerca de la luz.

Identificando componentes
BASIC FUNCTIONALITY:
EVENTS

Blueprints tiene dos eventos por defecto


asociados a los actores:

• ActorBeginOverlap en este ejemplo


esta llamando a un evento que enciende
una luz.

• ActorBeginEndOverlap erifica si hay


algún jugador cercano y si no ,llama los
eventos a apagar la luz.

Un ejemplo del uso de Eventos para


prender una luz
FUNCIONALIDAD BASICA,
EVENTOS PERSONALIZADOS

En este ejemplo de Blueprint hay dos


Custom Events:

• TurnLightOn ajusta la luz con una


intensidad de luminosidad variable.

• TurnLightOff ajusta la luz a una


intensidad de 0.

Custom Event examples


BASIC FUNCTIONALITY:
LIGHT PLACEMENT EXAMPLE

En este ejemplo el Construction Script


está siendo usado para colocar
automáticamente la luz en la superficie del
techo. Si hay una superficie de 1m (100 uu)
por arriba del actor éste moverá
automáticamente la luz se pegará a la
superficie.
Cuando el Construction Script se ejecute,
esta luz rastrea, o tira una linea, hacia
arriba para ver si hay una superficie. Si la
hay esta mueve el mesh de la luz hacia el
tumbado a esa superficie para una
colocación automática real.

El Construction Script en acción


GAMEPLAY SCRIPTING
The Gameplay Framework
EL GAMEPLAY FRAMEWORK:
DESCRIPCIÓN GENERAL
Las clases básicas de gameplay incluyen
funcionalidad para representar a jugadores,
aliados y enemigos, también para controlar
aquellos avatares que usan un jugador o
lógica de Al. También hay clases para
crear heads-up displays (HUDs) y cámaras
para jugadores.

Finalmente, las clases de gameplay como


GameMode, GameState , y PlayerState
hacen las reglas del juego y te proporciona
las pistas del juego y como los jugadores
van progresando.

Estas clases crean todo tipo de Actores los


cuales pueden estar colocados en tu nivel
o reproduciendose cuando lo necesitan.
EL GAMEPLAY FRAMEWORK:
GAME INSTANCE

El estado de la clase GameInstance resiste


cambios de niveles, Game Modes, pawns, etc.
donde clases como GameMode o PlayerController
están siendo reiniciados y los datos en esas clases
removidos y almacenados.

Cualquier dato que tu quieras conservar más allá de


los niveles y partidas (por ejemplo que naves fueron
seleccionadas por los jugadores en el menu
principal) tu puedes también almacenarla en la clase
de GameInstance.
EL GAMEPLAY FRAMEWORK:
GAME MODE

El GameMode define el juego, incluye cosas como


las reglas del juego y las condiciones para ganar.
Esto solamente existe en el servidor. Esto
tipicamente no tendría muchos datos que cambien
durante el juego y no almacenaría ningún dato
transitorio que estuviera moviendose entre clientes.
EL GAMEPLAY FRAMEWORK:
PAWN CLASS

La Clase Pawn es la clase base de todos los actores


que pueden ser controlados por jugadores o Al. Un
Pawn es una reprentación fisica de un jugador o
entidad con Al del mundo. Esto significa que el Pawn
determina no solamente lo que el jugador o la
entidad Al ve sinó también como esto interactua con
el mundo en términos de colisiones y otras
interacciones físicas.
EL GAMEPLAY FRAMEWORK:
HUD CLASS

The HUD is the base object for displaying elements


overlaid on the screen. Every human-controlled
player in the game has their own instance of the
HUD (or AHUD, as it’s known natively) class which
draws to their individual Viewport. In the case of split-
screen multiplayer games, multiple viewports share
the same screen but each HUD still draws to its own
viewport
El HUD es la base para mostrar elementos
superpuestos en pantalla. Cada jugador humano
controlando en el juego tiene su propia clase HUD (o
AHUD como es conocido originalmente) cuyos
dibujos aparecen en su Viewport individual. En el
caso de pantallas divididas de juegos con multiples
jugadores, los multiples viewports comparten la
misma pantalla pero cada HUD todavía dibuja sus
propias viewport.
EL GAMEPLAY FRAMEWORK:
PLAYER CONTROLLER CLASS

Un PlayerController es el Sistema de comunicación


entre el Pawn y el jugador humano que lo controla.
El PlayerController decide que hacer y que asuntos
ordenar al Pawn.

Input is often put into the Player Controller class to


enable the player to switch Pawns during gameplay.
For instance, if a player were to enter a vehicle—a
type of pawn—the player controller would simply
redirect where the inputs were being sent (the newly
possessed Vehicle pawn)
A menudo se colocan Inputs en el PlayerController
para habilitar al jugador a cambiar Pawns durante el
gameplay. Por ejemplo, si un jugador fuera a entrar
a un vehiculo, que es otra clase de pawn, el Player
Controller simplemente redirigiría a donde se envian
los inputs(En este caso al Pawn del Vehículo).
EL GAMEPLAY FRAMEWORK:
PLAYER STATE CLASS

Un PlayerState es el estado de un participante en el


juego tal como un jugador humano o un bot que
simula a un jugador. Si hubiese un caracter
controlado por Al como parte del juego, este no
tendría un PlayerState.

Ejemplo de datos que podrían ser apropiados para


almacenar aqui son: nombres de jugadores,
puntuación, potenciales inventarios.
Todos los PlayerState de todos los jugadores existen
en todas las máquinas a diferencia de los
PlayerControllers, a diferencia de PlayerControllers,
y se pueden replicar libremente para mantener las
cosas sincronizadas,
EL GAMEPLAY FRAMEWORK:
GAME STATE CLASS

El GameState contiene el estado del juego. Esto


puede incluir la lista de los jugadores conectados y
las puntuaciones de los jugadores. El GameState
existe en el servidor y todos los clientes pueden
reproducir libremente o mantener todas las
máquinas actualizadas.
BIRD OF PREY
DESCRIPCIÓN GENERAL

Bird of Prey es un ejemplo de proyecto de


una acción vertical basada en los títulos de
arcade de inicios y mediados de los 90s.
Demos un vistazo a los elementos del
Proyecto y cuales partes del juego son
construidas dentro de que areas.
• Pawns: Naves de jugadores, naves
enemigas, jefes y torretas.
• Actors: Proyectiles y pickups
• Game Mode: Maneja las decisiones de
juego primarias y la lógica. Cuando las
naves son destruidas, sus puntos son
evaluados aquí.
• Game State: Guarda el puntaje mas
alto y otras informaciones
• Game Instance: Graba la nave actual
del jugador

Early Prototype captures from Bird of Prey


CONCLUSIÓN
¿Preguntas?

También podría gustarte